Commit Graph

69 Commits

Author SHA1 Message Date
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 ab389c5f49 Merge remote-tracking branch 'decomp/main' into 26-02-27-pjb-dev-2 2026-03-02 12:36:59 +01:00
Luke Street 9649319ec4 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
TakaRikka 12eb254d76 switch to dtk setup (#2203)
* switch to dtk setup

* some cleanup / fixes

* cleanup d_a_alink literals

* Restore doxygen, update CI & README.md (#1)

* Fix build image ref (#2)

---------

Co-authored-by: Luke Street <luke@street.dev>
2024-10-10 08:29:58 -06: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 ba4847e9cc d_a_shop_item, d_a_b_go, d_a_b_gos OK (#2085)
* d_a_shop_item OK

* d_a_b_go OK

* d_a_b_gos OK

* remove asm

* some work on d_a_b_oh / d_a_b_zant_sima

* d_a_startAndGoal done
2024-03-07 20:23:18 -07:00
hatal175 5a735a4956 Fix _stack_addr to match OSInit and __OSThreadInit (#2042) 2024-01-21 16:51:34 -08:00
TakaRikka 49a4319fb8 OSLink done (#2038) 2024-01-20 12:53:06 +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
TakaRikka 4bd825e76c most of TRK done / some misc work (#2030)
* work on d_file_sel_warning

* various cleanup

* attempt to fix d_gameover

* event cleanup

* trk work

* most of TRK done

* remove asm
2024-01-12 18:43:52 -08:00
TakaRikka a7edd19f16 MSL_C fully matched / some SSystem cleanup/ obj_rgate OK (#2011)
* cleanup SSystem files

* MSL_C fully matched

* fix build

* remove asm

* reorganize MSL_C/Runtime libs into more accurate setup

* little more cleanup

* cleanup some MSL headers

* obj_rgate OK

* remove asm

* some rgate documentation
2023-12-25 17:31:05 +02:00
hatal175 0de0339250 Some GX work (#1998)
* Some GX work

* GXFrameBuf work

* Import GXAttr functions and enums

* Import most of GXTev

* Import most of GXPixel

* Import GXFifo

* Import some of GXInit

* Import and work on GXTransform

* Import GXPerf

* A little work on GXTexture
2023-12-06 15:57:35 -08:00
hatal175 334a1111d5 Import OSFont (#1995) 2023-11-29 04:54:55 -08:00
hatal175 6b0df1f30d Work on OSExec, OSReboot OK (#1992) 2023-11-27 01:00:11 -08:00
TakaRikka 84e4135053 k_wmark / k_wpillar OK, fop actor enums / debug building (#1946)
* d_k_wmark / d_k_wpillar OK

* make debug buildable / add assert functionality

* add more fop actor enums

* remove asm
2023-09-28 12:01:42 -07:00
hatal175 00bbaf6216 Z2WolfHowlMgr, d_bg_s, quat OK (#1887) 2023-08-18 01:01:51 -06: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
hatal175 2275eb710b Work on J2DMaterialFactory (#394)
* Work on J2DMaterialFactory

* J3DUClipper OK

* Work on JAISoundStarter

* JAISoundHandles OK

* JAISoundInfo OK

* Fix JAISound::isStopping

* Work on J2DTextBoxEx

* dspproc OK

* osdsp OK

* osdsp_task OK

* Work on dsptask

* Import some JASCalc code

* JASCallback OK

* JASOscillator OK

* JASLfo OK
2023-08-01 00:17:21 -07:00
hatal175 ae83c59703 Use compiler 1.2.5n instead of frank (#372) 2023-07-16 22:21:18 -06:00
Tal Hayon e00ce8bc31 Work on J3DMaterial 2023-07-09 20:21:18 +03:00
Tal Hayon bf7e686ef7 Work on d_a_mirror 2023-06-30 19:29:50 +03: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
Jcw87 b440ae74fb MSL_C (#319)
* MSL_C/string.h

* MSL_C/stdlib.h
2023-04-24 15:28:31 -07:00
Pheenoh 3cdef97cb8 d_file_select, JASResArcLoader, d_a_obj_stone, d_a_obj_stone_mark (#309)
* setup TU

* JASResArcLoader OK

* d_a_obj_stoneMark work

* some funcs in d_a_obj_stoneMark

* many changes

* quat, d_a_obj_stone, d_a_alink, fix python script, tidy makefile

* d_file_select functions + pr cleanup
2023-03-17 21:05:06 -06:00
TakaRikka bf663a0e3d d_a_kytag06 fully done / d_msg_class/object work (#300)
* d_a_kytag06 OK and d_msg_class/object wip

* add some GXDraw functions

* cleanup kytag6

* remove asm
2023-02-25 18:23:13 -08:00
hatal175 d449897b87 Misc matches (#274) 2023-02-09 08:52:32 -07:00
Tal Hayon 118a3f288f Only DVDLowRead left in dvdlow 2023-02-03 12:01:55 +02:00
Tal Hayon 71e7f2ae27 Match SeekTwiceBeforeRead 2023-02-01 19:36:14 +02:00
Tal Hayon 687e04ffbe Match dvdlow Read and extract repeating code to __setAlarm 2023-02-01 17:35:03 +02:00
Tal Hayon 61d2b9a5c1 Work on dvdlow, OSTime fix and various nonmatching 2023-02-01 16:40:19 +02:00
Tal Hayon 7c49fbffb6 Match __OSDispatchInterrupt and AIRegisterDMACallback 2023-01-28 21:20:01 +02:00
Tal Hayon 0436820724 Work on OSThread 2023-01-28 17:51:25 +02:00
Tal Hayon 09f3d66390 Work on various dolphin libs 2023-01-27 18:38:26 +02:00
hatal175 d17c122e4d Continue robbing prime github dolphin libs blind (#254)
* Continue work on dolphin libs

* tp.py pull-request should print rels by default
2023-01-24 13:22:40 -07:00
hatal175 e3379b977f Work on dvd, si, os and exi (#249) 2023-01-23 08:02:24 -07:00
hatal175 7825666971 Add 1.2.5e to several makefiles and matching dolphin lib stuff (#247)
* Fix select_occurence in diff.py

* Use 1.2.5e and metroid prime decomp to match dlphin lib funcs

* Fix FRANK_COMPILER WINE typo

* Double WINE use removal

* Organize dolphin compiler makefile names

* Use inline auto instead of special inline where applicable
I couldn't make CARDOpen work with the flag though
2023-01-20 10:51:21 -07:00
Tal Hayon e1419fe719 Match PADControlMotors 2023-01-16 21:10:26 +02:00
Tal Hayon ba79ab4789 Match PADRecalibrate 2023-01-16 20:55:36 +02:00
Tal Hayon 41221f7df9 Match PADReset 2023-01-16 20:47:31 +02:00
Jcw87 dd984e3b8e Generate makefiles from dol2asm 2023-01-06 03:52:59 -08:00
jdflyer 5b34700cb2 Add frank.py 2023-01-02 19:44:52 -07:00
TakaRikka f070ee948f dolphin lib work (#237)
* getLayerNo_common_common finally matched

* dolphin ai / ar / card work from prime decomp

* work on dolphin dvd / dsp / db

* more dolphin os work

* si work

* remove asm

* build fix
2023-01-02 12:20:10 -07:00
TakaRikka ca71275bbe big d_a_alink pass (#214)
* d_a_alink pass1 wip

* more d_a_alink work

* remove asm

* more daalink work

* 20% dol code decompiled

* fixed some nonmatchings for building

* a few daalink functions and labeling some HIO data
2022-12-19 12:06:32 -07:00
TakaRikka 1114b13da8 clean up dolphin files / work on some rels (#212)
* d_a_alldie / d_a_tboxSw / d_a_tag_gstart / d_a_tag_hstop

* dolphin OS work / cleanup

* dolphin GX work / cleanup

* finish changing dolphin files to C

* more files into C

* match rest of MSL_C math functions

* more dolphin files converted to C

* remove asm

* d_bg_w work

* remove asm

* d_a_alink work / kytag14
2022-11-11 11:09:48 -07:00
TakaRikka 6d006074a7 d_attention / d_demo / d_lib work 2022-10-18 05:15:45 -07:00
TakaRikka f8979749e3 j2d / map_path work, d_drawlist / d_attention cleanup (#208)
* work on fop actor / actor mng, daalink, d_a_obj_item

* d_a_title mostly decompiled

* daalink / d_event / JMessage / dmsg_out_font work

* msg_scrn_base / msg_scrn_boss

* some work on mDo machine, d_menu_save, d_tresure, and various

* remove asm

* progress

* finish d_menu_save / d_pane_class_alpha / d_pane_class / rename some data

* rename more data

* remove asm / progress

* match all of d_pane_class

* fixes / some dKankyo doc

* bunch of j2d work. d_drawlist / d_attention cleanup

* progress / asm

* cleanup wip

* decompile JStage

* setup some more JStudio structs

* set up d_demo classes

* some d_demo work

* cleanup dolphin os stuff

* some initial dEvent documentation

* some At collision documentation

* match JUTConsole::doDraw

* dbgs work / split up some of d_a_alink into .inc files

* d_a_alink_spinner work
2022-08-30 15:22:17 -06:00
Jcw87 fb9dd3cdee JKRDvdRipper, JKRSolidHeap (#199) 2022-06-07 16:03:27 -04:00
Jasper St. Pierre 2358fd042d J3DShape: OK progress 2022-04-24 01:57:06 -07:00
TakaRikka 02c7a47f13 move remaining old progress (#186)
* move remaining old progress

* remove asm
2022-03-26 13:17:17 -04:00