Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ADD: Enhancement presets #926

Merged
merged 9 commits into from
Aug 8, 2022

Conversation

aMannus
Copy link
Contributor

@aMannus aMannus commented Jul 25, 2022

Adds the ability to change all enhancements in one go based on predetermined presets. Attempt at making the option bloat a little more managable.

I'd like some input on a better place to put applyEnhancementPresets() in though. I wasn't sure what would be best so for now, it lives inside the ImGuilmpl.cpp file, but this should probably be moved somewhere else.

Also, there's no linebreaks for the tooltip yet because of #925

I think the presets I defined make sense, but obviously open for discussion for those too.

Looks like this: https://cdn.discordapp.com/attachments/989182407213219840/1001046928697589810/2022-07-25_10-41-00.mp4

@jbodner09
Copy link
Contributor

If some of the preset options are strict supersets of other options, it might make sense to just have separate functions to set those presets. That way, you can just call those functions in whatever cases you need, including future ones that would make this more reusable without the potential to miss something. It also makes this more readable since looking at each case would tell you exactly what's unique to it instead of having to figure out "oh, Text Speed being set to 5 is in all the cases except vanilla; that must be part of the Vanilla Plus/Quality of life stuff".

@aMannus
Copy link
Contributor Author

aMannus commented Jul 25, 2022

If some of the preset options are strict supersets of other options, it might make sense to just have separate functions to set those presets. That way, you can just call those functions in whatever cases you need, including future ones that would make this more reusable without the potential to miss something. It also makes this more readable since looking at each case would tell you exactly what's unique to it instead of having to figure out "oh, Text Speed being set to 5 is in all the cases except vanilla; that must be part of the Vanilla Plus/Quality of life stuff".

That's a good idea. I'll seperate all presets in their own function.

// Rotate link (0 to 2)
CVar_SetS32("gPauseLiveLinkRotation", 0);
// Pause link animation (0 to 16)
CVar_SetS32("gPauseLiveLink", 1);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Up to you if you want to change this, but I added in the latest Zhora build a 17th option to gPauseLiveLink that makes Link's animations cycle like it does when the game isn't paused.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've changed the rando preset to the newest one now. I think for the other presets, the standing link still fits the best. If people want to go change it afterwards, they'll still have the ability to dive into the menus.

aMannus added 2 commits July 25, 2022 22:38
Function has been moved out of ImGuilmpl.cpp, and all presets have been put in their own functions so they can be applied in a cascading manner.

Also did some slight changes to the presets themselves.
@aMannus
Copy link
Contributor Author

aMannus commented Jul 25, 2022

I moved the functions for handling the presets from ImGuilmp.cpp to their own files now. Also gave every preset their own function, and they now apply settings in a cascading manner. It does call CVar_SetS32() a few more times compared to the old method, but overall this is a MUCH cleaner implementation.

As far as I can tell, it's fully ready for review now.

@aMannus
Copy link
Contributor Author

aMannus commented Jul 25, 2022

Had to move the functions back into ImGuilmpl.cpp. libultra can't load files from soh, and the menu creation part in that file is going to move into soh soon, so I don't feel too bad for having a big codeblock in that file for now. But yeah, this'll need cleaning up when that switch happens.

Rest still works the same and Jenkins is finally happy.

@andrewwvc
Copy link
Contributor

What this is doing overall is good. Letting people create custom settings presets so that people can mod in game modes would be a nice way of doing things going forward, as expecting each player to fiddle around with all the individual settings for everything is becoming too involved.

I do want to put out a word of caution when programmatically changing settings though, as there have been issues stemming from certain settings only being applied when the GUI menu in which they are defined is actually accessed. Is there a way of putting in code hooks to account for that?

@aMannus
Copy link
Contributor Author

aMannus commented Jul 26, 2022

I do want to put out a word of caution when programmatically changing settings though, as there have been issues stemming from certain settings only being applied when the GUI menu in which they are defined is actually accessed. Is there a way of putting in code hooks to account for that?

Enhancements shouldn't ever only be applied when the specific tab is open though. If that is ever happening, that should be fixed within the enhancement itself. All the presets do is set the CVars, it doesn't care about where the CVar is normally set or what it was before. It's comparable to how SoH loads in CVars from shipofharkinian.json when you open the game.

Copy link
Collaborator

