Commit Graph

498 Commits

Author SHA1 Message Date
Christopher Leggett
a21998c489
Does some refactoring of rando custom message registration
The goal was less verbosity when adding new get-item messages later.
2022-07-24 18:47:55 -04:00
Christopher Leggett
dca922ade8
Merge branch 'develop-zhora' of https://github.com/HarbourMasters/Shipwright into custom-messages 2022-07-24 18:08:10 -04:00
Josh Bodner
ffb3523cb5
Add an option to always win the Goron spinning pot jackpot (#913) 2022-07-24 22:00:54 +02:00
Revo
01347dc9f9
Move Skulltula Debug functionality to its own checkbox option. (#912) 2022-07-24 18:12:34 +02:00
lilDavid
62d9390c9b
Add option to allow the ocarina to be played faster (#903)
* Add the ability to play the ocarina really fast like in MM3D

* Clean up CVar condition

* Rename Unlimited Ocarina Speed to Prevent Dropped Ocarina Inputs
2022-07-24 09:48:06 -04:00
GaryOderNichts
44bdfe552c
Fix height value for OptionsMenuSettings (#900) 2022-07-24 09:38:02 -04:00
GaryOderNichts
bd787719b8
Initialize staticSegment in Title_Init to NULL (#899) 2022-07-24 09:36:36 -04:00
Baoulettes
d4bd953c0b
Fix purple rupee issue (#895)
* moved few break to fix purple rupee issue

* fix breaks
2022-07-24 09:23:32 -04:00
briaguya
474eee5d98
set morpha reset function in initvars (#881)
Co-authored-by: briaguya <briaguya@alice>
2022-07-24 09:21:38 -04:00
vaguerant
38ecb6cfff
Bug fix: Water Temple gate & bootcommands.c cleanup (#618)
* Vanilla bug fix: child Water Temple gate

* Clean up bootcommands.c
2022-07-24 09:15:33 -04:00
vaguerant
ccf1bffd4f
Timer Savers: Mask Select in Inventory (#670)
* Timer Savers: Mask Select in Inventory

* Merge derp

* Implement suggestions per @briaguya-ai

* Fix cut & paste derp
2022-07-24 09:14:36 -04:00
vaguerant
1de5b72802
L-button cheats disable minimap toggle (#514)
* L-button cheats disable minimap toggle

* Add debug mode to exclusion list

per @briaguya-ai
2022-07-24 09:13:43 -04:00
David Chavez
b3d3148383 Merge branch 'develop-rachael' into develop-zhora 2022-07-22 02:34:55 +02:00
earthcrafterman
2ad78887b9
Added a time saver option to allow players to instantly put items away (#600)
* Added a time saver option to allow players to instantly put items away

Expanded the range of damage multiplication to 80 (20 hearts of damage for each quarter heart) so players can play a sudden death challenge

* The damage sliders are now comboboxes
Damage multiplication is now exponential instead of incremental

The FPS slider is now a text input

* Splitting into solely being a quick putaway PR

* Removed some leftover code from the split
2022-07-22 02:31:49 +02:00
David Chavez
1ca12feaed
Adds Xcode project (#769)
* Add Xcode project

Add dynamic lib paths

Generate resources scripts

Fix after rebase

tweak targets

Set min deployment target

* remove project

* readd project with correct gitignore
2022-07-21 20:15:45 -04:00
briaguya
84236e7ac3
stop floor under shadow statue opening immediately (#857)
* stop floor under shadow statue opening immediately

* use ActorResetFunc to reset sStatueRotY

Co-authored-by: briaguya <briaguya@alice>
2022-07-22 02:11:13 +02:00
Baoulettes
df756b2ce0
Cosmetics editor - Feature requested (#841)
* Precise positionning, reset margin and pos

* Fix big hearts issues

* add + and - to the editor

* add const to the char*

* Fix labels issues
2022-07-22 01:33:39 +02:00
lilDavid
c7c16c39b0
Add fixes for power crouch stab to the Enhancements menu (#874)
* Add optional fixes for power crouch stab

* Add line break in "Fix Megaton Hammer" tooltip

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

Co-authored-by: PurpleHato <linkvssangoku.jr@gmail.com>
2022-07-22 01:22:09 +02:00
vaguerant
059045481c
Controller option: Navi on L (#861) 2022-07-22 01:21:18 +02:00
Christopher Leggett
44dbd3a8a9
Fixes naming discrepancy of textbox positions. (#854)
Equivalent to https://github.com/zeldaret/oot/pull/1329
2022-07-22 01:13:04 +02:00
Sarge-117
52f22275e3
Fix Giant's Knife unexpected behaviours (#834)
* Giant's Knife Behaviour Fixes

Fixes a case where Giant's Knife (specifically, breaking and re-buying it) can behave unexpectedly if you don't have a Kokiri Sword in your inventory.  Also fixes the broken icon not showing up in inventory after you break it.

* less whitespace

* fix 0xE check

Accidentally committed with the wrong check

* Move the grayscale code up

Moved the grayscaling portion up higher in the function and renamed "bool not_acquired" to "bool age_restricted".  Thanks to @vaguerant for the suggestion!
2022-07-22 00:39:04 +02:00
Baoulettes
c19beca980
Fast Save Loader crashes fixes (#848) 2022-07-22 00:36:46 +02:00
briaguya
eb49053e73
Prevent unrestricted items camera crash (#852) 2022-07-22 00:35:30 +02:00
RaelCappra
e41873fff4
Savestate crash fix on Ubuntu (#843) 2022-07-22 00:34:04 +02:00
briaguya
dfa929a16f
Reset var for shadow boss key room spike walls (#860) 2022-07-22 00:31:26 +02:00
Christopher Leggett
880e3928cf
Fixes odd rando interaction with malon after receiving her check. (#867) 2022-07-22 00:28:43 +02:00
Jeffrey Crowell
41d1bbe137
Fix nullptr dereference in morpha (#870)
reported on discord, i don't have the ability to reproduce this, but it
appears to be a benign fix, as the only time that the tent2 is checked
down later is guarded by a null check.
2022-07-22 00:27:44 +02:00
Josh Bodner
1d208c7dc2 Revert to using boolean in json 2022-07-21 11:04:37 -07:00
Josh Bodner
2edc81ee2d Attempt to restore formatting of randomizer.cpp 2022-07-21 11:03:28 -07:00
Christopher Leggett
21c585b2ce
Removes randomizer_custom_messages, as I relocated its logic elsewhere. 2022-07-21 13:10:04 -04:00
Christopher Leggett
b5dc097587
Cleanup and move most hint logic to CustomMessage.
Haven't removed where rando stores the hints for itself and the ganon and altar hints are still pulled from the randomizer class' local storage, but gossip stone hints are pulled from the custom message table now.
2022-07-21 13:05:15 -04:00
Josh Bodner
cddca2700a Move Child Zelda spoiler write out of for loop so it's not repeatedly hit 2022-07-20 23:08:57 -07:00
Josh Bodner
17b3f65276 Fix the issue for real 2022-07-20 22:57:18 -07:00
Josh Bodner
75a4d2cf99 Actually use the same strings everywhere lol 2022-07-20 21:50:55 -07:00
Josh Bodner
795ee54f2b Remove use of std::format since Jenkins doesn't like it 2022-07-20 21:44:32 -07:00
Josh Bodner
3633bdeeaf Fix Child Zelda Skip rando setting always on 2022-07-20 19:57:38 -07:00
Christopher Leggett
c5f66373c3
Adds ability to store and retrieve textbox size and position. 2022-07-19 22:51:39 -04:00
Christopher Leggett
2d1aa1d13a
Merge in develop-zhora 2022-07-19 20:28:21 -04:00
Christopher Leggett
32abe61554
Implements a basic CreateMessage function for non-GetItem text. 2022-07-19 00:31:37 -04:00
PurpleHato
235cef6abf
FIX: RetrictItem SunSong issue (#839)
Thanks @vaguerant
2022-07-18 22:47:37 -04:00
MelonSpeedruns
e871b53afc
Free cam collision v2 (#836) 2022-07-18 22:47:23 -04:00
Andrew Van Caem
edfa369639
Add yShift position when displaying the positions of cylinders (#823) 2022-07-18 19:31:52 -04:00
Christopher Leggett
169f757954
Fixes ice trap chests to have short chest animations (#817) 2022-07-18 19:31:04 -04:00
David Chavez
4745f73655
[macOS] Bring support down to macOS 10.15 (#816)
* Pull out CC and CXX flags

* Set minimum deployment target

* Update version to 3.0.0
2022-07-18 19:30:29 -04:00
GaryOderNichts
660897ff63
Avoid UB on ocarinaAction shifts (#809) 2022-07-18 19:29:24 -04:00
PurpleHato
9118788149
ADD: SaveEditor Edit current D-Pad Item (#799)
* ADD: Dapd on "current Dpad equip

* TWEAK: Spelling

* TWEAK: Shows it only if gDpadEquips is enable

* TWEAK: Forgot one "D-pad"

* TWEAK: Spacing
2022-07-18 19:24:56 -04:00
briaguya
9e8335c1f0
fix non-rando non-3d-drops small key crash (#789)
Co-authored-by: briaguya <briaguya@alice>
2022-07-18 19:22:12 -04:00
briaguya
d45968270a
Address rando pr comments (#742)
* prefix randomizer methods with Randomizer_

* make filename a local var

* remove unused file, update malon to use new names

* move randomizertypes to randomizer directory

* rename to Randomizer_GetSettingValue

Co-authored-by: briaguya <briaguya@alice>
2022-07-18 19:20:07 -04:00
Christopher Leggett
e04b2c80b6
Implements the custom text for gInjectSkulltulaCount.
Also auto-dissmisses the textbox when gSkulltulaFreeze is on. When gInjectSkulltulaCount is off, text is not auto-dismissed just like before, since that is base game text still.
2022-07-17 22:02:22 -04:00
Christopher Leggett
1ed45e1433
Implements adding message tables and retrieving by an ID.
Basically, some external code can choos a unique id and create a message table for itself. The idea is that modders can hook into this as well so they can get their own message table and don't have to worry about conflicting with the base game's textIDs. I have also implemented this setup for Randomizer so that the pre-filled bottles (which didn't exist in the original outside of Ruto's letter) have unique text as compared to the text for the item they are filled with.
2022-07-17 21:03:32 -04:00
Christopher Leggett
ee1270f346
more cleanup 2022-07-17 15:29:02 -04:00
Christopher Leggett
98c771cf2c
Simplifies the function signature of CustomMessage_RetrieveIfExists. 2022-07-17 15:11:16 -04:00
Christopher Leggett
69d2b5b3a3
Implements function to return custom message if one exists.
`CustomMessage_RetrieveIfExists` is placed at the very beginning of the z_message_PAL.c `Message_OpenText` if statement after any special changes to textIds are made. This function will either return either true or false and if true it will populate the necessary values of font and msgCtx to display said message. It's placement at the beginning also allows for overriding existing textIds to have new information, which will come in handy later.
2022-07-17 15:02:08 -04:00
Christopher Leggett
f57a912ca1
Does some cleanup of unecessary code and cases of no string provided. 2022-07-17 13:31:38 -04:00
Christopher Leggett
4eaf70b859
Refactors CustomMessages to not be rando specific.
Pulls the Custom Message related code out into it's own class, which has an initialization phase where other enhancements / future features can create messages during an initialization phase to be stored and retrieved later. Along with this refactoring, the 4 bottle messages from the previous rando-specific system are now created and stored during intialization and retrieved by their getItemId.

Now that it isn't rando specific, the goal is to move anything text changes that are hard-coded into z_message_PAL.c and refactor it so that future text additions/overrides can be done without modifying that file.
2022-07-17 12:34:56 -04:00
Christopher Leggett
3f2111a3e6
Adds text for Bottle with Blue Fire as a demo. 2022-07-15 19:48:49 -04:00
Christopher Leggett
1165e70434
Merge branch 'develop' of https://github.com/HarbourMasters/Shipwright into rando-custom-messages 2022-07-15 19:18:45 -04:00
M4xw
93bea4c151 git subrepo push soh
subrepo:
  subdir:   "soh"
  merged:   "75ccbade8"
upstream:
  origin:   "https://github.com/HarbourMasters/soh.git"
  branch:   "master"
  commit:   "75ccbade8"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2022-07-14 20:47:48 -04:00
Christopher Leggett
46df17e29f
Added an extra helper function and removed instant text control code from ITEM_OBTAINED 2022-07-14 11:17:43 -04:00
Christopher Leggett
9c57ed6642
Merge branch 'develop' of https://github.com/HarbourMasters/Shipwright into rando-custom-messages 2022-07-14 10:06:05 -04:00
Kenix3
16f52c03b9 Merge branch 'develop' of https://github.com/HarbourMasters/Shipwright into develop 2022-07-14 01:35:52 -04:00
David Chavez
1ed58c4a99
Fix migration cvar deletion path (#765) 2022-07-14 01:19:40 -04:00
Christopher Leggett
cd096ce5e9
Fixes newline function to return correct character. 2022-07-14 00:56:47 -04:00
agamache
06338d864f
Fixes macOS randomizer functionality with App Directory (#761)
* Fixes macOS randomizer functionality with App Directory

* Fix windows build

* Update soh/soh/Enhancements/randomizer/3drando/rando_main.cpp

* Update soh/soh/Enhancements/randomizer/3drando/spoiler_log.cpp

* Revert band-aid fix

Co-authored-by: Kenix3 <kenixwhisperwind@gmail.com>
2022-07-14 00:56:29 -04:00
Christopher Leggett
0ae5c4c0f2
Merge branch 'develop' of https://github.com/HarbourMasters/Shipwright into rando-custom-messages 2022-07-14 00:42:00 -04:00
Christopher Leggett
a81ecfcfcc
Renames the separated custom messages files to prevent conflict. 2022-07-14 00:41:04 -04:00
Kenix3
31511af130 Enough! My ship sails in the morning. 2022-07-13 23:41:22 -04:00
Christopher Leggett
d9277530a2
Refactors custom message code to its own file 2022-07-13 23:35:45 -04:00
KiritoDev
219804cbe4
Controller Configuration UI and JSON Config (#760)
* Initial controller hud ui

* Reverted fbdemo changes

* Moved config to json and implemented controller config

* fix build on linux, gitignore new config file

* fix build

* Fix compilation and file directory paths

* Call save on cvar save

* Fixed cvar loading and added deck slots to the config

* Changed control deck port 0 to use a physical device by default

* Added gyro and rumble & fixed loading errors

* Save config on toggle menubar

* fix linux build

* Fixed drift calculation

* Controller config now saves when pressing F1

* Removed ExitGame hook from ImGuiImpl

* Moved mappings to a map

* Added GetKeyName

* untranslate scancodes

* Fixed hud layout on keyboard device

* Fixed keyboard read on hud

* Fixed crash when reloading controllers

* Removed ConfigFile and changed file extension

* Changed Dummy to Disconnected and fixed filters

* Removed function leftover

* Changed ControllerHud to InputEditor

Co-authored-by: briaguya <briaguya@alice>
Co-authored-by: David Chavez <david@dcvz.io>
2022-07-13 23:12:11 -04:00
briaguya
cb6876792e
don't spawn blocking mido after we've already shown him the sword/shield (#675)
Co-authored-by: briaguya <briaguya@alice>
2022-07-13 22:04:48 -04:00
aMannus
f7db8868d0
Skip warp song cutscenes in rando (#664)
Does it by skipping to the last part of the cutscene data. Tested on all songs, both adult and child.
2022-07-13 22:04:19 -04:00
Nicholas Estelami
379649bead Fixed soundfont issues 2022-07-13 21:36:19 -04:00
Christopher Leggett
14a87f83b3
Makes sure custom get item textboxes match.
Specifically, they are all bottom of the screen and blue.
2022-07-13 21:24:20 -04:00
Christopher Leggett
e9ba8f734f
Early version of custom messages. 2022-07-13 20:35:42 -04:00
ChristopherJTrent
248f49b3bf Update Keese labels 2022-07-13 19:39:44 -04:00
Baoulettes
2b72b10356 .xiF slebaL 2022-07-13 19:39:25 -04:00
Christopher Leggett
7c6d8a6b9c
Fixes Maps, Compasses, and Boss Keys in Vanilla. (#751) 2022-07-13 19:38:25 -04:00
earthcrafterman
4d65a5ff73
Split damage multiplication into its own PR (#656)
* Split damage multiplication into its own PR

* Found a more elegant implementation of the powers char*[]
2022-07-13 00:24:05 -04:00
David Chavez
7b04f67884
Introduce App Directory Path (#572)
* Introduce app directory path concept

* macos: Remove hacky way of using applicaiton directory

* Update the new SaveManager

* Address stack user after return

* Remove unecessary property

* Use std::string for filepath

* Improve clang specific detections

* Use new path system for imgui files

* Improve helper for getting relative paths
2022-07-13 00:19:07 -04:00
vaguerant
97ad234c8c
Hide debug overlay behind gDebugEnabled (#660) 2022-07-12 23:58:24 -04:00
aMannus
2159c006fc
Rando: GtG and carpenter prompts skip (#663)
* Skip gtg and carpenter prompt

For rando. Tested and just works.

* Fixed missing break
2022-07-12 18:57:02 -04:00
aMannus
c9fdf8a480
Fix Rando Water Temple Softlock (#665)
We use 3DS logic to generate item placement, but didn't have this specific door in Water Temple unlocked from the beginning like 3DS does.

This meant that if people took specific paths through the temple, they could softlock themselves by missing a key.
2022-07-12 18:55:01 -04:00
Christopher Leggett
3de58774ba
Rando: Allows Malon's Item Check to be obtained by pulling out the Ocarina. [FIXED PR] (#672)
* Fixes using the Ocarina to get the check from Malon.

Still some cleanup to do here. For some reason the player can shield before receiving the check. It doesn't set the flag if the player does that so they can still try again, but would prefer a different solution if possible.

* Prevents Shielding from blocking the Item_Give from happening.

* Code Cleanup and comments explaining the new rando flow.

* Removes inventory check when pulling out Ocarina

This allows OI to properly give the check, which is important for Glitched logic later down the line. Talking to Malon still requires the Ocarina in your inventory.

* Prevents non-malon textboxes from triggering the check.

Also adds a comment explaining the condtional for getting the check from talking to Malon since it got pretty long.

* Actually fixes checking for text boxes.

* Relocates a comment for improved clarity.
2022-07-12 18:50:46 -04:00
MelonSpeedruns
66ec623542
Free Camera (#337)
* wip free cam

* Almost done, needs collision still

* Added free cam behind cvar

* added WIP collision

* Fixed & implemented "Manual mode" from WW & TP

* Fixed camera not rotating when Link is moving

* fixed initialized camera rotation

* Fixed camera getting stuck + made it smoother

* reduced deadzone

* fixed epona camera height + added WW z-target free camera

* Adjusted player camera height & fixed fov

* Fixed camera roll

* fixed fov when moving the camera while in z-target

* Camera resets to Auto when going through doors or changing maps

* Fixed building

* touch

* more touch work

* Added WIP mouse support to the free cam

* gui stuff

* fixed building

* fixed building error

* ok fixed building for real this time

* oops

* Fix compilation issues

* removed mouse stuff that magically appeared in this branch

* smoothed out stick values & removed remains of mouse support

* re-added manual camera when pressing Z

* reduced minimum Y position of camera

* Addressed dcsv's nitpicks

* part 2

* oops

Co-authored-by: David Chavez <david@dcvz.io>
2022-07-12 18:40:18 -04:00
Nicholas Estelami
3aa93b9855
Removed legacy audio mode and fixed ganon sound bug (#657) 2022-07-11 22:37:39 -04:00
briaguya
eab3b5bd7f
add descriptive todo for death crash bandaid (#655)
Co-authored-by: briaguya <briaguya@alice>
2022-07-11 21:58:31 -04:00
Baoulettes
37bf9b36ad
Cosmetics hotfixes (#640)
* Initial branch creation

* Revert Main Game so it do not conflict later

* should fix window build, made namespace for Cosmetics

* forgot to edit one title

* Ability to add hidden window (usefull for Rainbow)
Fix building issues

* Line break, unused bool remove
2022-07-11 21:33:48 -04:00
briaguya
c25089b98f
testing out item replacement (#416)
* skip learning song of storms

* don't set flag when getting goron tunic as child

* Initiates prelude check when master sword unloads.

Not quite how N64 rando does it but so far it's the only way I've found to make it trigger without also triggering the time travel again.

* Stops Shadow Temple lore prompts from appearing in rando.

* Skips cutscene of royal tomb explosion in rando.

Explosion sound doesn't play correctly and I think the debris appears in the wrong place, but the functionality is here.

* Improves visual of exploding gravestone.

* Adds some comments explaining the rando differences

* Skip ruto text box in jabu blue warp

For rando

* skip intro cutscene in dodongo's cavern

* load spoiler files on boot, fix spoilerfile existing check when making new saves

* name entry dropped spoiler logic

* make sure to actually init the cvar

* no chime on load

* uncomment

* Skip ganondrof cutscene

Skip to scream part of the death animation, skipping the text boxes etc. For rando

* Update z_boss_ganondrof.c

* skip owl flight cutscenes in rando

* Fixes skipped text so it only applies to shadow temple.

Earlier fix inadvertently applied to some other text as well, changed logic so that only specified sceneNums and textIds can have this enabled, and text skipped by sceneNum can have the skip overriden by textId if needed. Currently there are no overrides so the textId section of the logic is commented out to avoid compilation errors.

* Adds a default to the switch case statements that leaves the randoSkipText variable unchanged, just in case.

* TEST: Text for item

* Adding ganon flavor text

* ADD: AMMO Count

* format ganon text/hint text

* Autoskip the tower cutscene if settings call for tower collapse.

* ganon hint text logic

* Improved prelude after time travel fix

* swapped the sizes between ganon hint text and ganon text, as they were set to the wrong things.

* this is all i did

* not the cleanest code ever but it's working

* ADD: GS Count

* ADD: Wallter (crash for now)

* TWEAK: Wallet check

* FIX: Use DrawItem instread of DrawUpgrade... b-baka!

* Fixes some vanilla bugs introduced by rando code.

* Added cutscene skip for zelda escaping

Using the debug cutscene skipping function. Also added a conditional so the bridge doesn't spawn closed when cutscene is ready to trigger

* ADD: X Spacing + Placeholders for song

* ADD: default case for items

* TWEAK: Spacing

* FIX: Light Arrow

* ADD: Ammo Option

* use groups instead

* ADD: More spacing logic

* songs and names

* TWEAK: Color on wallet

* colors

* Added flags cutscene before nabooru fight

* ADD: ChromaKey text

* First attempt skip cs after nabooru defeat

* Better implementation for specific rando cutscene skips

* use pulseaudio defaults

* spaces/tabs

* move color push/pop to stop crash

* make the colors work again

* the real bottle fix

* pulseaudio values tuned for n64 audio at 44.1khz

* update tlength

* remove one hardcoded samplerate

* Cleaned up and fixed zelda escape skip

The if statement is a freaking monster, but unless we want to skip more cutscenes in the same way later, this is the most compact way of doing it that I know of.

* Revert one line to match original

nothing functional

* another hint line that breaks autonewline logic

* don't autospawn epona if we don't have the song/ocarina

* Trying to use iron knuckle death effects

not working yet

* Streamlined OoT cutscene skip for future additions

Also cleaned up if statement in general

* Made if statement more readable

Also added clarity for what cutscene was skipped

* Fixed typo in comment

* Janky nabooru defeat cs skip

* altar text formatting (gonna need help shortening some of the french ones)

* more altar text formatting

* english altar text formatting complete

* make gtg blocking guard check for card not bridge

* FIX: Typo!

* FIX: Uppercases

* FIX: Typo

* TWEAK: Alter + some names

* TWEAK: More caps!

* ADD: Missing string

TWEAK more uppercases and namefixe
s

* Hide nabooru death by covering her in flames

* bandaid fix for death crash issue

* Twinrova defeat cs skip

Skips the animation and manually calls the function to show the "beam" around the sisters

* fix crash

* fix caps to match

* fix great fairy reward mashing/shielding issue

* TWEAK : Typo clé to Clé

* TWEAK: Some Altar hints

TWEAK: Some capitals

* TWEAK: Unmatching text + some cap again

* TWEAK: More tweaks

* fix build

* remove extra json.hpp, add hint

* Update randomizer_item_tracker.cpp

* TWEAK: Double Defense with RedParticles instead of white

* make sure we don't optimize out the check to ensure a spoilerfile exists

* vanilla ganon boss key hint formatting

* TWEAK: FR- better way of the hero text

* fix

* and again

* Initializes dungeonsDone items in gSaveContext to 0.

* Replaces sizeof calculation with a NUM_DUNGEONS constant.

* Fixes Saria's Gift on the LW Bridge from getting killed when holding shield.

* More airtight fix for Saria's Gift on the Bridge.

* Lifts one of the conditions in the if statement a little higher to prevent unnecessary lookups of getItemId.

* Invalidate text box icon before drawing

* Fixes the case where Saria's gift is an Ice Trap.

We still get the Ice Trap once, but never again. This does mean you can now hold R while walking in to avoid the ice trap, but everything else seems to work fine.

* Initial commit

Might need changing when we change the settings in the future

* Fixes Door of Time opening cutscene after warping with prelude.

* Initial waterfall skip

Very rudimentary way of doing things but it seems to work so 🤷

* inital rework

* fixed default rotation for 2D sprites

* fix tab/space issues

* 3d drops rando merge fix again

* Allows Impa to appear in the Lullaby check post drawbridge escape.

* Changes Ganon's Trials Count setting to a checkbox

The checkbox is whether or not to skip all of them. Leaving the box unchecked will mean doing all of them. Eventually this will be switched back to a slider once we implement the logic for which trials start out completed.

* Sets all Ganon's Trials to incomplete in new saves.

Fixes https://github.com/briaguya-ai/rando-issue-tracker/issues/131

* fix castle guards when oot throw cutscene has already played in rando

* Properly removes the beams when trials are cleared.

* Removes Question Mark from Skip Ganon's Trials UI.

* Adds a todo comment about when to change back to slider.

* make deku seeds check for bullet bag

* Various tweaks

TWEAK: Altar Text
TWEAK: Hint names
TWEAK: Replace more problematic œ to oe

* upgrade ocarina on both child and adult equips

* FIX: Jabu Item

* update equipped hookshot/longshot when obtained as other age

* add hint

* don't give the bgs check without the claim check

* Skips Darunia Cutscene in Fire Temple

* Added a TODO note about not skipping the cutscene.

There is a setting we will want to have eventually that will require this cutscene to not be skipped since it is used during a glitch.

* remove todo

* restore fast ocarina option in imgui that was lost in merge

* Fixes grey screen issue + tooltip for 2 handed shield

* update to use dg instead of g for textures in item tracker

* TWEAK: Default color for cosmetic RAND button was not the corect one

* fix texture crash, remove unused item tracker code

* don't open mask shop until we get zelda's letter

* Update README.md

* Prevents "correct" chime under incorrect conditions.

* Fixes typo in conditional and adds "bonk" sound effect.

"Bonk" sound is NA_SE_SY_OCARINA_ERROR and it plays when conditions for the Door of Time have not been met after playing Song of Time. This is only possible in rando's "Intended" Door of Time option, in which the Ocarina of Time and all 3 spritual stones are required to open the door, instead of the vanilla requirements of just having the song of time.

* remove modify dpad equips toggle, replace with checks for dpad menu

* remove extra check

* add ability to hold c-up to assign to dpad when dpad menuing is enabled

* disable d-pad navigation on item menu when holding c-up to equip

* dpad+c-up stuff for equipment menu

* ADD: Checbox for songs colors

* TWEAK: RandoColors for normal songs

* kind of quick and dirty but it works

* TWEAK: Clarity of the tooltip

Co-authored-by: briaguya <briaguya@alice>
Co-authored-by: Christopher Leggett <chris@leggett.dev>
Co-authored-by: aMannus <mannusmenting@gmail.com>
Co-authored-by: PurpleHato <linkvssangoku.jr@gmail.com>
Co-authored-by: Dog <5172592+Dog@users.noreply.github.com>
Co-authored-by: Vague Rant <vaguerant@users.noreply.github.com>
Co-authored-by: Baoulettes <perlouzerie@hotmail.fr>
Co-authored-by: Ada <60364512+GreatArgorath@users.noreply.github.com>
2022-07-11 20:11:07 -04:00
Kenix3
6b50b50a6c
Fixes crash on Biggoron trade failure screen wipe
Resolves #621
2022-07-11 00:20:03 -04:00
louist103
a7c94bba8c
add the ability to pull graves during the day (#637) 2022-07-10 21:42:35 -04:00
Christopher Leggett
4ccc2bb12f
Fixes Barinade's set whenever boss fight is reloaded (#639)
* Reimplements unused Barinade reset function.

* Removes the Jellyfish from Barinade's body on reset.
2022-07-10 21:40:57 -04:00
Sirius902
e04bc6037e Fix develop 2022-07-10 16:06:52 -04:00
Jeffrey Crowell
d4c1c40c1d
add support for clang compiler (#592)
* hacks to align strings for clang... wow just wow

* start work to getting built with clang

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

* fix some narrowing issues that clang complains about

* fix compliation of zapd

* fix null deref in VersionInfo

* builds with clang

* make stringbuilding use StringHelper instead of addition

* fix linking

* add CLANG SHIP overlay on clang built versions

* doesn't need to be volatile

* mark unknown strings as extern

* rename some stuff

* can't align extern

* hopefully fix compilation for everythign

* expandtab

* allow setting LD

* Revert "allow setting LD"

This reverts commit 711aba6db2.

maybe to use lld it should be a LDFLAG?

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

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

* Add jenkins support for clang

* Forward CXX flags to stormlib compilation

* Move GCC only flags to check

* use exports to set multiarch setup

* Fix Jenkins forever

* use make instead of cmake --build

add some flags to build with clang-11 as well

* address review coments

- rework extraction to allow multi thread
- misc readability cleanup

* update makefile to add WARN on linux+clang

Co-authored-by: David Chavez <david@dcvz.io>
2022-07-10 10:51:12 -04:00
Sirius902
89e07f8dbb
Dodongo's Cavern blue warp crash fix (#622)
* Doodong's Cavern blue warp crash fix

* >= not >

* Don't waste a line of space
2022-07-10 09:30:19 -04:00
Baoulettes
d1a2f98524
New drops shadows & rotation fixes (#627)
* fixes

* forgot to add heart pieces in rotation logic
2022-07-09 20:38:59 -04:00
Sirius902
42383a1fe1
Equipment upgrade text fix and any pause slot enhancement fix (#620)
* Fix upgrade name text not rendering

* Use cvar and don't render equip help for empty item slots

* Fix rendering logic

* Fix incorrect item name rendered for one frame

* Reorder comparison

* Remove extra indent

* Remove accidental changes
2022-07-08 23:06:11 -04:00
Sirius902
4371b58223
Fix 0xabababab crash (#617)
* Unconditionally setup the normal skybox

* Only call Skybox_Setup once ever
2022-07-08 17:39:50 -04:00
Sirius902
ee184b5a51
Checkered room crash workaround (#615)
* Increase poly and vertex count for dyna actors

* Add TODO

* Only apply fix in Forest Temple

* Enable globally
2022-07-07 22:21:14 -04:00
vaguerant
a1f92d76ab
Fix Ganon's Castle title cards (#606) 2022-07-07 22:19:41 -04:00
Baoulettes
60e713855a
New drop runtime fix (#614)
* inital rework

* fixed default rotation for 2D sprites

* fix tab/space issues
2022-07-07 22:19:08 -04:00
vaguerant
1c9195373d
Invalidate text box icon before drawing (#607) 2022-07-07 22:18:11 -04:00
Baoulettes
c78d2828a7
King dodongo room crash (#613)
* first attempt

* force camera setting to be at least 0 (dirty!)

* -

* reverted something to just include fix
2022-07-07 22:17:57 -04:00
Kenix3
4515fac467
Fixes bug in demo effect due to removed display list set. 2022-07-07 22:17:20 -04:00
Baoulettes
260669f981
Cosmetics texts fixes (#604)
* branch init + few fixes

* Reset button

* Several texts fixes and default color to GameCube

* space issues

* some more extra space that was not needed.

* space yes last time ...

* Arrows being able to be rainbow some more texts fixes

* more texts fixes

* c-buttons some plurial fix
2022-07-06 19:50:59 -04:00
Sirius902
e8bfa61fc2
Add N64 weird frames and OOB Bombchus cvars (#602)
* Add gN64WeirdFrames and gBombchuOOB cvars

* Rename gBombchuOOB to gBombchusOOB

* Fix pipeline
2022-07-06 18:46:01 -04:00
Baoulettes
a2d64864dd
Cosmetics menu rework (#589)
* -

* DPad/some margin fix(left side)

* various ImGui stuff and fixes

* disabled kaleido menu (non working)

* fix win being dumb

* same for C btn this time

* Fix windows build

* Beating hearts fix

* Default win size and some placement fix

* Fix Dpad Ammo & C notes, Kaleido, white dog

* some texts fix and tab move

* Add stone of agony, some fixes and build correctly

* precise item place with Dpad

* Gamecube -> GameCube

Co-authored-by: Baoulettes <iMacWin10>
2022-07-05 20:52:01 -04:00
Baoulettes
2fbdd056ed
3D Drops & Projectiles update (#548)
* Fix remaining rupee and keys

* fix tabs -> spaces

* more fix about tabs -> spaces

* Better up <-> down mouvement for hearts

* remove useless comment
2022-07-05 20:46:21 -04:00
earthcrafterman
306cfd0654
Restoration Item Sliders (#595)
* Allows players to set custom restoration values for potions and milk

* Fixed a dumb oversight

* implemented fairy sliders
2022-07-05 19:34:33 -04:00
vaguerant
0b7137b8b0
Cheat: Infinite Epona Boost (#577)
* Cheat: Infinite Epona Boost

* Edit for readability
2022-07-05 19:30:17 -04:00
vaguerant
f865db5444
MM Bunny Hood enhancements: no age restrictions & wear across entrances (#560)
* Remove age restriction on MM Bunny Hood

* Handle mask slot changing; init Link wearing mask

* Reset mask state after selling
2022-07-05 19:29:43 -04:00
Baoulettes
a5df9dddf0
Use Macro for __FILE__ & __LINE__ when possible (#559)
* First batch some overlay

* Almost all overlay

* effect & gamestate

* kaleido stuffs

* more overlay

* more left over from code folder

* remaining hardcoded line and file

* Open & Close _DISP __FILE__ & __LINE__ clean up

* Some if (1) {} remove

* LOG_xxxx __FILE__ , __LINE__ cleaned

* ASSERT macro __FILE__ __LINE__

* mtx without line/file in functions

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

* LogUtils as macro

* GameState_, GameAlloc_, SystemArena_ & ZeldaArena_

* Revert "GameState_, GameAlloc_, SystemArena_ & ZeldaArena_"

This reverts commit 0d85caaf7e.

* Like last commit but as macro

* Fix matrix not using macros

* use function not macro

* DebugArena_* functions
GameAlloc_MallocDebug
BgCheck_PosErrorCheck as macros
removed issues with ; in macro file
2022-07-05 19:29:34 -04:00
briaguya
e5b59742ae change sunset in save editor so dampe is out 2022-07-04 10:53:12 -04:00
louist103
e7c2aff97e Fix audio, boot commands, and save staes. 2022-07-04 10:44:31 -04:00
rozlette
668f9bee10 Fix testing masks of DPad 2022-07-04 10:44:10 -04:00
earthcrafterman
818d5f90a8
Add toggles for disabling heart drops and random drops (#507)
* Adds toggles for disabling random drops and fixed heart drops

* Changed the "No Fixed Heart Drops" toggle to the more useful "No Random Heart Drops" toggle

* Adds an explanation that the no heart drops option is similar to Hero Mode

* Moved difficulty options into their own sub-menu
Moved time saver options into their own sub-menu
Moved clutter reducing options into their own sub-menu

* fixed the tag name of mweep speed

* Moved Skip Text to Experimental
2022-07-04 10:42:43 -04:00
rozlette
d63c0077ee Add more files 2022-06-27 23:17:37 -04:00
rozlette
39a50a406b Update names 2022-06-27 23:17:37 -04:00
vaguerant
82f790d082 Change Power to Upgrades 2022-06-27 23:17:16 -04:00
vaguerant
a58ddd4f55 Map Select name fixes 2022-06-27 23:17:16 -04:00
rozlette
447e68a659 Fixed some instances where the original OOT save is erroneously preserved or recreated, leading to another conversion next time you launched the game 2022-06-26 12:08:39 -04:00
rozlette
0f84682bc0 Add margins for dpad 2022-06-26 12:06:31 -04:00
rozlette
284a7fba95 Invalidate message item icon texture before drawing 2022-06-26 12:06:19 -04:00
rozlette
b96bd4ea9d Fix title cards for market potion shop and bombchu shop 2022-06-26 12:06:04 -04:00
rozlette
8535568f53 Fix ability to assign equipment you don't own 2022-06-26 12:05:28 -04:00
Christopher Leggett
1f1de82bb8 casts jya_cobra's shadowTexture pointer to uintptr_t instead of s32. 2022-06-25 11:00:56 -04:00
PurpleHato
0fc75bb873 FIX: Increased the maximum actor limit for draw distance
Fix issue #529
2022-06-23 20:10:39 -04:00
rozlette
375932f43b Move UI location arrays from static to global to accomodate customizable UI 2022-06-22 23:13:32 -04:00
rozlette
fd06827e2b DPad items 2022-06-22 23:13:32 -04:00
David Chavez
e42b18cf71
Add Support for macOS (#441)
* Fixed soh filters

* add more makefile changes

* almost ready

* more updates

* update

* update

* Update Makefiles to handle both platforms

* Allow for overriding the CXX and CC executables

* Restore original structure while supporting custom CXX flags

* Remove some platform specific libs

* Dynamic target name

* Make X11 paths package-agnostic

* Remove changes to `gfx_opengl.cpp`

* Use OpenGL2 on MacOS instead of OpenGL3

* make it actually render something

* render at least the first texture, still need to figure out the second
one

* Let’s use OpenGL 3 again

* maybe this works to get the right texture? link's eyes still look off a bit

* did this work?

* set the platform to macos

* actual numbers are right, but logic is ugly XXX/TODO, i know

* add zlib to ldflags for ZAPDUtils

* A bit of cleanup

* Revert unneeded changes

* Remove GL_CHECK

* Fix issues with z64 branch

* use an std::map instead of a giant array

* three point filter fix (#2)

* Fix mac compilation

* fix audio for 64 bit

* revert audio heap size, keep bigger pools

* Add more Apple specific checks to our modifications

* Add building instructions for macOS

* Remove unecessary step from building instructions

* Add missing SDL2 & GLEW to Linux LDLIBS

* Update BUILDING.md

Co-authored-by: BountyChocolate123456 <101743444+BountyChocolate123456@users.noreply.github.com>

* Update soh/.gitignore to include other arch binaries

Co-authored-by: BountyChocolate123456 <101743444+BountyChocolate123456@users.noreply.github.com>

* Use right platform name for debugging window

Co-authored-by: BountyChocolate123456 <101743444+BountyChocolate123456@users.noreply.github.com>

* Fix stormlib on macos (arm64)

* Simplify some of the ifdef checks

* Revert an older no longer necessary fix

* Remove remaining unecessary deviations

* Update building instructions after StormLib changes

* Feature: Use OpenGL 4.1 (#1)

* Further tweak the BUILDING

* Tidy up

* reword -j message

* Add Jenkins CI Support (#2)

* Fix type issues

* add target <appbundle> and <filledappbundle>

add makefile targets to create an .app
`filledappbundle` creates the target with the .otr included

this should perhaps be moved to Application Support though

* pull gcc's rpath from otool output

* move make target to the end so it's not default

* Add Jenkins and make exe in par with other platforms

* Actually save build artefacts

* Fix artefact path

* Remove x11 mentions and linking (not used)

* Update building instructions for generating app

* use appsupport directory

* Add new app icon

* Update target to match macOS types

* Update more audio types

* fix null deref in Audio_PlayFanfare

* Remove old import from z64

* address final nit with apple ifdefs

Co-authored-by: KiritoDev <36680385+KiritoDv@users.noreply.github.com>
Co-authored-by: Jeffrey Crowell <github@crowell.biz>
Co-authored-by: BountyChocolate123456 <101743444+BountyChocolate123456@users.noreply.github.com>
2022-06-22 14:59:21 -04:00
vaguerant
77e7080a8c
Two-hand shield cheat fix: use 1-handed reflect anim (#504) 2022-06-21 22:27:13 -04:00
Kenix3
77fc202694
Merge pull request #413 from Baoulettes/3DProjectiles
[Mod]Enable 3D Projectiles for monsters
2022-06-21 22:24:29 -04:00
Kenix3
d3436fc1e4
Merge pull request #362 from GreatArgorath/ShortBiggoron
Adds option for shorter Biggoron quest
2022-06-21 22:22:41 -04:00
Kenix3
1435b5d314
Merge branch 'develop' into zelda64 2022-06-21 19:27:46 -04:00
Vague Rant
abcf713cc1 Fix Anubis fireballs 2022-06-21 14:44:35 -04:00
louist103
5bf4128add Add all slots 2022-06-21 14:31:28 -04:00
Baoulettes
53fc151453
Update soh/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c
Thanks I overlooked it :)

Co-authored-by: BountyChocolate123456 <101743444+BountyChocolate123456@users.noreply.github.com>
2022-06-20 22:33:31 +02:00
Baoulettes
14df96eacd
Merge branch 'develop' into 3DProjectiles 2022-06-20 22:32:45 +02:00
Kenix3
a7ed748973
Update soh/src/code/audio_load.c 2022-06-20 16:03:03 -04:00
Kevin Alexis Contreras
43503ead83 Fixed audio_heap_size 2022-06-20 13:04:01 -05:00
Ian Drake
39d8b77b02
Added save filename and path to config file (#130)
* Added save filename and path to config file

Closes #110

* Moved FileIO to libultraship

* Moved OOT Specific Code to OTRGlobals and made libultraship for general file IO. Combined config options.

* Moved filesystem include into GlobalCtx2.h
2022-06-20 13:54:44 -04:00
earthcrafterman
36b9b9519d
Added three sliders for multiplying damage (#478)
* Added three sliders for multiplying damage:
1) Generic Slider, includes everything not multiplied by other sliders
2) Fall Damage Slider, includes all fall damage
3) Void Damage Slider, includes all void out damage

* Included tooltips

* Modified func_80837B18 to handle the modified flag the same as Player_InflictDamage does

* hotfix of a dumb oversight

* Fixed an oversight that led to compile failure on Linux and probably more things that weren't noticeable in unit testing

* I keep missing dumb mistakes.
I keep missing dumb mistakes.
Is this the last dumb mistake I've missed?

* Oh crud it's because I declared func_80837B18_modified after func_80837B18 isn't it? I am the ultimate dumbus.
2022-06-20 13:51:59 -04:00
vaguerant
7d0af303ec
Fix grayscale Biggoron's Sword (#485) 2022-06-20 13:50:57 -04:00
PurpleHato
5549ad9388
TWEAK: Kokiri Draw distance V2 (#486)
* ADD: Saria's logic

* TWEAK: Kokiri Draw Distance change doesn't need a reload anymore

* ADD: Mido's logic
2022-06-20 13:50:32 -04:00
ajanhallinta
950f954c89
Minor Actor Viewer tweaks and fixes (#491)
* Show new Actor description, fix window opening

* Play error sound when spawning invalid actor

* Add reset button, don't reset actor when changing scene
2022-06-20 13:50:23 -04:00
vaguerant
b56426a67d
Skip first-time pickup messages for consumable items (#495) 2022-06-20 13:50:06 -04:00
Ada
45cb350b7a
Merge branch 'develop' into ShortBiggoron 2022-06-20 18:45:35 +01:00
Rozelette
b4eebbbcd6
Versioned saves (#423)
* v1

* Cleanup

* Cleanup

* cleanup

* Organization

* Fixes

* Fix typos

* fixup merge

* use gLanguages

* Restore n64dd

* Fix bad merge

* Set ddflag
2022-06-20 13:41:43 -04:00
louist103
73ff7ef3da
Guard vision (#466)
* Vision

* Wrap it in a CVAR

* Cleanup the code and fix a savestate bug
2022-06-20 13:39:06 -04:00
David Chavez
a142d94c36
Extract StormLib building from soh to ZAPDTR (#505)
* Extract StormLib building from soh to ZAPDTR

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

* Do not import storm as a relative
2022-06-20 13:38:08 -04:00
Kevin Alexis Contreras
4e75488567 Removed ifdefs for audio heap sizes 2022-06-20 12:33:38 -05:00