Jump to content

Behind The Scenes note for DavidW


cmorgan

Recommended Posts

clean install of BG2 Fixpack + SCSII

 

Mis-Indexed Effects:

Searched for: Mis-indexed Effects

Number of hits: 7

File: BODHI.ITM Name: No such index Attribute: Item ability=Type: Melee (1),Identify to use?: No (0),Ability location: Weapon slots (1),Unknown: 00 h,

File: PTION41.ITM Name: Potion of Power Attribute: Item ability=Type: Default (0),Identify to use?: Yes (1),Ability location: Weapon slots (1),Unknown: 00 h,

File: SPIN989.SPL Name: Lightning Bolt Attribute: Spell ability=Type: Ranged (2),Unknown: 00 h,Ability location: Spell slots (2),Icon: SPWI308B.BAM,

File: SPIN989.SPL Name: Lightning Bolt Attribute: Spell ability=Type: Ranged (2),Unknown: 00 h,Ability location: Spell slots (2),Icon: SPWI308B.BAM,

File: SPIN989.SPL Name: Lightning Bolt Attribute: Spell ability=Type: Ranged (2),Unknown: 00 h,Ability location: Spell slots (2),Icon: SPWI308B.BAM,

File: SPIN989.SPL Name: Lightning Bolt Attribute: Spell ability=Type: Ranged (2),Unknown: 00 h,Ability location: Spell slots (2),Icon: SPWI308B.BAM,

File: SPIN989.SPL Name: Lightning Bolt Attribute: Spell ability=Type: Ranged (2),Unknown: 00 h,Ability location: Spell slots (2),Icon: SPWI308B.BAM,

 

Corrupted Files:

File corruption search

Number of errors: 1

File: DW#ABBL2.DLG Offset: c4h Error message: Text(c4h) overlaps Text(c4h) by 34 bytes

 

Search "ABBL2" (6 hits in 2 files)

F:\scsII-v8\scsII\abazigal\abazigal.tph (3 hits)

Line 262: ~dw#abbl1.cre~ ~override/dw#abbl2.cre~

Line 263: WRITE_ASCII 0x280 ~dw#abbl2~

Line 264: WRITE_ASCII 0x2cc ~dw#abbl2~

F:\scsII-v8\scsII\abazigal\ar6000add.baf (3 hits)

Line 10: CreateCreature("dw#abbl2",[820.837],14)

Line 15: Dead("dw#abbl2")

Line 25: Dead("dw#abbl2")

 

 

	COPY_EXISTING 
	~dw#abbl1.cre~ ~override/dw#abbl2.cre~
		WRITE_ASCII 0x280 ~dw#abbl2~
		WRITE_ASCII 0x2cc ~dw#abbl2~
		SAY 0x8 @3022 SAY 0xc @3022

 

Related text files in F:\scsII-v8\scsII\abazigal\multidragon.d

 

Seems to read ine in NI, and in both old and newer DLTCEP, and no error reports seem to indicate that this is not a problem, but just in case, I thought I would report it...

 

BEGIN dw#abbl1
IF ~~ THEN BEGIN NeverSay1
SAY ~~
IF ~~ THEN DO ~~ EXIT END

BEGIN dw#abbl2
IF ~~ THEN BEGIN NeverSay2
SAY ~~
IF ~~ THEN DO ~~ EXIT END

 

 

Side note - if you comment the SAY entry, you can .tra it, and make sure that it reads blank. I can confirm that the blank SAY is no problem - I am just in the habit of letting folks know that

 

SAY ~[bLANK]~

 

No need to change it for a stable and secure existing mod like SCSII.

 

On the offset problem, I have no idea what is creating it, because those BEGIN statements should establish a new, correctly formed .dlg file, don't they?

Link to comment

Phordicus, do you have the BG2 Fixpack installed? I think it fixes a large number of those 'Script Name Not Found" errors. Apparently there were a bunch of these tyopos (or more likey, one typo copied throughout many scripts) in the original game.

 

If they were not fixed up front, they continue to propogate throughout any mod that copies and patches stuff. This, plus alot more...

Link to comment

