Commit Graph

51 Commits

Author SHA1 Message Date
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
LagoLunatic 0ff06d2974 Debug version now builds OK and all_source compiles (#2343)
* 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
2025-03-22 18:00:51 -07:00
TakaRikka eda175afc8 copy dolsdk2004 to tp / b_bh + e_mb done (#2299)
* move dolsdk2004 over

* cleanup some temp work

* finish and cleanup gf

* b_bh done

* d_a_e_mb done
2025-02-10 21:20:42 +02:00
TakaRikka b5b157ab34 d_a_horse mostly done (#2284)
* checkpoint

* d_a_horse mostly done

* some horse doc
2025-01-09 15:45:46 +02: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