clean up some player structs

This commit is contained in:
Martin Michelsen
2022-09-02 18:26:47 -07:00
parent 3a7c3c0fe9
commit 010f753a08
11 changed files with 77 additions and 80 deletions
+16 -14
View File
@@ -19,22 +19,21 @@ struct PlayerStats {
PlayerStats() noexcept;
} __attribute__((packed));
// information on a single level for a single class
struct LevelStats {
uint8_t atp; // atp to add on level up
uint8_t mst; // mst to add on level up
uint8_t evp; // evp to add on level up
uint8_t hp; // hp to add on level up
uint8_t dfp; // dfp to add on level up
uint8_t ata; // ata to add on level up
uint8_t unknown[2];
le_uint32_t experience; // EXP value of this level
struct LevelTable { // from PlyLevelTbl.prs
struct LevelStats {
uint8_t atp;
uint8_t mst;
uint8_t evp;
uint8_t hp;
uint8_t dfp;
uint8_t ata;
uint8_t lck;
uint8_t tp;
le_uint32_t experience;
void apply(PlayerStats& ps) const;
} __attribute__((packed));
void apply(PlayerStats& ps) const;
} __attribute__((packed));
// level table format (PlyLevelTbl.prs)
struct LevelTable {
PlayerStats base_stats[12];
le_uint32_t unknown[12];
LevelStats levels[12][200];
@@ -43,4 +42,7 @@ struct LevelTable {
const PlayerStats& base_stats_for_class(uint8_t char_class) const;
const LevelStats& stats_for_level(uint8_t char_class, uint8_t level) const;
static std::shared_ptr<LevelTable> load_shared(
const std::string& filename, bool compressed);
} __attribute__((packed));