Commit Graph

42 Commits

Author SHA1 Message Date
briaguya
1e6ec1bdda
exclude audio from shuffle (#2411)
* Rename "SFX Editor" to "Audio Editor"
* Move some functionality out into a new class `AudioCollection`
* Add a tab to exclude sfx/sequences from shuffle pool 

---------

Co-authored-by: briaguya <briaguya@alice>
Co-authored-by: briaguya <briaguya>
Co-authored-by: David Chavez <david@dcvz.io>
2023-02-16 09:49:45 -05:00
Christopher Leggett
1b9962dfc2
Enhancement: Adds Slider for Duration of Sequence Names on the Overlay (#2375)
* New function: overlay text duration in seconds.

`Overlay_DisplayText` took a float as an argument, with no clear indication of what that float represented. That float also evaluates to different durations given different frame rates. However, since we know what the frame rate should be at any given time (since it's stored in a CVar) we can calculate what this duration should be based on the number of seconds we want the overlay to be displayed. That's what `Overlay_DisplayText_Seconds` does.

* Adds Slider for Overlay Sequence Name Durations
2023-01-20 21:48:17 -05:00
Christopher Leggett
a335aba987
Adds option for showing sequence names on the overlay (#2237)
* Adds option for showing sequence names on the overlay

Allows sequences to appear on the overlay in the bottom right corner for a few seconds whenever a new one is loaded into the primary sequence player. This means it does not apply to fanfares or enemy bgm. Fanfares I chose not to display because it would cause a lot of text to display back to back in some areas, and enemy bgm would have some technical challenges with this due to the way it loads. Mainly because the Lost Woods music would load in Goron City the same way (as well as the opposite).

* Fixes crash when a sequence without a name is attempted to be displayed.

* Removes accidentally committed CMakeSettings.json

* Updates CVar_GetS32 to CVarGetInteger
2023-01-19 03:50:50 -05:00
briaguya
ba13e6b2c4 refactor: use LUS 1.0 RC
Co-authored-by: kenix3 <kenixwhisperwind@gmail.com>
Co-authored-by: David Chavez <david@dcvz.io>
Co-authored-by: KiritoDv <kiritodev01@gmail.com>
Co-authored-by: Christopher Leggett <chris@leggett.dev>
2023-01-17 00:33:56 -05:00
Christopher Leggett
7718e74d73
Always use authentic cache policy for replaced seqs (#2176) 2022-12-13 14:55:00 -05:00
briaguya
408143ec8c
fix: prevent oob access of sequenceMap (#2123)
Co-authored-by: briaguya <briaguya@alice>
2022-12-09 02:25:45 -05:00
Christopher Leggett
8c8c761726
Custom Sequences (#2066)
* Allows OTRExporter to parse pairs of .seq and .meta files

* Gets added sequences available to SfxEditor and playing in game.

* Some cleanup of the names appearing in the SfxEditor.

* Moves sequence swap lower in the audio command stack.

* Increases temp cache memory available on title/file-select screen.

Certain sequences wouldn't play on the file select and title screen
because they were too large to be cached.

* Introduces workaround for 255 sequence limit.

* Bug fixes and cleanup.

* Fixes bug where fanfares would sometimes disable the sequence player.

* Fixes bug causing certain areas to discard caches when loading enemy music.

* Fixes potential config-related crash by replacing invalid characters.

* Allows custom bgm to play in all BGM categories.

* Properly randomizes the custom tracks.

* Moves custom sequences to a patch OTR.

* If custom music was not loaded, fall back to default values.

* Prevents OOB crash on Synthwave array and adds octave drop feature.

Added octave drop to experimental features, which drops the octave of
a note that is too high for the audio engine to actually play. Without
this, some custom sequences have notes which cap at a specific value
and sound terrible. At least with this they will still harmonize with
the other notes. Experimental tab added to the SfxEditor to house
the checkbox for the octave drop feature.

* Adds more pool memory for a few tracks that couldn't fit.

* Some cleanup on the generated music archive process.

* Fixes missed memory boost from earlier.

* Adds ability to remove enemy proximity music.

* Applies correct cache policy to fanfares to prevent unloading sequences.

* Removes case-sensitiveness of the sequence type.

* Fixes not reverting to sequence after miniboss.

* Fixes transition to/from miniboss (again) and ocarina bug.

To be clear, fixes the more rampant portable ocarina bug present in my earlier builds, not the authentic one.

* Finally properly fixes transitions between sequences

For miniboss fights and SfxEditor previews.

* Removes unneeded boolean expression.

* Adds randomize button to individual SFX Editor entries.

* Fixes lost woods music overwriting goron city music.

* Plays swapped Hyrule Field music when transitioning to daytime.

* Fixes swapping Gerudo Valley music when transitioning from daytime.

* Updates custom sequence OTRPath to match SequenceOTRizer.

* Reverts changes to OTRExporter in favor of external tool

* Fixes formatting issues.

* Attempts to fix formatting issue in git diff.

* Should actually fix formatting issues.

* Should fix mac/linux exclusive build error.

* Fixes segfault on macos.

* sort custom seqs

* Fixes audioseq crash when under 255 seqs

* Removes magic numbers.

* Removes commented out code.

* fixes formatting in SfxEditor.h

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>

* Cleans up the one hardcoded QueueSeqCmd call.

* Fixes unneeded erroneous memory boost applied earlier.

* Applies additional formatting/cleanliness suggestions from review

* Fixes small logic bug

Co-authored-by: RaelCappra <rael.cappra@gmail.com>
Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2022-12-08 23:07:45 -05:00
Nicholas Estelami
3aa93b9855
Removed legacy audio mode and fixed ganon sound bug (#657) 2022-07-11 22:37:39 -04:00
Baoulettes
a5df9dddf0
Use Macro for __FILE__ & __LINE__ when possible (#559)
* First batch some overlay

* Almost all overlay

* effect & gamestate

* kaleido stuffs

* more overlay

* more left over from code folder

* remaining hardcoded line and file

* Open & Close _DISP __FILE__ & __LINE__ clean up

* Some if (1) {} remove

* LOG_xxxx __FILE__ , __LINE__ cleaned

* ASSERT macro __FILE__ __LINE__

* mtx without line/file in functions

* " if (1) {} " & "if (0) {}" and tab/white place

* LogUtils as macro

* GameState_, GameAlloc_, SystemArena_ & ZeldaArena_

* Revert "GameState_, GameAlloc_, SystemArena_ & ZeldaArena_"

This reverts commit 0d85caaf7e.

* Like last commit but as macro

* Fix matrix not using macros

* use function not macro

* DebugArena_* functions
GameAlloc_MallocDebug
BgCheck_PosErrorCheck as macros
removed issues with ; in macro file
2022-07-05 19:29:34 -04:00
louist103
e7c2aff97e Fix audio, boot commands, and save staes. 2022-07-04 10:44:31 -04:00
Kenix3
a7ed748973
Update soh/src/code/audio_load.c 2022-06-20 16:03:03 -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
960a29e513 Fixed StormLib Forward Slash BackSlash issues 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
2b40e66fa4 Fixed resample and corrupt audio bug. Minor documentation updates. 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
941c19f2c3 Audio decompiled and WIP custom sample support 2022-06-16 20:35:52 -04:00
Nicholas Estelami
510a38a6bc Fixed StormLib Forward Slash BackSlash issues 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
262d067870 Fixed resample and corrupt audio bug. Minor documentation updates. 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
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
b3396446af Fixed StormLib Forward Slash BackSlash issues 2022-06-14 18:56:17 -04:00
Nicholas Estelami
bff206e30b Added names for the soundfonts. 2022-06-14 01:13:18 -04:00
Nicholas Estelami
83aee6d7e1 Fixed resample and corrupt audio bug. Minor documentation updates. 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
b889880cc7 Audio decompiled and WIP custom sample support 2022-06-14 01:13:18 -04:00
Kevin Alexis Contreras
8b63cf93d8 Updated zapd_audio_support on zelda64 2022-06-13 11:41:43 -05:00
Kevin Alexis Contreras
394939347c Code cleanup and fixes on 64bits 2022-06-13 10:05:42 -05:00
Nicholas Estelami
96a18391a8 Fixed resample and corrupt audio bug. Minor documentation updates. 2022-06-10 15:40:19 -04:00
Nicholas Estelami
f1b81b7f82 Audio support nearly complete. 2022-06-10 13:37:50 -04:00
Random06457
b5d5930fed change OSMesg definition and fix memory corruptions 2022-06-04 10:09:50 -05:00
Random06457
72fcd19a9e fix compilation 2022-06-04 10:09:50 -05:00
Kevin Alexis Contreras
d42c0ca23f Fixed audio font loading 2022-06-02 17:52:58 -05:00
David Chavez
e1affbdf9a Fix function prototypes and types 2022-06-02 12:43:16 -05:00
Kevin Alexis Contreras
0320107fc0 Merge branch 'zapd_audio_support' into zelda64 2022-06-01 15:11:11 -05:00
Nicholas Estelami
6f5ce7d715 Audio decompiled and WIP custom sample support 2022-06-01 13:06:32 -04:00
Kenix
7a4da43d7b Audio code converted to uintptr_t 2022-05-16 20:16:56 -04: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
M4xw
39cc86c260 git subrepo clone https://github.com/HarbourMasters/soh.git
subrepo:
  subdir:   "soh"
  merged:   "ba904bbd0"
upstream:
  origin:   "https://github.com/HarbourMasters/soh.git"
  branch:   "master"
  commit:   "ba904bbd0"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2022-03-22 02:51:23 +01:00