Commit Graph

613 Commits

Author SHA1 Message Date
PJB3005 720d59cdff Merge branch 'main' into 26-02-25-more-endian-fixes 2026-02-25 20:47:33 +01:00
PJB3005 e7861f1ee3 Fix endianness & 64-bit in 3D asset loading code
Combination of plumbing BE(T) through everything, making BE<T> have template specializations, and inverting at load time where more practical.
2026-02-25 20:20:45 +01:00
Jeffrey Crowell 9af9240253 builds on mac again
revert some useless ifdefs

rm TARGET_PC in the wrong place

remove stubbed version of functions
2026-02-25 11:09:19 -08:00
PJB3005 f2dacf2a75 Make JKRHeap::sCurrentHeap thread local
Needed because we're using true OS threading, so we can't do the normal JSystem heap changing on thread change.

Requires encapsulating it (removing the public static field)
2026-02-24 23:35:16 +01:00
PJB3005 807ea3e006 Use real line numbers for asserts
Redefine the macros to use __LINE__
2026-02-24 23:15:01 +01:00
PJB3005 d9e39c8786 Fix getMaxAllocatableSize & CMemBlock::getBlock on 64-bit 2026-02-24 21:39:45 +01:00
PJB3005 77581bace4 Fix AR DMAs & async DVD reads on 64-bit
We get to the health and safety screen!!
2026-02-24 20:48:16 +01:00
Lurs 3cfef81753 Fix JSUOutputStream uintptr_t operator conflict on MSVC x86.
uintptr_t == u32 == unsigned int on 32-bit MSVC since u32 was changed from unsigned long to unsigned int for TARGET_PC. Guard the uintptr_t overload to x64 only where uintptr_t != u32.
2026-02-24 20:42:46 +01:00
PJB3005 e2dacba262 Fix JKRArchive on 64-bit
They store the data address in the same struct that's directly loaded from archive files. This means it's impossible to expand to 64-bit directly, and instead we need to allocate the data pointers in a separate array.
2026-02-24 19:55:15 +01:00
PJB3005 fcf1f4bed1 Fix wrong forward declares (struct/class)
Requires removing the now-matching symbols from jsystem_stubs.cpp
2026-02-24 16:58:12 +01:00
PJB3005 79e9fa257f Use BE(T) for JKRArchive 2026-02-24 16:55:08 +01:00
PJB3005 a36f3aaef9 Revert accidental changes to JKRArchive.h
(not mine)
2026-02-24 16:51:27 +01:00
PJB3005 f3ca75b3b7 Use BE(T) for JUTPalette 2026-02-24 16:35:45 +01:00
PJB3005 9e02e3cfce Use BE(T) for JUTFont 2026-02-24 16:29:13 +01:00
PJB3005 750f9a044d Compile fixes for previous commit
oops
2026-02-24 15:29:08 +01:00
PJB3005 449900d2bf Fix compile with Dusk's mtx lib
Move Mtx33 and similar types to JMath

Rename mtx.h in decomp to _mtx.h so Aurora's header is used instead.
2026-02-24 13:15:21 +01:00
Lurs 8599684fae First pink screen! 2026-02-21 22:15:39 +01:00
Lurs 97e7a8b145 first try to draw first logo 2026-02-20 21:13:50 +01:00
Lurs a4d72437ef OS threading, DVD I/O, Endianness fixes, ARAM emulation, GX vertex fix
Major changes:

- Implement Big-Endian to Little-Endian byte-swapping for all RARC archive
  types (JKRCompArchive, JKRMemArchive, JKRDvdArchive, JKRAramArchive)
- Implement DVD file I/O via DvdEmu (DVDOpen, DVDFastOpen, DVDReadPrio,
  DVDReadAsyncPrio, DVDConvertPathToEntrynum)
- Fix YAZ0 decompression endianness in JKRDvdRipper, JKRDecomp, JKRAram,
  and JKRDvdAramRipper (use JKRDecompExpandSize instead of direct header read)
- Emulate ARAM with 16MB malloc buffer and synchronous memcpy in ARQPostRequest
  instead of hardware DMA transfers that hang on PC
- Add real OS threading implementation (OSContext, OSThread, OSMutex) using
  native Windows threads with side-table pattern for GC struct compatibility
- Fix font endianness for JUTResFont and JUTCacheFont
- Redirect GXVert.h to Aurora's PC implementation to prevent FIFO writes to
  the GameCube hardware address 0xCC008000
- Add Z-buffer texture format support (GX_TF_Z24X8, GX_TF_Z16, GX_TF_Z8)
  in Aurora's texture converter
2026-02-19 10:35:42 +01:00
Lurs 3b742025db Fix MSVC compiler and linker errors
- Fix struct/class forward declaration mismatches (JAIAudience, JASTrack) causing different MSVC mangled names and unresolved symbols
- Add jsystem_stubs.cpp with stubs for JASHeap, JASVoiceBank, J3DShapeTable, JAUSection, JHICommBuf, HIO/HIO2, JOR
2026-02-13 23:28:47 +01:00
Lurs 292724920c Merge branch 'wip/linkfix2' into wip/linkfix 2026-02-11 07:20:44 +01:00
Jeffrey Crowell 5d6aa01e6e Fix linker errors.
Stubbing out all OS* functions to stubs.cpp, these will likely have to
be replaced with the operating system's primitives for
locking/heaps/threads/etc.

Moved some generic globals into globals.cpp, not sure where they're
actually to be used.

Stub DSP functions

Stub JSUMemoryOutputStream, JORServer, Z2Audio

mDoExt stubs

add memcpy

add some more stubs, add extras c++ mangled functions

add extras.cpp

