Jump to content

Watch the pounds...


Recommended Posts

Some blathering:

APPEND ~ANIMATE.IDS~ ~0xE520 IC_LIZARD_CASTER3~ 
            UNLESS ~^0xE520\b~
APPEND ~ANIMATE.IDS~ ~0xEF10 ELEMENTAL_WATER~ 
            UNLESS ~^0xEF10\b~

These serve no purpose at all. If you keep them in, you're going to have to add the 20 or so other working slots that I've since added. And you don't want that.

 

APPEND ~ANISND.IDS~ ~0xEF10 MWWE      CGAMEANIMATIONTYPE_ELEMENTAL_WATER~
           UNLESS ~^0xEF10\b~

Best not to even modify an IDS that (for once) is never actually used for anything.

 

APPEND ~kit.ids~ ~0x4000 TRUECLASS~
 UNLESS ~\bTRUECLASS\b~

I'm assuming this is supposed to be special class (there is already a true class).

 

ACTION_IF FILE_EXISTS_IN_GAME ~saradush.mve~ THEN BEGIN // ToB-only stuff check
 APPEND ~AREAFLAG.IDS~ ~4  NOSPELLCASTING~
               UNLESS ~^4\b~
 APPEND ~AREAFLAG.IDS~ ~8  DREAM~
               UNLESS ~^8\b~
END

This so needs to get the boot.

 

COPY_EXISTING ~MMYC.2DA~ ~OVERRIDE/MSHR.2DA~
 SET_2DA_ENTRY 0 0 2 ~MSHR~
 SET_2DA_ENTRY 0 1 2 ~/spore colony/~

Amazingly enough, SoA has the right sounds so we don't have to fake it:

COPY_EXISTING ~ACHK.2DA~ ~OVERRIDE/MSHR.2DA~ // It's easier to just build these from the ground up
 SET_2DA_ENTRY 0 0 1 ~MSHR /shrieker/~
 SET_2DA_ENTRY 1 1 2 ~SHRIE04B NOSOUND NOSOUND~
 SET_2DA_ENTRY 2 1 2 ~2 0 0~
 SET_2DA_ENTRY 9 1 2 ~SHRIE07A SHRIE07B~
 SET_2DA_ENTRY 10 1 2 ~0 0~
 SET_2DA_ENTRY 11 1 2 ~SHRIE09A SHRIE09B~
 SET_2DA_ENTRY 12 1 2 ~0 0~
 SET_2DA_ENTRY 23 1 2 ~SHRIE03A NOSOUND NOSOUND~
 SET_2DA_ENTRY 24 1 2 ~2 0 0~
 SET_2DA_ENTRY 25 1 2 ~SHRIE03B NOSOUND NOSOUND~
 SET_2DA_ENTRY 26 1 2 ~2 0 0~
 SET_2DA_ENTRY 27 1 2 ~SHRIE04A NOSOUND NOSOUND~
 SET_2DA_ENTRY 28 1 2 ~2 0 0~
 SET_2DA_ENTRY 37 1 2 ~***~ // Doesn't really need a battle cry, since it doesn't ever attack

 

ACTION_IF FILE_EXISTS_IN_GAME ~saradush.mve~ THEN BEGIN // ToB-only stuff check
 // adds load hints for ToB
 APPEND ~LOADH25.2DA~ ~79          34572~
              UNLESS ~^79\b~
 APPEND ~LOADHINT.2DA~ ~75          34572~
               UNLESS ~^75\b~
 APPEND ~LOADHINT.2DA~ ~76          72818~
               UNLESS ~^76\b~

I'm surprised Kish hasn't jumped on this already. This doesn't really qualify as a bug fix, I think. I found another unused one, but I'm not yet ready to share.

 

COPY_EXISTING ~gandol.dlg~  ~override~
             ~gatewa.dlg~  ~override~
             ~gatewa2.dlg~ ~override~
             ~glanma.dlg~  ~override~
             ~ramazi.dlg~  ~override~
             ~tethto2.dlg~ ~override~
             ~thalan.dlg~  ~override~
 DECOMPILE_DLG_TO_D
 COMPILE_D_TO_DLG

