Add decompctx.py script to generate context (#208)

* Converting use of ":" to use AT_ADDRESS macro

* Adding decompctx.py script to generate context

* Fixing unterminated comment block
This commit is contained in:
Hexalotl
2024-01-08 01:27:37 -08:00
committed by GitHub
parent 40c4f2db0d
commit d3f6c8a31d
7 changed files with 1023 additions and 7 deletions
+2
View File
@@ -11,6 +11,8 @@ dump/*
*.exe
*.dll
*.arc
*.ctx
ctx.c
build.ninja
ac-decomp.code-workspace
assets/
+1 -1
View File
@@ -26,7 +26,7 @@ extern u8 boot_sound_initializing;
typedef void(*HotStartProc)();
#define NMISaveArea (void*)0x811FFFC0
OSModuleHeader* BaseModule : 0x800030C8;
OSModuleHeader* BaseModule AT_ADDRESS(0x800030C8);
// TODO: this macro should probably go elsewhere
#define MAKE_PARTIAL_ADDRESS(segment, ofs) \
+1 -1
View File
@@ -23,7 +23,7 @@ typedef union {
} PPCWGPipe;
#ifdef __MWERKS__
/*volatile*/ PPCWGPipe GXWGFifo : GXFIFO_ADDR;
/*volatile*/ PPCWGPipe GXWGFifo AT_ADDRESS(GXFIFO_ADDR);
#else
#define GXWGFifo (*(volatile PPCWGPipe*)GXFIFO_ADDR)
#endif
+3 -3
View File
@@ -24,9 +24,9 @@ typedef struct OSContext{
f64 psfs[32];
} OSContext;
OSContext* OS_CURRENT_CONTEXT_PHYS : 0x800000C0;
OSContext* OS_CURRENT_CONTEXT : 0x800000D4;
OSContext* OS_CURRENT_FPU_CONTEXT : 0x800000D8;
OSContext* OS_CURRENT_CONTEXT_PHYS AT_ADDRESS(0x800000C0);
OSContext* OS_CURRENT_CONTEXT AT_ADDRESS(0x800000D4);
OSContext* OS_CURRENT_FPU_CONTEXT AT_ADDRESS(0x800000D8);
void OSSaveFPUContext(OSContext*);
void OSSetCurrentContext(OSContext*);
+1 -1
View File
@@ -147,7 +147,7 @@ typedef struct agb_animal_s {
/* 0x92E */ u8 moved_in; /* TRUE when the villager moved in after town creation, FALSE if they started out in town */
/* 0x92F */ u8 removing; /* TRUE when the villager is leaving town, FALSE otherwise */
/* 0x930 */ u8 cloth_original_id; /* 0xFF when not wearing an Able Sister's pattern, otherwise 0-3 indicating which pattern */
/* 0x931 */ s8 umbrella_id; /* 0xFF when no umbrella, 0-31 when a standard umbrella, 32-35 when using an Able Sister's pattern
/* 0x931 */ s8 umbrella_id; /* 0xFF when no umbrella, 0-31 when a standard umbrella, 32-35 when using an Able Sister's pattern */
/* 0x932 */ u8 unk_932; /* Exists according to mISL_gc_to_agb_animal, but seems unused in practice */
/* 0x934 */ mActor_name_t present_cloth; /* The most recently received shirt from a letter which the villager may change into */
/* 0x936 */ u8 pad_936[6];
+1 -1
View File
@@ -207,7 +207,7 @@ typedef struct animal_s {
/* 0x8E9 */ u8 moved_in; /* TRUE when the villager moved in after town creation, FALSE if they started out in town */
/* 0x8EA */ u8 removing; /* TRUE when the villager is leaving town, FALSE otherwise */
/* 0x8EB */ u8 cloth_original_id; /* 0xFF when not wearing an Able Sister's pattern, otherwise 0-3 indicating which pattern */
/* 0x8EC */ s8 umbrella_id; /* 0xFF when no umbrella, 0-31 when a standard umbrella, 32-35 when using an Able Sister's pattern
/* 0x8EC */ s8 umbrella_id; /* 0xFF when no umbrella, 0-31 when a standard umbrella, 32-35 when using an Able Sister's pattern */
/* 0x8ED */ u8 unk_8ED; /* Exists according to mISL_gc_to_agb_animal, but seems unused in practice */
/* 0x8EE */ mActor_name_t present_cloth; /* The most recently received shirt from a letter which the villager may change into */
/* 0x8F0 */ u8 animal_relations[ANIMAL_NUM_MAX]; /* relationships between all villagers in town, starts at 128 which is neutral */
+1014
View File
File diff suppressed because it is too large Load Diff