mirror of
https://github.com/encounter/oot-gc.git
synced 2026-07-10 12:18:42 -07:00
Make decompme.py context parseable by m2c (#106)
* Hardcode list of macro replacements in decompme.py * Add comments to VITVMode
This commit is contained in:
@@ -19,18 +19,18 @@
|
||||
typedef void (*VIRetraceCallback)(u32 retraceCount);
|
||||
|
||||
typedef enum VITVMode {
|
||||
VI_TVMODE_NTSC_INT = VI_TVMODE(VI_NTSC, VI_INTERLACE),
|
||||
VI_TVMODE_NTSC_DS = VI_TVMODE(VI_NTSC, VI_NON_INTERLACE),
|
||||
VI_TVMODE_NTSC_PROG = VI_TVMODE(VI_NTSC, VI_PROGRESSIVE),
|
||||
VI_TVMODE_PAL_INT = VI_TVMODE(VI_PAL, VI_INTERLACE),
|
||||
VI_TVMODE_PAL_DS = VI_TVMODE(VI_PAL, VI_NON_INTERLACE),
|
||||
VI_TVMODE_EURGB60_INT = VI_TVMODE(VI_EURGB60, VI_INTERLACE),
|
||||
VI_TVMODE_EURGB60_DS = VI_TVMODE(VI_EURGB60, VI_NON_INTERLACE),
|
||||
VI_TVMODE_MPAL_INT = VI_TVMODE(VI_MPAL, VI_INTERLACE),
|
||||
VI_TVMODE_MPAL_DS = VI_TVMODE(VI_MPAL, VI_NON_INTERLACE),
|
||||
VI_TVMODE_DEBUG_INT = VI_TVMODE(VI_DEBUG, VI_INTERLACE),
|
||||
VI_TVMODE_DEBUG_PAL_INT = VI_TVMODE(VI_DEBUG_PAL, VI_INTERLACE),
|
||||
VI_TVMODE_DEBUG_PAL_DS = VI_TVMODE(VI_DEBUG_PAL, VI_NON_INTERLACE)
|
||||
VI_TVMODE_NTSC_INT = 0, // VI_TVMODE(VI_NTSC, VI_INTERLACE)
|
||||
VI_TVMODE_NTSC_DS = 1, // VI_TVMODE(VI_NTSC, VI_NON_INTERLACE)
|
||||
VI_TVMODE_NTSC_PROG = 2, // VI_TVMODE(VI_NTSC, VI_PROGRESSIVE)
|
||||
VI_TVMODE_PAL_INT = 4, // VI_TVMODE(VI_PAL, VI_INTERLACE)
|
||||
VI_TVMODE_PAL_DS = 5, // VI_TVMODE(VI_PAL, VI_NON_INTERLACE)
|
||||
VI_TVMODE_EURGB60_INT = 20, // VI_TVMODE(VI_EURGB60, VI_INTERLACE)
|
||||
VI_TVMODE_EURGB60_DS = 21, // VI_TVMODE(VI_EURGB60, VI_NON_INTERLACE)
|
||||
VI_TVMODE_MPAL_INT = 8, // VI_TVMODE(VI_MPAL, VI_INTERLACE)
|
||||
VI_TVMODE_MPAL_DS = 9, // VI_TVMODE(VI_MPAL, VI_NON_INTERLACE)
|
||||
VI_TVMODE_DEBUG_INT = 12, // VI_TVMODE(VI_DEBUG, VI_INTERLACE)
|
||||
VI_TVMODE_DEBUG_PAL_INT = 16, // VI_TVMODE(VI_DEBUG_PAL, VI_INTERLACE)
|
||||
VI_TVMODE_DEBUG_PAL_DS = 17, // VI_TVMODE(VI_DEBUG_PAL, VI_NON_INTERLACE)
|
||||
} VITVMode;
|
||||
|
||||
typedef enum VIXFBMode {
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define _RSP_H
|
||||
|
||||
#include "dolphin.h"
|
||||
#include "emulator/xlList.h"
|
||||
#include "emulator/xlObject.h"
|
||||
|
||||
#define GBI_COMMAND_HI(p) (((u32*)(p))[0])
|
||||
@@ -116,6 +117,19 @@ typedef struct __anon_0x58107 {
|
||||
/* 0x0 */ s16 anSlice[8];
|
||||
} __anon_0x58107; // size = 0x10
|
||||
|
||||
typedef struct __anon_0x58360 {
|
||||
/* 0x0 */ s16 r;
|
||||
/* 0x2 */ s16 g;
|
||||
/* 0x4 */ s16 b;
|
||||
/* 0x6 */ s16 a;
|
||||
} __anon_0x58360; // size = 0x8
|
||||
|
||||
typedef struct __anon_0x583EE {
|
||||
/* 0x0 */ s16 y;
|
||||
/* 0x2 */ s16 u;
|
||||
/* 0x4 */ s16 v;
|
||||
} __anon_0x583EE; // size = 0x6
|
||||
|
||||
// __anon_0x5845E
|
||||
typedef struct Rsp {
|
||||
/* 0x0000 */ s32 nMode;
|
||||
|
||||
+16
-3
@@ -34,8 +34,19 @@ ELSE_PATTERN = re.compile(r"^#else")
|
||||
ENDIF_PATTERN = re.compile(r"^#endif")
|
||||
INCBIN_PATTERN = re.compile(r"^#pragma INCBIN\(.*\)")
|
||||
|
||||
# Defined preprocessor macros
|
||||
defines = {"__MWERKS__"}
|
||||
MACROS = [
|
||||
(re.compile(r"\bAT_ADDRESS\b\(.*\)"), ""),
|
||||
(re.compile(r"\b_GX_TF_CTF\b"), "0x20"),
|
||||
(re.compile(r"\b_GX_TF_ZTF\b"), "0x10"),
|
||||
(re.compile(r"\bOS_THREAD_SPECIFIC_MAX\b"), "2"),
|
||||
(re.compile(r"\bCARD_FILENAME_MAX\b"), "32"),
|
||||
(re.compile(r"\bCARD_ICON_MAX\b"), "8"),
|
||||
(re.compile(r"\bN64_FRAME_WIDTH\b"), "320"),
|
||||
(re.compile(r"\bN64_FRAME_HEIGHT\b"), "240"),
|
||||
]
|
||||
|
||||
# Defined preprocessor macros (for conditions)
|
||||
defines = set()
|
||||
# Stack of preprocessor conditions
|
||||
condition_stack = [True]
|
||||
|
||||
@@ -74,10 +85,12 @@ def process_c_file(path: Path) -> str:
|
||||
out_text += f'/* "{path}" line {i + 1} "{include_file}" */\n'
|
||||
out_text += process_c_file(include_file)
|
||||
out_text += f'/* end "{include_file}" */\n'
|
||||
elif INCBIN_PATTERN.match(line.strip()):
|
||||
elif match := INCBIN_PATTERN.match(line.strip()):
|
||||
out_text += " 0"
|
||||
out_text += "\n"
|
||||
else:
|
||||
for pattern, replacement in MACROS:
|
||||
line = pattern.sub(replacement, line)
|
||||
out_text += line
|
||||
out_text += "\n"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user