Commit Graph

2081 Commits

Author SHA1 Message Date
briaguya
307e106038
vb talon's chickens (#99) 2024-04-04 10:55:07 -05:00
briaguya
1e9cba1d61
vb diving game (#100) 2024-04-04 10:30:45 -05:00
briaguya
249490909f
pull docs: talon function names (#98) 2024-04-04 10:26:48 -05:00
Garrett Cox
325035e473 Merge branch 'develop-rando' of garrettjoecox.github.com:HarbourMasters/Shipwright into develop-rando-changes 2024-04-04 08:15:34 -05:00
Garrett Cox
01bcc4bb59
Merge pull request #4033 from HarbourMasters/develop
develop -> develop-rando
2024-04-04 13:13:58 +00:00
briaguya
0f43d5de2d
bump lus (gfx refactor) (#4031) 2024-04-03 22:16:17 -04:00
briaguya
2339a729ee
vb deku theater (#96) 2024-04-03 21:10:18 -05:00
briaguya
d6c512904b
vb target in woods (#95)
* do some target in woods VB stuff

* skip deku scrub hopping out animation

* replace a couple IS_RANDOs

* cleanup
2024-04-03 20:11:13 -05:00
briaguya
0334c4e354
pull in docs (#97)
* rename `func_8002DF54` to `Player_SetCsActionWithHaltedActors`
* rename `func_8002F434` to `Actor_OfferGetItem`
2024-04-03 20:07:42 -05:00
Christopher Leggett
c162af818d
Fix keysanity Any Dungeon setting. (#4020)
Due to a typo a few months ago, it was accidentally being ignored and
treated as Anywhere. Own Dungeon may have also been doing weird things,
but I'm not entirely sure.
2024-03-20 18:24:58 -04:00
Garrett Cox
8b3cfdb84f
Merge pull request #3986 from Archez/merge-macready-805
Merge MacReady 8.0.5 -> Develop
2024-03-06 04:12:02 +00:00
briaguya
ef690e2ceb
support LUS::Archive::LoadFileRaw no longer being exposed (#3999) 2024-03-05 23:09:05 -05:00
briaguya
9fb2f26f1b
tts: use RawJson resource + add SpeechLogger (#3998)
* moved `tts.cpp` away from using `LoadFileRaw` by creating a new `RawJson` resource type
* added `SpeechLogger`
2024-03-05 22:21:15 -05:00
briaguya
375349e4f7
Support font as resource LUS changes (#3993) 2024-03-04 23:36:23 -05:00
briaguya
ebde648c59
.o2r support (#3955) 2024-03-02 20:51:32 -05:00
Adam Bird
7bd2a7c3a6 Merge remote-tracking branch 'origin/develop' into merge-macready-805 2024-02-28 23:49:06 -05:00
Malkierian
368a9015ac
Add Unix timestamp to renamed corrupted file to prevent trying to copy over existing file. (#3984) 2024-02-28 22:46:32 -05:00
Malkierian
ed9cb1dfd2
Fix CVar evaluation for scummed checks being hidden. (#3985) 2024-02-28 22:45:16 -05:00
Archez
fb6ea42560
prevent remember save location in dungeons/boss rooms (#3983) 2024-02-28 22:33:51 -05:00
Malkierian
b26f2b21da
[UX Improvement] Catch save loading errors and notify user (#3979)
* Add `SohModalWindow` and `SohModal`. Runs as window, always "visible", but not drawing if no popups are registered.

Adds error catching for save file corruption (malformed json) that renames the file in question to prevent future loading issues and uses `SohModalWindow` to inform the user of the error.

* Apply suggestions from code review

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2024-02-28 21:12:23 -06:00
Archez
358dd47da7
remove zapd extraction from mac launch script (#3981) 2024-02-28 21:03:08 -06:00
Malkierian
ea1ffdd041
Adds messageboxes to no_ui handling so they don't show if you have it on. (#3977) 2024-02-28 20:04:44 -06:00
Garrett Cox
416ed84bc6 Migrate great fairy checks 2024-02-24 09:17:48 -06:00
Garrett Cox
09c967249f More 1PC skips 2024-02-23 14:06:27 -06:00
Garrett Cox
13a113c362 Various adjustments to goron related vanilla behavior hooks 2024-02-23 12:43:27 -06:00
Garrett Cox
b293cac51c Enable timesaver enhancements by default on rando 2024-02-21 15:26:11 -06:00
Garrett Cox
2203f902a3 Merge branch 'develop-rando' of garrettjoecox.github.com:HarbourMasters/Shipwright into develop-rando-changes 2024-02-21 14:43:37 -06:00
Garrett Cox
7bebe7a573 Migrate okarina_tag changes 2024-02-21 14:01:49 -06:00
Adam Bird
b5c601f43e Merge remote-tracking branch 'origin/develop' into rando-dev-merge-feb 2024-02-21 02:01:25 -05:00
briaguya
bcbe4cb1c3
we crash if we try to SPDLOG in the destructors (#3951)
* we crash if we try to SPDLOG in the destructors

* rip em out

* newline

* add to destroy

* Revert "rip em out"

This reverts commit 738a9b80f3.

* Revert "we crash if we try to SPDLOG in the destructors"

This reverts commit 327d305e00.
2024-02-21 00:21:26 -05:00
Archez
cd25f1d3c1
Fix performance of dlist viewer (#3961) 2024-02-21 00:20:25 -05:00
Garrett Cox
37e89c0c7c Migrate song of storms check 2024-02-20 21:49:07 -06:00
Garrett Cox
72581f7482 Re-add some UI I accidentally removed 2024-02-20 21:04:16 -06:00
Garrett Cox
0dda3a6c29 More boss intro skips 2024-02-20 21:00:10 -06:00
Ted Newman
00b3581151
Skull Kid (#86)
Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-02-20 20:15:10 -06:00
Garrett Cox
d28257088b
Merge pull request #85 from Tawling/vbo-man-on-roof
GI VB for Man On Roof
2024-02-21 02:12:53 +00:00
Adam Bird
8b178f9386 RandoV3 fixes for mix/decouple boss entrances 2024-02-20 16:52:42 -05:00
Adam Bird
37b960ab0e Merge commit '13fce8258d92e80ea09900f83d338ccba2e7b1f9' into rando-dev-merge-feb 2024-02-20 16:51:05 -05:00
Adam Bird
1d61ba0b86 Merge commit '3187564f5b4120e159f5e506b4a3db88716b56aa' into rando-dev-merge-feb 2024-02-20 10:57:39 -05:00
Archez
cd5d2589f7
Merge pull request #3958 from HarbourMasters/develop-macready
macready -> develop
2024-02-20 10:32:28 -05:00
Archez
ef9fc0a9ec
fix endianess issue with camera setting data (#3950) 2024-02-20 08:38:10 -06:00
Archez
19af4481c0
fix object unload using wrong index (#3949) 2024-02-20 08:31:24 -06:00
briaguya
30ff3e9585 fix the torch 2024-02-16 02:03:22 -05:00
Archez
d0b09743b9
Fix missing ImGui::EndDisabled (#3946) 2024-02-15 23:25:16 -05:00
Patrick12115
c484ea227b
[Difficulty Options] Leever Spawn Rate (#3460)
* Spawn Rate

* Update z_en_reeba.c

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

* gEnhancements

* Merging issues

* Added preset entry and changed timer value math

* Update soh/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c

* this should do it

* Update soh/src/overlays/actors/ovl_En_Encount1/z_en_encount1.c

* move out of loop

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-02-15 22:12:09 -06:00
Patrick12115
4599212546
[Fixes] Fix Raised Floor Switches (#3851)
* Lower by 1

* gEnhancements.

* Update z_obj_switch.c

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

* Moved to Hook

* Properly this time

* Added to presets

* Added a Return;

* Use Hex

Co-authored-by: inspectredc <78732756+inspectredc@users.noreply.github.com>

---------

Co-authored-by: Archez <Archez@users.noreply.github.com>
Co-authored-by: inspectredc <78732756+inspectredc@users.noreply.github.com>
Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-02-15 22:02:58 -06:00
Garrett Cox
a8d3724a53
Add missing cvars mostly that patrick forgot because he likes ranch dressing but also some that I missed oops (#3944) 2024-02-15 21:28:06 -06:00
Garrett Cox
10b6f8cf80
Merge pull request #3945 from HarbourMasters/develop-macready
macready -> develop
2024-02-15 21:21:18 -06:00
briaguya
e0d502b696
resource refactory (#3926)
* animation

* playeranimation

* stop putting things in the LUS namespace from SoH

* get all the factories out of the namespace

* LUS::

* start on scene command stuff

* i think that's the rest of scene

* reduce copypasta

* collision header

* skeleton

* skeletonlimb

* fix

* path

* cutscene

* text

* audio sample

* sound font

* audiosequence

* background

* Revert "stop putting things in the LUS namespace from SoH"

This reverts commit 0ead6056e6.

* namespace shanans

* wrap all factories in namespace soh

* it's trying to link now

* lus

* scene command override etc

* fix audio loading

* slightly less logspam

* get past the cutscene problem

* in game!

* exporter cleanup

* more exporter cleanup

* clang formatted lus

* msvc

* itny lus change

* variant

* formatty

* fix of some sort i guess?

* use latest lus main

* fix name to enum/factory mapping

* otrexporter
2024-02-15 21:06:52 -06:00
Miles Acquaviva
7f4fc8dc4a
Abstracted repeated code into functions (#3116)
* Abstracted repeated code into functions

* Apply suggestions from code review

* Update soh/soh/Enhancements/cosmetics/CosmeticsEditor.cpp

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
Co-authored-by: Archez <Archez@users.noreply.github.com>
2024-02-15 21:03:19 -06:00
Patrick12115
db57581d6f
[Cosmetics] Add Vanilla GS DL for Cosmetics Editor (#3937)
* Add Vanilla DL

* Fixed egregious spacing error
2024-02-15 20:51:23 -06:00
Pepe20129
8525f71c57
Colored Compasses (#3883)
* Colored Compasses

* Rename cvar & add explicit rando check
2024-02-15 20:50:17 -06:00
Pepper0ni
a7726653e5
Add Big Skulltula logic to adult kokiri forest and fix a small bug in forest temple logic (#3938)
* Add Big Skulltula logic to adult kokiri forest and fix a small bug in forest temple logic

* fix spelling
2024-02-15 20:49:45 -06:00
Pepe20129
7319e4db57
More player documentation from decomp (#3819)
* FallImpactInfo & AnimSfx stuff

* IA function naming & Player_UseItem

* ActionChange

* Speed modes

* Fix build

* Misc cleanup

* Name Player_Action funcs

* PlayerAgeProperties

* Most of the Player struct

* Update z_player.c

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-02-15 20:44:46 -06:00
Malkierian
30a063b75d
[Tweak] Move Personal Notes to Save File (#3909)
* Moves personal notes to the save file under a new itemTracker save section.

* Update soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp

---------

Co-authored-by: Archez <Archez@users.noreply.github.com>
2024-02-15 20:44:40 -06:00
DeusVexus
4797c9ad35
Adds the Keese and Guay don't target you cheat (#3267)
* Adds the Keese and Guay don't target you cheat
that makes keese and guay ignore you as if
you are wearing the skull mask

* changed instances of CVar_GetS32 to CVarGetInteger
added the cvar to presets.h

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-02-15 20:29:09 -06:00
inspectredc
457a75e9f8
More Sword Toggle Options (#3889)
* Sword Unequipping Toggle

* better macro

* less ugly format

* cvar prefix

* Update soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_equipment.c

* Update soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_equipment.c

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-02-15 20:15:44 -06:00
briaguya
1bc15d5bf3
document dependencies per distro (#3933)
* start on arch

* noconfirm

* git

* noconfirm

* just skip cache

* cmake

* ninja

* gcc

* lsb

* sdl2

* png

* sdl net

* boost

* imagemagick and add opensuse

* non interactive

* git

* cmake

* add a bunch

* things

* more

* try to matrix

* soh otr i guess

* needs

* trying to figure out how matrix include works

* make the matrix?

* matrix debug

* install?

* echo?

* yuck

* cannot locate package false

* parens for good measure

* lsb

* libsdl2

* suse

* i forgot opensuse uses gcc-c++ instead of g++ for the package name

* png

* sdl

* more

* suse packages....

* fedora cmake

* 2?

* png

* handle old sdl2 net

* apt

* not sure if this is a problem for both clang and gcc on opensuse or just clang

* devel

* cmake min version

* def don't want this here but it's here for now

* does this do anything

* mantic because cmake version

* libopengl?

* fedora ninja

* fedora g++

* lsb

* fedora sdl

* libpng

* do a build

* clang fix

* give early returns values

* ImageMagick

* Update BUILDING.md

* something

* plain boost instead of devel?

* not packing so we don't need this part

* base?

* don't have it can't need it

* just use boost download on opensuse i guess

* move workflow

* bring back the file

* lus main?

* detach
2024-02-15 20:13:49 -06:00
Garrett Cox
e05f558ef3
Fix issue with bombchus always showing as major (#3303) 2024-02-15 20:12:19 -06:00
Garrett Cox
a84227cbbb
Support hook unregistration (#3538) 2024-02-15 20:08:31 -06:00
Pepper0ni
cf6101f4da
Logic bug: child cannot climb forest temple to the straight hallway either (#3934) 2024-02-15 20:03:58 -06:00
Ted Newman
bdfcf39e56
Add a link to ship.equipment to the CRC error message box during extraction (#3939)
* Add a link to ship.equipment to the CRC error message box during extraction

* Improve message and add to ShowCrcErrorBox

* Change 'known good roms' to 'known compatible roms'
2024-02-15 19:55:01 -06:00
Archez
3d3b8bfc5b
Allow IsSaveLoaded to consider debug saves (#3929) 2024-02-15 19:54:35 -06:00
Malkierian
0cb4cd158a
Adds reset function to z_en_si (GS Token) to set getItemId to vanilla after resetting SoH. (#3925) 2024-02-15 19:53:18 -06:00
Ted Newman
bbac8f8da4
[Fixes] Fix for Zora hint dialogue condition with an inverted flag check (#3920)
* [Fixes] Fix for Zora hint dialogue condition with an inverted flag check

* Base dialogue off of ruto's letter flag

* simplify condition
2024-02-15 19:52:46 -06:00
Malkierian
11a0a00633
Add CVarClear to appropriate sections of randomizer Locations and Tricks tabs to get around issue with saving blank CVar strings. (#3916) 2024-02-15 19:50:31 -06:00
mckinlee
2c5cb58ef6
Rename func_80853148 to Player_StartTalking (#3915)
-In PR #3498 I renamed this function for clarity and decided to make a
quick seperate PR for this change.
2024-02-15 19:49:56 -06:00
Tina H. (sheepytina)
7ccc816772
Cosmetics Editor fixes for icons in z_message_PAL.c (#3914)
* Fix resetting button icon colours in message boxes.

* Fix type/math error for custom color in textbox icon pulsing.

* Fix type error for custom color in ocarina icon pulsing.

* Make custom env colour math more closely match vanilla equivalents.

* Make comments presentable.
2024-02-15 19:49:13 -06:00
Tina H. (sheepytina)
eeb6c7faaa
Fix Cosmetics Editor getting stuck on weapon trails (#3913)
* Partially fix cosmetics editor getting stuck on sword trails.

* No reason for "reset" to be static.

* bombchu
2024-02-15 19:47:13 -06:00
Ted Newman
e68b281b18
[Enhancement] Preserve minimap toggle state between areas (#3906)
* Add enhancement to preserve minimap toggle state between areas

* add map toggle enhancement to presets
2024-02-15 19:39:24 -06:00
inspectredc
107a365b71
Add safety measure to Scene_CommandObjectList to prevent crash (#3904)
* dont let k overflow

* Update soh/soh/z_scene_otr.cpp

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

---------

Co-authored-by: Archez <Archez@users.noreply.github.com>
2024-02-15 19:38:54 -06:00
Josh Bodner
a7b8c1dbca
Fix neck slider (#3902) 2024-02-15 19:38:28 -06:00
Garrett Cox
f7e746e295
Tweaks to coloridoscope (#3901) 2024-02-15 19:37:55 -06:00
Ted Newman
db958ab3f4
New input viewer (#3890)
* Move input viewer into SoH

* Remove unnecessary comments

* Update button outline mode to match default viewer

* Fix ambiguous call

* CVar name changes and minor fixes

* Two more cvars

* Separate C-buttons into individual toggles

* Account for text height regardless of scale

* A few extra comments

* Use new LoadTextureFromRawImage to load layer textures
2024-02-15 19:37:19 -06:00
Pepe20129
7cdd33a01d
Better ammo rendering (#3844)
* Better ammo rendering

* Update soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_item.c

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

* Update z_kaleido_scope_PAL.c

* Rename gBetterAmmoRendering to gEnhancements.BetterAmmoRendering

---------

Co-authored-by: Archez <Archez@users.noreply.github.com>
2024-02-15 19:32:17 -06:00
Patrick12115
c1365b3263
[Time Savers] Shops and Games always open (#3789)
* Shops and Games always open

* Added comment  for scene reload requirement

* Prefix

* Spacing

Co-authored-by: Pepe20129 <72659707+Pepe20129@users.noreply.github.com>

* I'm bad at merging

* Refined by Archez

---------

Co-authored-by: Pepe20129 <72659707+Pepe20129@users.noreply.github.com>
2024-02-15 19:27:26 -06:00
Giantblargg
458970816f
Fix Check Tracker Vanilla/MQ Dungeon Spoilers (#3723)
* Fix Dungeon Spoilers

* Update soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp

* Update soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2024-02-15 19:26:27 -06:00
Christopher Leggett
3514954ad1
Adds Message Viewer Window to Developer Tools (#3486)
* Adds a MessageViewer window to Developer Tools.

* Properly destroys message viewer window.

* Adds missing ImGui::End()

* Fixes an oopsie crashing non-windows builds after first run.

* Adds C ABI for displaying a custom message

* Fixes a crash and an issue with messages with SFX.

* Remove some osSyncPrintf's that aren't very useful for this case.
2024-02-15 19:23:12 -06:00
Pepper0ni
0932e1e504
Make the final Magic Bean cost 99 rupees in randomiser when it is not shuffled (#3392)
* Make rando final eban cost 99 and clean up Text IDs

* Remove Text ID changes

* Add french translation, All credit to Purple hato

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

---------

Co-authored-by: Purple Hato <linkvssangoku.jr@gmail.com>
2024-02-15 19:20:12 -06:00
inspectredc
46aea3aa7c
Player State Docs (#3280)
* state flags 1

* state flags 2

* state flags 3

* fill array
2024-02-15 19:17:28 -06:00
Spodi
460ec1bb03
Use manifest for windows DPI awareness (#3270) 2024-02-15 19:17:03 -06:00
Archez
13fce8258d
[Rando] Add Mix and Decouple support to Boss Entrances (#3261)
* initial support for mixing boss entrances in the mixed pool

* support decouple for boss entrances

* missed decouple change

* add blue warp exits to boss rooms in location access

* add entrance get helper methods

* fix assumed targets not using root in entrance name

* add dedicated blue warp entrances and handle blue warp changes during generation

* change bluewarp handling in game to use unique blue warp entrances

* handle blue warps in entrance tracker

* fix overriding all jabu and water temple rooms

* fix grotto returns when exiting boss rooms/dungeons

* fix blue warp logic by tracking original connected region key

* use entrance enums

* remove unneeded entrance values

* fix decouple generation crash

* fix jabu mq backwards logic
2024-02-15 19:14:24 -06:00
mckinlee
3187564f5b
Pause Warp Enhancement (#3223)
* Pause Warp Enhancement

This commit introduces the PauseWarp mod, a feature that allows players to warp to different locations in the game directly from the pause menu.

- Add PauseWarpState structure to manage flags and cooldowns for the pause warp feature.
- Implement IsStateValid function for state validation.
- Implement ResetStateFlags function to reset all state flags to default values.
- Add InitiateWarp function to handle the initiation of warp sequences.
- Implement HandleWarpConfirmation function to confirm and execute warp actions.
- Implement HandleCooldowns function to manage various cooldown timers.
- Add PauseWarp_Main function as the main logic, called every frame to handle pause warp functionality.
- Map warp song messages to in-game text messages.

* Warp Song Check

-Now if you do not have a warp song you won't be able to select the empty slot and still teleport.

* Added Audio Fanfares and Changed stateFlag1 to PLAYER_STATE1_IN_CUTSCENE

-When selecting a warp song the audio for the applicable warp song will now play for a extra vanilla feel.
-Changed the stateFlag1 because previously it just disabled input allowing enemies to harm you. Now that won't happen because the game is put into a cutscene state.

* Feedback Update

-A new hook was created 'OnPauseMenu' so now PauseWarp_Main is only called when the pause menu is open
-Moved pauswarp.c to the Enhancements folder
-Removed from graph.c

PR Change:
Changing to the main branch instead of sulu

* Feedback Update #2

-Introduced new function 'PauseWarp_Idle' now that 'PauseWarp_Main' is no longer called every frame
-Added C wrapper to access 'GameInteractor::IsSaveLoaded' and scrapped the 'IsStateValid' function
-Added 'PauseWarp_Idle' to the the 'RegisterPauseWarp' function
-Refactored the code some

* Linux Compile Issue

-Added a missing header that was causing a compile issue for linux
-Hopefully, it won't crash

* Minor Bug Fix

-Now link won't get soft locked when warping to the same location twice

* Update libultraship

* Revert "Update libultraship"

This reverts commit 746fc23479.

* Bug Fix
-Added more checks to ensure vanilla behavior when a Ocarina is not in the players inventory.

* WIP

* Done unless I'm missing headers

* now we done

* clean up, these arn't needed anymore

* Rename OnPauseMenu to OnKaleidoUpdate
2024-02-15 19:13:54 -06:00
Archez
c1eb0a8970
Bump latest LUS and Fix ship menu bar icon (#3935)
* fix ship menu bar icon

* update cmake in wiiu/switch

* different cmake install

* wrong arch
2024-02-13 19:55:33 -06:00
Taw
ceb5b740b5 fix include 2024-02-12 14:26:10 -08:00
Taw
4e5b92fdf3 Man On Roof 2024-02-12 08:26:36 -08:00
Taw
bea3c6dae0 GameInteractor hooks for adult and child shooting gallery 2024-02-09 14:17:17 -08:00
briaguya
8a14fea94c
support LUS archivemanager refactor (#3912) 2024-02-08 20:28:02 -05:00
Garrett Cox
596ea5ebbb Vanilla Behavior Overhaul
Co-authored-by: jordanpg <jordanpg@users.noreply.github.com>
2024-02-02 15:39:01 -06:00
Garrett Cox
04c106d8f7 Merge branch 'develop' of garrettjoecox.github.com:HarbourMasters/Shipwright into develop-rando-merge 2024-02-02 10:20:54 -06:00
Ted Newman
be8dcfda05
Fix Internal Resolution format to use %.1f instead of %d (#3899) 2024-02-02 07:38:24 -06:00
aMannus
7cd2019ef6
Fix starting skulltulas (#3876) 2024-02-01 23:56:35 -06:00
briaguya
a9d57a95ec Merge branch 'develop-macready' into macready-to-dev-2-2 2024-02-02 00:19:13 -05:00
briaguya
41c2933619
sccache for windows builds (#3385)
* cache vcpkg on windows ci

* try sccache as variant

* missed a spot

* see if we're checking here

* does this do it?

* trying to make minimal changes and have this work

* hopefully these z7s do something

* we were almost at the max already bump to double

* Apply suggestions from code review

* sc

* latest from soh-macready branch of otrexporter
2024-02-01 23:11:31 -06:00
Patrick12115
f88343839e
Item Tracker Text Size Slider (#3856)
* Adds Slider and Functionality

* prefix

* Changed values

* HELLO

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-02-01 22:47:55 -06:00
Pepe20129
961b2626ad
Merge controller menus (#3860)
* Merge controller menus

* Re-run Build

* Update SohInputEditorWindow.h

* Update soh/soh/Enhancements/controls/SohInputEditorWindow.cpp

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

* pin switch devkit docker image

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2024-02-01 22:10:46 -06:00
Patrick12115
775d3e68b7
[Graphics] Show Equipment Regardless of Age (#3830)
* Hookshot, Hammer, & Boomerang

* Added the remainder of equipment and DL Patching for hands

* Removed Mirror Shield Patch

Messed with the front texture of shield

* Child Hylian Shield Cheat

Adds a cheat that allows Child Link to hold Hylian Shield as adult. Added to this since it uses the same way to render the shield

* Debugging

* Adds Scaling to Child Link with Adult Equipment

* Fix Merge Conflict Blunders

* More cleanup

* Added Scaling checkbox and some clean up

* Added an || ITEM_NONE

* More cleanup and simplification

* Accidently added spacer

* Replace B_BTN_ITEM

* Spacing

Co-authored-by: Pepe20129 <72659707+Pepe20129@users.noreply.github.com>

* Added most sheath functionality

* Updated tooltips

* removed child hylian shield and tweaked bow/slingshot

Made child hylian shield cheat into a separate branch and hooked into existing bow/slingshot enhancement for drawing those

* Prefixes

* ()

---------

Co-authored-by: Pepe20129 <72659707+Pepe20129@users.noreply.github.com>
Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-02-01 21:11:49 -06:00
Tina H. (sheepytina)
a6457599f9
Clarify descriptions of Graphics Settings (#3881)
* Rewrite tooltips: Internal Resolution, Anti-Aliasing.

+ Tweak others.

* MSAA slider will display 1x as Off.

* Rename setting and tweak tooltips: FPS (to Framerate)

+ Code style formatting.

* Add tooltip: Texture Filtering. + Small tooltip changes.

+ Tidy up comments/newlines.

* Add internal resolution advisory for Apple users.

(Because this setting being missing keeps getting reported as a bug.)

* Small text tweaks.

* Code review suggestion

Co-authored-by: inspectredc <78732756+inspectredc@users.noreply.github.com>

* Missed one of the buttons + correct spelling of "frame rate"

---------

Co-authored-by: inspectredc <78732756+inspectredc@users.noreply.github.com>
2024-02-01 20:52:53 -06:00
skyyoshi86
351a511dc7
Cosmetics Editor entry for Ivan the Fairy (#3718)
* First commit

* Reverted MODDING.md

Reverted a correction to MODDING.md (case-sensitive broken link?) as this is not a change related to this PR

* Delete CMakeSettings.json

Deleted CMakeSettings.json as this is not a change related to this PR.

* checks for cosmetic changes ONCE for both body and sparles

Please review carefully. I made these changes blindly as I figure out why I can't compile it in my machine anymore. Sorry!

* correctly updates OUTER color when it's changed in Cosmetics Editor

* Update soh/soh/Enhancements/cosmetics/CosmeticsEditor.cpp

* Update soh/soh/Enhancements/cosmetics/CosmeticsEditor.cpp

* Update soh/soh/Enhancements/cosmetics/CosmeticsEditor.cpp

* Update soh/soh/Enhancements/cosmetics/CosmeticsEditor.cpp

* Update soh/soh/Enhancements/cosmetics/CosmeticsEditor.cpp

* Update soh/src/overlays/actors/ovl_En_Partner/z_en_partner.c

* Update soh/src/overlays/actors/ovl_En_Partner/z_en_partner.c

* Update soh/src/overlays/actors/ovl_En_Partner/z_en_partner.c

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

* Update soh/src/overlays/actors/ovl_En_Partner/z_en_partner.c

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

* Update soh/src/overlays/actors/ovl_En_Partner/z_en_partner.c

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

* Update soh/src/overlays/actors/ovl_En_Partner/z_en_partner.c

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

* Update soh/src/overlays/actors/ovl_En_Partner/z_en_partner.c

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2024-02-01 20:44:16 -06:00
Garrett Cox
ddf0392100
Add gShowDoorLocksOnBothSides (#3787)
* Add gShowDoorLocksOnBothSides

* Update soh/src/overlays/actors/ovl_En_Door/z_en_door.c

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2024-02-01 20:43:45 -06:00
Patrick12115
c49908caa6
Item Tracker Hookshot/Longshot Identifiers (#3848)
* H & L

Adds an H and L for Hookshot and Longshot to be able to tell more clearly which one you have.

* Added Toggle and Refined

Adds a toggle if players don't want it on. Also scales the letter to stay constant with the icons, both size and position. Also now hides the letter if you don't have a hookshot yet.

* Clean up some of the comments

* prefix
2024-02-01 20:30:48 -06:00
Chris
81eb6de42e
Audio Editor UI Improvements and Scene Init Randomization (#3388)
* Audio Editor UI Improvements and Scene Init Randomization

* Update soh/soh/Enhancements/audio/AudioEditor.cpp

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

* Update soh/soh/Enhancements/audio/AudioEditor.cpp

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

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2024-02-01 20:20:35 -06:00
Eric Hoey
f7bd626162
change default value + scale offset by icon size appropriately (#3861) 2024-02-01 20:15:25 -06:00
Josh Bodner
f8b0e586bb
Fix +/- buttons on float sliders not working at certain values (#3865) 2024-02-01 20:14:17 -06:00
Patrick12115
ed85a1b0e2
[Time Saver] Reset Navi Timer (#3818)
* Reset Navi Timer

* Force Rebuild

* Prefix
2024-02-01 20:12:28 -06:00
Chris
270d0b836e
Randomize cosmetics on new scene (#3342)
* Randomize cosmetics on new scene

* Code review feedback

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-02-01 20:10:49 -06:00
aMannus
e4948d9ce4
Triforce Hunt GI Model Blender source files (#3478)
* Triforce Hunt GI model source files

* Move assets to different path
2024-02-01 20:01:38 -06:00
louist103
4bdb5098b0
Colors 1 (#3463) 2024-02-01 20:01:18 -06:00
Rozelette
bb1078e99c
Account for removed object dependency in Deku Scrub Leader (#3878)
* Account for removed object dependency in Deku Scrub Leader

* Update soh/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-02-01 19:58:22 -06:00
inspectredc
2529dc59bd
Increase Door Cull range (#3888)
* cullzone

* better cvar name

* Update soh/src/code/z_actor.c

* Update soh/src/code/z_actor.c

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-02-01 19:58:08 -06:00
Caladius
695ab6c6ee
Hurt Container Mode (#3336)
* Each Heart Container or full Heart Piece reduces Links hearts by 1

* Based on Briaguya's suggested Code but modified slightly as some parts were missing.

* Static Bool

* The episode without Captain Hook's Hook

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-02-01 19:57:12 -06:00
Eric Hoey
be948339b9
Lost Woods Ocarina Game Difficulty Options (#3371)
* Menu options, note speed, unlimited playback time

* Instant win

* Add custom ocarina game cvar to all options and presets

* Extra spaces

* Add starting note count, ending note count by round, more presets

* Block out vanilla code + comments

* finish blocking out vanilla code

* new documentation formatting

* add starting notes to randomizer preset
2024-02-01 19:52:10 -06:00
Eric Hoey
7ff46ba1a7
Increase Crawl Speed (#3366)
* Increase animation speeds, crawl speed, add magic numbers for camera timer, add to menu and presets

* Remove extra space, reformat comments

* Initialilze CVar at 0, Initialize default timer, set default case for timer, change all CVarGets to 1, reorg logic

* Fix remaining CVars + unify logic

* block out vanilla code + comments

* new documentation formatting

* Simplify camera swing fix

* Remove redundant multiplication

* Update soh/src/code/z_onepointdemo.c

reduce code duplication

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-02-01 19:38:54 -06:00
Eric Hoey
4d5adbc80f
Fisherman asks for fishing rod when leaving (#3347)
* CVar, presets, custom message, fishing actor

* Add placeholder translations for French/German

* Fix for MS Shuffle change

* Rename function to match

* Missing comma in presets

* Change description, CVar name, add'l function name, edit custom message

* Actual whitespace fix

* re-order custom message

* Fix message formatting

* Add enhancement comments

* yeet if (play) {} from enhancement

* new documentation format
2024-02-01 19:36:57 -06:00
Eric Hoey
d9310e4543
Swim Speed Modifiers (#3308)
* Add CVars for swimming, apply to swim speed calc

* Prevent modifer from working underwater

* Re-enable swim speed mod when underwater, use new (orig) function for y-velocity while diving

* Add to presets list

* Fix spacing

* block out vanilla + comments

* re-org vanilla code block in a sane way

* new documentation format

* rename Surface function + comment for usage

* handle merge conflicts, but like an adult this time
2024-02-01 19:32:50 -06:00
Malkierian
61cf2bd323
No Magic Numbers for Preset Location Exclusions (#3801)
* Adds `FormatLocations` and `PRESET_ENTRY_TYPE_CPP_STRING` to allow for feeding `RandomizerCheck` values directly in presets instead of a string with magic numbers.

* Switch to concatenation with `std::to_string`.

* Forgot to remove <format> include XD
2024-02-01 19:29:24 -06:00
Malkierian
16ee20c2a8
Renames Freecam to Free Look. (#3771)
Adds helper info for invert, distance, and transition speed options.
2024-02-01 19:26:36 -06:00
Archez
7ef6a434f9
fix timestamp truncation (#3874) 2024-02-01 19:25:57 -06:00
Malkierian
e3825ec263
Unify defaults for reward count sliders with Greg As Reward so they need to register changes. (#3875) 2024-02-01 19:23:06 -06:00
Pepper0ni
cb82e77e40
fix bombchu logic bugs (#3720) 2024-02-01 19:15:13 -06:00
Adam Bird
5db4ce0b53 Merge remote-tracking branch 'origin/develop-macready' into mergeDevelopMacreadyJan31 2024-01-31 18:12:06 -05:00
Ted Newman
3e91d5565a
Fix disabled icon for Easy Input Buffering checkbox when Easy Frame Advancing is enabled (#3859) 2024-01-15 19:46:36 -05:00
Archez
63cf3610e5
Fix: Move Ruto earring fix to graphic patch and fix Ganon fight rubble DL reference (#3810)
* move ruto earing fix to real patch

* use stringpath for ganon rubble
2024-01-15 10:31:33 -06:00
inspectredc
dd5d8088f6
Revert actor uncullZone related checks back to match decomp (#3828) 2024-01-15 10:31:06 -06:00
Archez
1da1b1a2bb
Tweak: Improve pause menu dungeon map performance (#3773)
* add map palettes per pulse to leverage shader caching

* use unregister blended with kaleido maps

* use Gfx_TextureCacheDelete for KD lava

* bump lus

* add miss tex clears for KD
2024-01-15 09:39:54 -06:00
Pepe20129
db2ccd95b7
Add Collision Header XML parser (#3396)
* Add Collision Header XML parser

* Update CollisionHeaderFactory.cpp

* Remove "Num" attributes

* Fix crashes

Prevent crash when the camera setting is negative
Change some IntAttributes to UnsignedAttributes
2024-01-15 09:33:21 -06:00
inspectredc
db02870a05
Restore Original Scene Command Object List Behaviour (MacReady) (#3827)
* Restore Original Scene_CommandObjectList Behaviour

* remove some vrom stuff

* add some comments
2024-01-15 09:30:20 -06:00
Tina H. (sheepytina)
ecdf74161b
Add a tooltip to "Restore old Gold Skulltula cutscene" enhancement. (#3849) 2024-01-15 09:28:59 -06:00
Malkierian
861bd09848
Adds a log statement to show the SoH version at startup, in case crashes don't produce a stack trace from which to glean that information. (#3786) 2024-01-15 09:26:19 -06:00
Archez
8426cc93e5
Fix: Tektite texture not loading for death animation (#3808)
* fix tektite death texture loading

* add string header
2024-01-15 09:25:57 -06:00
Patrick12115
31623a93ab
Remove OpenMenu Bar Check (#3817)
Having it set to just -6 makes the Glitch Tick stay in the same spot in game. when the F1 menu bar is open. At least on Windows
2024-01-15 09:24:57 -06:00
Amaro Martínez
bfe2f58feb
Custom message loading (#3713)
* Add custom text message loading

* Use "override" folder for text mods

* Replace only existing messages

* Use std::find_if to check for existing messages
2024-01-15 09:24:08 -06:00
Josh Bodner
01529126ba
Imgui polish (#3481)
* Rearrange menus for better layout on smaller screens.

* Automatically calculate +/- increments for float sliders

* Add needed header

* Use stringstream instead of format since apparently most platforms don't actually support all of c++20 yet boooooo

* Add header that only Mac complained about for some reason

* Theoretical performance improvement

* Actual performance improvement
2024-01-15 09:22:56 -06:00
Pepe20129
22b9284240
Rando: Shuffle Swim (Rando V3) (#3795)
* Shuffle Swim

* Fix build
2024-01-15 09:20:57 -06:00
Pepe20129
ab3e9a7e54
Rando: Shuffle Child's Wallet (Rando V3) (#3794)
* Shuffle Child's Wallet

* Add support for "More info in file select"

* Fix build

* Fix build

* Update randomizer.cpp

* Update locacc_hyrule_field.cpp
2024-01-14 14:55:03 -05:00
Pepe20129
080038c39e
Rando: Shuffle Beehives (Rando V3) (#3763)
* Shuffle Beehives

* Address review

* Fix build
2024-01-14 12:16:32 -06:00
Jordan Gilbreath
4cbf3a5621
Fishsanity - Rando v3 (#3738)
* Update z_fishing documentation from decomp

* undo sCameraAt/Eye rename

* forgot to include these defines Heehee

* adding enums, settings

* adding more stuff back in

* more work

* we're literally typing words into computer

* include unordered map

maybe this fixes mac build idk

* wahoo

* hmm

* add make sure disabled flag gets popped

* poggers in the chat?

* doing some refactoring

* fixing build

* documentation, moving fishsanity instance to rando

* move FS back to context, fixing build, mod progress

since FS is needed during rando generation & provides perpetual info abt. fishsanity in the seed, seems to make more sense if it lives on the context

* moving some stuff around

* it's starting to get real in here

* ELIMINATE FISHSANITYMETA

* IT WROKS

* Update trackers, fix pond fish flagging

* ZD fish shuffle initial checkpoint

* ZD fish "working"

aside from the crashing

* wrapping up

* fix for partial pond shuffle

* remove misc. unrelated debugconsole modification

* updating GI model

* get build working

* add a todo for this

* removeoopsie

* Rework hints a bit

* update hint loc

* Use visual indicator instead of despawning caught fish

---------

Co-authored-by: jordanpg <jordanpg@users.noreply.github.com>
2024-01-14 11:02:23 -06:00
Pepper0ni
eb5f7688f8
Add more static hints (#3543)
* WIP biggoron and big poes hint

* commit v0 of biggoron and big poes hints

* adjust for settings update

* Add more hints

* Finish extra Basic Static Hints

* remove vestigial code

* Forgot to remove this

* try to fix windows build

* fix build post conflcit res

* remove StaticHintData as redundent

* last cleanup
2024-01-10 09:44:11 -06:00
Christopher Leggett
a196dd6b7e
Streamline hint generation (#3401)
* reimplement 3drando's hashtag color replacement system.

Also generates merchant text at seed gen time instead of runtime.
By merchants, I mean Bean Salesman, Medigoron, Granny, and Wasteland
Bombchu guy. Scrubs and shops are still dynamic at runtime.

* Improved auto-formatting and fixed altar text.

* Gets hint text for spoiler direct from context.

* Removal of now unused code.

* Change warp song hint generation/retrieval

Generates full warp location text instead of just location names and stores all six in the custom message tables for later retrieval as opposed to dynamically swapping in the location names every time the text is rendered.

* Change Frog Ocarina Game Hint generation/retrieval

Similar to previous changes, removes the on-the-fly generation aspect of it and just generates the full hint text once during seed generation.

* Update soh/soh/Enhancements/randomizer/3drando/text.hpp

Co-authored-by: Pepe20129 <72659707+Pepe20129@users.noreply.github.com>

* Fix submodules appearing as changed files.

* Fix WOTH/Foolish colors to match develop-macready.

* Fixes backwards colors for area and item in some hints.

---------

Co-authored-by: Pepe20129 <72659707+Pepe20129@users.noreply.github.com>
2024-01-08 14:41:33 -05:00
Amaro Martínez
21796367a0
Use temporary mirror for Boost download URL (#3822) 2024-01-08 12:39:49 -06:00
Eric Hoey
a0258f0fca
Add Invert Y-Axis and Apply Right-Stick Aiming to Z-Weapon Aiming (#3304)
* Add right-stick aiming to third-person aim

* Add Z-aiming CVar and inversion to Z-aiming

* Create calculation for rel.right_stick and apply it in Z-aiming

* Move option to First-Person section to match shield

* Fix max/min aiming heights

* Expand min/max + comment

* block out vanilla + comments

* block vanilla code better

* Remove extra space

* new documentation formatting

* rewrite ==0 and !=0
2024-01-08 12:21:18 -06:00
Malkierian
467ee7ad12
Logic class (#3812)
* Convert `Rando::Logic` to a class.

* Readd `LogicReset` as `Logic::Reset` for resetting logic mid-generation-cycle to allow seed generation to actually work.

* Change `IsChild` and `IsAdult` to `CanBe` variants.

* Make it buildable.

* First LogicVar class.

* Revert CanBe changes to Is (adult & child) as I'm no longer sure that it's a good one.

* Update soh/soh/OTRGlobals.cpp

Use existing gRandoContext reference.

Co-authored-by: Pepe20129 <72659707+Pepe20129@users.noreply.github.com>

* Conflict resolution cleanup (plus removing SaveContext references).

---------

Co-authored-by: Pepe20129 <72659707+Pepe20129@users.noreply.github.com>
2024-01-08 08:39:15 -06:00
Christopher Leggett
b96df0b642
Fixes parsing of spoiler files in plando mode. (#3823)
It was specifically failing on Hints because of changes to the spoiler output that were not reflected in the parsing code.
2024-01-08 08:37:24 -06:00
Christopher Leggett
63413e8159
Explicitly clears the entire ItemLocations array. (#3820) 2024-01-08 08:37:10 -06:00
Christopher Leggett
1669393277
Fixes a regression in creating settings string. (#3813) 2024-01-06 12:52:03 -06:00
Pepper0ni
80e6e899a8
Fix other hints not getting reset (#3811) 2024-01-06 11:08:06 -05:00
Christopher Leggett
8b8f11d72e
Consolidation of Trick Settings data (#3798)
* Adds TrickOption subclass and fills in extra info.

Fills in the extra info from randomizer_tricks.cpp that other Options don't have (hence the subclass for Tricks specifically).

* Uses new definitions of tricks in ImGui menu.

* Removes randomizer_tricks.cpp/h

* Adds new tricks.cpp/h to hold some static data and functions.

* Refactors Tricks namespace into a class with only static memebers and functions.

* Fixes bug with Trick Tag system.
2024-01-06 11:07:19 -05:00
inspectredc
321c258d69
Fix Fire Temple Boss Door Logic (#3774)
* Fix Fire Temple Boss Door Logic

* Update soh/soh/Enhancements/randomizer/3drando/location_access/locacc_fire_temple.cpp

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

---------

Co-authored-by: Adam Bird <Archez@users.noreply.github.com>
2024-01-05 20:55:09 -05:00
Malkierian
02938cfba2
Fix Starting Triforce Piece Count (#3797)
* Move zeroing of triforcePiecesCollected to the beginning of `Randomizer_InitSaveFile()` to fix starting TFP count issues.
2024-01-05 20:53:18 -05:00
Garrett Cox
37b2fc0745
Make noclip only effect player (#3788) 2024-01-05 20:51:48 -05:00
Amaro Martínez
6cb3a830bd
Restore previous Boost download URL (#3809)
This reverts commit 96abadd904.
2024-01-05 18:41:09 -05:00
Pepper0ni
4d2ca29940
Quickfix skip trials setting (#3800)
* quickfix skip trials setting

* Change to set trial count to 0 when skipping
2024-01-05 15:19:23 -05:00
Pepper0ni
7e2a13e7d8
Quickfix giants knife counting as a kokiri sword (#3802) 2024-01-04 15:49:10 -05:00
Malkierian
d2ec346d0e Merge branch 'develop' of github.com:Malkierian/Shipwright into dev-merge 2024-01-02 17:28:23 -07:00
Christopher Leggett
96353c0b3b
Fixes Pre-Clearing of Ganon's Trials. (#3783) 2024-01-02 17:19:56 -05:00
Pepper0ni
46abda83d2
probably fix glaring hint issues (#3752) 2024-01-02 16:23:33 -05:00
Pepe20129
1699eea009
Remove special IAs (#3453)
* Remove special IAs

* Add clarifying comment
2024-01-02 00:29:47 -05:00
Jordan Gilbreath
944a4c2e46
Fix settings persistence across sessions (#3779)
Co-authored-by: jordanpg <jordanpg@users.noreply.github.com>
2024-01-01 19:20:34 -06:00
Garrett Cox
03d907b843
Merge pull request #3778 from HarbourMasters/develop-macready
macready -> develop
2024-01-01 16:23:58 +00:00
Amaro Martínez
96abadd904
Update Boost download URL (#3776) 2023-12-31 16:06:47 -05:00
Malkierian
fa8a0e2a76
[Rando] Fix Check Tracker Area Totals (#3758)
* Fix the calculation of `areaChecksGotten` to account for flags functionality setting invisible checks.
Change `areaChecksTotal` to dynamic calculation based on tracker visibility, now that all checks are being added to `checksByArea`.
Both are updated in realtime when either "Show all GS locations" or "Hide right side shop items" are toggled.
Reformat all remaining unencapsulated if statements.

* Changed helper variable change and call to `RecalculateAreaTotals()` to when the options are toggled instead of checking every frame.
Removed redundant if...else.
Clarified areaChecksGotten increment/decrement functionality based on current status and incoming status change.

* Removed unused code.
2023-12-31 13:58:31 -05:00
Christopher Leggett
c9907ed5fc
Allows rendering custom models as Ice Traps in GetItem Animations. (#3760) 2023-12-30 12:10:50 -05:00
Christopher Leggett
dbb1e60734
Fixes some Spoiler Parsing Bugs (#3759)
* Fixes bug causing dropped spoiler not to be parsed.

* Fixes bugs with parsing enabled tricks

* Fixes bugs with parsing excluded locations.

* Fixes bugs parsing the Bombchu Drops setting
2023-12-30 12:10:31 -05:00
Christopher Leggett
8cb06d2d5d
Fixes some "seed bleed" instances (#3766)
* Should fix seed bleed between multiple saves and loaded spoilers by resetting the Rando::Context before loading a save.

* Only reset for rando saves.
2023-12-30 12:09:46 -05:00
Christopher Leggett
75f9775ad8
Merge pull request #3769 from HarbourMasters/develop
develop->develop-rando 20231229
2023-12-29 18:25:16 -05:00
shinra-electric
b7342a7847
[macOS] Add Architecture Priority to Info.plist (#3727)
* 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.
2023-12-29 18:02:22 -05:00
Jérémy Lugand
a08943edc8
Fix typos in scenes_fra.json (#3732)
* Update scenes_fra.json
2023-12-29 18:00:06 -05:00
Sarge-117
bedb0a1768
Add LLR entrance from silo to the better debug warp screen (#3424)
* Add silo exit

* Back Tower
2023-12-29 17:57:31 -05:00
Pepe20129
807b00a058
Fix crashing when creating a new file (#3764) 2023-12-29 13:36:56 -05:00
Garrett Cox
6c88d33b19
Merge pull request #3756 from HarbourMasters/develop
develop -> develop-rando
2023-12-28 20:12:39 +00:00
Pepe20129
c860f7a73a
Rando: Shuffle Ocarina Buttons (Rando V3) (#3735)
* Shuffle Ocarina Buttons

* Address review

* Add trick names

* Temporarily remove the ocarina button ice trap models

* Update soh/soh/Enhancements/randomizer/3drando/location_access/locacc_death_mountain.cpp

Fix lost closing brackets from merge resolution.

---------

Co-authored-by: Christopher Leggett <chris@leggett.dev>
2023-12-28 14:19:23 -05:00
Patrick12115
81ec2805ee
scaling (#3393) 2023-12-28 12:04:30 -05:00
Patrick12115
b80452b2b8
Multiplier (#3395) 2023-12-28 12:04:20 -05:00
Garrett Cox
f6a6b880c9
Only emit changed flags (#3489) 2023-12-28 08:23:03 -06:00
PurpleHato
1fff15753a
ADD: Enhancement-->Graphics-->Colour Temple of Time's Medallions (#3514)
* First dirty testing process

* Forgot a 2 for the second Dlist patching of Shadow

* TWEAK: GI integration

* DEL: Unucessary includes + whitespace

* TWEAK: No stones refactor for now, sorry I'm kinda lazy right now, don't hate me, please! T_T

* Stone removal part 2, sometime I forget to save the changes :derp:

* Tiny last tweaks, hopefully

* Add to rando preset

* Tweak: typo

* TWEAK: Trigger on toggling on/off

* TWEAK: adressed reviews 💯

* Please mate, excuse my British typing
2023-12-27 23:46:00 -05:00
Pepe20129
dc4347253d
Item cycling improvements (#3456)
* Simplify item cycling

* Simplify selection variables

* Fix adult bunny hood and gray appropriate items

* Don't go into cycling mode when there's no items to cycle to

* Restore updating c buttons

This was previously done with `Inventory_ReplaceItem` but that led to problems when another slot had the same item as the one that's being cycled.

* Address review
2023-12-27 12:55:09 -05:00
Garrett Cox
a6bb6cf0a3
Hardcore mode v1 (#3540) 2023-12-27 12:50:56 -05:00
Pepe20129
e8096a2d94
Better actor viewer (#3544)
* Update actorViewer.cpp

* Add more actors

* Add a search function

* Update actorViewer.cpp

* Add advanced mode for params
2023-12-26 19:09:04 -05:00
Garrett Cox
70e1017923
Add frame advance option to developer tools (#3435) 2023-12-26 19:08:37 -05:00
Adam Bird
6a7bcc4a5e
add more commands to dl viewer (#3504) 2023-12-26 17:13:48 -05:00
briaguya
99194a75f1
docs: update func_800FADF8 to Audio_ResetActiveSequences (#3471) 2023-12-26 13:30:49 -05:00
Garrett Cox
1979d78788 Merge branch 'develop' of garrettjoecox.github.com:HarbourMasters/Shipwright into develop-rando-develop 2023-12-26 10:33:48 -06:00
Pepper0ni
e731380e28
Fix various randomiser setting bugs (#3742)
* Fix various randomiser setting bugs

* Fix shuffle entrences metasetting getting locked on per savefile after an entrance rando seed is generated once
2023-12-26 08:58:19 -06:00
Christopher Leggett
f74ba3c1da
develop-rando: File Select Fixes (#3734)
* Fixes pressing B on name entry after randomizer quest.

* Reverts to auto parsing previous spoiler file.

Also includes an option to press L to automatically gen a fresh seed. It still does regenerate the old spoiler to regen the hints in the user's current language, but it will now automatically do this instead of requiring dragging and dropping the spoiler every time.

* Fixes bug causing rando settings to come from CVars instead of a spoiler file when a spoiler is dropped/imported on boot.

* Pressing Generate Randomizer in ImGui doesn't use loaded spoilerfile.

* Adds tooltip to Generate Randomizer ImGui Button.
2023-12-26 08:57:59 -06:00
briaguya
776c3a51ee
stick sensitivity (#3725) 2023-12-23 18:48:06 -05:00
briaguya
0a59ce6d99
upgrade to docking imgui 1.90.0 (#3402)
ce0d0ac829
2023-12-23 18:12:52 -05:00
Tina H. (sheepytina)
e0930809d4
Advanced controls for aspect ratio, resolution, and integer scaling. (#3130)
* Advanced Resolution Settings

first working version with most features implemented

* Update advancedResolutionEditor.cpp

Added auto-resizing logic for Pixel Perfect Mode.
Minor fixes.

* Tweaks and tidying up.

Disable integer scale slider if automatic sizing is overriding it.
Don't offer these UI options on Apple.
Removed unused code.
Updated LUS.

* Update libultraship

* Filenames and style fixes

Filenames and folders now more closely match rest of project.
Tidied newlines/comments.
(SohMenuBar.cpp) Label of button changed to fit menu.
(ResolutionEditor.cpp) Default window size improved.

* Update libultraship

(However, I still need to make the GUI controls acknowledge the new constraints.)

* Update libultraship

(and changed the name of some cvars)

* Added constraints to the inputs. Added a fps drop warning.

* Tweaks based on feedback

* Update libultraship

* Enabled on Apple - For currently ongoing Retina DPI troubleshooting.

(Also removed the duplicated N64 Mode toggle.)

* Update libultraship

* Update LUS, update CVar names, small tweaks

And one significant fix: Enhancement checkboxes in ResolutionEditor now default to off.

* Add Additional Settings and the accursed horizontal resolution field.

There's still a few bugs with it that I haven't squashed, but I need to stop for now and just commit what I've got.

(This is honestly causing more problems than it solves, but i'm tired of getting questions about it.)

* Resolved many of the lingering bugs with the previous commit

* Horizontal Resolution field now properly acknowledges resolution bounds.

* Don't show "Horiz. pixel count" field if not enforcing aspect ratio.

Additionally:
* Don't change settings if selecting "Custom" from preset dropdowns.
* Added a missing horizontal pixel count clamp check.
* Tidied up redundant behaviour.

* Additional comments, and a checkbox to disable aspect correction on consoles.

* Change how frame rate threshold is calculated.

* More minor UI tweaks.

* Added missing CVarSave() calls where needed.

Added a short update countdown for the numerical CVars. This is intended to prevent CVarSave() from being called too often.

* Added a helpful button to cover a potential support issue.

* "Fit Automatically" has been moved to LUS and is now smarter.

This will require another PR in LUS to be opened by me.

* Swap to new branch for libultraship

* Even more clever integer scaling behavior.

"IntegerScale" is itself now a CVar group.

* Tidy up comments.

* Fix a typo that prevented `IsDroppingFrames()` from working

(Maybe more than a mere typo, but a typo was involved.)

* Remove unused and unnecessary variables.

* Group "Integer Scaling" under its own collapsing header

* Changed label for the Enabled advanced settings checkbox.

* Update libultraship + Formatting pass on ResolutionEditor.cpp

* Add `(Select "Off" to disable.)` help text for the aspect ratio setting and hide UI elements accordingly.

Only show the fields if user chooses Custom.
Padding has been shifted accordingly too.

Also fixed a long standing error with the Y field disappearing when modifying X.

* Well I suppose that's no-longer necessary.

* Update libultraship with commits from main branch (up to e5df3a9)

* Tweak comments.

* Save current ImGui Combo items as a console variable

to improve user experience.

* Change language of NeverExceedBounds checkbox description

to be more affirmative, so it makes more sense.

Add tooltip for NeverExceedBounds checkbox.
Tweak some comments related to additional settings.

* Add list of colours to use with TextColored elements.

* Move some UI elements around.

Add an extra MSAA slider to the editor window.

* Integer Scaling header is DefaultOpen if player has Pixel Perfect Mode active upon window creation.

+ Amend tooltips.

* Fix a minor oversight with default configuration.

Fixes an issue where default aspect ratio settings on a fresh SoH configuration weren't matching the defaults assigned in libultraship.
The default values are now 16:9, matching LUS.
Additionally, the combo box now defaults specifically to the 16:9 preset instead of "Custom".

(Fixing the defaults in LUS to be 4:3 isn't worth a LUS bump, so this slight workaround will do for the sake of this PR.)

* Make resolution slider `disabled` condition a variable, for readability.

* Small tweak to combo item saving

* Use `SCREEN_HEIGHT` and `SCREEN_WIDTH` for constraints

* Simplify "Show a horizontal resolution field" logic

by using pixel dimensions as the aspect ratio directly, since now this view hides the aspect ratio setting from the user anyway.

* Correct aspect ratio visualiser to be un-inverted

+ actually display it as a ratio.

* Remove update flags from combo boxes + remove update countdown

+ remove non-functioning 'IsBoolArrayTrue' function.

(The countdown was an okay idea but I didn't implement it correctly. It's better to just keep it simple.)

* Code review suggestion: disable UI elements conditionally

 (+ tweaks to code style)

* Invisible tweaks to the Integer Scaling-related Additional Settings

This looks like a lot but it's mostly just re-arranging a cluttered area of the code for clarity.
Actual changes to functionality are:
* Help text now "disabled" along with the checkbox.
* The NeverExceedBounds checkbox will now reset the unused ExceedBoundsBy cvar if it's been changed.

* Assorted small tweaks to comments and variable declarations.

* Code review suggestion: tweak "Window exceeded" warning condition

* Missed a thingy.
2023-12-23 16:19:41 -05:00
Christopher Leggett
7f961abd8d
Fixes missing options and some incorrect disabling logic (#3545) 2023-12-20 16:51:48 -05:00
Garrett Cox
2cb3a3664e Implement gMoveWhileFirstPerson 2023-12-20 20:26:07 +00:00
Garrett Cox
66c41a8012 Clean up func_8084ABD8 2023-12-20 20:26:07 +00:00
Adam Bird
1d7ad52222
fix remote control define when flag not set in windows (#3534) 2023-12-19 00:55:32 -05:00
Christopher Leggett
bb4fb22188
Fixes error noise when seed generation fails (#3527) 2023-12-18 17:31:29 -05:00
Christopher Leggett
4978c3b34f
Fix some bugs with settings (#3525)
* Fixes off by one errors for a few settings.

* Removes disable of shuffle options when starting with corresponding items.

* Junks checks when shuffle is off and start with is on.
2023-12-18 17:31:17 -05:00
Adam Bird
03da69d7b7 Merge tag '8.0.4' into HEAD
MacReady Echo
2023-12-18 00:34:59 -05:00
Garrett Cox
ef910a02f7
Remove use of static variable in en_box (#3536) 2023-12-17 21:47:02 -06:00
inspectredc
f607afc754
Add player state dead check to Player_UseTunicBoots (#3530)
* Add player state dead check to Player_UseTunicBoots

* Update soh/src/overlays/actors/ovl_player_actor/z_player.c

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2023-12-17 21:46:35 -06:00
inspectredc
865bcc57a7
Fix Logical Error With Darunias Door Entrance (#3529) 2023-12-17 21:20:09 -06:00
Garrett Cox
b5caf33a9b
Initialize GameInteractor before SaveManager so it can correctly set up a hook (#3535) 2023-12-17 21:19:30 -06:00
Jordan Gilbreath
36e030e339
Reorder pop for #3532 (#3533)
* add make sure disabled flag gets popped

* reordering : ]

* what?

---------

Co-authored-by: jordanpg <jordanpg@users.noreply.github.com>
2023-12-17 21:13:35 -06:00
Jordan Gilbreath
d99cd52eea
add make sure disabled flag gets popped (#3532)
Co-authored-by: jordanpg <jordanpg@users.noreply.github.com>
2023-12-17 18:02:47 -06:00
Adam Bird
f655ab592d
Re-implement Pause menu Dungeon map texture effects (#3496)
* first pass implement dungeon maps

* wrap up map dungeon implementation

* add comments and enums, rename vars

* bump lus
2023-12-17 15:42:34 -05:00
Garrett Cox
86044a1c50
Remote GI Work (#3073)
Co-authored-by: David Chavez <david@dcvz.io>
2023-12-17 13:41:33 -06:00
Adam Bird
d370ca93fd
[Tweak] Improve KD lava effect performance and stability (#3501)
* improve kd lava performance and stability

* enum typo

* account for rock tex size
2023-12-17 13:23:07 -05:00
Adam Bird
a6b4e0b7fd
Fix entrance tracker crash (#3502) 2023-12-17 11:06:01 -05:00
Garrett Cox
fcf2141266
Fix JSON parsing every frame on file select (#3513)
* Fix JSON parsing every frame on file select

* string (#73)

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2023-12-16 21:40:09 -05:00
Adam Bird
e2f1cebfb5
fix condition causing enemies to always be small (#3512) 2023-12-16 20:56:36 -05:00
Adam Bird
907b770676
more swordless fixes when time traveling (#3510) 2023-12-16 20:56:14 -05:00
Adam Bird
ea49196bae
retain gameplay stats window size (#3508) 2023-12-16 20:52:36 -05:00
Adam Bird
f65b711376
fix led crash when set to health (#3507) 2023-12-16 20:52:07 -05:00
Adam Bird
269e9faa46
change adult shooting gallery reward and add message (#3506) 2023-12-16 20:51:44 -05:00
Malkierian
35301556d9
Added "Always show gold skulltula" to check tracker options. Toggleable without restart. (#3505)
Made "Hide right-side shop checks" toggleable without restart.
2023-12-16 20:51:25 -05:00
Adam Bird
fb0f7169d7
fix jabu mq minimap mark points (#3494) 2023-12-16 20:50:32 -05:00
Malkierian
9740ccc59b
Fix Gravedigging Tour rando check. (#3524) 2023-12-14 17:12:43 -05:00
Christopher Leggett
674645ef14
Fixes some miscellaneous issues for Switch builds. 2023-12-12 18:51:26 -05:00
Christopher Leggett
c7c29034eb
Fixes crash from attempted nullptr access. 2023-12-11 12:19:57 -05:00
Christopher Leggett
bc49998e55
Reimplements ImGui Disable of options with Vanilla logic selected. 2023-12-10 21:25:59 -05:00
Christopher Leggett
2ef978c792
Fixes some build errors resulting from merge. 2023-12-10 14:00:31 -05:00
Christopher Leggett
d58968d196
Merge branch 'develop' into merge-develop
# Conflicts:
#	soh/soh/Enhancements/custom-message/CustomMessageTypes.h
#	soh/soh/Enhancements/debugger/debugSaveEditor.h
#	soh/soh/Enhancements/item-tables/ItemTableTypes.h
#	soh/soh/Enhancements/mods.cpp
#	soh/soh/Enhancements/randomizer/3drando/entrance.cpp
#	soh/soh/Enhancements/randomizer/3drando/item_location.cpp
#	soh/soh/Enhancements/randomizer/3drando/keys.hpp
#	soh/soh/Enhancements/randomizer/3drando/location_access/locacc_castle_town.cpp
#	soh/soh/Enhancements/randomizer/3drando/location_access/locacc_ganons_castle.cpp
#	soh/soh/Enhancements/randomizer/3drando/location_access/locacc_gerudo_training_grounds.cpp
#	soh/soh/Enhancements/randomizer/3drando/location_access/locacc_ice_cavern.cpp
#	soh/soh/Enhancements/randomizer/3drando/menu.cpp
#	soh/soh/Enhancements/randomizer/3drando/playthrough.cpp
#	soh/soh/Enhancements/randomizer/3drando/settings.cpp
#	soh/soh/Enhancements/randomizer/3drando/settings.hpp
#	soh/soh/Enhancements/randomizer/randomizer.cpp
#	soh/soh/Enhancements/randomizer/randomizerTypes.h
#	soh/soh/Enhancements/randomizer/randomizer_check_objects.cpp
#	soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp
#	soh/soh/Enhancements/randomizer/randomizer_entrance.c
#	soh/soh/OTRGlobals.cpp
#	soh/src/code/z_sram.c
#	soh/src/overlays/gamestates/ovl_file_choose/z_file_choose.c
2023-12-10 12:49:15 -05:00
Christopher Leggett
dad4ae0095
Rando settings streamline and auto render (#3391)
* Removes cvarSettings map.

Options now link with CVar names directly. So instead of passing the
cvarSettings map, the Option class can check a corresponding CVar
if a cvarName was provided during construction. Of note, it does not
automatically sync the Option selected index with the CVar value, as
we would not want this to happen in all cases, for example when dragging
a spoiler file, we don't want to overwrite all the CVars with the Options
from the spoiler file. Currently all Options are set to the value of the CVar
they are linked to right before generating a new seed, unless a spoiler file
has been dropped in which case those settings are used instead.

* Early version of ImGui Render function

Currently only the slider variant. Will allow for auto rendering of options
in ImGui, with tooltips and automatic display of the values in each Option's
options array while keeping the CVars at the selected index, preventing
Off By One Errors.

* Implementation of Checkbox and Combobox rendering.

Currently only in use for a couple of items, future commit will implement for all
options.

* Auto-render entire first tab of Randomizer Settings

* Switch remaining tabs to auto-render

* Implements disabling options

* Cleanup/Documentation

* Auto-render entire table columns

* Implement OptionGroup rendering for "Sections"

* Automates the rendering of tables in the Settings window.

With the exception of the Locations and Tricks tabs, those are special
and will need a lot more work.

* Adds ability for option groups to have descriptions,

These descriptions will automatically display as tooltips in ImGui,
if the widget container type accounts for it.

* Fix as many IDE warnings as possible in option.h/cpp

Trying out CLion Nova, and it highlighted some things I decided to fix, some from CLion itself and some from CLang-Tidy. Oddly, it didn't like a conversion from size_t to int whether I left it implicit or added a static_cast, so I guess that warning is staying.

* Fixes some simple bugs

* fix another small oopsie

* Fixes parsing some of the option changes

Specifically we went from storing the actual value in the CVar to storing an index, meaning sliders that started with 1 now have the index offset by 1. This is currently only Big Poe Count, Triforce Hunt total/required, and starting hearts. Everything else either already started at 0, or in the case of LACS/Bridge counts, we were starting the sliders at 1 but they would have always worked at 0 according to the 3drando logic.

* Fix bug with status of skip child stealth

* Renames the Settings::Setting function to GetOption

* Add `Settings` pointer as a member of `RandomizerSettingsWindow`.

* Replaces ctx->GetOption with direct access to mOptions

This is equivalent, the access through ctx in this case was completely unnecessary and a muscle-memory mistake on my part.

* Implements a few IDE/Linter suggestions
2023-12-10 11:20:47 -05:00
Pepper0ni
4925abdd67
Fill in textId List (#3499) 2023-12-09 21:55:59 -05:00
Christopher Leggett
65d893bc85
Fix a seed gen bug surrounding new area enum (#3497)
* Fix a seed gen bug surrounding new area enum

* Sets areas after shuffling entrances.
2023-12-08 13:07:27 -05:00
Pepper0ni
c5790d9284
Move Barren handling to before hint generation, Add RandomizerArea enum and other cleanups (#3339)
* Initial wothCandidates change, pushed early foreseeing conflicts

* Implement better barren handling, waiting on #3205

* pls save next time VS code

* Finish implementation of barren and randomizer area refactor

* Apply function changes to develop merge

* Fix double default decleration issue

* change some var types for uniformity

* Fix post merge differences to the point of building and generating randos

* Address reviews

* address more reviews
2023-12-07 18:11:44 -05:00
Christopher Leggett
1cc3201c19
Develop rando tidy up (#3425)
* Fixes some IDE warnings/linter-suggestions in context.*

Most of these come from CLion Nova. Some of these may be controversial, such as the if-init-statement related ones. Most of them should not be controversial though, like replacing C-style casts with static casts.

* Fixes IDE warnings/Linter suggestions in option.*

* Fixes some IDE warnings/linter suggestions.

Left a few about "Template Arguments can be deduced", and a "Redundant static_cast" for the sake of clarity.

* Fixes some IDE warnings/linter suggestions in item.*

* Fixes some IDE warnings/linter suggestions in location.*

* Fixes some IDE warnings/linter suggestions in item_location.*

* Fixes some IDE warnings/linter suggestions in item_override.*

* Fixes some IDE warnings/linter suggestions in dungeon.*

* Fixes some IDE warnings/linter suggestions in trial.*

* Use std::ranges::generate rather than manually looping.

* Fixes a typo

* Changes a TODO comment with more info.

Previously this TODO statement was a question of whether or not we ever want to not output a spoiler log. Eventually we may want different amounts or types of data to be output when generating a seed according to certain settings. For instance, maybe we want a human-readable spoiler log, that has item locations and hint content without the formatting info. Maybe we want a "Plandomizer File", which is that but the hint strings include formatting info so that the formatting/colors can be changed, and eventually we may want to let cosmetic info be specified in there as well. Or maybe we just want a Race/Patch file that just has the seed and settings, for Race files we could also specify non-rando settings that should be locked to certain values. Or maybe want one of each. All of that is stuff that should at least start being handled at the location of this TODO statement.

* Fixes a scope issue Windows didn't catch

* Removes std::ranges::generate as apparently AppleClang can't do it.

* Removes std::ranges::any_of as apparently AppleClang can't do it.

* Re-adds what I thought was an unused include.

* An attempt to fix the macos construct_at error
2023-12-05 19:03:36 -05:00
Garrett Cox
2d22a3ebcc
Add vanilla logic option (#2191) 2023-12-04 11:29:48 -06:00
Garrett Cox
a8c18882f0
Merge pull request #3487 from HarbourMasters/develop-macready
develop-macready -> develop
2023-12-04 14:31:58 +00:00
aMannus
6297df98e9
Fix GBK check for vanilla (#3473) 2023-12-04 08:22:35 -06:00
Garrett Cox
365afe7833
Add tableId to getItemEntry (#3064) 2023-12-04 07:52:39 -06:00
Adam Bird
fbc397a131
Tweak skeleton limbs to use OTR path strings for loading DList and improve Alt toggling (#3479)
* set otr string paths for DList on skeleton limbs

* delay toggling alt assets cvar to end of frame
2023-12-04 07:33:14 -06:00
Garrett Cox
1fea642f33
Fix OnItemReceive hook for items in the extendedVanillaGetItem table (#3063) 2023-12-04 07:26:55 -06:00
aMannus
19cede44c3
Merge pull request #3468 from briaguya-ai/delta-to-dev
MacReady Delta -> develop
2023-11-30 00:07:38 +01:00
briaguya
351f896cfa Merge branch 'develop' into delta-to-dev 2023-11-29 02:16:54 -05:00
Malkierian
f14c390364
[Vanilla Fix] Slow Down Darunia's Dance (#3438)
* Fix Darunia's dancing animation speed (static for now; needs toggle later).

* Moved previous code to toggleable fix in enhancements. Tweaked speed factors, partially successful.
2023-11-29 00:38:48 -05:00
Adam Bird
dd5e72a023
limit entrance discovered saving to end of operation (#3459) 2023-11-29 00:29:25 -05:00
rozlette
d523b104d8 Change declaration of Morpha tentacle verts to combine them all and avoid overlaps that result in dropped verts 2023-11-28 21:09:34 -08:00
Garrett Cox
fdcd9a7508
Race Integrity QoL (#3445)
* Add gDisableChangingSettings

* Add support for dropping a config file to overwrite CVars
2023-11-28 23:42:37 -05:00
Malkierian
c4f34624ba
Flag tracker (#3447)
* Hook into flagset hooks for processing check tracking. Has some manual workarounds (some breaks still need to be found).
Remove areaChecks and looping functionality as redundant.

* Additional vanilla handling.

* Fix tracker not showing MQ checks in MQ non-rando.
Fix tracker marking non-MQ variants of dungeon checks (e.g. map chest, etc) when collecting in MQ.

* Set all areas to spoiled if not rando.

* Revert attempt to spoil in randomizer based on MQ dungeon count as I don't know how that works at the moment.

* Restore and update spoiling based on MQ dungeon settings (none, selection, or count of 12).
Fix Anju As Adult check.

* Remove Anchor-specific code :baguette:

* Use `ClearAreaTotals()` in `Teardown()` instead of the duplicate code there.

* Update to `ClearAreaChecksAndTotals()` with `vec.clear()` added.

* Fix type spoiling again. Now spoils on 0 MQ dungeons, not rando, if the option is enabled in check tracker settings, selection, or set number of 12.
Fix vanilla checks being marked collected in MQ dungeons.

* Fix 100 GS check.

* ACTUALLY fix 100 GS: change flag type to `RandomizerInf()` in `item_location.cpp`, add RC to RandoInf for it to the table. Also don't send GI for flag if father, falsely triggers ZR frogs minigame.

* Fix gravedigging tour tracking.

* Fix membership card check tracking.
Change scene and flag values to any existing enums.
Clarifying formatting for the checking loop vOrMQ conditions.

* Fix Gravedigging Tour tracking.
Simplify Always Win Gravedigging Tour and Fix Gravedigging Tour Glitch applications.
Modified all necessary paths to use vanilla GDT PoH collection flag instead of randomizer variant.

* Fix Kak Potion Shop being "seen" when entering as child.
2023-11-28 21:25:48 -05:00
Adam Bird
33fe8776bb
Fix bugs dont despawn cheat to work with soil patches (#3457) 2023-11-29 02:02:45 +01:00
briaguya
621afc99f0
sort patch otrs (#3430) 2023-11-29 01:34:00 +01:00
inspectredc
9d215b6dce
Separate Arrows Equip Dupe Fix (#3450)
* add gseparatearrow check for equip dupe fix

* update gseparatearrows tooltip
2023-11-28 22:13:00 +01:00
aMannus
420bdab328
Random Enemy Sizes fixes (#3452) 2023-11-28 14:30:36 -05:00
Adam Bird
717074ff86
Fix: Missing TextIDs for MQ PAL and change lava size (#3449)
* Fix text offset for MQ pal and add text ID asserts

* correct lava texture size
2023-11-28 20:11:03 +01:00
Malkierian
3ab16b70c2
Changed all checks for !gPlayState to !GameInteractor::IsSaveLoaded() in mods.cpp for all the cheats, and added the same full check to others that really didn't need to be running outside of a game (like infinite rupees, magic, health, etc), and clear any triggering CVars. (#3441)
Changed `RegisterSwitchAge()` to clear the CVar instead of setting it to 0.
2023-11-27 23:00:25 +01:00
Pepe20129
5b81964ea5
Bring over some player documentation from decomp (#3380)
* Document static variables

* Document enums and structs

* Document some functions

* Document more functions

* actionParam to itemAction and fix build

* Document some local variables and a define

* General cleanup

* Use PlayerMeleeWeaponAnimation enum when appropiate

* Document some function parameters and local variables

* Document some of player struct
2023-11-26 11:54:54 -05:00
Malkierian
3cf9d655a7
Disable Fix Vine Fall when Climb Everything is enabled (#3439)
* Disable Fix Vine Fall when Climb Everything is enabled.

* Remove option disabling.
2023-11-26 11:34:54 -05:00
Garrett Cox
d0d1d9c487
Merge pull request #3312 from quellen-sol/develop
Add Geo rupee name (Hollow Knight)
2023-11-24 12:27:49 -06:00
Garrett Cox
360b6b88be
Merge pull request #3310 from Pepper0ni/NoSwimAnim
Port Faster Swim animations, full credit to kimimaru4000
2023-11-24 12:27:32 -06:00
Garrett Cox
1e4784af8f
Merge pull request #3302 from inspectredc/toggle-strength
Toggle Strength Option
2023-11-24 12:26:34 -06:00
Garrett Cox
bdc6fad0a9
Merge pull request #3208 from garrettjoecox/valueViewer
MVP ValueViewer
2023-11-24 12:25:39 -06:00
inspectredc
95f27ace2e
Fix kokiri sword unequipping when using switch age cheat/enhancements (#3415)
* test fix for ks unequip

* remove unnecessary brackets
2023-11-24 09:40:42 -05:00
Salt
d50ad4779d
Fix #3417 Symlinks to Directories in Mods Dir Aren't Traversed (#3418) 2023-11-24 09:40:30 -05:00
Adam Bird
f2df029efa
fix: skybox crash for mask shop (#3427) 2023-11-24 09:38:45 -05:00
Garrett Cox
bdb201201e
Fix audio cutoff issues (#3428) 2023-11-24 09:38:13 -05:00
Adam Bird
f4e4545180
Re-implement King Dodongo's Lava texture effects (#3434)
* fix alt backgrounds not always loading

* include gfx lookup with the original unload

* Add hook for alt toggle

* handle cpu modified texture for kd lava

* malloc array instead of illegal initialize
2023-11-23 09:07:30 -05:00
Garrett Cox
c3ae829370
Add enhancement for removing explosive limit (#3242) 2023-11-20 13:25:22 -05:00
briaguya
76e90c0928
Controllers (#3378)
* lay some groundwork

* use custom window (which is currently identical to the LUS window)

* start making it shippy

* start moving stuff out of gamecontroleditor

* clean up shouldrumble

* include the other way

* wii u

* latest lus main

* notch snap angle buttons

* buttons on all the sliders

* just use a hidden id

* handle debug for port 2 and rename tabs so everything fits

* button line buttons look better

* padding fixed

* clang format

* bump to latest LUS main

* big buttons

* just default the analog stick options to open for now

* fix wii u build

* bonus: make it all scale-aware

* clang format

* fix horizontal scrolling

* fix all +/- buttons

* keyboard set defaults

* axis threshold helper text

* bonus: test rumble button

* clang format

* fix otrexporter submodule

* bump to latest lus main
2023-11-20 08:02:15 -05:00
Garrett Cox
3b5497cee3
Merge pull request #3408 from leggettc18/develop-rando-bugfix
Fixes a potential crash with saves made on older commit.
2023-11-19 20:13:18 -06:00
aMannus
34556e40d6
Clean up Triforce Hunt U16's and GBK (#3355)
* Clean up Triforce Hunt U16's and GBK

* Apply suggestions from code review
2023-11-19 14:45:09 -05:00
inspectredc
80ef399c52
Entrance Docs (#3332)
* transition variables renamed

* transition circle

* transition wipe

* sand storm

* remaining sceneloadflag rename

* transition trigger macros

* transition mode enum

* transition type enum

* tc set params

* creg debug transitions

* introduce entrance table + return entrance indices + entrance info macros

* randomizer entrance pass through

* cleanup some missing scene enums

* randomizer entrance tracker pass through

* randomizer grotto pass through

* gSaveContext.entranceIndex

* misc lists

* z_select pass through

* respawn entrance index

* nextEntranceIndex

* add missing include
2023-11-19 14:29:56 -05:00
briaguya
8dbf738128
macready (charlie) -> dev 2023-11-19 05:52:26 -08:00
inspectredc
2b1327c41a
Transition docs (#3322)
* transition variables renamed

* transition circle

* transition wipe

* sand storm

* remaining sceneloadflag rename

* transition trigger macros

* transition mode enum

* transition type enum

* tc set params

* creg debug transitions
2023-11-19 02:38:07 -05:00
Ralphie Morell
ae715bdc15 put boss souls back on the menu 2023-11-17 16:35:37 -05:00
Ralphie Morell
aa00765997 Merge remote-tracking branch 'upstream/develop-rando' into soulcalibur 2023-11-16 22:51:16 -05:00
Christopher Leggett
4f9ce252e7
Fixes a potential crash with saves made on older commit.
I had an Off By One Bug in a previous commit, and saves made on that commit ended up crashing on boot due to attempting to access a negative index of an array. Added a bounds check to prevent attempting to load that data.
2023-11-16 15:48:32 -05:00
inspectredc
d8a7a6c764
Use Correct Player Boot Enums in CC (#3403) 2023-11-15 20:38:21 -05:00
Garrett Cox
2075213544
Merge pull request #3399 from HarbourMasters/develop-macready
macready -> dev
2023-11-14 22:24:48 -06:00
Garrett Cox
044d32a46f
Add gFixEyesOpenWhileSleeping (#3365) 2023-11-14 20:47:07 -05:00
Malkierian
afe032ea21
[Feature/fix] Save to temp file first (#3376)
* Add temp file flow to `SaveManager::SaveFileThreaded`.
Add "Save finish" info log message.

* Fix WiiU/Switch
2023-11-14 20:46:50 -05:00
Josh Bodner
fb45b66903
Fix magic being zeroed out when using fast file select (#3389)
* Move to frame counter init to a place that fast file select also touches

* Undo removing old fix

* Reset on gameover
2023-11-14 17:08:45 -05:00
Malkierian
ba987c49e2
SaveManager cleanup (#3386)
* Move threadpool initialization and `OnExitGame` registration from `SaveManager::Init` to SM's constructor.
Comment on `Init` to mention it's not an initializer for `SaveManager`.
Added check for `SaveManager::SaveSection` to prevent firing a save worker if the game is already exited from a reset.

* Removed `IsSaveLoaded` check in favor of another `ThreadPoolWait()` at the start of `SaveManager::Init()`.
2023-11-14 16:46:38 -05:00
Adam Bird
e66eb8756d
Fix: Prevent patching custom models (#3367)
* fix prevent patching custom models

* prevent patching chests textures for custom chest models

* add tooltip for cosmetic editor about custom models

* chest texture handling for alt toggles
2023-11-14 16:37:03 -05:00
Garrett Cox
bf31f2b330
Stop hardcoding skeleton type to flex (#3397) 2023-11-14 16:36:05 -05:00
Malkierian
4e9040d761
[Feature] Remove performDelayedSave functionality from Autosave (#3387)
* Removes delayed save functionality, making autosave work everywhere except Ganon and Chamber of Sages scenes.

* Change AutoSave comment to remove the scenarios we no longer block autosave in.

* handle temp B on saving outside of kaleido

---------

Co-authored-by: Adam Bird <archez39@me.com>
2023-11-14 16:35:19 -05:00
Malkierian
304016ddd2
[Feature Fix] Tunics stolen by like likes now removed from the item buttons (#3375)
* Extends `Assignable Boots and Tunics` functionality to check for and remove Goron and Zora tunics from item buttons when like likes steal them.

* Comment documentation.
2023-11-14 00:12:08 -05:00
Malkierian
384403edb5
Rename all instances of Desert Wasteland to Haunted Wasteland. (#3372) 2023-11-13 23:45:52 -05:00
Malkierian
60687aff0d
Move everything in RandomizerCheckTracker::LoadFile() except the block to load the "trackerData" section to a new OnLoadGame hook function to fix crashes on transferred saves. (#3368) 2023-11-13 23:45:41 -05:00
Ralphie Morell
cf88b3d2bf
Fix edge case of MS shuffle (#3364) 2023-11-13 23:45:15 -05:00
PurpleHato
dd6271ecae
ADD: No HUD Heart animation (#3348)
* ADD: No HUD Heart Animation

I've seen this requested multiple times for modding purposes for the case of using "lifebars" instead of hearts

* TWEAK: Move it under the the mods

* REM: Whitespace

* REM: Whitespace2

* Tweak: Cvar Oppsie
2023-11-13 18:13:46 -05:00
Malkierian
78ffb41cd2
Moved the check for !seqInfo.canBeUsedAsReplacement in InitializeShufflePool to exclude them before modifying either shuffle pool. (#3370) 2023-11-13 18:11:29 -05:00
Christopher Leggett
2698d453bb
More gap-bridging (#3323)
* Initial StaticData and RandoItem class definitions

* Initial implementation of RandoItem class.

* Rerranges RandoItem Constructor parameters

The parameters were rearranged for easy copy-paste from the GET_ITEM macro calls later on.

* Switches static data from map to static array.

Array is all that is needed, since the item list will be contiguous and indexed by the RandomizerGet Enum values.

* Defines part of the randomizer item list.

* Adds more item class instances to item_list.cpp

Up through bottles, many more items still to go.

* Adds song items

* Adds Maps and Compasses to the item_list

* Added Key Items to item_list

* Added Key Rings to item_list

* Added Dungeon Rewards to item_list

* Adds generic items and refills to item_list

* Adds shop items, triforce, and hints

Also added constructors that put the GET_ITEM_NONE data in for these items, since there is no corresponding GetItemEntry for them.

* Adds in the stages of progressive items

These are present for GetItemEntry purposes, and aren't really meant to be used in seed generation (unless we find a need for it later on.)

* Remove GetItemEntry data from progressive items

* Moves/adds function definitions to item/item_list

* Refactors GetItemEntry data

It's now a pointer to memory instantiated on the heap in the constructor. These are shared pointers so the memory is freed if any of the item instances get deconstructed (which they shouldn't but just in case.)

* Adds item class member for if item is progressive

* Removes unneeded stuff from initializer list macro

* Replaces relevant `uint32_t`s w/ `RandomizerGet`s

Also replaces calls to the ItemTable method with StaticData::RetrieveItem

* Switches our runtime code to use the new itemList.

* Changes just enough hint gen code to compile

* Initial Definition of Location Class

* Initial Implementation of Location

* Fixes some names and definitions.

* Extracts ActorID and SceneID enums to separate files.

This allows importing them without causing weird conflicts in cpp files when importing the z64scene.h and z64actor.h files directly. Now you can just import z64scene_enum.h and z64actor_enum.h instead. The two old files also import these new files so that existing setups still work as expected.

* Replaces the forward definitions with the new imports.

* Adds missing data for RandomizerCheckObjects.

* Definition and first entry of locationTable

* Added Mido's House Locations

* Added locations up through lost woods.

* Adds in Hyrule Field locations.

* Adds Lake Hylia locations

* Adds location name comments

* Adds Gerudo Valley Locations

* Adds Gerudo Fortress locations.

* Adds the Wasteland and Collosus locations

* Adds Market locations

* Adds Hyrule Castle locations.

* Adds Kakariko and Graveyard locations.

* Adds Death Mountain checks.

* Adds Goron City locations

* Adds Death Mountain Crater locations

* Adds Zora's River locations

* Added Zora's Domain Locations.

* Added Zora's Fountain locations

* Adds Lon Lon Ranch locations.

* Adds Deku Tree locations

* Adds Dodongo's Cavern Locations.

* Adds Jabu Jabu's Belly Locations

* Adds Forest Temple Locations

* Adds Fire Temple Locations

* Adds Water Temple Locations

* Added Spirit Temple Locations

* Some of shadow temple locations.

* Adds remaining Shadow Temple locations

* Fixes a leftover merge conflict

* Adds Bottom of the Well locations.

* Adds Ice Cavern locations

* Adds GTG locations.

* Adds Ganon's Castle and Tower locations

* Adds dungeon Gold Skulltula locations.

* Adds Overworld Gold Skulltula locations

* Adds dungeon reward locations

* Adds Heart Container Locations

* Adds Cutscene and Song locations

* Adds Cow locations

* Adds Shop locations.

* Adds hint locations

* Adds function for retrieving the Location data.

* Initial definition of ItemLocation structure for tracking runtime data

* First push on converting code to use new location definitions

* Changes hints to use the new tables

* Further conversion of hints to new definitions.

* Adds new Hint and Location IDs to area tables

* Moves areaTable to use new RandomizerRegion keys

* Removal of 3drando/item_location files.

* Uses new RandomizerRegion keys in entrance.cpp

* Final push for removal of massive keys.hpp enum

* Uses new SceneID Enum Values

* Remove RandomizerCheckObject structs in favor of new location list.

* Fix a few stragglers to successfully build

* Rename of RandoItem to just Item, but in the Rando namespace

* Adds static hints (Light Arrows, Altar text, etc) to the new Hint table.

* More hint related fixes/edits

* small fix for #include path

* Fix various miscellaneous issues related to seed gen and spoiler parsing.

* Handle progressive items correctly.

* Fixes some hint generation logic

* Fix a few GetItemEntry niche bugs.

* Adds missing shop GI Entries

* Formatting fixes

* small formatting fix

* Namespace StaticData under Rando

* Added a note about a potential use-after-free.

I confirmed the actual pointer in question isn't currently being used, but I added the note as a reminder to fix it later and/or as a warning to anyone who changes how the return value is used.

* Fixes missing location table entries

* Fixes LUS submodule and removes now-unused code

* Resolves weird duplicate definition issue

* Fix missing include

It was missed because not being included wasn't an issue on Windows.

* Fixes error present on Linux builds

* Fixes some issues with excluding locations

* Updates the Resolve Exclusion conflicts function

not sure if actually used, will look into that more later

* Removes some duplicate RGs

* More fixes of duplicate RG values.

* Fix a few duplication issues in the check tracker.

* Fix progressive bombchus.

* Minor typo fix, shouldn't really be affecting anything though

* Should fix some of the remaining check tracker issues.

* oops wrong boolean operator

* Fix skulltulas in the check tracker.

* oops, missing comma

* re-formatting of HintStone locations

* Fixes issue when picking up second Progressive Bullet Bag

* Hide bombchu bowling bombchus

* Fixes missed skullScene in location_list

* Reformats shop items

* Re-formats cow checks

* reformat song locations

* reformat "cutscene" checks

* reformat heart container locaitons

* reformat Boss/Dungeon reward checks

* Hide Triforce Completed if not playing Triforce Hunt

* Fixes incorrect chest param

* reformat GS Tokens locations and cuts down on duplicate data

* reformat Ganons Castle checks

* reformat GTG check locations

* Prevents Gift from Raoru from appearing in the check tracker

* more reformatting (botw, ice cavern, shadow temple)

* Should fix a couple more check tracker checks

* reformat spirit temple checks

* reformat water and fire temple checks

* fix RC_ZR_GS_ABOVE_BRIDGE flag typo

* reformat Forest Temple checks

* Fix RC_LW_TRADE_ODD_POTION in check tracker

* reformat child dungeon locations

* reformat overworld locations

* reformat item entries

* New Item Override system

* use new ItemOverrides and use ItemLocations table for getting items

* Saves/Loads directly from/to new ItemLocation table with overrides for traps

* Removes gSaveContext.itemLocations

* Don't load spoiler file on boot automatically.

Currently this means the old spoiler will have to be manually dropped or a new one generated in order to make a new rando file. Next I want to make it so that:
1. The Randomizer Quest button on the file select menu is always unlocked, even if a spoiler is not loaded.
2. If it's selected and a spoiler is not loaded, a menu will appear that asks if you want to generate a new seed or re-generate the previous one (if a spoiler file is present).
3. On choosing to generate a new one, you may also get an in-game menu to quickly apply a preset before generating (not sure if I'm going that far just yet).
4. After that, a seed is generated and you are taken back to the file select screen with the new file present.
5. If a seed is generated via the menu ahead of time, the CVar for loading the spoiler file will be set, but the spoiler file will not be parsed. All the data needed to actually play the randomizer at that point is
already in memory and in the save file (or at least I'll make it so that it is if it isn't already).
6. If a spoiler file is dropped over the window, the spoiler file is loaded, but it will only be parsed to get the seed and the settings, then the playthrough will be generated from scratch with that data. Thus allowing
for hints to be in the user's language of choice no matter what language the spoiler file was generated in.
7. Additionally, there will be a plandomizer mode that, if enabled, causes dragging and dropping a spoiler file to read the entire spoiler file instead of just the seed, and making a new file will use the data from there
instead of generating a new seed. This in particular may be expanded to have a "plando file" that contains more info than a spoiler file would normally have, such as cosmetic data and a more fleshed out
custom message syntax for various types of custom hints and whatnot. But that will be probably much later.

* Auto-gen rando seed when making a new rando file.

Also adds new logic for displaying the seed hash icons. Now, it is displayed in the following situations:
1. On the confirmation page when loading a rando save, the hash icons for *that save* are displayed.
2. On the name select screen after generating a seed, the hash icons for the seed that was just generated will be shown.
3. If you have dragged a spoiler log onto the window, the hash icons for that seed will be displayed while randomizer is selected on the quest select screen.
Currently the spoiler is just ignored, as the logic for pulling the settings from the spoiler file and regenerating the same seed has not been coded yet.

* Fix a few typos/bugs

* Partial conversion to new Settings/Option class

* Further conversion to new settings/options classes

* New settings struct (not fully working, need to wire it up to SaveManager)

* Move save files to new settings struct. Also fixes MQ options to match 3drando

* Fixes some spoilerfile related issues

* Cleans up now unused arrays

* Fixes some unhandled entries in parse settings switch case

* Reimplements parsing of settings on file drop to re-generate seeds

* Move merchantPrices into ItemLocation tables.

* Move hints to new struct

* Fixes a few seed gen bugs surrounding hints

* Fix treasure chest game.

* Relocate Entrance Shuffle code into ctx

* Move entrances to new context at runtime

* Remove now unused code from SaveContext and randomizer.cpp/.h

* Fix non-windows builds?

* Moves Dungeon Quests to new context

* Move trials into new context

* Whoops, forgot to construct the Trials in the context.

* Fixes accidental nullptr reference

* Fixes bug with saving MQ dungeons

* Implements plando mode and removes now unused code.

Largely untested, expect some bugfixes.

* prevent a multiple definition bug

* another attempt to fix the gSeedTextures multiple def error

* Fixes some minor hint issues from conflict resolution

* Some additional glue needed for merge

* Fixes another couple of miscellaneous issues/inconsistencies.

* A few french corrections

* Makes CVar gRandomizeWarpSongText match the checkbox default value.
2023-11-13 13:25:37 -05:00
Pepe20129
1d3e7d4be9
Add MS shuffle to the hell mode preset (#3360) 2023-11-06 16:48:20 -06:00
Adam Bird
959b307b9e
Fix: Repair working directory on Mac and use app directory for extractor search paths (#3359)
* fix otr regen on mac release

* linux args
2023-11-06 16:46:48 -06:00
Adam Bird
460b3d02f5
[OTR Archive] Move shared scenes out of nonmq/mq folders (#3191)
* share common scenes between mq and nonmq

* move shared scenes under shared folder and bring back thieves hideout mq handling

* update headers for shared scenes

* bump submodules

* remove mq handling for mirror world song patch

* only have unique dungeons be nomq/mq variants

* bump submodules
2023-11-06 16:44:49 -06:00
inspectredc
8b78cb832a
items tied to items rather than slots + dpad items now work (#2884) 2023-11-05 22:33:51 -06:00
Malkierian
8e00265ff8
Add checks to Windows for running in temp directory (running from archive), and proper file permissions (write/modify, to prevent things like Program Files or Windows, or other folders we couldn't know about that don't have proper file permissions). Instructs users as to what it discovered and how to fix, then exits. (#3097) 2023-11-05 22:04:21 -05:00
Malkierian
8745881815
Add UI scaling combobox with 4 options (one smaller than default, two larger) and experimental tag. (#3037) 2023-11-05 21:21:44 -05:00
Caladius
ecafa87195
Updates from Feedback, Wallet size affects reduction rate and wider range of interval options. (#3335) 2023-11-05 19:53:46 -05:00
Ralphie Morell
e90dc91767 gee bill how come you had TWO master swords? 2023-11-05 13:52:19 -05:00
Ralphie Morell
5de2e731c8 move boss soul assets 2023-11-05 13:33:28 -05:00
Ralphie Morell
f7b8e8ed65 Merge remote-tracking branch 'upstream/develop-rando' into soulcalibur 2023-11-05 13:18:43 -05:00
krm01
127f2651df
vanilla bugfix for wall climbing on edge of polys (#3358)
* vanilla bugfix for wall climbing on edge of polys

* rename missed vars

* add CVar toggle
2023-11-05 12:07:44 -06:00
Adam Bird
f1f04a5583
Add TTS for Game Over menu (#3338) 2023-11-05 12:06:21 -06:00
Ralphie Morell
8ad79a7855 horseshit 2023-11-05 12:50:41 -05:00
Adam Bird
7e9efeeadb
[OTR Archive] Store soh version in OTR files and verify on launch/ask to regenerate (#3218)
* 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
2023-11-05 12:34:39 -05:00
aMannus
13a8a1a5cc
Randomized Enemy Sizes (#3321) 2023-11-05 07:54:23 -06:00
Malkierian
39a7437fc8
[Bugfix] Prevent crash in audio editor when shuffling over old CVar format (#3337)
* Add a `CVarClear` inside the check for a sequence's lock to get rid of old data.

* Rework all replacement and lock `CVarSetInteger` calls to call a function which checks for previous format with `CVarGet` to know if it needs clearing before setting either the lock or the sequence

* Swapped everything over to a migrator where it loops through the `sequenceMap` and just clears everything from there in "gAudioEditor.ReplacedSequences"
2023-11-05 08:57:59 +01:00
aMannus
e60761eb61
Fix audio editor mistake (#3356) 2023-11-04 23:30:01 +01:00
Adam Bird
6d8dfe7933
Fix: MQ logic for Ganons Castle main area (#3275)
* fix mq logic for ganons castle main area

* update logic to use logic helpers

* add hammer check

* grouping
2023-11-04 23:08:09 +01:00
Pepper0ni
02afac704e
Force the Sarias Song magic hint to replace all other Sarias Song text. (#3296) 2023-11-04 22:56:03 +01:00
Malkierian
e88c8e68b6
[Bugfix] Fixes check tracker crash on max debug file creation (#3309)
* Change initialization of `areasSpoiled` to improve utilization and fix crash during max debug file creation.

* Renamed `RCAreaFromSceneID` to `DungeonRCAreasBySceneID` for clarification.
2023-11-04 22:53:29 +01:00
Adam Bird
44ee6da0aa
fix quest assignment (#3343) 2023-11-04 22:52:09 +01:00
Adam Bird
25f05e68b3
fix entrance rando validation missing edge cases (#3344) 2023-11-04 22:50:28 +01:00
Eric Hoey
678578823f
Fix preset strings for spocks (#3349) 2023-11-04 22:49:41 +01:00
Adam Bird
36617cb77d
fix master sword check not being behind door of time and some other logic checks (#3353) 2023-11-04 22:48:43 +01:00
Adam Bird
129f410aba Merge remote-tracking branch 'origin/develop' into 'origin/develop-rando' 2023-11-04 00:13:14 -04:00
Pepper0ni
051314e8b1
Refactor Hint Creation and add support for hint Copies and fixed number of hints. (#3205)
* Initial implementation of no-duplicates of special hints

* stupid fixes

* Impa's song will no longer be hinted when you skip child zelda

* fix building

* Fix Loading spoiler logs causing corrupt hints, remove disabled warp song shuffle text from spoiler logs

* Remove Sheik and Saria hints from the spoiler log when are not enabled

* Prevent Magic hinted by Saria and Light Arrows hinted by Sheik from being hinted elsewhere unless they are locked by that item.

* Prevent the Final Frogs gossip stone hint from spawning when the special final frogs hint is enabled.

* Fix building after rebasing in deduplication

* redelete keys.hpp

* Remove Sheik and Saria hints from the spoiler log when are not enabled

* Prevent the Final Frogs gossip stone hint from spawning when the special final frogs hint is enabled.

* First part of copies implementation

* Refactor hint system (broken)

* fix building

* fix obvious errors

* fix fixed hints doubling after failing to place a hint

* Fix bugs with hint distrabution

* Split PlaceRandomHint and fix hint bugs

* Merge special hint functions, move special hint text to the HintTable, expand LightArrow hint category into OtherHint category.

* Fix remaining hint distribution errors

* Forgot to stage dampe diary update

* Restore building after conflict resolution

* fix SetAllInRegionAsHinted
2023-11-02 11:42:33 -05:00
Ralphie Morell
4006c10bda don't kill ganon if no ganon boss soul setting;
save editor support
2023-11-01 22:15:03 -04:00
Ralphie Morell
58aab05e41 cleanup hook 2023-10-31 23:54:05 -04:00
Ralphie Morell
b34471030c refine boss soul model (thanks sitton76!) 2023-10-31 20:31:27 -04:00
Ralphie Morell
e1706e2aa1 test model v1 2023-10-30 21:50:00 -04:00
Ralphie Morell
0a5722d3ef Fix map/compass hints not showing V/MQ status 2023-10-30 17:44:21 -04:00
Caladius
ff7fa77427
Addresses Forest Temple Poes and NPC Dialogue issues. (#3334) 2023-10-30 11:00:24 -05:00
Pepper0ni
2810996475
Fix Entrance hubs having no HintKey, causing hints to No Item (#3295)
* Fix Entrance hubs having no HintKey, causing hints to No Item

* Add castle grounds hint area to cover the OGC/HC to market entrence
2023-10-30 10:57:36 -05:00
inspectredc
5dd82f59e2
Player Equip Docs (#3282)
* hopefully everything

* update docs for MS shuffle sections
2023-10-30 10:56:36 -05:00
Tina H. (sheepytina)
a04ee354d4
Add "Navi Targeting Colors" options to Controller LED Color (#3254)
* Add a (not yet functional) "Navi" option.

* It works!

* Slightly better name for this menu option.

* Revert accidental commit of comments in z_en_elf.c

* Renaming and tweaks.

* Temporary fix(?) for compile error on non-Windows platforms.

* … Just pretend this particular commit doesn't exist. :OHYEAH:

* A more suitable fix. + Partial suggestions from review.

In-progress implementation of Cosmetics Navi colours.

* Convert relevant code to use Color_RGB8 sans alpha, matching the controller LED.

Defaults are now labeled for clarity.

* Revert back to Color_RGBA8. + Implement Cosmetics Navi colours.

Add Color conversion functions.

* Tidy comments.

* Changed mind yet a third time. Uses Color_RGB8 sans alpha again.

Uses CVarGetColor24 instead of CVarGetColor to drop alpha from cosmetics editor values, like how Tunic Colors does it.
This of course does require me to go with the prior idea of storing the Navi colours without alpha channels.

* Color type conversion functions removed

as they're no longer needed.

* Tidy up commented out code once more.

* Fix a typo

* Suggestion from code review. (Yeah nah you're totally right though.)

* Correct indentation.

* A minor goof in the comments was bothering me.
2023-10-30 10:55:53 -05:00
Adam Bird
671ce062d0
improve free camera reset (#3225) 2023-10-30 10:55:26 -05:00
Andrew Van Caem
dab070a8a1
Added 'Fix enemies not spawning near water' checkbox to Fixes (#3179) 2023-10-30 10:55:02 -05:00
Pepe20129
e4cfc8852d
Add gRegEditEnabled (#3173)
* Add gRegEditEnabled

* Remove TCRF link
2023-10-30 10:54:53 -05:00
Ralphie Morell
279af81ead Implement custom draw for souls;
change souls from tokens to blue fire
2023-10-30 01:13:26 -04:00
Ralphie Morell
9b49d73814 playtest feedback; cleanup 2023-10-29 21:48:57 -04:00
Ralphie Morell
be37cabaa9 pls build on mac 2023-10-28 01:20:13 -04:00
Adam Bird
fd09a12fff
String copy util method and fix Save Manager string copy overflows (#3274)
* add safe string copy method

* use string copy for save manager

* use string copy in spoiler log hint parsing

* remove intermediate string vars

* more string copy use in randomizer methods

* use string copy in gameplay stats

* add load char array method to remove string intermediate var

* try string.h import instead
2023-10-27 15:18:56 -04:00
Ralphie Morell
2e50fbb0d2 Rework boss soul helper 2023-10-27 00:48:36 -04:00
louist103
837072f80f
Check for compressed files in the extractor (#3292)
* Check for zip/rar header in the extractor.

* 7z
2023-10-26 19:39:26 -05:00
Eric Hoey
7d120a021f
Apply Goron Neck Length to Goron City Shopkeeper (#3289)
* Add limb override for Goron shopkeep

* Remove extra line breaks

* Fix bug with goron neck length

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2023-10-26 19:39:18 -05:00
inspectredc
a6de59e09f
model docs (#3281) 2023-10-26 19:38:43 -05:00
Malkierian
de430dc256
Fix for "Fewer Tunic Requirements" allowing child access to Fire Temple Boulder Maze (#3273)
* Add `IsAdult` to Fewer Tunic Requirements check for `FireTimer` in rando logic to preven placing items in lower maze expecting child to get them.

* After discussion, decided to change it to lock access only to lower maze so child access with dungeon shuffle remains intact.
Also changed the tooltip for Fewer Tunic Requirements to reflect the current status of what the trick enables.

* Further update to tooltip.
2023-10-26 19:38:10 -05:00
DeusVexus
743be7b684
Adds the easy Quick Put Away (QPA) cheat (#3268)
* Adds an easy qpa cheat that gives the
glitched damage value of the quick put away glitch

* Adds RegisterEzQPA(); under InitMods()
2023-10-26 19:38:02 -05:00
Pepe20129
c031edae98
Add no rando generated warning (#3263)
* Add no rando generated warning

* Update texts

* Randomizer warning messages (#4)

* Fix french typo

---------

Co-authored-by: aMannus <mannusmenting@gmail.com>
2023-10-26 19:37:51 -05:00
inspectredc
2cbbaba9cc draw a button 2023-10-26 18:41:45 +01:00
Malkierian
b47164a110
Fixes custom sequences not being listed in Audio Manager dropdowns, and adds a check to the shuffle function to make sure sequences with canBeUsedAsReplacement = false can't be shuffled in. (#3324) 2023-10-25 13:14:26 -05:00
Adam Bird
e369ad4c86
Pass in custom assets to OTRExporter (#3328)
* bump submodules and use custom assets dir

* bump submodules
2023-10-24 20:51:54 -07:00
Adam Bird
3558a32222
Merge pull request #3315 from Archez/move-soh-assets
Move SoH custom assets out of OTRExporter
2023-10-24 20:12:14 -07:00
Garrett Cox
02f61bc3fa
Fix two missing changes after ms GI enum was changed & hint fix (#3319)
* Fix two missing changes after ms GI enum was changed

* Remove unnecessary line break from hint, and fix infinite loop within AutoFormatHintTextString

* Update soh/soh/Enhancements/randomizer/3drando/hints.cpp
2023-10-22 20:08:56 +00:00
Pepper0ni
15ebcd30fb
Remove disabled special hints and warp song hints from the spoiler log (#3110)
* Initial implementation of no-duplicates of special hints

* stupid fixes

* fix always hints being suppressed by special hints

* Impa's song will no longer be hinted when you skip child zelda

* fix building

* Remove disabled special hints from the spoiler log

* Fix Loading spoiler logs causing corrupt hints, remove disabled warp song shuffle text from spoiler logs

* Fix not detecting text size correctly and badly named greg hint

* Remove disabled special hints from the spoiler log

* Fix Loading spoiler logs causing corrupt hints, remove disabled warp song shuffle text from spoiler logs

* Remove Sheik and Saria hints from the spoiler log when are not enabled

* Prevent Magic hinted by Saria and Light Arrows hinted by Sheik from being hinted elsewhere unless they are locked by that item.

* Prevent the Final Frogs gossip stone hint from spawning when the special final frogs hint is enabled.

* Fix building after rebasing in deduplication

* redelete keys.hpp
2023-10-22 10:11:36 -05:00
inspectredc
77c8c832c0
Use correct save context for triforce piece collected save data (#3301)
* gSaveContext->saveContext for triforce piece save manager save

* use an arrow..
2023-10-21 20:55:55 -05:00
Adam Bird
3516b4443d
fix triforce transition offset values (#3285) 2023-10-21 20:55:41 -05:00
Ralphie Morell
2eaed8d81e
Rando: Master Sword Shuffle (#2981)
* The mother of all commits

* Removed `GI_SWORD_MASTER`;
"Master Sword" Items now actually give MS

* Removed dupe MS entries in item pool;
updated GIMESSAGE (should stop crashing on non-Windows);
re-added MS in item list

* Give Adult Link a freebie with shuffle MS on;
cihld -> adult no longer gives MS;
ToT Master Sword now gives correct item

* add master sword GI draw func based on ToT MS object

* Force `MasterSword` logic var to only update upon getting MS

* Dorf funny line now activates with LA and MS in inv

* Apply suggestions

* Updated RAND_INF;
Check Tracker changes;
Gave RAND_INF and ice trap logic to ToT MS check;
Fixed swordless behavior for HBA/fishing

* ToT MS Check now works in check tracker;
Visual bug where box hovers over non-existent MS gone;
Fixed RAND_INF check with ToT MS pedestal;
Ganon no longer gives free MS

* adult equips no longer reset in MS shuffle

* Apply (most) locacc review suggestions

Co-authored-by: inspectredc <78732756+inspectredc@users.noreply.github.com>

* Reorganized swordless check for interface to fit edge cases;
getting master sword no longer highlights box

* Edge case for BGS but no bow

* Fix implicit declaration error for GI hooks (#9)

* Adjusted `CanAdultAttack/Damage`; applied logic suggestions

* Fixed build errors (hopefully)

* Cleanup merge

* get shit working again

* Tidied up remaining uses of DD flag as rando indicator

* make master sword invisible and fix ms flag (#10)

* Add text to sheik if go mode is obtained but barrier is still up

* overhaul swordless behavior in `func_80083108`

* reworked ToT MS Check to have an actual GI

* suggestions

* Apply suggestions

* Better swordless handling with temp B (#11)

* better swordless handling with temp B

* prevent auto save in fishing pond

* prevent auto save during bombchu bowling

* enum fix

---------

Co-authored-by: Adam Bird <archez39@me.com>
Co-authored-by: inspectredc <78732756+inspectredc@users.noreply.github.com>
Co-authored-by: RaelCappra <rael.cappra@gmail.com>
Co-authored-by: Adam Bird <Archez@users.noreply.github.com>
2023-10-21 20:51:37 -05:00
Adam Bird
12c09ecc3d Merge remote-tracking branch 'origin/develop' into move-soh-assets 2023-10-20 21:09:32 -04:00
Christopher Leggett
2a52493d1f
100GS Tracker Fix (#3314)
* Fix 100 GS check in check tracker

* Add missing rcToRandomizerInf entry for 100 GS tokens
2023-10-21 00:43:25 +00:00
Adam Bird
c61f519f17 move soh assets out of otrexporter 2023-10-20 20:23:41 -04:00
inspectredc
e6445e0ce3
Age Requirement Docs (#3277)
* age req docs

* move macros

* use decomp names
2023-10-20 18:40:10 -05:00
quellen-sol
f56e839480
Add Geo rupee name (Hollow Knight) 2023-10-20 15:40:28 -07:00
Christopher Leggett
4d7fb88e2e
Fix 100 GS check in check tracker (#3311) 2023-10-20 19:37:59 +00:00
Pepper0ni
b294188782 Faster Swim animations, full credit to kimimaru4000
Co-authored-by: kimimaru4000 <kimimaru@posteo.net>
2023-10-20 12:35:05 +01:00
Ralphie Morell
9d8eab4511 add souls back to item list 2023-10-20 00:16:21 -04:00
Malkierian
35b4357776
Moved Heaps_Free outside Main after DeinitOTR, and mirrored Heaps_Alloc before and outside of Main. (#3279) 2023-10-20 03:36:52 +00:00
Ralphie Morell
f41bbeab06 actually get it running 2023-10-19 23:14:51 -04:00
Ralphie Morell
4d31463044 merge pt 2 2023-10-19 21:21:00 -04:00
Ralphie Morell
ce94c047b5 Merge remote-tracking branch 'upstream/develop-rando' into soulcalibur 2023-10-19 21:20:43 -04:00
Christopher Leggett
92028aa8d8
Rando Definition Deduplication (#3284)
* Initial StaticData and RandoItem class definitions

* Initial implementation of RandoItem class.

* Rerranges RandoItem Constructor parameters

The parameters were rearranged for easy copy-paste from the GET_ITEM macro calls later on.

* Switches static data from map to static array.

Array is all that is needed, since the item list will be contiguous and indexed by the RandomizerGet Enum values.

* Defines part of the randomizer item list.

* Adds more item class instances to item_list.cpp

Up through bottles, many more items still to go.

* Adds song items

* Adds Maps and Compasses to the item_list

* Added Key Items to item_list

* Added Key Rings to item_list

* Added Dungeon Rewards to item_list

* Adds generic items and refills to item_list

* Adds shop items, triforce, and hints

Also added constructors that put the GET_ITEM_NONE data in for these items, since there is no corresponding GetItemEntry for them.

* Adds in the stages of progressive items

These are present for GetItemEntry purposes, and aren't really meant to be used in seed generation (unless we find a need for it later on.)

* Remove GetItemEntry data from progressive items

* Moves/adds function definitions to item/item_list

* Refactors GetItemEntry data

It's now a pointer to memory instantiated on the heap in the constructor. These are shared pointers so the memory is freed if any of the item instances get deconstructed (which they shouldn't but just in case.)

* Adds item class member for if item is progressive

* Removes unneeded stuff from initializer list macro

* Replaces relevant `uint32_t`s w/ `RandomizerGet`s

Also replaces calls to the ItemTable method with StaticData::RetrieveItem

* Switches our runtime code to use the new itemList.

* Changes just enough hint gen code to compile

* Initial Definition of Location Class

* Initial Implementation of Location

* Fixes some names and definitions.

* Extracts ActorID and SceneID enums to separate files.

This allows importing them without causing weird conflicts in cpp files when importing the z64scene.h and z64actor.h files directly. Now you can just import z64scene_enum.h and z64actor_enum.h instead. The two old files also import these new files so that existing setups still work as expected.

* Replaces the forward definitions with the new imports.

* Adds missing data for RandomizerCheckObjects.

* Definition and first entry of locationTable

* Added Mido's House Locations

* Added locations up through lost woods.

* Adds in Hyrule Field locations.

* Adds Lake Hylia locations

* Adds location name comments

* Adds Gerudo Valley Locations

* Adds Gerudo Fortress locations.

* Adds the Wasteland and Collosus locations

* Adds Market locations

* Adds Hyrule Castle locations.

* Adds Kakariko and Graveyard locations.

* Adds Death Mountain checks.

* Adds Goron City locations

* Adds Death Mountain Crater locations

* Adds Zora's River locations

* Added Zora's Domain Locations.

* Added Zora's Fountain locations

* Adds Lon Lon Ranch locations.

* Adds Deku Tree locations

* Adds Dodongo's Cavern Locations.

* Adds Jabu Jabu's Belly Locations

* Adds Forest Temple Locations

* Adds Fire Temple Locations

* Adds Water Temple Locations

* Added Spirit Temple Locations

* Some of shadow temple locations.

* Adds remaining Shadow Temple locations

* Fixes a leftover merge conflict

* Adds Bottom of the Well locations.

* Adds Ice Cavern locations

* Adds GTG locations.

* Adds Ganon's Castle and Tower locations

* Adds dungeon Gold Skulltula locations.

* Adds Overworld Gold Skulltula locations

* Adds dungeon reward locations

* Adds Heart Container Locations

* Adds Cutscene and Song locations

* Adds Cow locations

* Adds Shop locations.

* Adds hint locations

* Adds function for retrieving the Location data.

* Initial definition of ItemLocation structure for tracking runtime data

* First push on converting code to use new location definitions

* Changes hints to use the new tables

* Further conversion of hints to new definitions.

* Adds new Hint and Location IDs to area tables

* Moves areaTable to use new RandomizerRegion keys

* Removal of 3drando/item_location files.

* Uses new RandomizerRegion keys in entrance.cpp

* Final push for removal of massive keys.hpp enum

* Uses new SceneID Enum Values

* Remove RandomizerCheckObject structs in favor of new location list.

* Fix a few stragglers to successfully build

* Rename of RandoItem to just Item, but in the Rando namespace

* Adds static hints (Light Arrows, Altar text, etc) to the new Hint table.

* More hint related fixes/edits

* small fix for #include path

* Fix various miscellaneous issues related to seed gen and spoiler parsing.

* Handle progressive items correctly.

* Fixes some hint generation logic

* Fix a few GetItemEntry niche bugs.

* Adds missing shop GI Entries

* Formatting fixes

* small formatting fix

* Namespace StaticData under Rando

* Added a note about a potential use-after-free.

I confirmed the actual pointer in question isn't currently being used, but I added the note as a reminder to fix it later and/or as a warning to anyone who changes how the return value is used.

* Fixes missing location table entries

* Fixes LUS submodule and removes now-unused code

* Resolves weird duplicate definition issue

* Fix missing include

It was missed because not being included wasn't an issue on Windows.

* Fixes error present on Linux builds

* Fixes some issues with excluding locations

* Updates the Resolve Exclusion conflicts function

not sure if actually used, will look into that more later

* Removes some duplicate RGs

* More fixes of duplicate RG values.

* Fix a few duplication issues in the check tracker.

* Fix progressive bombchus.

* Minor typo fix, shouldn't really be affecting anything though

* Should fix some of the remaining check tracker issues.

* oops wrong boolean operator

* Fix skulltulas in the check tracker.

* oops, missing comma

* re-formatting of HintStone locations

* Fixes issue when picking up second Progressive Bullet Bag

* Hide bombchu bowling bombchus

* Fixes missed skullScene in location_list

* Reformats shop items

* Re-formats cow checks

* reformat song locations

* reformat "cutscene" checks

* reformat heart container locaitons

* reformat Boss/Dungeon reward checks

* Hide Triforce Completed if not playing Triforce Hunt

* Fixes incorrect chest param

* reformat GS Tokens locations and cuts down on duplicate data

* reformat Ganons Castle checks

* reformat GTG check locations

* Prevents Gift from Raoru from appearing in the check tracker

* more reformatting (botw, ice cavern, shadow temple)

* Should fix a couple more check tracker checks

* reformat spirit temple checks

* reformat water and fire temple checks

* fix RC_ZR_GS_ABOVE_BRIDGE flag typo

* reformat Forest Temple checks

* Fix RC_LW_TRADE_ODD_POTION in check tracker

* reformat child dungeon locations

* reformat overworld locations

* reformat item entries
2023-10-19 18:48:25 -05:00
inspectredc
c3784b9758
Fix greg as reward logic (#3297) 2023-10-19 18:14:23 -05:00
inspectredc
9d581f10e7
magic (#3278) 2023-10-19 18:13:33 -05:00
Ralphie Morell
e005985559 Added tracker support 2023-10-19 17:17:45 -04:00
Ralphie Morell
0751c59530 also remove phantom ganon's horses if he's not there 2023-10-19 00:23:05 -04:00
Ralphie Morell
db4a30a7ff don't commit at fucking 2am 2023-10-18 23:58:14 -04:00
Ralphie Morell
51e965cf7e Cleaned up soul helpers; added check for ganon soul 2023-10-18 20:58:09 -04:00
inspectredc
38d70dd12f update tooltip to mention glitch use 2023-10-18 23:04:55 +01:00
inspectredc
1b2a31e34b Add success sound for toggle and equipping delay 2023-10-18 22:11:04 +01:00
inspectredc
9950c02fb2 Strength name un-greyed out and apply zoom regardless of strength disabled 2023-10-18 21:39:04 +01:00
inspectredc
c22d1e724d No longer grey out bracelet as adult when toggle option is on and strength enabled 2023-10-18 21:29:00 +01:00
inspectredc
03ea465251 Toggle Strength 2023-10-18 21:21:50 +01:00
Ralphie Morell
582771ab48 insert witty commit message here 2023-10-18 01:30:49 -04:00
inspectredc
cff2e37287
Restoration: RBA Values (#2672)
* Restore RBA Values

Matches all rba scenarios achievable in game to their original outcomes. This only ends up affecting certain trade items.

* tooltip rewrite

* rba cases generalised

* re-add to menu bar

* better byteswap and checks for endianness

* remove leftover defines
2023-10-17 09:25:09 -05:00
Garrett Cox
f30e76e7b1 MVP ValueViewer 2023-10-17 08:54:52 -05:00
aMannus
da92ac6a37
Audio Editor clean-up (#3256)
* Progress on SFX cleanup/sorting

* Fix crash after dev merge

* Rename vars
2023-10-17 08:29:13 -05:00
inspectredc
fe90ad0268
MM Bunny Hood effect separated from ability to equip as adult (#3253)
* adult separator

* use cross instead of checkmark

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>

* suggested load fix

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2023-10-15 18:10:24 -05:00
PurpleHato
3ed976e6af
TWEAK: Add transition to the Time Travel feature (#3276)
* ADD/ Proper Transition

* REM: Dupe
2023-10-15 18:09:55 -05:00
Adam Bird
42f6cfe66b
add save editor field for current b button item (#3262) 2023-10-15 17:25:52 -05:00
aMannus
a3c52626e6
Randomizer - Colored hints (#3259)
* Colored hints

* Missed 2 french translations
2023-10-15 17:25:43 -05:00
Patrick12115
784737dc7b
[Difficulty Options] All Dogs are Richard (#3243)
* Oops, all Richards!

* Sure is
2023-10-15 17:22:47 -05:00
inspectredc
041a3792fc
Equip Tunic and Boots while performing most actions (#3239)
* tunics and boot equips initial

todo: find an appropriate place to first put Player_AssignTunicBoots

* move to more appropriate place

* assign -> use
2023-10-15 17:22:31 -05:00
Adam Bird
5ddc418777
redicle -> reticle (#3257) 2023-10-13 23:14:18 +00:00
Patrick12115
260078c871
[Cosmetic] Adds Bunny Hood to Cosmetic Editor (#3245)
* Color and Invisible Checkbox

GI model crashes when talking to mask salesman

* Update z_player.c

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>

* Update z_player.c

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>

* Move bunny hood coloring to patch

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2023-10-13 23:13:17 +00:00
Adam Bird
57d4d1ae20
typo on asset attribute for pal1.1 (#3264)
* typo on asset attribute

* base address fix
2023-10-13 23:12:16 +00:00
inspectredc
8c7786d4bb
Replace Race Preset Magic Numbers and Remove gPreset1 from No Logic Preset (#3255)
* magic

* Remove gpreset1
2023-10-11 15:11:04 +00:00
Adam Bird
1829a6a154
Update buildBUILDING.md and adjust cpack for Windows (#3229) 2023-10-09 15:28:22 +00:00
Julian Garritano
bb23fbc143
Fix Warp Song Hints option (#3260) 2023-10-07 10:33:35 -05:00
inspectredc
095fd8b625
done (#3248) 2023-10-07 10:32:02 -05:00
Adam Bird
e66be83eb7
Fix quest type bleeding through saves (#3241) 2023-10-05 15:35:49 -04:00
Christopher Leggett
85432ce496
Adds option for Lost Woods leading music to be disabled. (#3233)
In the Audio Editor Options tab, useful for hearing Custom Sequences more clearly in the Lost Woods.
2023-10-04 10:09:37 -05:00
inspectredc
a92844fa92
Remove rando specific getitemid check (#3237) 2023-10-04 10:09:00 -05:00
Adam Bird
b70837f5ea
N64 PAL 1.0 support (#3182)
* 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
2023-10-04 10:05:02 -05:00
Malkierian
70a83f647f
Check Tracker Update (#2668)
* Initial commit. What works so far:

Data file loads, saves, deletes, and is created properly.
 - Need to run `HasItemBeenCollected` when creating in case of mid-seed regen.
Organized checks into maps set by area.
Areas show in tracker.

 - Checks pulled from checkObjectsByArea are not currently listed.
 - Areas are being assumed completed and hidden at the start.

* Checks now populate. Still not counting area totals properly.

* Don't track RC_LINKS_POCKET in the data file, and instead manually add it in every time a save is load. rcObjects doesn't contain Link's Pocket location (duh).

* Moved ItemReceive hook to randomizer_check_tracker.cpp.

Skipped items are properly sorted and formatted.

Saved items contribute to an area's gotten/skipped checks on load.

Changed skipped items default main color to gray.

General code cleanup.

* Skipped checks now contribute to area totals for area completion logic.

* Mid-menu rework transfer.

* Started check lookup on item receive.
Tried to enable scum checking on save.

* Fixed scum check on save.

* More code cleanup, which revealed some issues with loading and saving. Loading now works 100%, but entries in checkTrackerData are disappearing in code somewhere, causing issues with later checks.

Scummed color now displays properly.

Collected but unsaved displays properly.

Unchecked, Skipped, Seen and Scummed checks all have arrows for skipping/unskipping.

Counts a little messed up, probably double adding skips.

* Fixed item counts being off across resets. Restarts were fine.

* Beginning of rework for individual check updates. Adds `Actor lastCheck` to PlayState to allow assigning of last actor to give an item. This allows precise tracking of GS, freestanding PoH, etc. Works for chests too. Currently does not work for shops, unknown for normal NPC gives. Doesn't track last gives for non-checks, like drops from grass, pots, crates, etc.

* Actor-based checks fully fleshed out, but can't help with sale-based checks. Implemented `pendingSaleCheck` to back out of an RC check cycle if `gSaveContext->pendingSale` is not NONE when `OnItemReceive` is called, processed through `OnSaleEnd`. This should be the final change necessary to streamline the checks.

* Temporary hook to message box close to tie in trackers for non-gs/chest actors that aren't added to `GetCheckFromActor`. This triggers a 2-frame countdown to check with `HasItemBeenCollected` since half of the methods in there aren't updated until after a text box closes.

Added scene tracking to get last scene so that checks in scenes that span several overworld areas could be tied to their areas properly.

Modified tracker data creation to apply Link's Pocket and Song from Impa conditionally based on randomizer settings instead of just being assumed to be done. May need modification for checking click and drag spoiler loading.

Removed the scene equivalence check from CheckChecks so that an entire area is checked each time to avoid issues with, e.g., leaving a shop before a pending sale finishes.

* Changed check data creation to use RSKs from gRandomizer to account for settings loaded from drag and drop spoilers.

* Beginning of tracker code organization.

Changed check color defaults.

* Reverted moving tracker colors to header.

Some individual check fixes.

* Missed something from previous merge?

* Removed last remnant of removed performance mode.

* Better handle checking when skullsanity is off.

* Song checks sceneIDs don't match the scenes they're actually in for some reason. Removed that check.

* SaleEnd checks don't need the GetItemEntry parameter. Also set a flag that should prevent the check tracker from running during vanilla saves should that not be resolved by the time it's merged.

* Attempting to have only the relevant checks added to the tracker data, as well as showing vanilla checks for non-rando saves. Not working yet (everything is displayed in vanilla).

* Added vanilla check tracker population via `vanillaCheck` bool in `RandomizerCheckObject`. This is also added to `IsVisibleInImGui` to handle file loading and saving to eliminate checks that aren't part of vanilla or the rando seed.

Implemented deleted tracker data file recreation.

Added some extra item name text checks. Songs are still... tricky, so they stay blank.

Utilize local copies of the randomizer check objects that are applicable for performance purposes.

Fixed vanilla item-giving cutscene crashes when triggered mid-transition.

* Apparently not all toolchains can handle macro instantiation without all parameters, like VS can.

* Fixed scummed detail color not showing properly on tracker.

* Fixed dungeon area totals and GS checks not functioning properly.

* Major revamp of checking code. Doesn't rely on `GetCheckFromActor` at all anymore, but instead simply sets a flag to evaluate a number of checks in an area every frame until the check that was gotten is identified. With the new setup, it's much less hardware intensive, and at 60fps 6 checks per frame shows no noticeable effect on framerate. I can envision needing to add a collectedCount in order to account for times when two checks are gotten one right after the other.

Changed area scroll to happen from `OnTransitionEnd`, and allow for scrolling in bazaar (was disabled previously because it would jump back and forth between Kak and Market while you were in one).

Also setup area check order updating by area instead of all at the same time.

* Fixed shooting gallery not reporting proper area.

Prevent checks from actually happening if area is RCAREA_INVALID, now that all areas are reporting something if they have checks.

Fixed `GetCheckArea()` not updating checks for standard scenes.

Lots of vanilla tracking updates, mainly manual checks for gems, medallions and songs, since the often don't have proper scenes in the data.

Prevent vanilla from triggering check loops if junk items are collected.

Fixed sorting based on saved vs collected.

Prevent item name display for vanilla runs.

Change coloring of checks so the check name reflects status in vanilla runs.

* Fixed "Recheck Area" button erroneously adding to an area's check totals?

* Fix DMC vanilla checks.

* Fix check tracker data recreation on data file loss.

Removed redundant file exists check from SaveTrackerDataHook, as it doesn't matter if it exists or not at that point.

Limited check loops to 3 to avoid infinite check loops on non-check/junk item pickup.

Added more checks to disable tracker operations if a save is not running.

Changed check ordering to put boss reward and heart container checks at the end of whatever RCSHOW group they belong to.

* Fixed IsRunning calculation.

Further improving vanilla checking.

Starting framework for checking medallions, stones, and songs on data file recreation.

Fixed medallion check collection.

Added GIFT_FROM_SAGES to check list for vanilla file for tracking light medallion.

Added check loop limitation to prevent infinite checking after picking up junk item from the ground.

* Finished vanilla file recreation and recheck (songs and dungeon rewards all check properly now). This includes deku shield with KF shop item 3.

Finished Gift from Raoru light medallion tracking for vanilla.

Commented all CheckByScene functionality for now.

* Fixed new save data file creation.

Disabled entrance area calculation for now, as it only tracks the previous entrance for some reason.

Fixed area detection for ToT checks.

* GetCheckArea() now utilizes EntranceData almost exclusively, via either `gSaveContext.entranceIndex` or the entrance tracker's `currentGrottoId` in the case of grottos.

This also means that EVERYTHING CAN AUTOSCROLL NOW. Entrance shuffles are now much easier to track.

Autoscroll is now also triggered on save, just in case someone isn't autosaving and has a lot of checks that get converted to saved.

* Fixed missing GS check in LW.

* Added area scroll on toggling Show Hidden Items. May configure differently later.

Fixed area detection for entrances in Gerudo Fortress/Valley and Collossus. Haunted wasteland doesn't autoscroll due to a bug in `OnTransitionEnd` hook, but checks still evaluate properly there.

Rely on scene-based area detection if scene is a main overworld or dungeon scene.

* Fixed grotto detection when shuffle is off.

* Small code cleanup.

Fixed Colossus hand chest checks.

* Missing lus bump from merge conflict resolution

* Fixed Colossus Grotto making `GetCheckArea` return Wasteland.

* Improved OnItemReceive processing for non-token GS checks, since they can sometimes take long enough for the checking process to time out before the item is registered as received.

* First attempt at thread safety for tracker data file writing. Seems to work, but might need more testing.

* Fixed Recheck Area not unskipping items that register as saved.

Improved delayed saving with autosaving, as the autosave triggered quite often before the tracker data save, making things not properly register as saved.

* merge cleanup

* Converted check tracker data to the sectional saves, adding `CheckTrackerData` to `SaveContext`.

Implemented section ID returning and fullSave boolean passing to section functions from my PR temporarily for it to work properly.

Moved `RandomizerCheckTrackerData` enum to `randomizerTypes.h` to accommodate that.

Changed `Randomizer_SaveInit` to a `SaveManager::InitFunc` to allow for other randomizer-dependent sections to be initialized after that. Required a little refactoring to maintain intro cutscene skip when starting a randomizer file.

* Revert section index return and randomizer init changes. Will need to wait on yet more changes to main.

* Fixed check tracker initialization (shouldn't be tied to window initialization), restored saving/loading functionality.

* Removed `CheckTracker::Init` and put SaveManager calls in `CheckTrackerWindow::InitElement`. Also a bit of cleanup from transition back to save file use.

* Fixed tracker displaying check categories while file not loaded.

* Fix Darunia's Joy check not marking in vanilla.

* Fix autosave not triggering change from collected to saved in tracker data.

* Changed default colors for scummed and collected display.

* Merge upgrade code cleanup.

* Add `OnTransitionEnd` calls to sandstorm transitions both to and from Wasteland. Also improved `gSaveContext.lastScene` assignment for both transition types. Allowed a bit of cleanup in `GetCheckArea`.

* Added `StateButton`, a button like `ArrowButton` but that allows text instead of arrow icons. Apparently the changes from ArrowButton to StateButton happened in a previous commit...

* Changed section name to `trackerDataCheck` to force SoH to load it after the randomizer section, as it required some randoSettings to be loaded first, and nothing else I tried to make the randomizer section load before it worked. This hacks a solution to checks not displaying on fast file load to a specific slot.

F*** you, SaveManager, and f*** you too, JSON.

* Forgot to change the section string for loading with the name change.

* Fix check ordering for checks that trigger the autosave.

* Adds option to remove right-side shop items (slots 1-4) from the tracker list. Enabled by default.

* Fix default state of Hide Shop Right Checks checkbox.

* Fixes grotto and great fairy scrolling and checks.

Fixes array overflow from `checkTrackerData` which was creating the issue trying to load the base and randomizer sections first, among other things.

That also fixed the massive file loads that were being exhibited in debug mode.

* Fix shooting galleries being set as collected again when being played a second time after getting the checks.

* Fix Bazaar autoscroll.

* Add Saria's Song to `GetCheckFromActor` and removed some limitations from the messageCloseCheck function to make that check track properly.

* Fix Song from Impa check.

Implemented prevention for multiple "collections" of great fairies, just in case getting the health refill would trigger it with the previous setup.

* Fix ice traps on GS tokens not triggering OnItemReceive.

* Complete fix for ice trap collection from GS.

Add autoscroll when clicking "Expand All".

* Add `OnShopSlotChange` with cursorSlot and basePrice parameters.

* Fixed include in en_ossan for shop slot hook.

Added registration for `OnShopSlotChange` in the tracker, storing the price in a new `price` field in `CheckTrackerData`.

Added "seen" functionality to shop checks. Displays the model item name upon first entering a shop, adding the price and switching to trickName (if it's an ice trap) upon navigating to the slot in buy mode, triggered by an invisible "identified" status that mirrors "seen" in every other way.

Added tooltips to most options for check tracker color picking to describe what each status actually means.

* `std::format` pls

* So apparently std::format just decided to break with the latest merge from develop, but fmt::format exists and works?

* Removed the last vestiges of `locationsSkipped`. Other general code and formatting cleanups.

Moved `IsGameRunning` to `OTRGlobals` so the item tracker could also access it.

Used preceding to "fix" item and bottle display in the item tracker on startup.

* Some more code cleanup.

Removed "Recheck Area" button and relevant code.

Backported changes to Anchor branch applicable for single-player, including making a checkAreas vector and structuring the frame by frame checks around that. Also includes fix for Silver Gauntlets and Mirror Shield check collection crash associated with those changes.

Fixed Kakariko Bazaar "seen" updates.

Fixed tracker window not showing on initial load like it should.

* Forgot 1 formatting fix.

* Removed conditions for showing Song from Impa (isn't junk under certain conditions, so should show all the time).

* Fix vanilla checks, add Zelda's Letter and Malon's Egg to manual check collection.

Fix autoscroll while in child stealth section.

* Fix crash in Happy Mask Shop in OnSlotChange (referenced non-existent shop id in a tracker-specific enum).

* General code cleanup.

* Missed one reversion.

* One more.

* Fix column alignment in `randomizer_check_objects`.

* Fix file encoding on `randomizer_check_tracker`. Again.

* Fix indentation for `actualItemtrackerItemMap`. Also removed unnecessary parts of the map.

* Rename `HasEqItem` to `HasEquipment`.

* Slightly better indentation for `actualItemTrackerItemMap`.

* Add magic bean salesman to vanilla check tracking, and genericized deku shield to trigger KF shop item 3 wherever you get the shield.

Renamed `vanillaCheck` to `vanillaHundoCheck` to (supposedly) clarify the meaning of the usage.

* One more rename to `vanillaCompletion` to avoid possible confusion with 100% speedrun conditions.

* give me a break XD

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

* Changes suggested by briaguya (rename `RandomizerCheckShow` to `Status`, unused code, newline formatting)

* Remove unused `itemNames` table.

* Remove `IsGameRunning` in favor of `GameInteractor::IsSaveLoaded`.

* Restore anti-spoiler functionality for dungeons with dungeon maps.

* Review cleanup.

* Fix prices not showing for Kak bazaar items.

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2023-10-04 10:03:36 -05:00
inspectredc
b1f0c964d2
Item Tracker Combo Button Fix (#3231)
* let words be small

* change >=1 to >0
2023-10-02 14:34:37 +00:00
inspectredc
82d87ff680
Clear Cutscene Pointer Button/Cheat (#2837)
* clear custcene pointer button

* now use RawAction for button

* add button to new menu bar
2023-10-02 14:28:27 +00:00
Malkierian
ebfd14974f
Modify arrow buttons in Audio Shuffle Pool Manager to be FA times and plus instead of the ImguiArrow to make the difference between "Exclude" and "Play Preview" clearer. (#3226) 2023-09-30 08:55:51 -05:00
Malkierian
6e50d7110a
Open App Files Folder (#3221)
* Add "Open App Files Folder" menu item to Ship menu on desktop platforms to open the folder where mods, logs, etc, are found.

* Change to `GetAppDirectoryPath` to get config location instead of executable/bundle path.

Also unified the absolute path creation across all platforms by using `std::filesystem::absolute`. It manages to even expand the "." returned for portable Windows mode.

* Removed unnecessary platform define check.
2023-09-30 08:55:43 -05:00
briaguya
56deb1cf64
unbreakable/always on fire deku stick (#3192)
* Adds Ultra Deku Stick Cheat

Author:    Vexus <vdfk94@gmail.com>

* implement the stuff

* move enum to a resonable spot

* Apply suggestions from code review

* Update soh/src/overlays/actors/ovl_player_actor/z_player.c

* i thought i could do everything through the gh web ui but fine i'll fix it locally

---------

Co-authored-by: Vexus <vdfk94@gmail.com>
2023-09-30 08:55:11 -05:00
Adam Bird
af19645a88
Fixup remaining n64ddflag after IS_RANDO merge (#3240) 2023-09-29 16:28:16 -04:00
Pepe20129
d63c9d1774
Quest Cleanup (#3178)
* Change most n64ddFlag checks to IS_RANDO checks

* Change most isMasterQuest checks to IS_MASTER_QUEST checks

* Change most isBossRush checks to IS_BOSS_RUSH checks

* Replace isMasterQuest & isBossRush with questId

* Replace n64ddFlag with questId

Also restore authentic n64ddFlag behavior except savefile saving/loading

* Move quest enum from file_choose.h to z64save.h

* Update macros to not take gSaveContext
2023-09-26 09:20:33 -05:00
briaguya
4c693db224
tweak shuffle pool tab to better fit voice option (#3216) 2023-09-26 08:47:18 -05:00
Adam Bird
c6356853ae
fix better debug warp deku tree entrance (#3195) 2023-09-26 08:47:08 -05:00
aMannus
5d3429e04f
CrowdControl bypass voidout/die crash in pre-rendered background areas (#3186)
* Bypass camera crash when voiding/dying in fixed camera areas

* Update comment
2023-09-26 08:46:10 -05:00
Garrett Cox
db10864e95
Add flag set/unset hooks and GI actions (#3065) 2023-09-26 08:45:51 -05:00
aMannus
bae6cf4203
Randomizer feature: Triforce Hunt (#3062)
* Initial work to make triforce pieces their own rando item

* Disable triforce greyscaling

* Better triforce model, finish adding triforce pieces to logic

* Triforce model is now a shard

* Credits warp + start of item tracker

* Initial item tracker stuff

* Completed triangle on triforce completion

* Completed triforce model on GI done

* Multiple triforce piece models

* Triforce pieces in save editor & fix build

* Finish item tracker

* Gameplaystats timestamp

* Revert parts of logic

* More reverting

* Start of making Triforce Hunt the win condition

* Bit of cleanup

* Triforce pieces can show up as icetraps

* Grant GBK to player after hunt is completed

* Better text boxes

* Disable GBK option in ImGui with Triforce Hunt on

* Clean-up

* Forced save on completion improvements

* Update Item Tracker Settings initial size

* Small ImGui adjustments

* French translation and update defaults

* Finish translations

* Fix timer completion & 50+ triforce pieces

* Remove GI_ and ITEM_ enum usage, add french ice trap names

* Fix build & small fixes

* Review comments

* Comment clarification
2023-09-26 08:45:37 -05:00
Nicholas Estelami
ccd05d8e58
Removed hardcoded skeleton types in actor draw code. (#2979)
* Initial PAL 1.1 support

* Misc fixes

* Updated game to remove hardcoded skeleton types when rendering

* Fixed weird rebase issue

* Replaced remaining skeleton calls

* lus submodule fix

* Remove OTRGui
2023-09-26 08:45:10 -05:00
Adam Bird
bb643661f6
GC PAL MQ Retail support (#3167)
* 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
2023-09-19 09:30:48 -05:00
Ralphie Morell
c3a1eb2315
Rando: More Misc. Hints (#2930)
* commit constipation

* fix inconsistencies between 3d and soh settings

* Add RSK check for Saria; Sheik now tells you other reqs for ganon

* Translations (thanks Purple and Timmy_GamerNepgear);
Retain Saria's "face-to-face" text in rando if you're too close

* fix scene renames for sheik

* whoops

* Undo LA hint setting erasure from conflict

* Clarified Sheik text IDs; Clarified final frogs hint

* Fixed Sheik text ID assignment; Fixed Saria's messages in `OTRGlobals`

* Added hint locs for sheik and saria

* Set up hook for Sheik spawn;
Sheik no longer cheats with room transitions;
Enforced text IDs on saria msg function

* Set up hook for Sheik spawn;
Sheik no longer cheats with room transitions;
Enforced text IDs on saria msg function

* Update soh/soh/SaveManager.cpp

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>

* nice.gif

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>

* got ahead of myself

* Conquered and divided; simplified stuff

* nitpicking

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

* Apply suggestions from code review

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

* the little things i stg

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2023-09-18 21:02:51 -05:00
Garrett Cox
18e21e12c8
Use randomizerInf for fishing and big poes (#3088) 2023-09-18 21:34:25 +00:00
Malkierian
356e305bd3
Fixes erroneous formatting in randomizer.cpp. (#3194) 2023-09-16 15:59:20 -05:00