And these types of script errors have zero effect on the game (whatever the cause of your crashes, it shouldn't have anything to do with the issues in that screenshot).

 

PTION41 is the only mis-indexed resource in the default game. I think BODHI was something from Wes or Ascension that may have propagated here.

 

Empty DO statements cause huge brawls between WeiDU and NI. A dialogue compiled so will work fine in the game but show up corrupted in NI.

Link to comment
Guest temujin_
And these types of script errors have zero effect on the game (whatever the cause of your crashes, it shouldn't have anything to do with the issues in that screenshot).

still, it's preferable to have these errors and warnings not show up at all. "no news is good news." in the thousands of errors/warnings reported by NI, some of them are legit and it's a pain in the ass to sort out the valid ones from these false positives. the sensible thing to do, IMHO, is to construct code that is compatible with NI or change NI itself so it doesn't report 'fake' warnings.

 

 

Empty DO statements cause huge brawls between WeiDU and NI. A dialogue compiled so will work fine in the game but show up corrupted in NI.

so the correct way to handle this is to change the line "IF ~~ THEN DO ~~ EXIT END" into "IF ~~ THEN EXIT END"? (it seems to fix the above dialog offset error, but i still want to make sure)

 

 

 

anyway, since this seems like a bug report thread, i might as well post some other 'behind the scenes' errors i found over the past few months.

 

 

1. scsii/drow/drow.tph

 

COPY_EXISTING ~uddrow30.cre~ ~override/dw#drctf.cre~
	WRITE_ASCII 0x248 ~dw#drcty~

 

the override script dw#drcty does not exist (no such BAF or BCS). it should likely be dw#dwcty.

 

 

2. scsII/firegiant/firegiant.tph

 

COPY_EXISTING ~spin695.spl~ ~override/dw#imsta~
	SAY 0x8 @2103
	SAY 0xc @2103

 

missing a .spl extension at the end of dw#imsta

 

 

3. scsII/misc/minor.tph

 

ACTION_IF !(FILE_EXISTS_IN_GAME ~impfald.bcs~) THEN BEGIN // if Tactics Faldorn isn't installed
EXTEND_TOP ~ar1900.bcs~ ~scsII/misc/imp1900.baf~
END ELSE BEGIN
COPY_EXISTING ~ar1900.bcs~ ~override~
	DECOMPILE_BCS_TO_BAF
	REPLACE_TEXTUALLY ~udelde~ ~dw#eldee~
	COMPILE_BAF_TO_BCS
BUT_ONLY_IF_IT_CHANGES

COPY_EXISTING ~udelde.cre~ ~override/dw#eldee.cre~
	WRITE_ASCII 0x280 ~~ #8
	WRITE_ASCII 0x248 ~wtasight~

END

 

the "COPY_EXISTING ~udelde.cre~ ~override/dw#eldee.cre~" part should probably be outside the ACTION_IF statement because the creature dw#eldee is also referenced in imp1900.baf

 

 

4. scsII/random/random.tph

 

COPY_EXISTING 
	~dw#rnlg1.cre~ ~override/dw#rnlg2.cre~
		WRITE_ASCII 0x280 ~dw#rnlg2~

COPY_EXISTING 
	~dw#rnlg1.cre~ ~override/dw#rnlg3.cre~
		WRITE_ASCII 0x280 ~dw#rnlg3~

 

previous script name (probably added in by some other mod) was not properly overwritten. perhaps WRITE_ASCIIT could be used instead.

 

 

5. scsII/vampire/vampire.tph

 

<<<<<<<< .../scsii-inline/dw#ppbod.bcs
IF
Die()
THEN
RESPONSE #100
	ReallyForceSpellDead(Myself,VAMPIRE_GAS_FORM_CHANGE)
END
>>>>>>>>

COMPILE ~.../scsii-inline/dw#ppbod~

 

missing a .baf extension at the end of the COMPILE line. also, the inlined file should probably be named dw#ppbod.baf instead of dw#ppbod.bcs as i think bcs is used only for decompiling.

 

 

6. scsII/setup-scsII.tp2

 

COPY
	~scsii/melissan/melspl01.spl~ ~override~
~scsii/melissan/melspl03.spl~ ~override~ 
~scsii/fiend/dw#fitel.spl~ ~override~

 

depending on the install order, the spell names could be messed up (happened in my install) because the string references were not what they were supposed to be (Divine Mantle, Divine Spell Shield, etc). probably better to name them with SAY.

 

 

7. scsII/clericmage/renew.ssl (and also scsII/clericmage/renew - Copy.ssl)

 

Action(SequencerMyself,1,"dw#0w408","dw#0w409","dw#0w403") // II, Stoneskin, fire shield

 

spell dw#0w409 does not exist. should probably be dw#0w405 instead as it corresponds to II.

 

 

8. scsII/dragon/dw#abazdrag.ssl

 

	Action(FastDragonBreath,BLUE_DRAGON_BREATH,"dragonbreath",tra09)

 

typo in line 111. tra09 is supposed to be tra_09

 

 

9. scsII/genai/potionuse.ssl

 

ActionCondition(Potion,"dw#potn06",@1006;CheckStatLT(Myself,23,STR))  -- line 79
ActionCondition(Potion,"dw#potn05",@1005;CheckStatLT(Myself,22,STR))  -- line 81
ActionCondition(Potion,"dw#potn04",@1004;CheckStatLT(Myself,21,STR))  -- line 83

 

typos. dw#potn0X should be dw#ptn0X

 

 

10. scsII/help/scripts/gpmage_asc.baf (and also scsII/help/scripts/gphealer_asc.baf)

 

NI reports a warning at line 13 -- Allegiance(Myself,0). the number 0 isn't defined in EA.ids. perhaps David meant "Allegiance(Myself,EVILBUTBLUE)" instead?

Link to comment
Cool to know! So in dialog, blanking a DO should be accomplished another way if we do not want false positives in NI.
The engine's parser knows how to handle // comments, so you could do that. In general, I wouldn't worry. Just make sure it works in the game.

 

still, it's preferable to have these errors and warnings not show up at all. "no news is good news." in the thousands of errors/warnings reported by NI, some of them are legit and it's a pain in the ass to sort out the valid ones from these false positives. the sensible thing to do, IMHO, is to construct code that is compatible with NI or change NI itself so it doesn't report 'fake' warnings.
It's nice, of course, but hardly necessary. Outside the fixpack, I wouldn't bother to try correcting the original errors when you patch a resource unless you have to. The five people who use NI can just deal with it when they run the checks. :-)

 

Anyway, a lot (all, actually) of the warnings in that screenshot stink of Ascension.

Link to comment
Guest temujin_

he's just joking. i'd say it's more like 500,000 people have used NI since it was first released. it's one of the tools that withstood the test of time.

 

devSin just doesn't want to commit himself to saying "ok, i'll fix it. i'll improve the script error checking algorithm." instead he gives us this bogus answer. :) (although can't say i blame him for that)

 

