Commit Graph

295 Commits

Author SHA1 Message Date
Amaro Martínez
fc1a009953
Restore save confirmation screen when saving and in game over (N64) (#1750)
* Restore save confirmation screen

* Use correct time from NTSC decomp

* Apply suggested changes

* Update GameMenuBar.cpp
2022-10-23 03:40:47 -04:00
Christopher Leggett
6fe7728bd1
Fixes a crash on Switch and cleans up some rando ui interactions. (#1832) 2022-10-22 12:31:20 -04:00
Garrett Cox
1db4e9303e
Enable MQ Dungeons in Randomizer (#1828)
* Refactor GetCheckFromActor, WIP currently broken

* Fixes build errors via forward declarations and emplace vs insert.

* Removes some unnecessary code.

* Fixes non-windows build errors.

* Fixes Deku Scrubs outside of grottos.

* Fixes DMC Deku Scrub Grotto Center

* Fixes Ruto Blue Warp

* Fix issue identifying blue warp rando checks

* Move identifyCow to randomizer.cpp

* Various updates to vanilla check objects

* Identify MQ checks in check object table

* Adjustments to how multimap is used and initialized

* Convert u16 in check object table to s16

* Fix a few issues with MQ checks

* Fix issue with TWO_ACTOR_PARAMS macro

* Fixes some scrubs and cows appearing as identical.

* Fixes known gossip stone issues (ToT, DC)

* Fixes Dampe's Gravedigging tour rcObject

* Fix crash on locations tab

* Enable master quest dungeons in rando

Co-authored-by: Christopher Leggett <chris@leggett.dev>
2022-10-21 21:43:37 -04:00
Ada
c914bd20b8
Adds camera sensitivity option back (#1817)
* Adds camera sensitivity option

* Fixes default values

* Fixes default values (for real this time)
2022-10-21 00:39:42 -04:00
vaguerant
76942aeaee
Fix killer door textures (#1177)
* Fix killer door textures

* Remove todo as requested by @Rozelette
2022-10-21 00:28:40 -04:00
Cardboy777
5d29c4755e
Add cheat for removing age restrictions on items (#1644)
* Add Cheat for disabling age check on equipment

* Add Cheat for disabling age check on equipment... pt 2

* cleanup some logic with macros

* Keep adult strength as child & prevent equipment greyout

* Timeless Equipment cleanup
2022-10-21 00:18:31 -04:00
Josh Bodner
4fb78f9caa
Add toggle option for walk speed modifiers (#1783)
* Add toggle option for walk speed modifiers

* Preserve toggle status between scene transitions

* Apply suggestions from code review

renaming from `gSpeedToggle` to `gWalkSpeedToggle`

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2022-10-20 23:55:15 -04:00
Garrett Cox
dbd5585e15
Implement LACS settings for ganons boss key (#1802)
* Implement LACS settings for ganons boss key

* Add description
2022-10-20 23:10:29 -04:00
Garrett Cox
e5cc09a96f
Chest size and texture matches contents (#1778)
* Implement most of chest size and texture matches contents, just need an item table

* Add GetItemCategory to getItem tables

* Revert changes that tie chest size and texture to randomizer

* Support chest size & texture as an enhancement that works on outside of rando

* Add gChestSizeAndTextureMatchesContents to rando preset

* Prevent gChestSizeAndTextureMatchesContents in chest minigame

* Fix for forest temple boss key chest

* Add options for texture or size only
2022-10-20 22:33:04 -04:00
Christopher Leggett
f756da02e5
Fixes a few bugs I introduced for MQ file select screen. (#1808)
* Fixes a few bugs I introduced for MQ file select screen.

- MQ Saves could not be loaded while only an mq otr is present, because `requiresOriginal` was true when `gSaveContext.mqDungeonCount` was less than 12. That value only ever gets set for rando saves, so I added a check for the rando flag to that conditional.
- The rando tag was not getting grayed out with the rest of the save file.
- Some necessary meta info wasn't getting loaded when the randomizer CVar was off. Removed that check so that the rando save data always gets loaded during InitMeta. That way the amount of mq dungeons can be checked for validity with the loaded set of OTRs even if randomizer isn't enabled.

* i not 1

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2022-10-20 22:13:08 -04:00
briaguya
a920aea8de
Merge pull request #1807 from HarbourMasters/develop-zhora
zhora -> dev
2022-10-20 09:47:07 -04:00
Adam Bird
7d9a050a4d
Fix better debug warp menu grottos (#1799) 2022-10-20 15:33:45 +02:00
Christopher Leggett
7b08f98b8c
Dual OTR MQ and Vanilla Support (#1694)
* Changes OTR Extraction to have specific mq and nonmq paths.

Also updates the game to load resources according to whether or not
Master Quest or Vanilla is loaded.

* Removes unneeded code from the last commit.

* Fixes some weird formatting in ZRom.c

* Loads oot-mq.otr and patches oot.otr on top, if both are present.

If only one or the other are present, it becomes the only and main OTR.

* Adds ImGui Logic for whether or an MQ Checkbox.

Checkbox checked only specifies whether new saves should be MQ or not.
Checkbox is disabled or force-enabled according to which OTRs are loaded.
Also as a necessity includes tracking what game versions have been loaded
from the OTRs.

* Adds MQ settings logic for Randomizer's ImGui menu.

* Writes Master Quest dungeons to the spoiler log

* Loads MQ Dungeons from spoiler, persists in save, and loads when appropriate.

* Adds logic to prevent loading or creating incompatible rando saves.

* Fixdes some linux build issues and new rando save issues

* Makes appimage create both vanilla and mq otrs

If either rom is present, it makes the corresponding OTR. If both are present,
it will make both. If one OTR is present but both roms are present, it will
create the missing OTR.

* Makes it so a randomized save file will not be marked as MQ.

* Refactors to load all OTRs from MainPath or a specific list.

Also adds the ability to take a std::unordered_set of hashes to
validate each OTR's version file against.

* Fixes a syntax error

* Makes ExtractAssets output Vanilla and MQ OTRs if both roms are present

* Fixes asset generation bug.

* Partially working fix for dual OTR extract_assets

Currently the cmake ExtractAssets target will return with a 1 if you
only end up exporting one type of OTR isntead of both. Haven't found
a great way to only attempt to copy a file if it exists from within
cmake. It does actually correctly copy the OTR that is generated,
despite the error from copying the other one.

Pushing as is for now but will keep investigating.

* Adds oot-mq.otr to the gitignore.

* Makes ExtractAssets not fail on only one rom/OTR.

* Removes PatchesPath from the constructors requiring OTRFiles vector.

* Renames OOT_UNKNOWN to just UNKNOWN to remove OOT specific reference.

* Removes randomizing MQ Dungeons and re-disables MQ rando.

Doing this so the PR can get merged quicker with just the Dual OTR
support and won't need to wait on rando logic to be updated. That
will happen in another PR directly after the merge.

* Update mac startup script for dual otr

* Update soh/macosx/soh-macos.sh

* Update soh/macosx/soh-macos.sh

* Update soh/macosx/soh-macos.sh

* Implements new BinaryReader to fix Linux build issue.

BinaryReader itself comes from https://github.com/Moneyl/BinaryTools
I added a wrapper to adapt it to the ABI from ZAPD's Binary Reader and
add Endianness checking. I also had to copy a handful of other bits and
pieces from ZAPD to make it all function as expected.

* A few edits to the updatream BinaryReader to compile it on Linux.

* Adds the Endianness to the first byte of the version file.

* Fixes Jenkins

* Addresses some of Kenix's comments

* Renames `ReadNullTerminatedString` to `ReadCString`

* Refactors Archive::LoadFile into a private method with more arguments.

* Removes BitConverter and extends existing endianness.h instead.

* Fixes an endianness issue with the version file.

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2022-10-16 23:07:35 -04:00
Christopher Leggett
1b6dd8a0fe
Adds extra entry to obj_lift FallTimerDurations. (#1777)
Prevents an OOB access that, as far as I know, was only causing issues
on the Switch, but this addition is harmless everywhere else.
2022-10-15 00:00:48 +02:00
briaguya
350315a5d1
Merge pull request #1769 from HarbourMasters/develop-zhora
zhora -> dev
2022-10-13 14:55:19 -04:00
lilDavid
f4c871e35c
Fix Anju as Adult and Trade Pocket Cucco order (#1766) 2022-10-13 12:40:48 -04:00
Amaro Martínez
42a5f46e5e
Fix Gerudo Warrior Clothing (#1752)
* Fix Gerudo Warrior Clothing

* Update soh/soh/GameMenuBar.cpp

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

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2022-10-13 09:46:58 -04:00
Rozelette
7878b8f3e4
Fix animation in Ganon that is causing an OOB access during animation (#1764)
* Fix animation in Ganon that is causing an OOB access during animation

* Fix function args
2022-10-13 09:18:31 -04:00
aMannus
7906d70485
Fix: Pickup item cutscene logic fix (#1733)
* Fix: Fix for the pickup CS logic fix (fixed)

* Tiny cleanup

* More fixes + clarified comments

* Extract more logic into bool, clarified comments
2022-10-12 22:30:15 -04:00
Rozelette
dd62d0882e
Add hack for Ruto's earrings (#1759)
* Add hack for Ruto's earrings

* Add tag for the underlining issue for easy grepping

* typo
2022-10-12 22:18:35 -04:00
briaguya
595e105ef1
Merge pull request #1758 from HarbourMasters/develop-zhora
zhora -> dev
2022-10-12 18:44:26 -04:00
aMannus
d102506fba
Catch-all fix for mask select (#1728) 2022-10-12 17:21:04 -04:00
Rozelette
63f763a556
When testing if an animation is new, make sure we are using the loaded file pointers (#1748) 2022-10-11 18:58:28 +02:00
mergify[bot]
83541f4605
[#80] Fix for goron spin on wake up animation (#1714) (#1746) 2022-10-11 18:01:06 +02:00
mergify[bot]
43b7ca96d7
Fix Ruto softlock with fast text (fixes #96) (#1732) (#1745)
(cherry picked from commit e7ea2a3ae1)

Co-authored-by: Rozelette <Rozelette@users.noreply.github.com>
2022-10-11 17:17:41 +02:00
Rozelette
e7ea2a3ae1
Fix Ruto softlock with fast text (fixes #96) (#1732) 2022-10-11 00:58:33 +02:00
Garrett Cox
b0510d78f8
[#1712] Reset fileNum when returning to title screen and prevent saving when file = 0xFF (#1721) 2022-10-10 10:16:40 +02:00
Garrett Cox
14543d567a
[#80] Fix for goron spin on wake up animation (#1714) 2022-10-10 10:16:27 +02:00
Garrett Cox
fd3872ae30
[#1715] Fix crash when retrieving a merchant message while using fast file select (#1722) 2022-10-10 09:40:52 +02:00
Josh Bodner
8df4d640ac
Add support for extra buttons to be used as walk speed modifiers (#449) 2022-10-10 08:28:19 +02:00
Garrett Cox
aa00cba76e
[#1718] Fix interpolation issue with bunny hood ears (#1724) 2022-10-10 08:27:22 +02:00
Amaro Martínez
18208cc993
Fix A cursor color in the Continue prompt (#1717) 2022-10-10 08:26:40 +02:00
Garrett Cox
eb081dc719
Add fix for ice traps while wearing bunny hood (#1713) 2022-10-09 08:38:25 +02:00
briaguya
7e841d6156
Merge pull request #1710 from HarbourMasters/develop-zhora
zhora -> dev
2022-10-07 22:21:19 -04:00
aMannus
f563ac733f Fix skipping "get item" cutscene logic 2022-10-07 19:24:58 -04:00
Garrett Cox
2a302a802f
Enhanced debug warp screen (#1479) 2022-10-06 14:39:12 +02:00
briaguya
236cb0bfb0
Merge pull request #1690 from HarbourMasters/develop-zhora
zhora -> dev
2022-10-03 21:12:58 -04:00
Garrett Cox
02c0caff4f
[#1567] Fix merchant message table being generated before items were loaded from save (#1674) 2022-10-03 08:50:19 +02:00
Garrett Cox
2ad0b37fa5
[#1675] Fix for business scrubs crashing on expensive scrub shuffle (#1676) 2022-10-03 08:49:53 +02:00
Ada
37ffc8b9c8 Fixes Y-Axis inversion in C Up view 2022-10-01 19:19:23 -04:00
louist103
f3f357c874
Merge pull request #1663 from HarbourMasters/develop-zhora
zhora -> dev
2022-10-01 17:19:12 -04:00
Garrett Cox
ec88b90ed8
[OTR] Initial support for PNG textures (#1634) 2022-10-01 22:33:29 +02:00
briaguya
9804035dc0 fix: match auto center option text to behavior 2022-10-01 13:46:58 -04:00
louis
d61b398f41 Fix MQ not going away after deleting file 2022-10-01 13:22:24 -04:00
aMannus
fba4839705
Rando: Add randomized ice trap messages (#1559)
* Add: Randomized Ice Trap Messages

* Add text to freestanding items, other tweaks/fixes

* More messages

* ADD: French Translation + 1 Extra

* %w is not %UwU%

* TWEAK: One msall breakline

* Add German & small text tweak

* Minor code optimization

* Updated French

Co-authored-by: PurpleHato <linkvssangoku.jr@gmail.com>
2022-10-01 09:56:25 -04:00
briaguya
8888fb2ec1
Master Quest (#3) (#1632)
Co-authored-by: PurpleHato <linkvssangoku.jr@gmail.com>
Co-authored-by: GaryOderNichts <12049776+GaryOderNichts@users.noreply.github.com>

Co-authored-by: louist103 <35883445+louist103@users.noreply.github.com>
Co-authored-by: PurpleHato <linkvssangoku.jr@gmail.com>
Co-authored-by: GaryOderNichts <12049776+GaryOderNichts@users.noreply.github.com>
2022-09-29 19:07:48 -04:00
David Chavez
083ceb4423
Feature: Crowd Control Integration (#1568)
* Start effects

* Disable input to game when typing in console

* Add gravity support

* noUI placeholder

* Add rest of effects to console

* Remove z_play code

* Add rupee modification

* Add OneHit KO (#27)

* few fix and paper Link

* Better method and now use the reset flag

* Revert "Better method and now use the reset flag"

This reverts commit 2aafcc1df2.

* Revert "few fix and paper Link"

This reverts commit 65e76dcfee.

* Paper Link & few fixes (#28)

* Implement pacifist mode (#30)

* Implement cucco storm (#31)

* Add no UI functionality (#32)

* Enable CrowdControl on windows (#33)

* Use std::format and implement wallmaster

* Implement defense modifier

* Implement no_z and clean up

* Implement reverse controls

* Some fixes while testing CC connection

* Implement speed modifier and fix defese modifier

* Fail magic effects if magic is not acquired

* Fix queue system

* Implement rainstorm

* Some cleanup

* Use IS_ZERO to handle very low near zero values

* Split some effects

* Fix emptying magic

* Don’t run cucco on pre-rendered backgrounds

* Use correct method for updating ruppees

* Fix decreasing speed

* Remove old SDL stuff

* Remove old fixes

* Enable Crowd Control for both debug and release

* Add missing returns

* Cleanup event firing

* Further clean up on event firing

* Fix some bugs

* CC fixes and enemy spawning (#35)

* Fix icetraps

* Fix title screen

* Fix pause screen

* Fix death screen timer & Code cleanup

* Fix timer during textboxes

* Code cleanup

* Add: Multiple enemy spawning

* More enemies + more code cleanup (#36)

* Enums for returning effect states

* Add more enemies

* Update CrowdControl.cpp

* Remove enums from enemies

* Fix up flow for events (#37)

# Conflicts:
#	soh/soh/Enhancements/crowd-control/CrowdControl.cpp

* Fix spawn position of likelike

* CC temp enemy fixes (#38)

* Check for pause in pacifist and allow button presses (#39)

* Fix Pacifist mode (#41)

* First attempt pacifier fix

* Real fix for pacifist mode

* Comment

* Remove cutscene and long delay from cucco_storm (#40)

* Some PR Fixes

* Use standard types

* Handle JSON parsing error and free memory

* Add CC configuration file

* Add: Giving deku shield option. Fix: Giant Lonk (#42)

* Small stalfos fix (#43)

* Syntax Improvements (#44)

* Revert bools to uint32_t

* Add comment about bools

* Fix cucco storm, fix empty heart (#45)

* Protect commands vector with mutex

* prefix effects with chaosEffect (#46)

Co-authored-by: briaguya <briaguya@alice>

Co-authored-by: Baoulettes <perlouzerie@hotmail.fr>
Co-authored-by: aMannus <mannusmenting@gmail.com>
Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
Co-authored-by: briaguya <briaguya@alice>
2022-09-27 22:41:17 -04:00
PurpleHato
1b141fd68c
FIX: Missing custom colors on ENTER NAME (#1623) 2022-09-27 19:33:01 -04:00
PurpleHato
694c6c9832
FIX: Set back default comportment of some Views (#1615)
* FIX: Set back default comportment of some Views

- Renamed Auto-Center First Person View to Disable Auto-Centering in First Person View and make it necessary to be checked to take effect and not being active by default

- Disable gInvertYAxis being enabled by default (which it not vanilla)

* Tweak: small whoopsie
2022-09-27 19:32:28 -04:00
Garrett Cox
6265613bc7
Correct default value of gInvertYAxis and change default trials required to vanilla (#1610) 2022-09-26 20:09:01 -04:00