KeybadeBlox
836b5eaa41
Incorporate known names from Smilebit code
...
The Yakuza 1 and 2 rereleases on the Wii U export function symbols,
preserving their names, and some debug data was also available in a PS2
release, providing some struct definitions. These have been used to
rename analogous classes, functions, and member variables to the same
names used by Smilebit, plus a more general imitation of their naming
and typing conventions (i.e. Win32 style).
2026-03-31 20:24:13 -04:00
KeybadeBlox
57fc53ebfb
Add IMAGE_TLS_DIRECTORY32 struct
...
With this, everything is delinking again.
2026-03-21 22:35:37 -04:00
KeybadeBlox
da6865e5f6
Fix typo in Core.hpp
...
Was making builds fail.
2026-03-21 20:56:49 -04:00
KeybadeBlox
b95a664688
Add ehdata.h
...
Bunch of spooky low-level exception handling stuff needed to delinking
working again.
2026-03-20 23:29:39 -04:00
KeybadeBlox
e58f774d82
Add various data structures
...
Stuff needed to get Core.obj delinking again.
2026-03-20 23:29:02 -04:00
KeybadeBlox
76e7714722
Typo
2026-03-20 10:09:33 -04:00
KeybadeBlox
4dded02b58
Minor revisions to xapi0.c comments
2026-02-23 08:23:02 -05:00
KeybadeBlox
823b19371c
Fully decompile xapi0
2026-02-22 14:04:18 -05:00
KeybadeBlox
4e20347b7c
Decompile mainCRTStartup()
...
Incidental changes include fixes for Xapi in the Makefille and
objdiff.json, as well as new compiler flags for Xapi.
2026-02-22 10:41:15 -05:00
KeybadeBlox
cbd63865e2
Rename Smilebit library to MUSASHI
...
Strings in the .rdata portion of the Smilebit in-house library code
suggest that this was its name, with its contents having names beginning
with an M (whence MMATRIX, for example).
2026-02-22 10:37:59 -05:00
KeybadeBlox
9cfd8b5bf3
Delink/begin decompiling entry point
...
That is, xapi0.obj, which has been renamed from crt0.obj because it
appears to be part of the Xbox libraries rather than the C runtime.
2026-02-20 21:50:00 -05:00
KeybadeBlox
aac010eb71
Add PlayerCharId type
2026-02-19 21:16:11 -05:00
KeybadeBlox
be4946eb98
Replace Matching: with Status:
...
We'd rather have three stages (unimplemented, nonmatching, matching)
than just matching or not.
2026-02-19 21:11:42 -05:00
KeybadeBlox
adc30bb531
Move Std.hpp into CRT directory
...
It's also been renamed to stddef.h since all it contained was the
definition of NULL, which lives in that header in a standard C library.
2026-02-18 19:22:13 -05:00
KeybadeBlox
d435282a8b
Compile XDK code as C
...
It appears to be all C code (especially the non-C++ parts of the C
runtime, of course), so we'll compile it as such.
2026-02-17 10:27:50 -05:00
KeybadeBlox
149af27b9c
Fix CRT calling conventions
2026-02-17 09:56:58 -05:00
KeybadeBlox
d81bd646fa
Tiny source tweaks
...
Fixing some errors in the C runtime and making the main() formatting
more similar to everything else.
2026-02-14 23:12:06 -05:00
KeybadeBlox
c38d9b5628
Tiny steps towards implementing C runtime
2026-02-14 12:34:28 -05:00
KeybadeBlox
022582003d
objdiff symbol matching refinements
...
With name mangling, objdiff.json no longer needs massive lists of which
names to match to what. Some function signatures were also minorly
refined.
2026-02-12 21:19:46 -05:00
KeybadeBlox
e668b52cd0
Add to GameObj::removeChildrenFromObjList()
2026-02-05 21:11:11 -05:00
KeybadeBlox
63002e0f08
Add data type import for Ghidra
2026-02-04 19:52:12 -05:00
KeybadeBlox
44a8d704ef
Populate JSRF/GameData.cpp
2026-01-12 22:59:47 -05:00
KeybadeBlox
fbc5619d6a
Begin populating JSRF/GameData.hpp
2026-01-12 09:46:56 -05:00
KeybadeBlox
d11f2fd538
Delink JSRF/GameData
2026-01-11 20:46:54 -05:00
KeybadeBlox
683818b637
Separate compiler optimization flags
...
The /O2 used before was actually a preset for a bunch of more specific
flags, which are now written explicitly for clarity and easier
modification later.
2026-01-03 16:13:44 -05:00
KeybadeBlox
4dae5206c0
Minor decompiling in JSRF/Core
2026-01-02 23:14:59 -05:00
KeybadeBlox
08abfd3913
Finish populating JSRF/Core
2026-01-02 00:05:52 -05:00
KeybadeBlox
f8578b0871
Continue populating JSRF/Core
2025-12-31 23:03:36 -05:00
KeybadeBlox
71937e4a97
Begin populating JSRF/Core
2025-12-31 11:14:07 -05:00
KeybadeBlox
22a8c350eb
Correct .data section ranges in delinked objects
...
The change in the previous commit was a silly case of not thinking
things through, not realizing that the .data range moved to Core.obj was
nowhere near the beginning of the section as it should be. g_game has
been moved back into Jet2.obj (time will tell if this is correct) and a
missed data strucure at the beginning of .data (where it ought to be)
now makes up Core.obj's .data portion.
2025-12-30 00:39:14 -05:00
KeybadeBlox
a25790e8a6
Delink Core.obj
2025-12-29 00:44:27 -05:00
KeybadeBlox
5692ee9531
Minor code tidying
...
Mostly consistency with file headers and other such trifling things.
2025-12-18 22:09:47 -05:00
KeybadeBlox
b40e9a0c56
Rename Microsoft decompile directory to XDK
...
Felt more appropriate to name it after the library it's implementing
than the vendor.
2025-12-18 21:55:03 -05:00
KeybadeBlox
1c8eb137ee
Arrange decompilation source/target in directories
2025-12-17 21:46:17 -05:00
KeybadeBlox
1a48d4323e
Complete delink workflow; separate from decomp
...
We can now create a fresh Ghidra project, import the JSRF executable
into it, import symbols into it, delink object files from it, and then
decompile with objdiff. Just needs some documentation.
2025-12-16 22:30:49 -05:00