mirror of
https://github.com/zeldaret/botw
synced 2026-09-03 09:59:44 -04:00
ksys/gdt: Do not inline gdtCommonFlagsUtils functions
This commit is contained in:
@@ -173,42 +173,6 @@ void initCommonFlags();
|
||||
|
||||
// clang-format on
|
||||
|
||||
} // namespace ksys::gdt
|
||||
""")
|
||||
|
||||
with (src_gdt / "gdtCommonFlagsUtils.h").open("w") as f:
|
||||
f.write("""\
|
||||
#pragma once
|
||||
|
||||
// DO NOT EDIT. This file is automatically generated.
|
||||
|
||||
#include "KingSystem/GameData/gdtCommonFlags.h"
|
||||
#include "KingSystem/GameData/gdtFlagUtils.h"
|
||||
|
||||
namespace ksys::gdt {
|
||||
|
||||
// clang-format off
|
||||
|
||||
""")
|
||||
for i, name in enumerate(exe_flag_list):
|
||||
info = flag_type_info[flag_types[name]]
|
||||
if info.is_value_inline():
|
||||
f.write(
|
||||
f"inline {info.arg_type} getFlag_{name}(bool debug = false) {{ return {info.get_getter_fn_name()}(flag_{name}(), debug); }}\n")
|
||||
else:
|
||||
f.write(
|
||||
f"inline void getFlag_{name}({info.arg_type}* value, bool debug = false) {{ {info.get_getter_fn_name()}(flag_{name}(), value, debug); }}\n")
|
||||
|
||||
for i, name in enumerate(exe_flag_list):
|
||||
info = flag_type_info[flag_types[name]]
|
||||
f.write(
|
||||
f"inline void setFlag_{name}({info.get_setter_arg_type()} const& value, bool debug = false) {{ "
|
||||
f"{info.get_setter_fn_name()}(value, flag_{name}(), debug); }}\n")
|
||||
|
||||
f.write("""\
|
||||
|
||||
// clang-format on
|
||||
|
||||
} // namespace ksys::gdt
|
||||
""")
|
||||
|
||||
@@ -252,6 +216,75 @@ void initCommonFlags_() {
|
||||
// clang-format on
|
||||
}
|
||||
|
||||
} // namespace ksys::gdt
|
||||
""")
|
||||
|
||||
# Generate gdtCommonFlagsUtils.h
|
||||
with (src_gdt / "gdtCommonFlagsUtils.h").open("w") as f:
|
||||
f.write("""\
|
||||
#pragma once
|
||||
|
||||
// DO NOT EDIT. This file is automatically generated.
|
||||
|
||||
#include "KingSystem/GameData/gdtCommonFlags.h"
|
||||
#include "KingSystem/GameData/gdtFlagUtils.h"
|
||||
|
||||
namespace ksys::gdt {
|
||||
|
||||
// clang-format off
|
||||
|
||||
""")
|
||||
for i, name in enumerate(exe_flag_list):
|
||||
info = flag_type_info[flag_types[name]]
|
||||
# Getter
|
||||
if info.is_value_inline():
|
||||
f.write(
|
||||
f"{info.arg_type} getFlag_{name}(bool debug = false);\n")
|
||||
else:
|
||||
f.write(
|
||||
f"void getFlag_{name}({info.arg_type}* value, bool debug = false);\n")
|
||||
# Setter
|
||||
f.write(f"void setFlag_{name}({info.get_setter_arg_type()} const& value, bool debug = false);\n")
|
||||
# TODO: resetter (see resetFlag_ActorName_SeakSensor_Slot0 for an example)
|
||||
|
||||
f.write("""\
|
||||
|
||||
// clang-format on
|
||||
|
||||
} // namespace ksys::gdt
|
||||
""")
|
||||
|
||||
# Generate gdtCommonFlagsUtils.cpp
|
||||
with (src_gdt / "gdtCommonFlagsUtils.cpp").open("w") as f:
|
||||
f.write("""\
|
||||
// DO NOT EDIT. This file is automatically generated.
|
||||
|
||||
#include "KingSystem/GameData/gdtCommonFlagsUtils.h"
|
||||
|
||||
namespace ksys::gdt {
|
||||
|
||||
// clang-format off
|
||||
|
||||
""")
|
||||
for i, name in enumerate(exe_flag_list):
|
||||
info = flag_type_info[flag_types[name]]
|
||||
# Getter
|
||||
if info.is_value_inline():
|
||||
f.write(
|
||||
f"{info.arg_type} getFlag_{name}(bool debug) {{ return {info.get_getter_fn_name()}(flag_{name}(), debug); }}\n")
|
||||
else:
|
||||
f.write(
|
||||
f"void getFlag_{name}({info.arg_type}* value, bool debug) {{ {info.get_getter_fn_name()}(flag_{name}(), value, debug); }}\n")
|
||||
# Setter
|
||||
f.write(
|
||||
f"void setFlag_{name}({info.get_setter_arg_type()} const& value, bool debug) {{ "
|
||||
f"{info.get_setter_fn_name()}(value, flag_{name}(), debug); }}\n")
|
||||
# TODO: resetter (see resetFlag_ActorName_SeakSensor_Slot0 for an example)
|
||||
|
||||
f.write("""\
|
||||
|
||||
// clang-format on
|
||||
|
||||
} // namespace ksys::gdt
|
||||
""")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user