Jump to content

DevSin's NI Changes


FredSRichardson

Recommended Posts

I've been going through some changes DevSin made to NearInfinity. Where there's a change from the old code, I've looked at IESDP to see if there was any inconsistency. I'm not sure which is correct, so I thought I'd post these notes here on the off chance that some new insights will be gleaned:

 

ARE:Ambient
IESDP has:
	0x0026	  2 (bytes)	  Height of this sound.
DevSin takes this out

ARE:Actor
IESDP has:
	0x002c	  4 (dword)	  Spawned flag (0=no, 1=yes). Used in memory.
	0x0034	  4 (dword)	  Actor orientation. 0-15, starting south and incrementing clockwise.

DevSin has each of these as 2 byte fields

ARE:Animation
IESDP
	0x0034	  4 (dword)	   bit 7: (0) Visible in dark / (1) Invisible in dark

DevSin has unknown for bit 7

ARE:Song
IESDP
	0x0050	  4 (dword)	  Probably used only in PS: T -
									I suspect it has the meaning
									as described in SongFlag.IDS
									in this  
game. Check AR1363 and AR1700 (PST) 
DevSin 
	Reverb from REVERB.IDS (if REVERB.IDS exists)

ARE:SpawnPoint
IESDP
	0x007a	  2 (word)	  Spawn method. (1=Rest,2=Revealed)
DevSin/NI
	Has hex value.

GAM:PartyNPC
IESDP
	0x008c  4 (dword)   Index into slots.ids for Quick Weapon 1 (0xFFFF = none)
	0x008e  4 (dword)   Index into slots.ids for Quick Weapon 2 (0xFFFF = none)
	0x0090  4 (dword)   Index into slots.ids for Quick Weapon 3 (0xFFFF = none)
	0x0092  4 (dword)   Index into slots.ids for Quick Weapon 4 (0xFFFF = none)
	.
	.
	.
	0x00b4  4 (dword)   Index into slots.ids for Quick Item 1 (0xFFFF = none)
	0x00b8  4 (dword)   Index into slots.ids for Quick Item 2 (0xFFFF = none)
	0x00bc  4 (dword)   Index into slots.ids for Quick Item 3 (0xFFFF = none)
DevSin/NI
	0x08c   2		   Quick weapon slot 1  = <SLOT.IDS>
	0x08e   2		   Quick weapon slot 2  = <SLOT.IDS>
	0x090   2		   Quick weapon slot 3  = <SLOT.IDS>
	0x092   2		   Quick weapon slot 4  = <SLOT.IDS>
	0x094   2		   Show quick weapon 1? = Yes(0)/No(-1)
	0x096   2		   Show quick weapon 2? = Yes(0)/No(-1)
	0x098   2		   Show quick weapon 3? = Yes(0)/No(-1)
	0x09a   2		   Show quick weapon 4? = Yes(0)/No(-1)
	.
	.
	.
	0x0b4   2		   Quick item slot 1	= <SLOT.IDS>
	0x0b6   2		   Quick item slot 2	= <SLOT.IDS>
	0x0b8   2		   Quick item slot 3	= <SLOT.IDS>
	0x0ba   2		   Show quick item 1?   = Yes(0)/No(-1)
	0x0bc   2		   Show quick item 2?   = Yes(0)/No(-1)
	0x0be   2		   Show quick item 3?   = Yes(0)/No(-1)

VVC:
IESDP
	0x0018	  2 (word)		Misc. flags
									bit 1: Tranlucent
									bit 3: Transparent
									bit 4: Mirror Y axis
									bit 5: Mirror X axis
									bit 9: Blend

DevSin: 
	0x0018 ---
									bit 1: Transparent
									bit 3: Translucent


IESDP
	0x001a	  2 (word)	Tint:
								bit 3: Greyscale
								bit 5: Glowing
								bit 9: Red
DevSin
	0x001a
								bit 1: Blend
								bit 3: Greyscale
								bit 5: Brighten
								bit 9: Desaturate

IESDP
	0x0020  4   (dword)
								bit 0: Looping
								bit 1: Sequence 2
								bit 2: Sequence 4
								bit 6: Wallgroups do not cover 
								bit 8: Use BAM

DevSin
	0x0020
								bit 0: Looping
								bit 3: Draw animation
								bit 6: Not covered by wall
WED:Tilemap
IESDP
	0x0006	  1 (byte)	  The upper 7 bits of this byte
									are a bitmap indicating which
									of the overlays are to be
									drawn. The 0th overlay (the
									base layer) is always drawn.  

DevSin
	Unknown

WMP:AreaEntry
IESDP
	0x0000  8 (resref)	  Name of this area (as referenced by
							area links?) 
	0x0008  8 (resref)	  AREA resref for this area

DevSin
	These two look like they're swapped.

Link to comment

1. reverb.ids exists in iwd2, and it has an accompanying reverb.2da which contains the actual values of a reverb preset.

The field was discovered when iwd2 didn't even exist, so i think that field is present in all of the blackisle line games (pst, iwd, iwd2)

For example, PST has no reverb.ids, but has reverb.2da. You could always assume PST's reverb.ids as this (based on reverb.2da):

NO_REVERB 0

SMALL_ROOM 1

MEDIUM_ROOM 2

LARGE_ROOM 3

OUTSIDE 4

DUNGEON 5

 

2. The stuff DevSin calls desaturation is probably used in dream scenes in bg1/bg2.

As far as i know desaturation means removing/decreasing all of the hues, but this effect keeps the red color mostly intact. This is why i called it 'red tint'.

Link to comment
It is the same as the whole-screen dream effect (which isn't ever actually used). I'm pretty sure there's a digital photography term for the effect, but I couldn't ever remember. Hence, desaturation (which, yes, globally reduces the intensity of all colors). I certainly wouldn't say that it's preserving red, though, and it's definitely not a tinting effect. For now, we can call it the "100-year-old newspaper effect." ;)
Sepia, duh. So just change "Desaturate" to "Sepia."
Link to comment

Archived

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

×
×
  • Create New...