Skip to content

Commit 7a1e970

Browse files
committed
Support loading of Maniac String Arrays from Savegames
1 parent 1545028 commit 7a1e970

7 files changed

Lines changed: 21 additions & 2 deletions

File tree

generator/csv/fields.csv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -589,7 +589,7 @@ Database,animations,f,Array<Animation>,0x13,,1,0,rpg::Animation
589589
Database,chipsets,f,Array<Chipset>,0x14,,1,0,rpg::Chipset
590590
Database,terms,f,Terms,0x15,,1,0,rpg::Terms
591591
Database,system,f,System,0x16,,1,0,rpg::System
592-
Database,switches,f,Array<Switch>,0x17,,1,0,rpg::Switchs
592+
Database,switches,f,Array<Switch>,0x17,,1,0,rpg::Switches
593593
Database,variables,f,Array<Variable>,0x18,,1,0,rpg::Variables
594594
Database,commonevents,f,Array<CommonEvent>,0x19,,1,0,rpg::CommonEvent
595595
Database,version,f,DatabaseVersion,0x1A,0,0,0,Indicates version of database. When 1 the database was converted to RPG Maker 2000 v1.61

generator/csv/fields_easyrpg.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ SaveEasyRpgText,font_size,f,Int32,0x05,12,0,0,Font size
2525
SaveEasyRpgText,letter_spacing,f,Int32,0x06,0,0,0,Additional spacing between letters
2626
SaveEasyRpgText,line_spacing,f,Int32,0x07,4,0,0,Additional spacing between lines
2727
SaveEasyRpgText,flags,f,SaveEasyRpgText_Flags,0x08,3,0,0,Various text settings
28+
SaveSystem,maniac_strings,f,Vector<DBString>,0x24,,0,0,rpg::Strings
2829
SaveSystem,maniac_frameskip,,Int32,0x88,0,0,0,"FatalMix Frameskip (0=None, 1=1/5, 2=1/3, 3=1/2)"
2930
SaveSystem,maniac_picture_limit,,Int32,0x89,0,0,0,FatalMix Picture Limit
3031
SaveSystem,maniac_options,,Vector<UInt8>,0x8A,,0,0,"Various FatalMix options (XX XA XB XC). A: MsgSkip OFF/RShift (0/4) B: TestPlay Keep/ON/OFF (0/2/4), C: Pause focus lost Wait/Run (0/1)"

src/generated/lcf/ldb/chunks.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1512,7 +1512,7 @@ namespace LDB_Reader {
15121512
terms = 0x15,
15131513
/** rpg::System */
15141514
system = 0x16,
1515-
/** rpg::Switchs */
1515+
/** rpg::Switches */
15161516
switches = 0x17,
15171517
/** rpg::Variables */
15181518
variables = 0x18,

src/generated/lcf/lsd/chunks.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,8 @@ namespace LSD_Reader {
162162
save_slot = 0x84,
163163
/** ATB mode of RPG 2003 battle system. */
164164
atb_mode = 0x8C,
165+
/** rpg::Strings */
166+
maniac_strings = 0x24,
165167
/** FatalMix Frameskip (0=None, 1=1/5, 2=1/3, 3=1/2) */
166168
maniac_frameskip = 0x88,
167169
/** FatalMix Picture Limit */

src/generated/lcf/rpg/savesystem.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#include <stdint.h>
1717
#include <string>
1818
#include <vector>
19+
#include "lcf/dbstring.h"
1920
#include "lcf/enum_tags.h"
2021
#include "lcf/rpg/music.h"
2122
#include "lcf/rpg/sound.h"
@@ -116,6 +117,7 @@ namespace rpg {
116117
int32_t save_count = 0;
117118
int32_t save_slot = 1;
118119
int32_t atb_mode = 0;
120+
std::vector<DBString> maniac_strings;
119121
int32_t maniac_frameskip = 0;
120122
int32_t maniac_picture_limit = 0;
121123
std::vector<uint8_t> maniac_options;
@@ -186,6 +188,7 @@ namespace rpg {
186188
&& l.save_count == r.save_count
187189
&& l.save_slot == r.save_slot
188190
&& l.atb_mode == r.atb_mode
191+
&& l.maniac_strings == r.maniac_strings
189192
&& l.maniac_frameskip == r.maniac_frameskip
190193
&& l.maniac_picture_limit == r.maniac_picture_limit
191194
&& l.maniac_options == r.maniac_options

src/generated/lsd_savesystem.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -417,6 +417,13 @@ static TypedField<rpg::SaveSystem, int32_t> static_atb_mode(
417417
0,
418418
1
419419
);
420+
static TypedField<rpg::SaveSystem, std::vector<DBString>> static_maniac_strings(
421+
&rpg::SaveSystem::maniac_strings,
422+
LSD_Reader::ChunkSaveSystem::maniac_strings,
423+
"maniac_strings",
424+
0,
425+
0
426+
);
420427
static TypedField<rpg::SaveSystem, int32_t> static_maniac_frameskip(
421428
&rpg::SaveSystem::maniac_frameskip,
422429
LSD_Reader::ChunkSaveSystem::maniac_frameskip,
@@ -506,6 +513,7 @@ Field<rpg::SaveSystem> const* Struct<rpg::SaveSystem>::fields[] = {
506513
&static_save_count,
507514
&static_save_slot,
508515
&static_atb_mode,
516+
&static_maniac_strings,
509517
&static_maniac_frameskip,
510518
&static_maniac_picture_limit,
511519
&static_maniac_options,

src/generated/rpg_savesystem.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,11 @@ std::ostream& operator<<(std::ostream& os, const SaveSystem& obj) {
8080
os << ", save_count="<< obj.save_count;
8181
os << ", save_slot="<< obj.save_slot;
8282
os << ", atb_mode="<< obj.atb_mode;
83+
os << ", maniac_strings=";
84+
for (size_t i = 0; i < obj.maniac_strings.size(); ++i) {
85+
os << (i == 0 ? "[" : ", ") << obj.maniac_strings[i];
86+
}
87+
os << "]";
8388
os << ", maniac_frameskip="<< obj.maniac_frameskip;
8489
os << ", maniac_picture_limit="<< obj.maniac_picture_limit;
8590
os << ", maniac_options=";

0 commit comments

Comments
 (0)