@Kenix3 Kenix3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few comments for discussion.

  • I prefer the term "Authentic" to "Vanilla."
  • I'm not sold on the iron man preset.

Right now, this is just a point of discussion, but I'd like to hide a lot of menu items when a preset is in use.

@vaguerant
Copy link
Contributor

Along the lines of both andrewwvc and Kenix's comments, if you made presets "mandatory" and the presets were themselves editable, you could actually remove the entire Enhancements menu except for the presets and the option to edit them, so that managing your enhancements is done entirely by editing the presets to match your goals (probably in a new Manage Presets window).

In that window, I'd suggest something like a drop-down (combobox) to select which preset you'd like to edit (defaulted to the current preset) then a tabbed interface that incorporates all of the current Enhancements menu, split into the major groups (Gameplay, Graphics, etc.).

@aMannus
Copy link
Contributor Author

aMannus commented Aug 1, 2022

A few comments for discussion.

  • I prefer the term "Authentic" to "Vanilla."
  • I'm not sold on the iron man preset.

Right now, this is just a point of discussion, but I'd like to hide a lot of menu items when a preset is in use.

The only time the name "Vanilla" is used in the "Vanilla Plus" preset. Otherwise it's called "Default" right now. I don't think "Authentic Plus" is a very good name. "Default" could be renamed to "Authentic", but I think the name "Default" makes it a lot more clear about what it does.

And I honestly just threw in the Ironman preset for fun. I'd be totally OK removing it outright.

@aMannus
Copy link
Contributor Author

aMannus commented Aug 1, 2022

As for the discussion about hiding options and/or editing presets, I personally don't like hiding only certain options based on what presets are applied. Having an entire window to edit presets also feels like overcomplicating things for both the code side and UX.

What I'd personally think is a better idea is having the dropdown immediately apply the presets, hide all the enhancements when any of the presets are selected, and then having another entry in the dropdown called "Custom". If "Custom" is selected, then all enhancements are shown and people can change whatever they want in it, and it'll save the enhancements for that preset even when switching back and forth to other presets.

There's one drawback to doing it this way (or any other way where you hide enhancements). It's very opaque to a user what enhancements are applied with whatever preset, which I'm not a big fan of.

As a future thing, saving/loading that custom preset would also be nice. I'm not sure the best way to do this would be, but this would allow people to have a collection of their own presets they can import whenever they want, and possibly share their presets with others as well.

I'm not entirely sure if any of this should be in the scope of this PR though or something that can be worked on for the future. Might also need to wait until the ImGui LUS cleanup is done before making huge changes to how this works.

@aMannus
Copy link
Contributor Author

aMannus commented Aug 1, 2022

Just spitballing for the future, but maybe it's a good idea to have all the presets in seperate JSON files living in a folder, with a list of "cvarname : false/true". It would then always apply the default preset to zero it out and then whatever preset is defined in the relevant other JSON file in a cascading fashion (kinda like how it's being done right now too). Building on my previous comment, the JSON file for the "Custom" preset would then be automatically updated whenever an option is toggled.

That way the JSON file for the "custom" preset could be backed up/shared easily, and people can edit/look at the other presets if they desire to do so.

Again though, this would definitely be a post LUS cleanup thing.