Unless the goal is bug fixing for BG2 and Tutu, I think an effort should be made to cut out as many changes to left-over TotSC files as possible. Comments?

 

    REPLACE_TEXTUALLY %"ISC_03A"% %"EFF_M03"%
   REPLACE_TEXTUALLY %"MISC_02A"% %"EFF_P94"%

Maybe better to just copy the WAVs from BG/TotSC? This list of "I exist in some other IE game but designer X was too damn lazy to check if I made it into BG2":

COPY ~BC0EDBD27F0770EC3FEBBF447B8AEC2C~ ~OVERRIDE/CHOKE.WAV~
~E50787D450BAF399A9D791A32E7E6FC8~ ~OVERRIDE/MISC_01B.WAV~
~053E6BAF5FCF4D17A8B1E351D0DC25B4~ ~OVERRIDE/MISC_01C.WAV~
~DFD4EF6941B05B5A450E5EE838B38D96~ ~OVERRIDE/MISC_03A.WAV~
~0780CC4FEF5BEC17308F15345A963949~ ~OVERRIDE/MISC_04A.WAV~
~89B44D557FABE886C7D24E992B970611~ ~OVERRIDE/MISC_06B.WAV~
~895B467D5F5E67BFDC7F5DC097FDCE60~ ~OVERRIDE/PRE_P06.WAV~
~CC8F27281A5C6B36E6A3E9E4FADF75F7~ ~OVERRIDE/SHAEL_07.WAV~
~1D7088896FAC28ECA3D5F6B93260FE4C~ ~OVERRIDE/SHAEL_08.WAV~
~1B6BB1EA0C5AA6D0F482E2F761594E78~ ~OVERRIDE/SHAEL_09.WAV~
~032078DBC9D6BB4DA1DFD3927D1BE655~ ~OVERRIDE/SHAEL_10.WAV~

 

// assigns area script to any area that does not have one

Why bother?

 

// set this batch to use their filename as DV
COPY_EXISTING ~bodfgt01.cre~ ~override~
             ~bodfgt02.cre~ ~override~
             ~cattig01.cre~ ~override~
             ~cldad.cre~    ~override~
             ~ffcrowd1.cre~ ~override~
             ~ffcrowd2.cre~ ~override~
             ~ffcrowd3.cre~ ~override~
             ~ffcrowd4.cre~ ~override~
             ~ffcrowd5.cre~ ~override~
             ~gerhardt.cre~ ~override~
             ~guard3.cre~   ~override~
             ~hobarc02.cre~ ~override~
             ~mourner4.cre~ ~override~
             ~mugger3.cre~  ~override~
             ~nobl4.cre~    ~override~
             ~pparan2.cre~  ~override~
             ~spidgi01.cre~ ~override~
             ~swsfoll1.cre~ ~override~
             ~swsfoll2.cre~ ~override~
             ~swsfoll3.cre~ ~override~
             ~swsfoll4.cre~ ~override~
             ~swsfoll5.cre~ ~override~
             ~swsfoll6.cre~ ~override~
             ~toady.cre~    ~override~
             ~tolger2.cre~  ~override~
             ~tolmag01.cre~ ~override~
             ~uddoor02.cre~ ~override~
             ~vammat01.cre~ ~override~
             ~vamold01.cre~ ~override~
             ~wcust01.cre~  ~override~
             ~wcust02.cre~  ~override~
             ~wcust03.cre~  ~override~
             ~wcust04.cre~  ~override~
             ~wolfdi.cre~   ~override~
 WRITE_EVALUATED_ASCII 0x280 ~%SOURCE_RES%~ #8
 BUT_ONLY_IF_IT_CHANGES

Use #18 here, just in case.

 

COPY_EXISTING ~hellslay.cre~ ~override~
 SAY BATTLE_CRY1 #60501
 SAY BATTLE_CRY2 #60502
 SAY SELECT_COMMON1 #60500
 SAY DAMAGE #60503
 SAY DYING #60504

