- 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

@@ -14,97 +14,6 @@
namespace legacy { struct terrain_type_type; };
/* Terrains Specials Properties : scenario.ter_types[i].special */ //complete
typedef unsigned short ter_num_t;
enum eTerSpec {
// TER_SPEC_NONE = 0,
// TER_SPEC_CHANGE_WHEN_STEP_ON = 1,
// TER_SPEC_DOES_FIRE_DAMAGE = 2,
// TER_SPEC_DOES_COLD_DAMAGE = 3,
// TER_SPEC_DOES_MAGIC_DAMAGE = 4,
// TER_SPEC_POISON_LAND = 5,
// TER_SPEC_DISEASED_LAND = 6,
// TER_SPEC_CRUMBLING_TERRAIN = 7,
// TER_SPEC_LOCKABLE_TERRAIN = 8,
// TER_SPEC_UNLOCKABLE_TERRAIN = 9,
// TER_SPEC_UNLOCKABLE_BASHABLE = 10,
// TER_SPEC_IS_A_SIGN = 11,
// TER_SPEC_CALL_LOCAL_SPECIAL = 12,
// TER_SPEC_CALL_SCENARIO_SPECIAL = 13,
// TER_SPEC_IS_A_CONTAINER = 14,
// TER_SPEC_WATERFALL = 15,
// TER_SPEC_CONVEYOR_NORTH = 16,
// TER_SPEC_CONVEYOR_EAST = 17,
// TER_SPEC_CONVEYOR_SOUTH = 18,
// TER_SPEC_CONVEYOR_WEST = 19,
// TER_SPEC_BLOCKED_TO_MONSTERS = 20,
// TER_SPEC_TOWN_ENTRANCE = 21,
// TER_SPEC_CHANGE_WHEN_USED = 22,
// TER_SPEC_CALL_SPECIAL_WHEN_USED = 23,
TER_SPEC_NONE = 0,
TER_SPEC_CHANGE_WHEN_STEP_ON = 1,
TER_SPEC_DAMAGING = 2,
TER_SPEC_BRIDGE = 3, // new
TER_SPEC_BED = 4, // new
TER_SPEC_DANGEROUS = 5,
TER_SPEC_UNUSED1 = 6,
TER_SPEC_CRUMBLING = 7,
TER_SPEC_LOCKABLE = 8,
TER_SPEC_UNLOCKABLE = 9,
TER_SPEC_UNUSED2 = 10,
TER_SPEC_IS_A_SIGN = 11,
TER_SPEC_CALL_SPECIAL = 12,
TER_SPEC_UNUSED3 = 13,
TER_SPEC_IS_A_CONTAINER = 14,
TER_SPEC_WATERFALL = 15,
TER_SPEC_CONVEYOR = 16,
TER_SPEC_UNUSED4 = 17,
TER_SPEC_UNUSED5 = 18,
TER_SPEC_UNUSED6 = 19,
TER_SPEC_BLOCKED_TO_MONSTERS = 20,
TER_SPEC_TOWN_ENTRANCE = 21,
TER_SPEC_CHANGE_WHEN_USED = 22,
TER_SPEC_CALL_SPECIAL_WHEN_USED = 23,
// 1. Change when step on (What to change to, number of sound, Unused)
// 2. Damaging terrain; can't rest here (Amount of damage done, multiplier, damage type)
// 3. Reserved
// 4. Reserved
// 5. Dangerous land; can't rest here; percentage chance may be 0 (Strength, Percentage chance, status type)
// 6. Reserved
// 7. Crumbling terrain (Terrain to change to, strength?, destroyed by what - quickfire, shatter/move mountains, or both)
// 8. Lockable terrain (Terrain to change to when locked, Unused, Unused)
// 9. Unlockable terrain (Terrain to change to when locked, Difficulty, can be bashed)
// 10. Reserved
// 11. Sign (Unused, Unused, Unused)
// 12. Call special (Special to call, local or scenario?, Unused)
// 13. Reserved
// 14. Container (Unused, Unused, Unused)
// 15. Waterfall (Direction, Unused, Unused)
// 16. Conveyor Belt (Direction, Unused, Unused)
// 17. Reserved
// 18. Reserved
// 19. Reserved
// 20. Blocked to Monsters (Unused, Unused, Unused)
// 21. Town entrance (Terrain type if hidden, Unused, Unused)
// 22. Change when Used (Terrain to change to when used, Number of sound, Unused)
// 23. Call special when used (Special to call, local or scenario?, Unused)
// 24. Bridge - if the party boats over it, they get the option to land. (Unused, Unused, Unused)
};
enum eTrimType {
TRIM_NONE = 0,
TRIM_WALL = 1, // not a trim, but trims will conform to it as if it's the same ground type (eg stone wall)
TRIM_S, TRIM_SE, TRIM_E, TRIM_NE, TRIM_N, TRIM_NW, TRIM_W, TRIM_SW,
TRIM_NE_INNER, TRIM_SE_INNER, TRIM_SW_INNER, TRIM_NW_INNER,
TRIM_FRILLS = 14, // like on lava and underground water; no trim_ter required
TRIM_ROAD = 15, // the game will treat it like a road space and draw roads; no trim_ter required
TRIM_WALKWAY = 16, // the game will draw walkway corners; trim_ter is base terrain to draw on
TRIM_WATERFALL = 17, // special case for waterfalls
TRIM_CITY = 18, // the game will join roads up to this space but not draw roads on the space
};
// Depending on the special ability, the flags may need to be treated as either signed or unsigned
union ter_flag_t {signed short s; unsigned short u;};