Jump to content


Photo

Refinements HLAs, modularized and on BG2EE


  • Please log in to reply
78 replies to this topic

#1 subtledoctor

subtledoctor
  • Modder
  • 656 posts

Posted 14 March 2016 - 05:36 PM

Hello everyone.  Spurred by the_bigg's post about putting his mods up for adoption, I have taken an axe to Refinements and updated it for the EEs.  Basically, what I did was split up the HLAs into separate components for each class, and then check installing on BG2EE, and it seems to have worked.
 
Link to latest release
 
I'm posting here in case any of the mod's actual authors are around and have any feelings about it.  The Bigg has suggested that it is not a problem but I feel like I ought to double-check, with this sort of thing.  So please, the Bigg, T.G.Maestro, Littiz, if you guys are around, check it out and tell me whether I should 1) keep working on this, or 2) take it down.  I'm happy to do either one.
 
Cheers,
 
the Subtle Doctor
 
EDIT - I just found that post by the Bigg, and he wrote: "the mod is released under the GPL V3, so anybody is free to make their own version of Refinements and upload it anywhere they please."  So, I guess I will publicize this.  As I said, it's barely been tested, but maybe some people can play around with it and we'll get it all working.
 
EDIT 2 - I just noticed that when installing the base HLA component and the thief HLAs, I do not see a bunch of duplicated kits in kitlist.2da.  So I'm guessing that means the installation of Use Scrolls did not work.  I'll keep poking around, see if I can get it right.  Anyway I want to see if one of the new EE opcodes can allow that HLA to function without all the extra kits...

EDIT 3 - I seem to have fixed that. :)

UPDATE: version 0.3 should be in much better shape, I actually advise downloading it and playing with this now! (But I still consider it a beta, so report any bugs here.)
 
EDIT, umm, 6 or 7?  I don't know, 4 months of forum posting was lost with no backups.  But the point is, as of v0.6.1 this is basically feature-complete:
- HLAs can be installed on a class-by-class basis
- patches HLA tables rather than overwriting them
- specific compatibility code for RR HLAs  (NOTE: with this version, RR should be installed before Refinements.)
- the Sword Angel kit works (installs, at least) on EE games
 
Now go out and try to find some bugs!!


Edited by subtledoctor, 08 June 2020 - 09:32 PM.


#2 Fiann of the Silver Hand

Fiann of the Silver Hand
  • Member
  • 286 posts

Posted 14 March 2016 - 06:47 PM

Reefinements

Refeenments

Refinmeents



#3 subtledoctor

subtledoctor
  • Modder
  • 656 posts

Posted 14 March 2016 - 08:24 PM

Aaaaand, a few hours later, I've fixed the issues with thief HLAs (well, fixed the issues with them not *installing* at any rate) and here is beta 2:

 

https://github.com/s...eleases/tag/0.2



#4 the bigg

the bigg

    2083 is a prime number.

  • Modder
  • 3331 posts

Posted 15 March 2016 - 11:10 AM

Go for it.

Ideally, you should fork my repository and work off that, instead of making a brand new repository. This way, once your code is tested well enough, your repository will become the official source for both Refinements-BG2 and Refinements-BG2EE.

I haven't looked too hard at how you are splitting the components, however:
- an option to install all HLAs in a single go seem like a good idea:
BEGIN ~Install for all classes~
DESIGNATED 10
SUBCOMPONENT ~New HLA tables~
INCLUDE ~refinements/lib/hlab.tpa~
INCLUDE ~refinements/lib/hla_fighter.tpa~

BEGIN ~Only for some classes~
DESIGNATED 11
SUBCOMPONENT ~New HLA tables~
INCLUDE ~refinements/lib/hlab.tpa~

BEGIN ~Fighter HLAs~
DESIGNATED 101
REQUIRE_PREDICATE (MOD_IS_INSTALLED ~REFINEMENTS.TP2~ ~11~) ~...~
INCLUDE ~refinements/lib/hla_fighter.tpa~

BEGIN ~Barbarian HLAs~
DESIGNATED 102
REQUIRE_PREDICATE (MOD_IS_INSTALLED ~REFINEMENTS.TP2~ ~11~) ~...~
INCLUDE ~refinements/lib/hla_barbarian.tpa~

- be warned that the Blade and Shapeshifter tables also depend on the Use Scrolls engine, not just the Thief HLAs (and I'm sure that isn't the only unexpected dependency between classes).

Edited by the bigg, 15 March 2016 - 11:10 AM.

Italian users: help test the Stivan NPC!

