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

New Mod Menu, Stuck Sprite fix, and bug fixes #67

Merged
merged 30 commits into from
Oct 17, 2021

Conversation

drojf
Copy link
Contributor

@drojf drojf commented Oct 16, 2021

This is a draft because I want to check some things before merging.

General Bug Fixes

Original/Ryukishi mode fixes

  • Fix sprite positions not matching original game when there are 3 sprites on the screen at once.
    • Our base mod has spaced out some sprites to better fit the widescreen aspect ratio in some cases. This fix attempts to put them back to their original position when you are using 4:3 Original backgrounds.
    • Fixed by 74c247b
  • Fix portrait (zoomed in sprite) images not being cropped when using 4:3 mode (you would need to use Console sprites with OG backgrounds)

Mod Menu Updates

  • Fixes issues raised in: Improve Graphics Options Usability / UX #61
  • Added tabs for Gameplay, Graphics, Audio, and Troubleshooting to separate options
  • Graphics presets are now "Console/Mangagamer/Original" instead of "ADV/NVL/Ryukishi"
  • Made sprite/background/text window options less confusing by making the following options independent of each other:
    • Sprite style (used to be changed when changing the "art set")
    • Background style (used to be changed via an override, and would reset when "art set" changed)
    • Background stretching (used to be part of the background selection)
    • Text window appearance (used to depend on the graphics preset)
  • Dedicated "Custom" graphics preset
    • Custom preset is no longer indicated by a asterisk (*) next to a default preset - instead it appears as its own preset
    • This preset is activated when you modify any of the default presets (or just click "Custom")
    • The values in the "Custom" preset are saved, even if you activate one of the default presets. This allows you to switch between your custom preset and any of the default presets to see how it looks
  • Added in d276ea6 44914d7 6f0dc46 ad4557b c1eb7b4 c0ab2c9 d6a6c17 9d024d6 256d143 e444bd1 24a7b7a 7255e6a e1e9ffb d5f616e e587233 1e89fd5 32273fb ca7083d 6c1758a 00e1391 279a6e4 f2d2a61 4de7bad 04dfda5 de907e4 37b040f

Known issues not fixed by this PR

  • When playing with the 4:3 window (OG/Ryukishi mode), when a game choice appears, the choice text will be offset to one side instead of being centered.

Features not included in this PR

  • The computed lipsync feature (so we don't need to include a spectrum file for every ogg file to perform lipsync) is not included in this PR. The tester reported lag when using this just before a voice played, so I held off including it for now. It's probably something fixable, but at this point there isn't much reason to work on it.

 - Changing art set no longer resets the background type to Console
 - Changing art set no longer resets background stretch
 - NOTE: this is incompatible with older versions of the mod, but toggling graphics presets should fix it.
 - Each time the artset is toggled, ReloadAllImages() is called. This reloads all images, but doesn't free the old images which are no longer displayed.
 - The old images are freed when you next advance the text (UnloadUnusedAssets() is called by Unity automatically).
 - If you repeatedly call ReloadAllImages() without advancing the text, the old images will build up in memory until you get an out-of-memory crash
 - This commit forces Unity to free the old images every time ReloadAllImages() is called
# Conflicts:
#	Assets.Scripts.Core.Scene/Layer.cs
# Conflicts:
#	Assets.Scripts.Core.Scene/Layer.cs
- Directly swap out the texture of the character being lipsynced, rather than calling MODDrawBustshot
- This should avoid issues where MODDrawBustshot is called at an innapropriate time, causing the character to get stuck on the screen.
- If the MODLipSyncProcess is ever called at the wrong time, it won't ever cause the character to be stuck on the screen, however it may cause the wrong sprite to be displayed if the layer is re-used for another character immediately after. It should clear next time the sprite is re-drawn.
@drojf drojf changed the title F mod menu stuck sprite fix rc New Mod Menu, Stuck Sprite fix, and bug fixes Oct 16, 2021
@drojf drojf marked this pull request as ready for review October 17, 2021 04:09
@drojf drojf merged commit 3d821bc into mod Oct 17, 2021
@drojf drojf deleted the f-mod-menu-stuck-sprite-fix-rc branch September 14, 2022 12:06
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.

1 participant