Quasar
Moderator

Posts: 2200
Registered: 08-00 |
I've added a "basictype" field to the EDF thingtype definition that allows you to specify, well, the basic type of the thing. What this means is that its flag values and possibly some other fields are set for you behind your back based on defaults that are stored inside the game engine. This has a serious advantage in that if what it takes to remain being a member of that basictype class changes between versions of the Eternity Engine due to addition of new flags, your thingtypes will automatically update themselves. An example of this is the new PASSMOBJ field. All monsters *should* have this field now, but EE can't know whether you want it on your old monsters without forcing ALL monsters to have it, and I can't do that. With this new feature, if your thing type used "basictype = Monster", then that flag would have been added automatically.
Here are the currently existing basictype classes, all 17 of them. I am posting this mostly to solicit user ideas for further classes. Each class currently only uses 16 bytes of memory so I'm not worried about adding lots of classes.
Monster
FlyingMonster
FriendlyHelper
Projectile
PlayerProjectile
Seeker
SolidDecor
HangingDecor
SolidHangingDecor
ShootableDecor
Fog
Item
ItemCount
TerrainBase
TerrainChunk
ControlPoint
ControlPointGrav
I figure some variations are not worth having a basictype for -- for example, an item that doesn't appear in Deathmatch. This is because it's simple enough to use "addflags = NOTDMATCH" after specifying the basictype. So far the only classes that do anything other than setting flags values are ControlPoint and ControlPointGrav, which set the thing's spawnstate to S_TNT1 if that state exists. But, I'll accept any suggestions that people feel would be useful.
|