Commit Graph

55 Commits

Author SHA1 Message Date
gymnast86 fa34335a09 Merge branch 'main' of https://github.com/TwilitRealm/dusk into randomizer 2026-07-14 15:33:40 -07:00
Luke Street eed14acdc6 Annotate all data with DUSK_GAME_DATA (#2214)
The hope of auto-importing data via lld MinGW
+ pseudo_reloc is now dead thanks to ARM64,
so I just wrote a script to go annotate every
exported data symbol in the game instead.
2026-07-14 13:49:21 -06:00
gymnast86 dce6b4c666 Merge branch 'main' of https://github.com/TwilitRealm/dusk into randomizer 2026-07-13 15:52:24 -07:00
Luke Street e0ab36b7d9 Stable game ABI: Use PARTIAL_DEBUG
To make sure that mods can work across debug and release build, we can utilize PARTIAL_DEBUG to enable only DEBUG changes that affect struct and vtable layout
2026-07-07 01:14:29 -06:00
gymnast86 143b548102 Merge branch 'main' of https://github.com/TwilitRealm/dusk into randomizer 2026-05-24 10:32:31 -07:00
Pieter-Jan Briers a6376368ee String safety (#1548)
* Array size UB fixes

* Fix ShieldD

* Remove (almost) all unsafe strcpy calls

Bunch of macros. C arrays are easy enough and just need a different call. For various cases where a char* is passed around bare, I've made a TEXT_SPAN macro that can store a length too for bounds checking.

* Move crash handling in safe string operations to separate TU

* strcat safe version

* sprintf made safe too

* Fix compile
2026-05-24 10:43:00 -06:00
gymnast86 bfb715e11a Merge branch 'main' of https://github.com/TwilitRealm/dusk into randomizer 2026-05-08 16:26:52 -07:00
gymnast86 38031e2545 set all letters obtained when skip minor cutscenes is on 2026-05-08 16:00:42 -07:00
gymnast86 3e99420527 allow keeping ooccoo jr through dungeon exits 2026-05-05 05:13:26 -07:00
madeline 3f560b060c 40 achievements 2026-04-30 01:48:03 -07:00
gymnast86 2b4598821b add imgui menu for generating and selecting seeds 2026-04-16 19:50:17 -07:00
gymnast86 1ff9421cea set starting time of day 2026-04-15 19:20:44 -07:00
gymnast86 da24b6a1e2 fix more startflags 2026-04-15 01:35:46 -07:00
gymnast86 14ec080a23 Add custom item functions and check functions 2026-04-14 16:51:13 -07:00
gymnast86 48da572df0 Merge branch 'main' of https://github.com/TwilitRealm/dusk into randomizer 2026-04-14 15:27:08 -07:00
Luke Street 158f31d056 Patch Twilight Hack 2026-04-14 11:33:14 -06:00
gymnast86 04a2417f02 progressive item functions 2026-04-14 02:55:09 -07:00
gymnast86 bf70de83f1 add basic chest overrides 2026-04-13 23:51:10 -07:00
TakaRikka 364400d56f save editor wip 2026-03-23 05:01:42 -07:00
TakaRikka 266c4317d9 Merge https://github.com/zeldaret/tp 2026-03-17 04:08:44 -07:00
TakaRikka 3aec45d6d7 various d_bg debug cleanup / d_menu_window_HIO debug (#3132)
* various d_bg debug cleanup

* matching forward decl for compiler compatibility

* fix build
2026-03-17 03:44:11 -07:00
Lurs a791288d95 Fixes #80
?
2026-03-16 08:35:35 +01:00
TakaRikka 1618e9b276 Merge https://github.com/zeldaret/tp 2026-03-12 17:56:51 -07:00
Max Roncace 2e75ea2444 More debug fixes for 99% TUs (#3122)
* d_a_e_hp debug code 100%

* d_a_npc_chin debug improvements

* d_a_npc_du debug code 100%

* d_a_npc_cdn3 debug code 100%

* d_a_e_rdy GCN symbol fixes

* d_a_kago debug code 100%

* d_a_e_oc debug code 100%

* d_a_e_yr debug code almost matching

* d_a_e_bg debug code 100%

* d_a_ykgr debug code 100%

* d_a_tag_hjump debug data fixes

* d_a_tag_attack_item debug data fixes

* d_a_e_df debug code 100%

* d_a_e_sh debug code 100%

* d_a_L7op_demo_dr debug code 100%

* d_a_L7low_dr debug code 100%

* d_a_e_sm2 debug code 100%

* d_a_movie_player debug code 100%

* d_a_e_st debug code 100%

* d_a_npc_aru debug code 100%

* d_a_e_yg debug code 100%

* d_a_door_spiral debug code 100%

* d_a_bg debug code 100% (still has .data issues)

* d_a_e_dn debug code 100%

* d_a_tag_attention debug code 100%

* d_a_e_bd debug code 100%

* d_a_tag_camera debug .rodata fix

* d_a_obj_movebox debug code 100% (array dtors are mismapped)

* d_a_mg_rod debug improvements

* d_a_e_rd debug symbol fixes
2026-03-11 03:07:19 -07:00
Huitzi 56890c32e8 Actor status consolidation & process profile definition editing (#3117)
* Consolidate fopAcM_STATUS into fopAc_Status_e

* Add _e suffix to fopAcStts enums

* Prepare for profile enumeration
* Correct typo in scene_process_profile_definition
* Manually handle g_profile_Obj_DamCps (inline preprocessing)
* Correct g_profile_TAG_LV5SOUP procname to enum
* Create d_priority.h

* Update process profile definitions
* Moved inline comments to the left
* Add missing fopAcStts enums
* Add d_priority.h include in f_pc_leaf.h
* Manually update d_a_obj_damCps profile

* Replace fopAcStts enums replacing and anticipatory profile size correction
* Changed profile size from literal to sizeof() in anticipation of PR #3116
* Provided putative names to staff-related status enums
* Replaced appropriate literals with fopAcStts enums

* Fix borked merge

* Rename item number enums and move to d_item_data.h

* Rename process profile name & draw priority enums

* Move process profile name & draw priority enums to appropriate files
* Moved fpcNm_ enums from d/d_procname.h to f_pc/f_pc_name.h
* Moved fpcDwPi_ enums from d/d_priority.h to f_pc/f_pc_draw_priority.h

* ACTUALLY (whoops) stage merge

* Correct item mistranslation

Co-authored-by: LagoLunatic <LagoLunatic@users.noreply.github.com>

---------

Co-authored-by: LagoLunatic <LagoLunatic@users.noreply.github.com>
2026-03-09 18:33:31 -07:00
madeline 26cd6f574a byte swap d_save 2026-03-08 21:10:27 -07:00
Luke Street 4df8ccc871 Reorganize library code into libs/ (#3119)
* Reorganize files into libs/{dolphin,JSystem,PowerPC_EABI_Support,revolution,TRK_MINNOW_DOLPHIN}

* Update configure.py and project.py for new libs structure

* Refactor `#include <dolphin/x.h>` -> `<x.h>`

* Remove `__REVOLUTION_SDK__` forwards from dolphin

* Fix dolphin/ references in revolution

* Wrap `#include <dolphin.h>` in `!__REVOLUTION_SDK__`

* Always build TRK against dolphin headers

* Resolve revolution SDK header resolution issues
2026-03-01 14:35:36 -08:00
Luke Street 38b7156a8e Another round of GCC fixes (#3115)
* 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.
2026-02-28 13:35:07 -08:00
Jcw87 25ce57cd32 d_save debug (#3087) 2026-02-11 00:04:54 -08:00
Jcw87 dbee7c8f1f d_com_inf_game debug (#3075)
* d_com_inf_game debug

* inline sorting
2026-01-29 18:58:59 -08:00
Jcw87 46da46b152 d_stage debug (#3063) 2026-01-22 21:11:28 -08:00
Max Roncace 21af98f856 Fix misspelled dSv_config_language enum values (#3056) 2026-01-19 18:15:39 -08: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
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
TakaRikka 7476c5f8fb m_Do_MemCard/d_file_select wii/debug work (#2976)
* m_Do_MemCard/d_file_select wii/debug work

* fix builds
2025-12-20 18:30:04 -08:00
Max Roncace 4fa301a6da Clean up conditional compilation a bit (#2943) 2025-12-11 15:34:16 -08:00
roeming 05c8009191 match debug for D_menu_fmap2_d (#2925)
* menu_fmap2d debug progress

* match debug for d_menu_fmap2D

* fix broken function

* fix weird shield mismatch

* fix other shield mismatch

* fix suggestions

* fix func for wii version

* match func for all versions

* remove cast from saveBitLabels
2025-12-07 17:09:47 -08:00
Max Roncace 29212f9f90 Small d_a_mg_rod fixes (#2874) 2025-11-26 20:01:55 -08:00
LagoLunatic 42e00290b4 d_a_mg_rod equivalent (#2865) 2025-11-25 22:29:44 +02:00
Max Roncace cd45b27fe9 d_a_npc_chin matching (#2822) 2025-11-18 21:10:04 -08:00
TakaRikka 93b45fd19b npcinko / myna2 done (#2780)
* npcinko done

* myna2 done

* Use sound enum

* Use FALSE instead of false when returning BOOL

* Use look mode enum

* TRUE instead of true when returning bool

---------

Co-authored-by: hatal175 <hatal175@users.noreply.github.com>
2025-11-09 11:20:51 +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
Max Roncace 783b0d9dfe Link all oustanding US-matched TUs for JP (#2671) 2025-09-19 21:32:05 +03:00
TakaRikka 5fce8ea1e1 scannon / scannon_crs / scannon_ten done (#2632)
* scannon done

* scannon_crs done

* scannon_ten done

* pr

* attention debug stuff

* attn flags

* fix build
2025-09-08 12:01:20 +03:00
Carco_21 c3c313a9fb d_a_npc_ykm work (#2566)
* initial work

* got to cut functions

* Tiny work

* All functions worked on

* took out param dtor

* naming work

* cleanup

* pr cleanup
2025-08-04 22:25:39 +03:00
Stbn-antier 37ff7ddf61 d_a_e_po 99% Matching (#2517)
* anm_init and nodeCallBack, need to review nodeCallBack as weird code

* First pass on class, 86% match

* Cleanup for PR, still work to do

* Solve error after pull

* Clangd format

* Adressing PR comments

* Update l_HIOInit

* Fix debug building, 60% match on debug :')
2025-07-15 23:35:50 +03:00
TakaRikka 100dfc70a2 add wii usa rev0 support (#2505)
* wii usa rev0 dol building ok

* wii dol cleanup

* some wii tests

* most rels building
2025-06-27 13:14:58 +03:00
Max Roncace e9f99de027 d_a_npc_henna equivalent (#2473) 2025-06-03 23:31:22 +03:00
TakaRikka 01601292a5 cleanup d_msg_flow (#2447) 2025-05-17 19:56:20 +03:00
TakaRikka 98db9a297a GCN pal / jpn support, some debug work (#2375)
* d_save debug cleanup / d_s_menu debug

* gameinfo / kankyo struct debug fixes

* pal building ok

* jp building ok

* some tests with jp

* some more pal/jp tests
2025-04-06 21:08:25 +03:00