AR/AQ stubbing

stub DVD

stub CARD

more stubs, more extras

add missing mtx functions to dusk file

finish mtx

stub GX

KPAD and LC, also do pragma marks for better visualization

finish mtx, add a few more stubs

gf/wpad/vi

translate some matrix math from ppc to C

jorserver/debugpad/fap/dmsgobject

add m_Do_ext functions from debug block to separate file

make small janges to JSystem, does this need upstreaming

reorg DVD stubs

reorganize stubs by mark
2026-02-07 15:25:09 -08:00
roeming 81d679d207 Fix errors for msvc
Use less strict compiler flags instead of modifying source code

Add ugly defines so MSVC stops complaining about zero length arrays
2026-02-01 15:37:26 -08:00
Jeffrey Crowell ef14b2b932 Fix linker errors.
Stubbing out all OS* functions to stubs.cpp, these will likely have to
be replaced with the operating system's primitives for
locking/heaps/threads/etc.

Moved some generic globals into globals.cpp, not sure where they're
actually to be used.

Stub DSP functions

Stub JSUMemoryOutputStream, JORServer, Z2Audio

mDoExt stubs

add memcpy

add some more stubs, add extras c++ mangled functions

add extras.cpp

AR/AQ stubbing

stub DVD

stub CARD

more stubs, more extras

add missing mtx functions to dusk file

finish mtx

stub GX

KPAD and LC, also do pragma marks for better visualization

finish mtx, add a few more stubs

gf/wpad/vi

translate some matrix math from ppc to C

jorserver/debugpad/fap/dmsgobject

add m_Do_ext functions from debug block to separate file

make small janges to JSystem, does this need upstreaming

reorg DVD stubs

reorganize stubs by mark
2026-02-01 15:36:56 -08:00
kipcode66 d82453292a Merge remote-tracking branch 'decomp/main' into compile 2026-01-26 18:11:18 -05:00
kipcode66 a4246921a3 Std7 (#3068)
* fix standard compiler error for d_a_tag_TWgate

* fix standard compiler errors for J3DJoint

* fix regression in ShieldD
2026-01-27 00:20:19 +02:00
hatal175 6e1fcd4dcf Work on d_jdpreviwer (#3067) 2026-01-25 21:20:02 -08:00
TakaRikka c9e2a73dda general cleanup, d_menu_quit / d_a_obj_testcube mostly done, d_msg_scrn_explain debug (#3065)
* typedef for cPhs_Step

* make sdk includes consistent

* d_menu_quit / d_msg_scrn_explain debug

* d_a_obj_testcube mostly done

* d_debug_pad mostly done

* jstudio tool library headers

* some JStudioCameraEditor headers

* d_jcam_editor mostly done

* try fixing some shield regressions

* d_bg_parts mostly done

* fix merge errors

* debug fix
2026-01-24 23:36:23 -08:00
kipcode66 02ba53f72e Merge commit '46da46b152472c668875d67c336f59ded62d3ecc' into compile 2026-01-23 17:04:18 -05:00
Jcw87 230ef36bd1 JKernel wii (#3059) 2026-01-20 16:35:11 -08:00
Max Roncace 2ac52379df Use default parameter values in JORMContext calls where appropriate (#3057) 2026-01-19 18:18:30 -08:00
Jcw87 0440061c10 m_Do debug (#3052)
* m_Do debug

* m_Do wii data
2026-01-18 17:59:57 -08:00
kipcode66 b1e20051ce get dusk past compilation and into linking 2026-01-15 19:24:39 -05:00
kipcode66 dd67314902 Merge branch 'main' of https://github.com/zeldaret/tp into compile 2026-01-13 21:53:54 -05:00
kipcode66 223d307f70 fix va_list (#3042) 2026-01-13 17:51:14 +02:00
Jcw87 b0ac020c6d JAWWindow (#3039) 2026-01-13 17:50:47 +02:00
Jcw87 d14373cac0 J3D debug (#3037)
* J3DGraphBase debug

* J3DGraphAnimator debug

* J3DGraphLoader debug
2026-01-13 17:49:09 +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 919a7aaa96 Fix errors when building with -ipa program (#3035) 2026-01-11 19:25:26 -08:00
hatal175 f6522db159 Work on c_damagereaction and f_ap_game debug (#3033) 2026-01-11 19:22:57 -08:00
Jcw87 32b5c96b8f J2DGraph debug (#3028)
* J2DGraph debug

* J2DGraph debug
2026-01-11 19:00:04 -08:00
Jcw87 a104420d6c std-vector debug (#3027) 2026-01-10 23:39:15 +02: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
Jcw87 68c1fe29aa linklist debug (#3025) 2026-01-08 07:52:18 -07:00
Jcw87 ce48981be0 JMath debug (#3023) 2026-01-07 19:53:53 +02:00
Jcw87 631a9cc51c JFWDisplay debug (#3022) 2026-01-07 19:52:16 +02:00
Max Roncace c1aeec67aa f_pc mostly linked for Wii/Shield (#3015) 2026-01-06 04:45:15 -08:00
Max Roncace b6e14dd4c8 Misc debug include/class order improvements + link remaining Z2AudioLib TUs (#3014)
* Improve dolzel.pch ordering

* Improve JSystem include order

* Various class ordering fixes

* Link remaining Z2AudioLib TUs

* Fix some symbols in Shield and weak functions in ShieldD
2026-01-06 04:38:40 -08:00
TakaRikka eb089801c6 Merge https://www.github.com/zeldaret/tp 2026-01-05 13:46:27 -08:00
Jcw87 3726054a99 JUtility debug (#3020) 2026-01-05 04:07:04 -08:00