Commit Graph

158 Commits

Author SHA1 Message Date
TakaRikka 51df58ebb4 Merge https://github.com/zeldaret/tp 2026-03-06 22:39:33 -08:00
TakaRikka 8e2545f2ec d_s_room / d_s_name / d_a_title debug work (#3123)
* d_s_room / d_s_name debug work

* camera_class rtti fix

* d_a_title debug / handle shield rel changes

* fix shield build

* fix regressions
2026-03-06 22:30:25 -08:00
TakaRikka 3623b27f37 Revert "Isolate JKRHeap operator overloads" (#39) 2026-03-06 19:49:35 -08:00
PJB3005 3ffc3266d7 Merge branch 'main' into 26-02-27-allocator-isolation 2026-03-05 00:15:09 +01:00
TakaRikka c9a46bd65b d_s_logo / d_s_play debug work, d_a_kago cleanup, misc cleanup (#3116)
* d_a_kago cleanup

* d_s_logo wii/shield work

* d_s_logo / d_s_play debug work

* fix missing profile class sizeof's

* fix phase->id values

* build fixes

* fix dCamera_c and camera profile
2026-03-01 13:19:48 -08:00
Jasper St. Pierre 891a80b87c d_camera size fix 2026-03-01 11:45:09 -08:00
PJB3005 3750e7cfee Merge remote-tracking branch 'origin/main' into 26-02-27-pjb-dev-2 2026-03-01 15:08:52 +01:00
Luke Street 6e748ac283 More GCC compatibility/warning fixes (#3118)
* Wrap >4-char literals in a MULTI_CHAR macro

Modern compilers do not support CW's non-standard behavior with
>4 char literals. We can, however, use a constexpr function to
compute the u64 values directly. This leaves <=4 char literals
unchanged.

* Replace non-pointer usages of NULL with 0

* Define NULL to nullptr on C++11 and above

* Fix more -Wpointer-arith and -Woverflow warnings

* Replace u32/s32 with uintptr_t/intptr_t where appropriate

* JSUOutputStream: Overload all standard int types
2026-02-28 20:19:17 -08:00
Luke Street b807bedd35 More -Wpointer-arith fixes 2026-02-28 20:34:06 -07:00
Luke Street 3b8300d0d2 Merge decomp/main into dusk
Merges 44 upstream commits from zeldaret/tp decomp/main.

Conflict resolutions:
- .github/workflows/build.yml: keep deleted (not needed for PC port)
- README.md: keep PC port README
- J3DAnimation.h: keep OFFSET_PTR macro + add upstream forward decl
- J3DModelLoader.h: keep BE(u32) mBlockNum + add field_0x1c
- d_com_inf_game.h: keep PC port inlines + add upstream declarations
- global.h: keep MULTI_CHAR macro + add FABSF macro
- JUTConsole.cpp: keep uintptr_t cast for 64-bit
- JUTDbPrint.cpp: keep PC enter_() helper + add cstring include
- JUTResFont.cpp: take upstream loop/struct improvements with BE types
- JUTCacheFont.cpp: take upstream decomp fix
- float.h: use upstream !PLATFORM_GCN guard
- d_a_npc_bouS/theB.cpp: keep MULTI_CHAR() for PC portability
- d_a_npc_henna.cpp: keep uintptr_t + use upstream var name
- d_demo.cpp: keep near_/far_ field renames for PC
- d_resorce.cpp: keep uintptr_t + fix var name to res
- d_s_room.cpp, m_Do_graphic.cpp: keep dusk includes + add cstring
- m_Do_main.cpp: keep JHIComPortManager + use JAS_GLOBAL_INSTANCE_INIT
- angle_utils.h: remove redundant types.h include
2026-02-28 13:33:16 -07:00
Luke Street 5395eb1b53 Some TARGET_PC fixes 2026-02-28 13:16:02 -07:00
Luke Street 29c96f5c65 Some GCC compilation fixes (#3114)
* Fix 6-byte multichar literals

* Add `struct` to `e_ga_class::ga_s`

* Fix remaining wrong forward declares (struct/class)

* Replace `#include <string>` with `#include <cstring>`

* Guard FLT_EPSILON define to prevent redefinition

* Add missing `#include <cstring>` for direct cstring function usage
2026-02-28 12:11:00 -08:00
PJB3005 b598f856b4 Make stage loading work on LE & 64-bit 2026-02-28 13:17:05 +01:00
PJB3005 038ef4216f Isolate JKRHeap operator overloads
Fixes #25

This isolates the JKRHeap operator new/delete overloads. Every single new/delete site in the code has been replaced with a macro.

Sadly for new[] and delete[] we have to keep global operators. The global new[] just allocates into malloc() however, and delete[] goes into free() if it's not in a JKRHeap. So that's fine.
2026-02-27 23:11:59 +01:00
Lurs 8599684fae First pink screen! 2026-02-21 22:15:39 +01:00
roeming 7c71acb6b6 match d_a_npc_tk for debug (#3046)
* match d_a_npc_tk for debug

* fix macro usage

* fix whitespace
2026-01-17 15:45:52 +02:00
kipcode66 9b7e55965f standard compiler compatibility changes (#3040)
* move math to cmath

* replace stdarg to cstdarg

* change stdint to stdint.h

* minor fixes

* change stdio to cstdio

* change stdlib to stdlib

* renamed ctype to cctype

* fix missing argument for UNSET_FLAG
2026-01-13 00:48:25 +02:00
Max Roncace 91d97cf3f4 d_camera debug almost matching (#3032) 2026-01-11 19:20:17 -08:00
roeming 37ec227b3f first round of constants cleanup (#3021)
* first round of constants cleanup

* move m_PI_D definition

* remove compatibility comment

* add future version of angle subtracting with/without cast

* whitespace change to run builds again
2026-01-10 23:38:04 +02:00
kipcode66 ea53712c30 Add guards around std library headers (#3013)
* 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
2026-01-05 03:50:45 -08:00
Niklas Bauer df0ffcd87c f_op debug work (#2991)
* f_op debug 1

* f_op debug 2

* f_op debug 3

* f_op debug 4

* f_op debug 5

* f_op_debug fix build

* f_op linking

* remove goto in fopac_create

* fix regressions

* fix regressions

* pr comments
2025-12-26 13:17:51 -08:00
LagoLunatic 11b713902f Resolve all gameInfo fakematches (#2995)
* 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
2025-12-24 16:57:36 -08:00
LagoLunatic e8c70fb18f Clean up code, remove fakematches, add UNUSED, enable warnings (#2992)
* Remove NDEBUG_DEFINED fakematch, clean up getName temps

* Fix ifdef

* Fix bad JSystem pch ifdef breaking decomp.me

* Remove Acch Chk fakematches

* Private Acch fields

* Fix some clangd errors in headers

* Add UNUSED macro for matching debug parameters

* Enable clangd unused-parameter warning

* Remove extern from initializers

Probably added by dol2asm?

* Fix process profile definitions

* Remove leftover dol2asm address comments

* Remove some unnecessary double casts

* Enable some more clangd warnings

* Fix missing usages of fopAcM_ct

* Fix wrong enum usage

* Fix more fakematches
2025-12-23 15:53:10 -08:00
TakaRikka 46d53ab65f MSL_C header cleanup (#2988)
* msl_c header cleanup

* math header cleanup

* fix rest of shieldD configs

* cleanup cflag configs a bit

* fix shield build
2025-12-23 10:20:32 -08:00
kipcode66 9ac6dd0044 next round of standard compiler fixes (#2969)
* next round of standard compiler fixes

* Fix weak function order issue

* fix missmatch with ShieldD version
2025-12-21 17:48:09 -08:00
LagoLunatic dd7c91f3d3 Miscellaneous data fixes (#2983)
* Replace bss lbl_ with init$0000

* Rename l_HIOInit to hio_set

The name is excluded from TP's weird maps, but hio_set is the name they used in TWW's maps.

* Fix a couple more init$ names

* Fix nbomb missing some bss

* Fix camera localstatics having wrong name

* Rename l_initHIO to hio_set

* A couple manual fixes

* Rename hioInit to hio_set

* Couple more manual fixes

* Fix d_a_npc_cd2 data and function order

* More data fixes

* Fix inconsistent hex vs decimal
2025-12-21 16:43:06 -08:00
roeming 811d9c0a8d match last function in d_camera.cpp (#2971)
Co-authored-by: Cuyler36 <Cuyler36@users.noreply.github.com>
2025-12-19 17:24:18 -08:00
kipcode66 aeb51cade5 Improving compatibility with standard cpp compiler (#2920)
* Improving compatibility with standard cpp compiler

* Add __REGISTER macro for non mwcc compatibility

* Fix for PR comments

* fix missing define for revolution

* Simplifying cSAngle conversion
2025-12-06 21:08:05 -08:00
TakaRikka dfa8efa97b project cleanup (#2895)
* some wii OS fixes

* remove old dol2asm comments

* remove dol2asm.h

* remove function address comments

* normalize ATTRIBUTE_ALIGN usage

* DECL_WEAK macro

* fix gcc attribute weak macro

* wrap more mwcc specific things in ifdefs

* fixes

* fix revo sdk version flags

* fixes
2025-11-30 15:23:42 -07:00
Max Roncace da16badc8a Move cBgS_GrpPassChk and cBgS_PolyPassChk to separate headers (#2861)
This is supported by RTTI ordering which only makes sense if these
classes are in separate headers from the dBgS_* classes.
2025-11-25 18:39:11 +02:00
LagoLunatic 4bc21e9bea Fix more nonmatchings (#2850)
* Fix GetPolyIndex and GetBgIndex, fixing a couple regallocs

* Match daNpcCd2_c::checkFearSituation and daNpcCd2_c::getAnmP

* Match daAlink_c::jointControll

* Clean up float class checks

* Move float constants to global.h
2025-11-23 15:23:44 -08:00
TakaRikka 691aac252b wii building OK / m_Do_graphic debug work (#2815)
* wii building OK + m_Do_graphic debug work

* d_meter_HIO debug cleanup

* wii m_Do_graphic stuff

* tag_attack_item OK, mirror_chain almost

* fix build

* mg_fshop matching
2025-11-17 20:01:03 +02:00
LagoLunatic 6ec6fce8cb Fix JUT_ASSERT and several other macros (#2711)
* 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
2025-09-28 13:11:07 -07:00
LagoLunatic d11c4ac8a9 Misc matches and fixes (#2703)
* 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
2025-09-26 18:50:46 -07:00
TakaRikka b822d25e2d cleanup event stuff (#2688)
* cleanup event stuff

* fix debug
2025-09-23 14:20:38 +03:00
Max Roncace 6b1f5b95de d_camera almost matching (equivalent) (#2633) 2025-09-08 14:41:07 +03:00
Max Roncace 30afae62d1 d_camera improvements (part 1) (#2623)
* 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).
2025-09-03 10:32:02 +03:00
Max Roncace c897597fc1 Add a precompiled header for RELs (#2597) 2025-08-24 09:52:08 +03:00
Max Roncace 1be4c97a3b d_a_e_hp almost matching (#2585) 2025-08-15 12:50:49 +03:00
Łukasz Starzyk 69870d11bf New matches in d_camera_c (#2498)
* dCamera_c::blureCamera matching

* store progress

* camera store matching (regalloc)

* setEventRecoveryTrans matching

* matched currentEvCamera and runEventRecoveryTrans

* Fix
2025-06-24 21:51:18 +03:00
YunataSavior 7fdbc22fea d_a_npc_ks equivalent (#2481) 2025-06-10 19:19:55 +03:00
hatal175 5b8f2102e7 Sakuita rope Matching (#2470)
* Change dComIfGp_getAttention to return a pointer

* d_a_obj_sakuita_rope Matching
2025-06-01 20:36:19 -07:00
TakaRikka e65e571498 alink data cleanup (#2397) 2025-04-16 23:03:00 +03:00
LagoLunatic cb8a9815b1 d_stage cleanup (#2392) 2025-04-13 20:54:57 -07:00
Caroline Madsen 03fafe3e15 d_camera work (#2369)
* bumpCheck matching

* checkGroundInfo matching

* chaseCamera matching

* lockonCamera attempted

* talktoCamera matching

* subjectCamera, magneCamera matching

* colosseumCamera close, plus various fixes

* towerCamera attempted

* hookshotCamera matching
2025-04-01 19:05:30 -07:00
TakaRikka 90c07136bd b_gnd equivalent (#2340)
* b_gnd equivalent

* fix dEvt_info_c inlines

* fix some more inlines
2025-03-23 21:55:28 +02:00
Caroline Madsen c1d444de70 d_a_npc work (#2306) 2025-02-23 14:43:25 -08:00
TakaRikka dc32cbd7e6 d_a_obj_carry mostly done (#2301)
* d_a_obj_carry mostly done

* cleanup some acch inlines
2025-02-13 10:37:46 -07:00
LagoLunatic a60b7f3e99 Fix spurious differences when using ninja diff (#2294)
* Fix spurious differences when using ninja diff

* Fix some clangd errors/warnings
2025-01-26 22:01:05 -08:00
TakaRikka e7b0ad79e0 tbox/camera/d_bg_w_kcol work and cleanup (#2262)
* some camera/tbox cleanup

* d_bg_w_kcol work

* make item name enum better
2024-12-10 18:46:19 +02:00