From 0168bec20789610ca6601d5b473673484291b7a3 Mon Sep 17 00:00:00 2001 From: Mc-muffin <8714476+Mc-muffin@users.noreply.github.com> Date: Fri, 21 Aug 2026 04:23:20 -0500 Subject: [PATCH] Progress reporting --- .gitignore | 1 + Makefile | 7 +- config/symbol_addrs.txt | 2 +- configure.py | 22 ++++ src/cs4/Seimei/lib/libaio.c | 36 ------- src/cs4/Seimei/src/Binder.c | 4 + src/cs4/Seimei/src/Shadow.c | 37 +++++++ src/unklib_001720A0.c | 7 ++ src/unklib_00195CA0.c | 199 ++++++++++++++++++++++++++++++++++++ src/unklib_0019E160.c | 85 +++++++++++++++ src/unklib_0019FA70.c | 95 +++++++++++++++++ src/unklib_00215AF0.c | 45 ++++++++ src/unklib_00217A70.c | 87 ++++++++++++++++ 13 files changed, 586 insertions(+), 41 deletions(-) create mode 100644 src/cs4/Seimei/src/Shadow.c create mode 100644 src/unklib_001720A0.c create mode 100644 src/unklib_00195CA0.c create mode 100644 src/unklib_0019E160.c create mode 100644 src/unklib_0019FA70.c create mode 100644 src/unklib_00215AF0.c create mode 100644 src/unklib_00217A70.c diff --git a/.gitignore b/.gitignore index 4b8c8a3..44f1174 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ assets/ asm/ .ninja_log .splache +report.json build.ninja permuter_settings.toml Makefile.custom diff --git a/Makefile b/Makefile index 81cd220..16654de 100644 --- a/Makefile +++ b/Makefile @@ -116,10 +116,9 @@ map-mismatch: ## Check for mismatches in mapfile @python3 tools/python/map_mismatch.py --language report: ## Create progress report in config directory - @(stat config/expected/obj/ >/dev/null 2>&1 || (echo "Target objects do not exist, please run \`make make-asm\`"; false)); - @(stat config/build/src/ >/dev/null 2>&1 || (echo "Base objects do not exist, please run \`make build\`"; false)); - @tools/objdiff/objdiff-cli report generate -p config/ -o config/report.json -f json - @python3 tools/python/fix_report.py config/report.json + @cd config/; \ + ninja -t clean; \ + ninja report.json -v -j$(NUMPROC) @python3 -c "import json;from pathlib import Path;report=json.loads(Path('config/report.json').read_text());print(f\"Progress: {report['measures']['fuzzy_match_percent']:.2f}%\")" clean: ## Clean artifact in config directory diff --git a/config/symbol_addrs.txt b/config/symbol_addrs.txt index 981e732..7d10fc7 100644 --- a/config/symbol_addrs.txt +++ b/config/symbol_addrs.txt @@ -1236,7 +1236,7 @@ gHitLine = 0x008FC2B0; // can_referenc lpCdvd = 0x00257528; // can_reference:False size:0x4 visibility:local AllBindDataNum = 0x00257964; // can_reference:False size:0x4 visibility:local @732 = 0x0025752C; // can_reference:False size:0x4 visibility:local allow_duplicated:True -@1033 = 0x00253878; // can_reference:False size:0x1 visibility:local allow_duplicated:True +@1033 = 0x00253878; // can_reference:False size:0x1 type:u8 visibility:local allow_duplicated:True CdvdAllBind = 0x00969900; // can_reference:False size:0x14C visibility:local @916 = 0x00253870; // can_reference:False size:0x8 visibility:local @811 = 0x002289C0; // can_reference:False size:0x80 visibility:local diff --git a/configure.py b/configure.py index 7c7a453..5b46c2a 100755 --- a/configure.py +++ b/configure.py @@ -159,6 +159,7 @@ def build_stuff( game_compile_cmd, common_includes = make_compiler_cmd(config_dir, src_path, language) built_objects: set[Path] = set() + progress_objects: set[str] = set() def build( object_paths: Union[Path, list[Path]], @@ -220,6 +221,9 @@ def build_stuff( inputs=[str((Path("../src") / s.relative_to("asm")).with_suffix(".c")) for s in src_paths], variables=variables, ) + progress_objects.update(transit_strs) + else: + progress_objects.update(object_strs) ninja.build( outputs=expected_strs, @@ -228,6 +232,7 @@ def build_stuff( variables=variables, implicit_outputs=implicit_outputs, ) + progress_objects.update(expected_strs) ninja = ninja_syntax.Writer(open(str(ROOT / config_dir / "build.ninja"), "w"), width=9999) @@ -287,6 +292,12 @@ def build_stuff( command=f"{CROSS}objcopy $in $out -O binary", ) + ninja.rule( + "objdiff", + command="../tools/objdiff/objdiff-cli report generate -o $out -f json", + ) + + for entry in linker_entries: seg = entry.segment @@ -329,6 +340,17 @@ def build_stuff( sys.exit(1) built_object_paths = [str(obj) for obj in built_objects] + progress_object_paths = [] + for obj in progress_objects: + if obj.startswith(("build/src/sdk/", "build/expected/src/sdk/", "build/src/data/", "build/expected/src/data/")): + continue + progress_object_paths.append(obj) + + ninja.build( + "report.json", + "objdiff", + implicit=progress_object_paths, + ) ninja.build( pre_elf_path, diff --git a/src/cs4/Seimei/lib/libaio.c b/src/cs4/Seimei/lib/libaio.c index fae0b5b..877c63c 100644 --- a/src/cs4/Seimei/lib/libaio.c +++ b/src/cs4/Seimei/lib/libaio.c @@ -7,39 +7,3 @@ INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/lib/libaio", threadmain); INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/lib/libaio", AioCdSearchFile); INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/lib/libaio", AioCmdSync); - -INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/lib/libaio", CheckLineInnerCylinder); - -INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/lib/libaio", CheckCylinderInnerSquare); - -INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/lib/libaio", CheckInnerShadow); - -INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/lib/libaio", SetShadowTexMatrixPacket); - -INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/lib/libaio", DrawDropShadowObject); - -INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/lib/libaio", DrawDropShadowModel); - -INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/lib/libaio", MakeBilinerTexture); - -INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/lib/libaio", ClearShadowTexture); - -INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/lib/libaio", DrawShadowObject); - -INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/lib/libaio", DrawShadowModel); - -INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/lib/libaio", UpdateShadowMatrix); - -INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/lib/libaio", MakeShadowTexture); - -INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/lib/libaio", MakeAndDrawShadowModel); - -INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/lib/libaio", MGDrawShadow); - -INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/lib/libaio", DrawShadow); - -INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/lib/libaio", MakePresetShadowPrimListPacket); - -INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/lib/libaio", MakePresetShadowObjPacket); - -INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/lib/libaio", InitShadowMatrix); diff --git a/src/cs4/Seimei/src/Binder.c b/src/cs4/Seimei/src/Binder.c index 2f5d0de..6ab023d 100644 --- a/src/cs4/Seimei/src/Binder.c +++ b/src/cs4/Seimei/src/Binder.c @@ -7,6 +7,10 @@ static unsigned int AllBindDataNum; // size: 0x4, address: 0x257964 +static LPCDVD CdvdAllBind; + +static LPCDVD *lpCdvd = &CdvdAllBind; + static BINDINFO AllBindInfo[3200]; static inline unsigned int foo_fn(char* fname) { diff --git a/src/cs4/Seimei/src/Shadow.c b/src/cs4/Seimei/src/Shadow.c new file mode 100644 index 0000000..6130220 --- /dev/null +++ b/src/cs4/Seimei/src/Shadow.c @@ -0,0 +1,37 @@ +#include "common.h" + +INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/src/Shadow", CheckLineInnerCylinder); + +INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/src/Shadow", CheckCylinderInnerSquare); + +INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/src/Shadow", CheckInnerShadow); + +INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/src/Shadow", SetShadowTexMatrixPacket); + +INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/src/Shadow", DrawDropShadowObject); + +INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/src/Shadow", DrawDropShadowModel); + +INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/src/Shadow", MakeBilinerTexture); + +INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/src/Shadow", ClearShadowTexture); + +INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/src/Shadow", DrawShadowObject); + +INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/src/Shadow", DrawShadowModel); + +INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/src/Shadow", UpdateShadowMatrix); + +INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/src/Shadow", MakeShadowTexture); + +INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/src/Shadow", MakeAndDrawShadowModel); + +INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/src/Shadow", MGDrawShadow); + +INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/src/Shadow", DrawShadow); + +INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/src/Shadow", MakePresetShadowPrimListPacket); + +INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/src/Shadow", MakePresetShadowObjPacket); + +INCLUDE_ASM("config/asm/nonmatchings/cs4/Seimei/src/Shadow", InitShadowMatrix); diff --git a/src/unklib_001720A0.c b/src/unklib_001720A0.c new file mode 100644 index 0000000..ed23613 --- /dev/null +++ b/src/unklib_001720A0.c @@ -0,0 +1,7 @@ +#include "common.h" + +INCLUDE_ASM("config/asm/nonmatchings/unklib_001720A0", FsCConvUTF16To8); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_001720A0", FsCConvUTF8To16); + +INCLUDE_RODATA("config/asm/nonmatchings/unklib_001720A0", D_00253B58); diff --git a/src/unklib_00195CA0.c b/src/unklib_00195CA0.c new file mode 100644 index 0000000..228a877 --- /dev/null +++ b/src/unklib_00195CA0.c @@ -0,0 +1,199 @@ +#include "common.h" + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", _sendToIOP2areaAC3); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", _sendToIOP2area); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_audioDecChangeVolume); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_audioDecSendToIOP); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_audioDecIsPreset); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_audioDecEndPut); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_audioDecBeginPut); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_audioDecReset); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_audioDecStart); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_audioDecDelete); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_audioDecCreate); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_DefMain); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", endDisplay); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", startDisplay); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", handler_endimage); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", vblankHandler); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", setImageTag); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", clearGsMem); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", _initAll); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_SwitchThread); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_ChangeDrawEnv); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_PlayPss); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_QuitPss); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_InitPss); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_GetRequiredBufferSize); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_SetDefPrio); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", _updateFadeColor); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_GetVoBuff); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_GetDBuff); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_GetDigitalAudioDec); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_GetAudioDec); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_GetVideoDec); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_GetFadeColorPtr); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_CallRegisteredVSyncIntrFunc); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_RegisterCallBack); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_CallRegisteredFunc); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_dataCallback); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_pcmCallback); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpg_videoCallback); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", readBufEndGet); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", readBufBeginGet); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", readBufEndPut); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", readBufBeginPut); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", readBufDelete); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", readBufCreate); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", strFileRead); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", strFileClose); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", strFileOpen); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", strFileInit); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", viBufGetTs); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", viBufPutTs); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", viBufFlush); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", viBufCount); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", viBufDelete); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", viBufRestartDMA); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", viBufStopDMA); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", viBufAddDMA); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", viBufEndPut); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", viBufBeginPut); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", viBufReset); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", viBufCreate); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", viBufModifyPts); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpegTS); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpegRestartDMA); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpegStopDMA); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpegNodata); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", mpegError); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", decBs0); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", videoDecMain); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", videoDecIsFlushed); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", videoDecFlush); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", videoDecPutTs); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", videoDecGetState); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", videoDecAbort); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", videoDecDelete); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", videoDecEndPut); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", videoDecBeginPut); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", videoDecSetStream); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", videoDecCreate); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", voBufDecCount); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", voBufGetTag); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", voBufGetData); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", voBufIncCount); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", voBufIsFull); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", voBufReset); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", voBufDelete); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", voBufCreate); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", fsmpg_Quit); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", fsmpg_GetRequiredBufferSize); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", fsmpg_RegisterCallBack); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", fsmpg_SetPriority); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", fsmpg_Startup); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", fsmpg_MovieStart); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00195CA0", _cbFileRead); + +INCLUDE_RODATA("config/asm/nonmatchings/unklib_00195CA0", @346); + +INCLUDE_RODATA("config/asm/nonmatchings/unklib_00195CA0", @347); + +INCLUDE_RODATA("config/asm/nonmatchings/unklib_00195CA0", @348); + +INCLUDE_RODATA("config/asm/nonmatchings/unklib_00195CA0", @349); + +INCLUDE_RODATA("config/asm/nonmatchings/unklib_00195CA0", @350); diff --git a/src/unklib_0019E160.c b/src/unklib_0019E160.c new file mode 100644 index 0000000..e4b97aa --- /dev/null +++ b/src/unklib_0019E160.c @@ -0,0 +1,85 @@ +#include "common.h" + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", fsmfstrm_SetReadErrorCallBack); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", fsmfstrm_SetReadEndCallBack); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", fsmfstrm_GetIopIndex); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", fsmfstrm_DmaReadSyncBlock); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", fsmfstrm_SetCdRMode); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", fsmfstrm_SetReadPacketSize); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", fsmfstrm_SetReadStart); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", fsmfstrm_SetReloadSize); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", fsmfstrm_DetachFileSector); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", fsmfstrm_AttachSector); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", fsmfstrm_FreeStreamBuffer); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", fsmfstrm_AllocStreamBuffer); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", fsmfstrm_AllocStream); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", fsmfstrm_AllocDmaBuffer); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", fsmfstrm_DmaInit); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", fsmfstrm_ThreadInit); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", fsmfstrm_Init); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", fsmfstrm_CallRpc); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", fsmfstrm_CallRpcStruct); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", _CallRpc); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", _ItoE_RpcDispatch); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", _ItoE_RpcThread); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", mfstrm_SetReadErrorCallBack); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", mfstrm_SetReadEndCallBack); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", mstrm_GetIopIndex); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", mstrm_ReadSync); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", mstrm_CheckReadError); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", mstrm_EndReading); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", mstrm_SetReadStart); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", mstrm_SetReloadSize); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", mstrm_DetachFileSector); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", mstrm_AttachSector); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", mstrm_FreeStreamBuffer); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", mstrm_DeleteStream); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", mstrm_AllocStreamBuffer); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", mstrm_AllocIopStream); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", mstrm_CreateStream); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", mstrm_ThreadInit); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", mstrm_Init); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", _mstrm_Thread); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", _mstrm_ReleaseInfo); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019E160", _mstrm_GetInfo); diff --git a/src/unklib_0019FA70.c b/src/unklib_0019FA70.c new file mode 100644 index 0000000..c4d6d45 --- /dev/null +++ b/src/unklib_0019FA70.c @@ -0,0 +1,95 @@ +#include "common.h" + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", sbuf_GetBufferSize); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", sbuf_RequiredRead); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", sbuf_ClearData); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", sbuf_SyncReadBlock); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", sbuf_CancelReadBlock); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", sbuf_FreeReadBlock); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", sbuf_AllocReadBlock); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", sbuf_FreeStreamBuffer); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", sbuf_AllocStreamBuffer); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", sbuf_Init); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", _sbuf_ReleaseStrmBufInfo); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", _sbuf_GetStrmBufInfo); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", strm_SetReadStart); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", strm_SetReloadSize); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", strm_RequiredReading); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", strm_ReadSync); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", strm_EndReading); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", strm_Read); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", strm_DetachStreamBuffer); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", strm_AttachStreamBuffer); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", strm_Close); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", strm_OpenSector); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", strm_InitInfo); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", fssdivagSetPlayEndCallBack); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", fssdivagSetPlayStartCallBack); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", fssdivagSetDmaChannel); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", fssdivagSetTrackReverb); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", fssdivagSetCoreVoice); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", fssdivagGetTrackStat); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", fssdivagUpdateTrackStat); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", fssdivagSetVolumePack); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", fssdivagSetMasterVolume); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", fssdivagSetChVolume); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", fssdivagGetChNum); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", fssdivagPause); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", fssdivagStop); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", fssdivagPlay); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", fssdivagSetSpuMemory); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", fssdivagSetPacket); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", fssdivagGetReserveSetupResult); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", fssdivagReserveSetup); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", fssdivagInit); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", _Cosf); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", _Sinf); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_0019FA70", _IopToEeRpcDispatch); + +INCLUDE_RODATA("config/asm/nonmatchings/unklib_0019FA70", @349); + +INCLUDE_RODATA("config/asm/nonmatchings/unklib_0019FA70", @350); diff --git a/src/unklib_00215AF0.c b/src/unklib_00215AF0.c new file mode 100644 index 0000000..1a501b1 --- /dev/null +++ b/src/unklib_00215AF0.c @@ -0,0 +1,45 @@ +#include "common.h" + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00215AF0", MmoFsCConvUTF8To16); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00215AF0", MmoFsCConvUTF16To8); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00215AF0", MmoFontInitTable); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00215AF0", MmoFontCharCheck_SJIS); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00215AF0", MmoFontCharCheck_UTF16); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00215AF0", MmoFontCharNext_SJIS); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00215AF0", MmoFontCharNext_UTF16); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00215AF0", MmoFontDrawChar); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00215AF0", MmoFontDrawTextInRect); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00215AF0", MmoFsFontDrawText); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00215AF0", MmoFontOption); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00215AF0", MmoFontGetLineSize); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00215AF0", MmoFsFontGetSize); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00215AF0", MmoFsFontGetPos); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00215AF0", MmoFsFontSetAlignment); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00215AF0", MmoFsFontSetMargin); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00215AF0", MmoFsFontSetBaseColor); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00215AF0", MmoFontFindGlyph); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00215AF0", MmoFsFontSetTexBuf); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00215AF0", MmoFsFontSetCCMBuf); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00215AF0", MmoFsFontSetCurrent); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00215AF0", MmoFsFontInit); diff --git a/src/unklib_00217A70.c b/src/unklib_00217A70.c new file mode 100644 index 0000000..ec4152d --- /dev/null +++ b/src/unklib_00217A70.c @@ -0,0 +1,87 @@ +#include "common.h" + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", _TransTexture); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", _TransTextureFromFileInMemory); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", MmoFontSetRefStatePtr); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", MmoFontSetRefCurrentPtr); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", _MakeDmaPacketTriangleStrip); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", _MakeDmaPacketSprite); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", _SendPacketByDma); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", _SetDrawCondition); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", MmoFsFontEnd); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", MmoFsFontBegin); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", MmoFontDrawRect); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", MmoFsFont_SetMode); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", MmoFsFont_SetDmaBuffer); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", MmoFsFont_GetDmaBufferSize); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", MmoFsFontSetRect); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", MmoFontReplaceUnicode); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", GetSlowEaseOutPrm); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", GetSlowEaseInPrm); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", GetEaseOutPrm); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", GetEaseInPrm); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", GetLinearPrm); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", Calc_Screen); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", fsmmo_Calc); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", DrawResText); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", DrawResTexture); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", CalcText); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", CalcTexture); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", Analyze); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", fsmmo_SetBlurNum); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", fsmmo_Exec); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", fsmmo_Initialize); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", fsmmo_GetMemorySize); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", fsmmo_LoadTm2); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", fsmmo_DrawSprite); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", Font_GetPos); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", Font_GetSize); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", Font_SetMargin); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", Font_SetAlignment); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", Font_Print2Xy); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", Font_End); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", Font_Begin); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", Font_SetTexture); + +INCLUDE_ASM("config/asm/nonmatchings/unklib_00217A70", Font_Initialize);