Commit Graph

59 Commits

Author SHA1 Message Date
Jcw87 cd09ab01d6 tp.py: Add type annotations (#190) 2022-05-07 14:38:20 -04:00
TakaRikka a320ae56ff some MSL_C work (#192)
* wip

* bunch of MSL_C files

thanks to pikmin2 decomp for their work

* format / asm

* progress

* fix

* fix remove-asm to work with C files

* init / start
2022-04-24 13:02:50 +02:00
Jcw87 0baddb667b tp.py: Explicitly specify utf-8 encoding when opening text files. (#189) 2022-04-11 00:59:52 +02:00
jdflyer b131488ea1 Add Progress.md (#187)
* Match DynamicLink

* finish merge

* Add Progress.md and update readme
2022-04-10 18:29:58 -04:00
Zen64 f7c90c2e6a Renamed instances of msl_c -> MSL_C because 2022-03-20 00:01:24 -04:00
Zen64 3751b71c0a Fixed capitalization and msl library names 2022-03-19 22:31:05 -04:00
TakaRikka 388a1a3649 jdflyer's work
Co-Authored-By: jdflyer <jdflyer10@gmail.com>
2022-02-07 17:47:45 -08:00
jdflyer 69dfd36add Hyrule field speedhack and shiftability fixes 2022-01-17 20:00:12 -07:00
jdflyer 92c68a4783 Shift Fixes 2022-01-16 15:16:08 -07:00
jdflyer 97fc91bec6 Shift Fixes
I also updated elf2dol
2022-01-16 15:15:24 -07:00
jdflyer 39d4214a21 Shiftable 2022-01-15 17:59:59 -07:00
jdflyer 13eb8ed234 Add basic dol shiftability
Fixed an incorrect function name
2022-01-11 21:12:44 -07:00
lepelog 6970e6596c remove clang-format (#172) 2022-01-04 18:03:48 +01:00
lepelog 1e13413142 fix and format 2021-12-04 12:27:59 +01:00
Jonathan Wase df0aabc1b9 Clean up and improvements to tools (#163)
* moved elf2dol

* removed postprocess.py

* removed vtables.py

* find_unused_asm.py

* removed section2cpp.py

* removed splitter/*

* fixed symbol names due to iconv file rename

* fixed problem building RELs caused by #160

* improved performance of a few python tools

* added new tool for finding conflict when not OK

* added ./tp setup

* don't install dol2asm dependecies with requirements.txt

* format and check for imports

* remove unused tools/difftools.py

* fixed ignore to include elf2dol

* fix compiler patcher

* ok-check now creates the patched compiler at mwcceppc_patched.exe

* Add new command to copy the build folder to the expected folder

* 'make clean' will now only clean main.dol stuff. (added clean_rels and clean_all)

* './tp pull-request' and './tp check' now doesn't include RELs by default. Use '--rels' to include them in the process.

* './tp remove-unused-asm --check' added, exitcode 0==no files, 1==exists files

Co-authored-by: Julgodis <>
2021-12-02 23:38:37 +01:00
icogn bf5416a23d Update clang-format-check.sh and make executable (#156)
* Update clang-format-check.sh and make executable

* Make executable

Co-authored-by: Isaac <iico7no2@gmail.com>
2021-10-15 00:01:58 +02:00
lepelog f37e6017f9 speedup tp.py progress 2021-10-04 21:53:48 +02:00
Julgodis 053d821988 Removed JUtility.h and added './tp format' 2021-09-26 12:11:21 +02:00
Jonathan Wase 54d5f8eea4 JKRThread & JKRThreadSwitch (#147)
* OK __ct__15JKRThreadSwitchFP7JKRHeap

* OK createManager__15JKRThreadSwitchFP7JKRHeap

* OK enter__15JKRThreadSwitchFP9JKRThreadi

* OK callback__15JKRThreadSwitchFP8OSThreadP8OSThread

* OK draw__15JKRThreadSwitchFP14JKRThreadName_P10JUTConsole

* OK draw__15JKRThreadSwitchFP14JKRThreadName_

* OK __dt__15JKRThreadSwitchFv

* JKRThread.cpp cleanup

* Fixed tp.py and libelf, changed JUT_ASSERT macro and removed unused .s files.

* Changed JKRThread access specifiers

Co-authored-by: Julgodis <>
2021-09-24 11:13:23 -04:00
Erin Moon af5a4adcb8 prevent a ./tp progress crash when no rels are built (#142)
calculate_progress() would attempt to print a rel completion percentage
even when no rels were found. the total size of the rels would thus be
zero, resulting in a ZeroDivisionError. instead, we simply print
em-dashes in the summary columns if no rels were found.
2021-08-21 20:42:58 +02:00
lepelog acc9d692a8 __sinit_d_com_inf_game_cpp OK (#140)
* mass mng header

* d_cc_d start

* c_cc_d ok

* tmp commit

* almost, reordering of vtable functions

* progress

* more progress

* cleanup, still non matching

* mark all of d_cc_d as nonmatching to OK

* c_cc_s

* c_cc_s OK

* d_cc_mass_s OK

* cleanup

* gameinfo __sinit, not OK

* a bit of cleanup

* format

* remove asm

Co-authored-by: lepelog <lepelog@users.noreply.github.com>
2021-08-16 20:59:00 -04:00
Pheenoh 8bfe2c49f8 add make assets target 2021-06-13 19:47:12 -04:00
Pheenoh 2fe12b406e add asset extract script 2021-06-13 19:07:06 -04:00
Jasper St. Pierre d5c3fd8c2f Makefile fixes / JUTNameTab (#129)
* Makefile: Fix issues with iconv causing it to break under devkitPro / msys

The version of iconv included in devkitPro does not have a -o option,
so replace it with normal shell redirection. Also, SHIFT-JIS does not
have a mapping for ~, so output the Windows CP932 variant instead,
which does. See:
https://en.wikipedia.org/wiki/Tilde#Unicode_and_Shift_JIS_encoding_of_wave_dash
https://en.wikipedia.org/wiki/Code_page_932_(Microsoft_Windows)#Single-byte_character_differences

* Update diff configuration

-Bbinary doesn't seem to work with my copy of
bjdump (it says it can't decode unknown architecture)

Cheese things by using expected/ instead of having
the user place things manually.

* JUTNameTab

* J3DPacket / J3DDrawBuffer

* format

Co-authored-by: lepelog <lepelog@users.noreply.github.com>
2021-05-10 11:54:07 -04:00
lepelog 913bb08f51 Add requirements.txt with all necessary python dependencies and update README (#127)
Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-05-02 14:49:51 -04:00
TakaRikka 894b1d43fe move d_a_itembase_static / d_a_item_static / Z2StatusMgr (#123)
* move d_a_itembase_static

* move d_a_item_static

* moved Z2StatusMgr

* clang

* fixes

* clang?

* move d_save

* move d_meter2_info

* some d_meter2_info fixes

* move most d_a_player

* move d_bg_s stuff

* move c_cc_s stuff

* move d_cc stuff

* move d_attention / d_event / d_stage
2021-05-02 13:13:14 -04:00
Julgodis d7ccdc48be RELs progress 2021-04-10 22:32:02 +02:00
Julgodis 5d12345a03 moved strings + decompile simple store functions 2021-04-10 07:02:38 +02:00
Julgodis 9bc8bce611 auto decompile more functions 2021-04-08 21:05:48 +02:00
Julgodis cad608c551 demangle data-symbols 2021-04-08 01:47:05 +02:00
Julgodis 86cd345d20 detect more floats/doubles, including from relocations 2021-04-07 09:16:47 +02:00
Julgodis 85bd045193 building RELs 2021-04-06 18:00:35 +02:00
Julgodis 9325c67c63 __sinit and progress script update 2021-04-01 02:07:58 +02:00
Julgodis b6eed5208d .dead section fix 2021-03-31 23:22:38 +02:00
Julgodis b27bb6b262 removed double references and fixed float generation 2021-03-30 01:31:36 +02:00
Julgodis 9335ce5119 clang-format 2021-03-29 00:10:25 +02:00
Julgodis 1e95d29b60 dol2asm OK 2021-03-28 22:49:05 +02:00
lepelog 3d66902e1a fpc symbol names (#119)
* fpcCtIt_filter_JudgeInLayer

* dStage_roomControl_c::getZoneNo

* fix fpc symbol names

* format

* mUnk0 -> mLayerID

Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-03-28 14:07:21 -04:00
lepelog d555a17299 change sdahack to use la instruction (#114)
Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-02-12 19:50:24 -05:00
Pheenoh f13e0449d9 fix clang-format check (#110) 2021-01-31 20:55:56 -05:00
jdflyer 2f41a74030 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
Julgodis 867c1739fe fix padding 2021-01-29 23:17:11 +01:00
Julgodis 2470a69f70 removed dependencies and fixed usage text 2021-01-29 23:01:11 +01:00
Julgodis 7381cc5080 added option for frameworkF.map 2021-01-29 22:52:35 +01:00
Julgodis b29bb9c1d0 cleanup of python script 2021-01-29 22:52:35 +01:00
Julgodis 4d2d73d15c replace symbols with string literals and python script 2021-01-29 22:52:35 +01:00
lepelog 3802752ab4 change split.py to output extern vars/functions into generate CPP (#98)
* change split.py to output extern vars/functions into generate CPP
also change demangling to use short type names

* don't take files for extern funcs/vars anymore

Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-01-25 14:09:55 -05:00
Erin Moon 972960b6eb 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
Jonathan Wase 04354aadb9 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
lepelog 9d17d56ece Move and type PSVEC and PSMTX funcs and follow includes in functions.h (#68)
Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-01-05 12:32:20 -05:00