Merge branch 'main' of github.com:Yanis002/st

This commit is contained in:
Aetias
2025-07-21 23:04:36 +02:00
12 changed files with 150 additions and 132 deletions
+29 -21
View File
@@ -1,26 +1,34 @@
BasedOnStyle: LLVM
IndentWidth: 4
Language: Cpp
UseTab: Never
ColumnLimit: 120
PointerAlignment: Left
BreakBeforeBraces: Attach
SpaceAfterCStyleCast: false
Cpp11BracedListStyle: true
IndentCaseLabels: true
IndentPPDirectives: None
BinPackArguments: true
BinPackParameters: true
AlignAfterOpenBracket: Align
AlignOperands: true
BreakBeforeTernaryOperators: true
BreakBeforeBinaryOperators: None
AllowShortBlocksOnASingleLine: true
ColumnLimit: 127
AllowShortFunctionsOnASingleLine: Empty
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: true
AllowShortEnumsOnASingleLine: false
AlignEscapedNewlines: Left
AlignTrailingComments: false
SortIncludes: true
InsertBraces: true
IndentCaseLabels: true
IndentExternBlock: NoIndent
IndentPPDirectives: BeforeHash
NamespaceIndentation: All
IndentAccessModifiers: false
AccessModifierOffset: -4
AlignConsecutiveAssignments: Consecutive
AlignEscapedNewlines: LeftWithLastLine
AlignTrailingComments: Leave
BreakConstructorInitializers: AfterColon
PackConstructorInitializers: Never
SpaceAfterCStyleCast: true
SpaceBeforeParens: Custom
SpaceBeforeParensOptions:
AfterPlacementOperator: false
AfterControlStatements: true
BreakBeforeBraces: Custom
BraceWrapping:
AfterControlStatement: Never
+2 -2
View File
@@ -382,7 +382,7 @@ enum OverlaySlot_ {
};
class OverlayManager {
public:
public:
/* 00 */ OverlayIndex mLoadedOverlays[OverlaySlot_COUNT];
/* 48 */
@@ -397,4 +397,4 @@ class OverlayManager {
extern OverlayManager gOverlayManager;
extern OverlayId data_0203e0e8[OverlayIndex_COUNT];
extern char* data_02043c88[OverlayIndex_COUNT];
extern char *data_02043c88[OverlayIndex_COUNT];
+2 -2
View File
@@ -3,8 +3,8 @@
#include "types.h"
class SysFault {
public:
void func_020125a4(char* file, u16 line, char* msg, ...);
public:
void func_020125a4(char *file, u16 line, char *msg, ...);
};
extern SysFault data_02049984;
+9 -9
View File
@@ -16,15 +16,15 @@ struct UnkStruct_02011e10 {
/* 2C */
};
void* SysNew(UnkStruct_02011e10* param1, s32 length, s32 param3);
void SysDelete(void* ptr);
void* func_02011f10(s32 length);
void* func_02011f30(s32 length);
void *SysNew(UnkStruct_02011e10 *param1, s32 length, s32 param3);
void SysDelete(void *ptr);
void *func_02011f10(s32 length);
void *func_02011f30(s32 length);
class SysObject {
public:
static void* operator new(unsigned long length, u32 id, u32 idLength);
static void* operator new[](unsigned long length, u32* id, u32 idLength);
static void operator delete(void* ptr);
static void operator delete[](void* ptr);
public:
static void *operator new(unsigned long length, u32 id, u32 idLength);
static void *operator new[](unsigned long length, u32 *id, u32 idLength);
static void operator delete(void *ptr);
static void operator delete[](void *ptr);
};
+3 -3
View File
@@ -1,9 +1,9 @@
#ifndef GLOBAL_H
#define GLOBAL_H
#define GET_FLAG(arr, pos) (((1 << ((pos) & 0x1f)) & (arr)[((u32)(pos)) >> 5]) != 0)
#define SET_FLAG(arr, pos) ((arr)[((u32)(pos)) >> 5] |= 1 << ((pos) & 0x1f))
#define RESET_FLAG(arr, pos) ((arr)[((u32)(pos)) >> 5] &= ~(1 << ((pos) & 0x1f)))
#define GET_FLAG(arr, pos) (((1 << ((pos) & 0x1f)) & (arr)[((u32) (pos)) >> 5]) != 0)
#define SET_FLAG(arr, pos) ((arr)[((u32) (pos)) >> 5] |= 1 << ((pos) & 0x1f))
#define RESET_FLAG(arr, pos) ((arr)[((u32) (pos)) >> 5] &= ~(1 << ((pos) & 0x1f)))
#define ARRAY_LEN_U(arr) (u32)((sizeof(arr) / sizeof(*arr)))
#define ARRAY_LEN(arr) (s32)((sizeof(arr) / sizeof(*arr)))
+13 -13
View File
@@ -12,7 +12,7 @@ extern "C" {
typedef struct Overlay {
/* 00 */ unk32 mId;
/* 04 */ void* mBaseAddress;
/* 04 */ void *mBaseAddress;
/* 08 */ u32 mTextSize;
/* 0c */ s32 mBssSize;
/* 10 */ unk32 mCtorStart;
@@ -22,19 +22,19 @@ typedef struct Overlay {
/* 20 */
} Overlay;
u32 Overlay_FileSize(Overlay* overlay);
void Overlay_ClearCacheAndBss(Overlay* overlay);
void Overlay_func_02042238(unk32* param1, Overlay* overlay);
bool Overlay_func_02042250(Overlay* param1, Overlay* param2, s32 param3, unk32 param4, s32 param5, u32 param6,
s32 param7, u32 param8);
bool Overlay_func_020422ec(Overlay* param1, Overlay* param2, s32 param3);
bool Overlay_func_0204238c(Overlay* overlay);
u32 Overlay_FileSize(Overlay *overlay);
void Overlay_ClearCacheAndBss(Overlay *overlay);
void Overlay_func_02042238(unk32 *param1, Overlay *overlay);
bool Overlay_func_02042250(Overlay *param1, Overlay *param2, s32 param3, unk32 param4, s32 param5, u32 param6, s32 param7,
u32 param8);
bool Overlay_func_020422ec(Overlay *param1, Overlay *param2, s32 param3);
bool Overlay_func_0204238c(Overlay *overlay);
bool Overlay_func_020423e8(s32 param1, unk32 param2, unk32 param3);
void Overlay_Init(Overlay* overlay);
void Overlay_RunGlobalDestructors(Overlay* overlay);
bool Overlay_Destroy(Overlay* overlay);
bool FS_LoadOverlay(Overlay* overlay, unk32 param2);
bool FS_UnloadOverlay(Overlay* overlay, unk32 param2);
void Overlay_Init(Overlay *overlay);
void Overlay_RunGlobalDestructors(Overlay *overlay);
bool Overlay_Destroy(Overlay *overlay);
bool FS_LoadOverlay(Overlay *overlay, unk32 param2);
bool FS_UnloadOverlay(Overlay *overlay, unk32 param2);
#ifdef __cplusplus
}
+8 -8
View File
@@ -3,13 +3,13 @@
typedef unsigned int size_t;
size_t strlen(const char* str);
char* strcpy(char* dest, const char* src);
char* strncpy(char* dest, const char* src, size_t num);
char* strcat(char* dest, const char* src);
int strcmp(char* str1, char* str2);
int strncmp(char* str1, char* str2, size_t num);
const char* strchr(const char* str, char ch);
const char* strstr(const char* str1, const char* str2);
size_t strlen(const char *str);
char *strcpy(char *dest, const char *src);
char *strncpy(char *dest, const char *src, size_t num);
char *strcat(char *dest, const char *src);
int strcmp(char *str1, char *str2);
int strncmp(char *str1, char *str2, size_t num);
const char *strchr(const char *str, char ch);
const char *strstr(const char *str1, const char *str2);
#endif
+4 -4
View File
@@ -1,10 +1,10 @@
#pragma once
typedef struct DestructorChain {
/* 0 */ struct DestructorChain* next;
/* 4 */ void* destructor;
/* 8 */ void* object;
/* 0 */ struct DestructorChain *next;
/* 4 */ void *destructor;
/* 8 */ void *object;
/* c */
} DestructorChain;
void* __register_global_object(void* object, void* destructor, DestructorChain* link);
void *__register_global_object(void *object, void *destructor, DestructorChain *link);
+5 -5
View File
@@ -1,13 +1,13 @@
#include "global_destructor_chain.h"
#define CALL_DTOR(dtor, obj) (((void (*)(void*, int))(dtor))((obj), -1))
#define CALL_DTOR(dtor, obj) (((void (*)(void *, int))(dtor))((obj), -1))
DestructorChain* __global_destructor_chain;
DestructorChain *__global_destructor_chain;
void* __register_global_object(void* object, void* destructor, DestructorChain* link) {
link->next = __global_destructor_chain;
void *__register_global_object(void *object, void *destructor, DestructorChain *link) {
link->next = __global_destructor_chain;
link->destructor = destructor;
link->object = object;
link->object = object;
__global_destructor_chain = link;
return object;
+32 -30
View File
@@ -7,36 +7,36 @@ void CallStaticInitializers(void);
void main(void);
void func_02000a78(void);
void* func_0200093c(unk32, u32*, unk32);
void *func_0200093c(unk32, u32 *, unk32);
void func_020009fc(void);
void func_02000950(unk32*);
void func_02000950(unk32 *);
void func_01ffbd70(void);
#define UNK_027FFF9C (*(u32*)0x027FFF9C)
#define REG_IME (*(u32*)0x04000208)
#define REG_VCOUNT (*(u32*)0x04000006)
#define RAM_PALETTES ((u32*)0x05000000)
#define RAM_OAM ((u32*)0x07000000)
#define UNK_027FFF9C (*(u32 *) 0x027FFF9C)
#define REG_IME (*(u32 *) 0x04000208)
#define REG_VCOUNT (*(u32 *) 0x04000006)
#define RAM_PALETTES ((u32 *) 0x05000000)
#define RAM_OAM ((u32 *) 0x07000000)
typedef void (*UnkStruct_027e0000_Callback)(void);
struct UnkStruct_027e0000 {
unk8 mUnk_00[0x3FFC];
UnkStruct_027e0000_Callback mUnk_3FFC;
};
extern UnkStruct_027e0000* data_027e0000;
extern UnkStruct_027e0000 *data_027e0000;
extern unk32* data_0204cde0;
extern unk32* data_0204cdf8;
extern unk32* data_02044dc0;
extern unk32* data_02044dc0;
extern unk32 *data_0204cde0;
extern unk32 *data_0204cdf8;
extern unk32 *data_02044dc0;
extern unk32 *data_02044dc0;
struct RomBuildInfo {
/* 00 */ unk32* mUnk_00;
/* 04 */ unk32* mUnk_04;
/* 08 */ unk32* mUnk_08;
/* 0C */ unk32* mUnk_0C;
/* 10 */ unk32* mUnk_10;
/* 14 */ unk32* mUnk_14;
/* 00 */ unk32 *mUnk_00;
/* 04 */ unk32 *mUnk_04;
/* 08 */ unk32 *mUnk_08;
/* 0C */ unk32 *mUnk_0C;
/* 10 */ unk32 *mUnk_10;
/* 14 */ unk32 *mUnk_14;
/* 18 */ unk32 mUnk_18;
/* 1C */ unk32 mUnk_1C;
/* 20 */ unk32 mUnk_20;
@@ -51,14 +51,14 @@ struct UnkStruct_02049a2c {
void func_02013394(void);
};
extern UnkStruct_02049a2c* data_02049a2c;
extern UnkStruct_02049a2c *data_02049a2c;
// non-matching
ARM void Entry(void) {
unk32* puVar1;
unk32* puVar2;
unk32 *puVar1;
unk32 *puVar2;
u32 uVar3;
unk32* puVar4;
unk32 *puVar4;
REG_IME = 0x04000000;
@@ -66,7 +66,7 @@ ARM void Entry(void) {
} while (REG_VCOUNT != 0x0);
func_02000a78();
func_0200093c(0, (u32*)data_027e0000, 0x4000);
func_0200093c(0, (u32 *) data_027e0000, 0x4000);
func_0200093c(0, RAM_PALETTES, 0x400);
func_0200093c(0x200, RAM_OAM, 0x400);
func_02000950(BuildInfo.mUnk_14);
@@ -78,7 +78,7 @@ ARM void Entry(void) {
*puVar2 = 0x0;
}
uVar3 = (u32)puVar1 & 0xFFFFFFE0;
uVar3 = (u32) puVar1 & 0xFFFFFFE0;
do {
// inline asm?
@@ -86,9 +86,9 @@ ARM void Entry(void) {
// coproc_moveto_Invalidate_Instruction_Cache_by_MVA(uVar3);
// coproc_moveto_Invalidate_Data_Cache_by_MVA(uVar3);
uVar3 = uVar3 + 0x20;
} while ((int)uVar3 < (int)puVar4);
} while ((int) uVar3 < (int) puVar4);
UNK_027FFF9C = 0x0;
UNK_027FFF9C = 0x0;
data_027e0000->mUnk_3FFC = func_01ffbd70;
func_0203b920();
@@ -98,8 +98,8 @@ ARM void Entry(void) {
}
// non-matching
ARM void* func_0200093c(unk32 param1, u32* param2, unk32 param3) {
u32* p = param2 + param3;
ARM void *func_0200093c(unk32 param1, u32 *param2, unk32 param3) {
u32 *p = param2 + param3;
while (param2 < p) {
*p++ = param1;
@@ -117,7 +117,7 @@ RomBuildInfo BuildInfo = {
.mUnk_04 = data_0204cdf8,
.mUnk_08 = data_02044dc0,
.mUnk_0C = data_02044dc0,
.mUnk_10 = (unk32*)0x02051AE0,
.mUnk_10 = (unk32 *) 0x02051AE0,
.mUnk_14 = NULL,
.mUnk_18 = 0x04027539,
.mUnk_1C = 0x04027539,
@@ -127,4 +127,6 @@ RomBuildInfo BuildInfo = {
};
// non-matching
void main(void) { data_02049a2c->func_02013394(); }
void main(void) {
data_02049a2c->func_02013394();
}
+7 -7
View File
@@ -18,15 +18,15 @@ struct OverlaySetup {
/* 08 */ OverlayId slot2Overlay;
/* 0c */ OverlayId slot3Overlay;
/* 10 */ OverlayId slot12Overlay;
/* 14 */ void* mUnk_14;
/* 18 */ void* mUnk_18;
/* 14 */ void *mUnk_14;
/* 18 */ void *mUnk_18;
/* 1c */
};
extern OverlaySetup gOverlaySetups[];
extern u32* data_027e0ce0[];
extern "C" void func_ov007_02102850(u32**);
extern "C" void func_ov007_021028a0(u32**);
extern u32 *data_027e0ce0[];
extern "C" void func_ov007_02102850(u32 **);
extern "C" void func_ov007_021028a0(u32 **);
THUMB void OverlayManager::LoadIfNotLoaded(OverlaySlot slot, OverlayIndex index) {
OverlayIndex loadedIndex = gOverlayManager.mLoadedOverlays[slot];
@@ -46,7 +46,7 @@ THUMB void OverlayManager::Load(OverlaySlot slot, OverlayIndex index) {
}
THUMB void OverlayManager::Unload(OverlaySlot slot) {
OverlayManager* pOverlayManager = &gOverlayManager;
OverlayManager *pOverlayManager = &gOverlayManager;
if (pOverlayManager->mLoadedOverlays[slot] != OverlayIndex_None) {
FS_UnloadOverlay(NULL, data_0203e0e8[pOverlayManager->mLoadedOverlays[slot]]);
@@ -56,7 +56,7 @@ THUMB void OverlayManager::Unload(OverlaySlot slot) {
THUMB void OverlayManager::LoadOverlaySetup(s32 index) {
OverlayId overlayId;
OverlaySetup* pSetup;
OverlaySetup *pSetup;
pSetup = &gOverlaySetups[index];
+36 -28
View File
@@ -3,24 +3,24 @@
#include "global.h"
extern "C" {
void* func_02001654(void);
void* func_020145b0(UnkId*, s32);
void* func_020010c0(void);
void* func_02001308(void);
UnkId* func_02001488(void);
UnkId* func_02014704(void);
UnkId* func_020011c8(UnkId*, void*);
UnkId* func_02014630(UnkId*, void*);
UnkId* func_02001684(UnkId*, void*);
void func_020011f4(void*);
void *func_02001654(void);
void *func_020145b0(UnkId *, s32);
void *func_020010c0(void);
void *func_02001308(void);
UnkId *func_02001488(void);
UnkId *func_02014704(void);
UnkId *func_020011c8(UnkId *, void *);
UnkId *func_02014630(UnkId *, void *);
UnkId *func_02001684(UnkId *, void *);
void func_020011f4(void *);
}
extern char* data_0204372c[];
extern UnkStruct_02011e10* data_0204999c[4];
extern char *data_0204372c[];
extern UnkStruct_02011e10 *data_0204999c[4];
// non-matching
ARM void* SysNew(UnkStruct_02011e10* param1, s32 length, s32 param3) {
void* newPtr = NULL;
void* ret;
ARM void *SysNew(UnkStruct_02011e10 *param1, s32 length, s32 param3) {
void *newPtr = NULL;
void *ret;
switch (param1->mId) {
case UnkId_EXPH:
@@ -42,8 +42,8 @@ ARM void* SysNew(UnkStruct_02011e10* param1, s32 length, s32 param3) {
return newPtr;
}
ARM void SysDelete(void* ptr) {
UnkId* pUnkId;
ARM void SysDelete(void *ptr) {
UnkId *pUnkId;
if (ptr != NULL) {
pUnkId = func_02001488();
@@ -64,17 +64,21 @@ ARM void SysDelete(void* ptr) {
}
}
ARM void* func_02011f10(s32 length) { return SysNew(data_0204999c[1], length, 4); }
ARM void *func_02011f10(s32 length) {
return SysNew(data_0204999c[1], length, 4);
}
ARM void* func_02011f30(s32 length) { return func_02011f10(length); }
ARM void *func_02011f30(s32 length) {
return func_02011f10(length);
}
// non-matching
ARM void* SysObject::operator new(unsigned long length, u32 id, u32 idLength) {
void* pvVar1;
char* uVar2;
ARM void *SysObject::operator new(unsigned long length, u32 id, u32 idLength) {
void *pvVar1;
char *uVar2;
u16 line;
char* uVar4;
UnkStruct_02011e10* pUVar5;
char *uVar4;
UnkStruct_02011e10 *pUVar5;
pUVar5 = data_0204999c[id];
pvVar1 = SysNew(pUVar5, length, idLength);
@@ -84,11 +88,11 @@ ARM void* SysObject::operator new(unsigned long length, u32 id, u32 idLength) {
func_020011f4(pUVar5);
uVar2 = data_0204372c[id];
uVar4 = "%sノメモリガタリマセン.\nサイズ=%d\nノコリ =%d";
line = 183;
line = 183;
} else if (id == 0) {
uVar2 = data_0204372c[id];
uVar4 = "%sノメモリガタリマセン.\nサイズ=%d";
line = 187;
line = 187;
}
data_02049984.func_020125a4(__FILE__, line, uVar4, uVar2, length);
@@ -97,6 +101,10 @@ ARM void* SysObject::operator new(unsigned long length, u32 id, u32 idLength) {
return pvVar1;
}
ARM void SysObject::operator delete(void* ptr) { SysDelete(ptr); }
ARM void SysObject::operator delete(void *ptr) {
SysDelete(ptr);
}
ARM void SysObject::operator delete[](void* ptr) { SysDelete(ptr); }
ARM void SysObject::operator delete[](void *ptr) {
SysDelete(ptr);
}