* launch.json cwd
* bodge to load gci for testing
* stub card stat
* gameplay bodges
* viewport, ub fixes
* add release with debug info cmake variant
* be fixes, sound stub
* viewport h
* d_msg_flow BE
* be fopAcM_createItemFromEnemyID
* update launch configuration to use iso
* more audio stubs
* Attempt to set viewport and get messages for brightness check
* skip opening scene again, fixed JMessage::TResourceContainer::TCResource::Do_destroy
* add guards for viewport changes
* moar endian swapping to get Link sitting in PROC_OPENING_SCENE and for dialogues
* BE d_msg_class i_data
* stub bgm start
* fix div by 0 error (for now)
* TEMP_BROKEN in d_menu_ring
* REQUIRES_GX_LINES
* properly stub renderingAmap::draw with REQUIRES_GX_LINES
* better stubbing outside of stubs
* fix event data getting swapped multiple times
* evil draw vp fix
* Stub log imgui
This redirects all spammy logs to an imgui window that is cleared per frame.
This fixes the serious performance dip of the logging, and makes the regular log readable.
* Oops move those optimization changes I accidentally committed behind a flag
DUSK_SELECTED_OPT
* gx_line macro in map
* fix audio stubbing
* switch to CARD API aurora impl
* remove kabufuda from link libs
* refactor imgui stuff and add input viewer
* merge stub log with refactor
* accidentally committed a metaforce header shh
* basic map loader
* ImGuiConsole: Add missing <thread> include
* you may now play as luigi (you may now load stages with bridges)
* bloom fix
* bloom leak fix
* cloud shadow fix
* add soft reset button to imgui menu
* if it broke dont not fix it
* i swear i committed this
* BE swap indMtx in JPAResource::setPTev
* wnark ct fix
* frsqrte implementation from kinoko
* Fix Clang compile error in JAISeq::prepare_getSeqData_
* Add endian conversions to dMsgFlow_c::getInitNodeIndex
This fixes a freeze when Fado tries to stop you from leaving the
starting area.
* Add RAII GXTexObj wrapper; fix almost all leaks
* Update aurora for indirect texturing
* Update aurora for CARD fix
* Fix Clang build
* More d_msg_flow endian fixes
Fixes softlock when trying to talk to Fado and possibly other NPCs.
* no frame limiter
* get pause menu working
* proper frame limiting
* particle pointer size fix
* improve map loader a bit
---------
Co-authored-by: Jasper St. Pierre <jstpierre@mecheye.net>
Co-authored-by: TakaRikka <takarikka@outlook.com>
Co-authored-by: CraftyBoss <talibabdulmaalik@gmail.com>
Co-authored-by: Luke Street <luke@street.dev>
Co-authored-by: Lurs <2795933+Lurs@users.noreply.github.com>
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
Co-authored-by: tgsm <doodrabbit@hotmail.com>
Co-authored-by: Max Roncace <me@caseif.net>
Co-authored-by: Phillip Stephens <antidote.crk@gmail.com>
* Fix remaining <string> -> <cstring> for GCC compilation (#3114 follow-up)
MWerks' <string> header transitively includes C string functions
(memcpy, strlen, strcmp, etc.), but GCC/Clang's <string> is the C++
std::string header. These files all use C string functions and should
include <cstring> instead.
* Use std::isnan instead of isnan for GCC compilation
GCC's <cmath> places isnan in the std namespace. Using the unqualified
isnan fails to compile with GCC/Clang.
* Fix cCcD_Src types: s32 -> u32 for bitmask fields
cCcD_SrcObjCommonBase::mSPrm, cCcD_SrcObjTg::mType, and
cCcD_SrcObjAt::mType are used as bitmasks (SetType/SetSPrm take u32,
MskType/MskSPrm use u32, values like 0xFFFFFFFF are common in
aggregate inits). Change from s32 to u32 to match usage.
Also fix AT_TYPE_WOLF_ATTACK/AT_TYPE_UNK to use unsigned literals,
and remove now-unnecessary (s32) casts on hex literals in collision
source data.
* Mark dummy() functions as static to avoid multiple definition errors
These decomp artifact functions have the same name and signature across
TUs, causing linker errors when building as a single binary.
* Last fix for standard compiler error
* adding define guards around headers
* rename cmath.h and climits.h to cmath and climits respectively
* renaming cstdarg.h to cstdarg
* renaming cstdlib.h to cstdlib
* renaming cstring.h to cstring
* renaming cstdio.h to cstdio
* renaming cmath locale ctype
* renaming stdarg string and va_list
* renaming cstddef
* renaming stdio stddef stdlib
* renaming algorithm, functional, iterator, memory, and utility
* renaming bitset, cstdint, limits, and stdint
* renaming new and type_traits
* update quote includes for standard library headers to angle bracket includes
* Clean up various inlines/fakematches/comments
* Copy OptRuby inline name from TWW debug
* Resolve all dEvt_control_c related fakematches, return pointer instead of reference
* Fix some more missing inline usages
* Misc debug matches
* Fix d_map weak function order
* Remove old nonmatching comments
* d_menu_dmap and JASAudioThread OK, fix weak func order and rodata alignment
* More misc matches
* Fix "0" asserts
* More debug and regalloc fixes
* Fix PTMF syntax for compatibility with other compilers
* Fix some fakematches, link more TUs for J/P
* match one func and remove old comments
* d_a_e_ge matching and linked
* format files
* some docs
* try pal and jpn too
* remove comments
* merge upstream
* Fix JUT_ASSERT to be a nested define
* Switch names that appear in asserts to be constants instead of defines
* Replace `0` in asserts with `NULL` or `FALSE`
* Fix fpclassify
* Fix ARRAY_SIZE
* Use G_CM3D_F_INF
* More fixes for fpclassify
* Remove FLOAT_LABEL
* Remove incorrect FLAG_ON macro
* Remove UNK_BSS macro
* Silence clangd unused header warning for PCH
* Match mDoExt_morf_c::getPlayMode
* Misc cleanup
* Fix actor cull spheres
* Match daPy_py_c::getLastSceneSwordAtUpTime, JUTGamePad::testTrigger
* Fix improper demangling of dBgS_SphChk::SetCallback
* Fix d_camera rangef weak func order
* Match more alink_wolf funcs
* Rename several dCamera_c fields
* Refactor mWork to generic buffer instead of union
* d_camera match improvements
* Implement several dCamera_c functions
* Remove d_camera.h from PCH
The symbol names in d_camera indicate that this header wasn't
included in the PCH (as they're compiled directly in d_camera.cpp).
* Fix debug build
* Minor fixes
* Match daAlink_c::getDemoLookActor
* Fix JStudio paths in ShieldD splits
* Fix JStudio not compiling on debug
* Fix JStudio not compiling on retail, add fake header
* Fix missing arg to JUT_ASSERT
* Fix some MWCC version diff errors
* Compile m_Do_ext, d_demo, actor_mng
* Add VSCode task to quickly switch between versions
* Unlink magLift for debug
* Update the hash of the debug dol
The old cbea5fa... hash here was for the dol generated by the alf2dol.py script, which produces incorrect alignment.
The dol with the new hash can be obtained by using `dtk elf2dol` to convert the debug .alf file to a dol.
The DOL now builds OK.
* Fix all debug REL dtor splits
All RELs now also build OK, meaning `ninja build/ShieldD/ok` now succeeds.
* Add genMessage declarations to all HIO subclasses
* Fixing more compilation errors
* m_Do_mtx 100% on debug
Cannot be linked due to weak function name mangling?
* Improve various matches
* Fix all remaining compilation errors
* Fix new compilation errors from main
* Fix retail regression
* Link f_pc_profile_lst
* work on kankyo
* some more kankyo work
* kankyo almost done
* kankyo mostly done
* first cleanup pass
* some more renaming
* rename a bunch of kankyo vars
* fix regression