* Basic PAL ISO & language support
Probably still needs much more work
* Add language selector to pre-launch
* Store DVDDiskID in a global
Can use this later for things
* More version system API improvements
* d_name mostly region switching fully
JPN doesn't work yet cuz it'll be a nightmare, probably.
* More version switching support
* Mark GCN PAL as supported ROM
* Fix remaining REL assets to have PAL offsets
* d_a_mg_fish PAL
* d_a_mg_fshop PAL
* isRegionUsa helper
* d_menu_fishing PAL
* d_msg_class PAL
* m_Do_MemCardRWmng PAL
* Update CARDInit call & remove DUSK_TP_VERSION
* Fix Ganon cape
Missed this one.
* Remove tp_version from Sentry
---------
Co-authored-by: Luke Street <luke@street.dev>
* Link separate JSystem libraries due to control.cpp
This allows the Xcode generator to work, otherwise
it breaks on the duplicate control.o files within
the game_debug library.
* Fix __memcpy define on GCC
* Try LINK_GROUP:RESCAN for GNU ld
* Combine dusk/game_base/game_debug targets
* Fix compile defs syntax
* CI attempt
* syntax
* fix cmake for linux
* fix include directories and merge main
* fix PDB fighting
* fix gcc compiling
* fix SSCACHE for windows
* try and fix gcc
* more CI presets
* remove the android target for now
* bump cmake minimum to fix debug information format
* yet another attempt at fixing gcc
* yet another attempt at fixing gcc
* better CI matrixing
* yet another attempt at fixing GCC
* fix arm
* fix CI
* placeholder icons
* compile dawn from source for windows arm64
* fix icons and linker warnings
* fix cmake
* fetch libjpegturbo
---------
Co-authored-by: Luke Street <luke@street.dev>
* Wrap >4-char literals in a MULTI_CHAR macro
Modern compilers do not support CW's non-standard behavior with
>4 char literals. We can, however, use a constexpr function to
compute the u64 values directly. This leaves <=4 char literals
unchanged.
* Replace non-pointer usages of NULL with 0
* Define NULL to nullptr on C++11 and above
* Fix more -Wpointer-arith and -Woverflow warnings
* Replace u32/s32 with uintptr_t/intptr_t where appropriate
* JSUOutputStream: Overload all standard int types
* 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.
* 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
* Fix GetPolyIndex and GetBgIndex, fixing a couple regallocs
* Match daNpcCd2_c::checkFearSituation and daNpcCd2_c::getAnmP
* Match daAlink_c::jointControll
* Clean up float class checks
* Move float constants to global.h
* Replace DANPCF_C_HACK with a better fakematch
* d_a_obj_item OK
* Fix ninja diff
* Misc debug/nonmatching fixes
* Fix ninja diff for PAL
* Fix bad PAL split
* 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
* Match mDoExt_morf_c::getPlayMode
* Misc cleanup
* Fix actor cull spheres
* Match daPy_py_c::getLastSceneSwordAtUpTime, JUTGamePad::testTrigger
* Fix improper demangling of dBgS_SphChk::SetCallback
* Fix d_camera rangef weak func order
* Match more alink_wolf funcs