
Removed unnecessary or potentially harmful compiler flags. Added alignment attribute to all old struct members. Removed some unused variables. Made some switch statements handle all or more cases. Removed using declarations in favor of fully qualified names. Fixed a couple of assignments in conditionals that should have been comparisons. Eliminated linker warnings by restoring default linking of standard libraries. Fixed some comparisons between signed and unsigned integers. Note: No testing has been done, in particular of old file I/O. This should be checked for regression caused by alteration of old struct definitions. git-svn-id: http://openexile.googlecode.com/svn/trunk@63 4ebdad44-0ea0-11de-aab3-ff745001d230
77 lines
2.0 KiB
C++
77 lines
2.0 KiB
C++
/*
|
|
* pc.h
|
|
* BoE
|
|
*
|
|
* Created by Celtic Minstrel on 24/04/09.
|
|
*
|
|
*/
|
|
|
|
#ifndef PC_H
|
|
#define PC_H
|
|
|
|
#include <string>
|
|
#include <iostream>
|
|
|
|
namespace legacy { struct pc_record_type; };
|
|
|
|
enum eMainStatus {
|
|
MAIN_STATUS_ABSENT = 0, // absent, empty slot
|
|
MAIN_STATUS_ALIVE = 1,
|
|
MAIN_STATUS_DEAD = 2,
|
|
MAIN_STATUS_DUST = 3,
|
|
MAIN_STATUS_STONE = 4,
|
|
MAIN_STATUS_FLED = 5,
|
|
MAIN_STATUS_SURFACE = 6, // fled to surface?
|
|
MAIN_STATUS_WON = 7,
|
|
MAIN_STATUS_SPLIT = 10,
|
|
// The rest are not really necessary, but are here for completeness so that all valid values have a name.
|
|
MAIN_STATUS_SPLIT_ABSENT = MAIN_STATUS_SPLIT + MAIN_STATUS_ABSENT,
|
|
MAIN_STATUS_SPLIT_ALIVE = MAIN_STATUS_SPLIT + MAIN_STATUS_ALIVE,
|
|
MAIN_STATUS_SPLIT_DEAD = MAIN_STATUS_SPLIT + MAIN_STATUS_DEAD,
|
|
MAIN_STATUS_SPLIT_DUST = MAIN_STATUS_SPLIT + MAIN_STATUS_DUST,
|
|
MAIN_STATUS_SPLIT_STONE = MAIN_STATUS_SPLIT + MAIN_STATUS_STONE,
|
|
MAIN_STATUS_SPLIT_FLED = MAIN_STATUS_SPLIT + MAIN_STATUS_FLED,
|
|
MAIN_STATUS_SPLIT_SURFACE = MAIN_STATUS_SPLIT + MAIN_STATUS_SURFACE,
|
|
MAIN_STATUS_SPLIT_WON = MAIN_STATUS_SPLIT + MAIN_STATUS_WON,
|
|
};
|
|
|
|
class cPlayer {
|
|
public:
|
|
eMainStatus main_status;
|
|
std::string name;
|
|
short skills[30];
|
|
unsigned short max_health;
|
|
short cur_health;
|
|
unsigned short max_sp;
|
|
short cur_sp;
|
|
unsigned short experience;
|
|
short skill_pts;
|
|
short level;
|
|
short status[15];
|
|
cItemRec items[24];
|
|
bool equip[24];
|
|
bool priest_spells[62];
|
|
bool mage_spells[62];
|
|
short which_graphic;
|
|
short weap_poisoned;
|
|
//bool advan[15];
|
|
bool traits[15];
|
|
short race;
|
|
//short exp_adj;
|
|
short direction;
|
|
short ap;
|
|
|
|
cPlayer& operator = (legacy::pc_record_type old);
|
|
cPlayer();
|
|
cPlayer(long key,short slot);
|
|
short get_tnl();
|
|
void writeTo(std::ostream& file);
|
|
void readFrom(std::istream& file);
|
|
};
|
|
|
|
void operator += (eMainStatus& stat, eMainStatus othr);
|
|
void operator -= (eMainStatus& stat, eMainStatus othr);
|
|
std::ostream& operator << (std::ostream& out, eMainStatus& e);
|
|
std::istream& operator >> (std::istream& in, eMainStatus& e);
|
|
|
|
#endif |