Author or Co-Author: WeiDU - Widescreen - Generalized Biffing - Refinements - TB#Tweaks - IWD2Tweaks - TB#Characters - Traify Tool - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics - Nalia Mod - Nvidia Fix
Code dumps: Detect custom secondary types - Stutter Investigator

If possible, send diffs, translations and other contributions using Git.


#5 subtledoctor

subtledoctor
  • Modder
  • 656 posts

Posted 15 March 2016 - 12:24 PM

Good to know, thx. And I'll look into forking the main project... I'm not very Github-savvy, right now I only upload files, make new releases, and offer the result as download targets.

One of the thing I want to do is investigate whether the updated EE engines could allow Use Scrolls to be replicated without all of the cloned kits. (Not that I don't appreciate the work and complexity of it... it's a thing of genius. But I kind of can't stand all the extra kits, plus I tend to install lots of kits and the EEs are stuck with the pre-ToBEx limit of 256.)

At first I thought maybe opcode 319 could be used, but that doesn't look promising, barring some SecType hackery (which I generally avoid). I need to go see whether opcode 319 is being expanded in the 2.0 patch...

Another option: what about opcode 181? Maybe this can now be used, since there is a new opcode (321) that can specifically cancel it. The rough idea:
- make all scrolls usable by thieves
- make a .spl with opcode 181 barring the target from using scrolls, and apply it to every thief kit at 1st level as a CLAB effect. For good measure apply it to .cre files in the thief class.
- make the Use Scrolls HLA simply apply opcode 321 to cancel the earlier 181 effect.

I assume it couldn't be that easy...

#6 the bigg

the bigg

    2083 is a prime number.

  • Modder
  • 3331 posts

Posted 15 March 2016 - 02:13 PM

I don't know about EE Opcodes (and their enhancements) so I can't comment #319 and #321 (not to mention, that wouldn't allow for unified BG2/BG2EE releases). I remember Littiz mentioning that he discarded the idea of Opcode 181, I can't recall whether he did so because opcode doesn't actually work says or because the scrolls don't get their red background.

Italian users: help test the Stivan NPC!

Author or Co-Author: WeiDU - Widescreen - Generalized Biffing - Refinements - TB#Tweaks - IWD2Tweaks - TB#Characters - Traify Tool - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics - Nalia Mod - Nvidia Fix
Code dumps: Detect custom secondary types - Stutter Investigator

If possible, send diffs, translations and other contributions using Git.


#7 subtledoctor

subtledoctor
  • Modder
  • 656 posts

Posted 16 March 2016 - 05:20 PM

It works!!

 

Yeah, the red overlay for unusability was added in one of the later EE patches - it would not have been player friendly without the visual indicator.  And opcode 321 was only added in the most recent patch, and I don't think this would be possible without that.

 

So, my rough plan is, make a new version of Use Scrolls for the EE games, put it in a different .tpa file, and then do an engine check in the HLA component... if you're playing the old engine, it will use the Use Scrolls engine.  If you're playing EE, it will do it without cling all the kits.

 

I still need to investigate the Blade and Shapeshifter, but I'm feeling confident about this...



#8 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5155 posts

Posted 16 March 2016 - 05:43 PM

So, my rough plan is,,,,
I believe it would serve you better to make the player choose a game based sub component, not the same component with two different implementations. Just cause. And then restrict those sub components in the installer by the game_is or what ever.

Edited by The Imp, 16 March 2016 - 05:44 PM.

Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#9 subtledoctor

subtledoctor
  • Modder
  • 656 posts

Posted 16 March 2016 - 06:21 PM

Yeah I could do that too, just have two "Thief HLAs" components and give each one a different REQUIRE_PREDICATE GAME_IS requirement.

 

But, when it comes down to it, what's the difference?

 

My current plan:

 

1) Implement the EE variant of Use Scrolls

2) Figure out why shapeshifter/blade need the Use Scrolls engine, make sure they can work without it (or do a version of it that doesn't dupe thief kits)

3) Fix the KIT.IDS issue (I suppose just use the stuff Wisp posted recently over in the megamod forum...?)

4) Maybe, pie-in-the-sky, eventually make the HLA components *append* to HLA tables instead of replacing them - then this could really be compatible with any other HLA mods and no compromise would be necessary.  (Reason, the 2.0 EEs will have scroll bars in the HLA screens and I've discovered that the tables can be any arbitrary length... my own new cleric mod is going to build HLA tables dynamically based on a kit's sphere access, starting with a base table and appending sphere-based HLAs to it.)



#10 Mike1072