A case could be made for just deleting all the existing references. Running through hell (testing something or other), I thought it fairly silly when the slayer ran around "Die! Die! All of you DIE!" (just deleting the ogre refs would give the normal slayer sounds).

 

// fixes enchantment, icons, and prof of short bow +1
COPY_EXISTING ~bow06.itm~ ~override~

It looks like you're still missing the range.

 

COPY_EXISTING ~AR0512.WED~ ~OVERRIDE~
READ_LONG 0xa4 ~wallGroupsOffset~
INSERT_BYTES ~%wallGroupsOffset%~ 0x0a
WRITE_LONG ~%wallGroupsOffset%~ 0x00020001
WRITE_LONG ~%wallGroupsOffset%~ + 0x04 0x00040003
WRITE_SHORT ~%wallGroupsOffset%~ + 0x08 0x05
WRITE_BYTE 0x062b 0x06
WRITE_LONG 0x64 ~%wallGroupsOffset%~ + 0x0a
WRITE_LONG 0x7c ~%wallGroupsOffset%~ + 0x0a
WRITE_LONG 0x94 ~%wallGroupsOffset%~ + 0x0a
WRITE_SHORT 0x0626 0x06
FOR (index = 0x9c; index < 0xac; index = index + 0x04) BEGIN
  READ_LONG ~%index%~ ~offset~
  WRITE_LONG ~%index%~ ~%offset%~ + 0x0a
END
BUT_ONLY_IF_IT_CHANGES

You should at least make some change here. Maybe change index to delta, or something :p

 

COPY_EXISTING ~SPMAZE2.VVC~ ~OVERRIDE/SPSPMAZE.VVC~
 WRITE_ASCII 0x78 ~EFF_M74~ #8
 WRITE_BYTE 0x4c 0x08
 WRITE_BYTE 0x68 0x00
 WRITE_EVALUATED_ASCII 0x08 ~%DEST_RES%~ #8

Yeah, baby! Take that! Except it's worthless, since you're not updating the spell...

Link to comment

Cool, thanks--I'm glad you're reviewing this for just kind of stuff. :)

 

IDS changes are gone, except for the kit.ids changes. This was code really designed to correct the file post-mods, so a lot of it is spurious changes (virtually all the specialist mages, for example) and I was too lazy to change it. My understanding for trueclass is that it does need to be explicitly stated, so we can differentiate vanilla fighters from barbarians and vanilla mages from wild mages by using combo class/kit checks. I could, of course, be completely and absolutely wrong.

 

2da fixes made.

 

For the load hints, I don't have a problem replacing the NWN reference (as it is just wrong), though you're correct that the rest are really UB's domain. I'll let Andyr or Icelus bribe you for your holdout line.

 

You're correct, TotSC changes should be out--my orginal idea was to try and eliminate anything that NI did not like and, for the dialogues at least, this was done. This may be better off in the Super Happy Fun Modder Pack as it really is easier to see what I break with tweaks when I don't have a grip of leftover BG errors to wade through in the tools. There's a huge section in the d file that can be torn out as well.

 

I admit I have no idea what those COPYs are doing for the sounds.

 

Some of the area scripts are needed, but yeah, something else that should be moved to the modder pack to maintain our purity.

 

Cheers, got the short bow.

 

And fine, since you insist: :)

 

COPY_EXISTING ~AR0512.WED~ ~OVERRIDE~
READ_LONG 0x00 ~alpha~
READ_SHORT 0x1096 ~omega~
READ_LONG 0xa4 ~wallGroupsOffset~
INSERT_BYTES ~%wallGroupsOffset%~ 0x0a
WRITE_LONG ~%wallGroupsOffset%~ 0x00020001
WRITE_LONG ~%wallGroupsOffset%~ + 0x04 0x00040003
WRITE_SHORT ~%wallGroupsOffset%~ + 0x08 0x05
WRITE_BYTE 0x062b 0x06
WRITE_LONG 0x64 ~%wallGroupsOffset%~ + 0x0a
WRITE_LONG 0x7c ~%wallGroupsOffset%~ + 0x0a
WRITE_LONG 0x94 ~%wallGroupsOffset%~ + 0x0a
WRITE_SHORT 0x0626 0x06
FOR (index = 0x9c; index < 0xac; index = index + 0x04) BEGIN
 READ_LONG ~%index%~ ~offset~
 WRITE_LONG ~%index%~ ~%offset%~ + 0x0a
