From d4c3529af7b1a57b3e6af836ba9d79a91eaec0c9 Mon Sep 17 00:00:00 2001 From: cx384 Date: Sun, 30 Nov 2025 15:19:04 +0100 Subject: [PATCH] Move serialisation code out of sound_spec.h --- src/CMakeLists.txt | 1 + src/client/imagesource.cpp | 1 + src/main.cpp | 1 + src/server/luaentity_sao.cpp | 1 + src/server/player_sao.cpp | 1 + src/server/rollback.cpp | 1 + src/servermap.cpp | 1 + src/sound_spec.cpp | 23 +++++++++++++++++++++++ src/sound_spec.h | 25 +++---------------------- src/unittest/test_mapblock.cpp | 1 + 10 files changed, 34 insertions(+), 22 deletions(-) create mode 100644 src/sound_spec.cpp diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4d80af8785..1061bfdb4a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -433,6 +433,7 @@ set(independent_SRCS profiler.cpp serialization.cpp settings.cpp + sound_spec.cpp staticobject.cpp terminal_chat_console.cpp texture_override.cpp diff --git a/src/client/imagesource.cpp b/src/client/imagesource.cpp index ef11500ab5..5f9e84c611 100644 --- a/src/client/imagesource.cpp +++ b/src/client/imagesource.cpp @@ -4,6 +4,7 @@ #include "imagesource.h" +#include "exceptions.h" #include #include "imagefilters.h" #include "renderingengine.h" diff --git a/src/main.cpp b/src/main.cpp index dadc84bbac..31e6a6ee1c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -15,6 +15,7 @@ #include "gettext.h" #include "log.h" #include "log_internal.h" +#include "util/serialize.h" #include "util/quicktune.h" #include "httpfetch.h" #include "gameparams.h" diff --git a/src/server/luaentity_sao.cpp b/src/server/luaentity_sao.cpp index af342f70b1..88d9daf547 100644 --- a/src/server/luaentity_sao.cpp +++ b/src/server/luaentity_sao.cpp @@ -12,6 +12,7 @@ #include "scripting_server.h" #include "server.h" #include "serverenvironment.h" +#include "util/serialize.h" LuaEntitySAO::LuaEntitySAO(ServerEnvironment *env, v3f pos, const std::string &data) : UnitSAO(env, pos) diff --git a/src/server/player_sao.cpp b/src/server/player_sao.cpp index 0e269be055..35d9ebf57a 100644 --- a/src/server/player_sao.cpp +++ b/src/server/player_sao.cpp @@ -10,6 +10,7 @@ #include "server.h" #include "serverenvironment.h" #include "settings.h" +#include "util/serialize.h" PlayerSAO::PlayerSAO(ServerEnvironment *env_, RemotePlayer *player_, session_t peer_id_, bool is_singleplayer): diff --git a/src/server/rollback.cpp b/src/server/rollback.cpp index e3a0779a0c..91030c1f10 100644 --- a/src/server/rollback.cpp +++ b/src/server/rollback.cpp @@ -3,6 +3,7 @@ // Copyright (C) 2013 celeron55, Perttu Ahola #include "rollback.h" +#include "exceptions.h" #include #include "log.h" #include "gamedef.h" diff --git a/src/servermap.cpp b/src/servermap.cpp index 3be503af76..0c04cad39f 100644 --- a/src/servermap.cpp +++ b/src/servermap.cpp @@ -16,6 +16,7 @@ #include "profiler.h" #include "gamedef.h" #include "util/directiontables.h" +#include "util/serialize.h" #include "rollback_interface.h" #include "reflowscan.h" #include "emerge.h" diff --git a/src/sound_spec.cpp b/src/sound_spec.cpp new file mode 100644 index 0000000000..0fc4d5e476 --- /dev/null +++ b/src/sound_spec.cpp @@ -0,0 +1,23 @@ +// Luanti +// SPDX-License-Identifier: LGPL-2.1-or-later +// Copyright (C) 2025 Luanti developers + +#include "sound_spec.h" + +#include "util/serialize.h" + +void SoundSpec::serializeSimple(std::ostream &os, u16 protocol_version) const +{ + os << serializeString16(name); + writeF32(os, gain); + writeF32(os, pitch); + writeF32(os, fade); +} + +void SoundSpec::deSerializeSimple(std::istream &is, u16 protocol_version) +{ + name = deSerializeString16(is); + gain = readF32(is); + pitch = readF32(is); + fade = readF32(is); +} diff --git a/src/sound_spec.h b/src/sound_spec.h index 90bfdae709..10af44c1da 100644 --- a/src/sound_spec.h +++ b/src/sound_spec.h @@ -5,7 +5,6 @@ #pragma once #include -#include "util/serialize.h" #include "irrlichttypes_bloated.h" /** @@ -27,27 +26,9 @@ struct SoundSpec bool exists() const { return !name.empty(); } - /** - * Serialize a `SimpleSoundSpec`. - */ - void serializeSimple(std::ostream &os, u16 protocol_version) const - { - os << serializeString16(name); - writeF32(os, gain); - writeF32(os, pitch); - writeF32(os, fade); - } - - /** - * Deserialize a `SimpleSoundSpec`. - */ - void deSerializeSimple(std::istream &is, u16 protocol_version) - { - name = deSerializeString16(is); - gain = readF32(is); - pitch = readF32(is); - fade = readF32(is); - } + // Serialize/Deserialize a `SimpleSoundSpec`. + void serializeSimple(std::ostream &os, u16 protocol_version) const; + void deSerializeSimple(std::istream &is, u16 protocol_version); // Name of the sound-group std::string name; diff --git a/src/unittest/test_mapblock.cpp b/src/unittest/test_mapblock.cpp index 31315ee97c..ee3d1c4747 100644 --- a/src/unittest/test_mapblock.cpp +++ b/src/unittest/test_mapblock.cpp @@ -10,6 +10,7 @@ #include "serialization.h" #include "noise.h" #include "inventory.h" +#include "util/serialize.h" #include "voxel.h" class TestMapBlock : public TestBase