Taimon is the only one left.

Link to comment
Guest temujin_
("gpmage_asc" isn't actually a typo, as it's there to match the Ascension version. More accurately, it's a typo in Ascension that I have to copy.)

 

but that's the thing. it doesn't match the Ascension version if it's installed before the Fixpack.

 

these days, the general consensus (BWP) seems to be to install Ascension before the Fixpack, otherwise it (Ascension) overwrites/undos a lot of fixes in a bad way if installed after.

 

so in other words, Ascension is installed first, Fixpack gets installed second and automatically corrects the typo in gpmage2.bcs, then SCSII comes along, doesn't find the matching block and throws a couple warnings... harmless yes, still it would be preferable to make those annoying "INSTALLED WITH WARNINGS" go away...

Link to comment
("gpmage_asc" isn't actually a typo, as it's there to match the Ascension version. More accurately, it's a typo in Ascension that I have to copy.)

 

but that's the thing. it doesn't match the Ascension version if it's installed before the Fixpack.

 

these days, the general consensus (BWP) seems to be to install Ascension before the Fixpack, otherwise it (Ascension) overwrites/undos a lot of fixes in a bad way if installed after.

 

so in other words, Ascension is installed first, Fixpack gets installed second and automatically corrects the typo in gpmage2.bcs, then SCSII comes along, doesn't find the matching block and throws a couple warnings... harmless yes, still it would be preferable to make those annoying "INSTALLED WITH WARNINGS" go away...

 

Ah... got it. Yes, come to think of it I recall writing SCSII on a Fixpack-then-Ascension install, not vice versa.

 

And it's not quite harmless - after all, I was swapping that file for a reason!

Link to comment
And it's not quite harmless - after all, I was swapping that file for a reason!

 

Arrghh I am confused now. It sounds like Ascension should be installed prior to the BG2 Fix Pack, but doing that will result in a problem installing SCSII?

 

I have just started a game with the Fix Pack installed before Ascension....if that is bad I will start again....

Link to comment

Archived

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

×
×
  • Create New...