-
Notifications
You must be signed in to change notification settings - Fork 5
/
sh1_save_draft.bt
124 lines (112 loc) · 1.98 KB
/
sh1_save_draft.bt
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
//------------------------------------------------
//--- 010 Editor v13.0.2 Binary Template
//
// File:
// Authors:
// Version:
// Purpose:
// Category:
// File Mask:
// ID Bytes:
// History:
//------------------------------------------------
struct HeaderBlock
{
struct Frame header;
struct Frame directory[15];
struct Frame pad[20];
struct Frame pad_ff[27];
struct Frame others;
};
struct SaveBlock
{
char file_name[128];
ubyte icon_0[128];
ubyte icon_1[128];
ubyte icon_2[128];
struct SH1Header sh1_header;
struct SH1Unk sh1_unk;
struct SH1Save sh1_save[11];
struct Frame pad_ff[2];
};
struct Frame
{
ubyte frame_data[128];
};
//------------------------------------------------
struct SH1Header
{
char unk_pad[4];
struct TOC toc[11];
char pad[116];
ubyte xor[2];
ubyte end_dc[2];
};
struct TOC
{
uint16 unk_num_total_saves;
uint16 unk_0;
uint32 time_sec_div_4096;
uint16 num_saves;
enum SaveName save_name;
ubyte yellow_flg;
};
struct SH1Save
{
struct SH1Item sh1_item[40];
char unk_pad[4];
ubyte unk_room_entrance_coord;
ubyte unk_0;
uint16 num_saves;
enum SaveName save_name;
ubyte unk_1[7];
char unk_2[416];
uint32 time_sec_div_4096;
char unk_3[40];
ubyte xor[2];
ubyte end_dc[2];
};
struct SH1Item
{
ubyte id;
ubyte num;
ubyte unk_options;
ubyte unk_index;
};
enum <ubyte> SaveName
{
Anywhere,
Cafe,
Bus,
Store,
Infirmary,
Doghouse,
Gordon,
Church,
Garage,
Police,
Reception,
Room_302,
Director_s,
Jewelry_shop,
Pool_hall,
Antique_shop,
Theme_park,
Boat,
Bridge,
Motel,
Lighthouse,
Sewer,
Nowhere,
Child_s_room,
Next_fear
};
struct SH1Unk
{
ubyte unk[124];
ubyte xor[2];
ubyte end_dc[2];
};
//------------------------------------------------
struct HeaderBlock header_block;
struct SaveBlock save_block[15];