- Added simpletypes.h header to hold the enums and typedefs related to the main class headers

- Made boom drawing take from the new boom gworld rather than from the field gworld
- Added enum for monster abilities (will be used for both of a monster's abilities, but isn't used yet)
- Added supporting member functions for the new abilities (not used yet): get ability name and has ability
- Added SDF pointer storage to the party structure together with supporting member functions (not used yet)
- Deleted the "reserved" fields res1, res2, res3 in the monster struct

git-svn-id: http://openexile.googlecode.com/svn/trunk@87 4ebdad44-0ea0-11de-aab3-ff745001d230
This commit is contained in:
2009-06-01 15:38:23 +00:00
parent 48210becd9
commit 715aab7a3c
18 changed files with 838 additions and 464 deletions

View File

@@ -86,18 +86,6 @@ enum eGameMode {
MODE_RESTING = 50,
};
///* adven[i].main_status */ //complete
//#define MAIN_STATUS_ABSENT 0 // absent, empty slot
//#define MAIN_STATUS_ALIVE 1
//#define MAIN_STATUS_DEAD 2
//#define MAIN_STATUS_DUST 3
//#define MAIN_STATUS_STONE 4
//#define MAIN_STATUS_FLED 5
//#define MAIN_STATUS_SURFACE 6 // fled to surface?
//#define MAIN_STATUS_WON 7
///* main status modifiers */
//#define MAIN_STATUS_SPLIT 10 // split from party
// Directions!
enum eDirection {
DIR_N = 0,
@@ -119,49 +107,6 @@ inline eDirection& operator++ (eDirection& me,int){
else return me = (eDirection) (1 + (int) me);
}
/* damage type*/
/* used as parameter to some functions */
enum eDamageType {
DAMAGE_WEAPON = 0,
DAMAGE_FIRE = 1,
DAMAGE_POISON = 2,
DAMAGE_MAGIC = 3,
DAMAGE_UNBLOCKABLE = 4, //from the source files - the display is the same as the magic one (damage_monst in SPECIALS.cpp)
DAMAGE_COLD = 5,
DAMAGE_UNDEAD = 6, //from the source files - the display is the same as the weapon one
DAMAGE_DEMON = 7, //from the source files - the display is the same as the weapon one
// 8 and 9 aren't defined : doesn't print any damage. According to the source files the 9 is DAMAGE_MARKED though. Wrong ?
DAMAGE_MARKED = 10, // usage: DAMAGE_MARKED + damage_type
DAMAGE_WEAPON_MARKED = 10,
DAMAGE_FIRE_MARKED = 11,
DAMAGE_POISON_MARKED = 12,
DAMAGE_MAGIC_MARKED = 13,
DAMAGE_UNBLOCKABLE_MARKED = 14,
DAMAGE_COLD_MARKED = 15,
DAMAGE_UNDEAD_MARKED = 16,
DAMAGE_DEMON_MARKED = 17,
DAMAGE_NO_PRINT = 30, // usage: DAMAGE_NO_PRINT + damage_type
DAMAGE_WEAPON_NO_PRINT = 30,
DAMAGE_FIRE_NO_PRINT = 31,
DAMAGE_POISON_NO_PRINT = 32,
DAMAGE_MAGIC_NO_PRINT = 33,
DAMAGE_UNBLOCKABLE_NO_PRINT = 34,
DAMAGE_COLD_NO_PRINT = 35,
DAMAGE_UNDEAD_NO_PRINT = 36,
DAMAGE_DEMON_NO_PRINT = 37,
// What about both NO_PRINT and MARKED?
};
inline void operator -= (eDamageType& cur, eDamageType othr){
if((othr == DAMAGE_MARKED && cur >= DAMAGE_MARKED && cur < DAMAGE_NO_PRINT) ||
(othr == DAMAGE_NO_PRINT && cur >= DAMAGE_NO_PRINT))
cur = (eDamageType) ((int)cur - (int)othr);
}
inline void operator += (eDamageType& cur, eDamageType othr){
if((othr == DAMAGE_MARKED || othr == DAMAGE_NO_PRINT) && cur < DAMAGE_MARKED)
cur = (eDamageType) ((int)cur + (int)othr);
}
//inline eDamageType operator + (eDamageType lhs, eDamageType rhs){
// if(lhs == DAMAGE_MARKED || lhs == DAMAGE_NO_PRINT){
// if(rhs != DAMAGE_MARKED && rhs != DAMAGE_NO_PRINT)