summaryrefslogtreecommitdiff
path: root/include/pso/TPlyDispData.h
blob: 679e329ac5e331111976496505919cfece907c0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#ifndef TPLYDISPDATA_H
#define TPLYDISPDATA_H

#include <global_types.h>
#include <pso/macros.h>
#include <pso/protocol.h>
#include <pso/TMath.h>
#include <pso/TPlyGuildCardTag.h>

struct stats {
	void bswap();
	stats &assign(const stats &src);

	short atp;
	short mst;
	short evp;
	short hp;
	short dfp;
	short ata;
	short lck;
};

struct player_stats {
	void bswap();
	player_stats &assign(const player_stats &src);

	struct stats stats;
	short mbr_0xe;
	float proportions;
	float mbr_0x14;
	int level;
	int exp;
	int meseta;
};

struct disp_data_part2 {
	void bswap();
	disp_data_part2 &assign(const disp_data_part2 &src);

	char name[16];
	u32 smth[2];
	u32 name_colour;
	u8 extra_model;
	u8 padding[15];
	u32 name_colour_checksum;
	u8 section_id;
	u8 char_class;
	u8 v2_flags;
	u8 version;
	u32 v1_flags;
	u16 costume;
	u16 skin;
	u16 face;
	u16 head;
	u16 hair;
	u16 hair_r;
	u16 hair_g;
	u16 hair_b;
	vec2f proportions;
};

class TPlyDispConfigSmthTag {
public:
	//TPlyDispConfigSmthTag();
	//~TPlyDispConfigSmthTag();

	void bswap();
	TPlyDispConfigSmthTag &assign(const TPlyDispConfigSmthTag &src);
public:
	gc_tag m_tag;
};

class TPlyDispConfigSmth {
public:
	void bswap();
	TPlyDispConfigSmth &assign(const TPlyDispConfigSmth &src);
public:
	u32 m_mbr_0x0;
	TPlyDispConfigSmthTag m_tags[4];
	TPlyDispConfigSmthTag m_tags1[4];
};

class TPlyDispConfig {
public:
	void bswap();
	TPlyDispConfig &assign(const TPlyDispConfig &src);
private:
	TPlyDispConfigSmth m_smth;
	TPlyDispConfigSmth m_smth1;
};

class TPlyDispData {
public:
	void bswap();
	TPlyDispData &assign(const TPlyDispData &src);
public:
	player_stats m_stats;
	disp_data_part2 m_disp_part2;
	TPlyDispConfig m_config;
	u8 m_tech_levels[20];
};

#endif