Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Z3DR
9 changes: 8 additions & 1 deletion source/include/setting_descriptions.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -242,4 +242,11 @@ extern string_view startingSwordGildedDesc;
extern string_view startingShieldNoneDesc;
extern string_view startingShieldHerosDesc;
extern string_view startingShieldMirrorDesc;
extern string_view showPostmanItemDesc;
extern string_view showPostmanItemDesc;

extern string_view ingameLTargetingDesc;
extern string_view ingameFirstPersonCameraDesc;
extern string_view ingameFreeCameraDesc;
extern string_view ingameMotionControlsDesc;
extern string_view ingameSwimmingControlsDesc;
extern string_view ingameAdjustVolumeDesc;
7 changes: 7 additions & 0 deletions source/include/settings.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -570,6 +570,13 @@ namespace Settings {
//Custom Buttons
extern Menu customInputs;
extern std::vector<Option*> customButtons;
extern Option IngameLTargeting;
extern Option IngameFirstPersonCamera;
extern Option IngameFreeCamera;
extern Option IngameMotionControls;
extern Option IngameSwimmingControls;
extern Option IngameAdjustVolume;

extern Option CustomMapButton;
extern Option CustomItemsButton;
extern Option CustomMasksButton;
Expand Down
18 changes: 17 additions & 1 deletion source/setting_descriptions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -662,4 +662,20 @@ string_view startingShieldMirrorDesc = "Start with the Mirror Shield.\n"
------------------------------*/ //
string_view showPostmanItemDesc = "Visually shows the reward for the \n" //
"Postman's Freedom quest line \n" //
"above the Postman's head."; //
"above the Postman's head."; //

/*------------------------------
| IN-GAME OPTIONS |
------------------------------*/
string_view ingameLTargetingDesc = "Sets the L-Targeting mode on a new file.\n" //
"\"Vanilla\" is the game's default."; //
string_view ingameFirstPersonCameraDesc = "Sets the first person camera's inversion on a\n"//
"new file. \"Vanilla\" is the game's default."; //
string_view ingameFreeCameraDesc = "Sets the free camera's inversion on a new\n" //
"file. \"Vanilla\" is the game's default."; //
string_view ingameMotionControlsDesc = "Enables or disables motion controls on a new\n" //
"file. \"Vanilla\" is the game's default."; //
string_view ingameSwimmingControlsDesc = "Sets the Zora swimming control scheme on a new\n"//
"file. \"Vanilla\" is the game's default."; //
string_view ingameAdjustVolumeDesc = "Sets the overall volume on a new file.\n" //
"\"Vanilla\" is the game's default."; //
29 changes: 29 additions & 0 deletions source/settings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -494,6 +494,26 @@ namespace Settings {
Option BombchusInLogic = Option::U8("Bombchus In Logic", { "Off", "On" }, { bombchuInLogicDesc });
Option FastMasks = Option::Bool("Fast Mask Transform", {"No", "Yes"}, {fastMaskDesc});
Option NotebookAnimations = Option::Bool("Fast Notebook", {"No", "Yes"}, {disableBotebookAnimation});
// In-game options written into CommonDataSub1 when a new file is created. Index 0 is
// "Vanilla" throughout, which leaves the game's own default in place -- only the Adjust
// Volume encoding (0 Lower / 1 Normal / 2 Higher) is confirmed against the save data, so the
// rest are opt-in rather than applied silently.
Option IngameLTargeting = Option::U8("L-Targeting", {"Vanilla", "Switch", "Hold"}, {ingameLTargetingDesc});
Option IngameFirstPersonCamera = Option::U8("First Person Camera", {"Vanilla", "Normal", "Invert Y Axis", "Invert X Axis", "Invert Both"}, {ingameFirstPersonCameraDesc});
Option IngameFreeCamera = Option::U8("Free Camera", {"Vanilla", "Normal", "Invert Y Axis", "Invert X Axis", "Invert Both"}, {ingameFreeCameraDesc});
Option IngameMotionControls = Option::U8("Motion Controls", {"Vanilla", "On", "Off"}, {ingameMotionControlsDesc});
Option IngameSwimmingControls = Option::U8("Swimming Controls", {"Vanilla", "Normal", "Invert Y Axis"}, {ingameSwimmingControlsDesc});
Option IngameAdjustVolume = Option::U8("Adjust Volume", {"Vanilla", "Lower", "Normal", "Higher"}, {ingameAdjustVolumeDesc});

std::vector<Option*> ingameOptions = {
&IngameLTargeting,
&IngameFirstPersonCamera,
&IngameFreeCamera,
&IngameMotionControls,
&IngameSwimmingControls,
&IngameAdjustVolume,
};

std::vector<Option*> comfortOptions = {

&BlastMaskCooldown,
Expand Down Expand Up @@ -707,6 +727,7 @@ namespace Settings {

//Menu mainSettings = Menu::SubMenu("Main Settings", &mainSettingsOptions);
Menu comfort = Menu::SubMenu("Comfort Settings", &comfortOptions);
Menu ingameOptionsMenu = Menu::SubMenu("In-Game Options", &ingameOptions);
Menu restorationSettings = Menu::SubMenu("Restoration Settings", &restorationOptions);
Menu cutsceneSettings = Menu::SubMenu("Cutscene Settings", &cutsceneOptions);
Menu settingsPresets = Menu::SubMenu("Settings Presets", &settingsPresetItems);
Expand All @@ -733,6 +754,7 @@ namespace Settings {
&cutsceneSettings,
&otherSettings,
&customInputs,
&ingameOptionsMenu,
&cosmetics,
&settingsPresets,
&generateRandomizer,
Expand Down Expand Up @@ -868,6 +890,13 @@ namespace Settings {
ctx.startingLightArrows = StartingLightArrows.Value<u8>();
ctx.startingLensOfTruth = StartingLensOfTruth.Value<u8>();
ctx.startingMagicBean = StartingMagicBean.Value<u8>();

ctx.ingameLTargeting = IngameLTargeting.Value<u8>();
ctx.ingameFirstPersonCamera = IngameFirstPersonCamera.Value<u8>();
ctx.ingameFreeCamera = IngameFreeCamera.Value<u8>();
ctx.ingameMotionControls = IngameMotionControls.Value<u8>();
ctx.ingameSwimmingControls = IngameSwimmingControls.Value<u8>();
ctx.ingameAdjustVolume = IngameAdjustVolume.Value<u8>();
ctx.startingPowderKeg = StartingPowderKeg.Value<u8>();
ctx.startingPictographBox = StartingPictographBox.Value<u8>();
ctx.startingGreatFairySword = StartingGreatFairySword.Value<u8>();
Expand Down