@Kenix3 Kenix3 merged commit a8fea61 into HarbourMasters:develop-zhora Aug 8, 2022
lilDavid added a commit to lilDavid/Shipwright that referenced this pull request Aug 9, 2022
commit e4b58e5
Author: aMannus <mannusmenting@gmail.com>
Date:   Tue Aug 9 08:16:45 2022 +0200

    TWEAK: Layout/styling overhaul for the F1 menu (HarbourMasters#1026)

    * First pass of UX changes

    * More padding/styling/layout

    * More styling

    * Moar styling

    * Some more styling

    * Implemented padding helpers

    * More styling, added closing buttons to windows

    * Fixed merge conflict mistake

    * Fixed new enhancements

    * Hopefully fix jenkins errors

    * Changed button behaviour, more styling

    * Tiny code cleanup

    * Change buttons from close/open to > when open

    * Small button spacing fix

    * Small styling changes after merge

    * Small fix after merge mistake

commit 0d9c390
Author: Kenix3 <kenixwhisperwind@gmail.com>
Date:   Mon Aug 8 21:53:36 2022 -0400

    Removes no longer desired commented code. (HarbourMasters#1105)

commit b924831
Merge: fa090c5 317de33
Author: Kenix3 <kenixwhisperwind@gmail.com>
Date:   Mon Aug 8 21:53:04 2022 -0400

    Merge pull request HarbourMasters#1104 from briaguya-ai/rachael-to-zhora

    rachael -> zhora

commit 317de33
Merge: fa090c5 4ea7f83
Author: briaguya <briaguya@alice>
Date:   Mon Aug 8 21:43:04 2022 -0400

    Merge branch 'develop-rachael' into rachael-to-zhora

commit fa090c5
Merge: 5581f45 e63d84b
Author: briaguya <70942617+briaguya-ai@users.noreply.github.com>
Date:   Mon Aug 8 21:24:48 2022 -0400

    Merge pull request HarbourMasters#831 from leggettc18/custom-messages

    System for Creating and Storing Custom Messages

commit e63d84b
Author: Christopher Leggett <chris@leggett.dev>
Date:   Mon Aug 8 21:14:29 2022 -0400

    Adapts this branch for cmake building.

commit 5581f45
Author: Kenix3 <kenixwhisperwind@gmail.com>
Date:   Mon Aug 8 21:01:46 2022 -0400

    Adds instructions for Visuals Studio 2019

commit b6934b3
Author: Josh Bodner <30329717+jbodner09@users.noreply.github.com>
Date:   Mon Aug 8 17:04:55 2022 -0700

    Re-add Windows dependencies to build instructions (HarbourMasters#1102)

commit 5453c68
Author: sholdee <102821812+sholdee@users.noreply.github.com>
Date:   Mon Aug 8 18:59:43 2022 -0500

    [ci] docker improvements (HarbourMasters#1101)

commit 4ea7f83
Author: aMannus <mannusmenting@gmail.com>
Date:   Tue Aug 9 01:59:06 2022 +0200

    Rando: Zelda sequence fixes (HarbourMasters#1095)

    * Fixed zelda sequence oddities

    * Fixed code inconsistency

    * Adressed review comments

    * Adressed review comments, removed unneccesary entrance skip

    * Addressed some more review comments

    * tiny cleanup

commit c803ff6
Author: th-2021 <90853655+th-2021@users.noreply.github.com>
Date:   Tue Aug 9 01:58:43 2022 +0200

    fix path to ZAPD (HarbourMasters#1092)

commit 0e10b59
Author: InfoManiac742 <26778801+InfoManiac742@users.noreply.github.com>
Date:   Mon Aug 8 16:58:01 2022 -0700

    Update z_kaleido_item.c (HarbourMasters#1046)

commit 4bf4ad3
Author: InfoManiac742 <26778801+InfoManiac742@users.noreply.github.com>
Date:   Mon Aug 8 16:56:56 2022 -0700

    Update z_en_ru1.c (HarbourMasters#1042)

commit f80ba41
Author: lilDavid <1337lilDavid@gmail.com>
Date:   Mon Aug 8 18:55:07 2022 -0500

    Add instant boomerang recall (HarbourMasters#1006)

commit a4334ec
Author: KiritoDev <36680385+KiritoDv@users.noreply.github.com>
Date:   Mon Aug 8 18:53:43 2022 -0500

    Changed input disable to only be forced on switch (HarbourMasters#941)

    * Changed input disable to only be forced on switch

    * Inverted if

    * Finally fixed validation

    * Removed enhancement if its a switch build

    * Input now only gets blocked when the device is not a keyboard or its on switch

    * Input gets blocked when the controller view is opened

    * gControlNav is enabled by default on switch

    * Fixed compilation issues

commit a8fea61
Author: aMannus <mannusmenting@gmail.com>
Date:   Tue Aug 9 01:52:34 2022 +0200

    ADD: Enhancement presets (HarbourMasters#926)

    * Proof of concept

    * Finished default preset

    * Added v1 presets

    * Overhauled implementation

    Function has been moved out of ImGuilmpl.cpp, and all presets have been put in their own functions so they can be applied in a cascading manner.

    Also did some slight changes to the presets themselves.

    * Fixed link animation settings

    * Deleted unneccesary change

    * Fixed missing newlines

    * Moved functions back to ImGuilmpl.cpp

    * Removed Ironman preset

commit 1f5d323
Author: Dog <5172592+Dog@users.noreply.github.com>
Date:   Mon Aug 8 16:48:53 2022 -0700

    Randomizer: Skip Cutscenes (HarbourMasters#846)

    * Skip Jabu Jabu's fishy feeding time if rando is enabled Issue HarbourMasters#757

    Also skip the ganon tower fall cutscene if you died to ganon during the ganon fight for issue HarbourMasters#773

    * Immediately give control back to player when talon running cutscene starts.

    * Fix case of not skipping Gannon

commit cf639b1
Author: briaguya <70942617+briaguya-ai@users.noreply.github.com>
Date:   Mon Aug 8 19:46:37 2022 -0400

    SDL/OpenGL - actually use the window resolution from the json (HarbourMasters#1082)

    * actually use the window resolution from the json

    * switch fix

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

commit 59baf24
Merge: d80742d 9b33827
Author: Christopher Leggett <chris@leggett.dev>
Date:   Mon Aug 8 19:46:09 2022 -0400

    Merge branch 'develop-zhora' of https://github.com/HarbourMasters/Shipwright into custom-messages

commit 9b33827
Author: David Chavez <david@dcvz.io>
Date:   Tue Aug 9 00:02:35 2022 +0200

    [ci] Share Generated Assets Across All Platforms (HarbourMasters#1074)

commit 9afbe42
Author: David Chavez <david@dcvz.io>
Date:   Mon Aug 8 12:01:45 2022 +0200

    Use -O2 for Release config builds (HarbourMasters#1083)

commit 7f233de
Author: Christopher Leggett <chris@leggett.dev>
Date:   Mon Aug 8 04:31:47 2022 -0400

    Fixes CMake to explicity launch python interpreter on Windows. (HarbourMasters#1089)

commit ed93783
Author: th-2021 <90853655+th-2021@users.noreply.github.com>
Date:   Sun Aug 7 18:23:20 2022 +0200

    [cmake] Use static libraries with vcpkg on Windows (HarbourMasters#1079)

commit e51e7f3
Author: th-2021 <90853655+th-2021@users.noreply.github.com>
Date:   Sun Aug 7 16:47:16 2022 +0200

    [cmake] Fix Switch icon (HarbourMasters#1084)

    * Update CMakeLists.txt

    * fix switch icon

    * Update soh/CMakeLists.txt

    * Update soh/CMakeLists.txt

    Co-authored-by: David Chavez <david@dcvz.io>

commit cb2410d
Author: GaryOderNichts <12049776+GaryOderNichts@users.noreply.github.com>
Date:   Wed Aug 3 02:30:39 2022 +0200

    Handle audio thread properly

commit b2ac01b
Author: qurious-pixel <62252937+qurious-pixel@users.noreply.github.com>
Date:   Sat Aug 6 18:52:22 2022 -0700

    [CI] Link Updated SDL2 version (HarbourMasters#1078)

commit 1794683
Author: David Chavez <david@dcvz.io>
Date:   Sat Aug 6 22:16:39 2022 +0200

    Ignore build.c

commit c70e3f3
Author: David Chavez <david@dcvz.io>
Date:   Sat Aug 6 04:50:47 2022 +0200

    Enable SPD logging in libultra

commit aadabe1
Author: David Chavez <david@dcvz.io>
Date:   Fri Aug 5 17:49:38 2022 +0200

    Better instructions for VS solutions

commit 7f58ef1
Author: briaguya <briaguya@alice>
Date:   Sat Aug 6 05:37:37 2022 -0400

    add a command to copy the otr to the build dir

commit 8efeceb
Author: briaguya <briaguya@alice>
Date:   Sat Aug 6 05:18:00 2022 -0400

    formatting

commit 9a126de
Author: briaguya <briaguya@alice>
Date:   Sat Aug 6 05:15:46 2022 -0400

    add version requirements in building.md

commit 7ef3fff
Author: th-2021 <90853655+th-2021@users.noreply.github.com>
Date:   Sat Aug 6 22:19:06 2022 +0200

    add soh icon for Windows (HarbourMasters#1060)

commit 1ebca42
Author: th-2021 <90853655+th-2021@users.noreply.github.com>
Date:   Fri Aug 5 07:59:19 2022 +0200

    Move to cmake across all platforms (HarbourMasters#363)

commit 93d0d74
Author: Kenix3 <kenixwhisperwind@gmail.com>
Date:   Fri Aug 5 01:03:11 2022 -0400

    LUS Cleanup: Removes GameSettings class. Moves code to Imgui. (HarbourMasters#1036)

    * LUS Cleanup: Removes GameSettings class. Moves code to Imgui.

    * Fixes more strdup problems and finalized removal of GameSetting.

    * Reverts changes to Directory.h

    * Update Directory.h

    * Fixes PR.

    * Update Directory.h

    * Update rando_main.cpp

commit c23457d
Author: Josh Bodner <30329717+jbodner09@users.noreply.github.com>
Date:   Thu Aug 4 21:15:49 2022 -0700

    Automatically save after every scene transition (HarbourMasters#984)

    * Automatically save after every scene transition

    * Refactor and don't save in grottos

    * Don't save in cutscenes

    * Save after getting items as well

    * Fix paren

commit d397c1d
Author: Kenix3 <kenixwhisperwind@gmail.com>
Date:   Thu Aug 4 17:35:49 2022 -0400

    Increment version

commit 2f5f089
Author: Kenix3 <kenixwhisperwind@gmail.com>
Date:   Thu Aug 4 17:35:32 2022 -0400

    Increment version

commit facd172
Author: briaguya <70942617+briaguya-ai@users.noreply.github.com>
Date:   Thu Aug 4 17:32:23 2022 -0400

    don't use signed ints for epochs (HarbourMasters#1044)

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

commit 5f913cb
Merge: bd86c79 739434e
Author: Kenix3 <kenixwhisperwind@gmail.com>
Date:   Wed Aug 3 23:18:24 2022 -0400

    Merge pull request HarbourMasters#1037 from briaguya-ai/rachael-to-zhora

    Rachael to zhora

commit 739434e
Merge: bd86c79 78ad282
Author: briaguya <briaguya@alice>
Date:   Wed Aug 3 23:01:11 2022 -0400

    Merge branch 'develop-rachael' into rachael-to-zhora

commit 78ad282
Author: vaguerant <vaguerant@users.noreply.github.com>
Date:   Thu Aug 4 12:47:54 2022 +1000

    Fix Navi HUD text regression (HarbourMasters#1020)

    * Fix Navi HUD text regression

    * Fix the fix

commit d61d4e5
Author: Baoulettes <perlouzerie@hotmail.fr>
Date:   Thu Aug 4 04:45:02 2022 +0200

    fix same name controller entry being unselectable (HarbourMasters#1031)

    This fix being unable to select both entry of controller that has same ID and Name (for example Mayflash mf103 in my tests got two port both ports has same name and ID.

commit bd86c79
Author: Ada <60364512+GreatArgorath@users.noreply.github.com>
Date:   Thu Aug 4 03:44:43 2022 +0100

    Moves release version text (HarbourMasters#1028)

commit dffcbb0
Author: Christopher Leggett <chris@leggett.dev>
Date:   Wed Aug 3 22:43:55 2022 -0400

    Fixes glitchy dungeon maps. (HarbourMasters#1032)

commit 0f7a88b
Author: Kenix3 <kenixwhisperwind@gmail.com>
Date:   Wed Aug 3 22:36:13 2022 -0400

    This should fix (all?) 60fps interpolation issues left. (HarbourMasters#938)

    * This should fix (all?) 60fps interpolation issues left.

    Resolves HarbourMasters#631 HarbourMasters#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>

commit 97adc4a
Author: Kenix3 <kenixwhisperwind@gmail.com>
Date:   Wed Aug 3 20:16:17 2022 -0400

    Changes string.h include in CVar.cpp

commit 6190388
Author: Kenix3 <kenixwhisperwind@gmail.com>
Date:   Tue Aug 2 23:20:17 2022 -0400

    Now using posix strdrup on non-msvc builds.

commit 8c9d067
Author: Kenix3 <kenixwhisperwind@gmail.com>
Date:   Tue Aug 2 22:25:27 2022 -0400

    LUS Cleanup: CVars functions are now consistent

commit 6d3d5e7
Author: Kenix3 <kenixwhisperwind@gmail.com>
Date:   Wed Aug 3 21:22:07 2022 -0400

    LUS Cleanup: Removes unnecessary ModManager class.

commit 212d774
Author: Kenix3 <kenixwhisperwind@gmail.com>
Date:   Wed Aug 3 20:56:04 2022 -0400

    Clean up unnecessary compiler checks.

commit e68fac1
Author: Kenix3 <kenixwhisperwind@gmail.com>
Date:   Wed Aug 3 20:40:33 2022 -0400

    Uses correct audio player per platform now.

commit 7675309
Author: Kenix3 <kenixwhisperwind@gmail.com>
Date:   Wed Aug 3 20:20:15 2022 -0400

    Moves specific audio player header file include to after the definition of AudioPlayer class in AudioPlayer.h

commit 4ce19e1
Author: Kenix3 <kenixwhisperwind@gmail.com>
Date:   Wed Aug 3 20:04:29 2022 -0400

    LUS Cleanup: Only including the correct audio player header file.

commit fd37989
Author: Kenix3 <kenixwhisperwind@gmail.com>
Date:   Tue Aug 2 23:14:25 2022 -0400

    LUS Cleanup: Clean up hooks system.

commit 8431cdd
Author: Kenix3 <kenixwhisperwind@gmail.com>
Date:   Tue Aug 2 23:32:37 2022 -0400

    LUS Cleanup: GameOverlay and moves various GUI related files to it's own filter.

commit fe02818
Author: Christopher Leggett <chris@leggett.dev>
Date:   Tue Aug 2 23:48:51 2022 -0400

    Randomizer: Ocarina of Time Ice Trap Fix (HarbourMasters#964)

    * Fixes Ice Trap on OoT check from preventing SoT check

    * Removes unneeded GlobalContext argument.

commit b89cc25
Author: aMannus <mannusmenting@gmail.com>
Date:   Wed Aug 3 05:46:39 2022 +0200

    Fixed deku stick on B and horse swordless (HarbourMasters#995)

commit d80742d
Author: Christopher Leggett <chris@leggett.dev>
Date:   Tue Aug 2 19:32:59 2022 -0400

    Adds documentation comments to CustomMessageManager.h

commit a007bfd
Merge: bb8152b d9443d9
Author: Christopher Leggett <chris@leggett.dev>
Date:   Tue Aug 2 19:17:08 2022 -0400

    Merge changes from develop-zhora

commit 7eba85c
Author: Christopher Leggett <chris@leggett.dev>
Date:   Tue Aug 2 18:09:53 2022 -0400

    Prevents blocking Song of Time check by shielding. (HarbourMasters#1001)

commit 73447f0
Author: Christopher Leggett <chris@leggett.dev>
Date:   Tue Aug 2 18:09:02 2022 -0400

    Revert Goron Spin Fix (HarbourMasters#1003)

    * Fixes Goron Wakeup animations

    * Cleanup of some unneeded code.

    * Fixes comment spacing

    * Revert goron's back to spinny behavior with smooth transitions.

commit bb8152b
Author: Christopher Leggett <chris@leggett.dev>
Date:   Mon Aug 1 23:16:16 2022 -0400

    Replaces string literal for BaseGameOverrides with const variable.

commit 480053d
Author: Christopher Leggett <chris@leggett.dev>
Date:   Mon Aug 1 23:05:29 2022 -0400

    Exposes FormatCustomMessage and uses it in FormatJsonHintText.

commit eae97cf
Author: Christopher Leggett <chris@leggett.dev>
Date:   Mon Aug 1 21:44:28 2022 -0400

    Addresses most of bria's comments.

commit 4d30cc5
Author: Christopher Leggett <chris@leggett.dev>
Date:   Mon Aug 1 21:21:29 2022 -0400

    Adds newlines to the ends of some files.

commit 2f9874c
Author: Christopher Leggett <chris@leggett.dev>
Date:   Sun Jul 31 19:31:22 2022 -0400

    Cleanup.

commit e8d2b0c
Author: Christopher Leggett <chris@leggett.dev>
Date:   Tue Jul 26 20:46:49 2022 -0400

    Hopefully fixes build errors on Linux-CI.

commit 5a97e9f
Author: Christopher Leggett <chris@leggett.dev>
Date:   Tue Jul 26 20:11:17 2022 -0400

    Factors away some  raw textIDs into an enum with descriptive names.

commit d0968a9
Author: Christopher Leggett <chris@leggett.dev>
Date:   Tue Jul 26 19:25:17 2022 -0400

    Removes some unneeded function definitions (some of which were already commented out).

commit 0ed8c27
Author: Christopher Leggett <chris@leggett.dev>
Date:   Tue Jul 26 19:07:54 2022 -0400

    Renames some variables for clarity

commit 59dc52f
Author: Christopher Leggett <chris@leggett.dev>
Date:   Tue Jul 26 18:44:52 2022 -0400

    Moves the NOGDI define to CustomMessageManager.h

commit 8224763
Author: Christopher Leggett <chris@leggett.dev>
Date:   Mon Jul 25 22:33:38 2022 -0400

    Renames CustomMessage to CustomMessageManager

commit 4c9e4b2
Author: Christopher Leggett <chris@leggett.dev>
Date:   Mon Jul 25 22:04:53 2022 -0400

    Puts CustomMessage files in filters in Visual Studio

commit 2ff5d54
Merge: cd01e8b 8bdc445
Author: Christopher Leggett <chris@leggett.dev>
Date:   Mon Jul 25 21:33:19 2022 -0400

    Merge in develop-zhora

commit cd01e8b
Author: Christopher Leggett <chris@leggett.dev>
Date:   Mon Jul 25 21:31:17 2022 -0400

    Moves deku scrub messages into CustomMessageTable.

commit 9f2eb46
Author: Christopher Leggett <chris@leggett.dev>
Date:   Sun Jul 24 19:43:11 2022 -0400

    Takes Ganondor's text & hint from CustomMessageTable

commit c1155bb
Author: Christopher Leggett <chris@leggett.dev>
Date:   Sun Jul 24 19:35:24 2022 -0400

    Cleans up unused z_message_PAL code.

commit 661946b
Author: Christopher Leggett <chris@leggett.dev>
Date:   Sun Jul 24 19:24:24 2022 -0400

    Pulls altar text from CustomMessageTable instead of gSaveContext.

commit 780e9f4
Author: Christopher Leggett <chris@leggett.dev>
Date:   Sun Jul 24 19:18:46 2022 -0400

    Fixes storage of altar and ganon hints/text.

    Only one language is stored in gSaveContext at the moment so store the one language in all 3 CustomMessageEntry languages.

commit a33c3d6
Author: Christopher Leggett <chris@leggett.dev>
Date:   Sun Jul 24 18:54:05 2022 -0400

    Fixes minor oversight from previous commit.

commit a21998c
Author: Christopher Leggett <chris@leggett.dev>
Date:   Sun Jul 24 18:47:55 2022 -0400

    Does some refactoring of rando custom message registration

    The goal was less verbosity when adding new get-item messages later.

commit dca922a
Merge: 21c585b ffb3523
Author: Christopher Leggett <chris@leggett.dev>
Date:   Sun Jul 24 18:08:10 2022 -0400

    Merge branch 'develop-zhora' of https://github.com/HarbourMasters/Shipwright into custom-messages

commit 21c585b
Author: Christopher Leggett <chris@leggett.dev>
Date:   Thu Jul 21 13:10:04 2022 -0400

    Removes randomizer_custom_messages, as I relocated its logic elsewhere.

commit b5dc097
Author: Christopher Leggett <chris@leggett.dev>
Date:   Thu Jul 21 13:05:15 2022 -0400

    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.

commit c5f6637
Author: Christopher Leggett <chris@leggett.dev>
Date:   Tue Jul 19 22:51:39 2022 -0400

    Adds ability to store and retrieve textbox size and position.

commit 2d1aa1d
Merge: 32abe61 235cef6
Author: Christopher Leggett <chris@leggett.dev>
Date:   Tue Jul 19 20:28:21 2022 -0400

    Merge in develop-zhora

commit 32abe61
Author: Christopher Leggett <chris@leggett.dev>
Date:   Tue Jul 19 00:31:37 2022 -0400

    Implements a basic CreateMessage function for non-GetItem text.

commit e04b2c8
Author: Christopher Leggett <chris@leggett.dev>
Date:   Sun Jul 17 22:02:22 2022 -0400

    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.

commit 1ed45e1
Author: Christopher Leggett <chris@leggett.dev>
Date:   Sun Jul 17 21:03:32 2022 -0400

    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.

commit ee1270f
Author: Christopher Leggett <chris@leggett.dev>
Date:   Sun Jul 17 15:29:02 2022 -0400

    more cleanup

commit 98c771c
Author: Christopher Leggett <chris@leggett.dev>
Date:   Sun Jul 17 15:11:16 2022 -0400

    Simplifies the function signature of `CustomMessage_RetrieveIfExists`.

commit 69d2b5b
Author: Christopher Leggett <chris@leggett.dev>
Date:   Sun Jul 17 15:02:08 2022 -0400

    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.

commit f57a912
Author: Christopher Leggett <chris@leggett.dev>
Date:   Sun Jul 17 13:31:38 2022 -0400

    Does some cleanup of unecessary code and cases of no string provided.

commit 4eaf70b
Author: Christopher Leggett <chris@leggett.dev>
Date:   Sun Jul 17 12:34:56 2022 -0400

    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.

commit 3f2111a
Author: Christopher Leggett <chris@leggett.dev>
Date:   Fri Jul 15 19:48:49 2022 -0400

    Adds text for Bottle with Blue Fire as a demo.

commit 1165e70
Merge: 46df17e 93bea4c
Author: Christopher Leggett <chris@leggett.dev>
Date:   Fri Jul 15 19:18:45 2022 -0400

    Merge branch 'develop' of https://github.com/HarbourMasters/Shipwright into rando-custom-messages

commit 46df17e
Author: Christopher Leggett <chris@leggett.dev>
Date:   Thu Jul 14 11:17:43 2022 -0400

    Added an extra helper function and removed instant text control code from ITEM_OBTAINED

commit 9c57ed6
Merge: cd096ce 8417db6
Author: Christopher Leggett <chris@leggett.dev>
Date:   Thu Jul 14 10:06:05 2022 -0400

    Merge branch 'develop' of https://github.com/HarbourMasters/Shipwright into rando-custom-messages

commit cd096ce
Author: Christopher Leggett <chris@leggett.dev>
Date:   Thu Jul 14 00:56:47 2022 -0400

    Fixes newline function to return correct character.

commit 8739951
Merge: 0ae5c4c b2b7cf2
Author: Christopher Leggett <chris@leggett.dev>
Date:   Thu Jul 14 00:56:17 2022 -0400

    Merge branch 'develop' of https://github.com/HarbourMasters/Shipwright into rando-custom-messages

commit 0ae5c4c
Merge: a81ecfc 219804c
Author: Christopher Leggett <chris@leggett.dev>
Date:   Thu Jul 14 00:42:00 2022 -0400

    Merge branch 'develop' of https://github.com/HarbourMasters/Shipwright into rando-custom-messages

commit a81ecfc
Author: Christopher Leggett <chris@leggett.dev>
Date:   Thu Jul 14 00:41:04 2022 -0400

    Renames the separated custom messages files to prevent conflict.

commit d927753
Author: Christopher Leggett <chris@leggett.dev>
Date:   Wed Jul 13 23:35:45 2022 -0400

    Refactors custom message code to its own file

commit 14a87f8
Author: Christopher Leggett <chris@leggett.dev>
Date:   Wed Jul 13 21:24:20 2022 -0400

    Makes sure custom get item textboxes match.

    Specifically, they are all bottom of the screen and blue.

commit e9ba8f7
Author: Christopher Leggett <chris@leggett.dev>
Date:   Wed Jul 13 20:35:42 2022 -0400

    Early version of custom messages.
@aMannus aMannus deleted the enhancement-presets branch August 13, 2022 05:44
Kenix3 pushed a commit to Kenix3/Shipwright that referenced this pull request Oct 19, 2022
* Proof of concept

* Finished default preset

* Added v1 presets

* Overhauled implementation

Function has been moved out of ImGuilmpl.cpp, and all presets have been put in their own functions so they can be applied in a cascading manner.

Also did some slight changes to the presets themselves.

* Fixed link animation settings

* Deleted unneccesary change

* Fixed missing newlines

* Moved functions back to ImGuilmpl.cpp

* Removed Ironman preset
dcvz pushed a commit to briaguya-ai/Shipwright that referenced this pull request Nov 12, 2022
* Proof of concept

* Finished default preset

* Added v1 presets

* Overhauled implementation

Function has been moved out of ImGuilmpl.cpp, and all presets have been put in their own functions so they can be applied in a cascading manner.

Also did some slight changes to the presets themselves.

* Fixed link animation settings

* Deleted unneccesary change

* Fixed missing newlines

* Moved functions back to ImGuilmpl.cpp

* Removed Ironman preset
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants