Jump to content

Fixed: beta 4 caused crash to desktop


Shaitan

Recommended Posts

Confirmed.

 

CTD is caused by this block:

// known spells listed with incorrect level/type
COPY_EXISTING ~famlight.cre~ ~override~
		  ~meplig01.cre~ ~override~
 READ_LONG  0x2a0 "known_off"
 READ_LONG  0x2a4 "known_num"
 FOR (index = 0; index < known_num; index = index + 1) BEGIN
READ_ASCII ("%known_off%" +		("%index%" * 0x0c)) "resref"
PATCH_IF ("%resref%" STRING_COMPARE_CASE "spwi201" = 0) BEGIN
  WRITE_SHORT ("%known_off%" + 0x08 + ("%index%" * 0x0c)) 1 // correct spell level
END ELSE
PATCH_IF ("%resref%" STRING_COMPARE_CASE "spin933" = 0) BEGIN
  WRITE_SHORT ("%known_off%" + 0x08 + ("%index%" * 0x0c)) 2 // correct spell level
END
 END
 BUT_ONLY_IF_IT_CHANGES

Link to comment
i have many mods installed over fixpack beta4 and game doesn't crash

Are you sure it's Beta4 you have installed, not Beta3? Beta4 was released yesterday.

 

Btw anybody knows why Blur is changed to Level 1 in the block above? It's level 2 spell.

Link to comment

Are you sure it's Beta4 you have installed, not Beta3? Beta4 was released yesterday.

of course i'm sure. I was waiting for it last 3 days, trying to make as stable installation as possible

 

Then you must have skipped the "Super Happy Lucker Modder" component. :)

Link to comment

The problem is in changing innate spell levels. Innate spells must have level 0.

 

This code will not cause CTD:

COPY_EXISTING ~famlight.cre~ ~override~
		  ~meplig01.cre~ ~override~
 READ_LONG  0x2a0 "known_off"
 READ_LONG  0x2a4 "known_num"
 FOR (index = 0; index < known_num; index = index + 1) BEGIN
READ_ASCII ("%known_off%" +		("%index%" * 0x0c)) "resref"
PATCH_IF ("%resref%" STRING_COMPARE_CASE "spwi201" = 0) BEGIN
  WRITE_SHORT ("%known_off%" + 0x08 + ("%index%" * 0x0c)) 1 // correct spell level
END
 END
 BUT_ONLY_IF_IT_CHANGES

Link to comment
The problem is in changing innate spell levels. Innate spells must have level 0.

umm, you mean innate spells must have level 1, don't you?

 

Gort probably didnt get a crash because a number of mods (well, BP at any rate, and possibly TDD) have routines to check for innate spells with incorrect levels set and to set them to level 1.

Link to comment

seanas: Nah, something new and different. Innate spells have to be level one so that they don't crash HaveSpell() triggers; the new tidbit of info here is that they need to be listed as level 0 in a creature file's known spell blocks.

Link to comment

Archived

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

×
×
  • Create New...