Commit Graph

53 Commits

Author SHA1 Message Date
Jeffrey Crowell
d4c1c40c1d
add support for clang compiler (#592)
* hacks to align strings for clang... wow just wow

* start work to getting built with clang

* fix issues with struct constructors, all builds, doesn't link still

* fix some narrowing issues that clang complains about

* fix compliation of zapd

* fix null deref in VersionInfo

* builds with clang

* make stringbuilding use StringHelper instead of addition

* fix linking

* add CLANG SHIP overlay on clang built versions

* doesn't need to be volatile

* mark unknown strings as extern

* rename some stuff

* can't align extern

* hopefully fix compilation for everythign

* expandtab

* allow setting LD

* Revert "allow setting LD"

This reverts commit 711aba6db2.

maybe to use lld it should be a LDFLAG?

* -Wno-deprecated-declarations is required for newer versions of clang

on macOS 13 beta sdk, the version of apple clang requires this

* Add jenkins support for clang

* Forward CXX flags to stormlib compilation

* Move GCC only flags to check

* use exports to set multiarch setup

* Fix Jenkins forever

* use make instead of cmake --build

add some flags to build with clang-11 as well

* address review coments

- rework extraction to allow multi thread
- misc readability cleanup

* update makefile to add WARN on linux+clang

Co-authored-by: David Chavez <david@dcvz.io>
2022-07-10 10:51:12 -04:00
David Chavez
e42b18cf71
Add Support for macOS (#441)
* 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>
2022-06-22 14:59:21 -04:00
David Chavez
a142d94c36
Extract StormLib building from soh to ZAPDTR (#505)
* Extract StormLib building from soh to ZAPDTR

ZAPDTR is currently where we have everything… though this might not make the most sense.

* Do not import storm as a relative
2022-06-20 13:38:08 -04:00
briaguya
dd42cca2cf Merge branch 'develop' into z64-devmerge 2022-06-17 00:39:07 -04:00
Kevin Alexis Contreras
bb90be6748 Merge branch 'zapd_audio_support' into zelda64 2022-06-16 23:09:50 -05:00
Nicholas Estelami
aeaaa54e0d GC PAL Audio XML 2022-06-16 20:35:52 -04:00
Nicholas Estelami
3f10195c0e Added XML attributes and fixed odd crash 2022-06-16 20:35:52 -04:00
Nicholas Estelami
c930bd0138 Added names for the soundfonts. 2022-06-16 20:35:52 -04:00
Nicholas Estelami
0a629ea6e9 Fixed last remaining audio bugs 2022-06-16 20:35:52 -04:00
Nicholas Estelami
28073fbb19 Commented out additional test code 2022-06-16 20:35:52 -04:00
Nicholas Estelami
ef2f4f799c Commented out NTSC test 2022-06-16 20:35:52 -04:00
Nicholas Estelami
c49cee3521 Audio support nearly complete. 2022-06-16 20:35:52 -04:00
Nicholas Estelami
b3e299dbde Replaced StormLib .lib files with source code.
Some modifications to handle backslashes and forward slashes, along with some optimizations to speed up OTR generation.
2022-06-16 20:35:52 -04:00
Nicholas Estelami
941c19f2c3 Audio decompiled and WIP custom sample support 2022-06-16 20:35:52 -04:00
Nicholas Estelami
7bca63a800 GC PAL Audio XML 2022-06-15 16:09:22 -04:00
Nicholas Estelami
aa98408e00 Added XML attributes and fixed odd crash 2022-06-15 16:09:22 -04:00
Nicholas Estelami
416173fa79 Added names for the soundfonts. 2022-06-15 15:57:52 -04:00
Nicholas Estelami
99e3d9a899 Fixed last remaining audio bugs 2022-06-15 15:57:52 -04:00
Nicholas Estelami
44874a0763 Commented out additional test code 2022-06-15 15:57:52 -04:00
Nicholas Estelami
9fe268abc7 Commented out NTSC test 2022-06-15 15:57:52 -04:00
Nicholas Estelami
114c6e01d9 Audio support nearly complete. 2022-06-15 15:57:52 -04:00
Nicholas Estelami
746c7a5303 Replaced StormLib .lib files with source code.
Some modifications to handle backslashes and forward slashes, along with some optimizations to speed up OTR generation.
2022-06-15 15:57:52 -04:00
Nicholas Estelami
b8c9f7f1ce Audio decompiled and WIP custom sample support 2022-06-15 15:57:52 -04:00
Kevin Alexis Contreras
5b43e4652f Updated zapd_audio_support into zelda64 2022-06-15 09:42:37 -05:00
Nicholas Estelami
008af18951 GC PAL Audio XML 2022-06-14 12:32:11 -04:00
Nicholas Estelami
9e313dd18b Added XML attributes and fixed odd crash 2022-06-14 01:29:52 -04:00
Nicholas Estelami
bff206e30b Added names for the soundfonts. 2022-06-14 01:13:18 -04:00
Nicholas Estelami
c5df54ae27 Fixed last remaining audio bugs 2022-06-14 01:13:18 -04:00
Nicholas Estelami
b66174c3ec Commented out additional test code 2022-06-14 01:13:18 -04:00
Nicholas Estelami
919cad0e51 Commented out NTSC test 2022-06-14 01:13:18 -04:00
Nicholas Estelami
61760401bc Audio support nearly complete. 2022-06-14 01:13:18 -04:00
Nicholas Estelami
b83cd172b2 Replaced StormLib .lib files with source code.
Some modifications to handle backslashes and forward slashes, along with some optimizations to speed up OTR generation.
2022-06-14 01:13:18 -04:00
Nicholas Estelami
b889880cc7 Audio decompiled and WIP custom sample support 2022-06-14 01:13:18 -04:00
Kevin Alexis Contreras
9cf537eaff Fixed ocarina loop points 2022-06-13 21:53:26 -05:00
Nicholas Estelami
36eb47e631 Fixed last remaining audio bugs 2022-06-13 21:54:25 -04:00
Kevin Alexis Contreras
8b63cf93d8 Updated zapd_audio_support on zelda64 2022-06-13 11:41:43 -05:00
Nicholas Estelami
35e15389ac Commented out additional test code 2022-06-10 13:53:03 -04:00
Nicholas Estelami
9bd225f3bf Commented out NTSC test 2022-06-10 13:50:16 -04:00
Nicholas Estelami
f1b81b7f82 Audio support nearly complete. 2022-06-10 13:37:50 -04:00
Random06457
72fcd19a9e fix compilation 2022-06-04 10:09:50 -05:00
Kevin Alexis Contreras
332f8f93fb Merge branch 'zapd_audio_support' into zelda64 2022-06-01 15:12:28 -05:00
Kevin Alexis Contreras
0320107fc0 Merge branch 'zapd_audio_support' into zelda64 2022-06-01 15:11:11 -05:00
Nicholas Estelami
fc7da35054 Replaced StormLib .lib files with source code.
Some modifications to handle backslashes and forward slashes, along with some optimizations to speed up OTR generation.
2022-06-01 16:05:05 -04:00
Nicholas Estelami
6f5ce7d715 Audio decompiled and WIP custom sample support 2022-06-01 13:06:32 -04:00
Emil Lenngren
92c8ecb726 64-bit early draft - no audio yet 2022-05-15 01:19:02 +02:00
Random
09432ee7f4
Linux/GCC Support (#28)
* Initial Linux/GCC support commit

* Add instructins for linux in the README

* apply suggestions by @Erotemic and @Emill

* Fix python 3.10 symlink line

* Fix func_80041E80 type mismatch (#3)

Type mismatch functions.h:664

* Makefile: clean OTRExporter/libultraship/ZAPDTR with distclean and fix CXX_FILES

* Makefile: find C/CXX_FILES automatically

* Makefile: remove ugly conditions in find commands

* cleanup _MSC_VER usage

* fix Windows build

* cleanup extraction scripts

* fix Windows build

* Fix Windows path separator issue

* fix rumble support for linux

* use glew-cmake in dockerfile

* add pulseaudio backend

* fix ZAPDTR linkage

* Check for "soh.elf" in directory (#6)

hide second button if `soh.exe` or `soh.elf` is present

* Fix hardcoded segment addresses (#5)

* fix condition

* hack lus -> soh dep for ZAPDTR

Co-authored-by: sholdee <102821812+sholdee@users.noreply.github.com>
Co-authored-by: qurious-pixel <62252937+qurious-pixel@users.noreply.github.com>
Co-authored-by: GaryOderNichts <12049776+GaryOderNichts@users.noreply.github.com>
2022-05-11 13:18:24 -04:00
Nicholas Estelami
bd5a563dae Implemented PAL language support. 2022-04-29 19:57:53 -04:00
Nicholas Estelami
c1eb71fa33 Updated python script to use new "extract directory" mode.
Additionally fixed oversight with audio files and bug in OTRGui.
2022-04-06 18:59:08 -04:00
MegaMech
6f49bc9a56 Update Globals.cpp 2022-04-03 13:26:58 -04:00
Nicholas Estelami
c80f9fbd57
Added support for multiple game versions (#107)
* WIP Multiversion support

* GC PAL Non-MQ support complete

* Updated OtrGui to handle different game versions

* Added version file

* Added new extract mode to ZAPD and optimized OTR gen time

* Fixed bug causing crash

* Further optimized OTRExporter, saving around ~20 seconds.

* ZAPD is now multi-threaded.

* Fixed merge issue

* Fixed memory leak and fog issue on pause screen.

* Additional fog fixes.

Co-authored-by: Jack Walker <7463599+Jack-Walker@users.noreply.github.com>
2022-03-31 19:42:44 -04:00