Utilizing unused bits in the graphics.dat file?
Posted: Tue Jun 21, 2005 12:10 am
With the recent release of ADGE, I've come upon quite a few unused bits in the graphics.dat file which could prove useful. Just a few little things. The problem is that we aren't using them!
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...
I'm not asking for this to be implemented, I'm just wondering if the dungeoneers could make use of something like that. There are countless unused bits in the graphics.dat file, all over the place that could be used. It would require additions to the CSBWin source though.
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`
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`