END
BUT_ONLY_IF_IT_CHANGES

 

And yeah, will add the maze spell changes so the vvc does something.

 

Keep 'em coming.

Link to comment
COPY_EXISTING ~hellslay.cre~ ~override~
 SAY BATTLE_CRY1 #60501
 SAY BATTLE_CRY2 #60502
 SAY SELECT_COMMON1 #60500
 SAY DAMAGE #60503
 SAY DYING #60504

A case could be made for just deleting all the existing references. Running through hell (testing something or other), I thought it fairly silly when the slayer ran around "Die! Die! All of you DIE!" (just deleting the ogre refs would give the normal slayer sounds).

Given that Irenicus the Slayer can clearly still cast spells, I'd say he can speak clearly enough that he'd continue to talk like himself. If Jon the elf says those battle cries, it's not silly for Jon the Slayer to say them.

Link to comment
2da fixes made.
In that case:
COPY_EXISTING ~MYU2.2DA~ ~OVERRIDE~
 REPLACE_TEXTUALLY ~yanel7~ ~YANEL07~
 REPLACE_TEXTUALLY ~yanel8~ ~YANEL08~
BUT_ONLY_IF_IT_CHANGES

and optionally:

COPY_EXISTING ~MTRO.2DA~ ~OVERRIDE~
 REPLACE_TEXTUALLY ~TROLL08a~ ~TROLL07A TROLL07B~
 REPLACE_TEXTUALLY ~TROLL08b~ ~TROLL08A TROLL08B~
 SET_2DA_ENTRY 4 2 3 ~0 0 0~
BUT_ONLY_IF_IT_CHANGES

 

This may be better off in the Super Happy Fun Modder Pack as it really is easier to see what I break with tweaks when I don't have a grip of leftover BG errors to wade through in the tools.
In this case, it's much better to have a single D file that simply has a bunch of BEGIN ~left-over crap DLG~s (WeiDU will just compile a bunch of valid, empty dialogues). It's super fast and eliminates all errors (none of the strings will be valid in BG2, so who cares what's there. I had the master list, but no more (if anybody has a super-old version of my fixpack, they'll still be at the end of FixPack.d). I also had a bunch of script copies to kill all the left-over invalid scripts. Makes life much easier.

 

I admit I have no idea what those COPYs are doing for the sounds.
You're only supposed to pay attention to the destinations. The source crap is my sick idea of making sure inlined files are uniquely defined (what's more unique than a file checksum?!), without having to do stupid stuff like .../This/is/a/fake/path/to/this/blah.file. Anyway, those are all sounds that are referenced in various BG2 files but don't actually exist in BG2. They exist in the various other IE games so, instead of arbitrarily selecting a new sound to "fix" the references, I just copy the sounds over. One or two are a little sketchy, but most fit the usage (or close enough, assuming BioWare would have re-tooled them somewhat to suit the game better).
Link to comment

So, we've made several changes to make the game more mod-friendly, and/or "cleaner", but we're not including them because....?

 

Are we going to aim for a "fix-pack" and a "modding base-pack no-one will ever install, as makes dumb mod changes to change my uber-pure game - if it didn't it would be in the fixpack, wouldn't it?"

Link to comment

The aim of the modder pack will be twofold: a cleaner game to mod upon and inclusion of components common to mods (i.e. Detectable Spells). Since this will be an active and centralized project, it should also hopefully discourage the N versions of these common components to boot.

 

We'll encourage players to install it anyway, and modders should start including statements such as "You must have the Modder Pack from BG2 Fixpack installed" to encourage uptake. You're correct that for players, it's not going to make a difference unless they use a mod that requires it--which to me is justification enough for exclusion from the core fixes.

