Skip to content

Commit

Permalink
Started Max and Min Zoom levels, updated Generic mod menu API, update…
Browse files Browse the repository at this point in the history
…d menus, updated config file, updated readme file
  • Loading branch information
thespbgamer committed Jan 27, 2022
1 parent 1dac376 commit 0c59966
Show file tree
Hide file tree
Showing 4 changed files with 344 additions and 132 deletions.
84 changes: 54 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,67 @@
## ZoomLevel
You can increase zoom level with ``, (comma)`` and decrease it with ``. (period)``.
## Description and Features

By holding ``Left Shift`` or ``Right Shift`` and using the controls above, you can change the UI Scale.
**ZoomLevel** is a [Stardew Valley](http://stardewvalley.net/) mod based on [this mod](https://github.com/GuiNoya/SVMods/) and it allows you to change and adjust the zoom level and UI levels of the game.

If you use a controller, you can also adjust it by pressing the ``left stick`` to decrease the zoom and ``right stick`` to increases the zoom.
* You can increase zoom level with ``, (comma)`` and decrease it with ``. (period)``.<br>
By holding ``Left Shift`` or ``Right Shift`` and using the controls above, you can change the UI Scale.

* If you use a controller, you can also adjust it by pressing the ``left stick`` to decrease the zoom and ``right stick`` to increases the zoom.<br>
By holding ``Left Trigger & Right Trigger`` and using the controls above, you can change the UI Scale.

## Contents
* [Installation](#install)
* [Configure](#configure)
* [Compatibility](#compatibility)
* [See also](#see-also)

## Installation
1. [Install the latest version of SMAPI](https://smapi.io/).
2. Download the mod from [nexus mods](https://www.nexusmods.com/stardewvalley/mods/7363?tab=files) or from [github](https://github.com/thespbgamer/ZoomLevel/releases/).
3. Unzip the mod folder into your Stardew Valley/Mods.
4. Run the game using SMAPI.

## Configure
### In-game settings
If you have the [generic mod config menu](https://www.nexusmods.com/stardewvalley/mods/5098?tab=files) installed, the configuration process becomes much simpler, you can click the cog button (⚙) on the title screen or the "mod options" button at the bottom of
the in-game menu to configure the mod.

By pressing ``Home`` to reset both values to 100%.
### `config.json` file
The mod creates a `config.json` file in its mod folder the first time you run it. You can open the file in a text editor like notepad to configure the mod.

## Install:
Here's what you can change:

1. [Install the latest version of SMAPI](https://github.com/Pathoschild/SMAPI/releases).
2. Unzip the mod folder into your Stardew Valley/Mods.
3. Run the game using SMAPI.
* Player controls:

## Configuration:
Setting Name | Default Value | Description
:------------------------------- | :-------------------------------------------------------------- | :------------------
`KeybindListIncreaseZoomOrUI` | `OemPeriod` aka `.` or `RightStick` | Key to Increase Zoom or UI Level.
`KeybindListDecreaseZoomOrUI` | `OemComma` aka `,` or `LeftStick` | Key to Decrease Zoom or UI Level.
`KeybindListHoldToChangeUI` | `LeftShift` or `RightShift` or `LeftTrigger and RightTrigger"` | Key you need to hold to change the UI.
`KeybindListResetZoomOrUI` | `null` aka **nothing** | Key to Reset the Zoom or UI Level.
`KeybindListMaxZoom` | `null` aka **nothing** | Key to Max the Zoom out or Maximize the UI.
`KeybindListMinZoom` | `null` aka **nothing** | Key to Max the Zoom in or Minimize the UI.

* Zoom and UI values:

In the mod folder open the file ``config.json``:
```
- "IncreaseZoomOrUI": the keys that increases the Zoom or UI
- "DecreaseZoomOrUI": the key that decreases the zoom or UI
- "HoldToChangeUIKeys": the key that you need to hold to change the UI instead of the zoom
- "SuppressControllerButton": when set to "true" it only changes the zoom level with the controller button and "false" to let the game also handle the button press
- "ResetZoom": resets the zoom back to 100%
- "ResetUI": resets the UI back to 100%
- "ZoomAndUIControlEverywhere": if true then you can change your zoom and UI levels on menus, cutscenes, etc...
- "ZoomLevelIncreaseValue": How much to increase the zoom level (needs to be a positive number)
- "ZoomLevelDecreaseValue": How much to decrease the zoom level (needs to be a negative number)
- "MaxZoomOutLevelAndUIValue": The zoom out value cap (default at 35%)
- "MaxZoomInLevelAndUIValue": The zoom in value cap (default at 200%)
- "ResetZoomValue": The value of the zoom level reset (default at 1)
- "ResetUIValue": The value of the UI level reset (default at 1)
```
Setting Name | Default Value | Description
:----------------------------- | :------------ | :------------------
`ZoomLevelIncreaseValue` | 0.05 | The amount of Zoom or UI Level increase.
`ZoomLevelDecreaseValue` | -0.05 | The amount of Zoom or UI Level decrease.
`MaxZoomOutLevelAndUIValue` | 0.35 | The value of the max Zoom out Level or Max UI.
`MaxZoomInLevelAndUIValue` | -0.35 | The value of the max Zoom in Level or Min UI.
`ResetZoomOrUIValue` | 1.00 | The value of the Zoom or UI level reset.

## Based on:
[This Mod](https://github.com/GuiNoya/SVMods/).
* Other options:

## Nexus Page:
[Click here](https://www.nexusmods.com/stardewvalley/mods/7363).
Setting Name | Default Value | Description
:------------------------------ | :-------------- | :------------------
`SuppressControllerButton` | `true` | If your controller inputs are suppressed or not.
`ZoomAndUIControlEverywhere` | `false` | If activated you can control your Zoom and UI Level anywhere.

## Compatibility
ZoomLevel is compatible with Stardew Valley 1.5.5+ on Linux/Mac/Windows, both single-player, local co-op and
multiplayer.

## See also
* [Nexus mod](http://www.nexusmods.com/stardewvalley/mods/7363/)
* [The mod that this mod was based by](https://github.com/GuiNoya/SVMods/)
21 changes: 11 additions & 10 deletions ZoomLevel/ModConfig.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,12 @@ namespace ZoomLevel
{
internal class ModConfig
{
public KeybindList IncreaseZoomOrUI { get; set; } = KeybindList.Parse("OemPeriod, RightStick");
public KeybindList DecreaseZoomOrUI { get; set; } = KeybindList.Parse("OemComma, LeftStick");
public KeybindList HoldToChangeUIKeys { get; set; } = KeybindList.Parse("LeftShift, RightShift, LeftTrigger + RightTrigger");
public KeybindList ResetZoom { get; set; } = KeybindList.Parse("Home");
public KeybindList ResetUI { get; set; } = KeybindList.Parse("Home");

public bool SuppressControllerButton { get; set; } = true;
public bool ZoomAndUIControlEverywhere { get; set; } = false;
public KeybindList KeybindListHoldToChangeUI { get; set; } = KeybindList.Parse("LeftShift, RightShift, LeftTrigger + RightTrigger");
public KeybindList KeybindListIncreaseZoomOrUI { get; set; } = KeybindList.Parse("OemPeriod, RightStick");
public KeybindList KeybindListDecreaseZoomOrUI { get; set; } = KeybindList.Parse("OemComma, LeftStick");
public KeybindList KeybindListResetZoomOrUI { get; set; } = KeybindList.Parse("");
public KeybindList KeybindListMaxZoom { get; set; } = KeybindList.Parse("");
public KeybindList KeybindListMinZoom { get; set; } = KeybindList.Parse("");

public float ZoomLevelIncreaseValue { get; set; } = 0.05f;
public float ZoomLevelDecreaseValue { get; set; } = -0.05f;
Expand All @@ -20,7 +18,10 @@ internal class ModConfig

public float MaxZoomInLevelAndUIValue { get; set; } = 2.00f;

public float ResetUIValue { get; set; } = 1.00f;
public float ResetZoomValue { get; set; } = 1.00f;
public float ResetZoomOrUIValue { get; set; } = 1.00f;

public bool SuppressControllerButton { get; set; } = true;
public bool ZoomAndUIControlEverywhere { get; set; } = false;

}
}
Loading

0 comments on commit 0c59966

Please sign in to comment.