Mike1072
  • Modder
  • 539 posts

Posted 16 March 2016 - 06:42 PM

So, my rough plan is,,,,
I believe it would serve you better to make the player choose a game based sub component, not the same component with two different implementations. Just cause. And then restrict those sub components in the installer by the game_is or what ever.

 

Why?



#11 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5155 posts

Posted 16 March 2016 - 07:22 PM

Why?
One thing: Weidu.log . The other is the BWS install process is finer if you actually can choose those things instead of randomly going to seventeen thousands ways depending what the GAME_IS says. Today, the soa covers the non tob, non sob, non ee ... :P what else are you going to find it in ? After the v45600 weidu.exe comes out.

Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#12 subtledoctor

subtledoctor
  • Modder
  • 656 posts

Posted 17 March 2016 - 06:36 AM

I don't know why the BWS install process should be any different, since it just runs Weidu.

I have to tell you, BWS is not a priority for me. For one thing it doesn't work on my OS, so I can't even do any kind of testing for it.

For another, BWS has started going down a path I really don't like - instead of simply being a helpful GUI front-end for Weidu, it is making all sorts of editorial decisions, setting certain mods as "recommended" or enabled by default... that can have the effect of marginalizing mods that don't get such treatment, as players don't use them and modders don't get feedback and maybe they stop modding, instead of going on to make something amazing. All modders should be encouraged.

Finally, the BWFixPack is an incredibly problematic bit of software. Designed for use solely in the BW context, I've seen many examples of fixes happening there and never being reported or implemented in the mods themselves. Over time, the end result will be that the BWFixPack, and eventually the BWS, will be the *only* way to effectively mod these games. Just one more barrier standing between players and mods, and shutting lots of players out for using stupid Windows hackery instead of widely-available free-of-charge open-source cross-platform software.

Have I blown that out of proportion? Maybe, a little. But I won't contribute to things moving in that direction.

...
Quite aside from that, for the moment I'm not going to make different subcomponents. I'm just trying to get this thing working... I cry inside as I hack apart this masterpiece. Last night I forcibly extracted the Shapeshifter and Blade dupe kits and script additions from the Use Scrolls engine, and I tested my new, simpler, EE Use Scrolls HLA (works!). Now I need to test whether everything still works on the old engine. Once I've confirmed everything actually works, I'll look into separating components.

Edited by subtledoctor, 17 March 2016 - 06:39 AM.


#13 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5155 posts

Posted 17 March 2016 - 07:35 AM

This went to a small tangent...

Spoiler
After a few posts and so forth... I made a few adjustments. Evil adjustments.


Edited by The Imp, 17 March 2016 - 09:03 AM.

Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#14 subtledoctor

subtledoctor
  • Modder
  • 656 posts

Posted 17 March 2016 - 08:00 AM

Yes that was very much an opinion piece. :)

Most recently someone posted in a Beamdog thread about "which mods work in the 2.0 beta?" that SCS doesn't install on 2.0, but it's been corrected in the FixPack. Now, SCS is an important one, and still under somewhat active development, whether from periodic visits by DavidW, or hotfixes posted by people like Mad Mate.

So I asked that the person post the bug, and the fix, on the SCS boards so that people other than BW users will be able to install SCS in two weeks. And... crickets. There's a critical bug, and a known fix, but no one is telling us what the fix is. Not cool.

Anyway, back to Refinenents, I'm making good progress. :)

#15 subtledoctor

subtledoctor
  • Modder
  • 656 posts

Posted 17 March 2016 - 08:49 PM

Okay, as the bigg suggested I've changed the HLA components to give two options:

1) install everything

2) install class-by-class

 

...and in the second case it will then ask you whether to install each class's HLAs.

 

Also, I've got the multiclass HLA tables and HLAs working in this new modular framework.

 

Also, I've updated the "kit.ids fix" code to the latest standard.  I disabled that bit on BG2EE because I don't think BG2EE has a broken kit.ids, but if I'm mistaken about that please let me know.

 

What else... I've tested installation on both BGT/ToBEx and BG2EE, and I've looked at all the files after installing and everything seems to be where it should be.  But I have not playtested because I don't have time to actually get in the game and play.  So, people should playtest this, and let me know if there are bugs, and then I'll do the bug-fixing.  Deal?  (Wait, hmm, somehow it doesn't seem like I'm getting the good end of that deal...)

 

Oh yeah, finally, I've set this up as a fork of the official repo, per the bigg's suggestion.

 

Anyway here is my third pass:

https://github.com/s...eleases/tag/0.3


