Jump to content

Random notes


Taimon

Recommended Posts

I'm planning to use this topic for various information that I found in the executable, but that probably doesn't deserve it's own topic. Will update it, as soon as I come across something interesting.

So here goes:

 

1. The dword at 0x38 in the area actors structure stores the time (in ingame seconds) when the creature will be removed from the area. That also means that the actor will not be spawned if the value is <= the current ingame time. Default value is -1, which skips the check.

I guess this is how the engine determines when to remove corpses, etc. from the area.

 

2. spell.ids:

4xxx => SPCLxxx (already known, but not clear in the IESDP)

nxxx => MARWxxx (for n != 1-4)

 

3. Effect 0x08D (Lighting Effects):

Param1 selects what coordinates and which object id gets passed to the animation.

0 means: use the current location and the object id from the creature that the effect is applied to.

And everything else means: use the target location from the effect and a standard (invalid) object id.

 

4. Most of the RES variants of the spell actions take an additional int parameter, which specifies the caster level. This does not work in SpellRES and ApplySpellRES, but pretty much everything else. (ForceSpellRES, ForceSpellPointRES, ...)

Link to comment
1. The dword at 0x38 in the area actors structure stores the time (in ingame seconds) when the creature will be removed from the area.
Can you tell what the two words at 0x3c do (it's something evil, whatever it is)?
Link to comment
The Daer'Ragh spells are MARW.

THAT much i know, as the spell name says so :hm:

spell.ids doesnt' contain these numbers.

I need to know if a script uses 0 for n, or 5, or whatever, because i planned to use other prefixes (and n) which would clash with this feature.

Link to comment
Can you tell what the two words at 0x3c do (it's something evil, whatever it is)?

Now how did you know that (it's evil)? :hm:

And how did you know it's actually two words and not a dword?

 

0x3c is used in the random walk action (again *sigh*).

I'm only guessing, but it seems to restrict the maximum walking distance. The value is compared to the weight/height of the viewport. If it's lower (and not zero) it gets used.

 

0x3e looks like something that got cut. It gets referenced in move to object actions but directly before use, it is set to zero. Like 0x3c it looks like some kind of distance restriction (from home location?). One execution path leads to an target unreachable trigger.

But like I said, it seems to be disabled.

Link to comment

Because the Hendricks use 0x0a000a00 here, and they're completely unable to move. They are frozen in place, unable to RunAwayFrom() or do much of anything as long as they're neutral (I can't remember if going hostile frees them or if they were stuck like that too).

 

They can talk, they can turn, but they can't take a step in any direction. Now that you can see what it is, it's obvious what they were trying to do (DON'T LEAVE THE CHICKENS!), but it doesn't work at all except to break things.

Link to comment
So,

0x3c - max X distance from starting point

0x3e - max Y distance from starting point :hm:

No, the two values are independent of each other.

0x3c for RandomWalk() and 0x3e for everything that has to do with moving to an object (even Attack()), but 0x3e is disabled (overwritten with 0 before use).

Link to comment

5. GAM v2.0 Offset 0x64

This is a worldmap related value that signals one of the following:

3 = do xnewarea.2da processing upon loading

4 = an area was added to the worldmap (do not process xnewarea.2da anymore)

5 = we are in ToB

Link to comment

Small update on the 0x64:

The value is also used to enforce XP limits when loading the pc's/npc's.

0 = use BG1 limit (89000)

1 = use TotSC limit (161000)

3 = use SoA limit (2950000)

 

So it's rather some "progress indicator" or something.

The standard baldur.gam in my installation has it set at 3. And immediatly when starting a new game (before char creation) it will process the xnewarea.2da and advance it to 4.

 

 

Will take a look at the unknown in the char stats.

Link to comment

Archived

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

×
×
  • Create New...