Commit Graph

108 Commits

Author SHA1 Message Date
briaguya facd1723f8
don't use signed ints for epochs (#1044)
Co-authored-by: briaguya <briaguya@alice>
2022-08-04 17:32:23 -04:00
Kenix3 0f7a88bd5a
This should fix (all?) 60fps interpolation issues left. (#938)
* This should fix (all?) 60fps interpolation issues left.

Resolves #631 #917

* Update z_fishing.c

* Re-adds Emil's interpolation in certain places.

* move open/close disps out of if statments checking timer based vars, revert fishing to use recordopen/closed child

* move disps out of ifs for morpha

* use recordopen/recordclose for volv

* recordopen/recordclose for ganondorf

* switch back to recordopen/recordclose for ganondorf floor

* Frame interpolation now uses a 64bit parameter rather than 32.

* More 60fps fixes

* Fix close child typo

* add todo calls to recordopen/recordclose

* fix build

* revert long long frame interpolation

* add some epochs

* add more epochs

* bongo epochs

* the rest of the epochs

* fix the typo fix the build

* interpolation fixes pr cleanup

* init/cleanup bongo epochs

* bongo hand trails

* Fixes niw feathers

* Fixes bongo bongo hands, and replaces epoch * i with epoch + i

* don't update epochs

Co-authored-by: briaguya <briaguya@alice>
2022-08-03 22:36:13 -04:00
Christopher Leggett fe02818d51
Randomizer: Ocarina of Time Ice Trap Fix (#964)
* Fixes Ice Trap on OoT check from preventing SoT check

* Removes unneeded GlobalContext argument.
2022-08-02 23:48:51 -04:00
Christopher Leggett 73447f05ab
Revert Goron Spin Fix (#1003)
* Fixes Goron Wakeup animations

* Cleanup of some unneeded code.

* Fixes comment spacing

* Revert goron's back to spinny behavior with smooth transitions.
2022-08-02 18:09:02 -04:00
Christopher Leggett d332c3d9d6
Randomizer Allows Skull Kid to accept Mask after receiving an ice trap. (#963)
* Allows Skull Kid to accept Mask after receiving an ice trap.

* Extracts obscure rando check into a clearly named function.

* Fixes missing semicolon...
2022-07-31 21:58:13 -04:00
Christopher Leggett b59c9cdf02
Randomizer: Fixes LACS and Prelude checks under certain conditions (#961)
* Prevents LACS flag from getting set when it shouldn't be.

* Fixes Prelude and LACS checks so they apply immediately if missed.

* Refactors the scene-flag-setting code into its own function.

* Renames new enums and props to be clearer and not specific to scene flags.

* Refactors pendingFlag data into a separate struct.
2022-07-31 21:57:30 -04:00
Christopher Leggett 87ed5fedfd
Fixes Goron Wakeup animations (#897)
* Fixes Goron Wakeup animations

* Cleanup of some unneeded code.

* Fixes comment spacing
2022-07-25 18:30:40 -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
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
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
Christopher Leggett 169f757954
Fixes ice trap chests to have short chest animations (#817) 2022-07-18 19:31:04 -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
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
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
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
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
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
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
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
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
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
Christopher Leggett 1f1de82bb8 casts jya_cobra's shadowTexture pointer to uintptr_t instead of s32. 2022-06-25 11:00:56 -04:00
rozlette fd06827e2b DPad items 2022-06-22 23:13:32 -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
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
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
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
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
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
briaguya dd42cca2cf Merge branch 'develop' into z64-devmerge 2022-06-17 00:39:07 -04:00
briaguya 3e6307bf96
No forced navi (Prevent forced Navi conversations) (#453)
* no forced navi

* imgui option for it

* remove double owl from sloppy merge

Co-authored-by: briaguya <briaguya@alice>
2022-06-16 21:43:46 -04:00
vaguerant ac8acaeba4
Cheat: shield with two-handed weapons (#487) 2022-06-16 21:08:32 -04:00