2021-11-05 18:23:49 +01:00
|
|
|
#!/usr/bin/env python3
|
2021-11-12 21:22:47 +01:00
|
|
|
import io
|
2021-03-17 12:14:43 +01:00
|
|
|
import json
|
2021-11-05 18:23:49 +01:00
|
|
|
from pathlib import Path
|
|
|
|
|
2021-03-17 12:14:43 +01:00
|
|
|
import pyjson5
|
|
|
|
|
2021-10-19 16:56:11 +02:00
|
|
|
REPO_DIR = Path(__file__).parent.parent
|
2021-11-17 12:08:20 +01:00
|
|
|
BIN_DIR = REPO_DIR / "bin"
|
2021-10-19 16:56:11 +02:00
|
|
|
SRC_DIR = REPO_DIR / "src"
|
2021-11-17 12:08:20 +01:00
|
|
|
CONFIG_DIR = BIN_DIR / "cfg"
|
2021-03-17 12:14:43 +01:00
|
|
|
|
|
|
|
|
|
|
|
def main() -> None:
|
|
|
|
gf = pyjson5.loads(
|
2021-10-19 16:56:11 +02:00
|
|
|
(CONFIG_DIR / "Tomb1Main_gameflow.json5").read_text(encoding="utf-8")
|
2021-03-17 12:14:43 +01:00
|
|
|
)
|
2021-11-05 18:23:49 +01:00
|
|
|
|
2021-11-12 21:22:47 +01:00
|
|
|
with io.StringIO() as handle:
|
2021-03-17 12:14:43 +01:00
|
|
|
print('#include "init.h"', file=handle)
|
|
|
|
print(file=handle)
|
2021-11-24 18:57:08 +01:00
|
|
|
print('#include "game/gameflow.h"', file=handle)
|
2021-03-21 21:17:46 +01:00
|
|
|
print('#include "global/vars.h"', file=handle)
|
2021-03-17 12:14:43 +01:00
|
|
|
print(file=handle)
|
2021-10-19 16:56:11 +02:00
|
|
|
print("// THIS IS AN AUTOGENERATED FILE.", file=handle)
|
|
|
|
print("// To generate it, run scripts/generate_init.", file=handle)
|
|
|
|
print("", file=handle)
|
2021-11-05 18:23:49 +01:00
|
|
|
print("#ifndef VERSION", file=handle)
|
|
|
|
print(' #define VERSION "T1M (unknown version)"', file=handle)
|
|
|
|
print("#endif", file=handle)
|
|
|
|
print("", file=handle)
|
2021-11-24 17:37:21 +01:00
|
|
|
print("const char *g_T1MVersion = VERSION;", file=handle)
|
2021-11-05 18:23:49 +01:00
|
|
|
print("", file=handle)
|
2021-03-17 12:14:43 +01:00
|
|
|
print("void T1MInit()", file=handle)
|
|
|
|
print("{", file=handle)
|
|
|
|
for key, value in gf["strings"].items():
|
|
|
|
print(
|
2021-11-24 17:37:21 +01:00
|
|
|
f" g_GameFlow.strings[GS_{key}] = {json.dumps(value)};",
|
2021-03-17 12:14:43 +01:00
|
|
|
file=handle,
|
|
|
|
)
|
|
|
|
print("}", file=handle)
|
2021-11-12 21:22:47 +01:00
|
|
|
new_text = handle.getvalue()
|
|
|
|
|
|
|
|
path = SRC_DIR / "init.c"
|
|
|
|
if path.read_text() != new_text:
|
|
|
|
path.write_text(new_text)
|
2021-03-17 12:14:43 +01:00
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
main()
|