Commit Graph

1497 Commits

Author SHA1 Message Date
David Chavez 70d7d66d0c
Add multiviewport support for SDL (#1275) 2022-08-23 20:12:40 -04:00
Ada d735616020
Adds game specific camera options (#1212)
* Adds inversion options

* Fixes compilation

* Adds options to new detailed control editor

* Fixes inversion on C-Up view

* Fixes right stick aiming

* Fixes right stick aiming again

* Adds tooltip function + tooltips to gamecontroleditor.cpp

* Fixes tooltip for X axis

* Uses LUS tooltip function instead of new one

* Adds padding to camera control editor

To fit more in line with other enhancement checkboxes
2022-08-23 20:12:14 -04:00
Christopher Leggett 168e84498f
Rework Get Item Table to be more flexible for adding custom items (#1050)
* Adds ItemTableManager class.

* Implements new getItem table in game.

* Adds rando item table and way to differentiate tables in GetItemEntry.

* Adds rough ability to differentiate between rando and vanilla items.merge stashed changes from before develop-zhora merge

* Change ItemTableID to be uint16_t so we can use ModIndex for it.

* Should fix switch build

* Should fix switch build pt 2

* Adds new files to CMakeLists.

* Implements fixes for competing getItem calls.

* Correctly renders freestanding items

Particle effects are probably broken, need to fix them still, I pretty
much know how I would do that.

* Fixed Particle effects in the new getItem system.

* Fixes item fanfares

* Partially fixes Ice Traps

Obtaining a freestanding Ice Trap causes link to slide forward
and receiving one from an NPC plays the sound effect and damage
animation but doesn't freeze link.

* Some more partial ice trap fixing that wasn't pushed earlier

* Removes unused function override

* Replaces ::find with ::at and adds exception handling

* Removes some commented out code.

* Refactors rando's GetItemEntry array into two arrays.

One array is for the vanilla items that don't have GetItemEntries in
vanilla, the other is for rando exclusive items. They are stored in
separate arrays before getting added to the table so that we can apply
different modIndexes. The items in the first table have are handled
by the vanilla Item_Give, and the second table needed a custom
`Randomizer_Item_Give` function.

* Renames, relocates, and implements ModIndex enum.

* Removes now unused ItemIDs and GetItemIDs

Also makes all the necessary changes to other code that was still
using them indirectly through the GI to GID map that was removed.
There's quite a lot of changes here and I haven't had time to test them
yet.

* Re-implements GIMESSAGE_UNTRANSLATED as macro

* Removes commented out function.

* Throws exception if an invalid itemID is used

Addresses https://github.com/HarbourMasters/Shipwright/pull/1050#discussion_r943694857

* Removes ARRAY_SIZE in favor of ARRAY_COUNT

ARRAY_COUNT already exists in `macros.h`, I just didn't find it before.

Addresses https://github.com/HarbourMasters/Shipwright/pull/1050#discussion_r943153833

* Inverts CheckContainsRandoItem to CheckContainsVanillaItem.

Addresses https://github.com/HarbourMasters/Shipwright/pull/1050#discussion_r940895135

* Cleanup, bugfixes, removing the `- 1`s from `z_player.c`

* Fixes some funky formatting that got committed earlier.

* Adds else if to added fanfare sound cases.

Addresses https://github.com/HarbourMasters/Shipwright/pull/1050#discussion_r940112924 and https://github.com/HarbourMasters/Shipwright/pull/1050#discussion_r940113492

* Extends GetItemEntry to include getItemId

Also adapts some existing calls for both the entry and the id to only
get the entry.

* Extends GetItemEntry to include GID.

This allows for using it later when drawing freestanding items.

Addresses https://github.com/HarbourMasters/Shipwright/pull/1050#discussion_r943168136

* Rando-specific items use new textId again.

This got lost when merging develop-zhora in because I didn't have custom
messages merged when I started this.

* Sets global modIndex to MOD_NONE on scene load

Fixes a crash when buying items in shops due to them
not triggering the rando code that normally sets these items.
May have also been crashing vanilla playthroughs.

* Realized I had the bgm conditions wrong.

* Fixes "static drops" (i.e. sticks from withered babas)

* Fixes LACS/Prelude situation... again.

* Fixes too many arguments error.

Not sure why this didn't fail to build on Windows before.

* Fixes Link's Pocket items.

* Simplifies sram init for rando-specific items

* Fixes issues with approaching bottleable items.

* Fixes Ruto's Letter.

It was accidentally getting classified as a rando item.

* Should re-fix freestanding ice traps

* Makes freestanding items set player->getItemEntry.

This prevents freestanding items from setting the global modIndex.
This is part of a larger transition that needs to happen to switch
to setting getItemEntries for all of the rando items. This prevents
some things that set getItemId of GI_MAX from granting a Fire Medallion
when the global modIndex is MOD_RANDOMIZER.

* Makes sure we aren't using getItemEntry when not randoed.

* Replace Randomizer_GetRandomizedItemId with Randomizer_GetRandomizedItem and Randomizer_GetItemIdFromKnownCheck with Randomizer_GetItemFromKnownCheck

* Introduce some new methods and migrate most actors to them

* Fixes ocarina game skull kids to set player->getItemEntry

* Sets `z_en_box.c` to set `player->getItemEntry`

* Fix logical errors and migrate most of the rest of the rando checks to GiveItemEntryFromActor

* Use GiveItemEntryFromActorWithFixedRange in item00

* Fixes Anju to set player->getItemEntry.

* Add a few missing cases

* Additional fix for Skull Kid

* Fixes vanilla ice traps and randomized ice smoke

* Fixes rendering of treasure chest game items.

* Removes unused `Randomizer_GetItemIdFromGetItemId`.

* Cleans up an if statement for item00.

* Cleans up another if statement in item00

* This should fix a bug with the Gerudo Archery minigame.

I wasn't able to get the bug to happen after making this change.

* Documents our new GiveItemEntry fuctions.

* Uses more descriptive type name for ItemIDs for creating custom messages.

* Fixes potential issue with if statement.

* Fixes missed type change.

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2022-08-23 20:11:38 -04:00
Sarge-117 44e510e867 Merge remote-tracking branch 'upstream/rando-next' into rando-navi-tips 2022-08-23 16:55:04 -07:00
aMannus e2633c9be1 Moved name variables out of InsertRupeeName() 2022-08-23 23:36:59 +02:00
aMannus e8c25fe528 Matched CMakeLists.txt spacing 2022-08-23 22:43:09 +02:00
aMannus 694c643aee Include missing files in CMakeLists.txt 2022-08-23 22:35:26 +02:00
th-2021 ed1708508a
add SHIP_HOME (Linux) (#1210) 2022-08-23 22:29:28 +02:00
aMannus 2283471b7b %RUPEE% -> #RUPEE# 2022-08-23 22:23:01 +02:00
aMannus 50b3038a13 Made functions static 2022-08-23 22:14:13 +02:00
Garrett Cox 20737a2045 Fix various issues including crash yay 2022-08-23 11:46:08 -05:00
Garrett Cox b0cdfc1be1 Only update vectors when options change 2022-08-23 09:44:11 -05:00
Garrett Cox 267c27036c Allow aligning text to the left 2022-08-23 08:06:53 -05:00
lilDavid 6a900022c0 Pass vanilla ammo drops to logic 2022-08-23 07:47:21 -05:00
aMannus 35fefdecb0 Changed CVar name 2022-08-23 09:45:40 +02:00
aMannus d0f8374c4c Changed checkbox to default to on, invert logic 2022-08-23 09:42:32 +02:00
Christopher Leggett e12e1d67c6
Prevents optimizations for debug configuration on Windows. (#1270) 2022-08-23 09:32:49 +02:00
Garrett Cox 2e7fd2b0be More cleanup and tweaks 2022-08-23 00:33:07 -05:00
Christopher Leggett 28edabdbe4
Fixes missed type change. 2022-08-23 00:08:22 -04:00
Christopher Leggett 4ee1eba67b
Merge branch 'get-item-rework' into get-item-rework-rando-next 2022-08-22 19:48:34 -04:00
Christopher Leggett 3a67e2a806
Fixes potential issue with if statement. 2022-08-22 19:40:58 -04:00
Christopher Leggett 10c05892bf
Uses more descriptive type name for ItemIDs for creating custom messages. 2022-08-22 19:38:30 -04:00
Christopher Leggett 01dbfc71ad
Documents our new GiveItemEntry fuctions. 2022-08-22 19:32:42 -04:00
Garrett Cox 17aa82a2cd Initial work towards shopsanity, not fully working but some of it is 2022-08-22 13:23:27 -05:00
lil David 58aed3dc07 Correct bombchus in logic description to only include chu shop 2022-08-22 10:41:59 -05:00
th-2021 d39a1a0bdf
[macos] Embed dependencies for ZAPD in bundle (#1271) 2022-08-22 10:43:50 +02:00
Garrett Cox 9f63aaae99 Initial work towards scrubsanity, got affordable prices mostly functional
Write and read prices from spoiler, move IdentifyScrub up to Randomizer

In a semi working state

Fix bug when going from c to cpp

Kill scrubs before they spawn if already purchased

Woopsie from rebase

Update soh/soh/OTRGlobals.cpp
2022-08-22 01:13:52 -05:00
Christopher Leggett d17e4dc042
merge in get-item-rework-rando-next 2022-08-22 02:05:41 -04:00
Christopher Leggett e12fda29fe
Merge branch 'get-item-rework' into merge-fix 2022-08-22 02:03:04 -04:00
InfoManiac742 f87f636828
Update BUILDING.md (#1228) 2022-08-21 22:14:05 -04:00
louist103 eed3942b81
Restore Gold skulltula CS from the "0.9" version (#1217)
* GS CS

* add to defaults
2022-08-21 22:11:23 -04:00
Ralphie Morell f5112a709a
Add'l Console Commands (#1207)
* Added console commands

* Style conformance
2022-08-21 22:01:51 -04:00
PurpleHato f6bb46a0dc
FIX: Disable Draw Distance, Miniboss music could still play in DC with Lizalfos under certain conditions (#1170)
Thanks @jbodner09 for the report 💯
2022-08-21 21:57:55 -04:00
Christopher Leggett de9465c22a
Fixes goofup of ImGui window from bad merge conflict resolution. 2022-08-21 21:48:01 -04:00
Kenix3 51e4485966
LUS Cleanup: Merge Window and GlobalCtx2 classes. (#1259)
* Merges GlobalCtx2 and Window classes.

* Includes condition variable in File.

* add mac specific include

* sstream to get past "implicit instantiation of undefined template" error

* switch/wiiu includes

* that file doesn't exist

* more wii u globalctx2 stuff

Co-authored-by: briaguya <briaguya@alice>
2022-08-21 21:08:01 -04:00
Garrett Cox 58a60e3f44 Merge branch 'item-tracker-v3' of github.com:garrettjoecox/Shipwright into item-tracker-v3 2022-08-21 17:17:19 -05:00
Garrett Cox f52ba103aa Attempt to fix windows build error 2022-08-21 17:07:24 -05:00
Christopher Leggett d8e7a247f4
Merge branch 'get-item-rework' into get-item-rework-rando-next 2022-08-21 17:04:53 -04:00
Christopher Leggett 5298bda0e2
Merge branch 'rando-next', remote-tracking branch 'origin' into get-item-rework-rando-next 2022-08-21 16:42:15 -04:00
Christopher Leggett 1d9e52b169
Merge remote-tracking branch 'origin' into get-item-rework 2022-08-21 16:41:41 -04:00
Christopher Leggett 91cb6f2360
This should fix a bug with the Gerudo Archery minigame.
I wasn't able to get the bug to happen after making this change.
2022-08-21 16:40:16 -04:00
Christopher Leggett 2bbd618599
Cleans up another if statement in item00 2022-08-21 15:35:10 -04:00
Christopher Leggett e5bca727ac
Cleans up an if statement for item00. 2022-08-21 15:22:18 -04:00
Christopher Leggett e1b403a31b
Removes unused `Randomizer_GetItemIdFromGetItemId`. 2022-08-21 15:14:50 -04:00
Garrett Cox b3307883c7
Update soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp 2022-08-21 13:32:01 -05:00
Garrett Cox 3aa82eaaf1 Support only enabling while paused, better align dungeon name text 2022-08-21 12:59:40 -05:00
briaguya 196e2acd3a
Merge pull request #1267 from leggettc18/skullsanity-saveeditor-fix
Stops syncing GS Flags with GS Token Count with Skullsanity on
2022-08-21 10:37:46 -04:00
Sarge-117 7066536249 Add #define, fix conflicting delcaration
Also re-ordered randomizer.cpp a bit to have the text array above CreateNaviRandoMessages()
2022-08-20 22:17:02 -07:00
Christopher Leggett fc963cf44c
Merge branch 'get-item-rework' into get-item-rework-rando-next 2022-08-20 18:01:23 -04:00
Christopher Leggett 4dff1443a6
Fixes rendering of treasure chest game items. 2022-08-20 18:00:44 -04:00