* Add Architecture Priority to Info.plist
This allows the app bundle to be launched natively on Arm without the need for Rosetta.
* Remove arch shenanigans in soh-macos.sh.in
Shouldn't be necessary now...
* Add back launching the binary in soh-macos.sh.in
Accidentally removed launching the binary from the script.
* parse sohver arg and store version file in otr
* parse args for soh.otr gen only
* pass soh version from built in extractor
* update launch scripts, cmake and extract steps to pass soh version
* check otr versions and error or ask to regenerate
* add wiiu core header for osfatal
* review feedback
* remove soh dummy version for lus change instead
* only configure linux script for linux
* change lus commit
* rename soh version to port version
* fix submodules
* bump OTRExporter
* clean up error messages for switch/wiiu
* strings not char array
* typo
* init wiiu before otr detection
* Add message for mac/linux extraction
* remove unneeded exits
* change version number types to u16 to fix 32bit devices
* bump otrexporter
* initial n64 pal 1.0 support - hashes and rominfo
* initial xml copy pal 1.0
* initial offset fixes
* update title copyright to be platform based
* bump lus for clearMtx
* add scripted xml definitions
* offset fixes and xml fixups
* rename and sort pal mq definition
* more offset fixes
* initial pal mq retail support
* more mq pal support
* pal mq support in the launch scripts
* more offset fixes
* match tluts with mq debug
* update support hashes doc
* target lus commit for playtesting
* more offset fixes
* add hashes for other formats
* decomp name sync
* add scripted texture definitions
* fix up from other xml changes
* update name
* Initial PAL 1.1 support
* 1.1 Asset Fixes
* Fixed issue where N64 builds were being flagged as MQ
* Misc fixes
* Updated LUS submodule
* Fixed up logo strings
* Updated readme and linux/mac scripts with new hash
* Changes OTR Extraction to have specific mq and nonmq paths.
Also updates the game to load resources according to whether or not
Master Quest or Vanilla is loaded.
* Removes unneeded code from the last commit.
* Fixes some weird formatting in ZRom.c
* Loads oot-mq.otr and patches oot.otr on top, if both are present.
If only one or the other are present, it becomes the only and main OTR.
* Adds ImGui Logic for whether or an MQ Checkbox.
Checkbox checked only specifies whether new saves should be MQ or not.
Checkbox is disabled or force-enabled according to which OTRs are loaded.
Also as a necessity includes tracking what game versions have been loaded
from the OTRs.
* Adds MQ settings logic for Randomizer's ImGui menu.
* Writes Master Quest dungeons to the spoiler log
* Loads MQ Dungeons from spoiler, persists in save, and loads when appropriate.
* Adds logic to prevent loading or creating incompatible rando saves.
* Fixdes some linux build issues and new rando save issues
* Makes appimage create both vanilla and mq otrs
If either rom is present, it makes the corresponding OTR. If both are present,
it will make both. If one OTR is present but both roms are present, it will
create the missing OTR.
* Makes it so a randomized save file will not be marked as MQ.
* Refactors to load all OTRs from MainPath or a specific list.
Also adds the ability to take a std::unordered_set of hashes to
validate each OTR's version file against.
* Fixes a syntax error
* Makes ExtractAssets output Vanilla and MQ OTRs if both roms are present
* Fixes asset generation bug.
* Partially working fix for dual OTR extract_assets
Currently the cmake ExtractAssets target will return with a 1 if you
only end up exporting one type of OTR isntead of both. Haven't found
a great way to only attempt to copy a file if it exists from within
cmake. It does actually correctly copy the OTR that is generated,
despite the error from copying the other one.
Pushing as is for now but will keep investigating.
* Adds oot-mq.otr to the gitignore.
* Makes ExtractAssets not fail on only one rom/OTR.
* Removes PatchesPath from the constructors requiring OTRFiles vector.
* Renames OOT_UNKNOWN to just UNKNOWN to remove OOT specific reference.
* Removes randomizing MQ Dungeons and re-disables MQ rando.
Doing this so the PR can get merged quicker with just the Dual OTR
support and won't need to wait on rando logic to be updated. That
will happen in another PR directly after the merge.
* Update mac startup script for dual otr
* Update soh/macosx/soh-macos.sh
* Update soh/macosx/soh-macos.sh
* Update soh/macosx/soh-macos.sh
* Implements new BinaryReader to fix Linux build issue.
BinaryReader itself comes from https://github.com/Moneyl/BinaryTools
I added a wrapper to adapt it to the ABI from ZAPD's Binary Reader and
add Endianness checking. I also had to copy a handful of other bits and
pieces from ZAPD to make it all function as expected.
* A few edits to the updatream BinaryReader to compile it on Linux.
* Adds the Endianness to the first byte of the version file.
* Fixes Jenkins
* Addresses some of Kenix's comments
* Renames `ReadNullTerminatedString` to `ReadCString`
* Refactors Archive::LoadFile into a private method with more arguments.
* Removes BitConverter and extends existing endianness.h instead.
* Fixes an endianness issue with the version file.
Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
* Introduce app directory path concept
* macos: Remove hacky way of using applicaiton directory
* Update the new SaveManager
* Address stack user after return
* Remove unecessary property
* Use std::string for filepath
* Improve clang specific detections
* Use new path system for imgui files
* Improve helper for getting relative paths
* Fixed soh filters
* add more makefile changes
* almost ready
* more updates
* update
* update
* Update Makefiles to handle both platforms
* Allow for overriding the CXX and CC executables
* Restore original structure while supporting custom CXX flags
* Remove some platform specific libs
* Dynamic target name
* Make X11 paths package-agnostic
* Remove changes to `gfx_opengl.cpp`
* Use OpenGL2 on MacOS instead of OpenGL3
* make it actually render something
* render at least the first texture, still need to figure out the second
one
* Let’s use OpenGL 3 again
* maybe this works to get the right texture? link's eyes still look off a bit
* did this work?
* set the platform to macos
* actual numbers are right, but logic is ugly XXX/TODO, i know
* add zlib to ldflags for ZAPDUtils
* A bit of cleanup
* Revert unneeded changes
* Remove GL_CHECK
* Fix issues with z64 branch
* use an std::map instead of a giant array
* three point filter fix (#2)
* Fix mac compilation
* fix audio for 64 bit
* revert audio heap size, keep bigger pools
* Add more Apple specific checks to our modifications
* Add building instructions for macOS
* Remove unecessary step from building instructions
* Add missing SDL2 & GLEW to Linux LDLIBS
* Update BUILDING.md
Co-authored-by: BountyChocolate123456 <101743444+BountyChocolate123456@users.noreply.github.com>
* Update soh/.gitignore to include other arch binaries
Co-authored-by: BountyChocolate123456 <101743444+BountyChocolate123456@users.noreply.github.com>
* Use right platform name for debugging window
Co-authored-by: BountyChocolate123456 <101743444+BountyChocolate123456@users.noreply.github.com>
* Fix stormlib on macos (arm64)
* Simplify some of the ifdef checks
* Revert an older no longer necessary fix
* Remove remaining unecessary deviations
* Update building instructions after StormLib changes
* Feature: Use OpenGL 4.1 (#1)
* Further tweak the BUILDING
* Tidy up
* reword -j message
* Add Jenkins CI Support (#2)
* Fix type issues
* add target <appbundle> and <filledappbundle>
add makefile targets to create an .app
`filledappbundle` creates the target with the .otr included
this should perhaps be moved to Application Support though
* pull gcc's rpath from otool output
* move make target to the end so it's not default
* Add Jenkins and make exe in par with other platforms
* Actually save build artefacts
* Fix artefact path
* Remove x11 mentions and linking (not used)
* Update building instructions for generating app
* use appsupport directory
* Add new app icon
* Update target to match macOS types
* Update more audio types
* fix null deref in Audio_PlayFanfare
* Remove old import from z64
* address final nit with apple ifdefs
Co-authored-by: KiritoDev <36680385+KiritoDv@users.noreply.github.com>
Co-authored-by: Jeffrey Crowell <github@crowell.biz>
Co-authored-by: BountyChocolate123456 <101743444+BountyChocolate123456@users.noreply.github.com>