int RawStruct<RPG::MoveCommand>::LcfSize(const RPG::MoveCommand& ref, LcfWriter& stream) { int result = 0; result += LcfReader::IntSize(ref.command_id); switch (ref.command_id) { case RPG::MoveCommand::Code::switch_on: result += LcfReader::IntSize(ref.parameter_a); break; case RPG::MoveCommand::Code::switch_off: result += LcfReader::IntSize(ref.parameter_a); break; case RPG::MoveCommand::Code::change_graphic: result += LcfReader::IntSize(stream.Decode(ref.parameter_string).size()); result += stream.Decode(ref.parameter_string).size(); result += LcfReader::IntSize(ref.parameter_a); break; case RPG::MoveCommand::Code::play_sound_effect: result += LcfReader::IntSize(stream.Decode(ref.parameter_string).size()); result += stream.Decode(ref.parameter_string).size(); result += LcfReader::IntSize(ref.parameter_a); result += LcfReader::IntSize(ref.parameter_b); result += LcfReader::IntSize(ref.parameter_c); break; } return result; }
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]); }
int RawStruct<RPG::EventCommand>::LcfSize(const RPG::EventCommand& event_command, LcfWriter& stream) { int result = 0; result += LcfReader::IntSize(event_command.code); result += LcfReader::IntSize(event_command.indent); result += LcfReader::IntSize(stream.Decode(event_command.string).size()); result += stream.Decode(event_command.string).size(); int count = event_command.parameters.size(); result += LcfReader::IntSize(count); for (int i = 0; i < count; i++) result += LcfReader::IntSize(event_command.parameters[i]); return result; }
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; } }