mirror of
https://github.com/zeldaret/st
synced 2026-07-09 14:45:32 -04:00
Misc Stuff 2 (#33)
* match UnkStruct_ov000_020b4f84_00_Base * lots of random stuff * match other funcs from game.cpp * data_02049a2c -> gGame, UnkStruct_02049a2c -> Game * match operator new * fix regressions * fix some warnings * another round of random things * another round of random things 2 * complete slots column in overlays.md * add scene indices * gamemode stuff * misc stuff * fix build issues * document random things * fix regressions * final round of random things (for now)
This commit is contained in:
+16
-24
@@ -1,35 +1,33 @@
|
||||
#include "System/SysNew.hpp"
|
||||
#include "System/SysFault.hpp"
|
||||
#include "global.h"
|
||||
|
||||
extern "C" {
|
||||
void *func_02001654(void);
|
||||
void *func_02001654(void *);
|
||||
void *func_020145b0(UnkId *, s32);
|
||||
void *func_020010c0(void);
|
||||
void *func_02001308(void);
|
||||
void *func_020010c0(void *);
|
||||
void *func_02001308(void *);
|
||||
UnkId *func_02001488(void);
|
||||
UnkId *func_02014704(void);
|
||||
UnkId *func_02014704();
|
||||
UnkId *func_020011c8(UnkId *, void *);
|
||||
UnkId *func_02014630(UnkId *, void *);
|
||||
UnkId *func_02001684(UnkId *, void *);
|
||||
void func_020011f4(void *);
|
||||
unk32 func_020011f4(void *);
|
||||
}
|
||||
extern char *data_0204372c[];
|
||||
|
||||
// non-matching
|
||||
ARM void *SysNew(UnkStruct_02011e10_Sub1 *param1, s32 length, s32 param3) {
|
||||
void *newPtr = NULL;
|
||||
void *ret;
|
||||
|
||||
switch (param1->mId) {
|
||||
case UnkId_EXPH:
|
||||
newPtr = func_020010c0();
|
||||
newPtr = func_020010c0(param1);
|
||||
break;
|
||||
case UnkId_FRMH:
|
||||
newPtr = func_02001308();
|
||||
newPtr = func_02001308(param1);
|
||||
break;
|
||||
case UnkId_UNTH:
|
||||
newPtr = func_02001654();
|
||||
newPtr = func_02001654(param1);
|
||||
break;
|
||||
case UnkId_UNSH:
|
||||
newPtr = func_020145b0(func_02014704(), length);
|
||||
@@ -71,24 +69,22 @@ ARM void *func_02011f30(s32 length) {
|
||||
return func_02011f10(length);
|
||||
}
|
||||
|
||||
// non-matching
|
||||
ARM void *operator new(unsigned long length, u32 id, u32 idLength) {
|
||||
void *pvVar1;
|
||||
char *uVar2;
|
||||
u16 line;
|
||||
char *uVar4;
|
||||
UnkStruct_02011e10_Sub1 *pUVar5;
|
||||
|
||||
pUVar5 = data_0204999c.mUnk_00[id];
|
||||
pvVar1 = SysNew(pUVar5, length, idLength);
|
||||
|
||||
if (pvVar1 == NULL) {
|
||||
if (id == 1) {
|
||||
func_020011f4(pUVar5);
|
||||
data_02049984.func_020125a4(__FILE__, 183, "%sノメモリガタリマセン.\nサイズ=%d\nノコリ =%d", data_0204372c[id],
|
||||
length);
|
||||
} else if (id == 0) {
|
||||
data_02049984.func_020125a4(__FILE__, 187, "%sノメモリガタリマセン.\nサイズ=%d", data_0204372c[id], length);
|
||||
switch (id) {
|
||||
case HeapIndex_1:
|
||||
GAME_ASSERT(pvVar1 != NULL, 183, "%sノメモリガタリマセン.\nサイズ=%d\nノコリ =%d", data_0204372c[id], length,
|
||||
func_020011f4(pUVar5));
|
||||
break;
|
||||
default:
|
||||
GAME_ASSERT(pvVar1 != NULL, 187, "%sノメモリガタリマセン.\nサイズ=%d", data_0204372c[id], length);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -102,7 +98,3 @@ ARM void operator delete(void *ptr) {
|
||||
ARM void SysObject::operator delete[](void *ptr) {
|
||||
SysDelete(ptr);
|
||||
}
|
||||
|
||||
void dummy() {
|
||||
::operator new(1, 1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user