Link to comment
IDS changes are gone, except for the kit.ids changes. This was code really designed to correct the file post-mods, so a lot of it is spurious changes (virtually all the specialist mages, for example) and I was too lazy to change it. My understanding for trueclass is that it does need to be explicitly stated, so we can differentiate vanilla fighters from barbarians and vanilla mages from wild mages by using combo class/kit checks. I could, of course, be completely and absolutely wrong.

TRUECLASS entry is needed, yeh.

Link to comment
TRUECLASS entry is needed, yeh.
My point was that there already is a trueclass (it's the first entry, by default). Anyway, it doesn't matter (the APPEND shouldn't ever do anything).

 

  COPY_EXISTING ~loadh25.2da~ ~override~
   REPLACE_TEXTUALLY ~\b40954~ ~34572~
   BUT_ONLY_IF_IT_CHANGES

After confirming that '\b' really doesn't work with digits, you'll need to find some other pattern here. For me, this patch does nothing. This also means that you'd need to update the constraints for any of my APPENDs that remain (since things like UNLESS ~^1234\b~ simply don't work).

Link to comment
COPY_EXISTING ~gordem.cre~   ~override~
             ~jondem02.cre~ ~override~
             ~jondem04.cre~ ~override~
             ~sudemde1.cre~ ~override~
             ~sudemde2.cre~ ~override~
 PATCH_IF (SOURCE_SIZE > 0x2d3) THEN BEGIN // protects against invalid files
   WRITE_SHORT 0x28 4352
 END
 BUT_ONLY_IF_IT_CHANGES

Kill the updates to SUDEMDE* here. The tanar'ri animation doesn't have a corpse, and these creatures are dead (so, if you change the animation, they won't show up in-game).

Link to comment
Maybe better to just copy the WAVs from BG/TotSC? This list of "I exist in some other IE game but designer X was too damn lazy to check if I made it into BG2":
COPY ~BC0EDBD27F0770EC3FEBBF447B8AEC2C~ ~OVERRIDE/CHOKE.WAV~
~E50787D450BAF399A9D791A32E7E6FC8~ ~OVERRIDE/MISC_01B.WAV~
~053E6BAF5FCF4D17A8B1E351D0DC25B4~ ~OVERRIDE/MISC_01C.WAV~
~DFD4EF6941B05B5A450E5EE838B38D96~ ~OVERRIDE/MISC_03A.WAV~
~0780CC4FEF5BEC17308F15345A963949~ ~OVERRIDE/MISC_04A.WAV~
~89B44D557FABE886C7D24E992B970611~ ~OVERRIDE/MISC_06B.WAV~
~895B467D5F5E67BFDC7F5DC097FDCE60~ ~OVERRIDE/PRE_P06.WAV~
~CC8F27281A5C6B36E6A3E9E4FADF75F7~ ~OVERRIDE/SHAEL_07.WAV~
~1D7088896FAC28ECA3D5F6B93260FE4C~ ~OVERRIDE/SHAEL_08.WAV~
~1B6BB1EA0C5AA6D0F482E2F761594E78~ ~OVERRIDE/SHAEL_09.WAV~
~032078DBC9D6BB4DA1DFD3927D1BE655~ ~OVERRIDE/SHAEL_10.WAV~

I have found misc_01c and pre_p06 from IWD. Can someone check BG/TotSC for the rest and post them here or to the FTP? I no longer have BG installed.

 

Outside of that, I think I've got just about everythng else here.

Link to comment
The aim of the modder pack will be twofold: a cleaner game to mod upon and inclusion of components common to mods (i.e. Detectable Spells). Since this will be an active and centralized project, it should also hopefully discourage the N versions of these common components to boot.

 

We'll encourage players to install it anyway, and modders should start including statements such as "You must have the Modder Pack from BG2 Fixpack installed" to encourage uptake. You're correct that for players, it's not going to make a difference unless they use a mod that requires it--which to me is justification enough for exclusion from the core fixes.

 

Somehow, I think that if a given mod requires the Modder Pack, then that mod is going to have an ACTION_IF statement that installs the Modder Pack anyway if the player doesn't have it.

 

Just another one of the beauties of WeiDU.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...