Back to Blog
Phantasmic infuser6/11/2023 ![]() ![]() ![]() max local objs is the maximum number of objects used inside a single room. It's set to 200 in DOTT, and I suppose this limit was simply set arbitrarily. max global obj is the highest valid object address, so usually the number of objects minus 17 (as object addresses 1-16 are used for actors). max bit var must be rounded up to the next multiple of 8, as apparently the original engine just divides by 8 to allocate the memory. This describes where to find each room: in which file and at which offset. So one can split the game into several files named gamename.xxx. The offset is to the beginning of the ROOM block (i.e. right after the LFLF header).Īll the above D? blocks describe where the resources are found. The offset is relative to the beginning of the ROOM (i.e. the one given for the room in the DROO block). This block sets the owner, class and initial state of each object. Offset : 32le (absolute offset of the ROOM block) *SOU* container for the different versionsĪll the blocks not described here don't contain anything more than the blocks shown in the above structure.*BOXD* box data (box 0 seems to be crap with all the points set to -32000,-32000).*ENCD* entry script (script run when entering the room).*EXCD* exit script (script run when leaving the room).*OBNA* object name (default object name, it may be overrided by the scripts).*VERB* verb entries (the object scripts indexed by verbs.*ZPnn* other z planes (nn >= 1, again see above).*IMnn* image data (image for state nn, start with state 1 as state 0 just display nothing).*ZPnn* stripe table + z planes (nn >= 1).*APAL* 256 entries rgb palette (include the others blocks size).Each object must have an owner and it is usually the room (0xF), but it can be any actor number.įinally we have a list of pre-allocated arrays, these will be allocated by the engine before running the boot script. The only known flag is the second bit, which means the cycling should go backwards.ģ.2.5 OFFS offset table : block size imply the number of palette ? Start : 8 (start/end entries in the palette)Ĭlose : 8 must be set to 0 to end the blockĭefines the various parts of the palette that can be cycled. Offset : 32le (offset starting from this OFFS block) Note that the APAL blocks are constructed recursively. If we have for example 3 palettes, the first APAL block contains its palette followed by 2 other APAL blocks, etc.ģ.2.7 RMIH num z buf: 16le (number of ZPnn in the IM00 block) 3.2.8 SMAP strip off : 32le (offset from this SMAP. 1 per column of 8 pix)ģ.2.9 ZPnn strip off : 16le (offset from this ZPnn. ![]()
0 Comments
Read More
Leave a Reply. |