clean up map parsing
This commit is contained in:
+16
-12
@@ -2,22 +2,23 @@
|
||||
|
||||
#include <inttypes.h>
|
||||
|
||||
#include <phosg/Encoding.hh>
|
||||
#include <vector>
|
||||
#include <string>
|
||||
|
||||
|
||||
|
||||
struct BattleParams {
|
||||
uint16_t atp; // attack power
|
||||
uint16_t psv; // perseverance (intelligence?)
|
||||
uint16_t evp; // evasion
|
||||
uint16_t hp; // hit points
|
||||
uint16_t dfp; // defense
|
||||
uint16_t ata; // accuracy
|
||||
uint16_t lck; // luck
|
||||
le_uint16_t atp; // attack power
|
||||
le_uint16_t psv; // perseverance (intelligence?)
|
||||
le_uint16_t evp; // evasion
|
||||
le_uint16_t hp; // hit points
|
||||
le_uint16_t dfp; // defense
|
||||
le_uint16_t ata; // accuracy
|
||||
le_uint16_t lck; // luck
|
||||
uint8_t unknown_a1[0x0E];
|
||||
uint32_t experience;
|
||||
uint32_t difficulty;
|
||||
le_uint32_t experience;
|
||||
le_uint32_t difficulty;
|
||||
} __attribute__((packed));
|
||||
|
||||
struct BattleParamTable {
|
||||
@@ -39,14 +40,17 @@ struct BattleParamIndex {
|
||||
|
||||
// an enemy entry as loaded by the game
|
||||
struct PSOEnemy {
|
||||
uint16_t unused;
|
||||
uint64_t id;
|
||||
uint16_t source_type;
|
||||
uint8_t hit_flags;
|
||||
uint8_t last_hit;
|
||||
uint32_t experience;
|
||||
uint32_t rt_index;
|
||||
|
||||
PSOEnemy();
|
||||
PSOEnemy(uint32_t experience, uint32_t rt_index);
|
||||
explicit PSOEnemy(uint64_t id);
|
||||
PSOEnemy(uint64_t id, uint16_t source_type, uint32_t experience, uint32_t rt_index);
|
||||
|
||||
std::string str() const;
|
||||
} __attribute__((packed));
|
||||
|
||||
std::vector<PSOEnemy> load_map(const std::string& filename, uint8_t episode,
|
||||
|
||||
Reference in New Issue
Block a user