Jump to content
Sign in to follow this  
devSin

EFF crap

Recommended Posts

Found two new ones and the IESDP still doesn't have a couple old ones:

0x0090	4 (dword)	Unknown

0x0090 4 (dword) Resource Type - type of resource the effect came from (0=None, 1=Spell, 2=Item)

 

0x009c	4*3 (dword)	Unknown

0x009c 4 (dword) Resource Flags - When resource type is Spell, these are the spell flags (4 bytes at 0x18); when resource type is Item, these are the ability flags (2 bytes at 0x26 in the extended header; these two are actually a single bitfield, with Bit0=StrBonus, Bit1=Breakable, Bit11=Recharge)

0x00a0 4 (dword) Source Projectile - this is the projectile number of the impact projectile (0 if none)

0x00a4 4 (dword) Source Item Slot - this is the slot (same order as CRE slots & SLOTS.IDS) the source item was in when cast (-1 if none)

 

0x0060	1 (char)	Parameter 3

Isn't this a DWORD? I have 0x60 4 (dword) Param3, 0x64 4 (dword) Param4 (the only use for this I know of is to set Charges3 for some item creation effects), 0x68 4 (dword) unknown/unused, 0x6c 4 (dword) unknown/unused.

Share this post


Link to post

You helped a lot with the resource type field.

If i understood you correctly, it is a dword right before the source resource field.

 

I already knew about the item slot and projectile fields, but the one before them is also new to me :)

 

There are 2 dwords at 0x60 and 0x64. (Parameter 3 and Parameter 4).

I'm sure i saw Parameter 4 used somewhere.

 

Most of these new fields are useless in an .eff file, they have only meaning in embedded and saved effects.

For example, the used item slot field lets the weapon colours to be drawn correctly when you wield the item in the shield slot.

The projectile field lets an effect to be resisted/bounced based on projectile resistances.

 

[edit]

Yeah, now i see you also said Param4 is used for charge3 in item creations.

Edited by Avenger

Share this post


Link to post
You helped a lot with the resource type field.

If i understood you correctly, it is a dword right before the source resource field.

Correct. I uploaded a new build of NI that supports all the EFF fields and finally supports the explosion frequency (value in ticks, I believe) in PRO files. Stupid stuff like that. ;-)

 

I already knew about the item slot and projectile fields, but the one before them is also new to me ;)
Yeah, my NI has had those two for forever (whenever I last stopped hacking it a year or two ago), but they weren't in the IESDP.

 

I wonder if there are any flags in the spell header that changes the way the EFF is handled? (Otherwise, I don't see any reason for preserving them here, but whatever. Unless the engine doesn't parse the flags until the projectile hits and it just purges the spell file and carries the constructed EFFs along with the projectile from the very beginning, I guess.)

 

Most of these new fields are useless in an .eff file, they have only meaning in embedded and saved effects.
Yeah, that's why I pointed out None(0) (every attached effect will have a resource type unless it came preattached with the CRE file or came from hardcode). I do all the testing from the GAM file precisely because these fields have no use outside memory. :-)

Share this post


Link to post

Poision (25), Regeneration (98) - I screwed up on these. Type 4 is Damage|Restore Param3 HP every Param1 seconds (obviously, requires external EFF) instead of "No effect."

 

5+ are still crash, though.

Share this post


Link to post

Unsummon creature (68) - Parameter 1 is 'Text notification.' If set to 0, the string (defined in EFFTEXT.2DA) does not run when the effect fires. If set to 1, the string does run.

 

For the interested (and if you're reading this, why wouldn't you be), I've updated my NI build to handle all this crap. I also made some adjustments so that script name checking is more consistent and reliable. BAM resources will now be picked up (in the Uses popup menu) if a VVC for CreateVisualEffect isn't found. Item names (in the ResourceRef lists or in scripts) will now be displayed with the unidentified name if the identified name is out of bounds or an empty string. Ambient sounds in areas will now show only sounds from predetermined BIFFs (sfxsound, ambsound, etc.) and the compressed BIFF containing the original WED (instead of those and every single sound from every compressed BIFF); applies also to the generic ambients in the songs struct. Some formatting changes yet again to make it still easier to compare to Jon's b19 sources.

Share this post


Link to post

Is this build available for the public? (It's not that sourceforge project, right?)

I'm also interested in the source code. :)

Share this post


Link to post

You've been posting about WeiDU source lately, which grants you access. ;-) You can find links to the JAR and source archive here. (The part about "truly my final build" is always just wishful thinking...)

 

Note that 1.33 is a pretty substantial update from 1.32 (not quite a rewrite, but including the refactoring, everything got at least a few changes). Unfortunately, Jon never completed it, and there's nobody who's wanted to finish it up and make it a release-quality build (there are some bugs and other gotchas that make the beta unsuitable for editing some filetypes). The SourceForge sources should be up-to-date with the "official" 1.33b19 sources, and as soon as Fred finishes granting all three wishes to his latest summoner, the changes here will get rolled in (at which point, I'll kill the download and no longer pay attention to updating the source every year or so).

Share this post


Link to post

Thanks! ;-)

 

You mentioned some release-critical bugs. Are they already listed somewhere? (Will check the NI forum over at ppg.)

Share this post


Link to post

Not really. Adding/removing effects from items and spells can fail spectacularly (although less so with a couple changes I made). It would probably require trolling through AbstractStruct to truly fix, which is something I'm not going to do.

 

I'm sure there are other issues, but I don't routinely use NI for actual editing, so I'm unlikely to know about them and even less likely to fix them. It's also difficult because I only have access to BG/TotSC, BG2/ToB, and vanilla IWD, so every change I make runs the risk of breaking something for IWD/HoW/TotL, ID2, and Torment (luckily, all Aurora viewing is isolated, so it should work pretty much identical to Jon's build regardless of what I do).

Share this post


Link to post

Okay, will see if I stumble across something and if I'm able to fix it. I don't use NI for editing either.

Well I shouldn't abuse your topic anymore, at least we are back at EFF issues. :)

Share this post


Link to post
(2 bytes at 0x26 in the extended header; these two are actually a single bitfield, with Bit0=StrBonus, Bit1=Breakable, Bit11=Recharge)
Bit10=Hostile (an ability with non-damaging effects will still turn the target hostile iff this bit is set and the effects are applied (not saved against, etc.)). Heavily suspect this to be a DWORD (not exactly a copy of the spell flags, but at least Bit 10 is the same).

 

#119 (0x77) Spell Effect: Mirror Image [119]
Parameter #1: Maximum Images
Parameter #2: Irrelevant
Description: 
Applies the mirror image effect to the targeted creature(s),
creating mirror images up to the 'Maximum Images' value.

It was confirmed some time ago that both parameters are irrelevant (BG2). The number of images (static 2-8) based on level is assigned in hardcode.

Share this post


Link to post

About the hostile flag: the original wand of polymorph (wand09) seems to use this flag.

Any other items?

Share this post


Link to post

Ok, this is just nitpicking, but the sorb.itm is already a projectile weapon which also inflicts damage (any of those two would be enough to be considered hostile action).

Share this post


Link to post
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...