Commit Graph

419 Commits

Author SHA1 Message Date
louist103
aea46e7cb2
Implement built in Extractor for Windows (#2730)
* wip

* const

* split zapd into two targets

* Workingish.

* fix working dir and copy xmls on build (#2)

* dont change current working dir with dialog prompts

* copy asset xmls to target dir

* make zpadlib public

* Messagebox.

* Check for WIN32

* threading

* Cleanups to the exporter and main.

* Multi extraction.

* Fix byteswap header includes.

* Fix another byteswap include.

* fix again.

* stddef size_t

* Add other targets for ZAPDLib

* Non windows.

* IDYES IDNO

* Linux fixes

* hopefully remove switch and wiiu from building extractor

* Please?

* validate roms and add another valid rom

* ifdef out extract.h for switch and wiiu

* Maybe update lux

* Remove ZAPDlib from switch and WiiU

* more rules

* Update soh/soh/Extractor/Extract.cpp

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

* Update ZAPDTR/ZAPD/ExecutableMain.cpp

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

* Update ZAPDTR/ZAPD/CMakeLists.txt

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

* Update ZAPDTR/ZAPD/GameConfig.cpp

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

* Update ZAPDTR/ZAPD/Globals.cpp

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

* Update ZAPDTR/ZAPD/Main.cpp

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

* Update soh/CMakeLists.txt

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

* Update soh/soh/Extractor/Extract.cpp

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

* Update soh/soh/Extractor/Extract.cpp

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

* Update soh/soh/Extractor/Extract.cpp

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

* the last fix

* Add context to a comment

---------

Co-authored-by: Adam Bird <archez39@me.com>
Co-authored-by: Adam Bird <Archez@users.noreply.github.com>
Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2023-04-25 00:01:17 -04:00
RaelCappra
25ceca0fbf
Enhancement: Aiming reticle for the bow/slingshot (#2715)
* Bow reticle enhancement

* Menu bar checkbox

* fix

* simplify bow/slingshot reticle logic

* Comment on RETICLE_MAX

* Tooltip clarity update

---------

Co-authored-by: briaguya <briaguya@alice>
2023-04-22 21:59:34 -04:00
Adam Bird
42ff9742ed
Tweak: Unique GetItemEntry for Progressive Bombchus with particle effects (#2732)
* give progressive bombchus its own getitementry to allow custom draw effects

* fix timestamp item check
2023-04-21 19:01:19 -04:00
aMannus
37c0345529
ImGui Cleanup - Move Experimental entries, clean up presets (#2725)
* ImGui cleanup

* Fix Wii U

* Fix Wii U build 2: Electric Boogaloo

* Review comments

* Review Comments 2: Electric Boogaloo
2023-04-21 16:05:38 -04:00
inspectredc
c146ca4aa5
Fix: SoT Time Travel B-Button Behaviour (#2720)
* time travel allows fishing rod + fixes vanilla ToT age change behaviour

* oops removed too much
2023-04-20 21:53:56 -04:00
Adam Bird
19d8d38082
Fix: Update GetItem value for freestanding items and shopsanity plentiful (#2718)
* fix freestanding items not changing getItem value on the fly

* fix getItem models in shops for plentiful items
2023-04-18 00:41:08 -04:00
Adam Bird
059df8187e
chore: move rando savefile setup and document flags (#2697)
* remove rando save init from sram

* move rando savefile init logic and set more flags

* document flags for rando save creation
2023-04-11 18:27:51 -04:00
Patrick12115
fe71cdfbb6
[Reduced Clutter] Disable Hot/Underwater Warning Text (#2684)
* Disable Warning Text

* Moved to Reduced Clutter
2023-04-11 08:18:03 -04:00
inspectredc
1fa31410c2
Switch age fix (#2676)
* specific scenarios for switch age button, non rando

* Working fix for vanilla swordless change age

* Fix now works for randomiser

* Fixed room load on change age transition

* Removed potentially unnecessary function call

Need to investigate this more, maybe wait for more room documentation.

* Suggested Edits

Moves setting cvar back into mods.cpp and makes clear the condition expected for the no sword flag
2023-04-07 17:05:12 -04:00
RaelCappra
0f6147f41d
Link voice pitch v0 (#2430)
* Link voice pitch v0

* Using a new variable instead

* Move voice pitch slider to Options tab

* fallback to original behavior if freqMultiplier is set to 1

* Move reset button to Options tab with its slider

* Fix voice pitch slider width in Options tab

* [Review] Always use freqMultiplier
2023-04-07 15:54:26 -04:00
briaguya
44906598e4
fix: properly display static background scenes (#2669) 2023-04-04 03:12:09 -04:00
Ralphie Morell
ff1d8a9e9d
Enhancement: Room/Scene Timers (#2478)
* Groundwork on scene/room timers; naming changes

* added to save manager; reworked storing timestamps

* actually saved stuff to savemanager;
accounted for null playstate

* finally fixed the fucking timers

* Added scene mapping

* Added CVar for room/scene level; fixed some displays

* reworked logic

* increase name spec for scene timestamps

* Actually save item timestamps when loading v3 save

* Cleanup

* fix merge artifact

* apply suggestions
2023-04-03 00:06:55 -04:00
Patrick12115
2af952b180
[Time Saver Enhancement] Nighttime GS Always Spawn (#2611)
* Nighttime GS Always Spawn

* add hook onSceneSpawnActors

* implement onSceneSpawnActors hook to spawn GS in various day scenes

* handle the kak tree skull during the day

* Update mods.cpp

* Add the &

* Fixes

* Update soh/soh/Enhancements/mods.cpp

Co-authored-by: Adam Bird <Archez@users.noreply.github.com>

---------

Co-authored-by: Adam Bird <archez39@me.com>
Co-authored-by: Adam Bird <Archez@users.noreply.github.com>
2023-04-02 21:11:08 -04:00
PurpleHato
77cc91d0de
ADD: Time Saver --> Time Travel with the Song of Time (#2575)
* ADD: Time Saver --> Time Travel with the Song of Time

Co-Authored-By: aMannus <4244591+aMannus@users.noreply.github.com>
Co-Authored-By: David Chavez <david@dcvz.io>

* TWEAK: one liner for the gPlayState check

* ADD: Time Saver --> Time Travel with the Song of Time

Co-Authored-By: aMannus <4244591+aMannus@users.noreply.github.com>
Co-Authored-By: David Chavez <david@dcvz.io>

* TWEAK: one liner for the gPlayState check

* Timetravel stuff

* tweazk oopsies

* Fixes timeline

* tweak frog dist

* ADD: Time Saver --> Time Travel with the Song of Time

Co-Authored-By: aMannus <4244591+aMannus@users.noreply.github.com>
Co-Authored-By: David Chavez <david@dcvz.io>

* TWEAK: one liner for the gPlayState check

* Timetravel stuff

* tweazk oopsies

* Fixes timeline

* tweak frog dist

* oppsie²

* del dupe

* del dupe

* tweak tooltip

---------

Co-authored-by: aMannus <4244591+aMannus@users.noreply.github.com>
Co-authored-by: David Chavez <david@dcvz.io>
2023-04-02 12:34:02 -04:00
Malkierian
04d0cd8532
Adds OnTransitionEnd hook to GameInteractor, called at the end of a transition after all mid-transition setup is called. (#2635)
Transitions final autosave location to `OnTransitionEnd`.

Adds functionality to autosave to set a delayed save flag if AutoSave is set to Major or All Items and one is obtained in a grotto, to avoid grotto autosaving but still provide for the autosave when location-based saving is off.

Fixes small bug with item lookup where sometimes an item's `modIndex` would sometimes be reported one way, but the way Randomizer does things it would be in a the other `modIndex`, and the lookup would fail.

Minor variable name clarification in ItemTableManager.

Modifies AutoSave to account for item ID overlap from `MOD_RANDOMIZER` table (all items in the randomizer table is considered major for AutoSave purposes except ice traps).
2023-04-02 04:47:23 -04:00
aMannus
ca23d87a3a
Hyper Bosses (act and move twice as fast) (#2555)
* Hyper bosses

* Actor* to void* + cast to fix build

* Cleaner implementation

* Fix enemies taking double damage

* Fix smaller dodongo's being sped up

* Additional fix and code cleanup

* Proper fix for double damage

* Extern variable -> GI state
2023-04-02 04:00:21 -04:00
briaguya
2a0a31ae7e Merge branch 'develop-khan' into khan-to-dev 2023-04-01 14:19:41 -04:00
Malkierian
f7703e14e8
Fix Missing Custom Sequences (#2649)
* Modifies custom sequence loading to bypass other sounds being loaded in AudioCollection to fix missing custom sequences on load.

* Modified `audio_load`'s sequenceMap allocation to utilize `AudioCollection`'s sequenceMap size to account for all audio assets already loaded into that sequenceMap. This gives a non-arbitrary number in addition to the vanilla sequence count to allocate with for `audio_load`'s sequenceMap.

Added `HasSequenceNum` to `AudioCollection` as well to streamline the check against `AudioCollection`'s sequenceMap to skip the non-sequence assets in there.

Added clarification comment for seqNum and MAX_AUTHENTIC_SEQID section.

* Clarified comment about AudioCollection seqNum and MAX_AUTHENTIC_SEQID.

* A bit more on comment from the last commit.
2023-03-31 23:35:29 -04:00
Malkierian
e76b990c8a
Randomzier: Fix starting rupee item collection (#2645)
* When rupees are given as starting items, they still modify `gSaveContext.rupeeAccumulator`, which means that if you make a new file, start it, and reload without saving, or exit SoH before starting the new file, those rupees were lost. This adds a check for `gPlayState` being NULL, and if it is, adds those initial rupees to the rupee count directly.

* Update soh/src/code/z_parameter.c

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

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2023-03-22 20:59:08 -04:00
Malkierian
7f5f4251ca
Another Item_Give bug fixed... (#2636) 2023-03-15 13:25:24 -04:00
Malkierian
1b158015e6
Fixes bug introduced by 73052617ed where keys, among others, would corrupt inventory slots. (#2626) 2023-03-14 10:46:33 +01:00
briaguya
2bd8316d54 Merge remote-tracking branch 'hm/develop-khan' into khan-to-dev 2023-03-14 00:29:30 -04:00
aMannus
866882e4c6
CrowdControl V2: Effect Overhaul (#2433) 2023-03-13 11:37:50 +01:00
Christopher Leggett
d9008938f8
Makes sequenceMap and seqLoadStatus a dynamic size (#2610)
Refactors to allow the above two arrays to be a dynamic size when the game launches, size is set during the AudioLoad_Init function.
2023-03-12 15:55:25 -04:00
Malkierian
73052617ed
[GI] Item_Give and OnReceiveItem updates (#2580)
* Changed OnReceiveItem hook to pass GetItemEntry, which required the following changes:

Reworked the references to it in `z_parameter` to call a single function with the item return and hook call in it for ease of editing.

Modified the pendingSale functionality to set and pass a modIndex value as well, as mod items (like randomizer) in shops still use the vanilla sale path.

* Missed some files for the pendingSale changes.

Also added Randomizer_Item_Give to the OnReceiveItem system.

* Ice traps now trigger OnReceiveItem.

* All ice traps truly do work now.

As a side effect, item autosave doesn't work for shop/scrub/merchant transactions, requires new OnSaleEnded hook that can also call the autosave.

* Removed unnecessary calls to ItemTable_RetrieveEntry where GetItemEntry properties were being used to call it.  General code cleanup.

* Added OnSaleEnd hook for when rupees are finished deducting after a sale.

Migrated AutoSave to its own function, registered AutoSave function to OnReceiveItem and OnSaleEnd hooks to help with autsaving after buying items.

Some futureproofing for AutoSave function with parameters for skipping autosave, for when transition end is migrated to AutoSave function (whether through direct call or through a hook).

* Renamed hook paramaters, and registered hook function parameters, to a more descriptive alternative.

* Missed a couple, fixed a typo.

* One more missed paramater name refactor.

Refactored all references to OnReceiveItem to OnItemReceive to mirror upcoming full hook refactor for name ordering conventions.

Up-to-date with develop.
2023-03-12 08:00:03 +01:00
Adam Bird
7c558ae089
fix rando quest selection falling back to vanilla saves (#2599) 2023-03-08 13:09:22 -05:00
briaguya
eb28d114cd
khan -> dev 2023-03-06 23:39:08 -05:00
Malkierian
5d32343919
Modify cutsceneIndex in scene transition autosave to include use-cases outside of normal vanilla play. (#2588) 2023-03-06 23:17:27 -05:00
David Chavez
21466192e5
[Accessibility] Text to Speech (#2487) 2023-03-02 09:27:28 +01:00
David Chavez
109345e94d
[Resources] Properly encode soh textures and remove raw load (#2548) 2023-03-01 10:18:26 +01:00
David Chavez
b74be9196c
[Accessibility] Add ability to disable camera re-centering on idle (#2503)
* Add ability to disable camera recentering on idle

* Remove platform check

* Update else camera comment
2023-02-28 21:42:15 -05:00
Adam Bird
1fc6a2f08f
Rando version warning on different builds (#2420)
* save build version to savefile

* adjust rando hash icons to use fade in/out

* add dialog message support on the file select screen and display rando version warning

* remove duplicated message functions and use stubbed play state instead for rando warning

* add major/minor/patch version saving to file and compare against

* use strncpy and memset for build version

* don't show rando warning one copy/erase screens

* review feedback

* Add german and french translations for rando warning

Co-authored-by: PurpleHato <linkvssangoku.jr@gmail.com>

---------

Co-authored-by: PurpleHato <linkvssangoku.jr@gmail.com>
2023-02-28 20:46:55 -05:00
David Chavez
c91a044d46
[GameInteractor] Introduce GameFrameUpdate Hook and Migrate Cheats (#2554) 2023-02-28 11:20:43 +01:00
Josh Bodner
f481b86386
Change autosave to use dropdown (#2550) 2023-02-28 00:07:47 -05:00
Adam Bird
f7bb807940
[Game Interactor] Add LoadGame and ExitGame hooks (#2542)
* add loadgame/exitgame GI hooks

* implement loadgame/exitgame hooks in game code

* move entrance tracker data lifecycle to hooks

* update cosmetic editor to update onloadgame hook
2023-02-26 23:04:57 -05:00
briaguya
17aeec4b13
add greg to gameplay stats (#2544)
Co-authored-by: briaguya <briaguya>
2023-02-26 23:04:47 -05:00
Amaro Martínez
656e593a67 Fix Lakeside Laboratory title card (#2501) 2023-02-23 08:47:13 +01:00
briaguya
494bdcdb25
gibbs -> dev 2023-02-17 08:02:08 -05:00
briaguya
3d8752b3aa
you found greg! (#2458)
adds greg to the item tracker

---------

Co-authored-by: briaguya <briaguya@alice>
2023-02-16 20:10:31 -05:00
briaguya
f4f10e4a49
don't show duped sequence names, don't repeat track intros on barinade (#2482)
* better fix for repeated sequence names, add delay to fix repeated bgm on barinade

---------

Co-authored-by: briaguya <briaguya@alice>
2023-02-16 18:45:51 -05:00
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
Bigs
d275740c88
Separate X/Y axis sensitivity sliders (#2472)
* Update z_camera.c

* Update GameControlEditor.cpp

* Update GameControlEditor.cpp

* Update GameControlEditor.cpp

Adding Sliders for first person X and Y axis

* Update z_player.c

Modified variables to allowed separate sensitivity settings for x and y axis
2023-02-15 20:42:21 -05:00
David Chavez
8934274c67
[GameInteractor] Game Hooks (#2481) 2023-02-15 20:30:34 +01:00
Cardboy777
2241635ac5
Option for link's models reflect the projectile weapon he's holding (Bow/Slingshot) (#2454)
* Link's models reflect the projectile weapon he's holding

extracted logic from months-old PR

* apply bow/slingshot model changes only if 'gBowSlingShotAmmoFix' is enabled

* Apply suggestions from code review

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

* whitespace

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2023-02-14 21:14:42 -05:00
Adam Bird
67421179e4
Fix: Rando settings not being initialized in time (#2461)
* fix entrance init and entrance tracker not working properly when no spoiler log is loaded

* fix rando adult trade spoilable items reverting when no spoiler log loaded
2023-02-13 02:00:59 -05:00
Sirius902
44f963e310
Rumble and check tracker fixes (#2419)
* Fix rumble

* Fix check tracker crash
2023-01-30 12:33:52 -05:00
Kenix3
47f206825d
Debug camera (#2400)
* Moves SoH mixer to SoH from LUS.

* Debug camera now works in SoH, but mempak saving does not (yet).

* Debug camera is now enabled/disabled based on the gDebugEnabled cvar.

* Updates OTRGlobals comments

* Updates OTRGlobals comments
2023-01-26 18:43:09 -05:00
aMannus
170a9103f9
Implement GameInteractor & move CrowdControl and console commands to it (#2358)
* Begin GameInteractor

* Basic skeleton of PoC

* WIP

* First 2 CC effects transitioned to GameInteractor

* Prepare GameInteractor classes for CrowdControl

* More effects & replace chaosEffects with GameInteractor

* CC connection fixes & all CC effects (enemy spawns still borked)

* First couple of build error fixes

* Fix build

* Proper enemy spawning

* Clean up old CC code

* Extract link size/invisibility into GameInteractor

* Small fix/cleanup

* Suggestions for PR

* Address PR comment

* Addressed more comments & small adjustments

* Fix crash when spawning enemies

* Remove Remove()

* Move checks into Apply() and move CC and some console commands to it

* Use inheritance to abstract check on application

* Rename prefix Actions with RawAction

* Make Remove return a Result

* Fix issue with compilation

* debugconsole -> GameInteractionEffects progress

* Add State in GI

* Unify some Effects

* Port more debug console items

* Remove state modifyiers from raw actions

* Port over last raw action / state in console

* Adjust some types

* Consolidate link size modifier effect

* Adjust more types

* Define category strings in CC

* Clean up remaining non defined strings

* Fix bug in timed effects

* Rename old pack

* CC fixes

* Translate GI enum function

* Console cleanup/fixes/consistency

Co-authored-by: David Chavez <david@dcvz.io>
2023-01-25 18:13:33 -05:00
Garrett Cox
7a75fe8411
Add faster farores enhancement (#2394)
* Add faster farores enhancement

* Add preset entry
2023-01-25 17:27:11 -05:00
Ralphie Morell
6d6c1c8c32
Enhancement: Better Farore's Wind (#2374)
* Updated SaveManager, SaveContext;
lifted restriction from gtg and ganon's castle;
disabled clearing fw during master sword lift;
added checkbox

* increment load version (whoops); clear age fw after use

* beef up fw console handler (for testing)

* Simplify better FW (2 copies > 1 copy)

* Apply suggestions

* whoops
2023-01-25 14:32:21 -05:00