Commit Graph

64 Commits

Author SHA1 Message Date
Luke Street 7dba5738b6 Widescreen rework & IR scaling 2026-04-17 23:11:43 -06:00
Luke Street 366fc700bf Make HUD viewport respect SDL_GetWindowSafeArea 2026-04-16 22:47:02 -06:00
Jasper St. Pierre 129dbf2458 bloom2 wip 2026-04-13 01:29:21 -07:00
PJB3005 71a8642f19 Merge remote-tracking branch 'decomp/main' 2026-04-11 19:59:09 +02:00
Irastris eaec6487a3 Implement unlocked framerates via interpolation (#315)
* Disable waitForTick and waitBlanking

* Initial frame interpolation implementation

* Initial batch of speed fixes

* Fix Iron Boots

* Strip dead code once used for debugging

* Interpolate shadows

* Revert overzealous/redundant lookups

* Fix JUTFader

* Fix field map cursor

* Fix various particle effects

* Fix Midna when riding Wolf Link

* Fix title logo

* Title Logo 2: Electric Boogaloo

* Fixed grass and flowers

* "Unlock Framerate" config option (WIP)

* Wrap more things in TARGET_PC

* Finish wrapping things in TARGET_PC

* Missed one

* Disable dComIfGd_drawXluListInvisible when interpolating

---------

Co-authored-by: Luke Street <luke@street.dev>
2026-04-11 01:06:25 -06:00
Max Roncace d7c34741e2 Replace magic constants derived from framebuffer size (#3144) 2026-04-10 23:43:37 -07:00
MelonSpeedruns 97db5f8fa6 fix reticles for good 2026-04-05 16:55:52 -04:00
MelonSpeedruns 0ef5eadea2 initial commit with working 3D view at all times 2026-04-05 16:55:48 -04:00
TakaRikka 08268eb015 add mirror mode toggle 2026-04-02 19:08:30 -07:00
PJB3005 576937f8b0 Don't include logging infrastructure in m_Do_graphic.h
This ends up wasting a ton of compile time because it pulls in all of Aurora's log infrastructure and fmt and all the noise into a thousand game files
2026-03-29 04:35:44 +02:00
qwertyquerty 6be51c09c5 Ongoing gameplay dev (#49)
* 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 <l_werdes@gmx.de>
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>
2026-03-12 04:01:03 -07:00
Pieter-Jan Briers 00ed9402cd 26 02 27 pjb dev 2 (#41)
* fix kankyo UB

* Fix TEV Stage DL writing

BE issue

* BE Fixes in materials/shapes

* Move to Aurora GD impl

* JUTDataFileHeader

* j3d: load vertex and texture not through GD

* Endian swap vertex data (mostly)

* Just exit(0) when closing the game

Fix crashes :godo:

* fix fopAcM_ct_placement and remove memcpy

* J3D: track vertex arrays correctly, swap work

* fix visibility, turn off overridden new/delete when we call into aurora

* event: cut name be

* Default window improvements

Double size, allow OS to decide position

* survive TParse::parseHeader_next

* color swap fix

* swap endian/fixes oob function pointer

* Remove GXGetViewportv stub

Aurora has it now

* Set array pointers via GD again

Relies on https://github.com/encounter/aurora/pull/35

* Let Aurora decide graphics backend

* disable procbar drawing

* Fix TColor endianness conversion issues

Fixes the wrong color for the flashing logo

* cam param swap

* simplify vtx loading, mat/amb color fix

* endian swap stb/fvb data

* aurora stat changes

* fix storage buffer crash

dont unnecessarily reassign vertex buffers in a way that forces aurora to recache things

* set bgobj spec fix

* add camera debug, endian swap more stb data, d_a_bg_obj::spec_data_c swapped

* JKRExpHeap: fix bad allocator slowdown

* solid tex

* texture caching

* log level

* fix window aspect ratio, disable bloom, endian swap camera type data

camera is now actually playing opening cutscene!!!!

* add GXDestroyTexObj to a couple stack init'd GXTexObjs, remove some diag printfs

* endian swap joint weight envelope data

* move to dusk config

* verbose arg errors

* better stub logging (for now)

* less logging, more BE

* more stubbing, move logging stuff around

* move all logging to aurora logging

* fix STUB_LOG, __FUNCTION__ isn't a string literal, wasn't building as it
was.

* update aurora

* fix heap alignment mismatch and always head align for now

* prevent them from fucking up my shit

* forward jut warning to DuskLog

* remove report logging

* maybe and i must emphasize maybe fix JMessage parsing

* this was a dumb idea

* preserve negative alignment for JKRHeap

* use normal free on macos and linux

* ^

* fix JMAHermiteInterpolation c impl

* endian swap J2DScreen mColor (oops)

* swap more J3D anim data, remove weird pointer addr check in J3DMaterial getMaterialAnm

* typo fix

* Fix aligned_alloc() size issues on POSIX

aligned_alloc() requires its input size to be a multiple of alignment. This wasn't being upheld so there were allocation failures in init code that made the game fail to start outside Windows.

Also just cleaned up some of this code a bit and removed fallback cases that *shouldn't* get hit.

* _Exit instead of exit()

Seriously I don't want destructors to run. Let the OS reclaim that shit.

* Reapply "Isolate JKRHeap operator overloads" (#39)

This reverts commit 78d4169929.

* Fix some oopsies

* Fix hardcoded pointer size in JUTCacheFont::allocArray

* More operator overload fixes

Add void template specialization for jkrDelete

Add new[] placement overload. Apparently.

* Fix delete macros on nullptr

TIL C++ allows that.

* fix delete[]

* fix new(std::nothrow) overload

* fix avoid ub

* swap remaining anim data needed for title logo

* get rid of op 7

* move aurora_end_frame to correct spot

* juttexture destroy tex

* j2d animation be

* shutdown crash

* link warp material fix

* mDoExt_3DlineMat1_c fix

* hacky keyboard controls

* endian swap J2DResReference, add kb_pad to files.cmake

* fix some missing endian swaps in J2D, remove addr alignment check

* Remove heap unsetting in aurora calls

Never worked properly and not the right solution even if it did

* Don't print in DC stubs

They're fine to never implement

* Fix alignment stuff again

* Compile GF from dolphin lib

Doesn't seem to break anything and shuts up some stub warnings

* j3dtexture tlut obj fix

* addTexMtxIndexInDL fix

* don't recreate null tex data every frame

* the actual fix i wanted to push

* its kinda fakematch city over here

* insert hte efb copy

* limited window size / viewport support

* IsDelete FIX

---------

Co-authored-by: madeline <qwertytrogi@gmail.com>
Co-authored-by: Jasper St. Pierre <jstpierre@mecheye.net>
Co-authored-by: Jeffrey Crowell <jeff@crowell.biz>
Co-authored-by: TakaRikka <takarikka@outlook.com>
Co-authored-by: CraftyBoss <talibabdulmaalik@gmail.com>
Co-authored-by: Lurs <l_werdes@gmx.de>
2026-03-08 15:27:15 -07:00
PJB3005 3a0b45c508 Switch to Aurora headers for GX/VI
Replace GXSetArray() with GXSETARRAY() taking in size everywhere

Fix a ton of structs/enums being referred to with underscore name.
2026-03-02 12:00:53 +01:00
Luke Street 32c32a73ca 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
Lurs 22a86deb76 First pink screen! 2026-02-21 22:15:39 +01:00
Max Roncace a790efafc5 d_cursor_mng mostly matching (#3101) 2026-02-17 22:58:52 -08:00
Jcw87 21de544196 d_com_inf_game debug (#3075)
* d_com_inf_game debug

* inline sorting
2026-01-29 18:58:59 -08:00
Carco_21 87732304d1 d_particle debug work (#2944)
* misc work

* more work

* fixed error

* more work

* PR cleanup

* missed cleanup

* error fix

* wii fix
2025-12-12 20:54:42 -08:00
Max Roncace 8ad2d661a2 Clean up conditional compilation a bit (#2943) 2025-12-11 15:34:16 -08:00
TakaRikka a6e76c0841 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
TakaRikka 638c0b968c npc_gnd finished, movie_player almost done (#2818)
* movie_player mostly done

* d_a_npc_gnd done

* fix fshop debug match
2025-11-18 01:34:34 -08:00
TakaRikka 540217c31b 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
hev7 2387021347 d_a_npc_pouya matching (#2806)
* d_a_npc_pouya matching

* mItemPartnerId fix
2025-11-15 04:02:24 -08:00
TakaRikka 73927f50a9 kankyo / m_do_ext debug stuff (#2759)
* kankyo debug work

* finish draw packets
2025-10-28 05:55:46 +02:00
TakaRikka 850fae1aa3 m_Do_main / f_ap_game / f_op_actor debug work and misc (#2744)
* m_Do_main / f_ap_game debug stuff

* revolution sdk compatibility

* f_op_actor debug work

* rename fopAcM_SetupActor to fopAcM_ct

* fix build

* fix jp/pal splits
2025-10-19 20:30:49 +03:00
Max Roncace 54f5a36264 d_camera almost matching (equivalent) (#2633) 2025-09-08 14:41:07 +03:00
LagoLunatic 956e84b0e7 Start linking some TUs on debug and PAL (#2612)
* Fix clang union handling (affects all TUs including d_camera.h)

Union members with non-trivial ctors/dtors is undefined behavior and clangd normally throws a fit and refuses to parse the whole union, but it seems to be possible to ifdef the problematic ctors out for non-mwerks compilers and explicitly tell modern compilers to use the defaults instead. Thanks to encounter for this fix.

* Link all TUs that already match on debug

In order to link TUs for debug, most functions seem to need to have their alignment set to 16 in symbols.txt. There are a few hundred functions that seem to be the exception and break when their alignment is set to 16, but I don't know the reason for this.

* Remove some fakematches (nosyminline/sym off) for weak func order in retail

* Fix clang not knowing that MSL_C++ is C++

* Link more debug TUs

* Fix missing PAL split

* Fix wrong slashes being used in includes

* RZDE01_00: Fix incorrect capitalization in config.yml

* Add RZDE01_00 to configure task

* Revert configure.py to use MatchingFor

* Fix PAL splits and symbols, link matching PAL TUs
2025-08-27 17:37:31 -07:00
Max Roncace 513816ce5c Add a precompiled header for RELs (#2597) 2025-08-24 09:52:08 +03:00
Max Roncace ddf4fc0677 Misc framework fixes (#2578) 2025-08-10 23:22:28 -07:00
TakaRikka 227cf2353a some more wii tests/improvements (#2512)
* some more wii tests/improvements

* merge Z2AudioCS changes
2025-07-01 01:17:50 +03:00
LagoLunatic 23cba4d117 getDemoIDData matched, fix up various inlines and template classes (#2489)
* Fix debug build

* getDemoIDData matched, fix up various inlines and template classes

* Remove nonmatching comments
2025-06-17 22:11:53 -07:00
hatal175 cc3e0856bf Misc Matches using debug (#2388) 2025-04-11 14:54:08 -07:00
Caroline Madsen 15a807bb7b e_rdy mostly done (#2324)
* e_rdy work

* e_rdy work

* e_rdy work

* e_rdy mostly done

* e_rdy fix hit direction
2025-03-12 16:02:03 -07:00
TakaRikka ebd7e3feed d_error_msg mostly done, little Z2LinkMgr work (#2248) 2024-11-12 05:41:55 -05:00
TakaRikka 650e1c44a4 work on d_a_movie_player (#2246)
* work on d_a_movie_player

* d_a_demo_item mostly done
2024-11-11 17:53:04 +02:00
Caroline Madsen 09423b6fa0 more misc. cleanup (#2232) 2024-10-31 17:36:11 -07:00
hatal175 3dadc80c5e d_a_obj_tp OK + other rels that matched almost as is (#2218)
* d_a_tag_yami OK

* d_a_tag_watchge matched as is

* d_a_tag_wara_howl matched as is

* d_a_tag_waterfall matched as is

* daTagTheBHint_c matched as is

* daZraFreeze_c Matched as is

* Revert nosyminline argument

* d_a_obj_tp OK
2024-10-19 02:01:46 -07:00
Pheenoh a61e3491f7 d_a_e_fz work, doxygen revamp (#2127)
* initial freezard actor struct + setActionMode OK

* daE_FZ_Draw

* setReflectAngle

* mBoundSoundset

* daE_FZ_Execute & execute

* demoDelete

* daE_FZ_Delete & _delete

* CreateHeap

* useHeapInit

* cc_set

* mtx_set

* action WIP

* way_gake_check

* executeRollMove

* executeMove

* draw WIP

* executeDamage

* checkpoint

* create

* checkpoint

* daE_FZ_c::executeWait

* checkpoint

* daE_FZ_c::damage_check almost done

* rm asm

* rm headers

* setup_profile WIP + doxygen update

* fix merge issues

* docs fix?

* fix2

* doxygen updates

* setup g_profile_E_FZ, profile setup script WIP

* update github actions

* update progress.md
2024-04-12 00:10:30 -06:00
TakaRikka 483253ae43 b_bq done (except weak funcs) (#2110) 2024-03-28 08:49:59 +02:00
TakaRikka 36a29bc4fe various fixes / matches (#2052)
* some fixes in d/s, d_item, d_shop

* fix for dKankyo_DayProc weak generation

* d_cc_uty fix

* some d_name / d_com_inf_game / f_op_actor_mng matches

* fix some player inline virtuals

* remove asm
2024-01-29 17:39:51 +02:00
TakaRikka 981cfe7283 almost all of dolphin matched (#2036)
* TRK full match

* remove trk asm

* ar done

* cleanup some dolphin headers

* more dolphin cleanup

* cleanup / GD fully matched

* almost all of GX fully matched

* GX / Mtx full matched

* most of OS done

* pad done

* most of VI

* remove asm

* forgot couple vec funcs

* couple JUtility matches
2024-01-20 02:22:19 +02:00
hatal175 402666242b work on d_msg_class and JUTResFont (#2015)
* JUTResFont - Set symbols on

* Work on d_msg_class
2023-12-28 22:45:53 +02:00
TakaRikka 016a5e683b d_kankyo work / d_particle_copoly OK (#1953)
* d_kankyo work / d_particle_copoly OK

* remove asm
2023-09-30 20:53:18 -07:00
Pheenoh 7fd7d0c1f3 d_a_obj_carry work, SETUP_ACTOR macro, header cleanup (#1885)
* d_a_obj_carry work, SETUP_ACTOR macro

* rm headers, add script

* progress

* macro rename, consistent spacing
2023-08-16 12:07:52 -07:00
Tal Hayon a368ff7a6d Work on m_Do_graphic 2023-07-07 18:07:58 +03:00
Jcw87 7af48a0078 d_menu_collect 2023-06-26 18:58:11 -07:00
hatal175 2e6e468928 Work on d_resorce, d_vibration, d_tresure and others (#347)
* Work on d_resorce

* Work on d_a_tag_TWgate

* Work on d_meter_map

* d_tresure OK

* Work on d_vibration

* Work on d_a_npc

* Work on d_a_npc

* Work on d_a_npc
2023-06-19 14:39:09 -06:00
hatal175 fcb6ae541f setFadeColor fix, some d_msg_flow functions (#339) 2023-05-28 00:21:28 -07:00
Jcw87 221f40e609 Remove #includes from headers (#334)
* add "global.h" to files that use it

* add MSL_C includes to files that use them

* remove dolphin includes from headers that don't need them

* remove JSupport includes from headers that don't need them

* remove JKernel includes from headers that don't need them

* remove JUtility includes from headers that don't need them

* remove J3D includes from headers that don't need them

* remove J2D includes from headers that don't need them

* remove JAudio2 includes from headers that don't need them

* remove Z2AudioLib includes from headers that don't need them

* remove JMessage includes from headers that don't need them

* remove JParticle includes from headers that don't need them

* remove SComponent includes from headers that don't need them

* remove dol includes from headers that don't need them

* sort includes
2023-05-12 12:10:14 -07:00
TakaRikka a01d65b0b9 d_ky_thunder done / d_scope wip / m_Do_graphic wip (#308)
* d_ky_thunder OK + misc build fixes

* d_scope mostly done

* some m_Do_graphic wip

* remove asm
2023-03-14 15:27:46 -07:00