Skip to content
This repository has been archived by the owner on Oct 4, 2024. It is now read-only.

Pull object naming management #39

Merged
merged 3 commits into from
Sep 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions include/libtrx/config/file.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include "../enum_str.h"
#include "../enum_map.h"
#include "../json.h"
#include "./option.h"

Expand All @@ -17,7 +17,6 @@ void ConfigFile_DumpOptions(

int ConfigFile_ReadEnum(
JSON_OBJECT *obj, const char *name, int default_value,
const ENUM_STRING_MAP *enum_map);
const char *enum_name);
void ConfigFile_WriteEnum(
JSON_OBJECT *obj, const char *name, int value,
const ENUM_STRING_MAP *enum_map);
JSON_OBJECT *obj, const char *name, int value, const char *enum_name);
4 changes: 2 additions & 2 deletions include/libtrx/config/map.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#include "../enum_str.h"
#include "../enum_map.h"
#include "../utils.h"
#include "./option.h"

Expand Down Expand Up @@ -39,4 +39,4 @@
.type = COT_ENUM, \
.target = &parent.target_, \
.default_value = &(int32_t) { default_value_ }, \
.param = ENUM_STRING_MAP(enum_map) },
.param = ENUM_MAP_NAME(enum_map) },
25 changes: 25 additions & 0 deletions include/libtrx/enum_map.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#include <stdint.h>

#define ENUM_MAP_DEFINE(enum_name, enum_value, str_value) \
EnumMap_Define(ENUM_MAP_NAME(enum_name), enum_value, str_value);
#define ENUM_MAP_DEFINE_SELF(enum_name, enum_value) \
EnumMap_Define(ENUM_MAP_NAME(enum_name), enum_value, #enum_value);

#define ENUM_MAP_GET(enum_name, str_value, default_value) \
EnumMap_Get(ENUM_MAP_NAME(enum_name), str_value, default_value)

#define ENUM_MAP_TO_STRING(enum_name, enum_value) \
EnumMap_ToString(ENUM_MAP_NAME(enum_name), enum_value)

#define ENUM_MAP_NAME(enum_name) #enum_name

// The function to put the EnumMap_Define calls in
extern void EnumMap_Init(void);

void EnumMap_Shutdown(void);

void EnumMap_Define(
const char *enum_name, int32_t enum_value, const char *str_value);
int32_t EnumMap_Get(
const char *enum_name, const char *str_value, int32_t default_value);
const char *EnumMap_ToString(const char *enum_name, int32_t enum_value);
23 changes: 0 additions & 23 deletions include/libtrx/enum_str.h

This file was deleted.

5 changes: 5 additions & 0 deletions include/libtrx/game/objects/ids.def
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#if TR_VERSION == 1
#include "./ids_tr1.def"
#elif TR_VERSION == 2
#include "./ids_tr2.def"
#endif
Loading