Commit Graph

77 Commits

Author SHA1 Message Date
lepelog 80ba3d9fd2
Fix symbol names (#118)
* checkpoint

* checkpoint

* rename f_pc

* checkpoint

* small symbol rename and fix some fpc symbols

* remove unneeded entries from ldscript

* simplify ok check, update docker container

Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-03-15 02:12:44 -04:00
lepelog 3b69d4cba0
Match a few nonmatchings and delete unused asm (#117)
* match a few nonmatchings, delete unused asm

* fix missing returns in f_op_actor_iter

* remove obsolete comments
2021-03-03 12:17:19 -05:00
lepelog 368135b3da
Some fopAcM functions (#116)
* some fopAcM_create functions

* a few more functions
2021-02-26 09:19:46 -05:00
Pheenoh 5fbe9419f9
delete variables.h 2021-02-20 23:11:44 -05:00
lepelog 5c83d2532c
Decompile some SComponent data and some MSL_C.PPCEABI.bare.H headers (#115)
* data for c_angle

* data c_sxyz

* partially migrated c_xyz data

* c_xyz data

* c_xyz data decomp

* c_math data

* c_math data

* c_lib data, some cleanup

* rename some unnamed functions and create header for them

* header for string functions

* format and fix fabsf

* cleanup

* remove more unneded function prototypes

* move fpclassify to math.h
2021-02-19 10:51:02 -05:00
Pheenoh 63d4e517f7
split f_ap_game, fapGm_Execute ok, more changes to m_Do_main 2021-02-13 15:23:18 -05:00
lepelog aff4c171fc
f_op_actor_mng split & started decomp (#112)
* fop-actor-mng

* rodata

* more actor mng progress

* actor mng progress

* format

* cleanup

* fix Mtx function signatures

* PR suggestion

Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-02-12 19:47:46 -05:00
Pheenoh 4d1d865921
debugDisplay and Debug_console attemp 2021-02-07 17:20:16 -05:00
jdflyer f1924e91f4
d_kyeff, d_kyeff2, m_Do_printf, and m_Do_graphic (#109)
* Split d_kyeff

* Partially matched d_kyeff

* split d_kyeff2

* Match d_kyeff2

* split m_Do_printf

* m_Do_printf partially matched

* hotfix and clang-format

* split m_Do_graphic

* rename symbols in m_Do_graphic

* Match a few functions in m_Do_graphic

* Fix Merge Errors

* Delete sh.exe.stackdump

* Update OSReportInit
2021-01-31 20:03:38 -05:00
Pheenoh 82a0f8f8ab
clang-format 2021-01-31 15:45:36 -05:00
Pheenoh fb0493b171
Merge branch 'functions' 2021-01-31 15:39:31 -05:00
Pheenoh 90578d539a
remove functions.h 2021-01-31 15:33:34 -05:00
Julgodis b27de6e351 formatting 2021-01-29 22:52:35 +01:00
Julgodis cf4bf3fc53 replace symbols with string literals and python script 2021-01-29 22:52:35 +01:00
Julgodis 45ee14c43f JKRSolidHeap::dump now matching using floats 2021-01-27 15:43:21 +01:00
Julgodis 291655c820 formatting 2021-01-27 05:58:12 +01:00
Julgodis 09dd7f8c4e compiling strings? WTF 2021-01-27 05:57:41 +01:00
LC c37cd04585
c_m3d: Make use of forward declarations (#104)
Some inline helper function of the included files in the header make use
of functions defined within it. This can cause a circular dependency
cycle if said helper functions are ever defined within the classes.

To break this potential cycle, we can use forward declarations.

This also has the benefit of reducing preprocessing overhead a little
bit.
2021-01-26 21:29:28 -05:00
lepelog 1e105b87f1
some c_m3d (#97)
* decompiled some bgs_chk funcs

* c_m3d_g

* c_math progress

* remove duplicate SComponent headers

* move some variables and decompile a function

* some inlined from debug

* cM3d_2PlaneLinePosNearPos

* fix fabsf and decompile cM3d_CrawVec

* format

* cleanup

* more cleanup

Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-01-26 17:48:47 -05:00
notyourav b8d0da505d
binary OK (#99)
Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-01-26 17:42:28 -05:00
lepelog ce0d0c3521
decompile s_basic, cleanup mangled names in f_pc (#101)
Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-01-26 17:11:50 -05:00
LC 3ee8a929a9
c_phase: Make cPhs_Next completely matching (#102)
* c_phase: Make cPhs_Do a little more matching

Still doesn't fully match, but now the branch offsets and everything
else line up.

The load of pUserData still doesn't properly match though.

* c_phase: Make cPhs_Next completely match

Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-01-26 17:08:35 -05:00
LC c11228ea86
J2DPane: Add names for several unlabeled variables (#103)
Should make working on other classes adjacent to J2DPane a little more
descriptive in the decompilation process.
2021-01-26 17:04:10 -05:00
LC ec9b03241d
Z2AudioLib: Migrate declarations out of functions.h to respective files (#96)
Removes the strong dependency on a single header file and moves
declarations to their respective header file.

This allows for making dependencies explicit in cpp files and other
headers, and also makes it much easier to track where everything related
to a particular component is.

This change also creates a few header files that previously didn't
exist, making it much nicer for people implementing things, as they
won't need to create the header file, it'll just be there ready to go.

Ideally functions.h wouldn't even be a thing, as this header adds a lot
of preprocessing overhead due to its size, and will continue to grow
significantly larger over the lifespan of the project, which can also
impact the performance of editors that do dependency lookups and
context-aware syntax highlighting.
2021-01-25 12:57:46 -05:00
notyourav 6e7708652e
J2DPane.cpp (#91)
* split J2DPane.cpp

* J2DPane first pass

* consolidate headers and typedef mtx

* remove duplicate J2DScreen.h

Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-01-25 09:57:35 -05:00
jdflyer b5bbe8d00d clang-format 2021-01-21 22:06:54 -07:00
jdflyer 64bb8562fa Merge remote-tracking branch 'upstream/master' into m_Do_audio2 2021-01-21 21:58:53 -07:00
jdflyer ff7ac962f1 m_Do_audio 2021-01-21 21:47:28 -07:00
Erin Moon a072e71c33
Z2AudioLib misc decomp (#75)
* Z2SoundHandles: decomp portions

* start decomping: Z2SpeechMgr2, Z2SoundHandles

* Z2SoundHandles::stopAllSounds(): ok

* Z2SoundHandles::getHandleUserData(): ok

* Z2SoundInfo: header

* Z2SoundObjBase::framework(): ok

* Z2SoundObjBase::Z2SoundObjBase(), Z2SoundObjBase::init(): ok

* Z2SoundObjBase::~Z2SoundObjBase(): ok

* Z2SoundObjBase::stopOK(): ok

* Z2SoundObjBase::stopOK, incomplete Z2SoundObjBase::dispose()

* clang-format

* Z2SoundObjBase::dispose(): ok

* JAISound::operator->(): null assert

* JAIAudience: stub

* Z2SoundObject::{init, deleteObject, isAlive}: ok

* Z2SeMgr: elaborate struct (and decl JAISoundHandles to support this)

* start subclassing Z2SoundObjBase; nonmatching Z2SoundObjSimple::init()

* Z2SeMGr::{incrCrowdSize, decrCrowdSize}: ok

* Z2MultiSeMgr::resetMultiSePos(): ok

* Z2WolfHowlMgr.h: decls

* Z2SoundStarter: move to decls and fix postprocess.py symbol pass

* Z2AudioArcLoader: decls

* Z2SoundObjMgr: ok some fns
- deleteEnemyAll()
- isTwilightBattle()
- setGhostEnemyState()

additionally elaborates parts of the Z2Creature hierarchy

* delete unused .s files and add tool to find them (only runs on linux)

* run clang-format

* postprocess.py: comment out debugging

* add python step to ok-check workflow

* address review comments

* address review comments

Co-authored-by: notyourav <65437533+notyourav@users.noreply.github.com>

Co-authored-by: Pheenoh <pheenoh@gmail.com>
Co-authored-by: notyourav <65437533+notyourav@users.noreply.github.com>
2021-01-21 23:16:51 -05:00
LC afb426c60c
c_lib: Decomp a few functions (#89)
* c_lib: Decomp cLib_memSet and cLib_memCpy

Gets rid of some low-hanging fruit.

* c_lib: Decomp cLib_distanceAngleS

Another super trivial function to make match.

* c_lib: Decomp cLib_targetAngleY overload set

Fairly trivial in terms of matching.

* c_lib: Sate clang-format

I didn't touch this code, but the clang-format pass wants this done, and
so it is.
2021-01-21 20:29:22 -05:00
notyourav 358469df03
fvb, functionvalue, vector (#77)
Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-01-18 14:27:25 -05:00
Jonathan Wase 82d5e0f796
JKRAram and JKRAramStream (#80)
* before __register_global_object

* JKRThread::sThreadList, JKRHeap::sSystemHeap, etc.

* cleanup and started on JKRDvdArchive

* before changing JKRCompression

* more JKRDvdArchive, abs, and memset

* fixed JKRArchive::setExpandSize split

* JKRArchive::sCurrentDirID, JKRDvdFile::sDvdList, and matching JKRDvdFile constructors

* problems

* merge fixes and formatting

* updated clang version in clang-format-all to version 10

* Added OSPhysicalToCached and struct for global memory

* remove useless __attribute__

* changed from defines and macros to const variable and function

* changed FLAG_HAS to FLAG_ON

* JKRAram, linking problems

* fix JKRAram

* remove nonmatching stuff

* renamed static data

* more static class members

* JKRAramStream OK

* formatting

Co-authored-by: Julgodis <>
Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-01-09 20:15:52 -05:00
Erin Moon 6f3f8cc38e
Z2AudioLib: split (#64)
* Z2AudioLib: split

- Z2SpeechMgr2
- Z2Audience
- Z2EnvSeMgr
- Z2SoundMgr
- Z2AudioMgr
- Z2Creature
- Z2SoundStarter
- Z2WolfHowlMgr
- Z2SoundObject
- Z2SoundObjMgr
- Z2SoundInfo
- Z2AudioArcLoader
- Z2AudioLib
- Z2SoundHandles
- Z2LinkMgr: finish splitting
- Z2SceneMgr: finish splitting
- Z2SeqMgr: finish splitting

* merge fix

Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-01-06 21:00:42 -05:00
lepelog 6d946e8330
match some Z2Calc functions (#72)
* Z2Calc OK

* inline definitions in random.h and format

* set -enum int compiler flag and fix enum hacks

* note for get_ufloat_1 inline

* PR suggestions and UB note

Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-01-06 20:39:56 -05:00
notyourav b8ecef0ddb
Refactor JUTFont symbols (#71)
* fix JUTFont args

* fix

Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-01-06 20:36:27 -05:00
Jonathan Wase 88fca194f8
JKRSolidHeap (#69)
* JKRSolidHeap progress

* JKRSolidHeap, added const to virtual functions, and JKRHeap::TState

* fixed braces

* fix function overload

* clang-format

Co-authored-by: Julgodis <>
Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-01-06 20:33:03 -05:00
lepelog 0cf65151b3
Split SComponent (#45)
* split c_math

* split c_angle

* split c_API_controller_pad

* split c_API_graphic

* split c_bg_s_chk

* c_bg_s_gnd_chk split

* more c_bg split

* split c_cc_d

* delete asm

* split c_cc_s

* split c_lib

* split c_m2d and c_m3d_g_aab

* split c_m3d_g_cir

* split c_m3d_g_cps

* split rest of c_m3d_g

* split c_m3d

* split c_malloc

* split c_request

* split c_sxyz

* split and partly decompile c_xyz

* format

* c_angle.h

* begin c_angle decomp

* c_angle

* progress adding stub classes for SComponent

* more c_m3d

* remove some asm and format

* more m3d headers

* more c_angle decomp

* c_lib headers

* add public to classes

* fix csXyz member names

* c_sxyz partly OK

* move Zero csXyz to c_sxyz header

* c_API_graphic

* delete some unused asm

* move math extern data, decompile some functions

* delete unused asm

* fix duplicated c_angle.h

* fix an inlined function name, add more inlined functions for c_angle.h (currently unused)

* format

Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-01-06 20:04:53 -05:00
Jonathan Wase 792509e0a1
JKRFileCache matched 22/24 (#73)
* progress

* strlen, strcat, and strcchr

* more functions from JKRFileCache

* JKRFileCache 22/24 matched

Co-authored-by: Julgodis <>
2021-01-06 19:47:07 -05:00
notyourav 105c006948
TObject and JStudio internals (#57)
* TObject

* fix

Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-01-05 12:47:26 -05:00
Jonathan Wase d89fb99506
JKRMemArchive (#66)
* JKRArchivePri OK

* JKRArchivePub OK

* formatting

* removed unused asm files and tried to fixed setExpandSize and getExpandSize

* JKRMemArchive and created JKRCompression

Co-authored-by: Julgodis <>
2021-01-05 11:34:58 -05:00
Jonathan Wase b9ef1d7f4a
JKRArchive (#63)
* JKRArchivePri OK

* JKRArchivePub OK

* formatting

* removed unused asm files and tried to fixed setExpandSize and getExpandSize

Co-authored-by: Julgodis <>
2021-01-04 18:20:45 -05:00
Erin Moon 5c23199fe2
close-to-matching mDoCPd_c::convert() (#61) 2021-01-04 10:37:08 -05:00
Jonathan Wase 0be0a7ea94
JKRFileLoader, JKRFileFinder, and JKRThread (#60)
* JKRFileLoader OK

* JKRFileFinder progress

* JKRFileFinder OK

* JKRFileCache fix virtual function signatures

* added OSThread and OSContext types

* JKRThread fixed nonmatching functions

Co-authored-by: Julgodis <>
Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-01-03 22:48:07 -05:00
Jonathan Wase 5217a4189e
JKernel cleanup and DVD types (#59)
* JKRDecomp OK

* JKRFile and JKRDvdFile cleanup

* more DVD stuff and cleanup JKRDvdFile more

* formatting

* JKRHeap cleanup

* formatting

* JKRDisposer cleanup

* JKRAramBlock and JKRAramHeap cleanup

* fix merge error

* fixed comments

* forgot to save file...

* fix DVDCBcallback

Co-authored-by: Julgodis <>
2021-01-03 21:26:25 -05:00
Pheenoh 409257b111
clang-format 2021-01-03 21:11:43 -05:00
Pheenoh 6f22d27503
swap in memcpy for func_80003540, correct some minor issues in dvd.h and JKRDVDFile.h 2021-01-03 21:08:33 -05:00
Jonathan Wase 423fdadc32
JKRDecomp OK (#58)
* JKRDecomp OK

* clang-format tool

* JKRThread cleanup and fixed suggestions

Co-authored-by: Julgodis <>
Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-01-03 16:19:54 -05:00
Jonathan Wase 4309c3db5b
JKRAramHeap and JKRAramPiece (#53)
* renamed func_XXX to _savegpr_XX

* renamed func_XXX to _restgpr_XX

* renamed func_XXX to _savefpr_XX

* renamed func_XXX to _restfpr_XX

* cleanup functions.h and moved intrisics to mwcc.h

* formatting

* cleanup functions.h

* Added include/ar/ARQ.h

* renamed func_XXX to _savegpr_25

* removed JKRAramPiece asm files

* JKRAramHeap OK, JKRAramPiece OK

* formatting

* more formatting

* Added const and removed explicit this->

* fixed merge problems

* changed mMessages[1] to mMessage

* foramatting

Co-authored-by: Julgodis <>
Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-01-03 05:29:50 -05:00
Erin Moon 5c4ac052c3
decomp some small files, do some cleanup (#42)
* remove leftover asm: JSUList.s

* d_save_init: decomp

* JMath/random: decomp

* J3DUDL: fixup label

* JAUClusterSound: decomp

* c_API_controller_pad: decomp, elaborate globals/types

* clang-format

* don't add guards to functions.h

* semantic merge of m_cpadInfo stuff

* fix undef symbols

Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-01-03 01:04:15 -05:00
Jonathan Wase 54cef5c777
JKRAramBlock OK (#52)
Co-authored-by: Julgodis <>
2021-01-02 10:32:34 -05:00