Edited by subtledoctor, 17 March 2016 - 08:49 PM.


#16 Hety

Hety
  • Member
  • 209 posts

Posted 20 March 2016 - 09:39 PM

Tried 0.3. Installation failed/ Attacking debug. Installed on BGEE with BG2Tweakpack and BG1NPC


GIEF EPEX! © Believe @ Lightning' Blade(WoW)

I often type on shitty keyboards and in dark places. So dont mind my typos. PLEASE.

kkthxbye...

#17 subtledoctor

subtledoctor
  • Modder
  • 656 posts

Posted 21 March 2016 - 04:57 AM

Tried 0.3. Installation failed/ Attacking debug. Installed on BGEE with BG2Tweakpack and BG1NPC

 

@Hety you didn't attach anything...

 

Unfortunately I can't test BGEE right now, I've been helping track down a crash bug in 2.0 so 1.3 isn't on my computer, and 2.0 is crashing on me.  I'll download 1.3 to test this out.

 

I was going to ask, "why are you installing Refinements on BGEEBGEE has no HLAs."  ...But then I remembered there are more components to this than just the HLAs.  To be fair, I did say in the readme that I am only updating the HLA portion of the mod.

 

Looking through the other components, here are my thoughts on possible  BGEE compatibility.

 

- SwashImoen: this is pretty clearly coded specifically for SoA starts, as it seems to assume (from the readme, anyway) that Imoen is already a dual-class thief/mage.  If you want to have this for BGEE, I suggest you use my other mod, NPC_EE

 

- The Shapeshifting Fix: is completely unnecessary on BGEE, as the bug it is meant to fix has already been fixed in the EE engine.

 

- Universal Lesser Mage Robes: this is a nice little change.

 

- Sword Angel Kit: I'm not going to touch this.  According to the readme it is meant to be used in tandem with the Virtue mod, which does not work i the EE games AFAIK. 

 

- Revised Armor and Shields: I like some of what this component does, but not all of it.  More importantly, it seems like it might be pretty complicated and I'm not sure it's a good idea to start messing around with the code.  That could result in it not working on the old engine.  Like doctors say, "first, do no harm."  Anyway this hasn't been worked on since ~2006 AFAIK and there are a number of more modern mods that do similar things, like Tweaks Anthology, Full Plate and Packing Steel, and Item Revisions. 

 

So basically, the only part of this mod that could realistically work on BGEE is Universal Lesser Mage Robes.  Honestly, that's such a small modification that I'm not sure it's worth the effort.  I think it might be easier to simply throw a

REQUIRE_PREDICATE NOT GAME_IS ~bgee~

around the whole mod...



#18 subtledoctor

subtledoctor
  • Modder
  • 656 posts

Posted 21 March 2016 - 06:14 AM

BGEE has no HLAs in the game. People have removed the XP cap and leveled up artificially, and they are just not implemented. So no need for Refinements to work there. (IWDEE has lots of XP but also no HLAs, so no need there either.)

At it's heart, this has always been a BG2 mod, not a BG1 mod. I want to *enable* BG2EE players to use this mod... not change its heart. So I probably won't do much, if anything, to enable BGEE compatibility.

(Anyway I have much more pressing matters to attend to: lots of work to do on my sphere system mod and only 2 weeks left, and I want to look at SCS because it doesn't work on EE 2.0 and somebody needs to step up and release a hotfix for it...)

#19 subtledoctor

subtledoctor
  • Modder
  • 656 posts

Posted 11 July 2016 - 06:57 PM

Well, all of the last 4 months of posts have been lost, which means you mostly missed a lot of Jarno giving me a hard time over meaningless nonsense.  :P

 

BUT the important thing that happened is that this has been updated to being pretty nearly complete.  I'm calling it "beta 0.6.1" because I presume there are still bugs.  But, aside from any unfound bugs, this does everything I want it to do:

 

- HLAs can be installed on a class-by-class basis

- patches HLA tables rather than overwriting them

- specific compatibility code for RR HLAs  (NOTE: with this version, RR should be installed before Refinements.)

- the Sword Angel kit works on EE games

 

Here you go:

https://github.com/s...ses/tag/4.0.6.1

 

Cheers.



#20 Sergio

Sergio
  • Member
  • 954 posts

Posted 02 August 2016 - 09:09 PM

I know that your idea currently is not to be bothered making HLA available to bg1 players with the level cap remover, but I would like to ask you to re-consider that.


Low hung brow, dazed look on your face..... It appears that you are correct, my friend. You are indeed a complete imbecile.