Every bit we can use should be a bit we use! (hahaha)
The first example is every single combo (A combo struct in the graphics.dat file contains 8 bytes). Each combo is of the structure:
first attack
difficulty of first attack + 1 bit for whether or not it uses up charges
second attack
difficulty of second attack + 1 bit for whether or not it uses up charges
third attack
difficulty of third attack + 1 bit for whether or not it uses up charges
unused byte
unused byte
Now there are 44 of these combo's, and each combo has 2 unused bytes. Would it not be unwise to think up something useful for such occasion and implement them?
I don't know really, there are hundreds of unused bits/bytes all over the place, and it seems that there are quite few things that could be thought up for new dungeons. I guess it's really up to the dungeon makers.
But here is just an example that some people might actually think as useful:
Each MONSTERDESC (monster data) has at least two entire unused bytes (byte 13 and byte 25, or if referring to CSB source, uByte8[5] and uByte22[3]). These bytes are all set to 0 for each monster, and I've tried my hardest to see whether or not they are ever even accessed, and I have found they are not. With two entire unused bytes, we could store some sort of "spells" in there that the monster can shoot, and/or a power level.
in a general layout, it might look something like this...
Code: Select all
if ( monster->uByte[5] > 0 )
{
spelltobecast = (monster->ubyte[5] & 0x0F); // some offset of 0xFF80
spellpower = (monster->ubyte[5] & 0xF0); // 16-240
}
One thing that might not be a bad idea is to try and get some of the static elements of certain things (such as knights having a double attack) dynamic. A single bit test in an unused bit has alot of power there.
What do you think?
-rain`