void RawStruct<RPG::Parameters>::WriteLcf(const RPG::Parameters& ref, LcfWriter& stream) { stream.Write(ref.maxhp); stream.Write(ref.maxsp); stream.Write(ref.attack); stream.Write(ref.defense); stream.Write(ref.spirit); stream.Write(ref.agility); }
void RawStruct<RPG::EventCommand>::WriteLcf(const RPG::EventCommand& event_command, LcfWriter& stream) { stream.Write(event_command.code); stream.Write(event_command.indent); stream.WriteInt(stream.Decode(event_command.string).size()); stream.Write(stream.Decode(event_command.string)); int count = event_command.parameters.size(); stream.Write(count); for (int i = 0; i < count; i++) stream.Write(event_command.parameters[i]); }
void Flags<S>::WriteLcf(const S& obj, LcfWriter& stream) { uint8_t bitflag = 0; for (int i = 0; flags[i] != NULL; i++) { if (i % 8 == 0) { if (i > 0) stream.Write(bitflag); bitflag = 0; } bool S::*ref = flags[i]->ref; if (obj.*ref) bitflag |= (1 << (i % 8)); } if (bitflag != 0 || max_size == 1) stream.Write(bitflag); }
void RawStruct<RPG::MoveCommand>::WriteLcf(const RPG::MoveCommand& ref, LcfWriter& stream) { stream.WriteInt(ref.command_id); switch (ref.command_id) { case RPG::MoveCommand::Code::switch_on: stream.Write(ref.parameter_a); break; case RPG::MoveCommand::Code::switch_off: stream.Write(ref.parameter_a); break; case RPG::MoveCommand::Code::change_graphic: stream.WriteInt(stream.Decode(ref.parameter_string).size()); stream.Write(ref.parameter_string); stream.Write(ref.parameter_a); break; case RPG::MoveCommand::Code::play_sound_effect: stream.WriteInt(stream.Decode(ref.parameter_string).size()); stream.Write(ref.parameter_string); stream.Write(ref.parameter_a); stream.Write(ref.parameter_b); stream.Write(ref.parameter_c); break; } }
void RawStruct<RPG::Rect>::WriteLcf(const RPG::Rect& ref, LcfWriter& stream) { stream.Write(ref.l); stream.Write(ref.t); stream.Write(ref.r); stream.Write(ref.b); }