Skip to content

Commit 86eaa4b

Browse files
committed
去除草地 #20
1 parent 37a28ff commit 86eaa4b

File tree

7 files changed

+55
-8
lines changed

7 files changed

+55
-8
lines changed

src/Snap.Hutao.Remastered/Snap.Hutao.Remastered/Core/Setting/SettingKeys.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ internal static class SettingKeys
128128
public const string LaunchDisplayPaimon = "Snap::Hutao::Game::Island::DisplayPaimon";
129129
public const string LaunchDebugMode = "Snap::Hutao::Game::Island::DebugMode";
130130
public const string LaunchHidePlayerInfo = "Snap::Hutao::Game::Island::HidePlayerInfo";
131+
public const string LaunchHideGrass = "Snap::Hutao::Game::Island::HideGrass";
131132
public const string LaunchRedirectCombineEntry = "Snap::Hutao::Game::Island::Synthesis::Redirect";
132133
public const string LaunchUsingOverlay = "Snap::Hutao::Game::Overlay";
133134
public const string LaunchOverlaySelectedCatalogId = "Snap::Hutao::Game::Overlay::CatalogId";

src/Snap.Hutao.Remastered/Snap.Hutao.Remastered/Resource/Localization/SH.en.resx

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3980,10 +3980,34 @@ Space Available: {2}</value>
39803980
<data name="ViewCardSignInAutoSignInDescription" xml:space="preserve">
39813981
<value>Enable automatic sign-in at application start</value>
39823982
</data>
3983+
<data name="ViewPageLaunchGameIslandDisplayPaimonHeader" xml:space="preserve">
3984+
<value>Display Paimon in Game</value>
3985+
</data>
3986+
<data name="ViewPageLaunchGameIslandDisplayPaimonDescription" xml:space="preserve">
3987+
<value>Display Paimon</value>
3988+
</data>
3989+
<data name="ViewPageLaunchGameIslandDebugModeHeader" xml:space="preserve">
3990+
<value>Debug Mode</value>
3991+
</data>
3992+
<data name="ViewPageLaunchGameIslandDebugModeDescription" xml:space="preserve">
3993+
<value>Enable Debug Mode</value>
3994+
</data>
3995+
<data name="ViewPageLaunchGameIslandHidePlayerInfoHeader" xml:space="preserve">
3996+
<value>Hide Player Information</value>
3997+
</data>
3998+
<data name="ViewPageLaunchGameIslandHidePlayerInfoDescription" xml:space="preserve">
3999+
<value>Hide Player Information</value>
4000+
</data>
39834001
<data name="ControlAutoSuggestTokenBoxRemoveMenuItem" xml:space="preserve">
39844002
<value>Delete</value>
39854003
</data>
39864004
<data name="ViewPageLaunchGameDisablePlayerPerspectiveDescription" xml:space="preserve">
39874005
<value>Special Interface Fix</value>
39884006
</data>
4007+
<data name="ViewPageLaunchGameIslandHideGrassHeader" xml:space="preserve">
4008+
<value>Hide Grass</value>
4009+
</data>
4010+
<data name="ViewPageLaunchGameIslandHideGrassDescription" xml:space="preserve">
4011+
<value>Hide Grass in Game</value>
4012+
</data>
39894013
</root>

src/Snap.Hutao.Remastered/Snap.Hutao.Remastered/Resource/Localization/SH.resx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4023,6 +4023,12 @@
40234023
<data name="ViewPageLaunchGameIslandDisplayPaimonDescription" xml:space="preserve">
40244024
<value>在游戏中显示派蒙</value>
40254025
</data>
4026+
<data name="ViewPageLaunchGameIslandHideGrassHeader" xml:space="preserve">
4027+
<value>隐藏草地</value>
4028+
</data>
4029+
<data name="ViewPageLaunchGameIslandHideGrassDescription" xml:space="preserve">
4030+
<value>在游戏中隐藏草地</value>
4031+
</data>
40264032
<data name="ViewPageLaunchGameIslandDebugModeHeader" xml:space="preserve">
40274033
<value>调试模式</value>
40284034
</data>

src/Snap.Hutao.Remastered/Snap.Hutao.Remastered/Service/Game/Island/GameIslandInterop.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ private static unsafe IslandEnvironmentView UpdateIslandEnvironment(nint handle,
140140
pIslandEnvironment->ResinListItemId107012Allowed = options.ResinListItemId107012Allowed.Value;
141141
pIslandEnvironment->ResinListItemId220007Allowed = options.ResinListItemId220007Allowed.Value;
142142
pIslandEnvironment->DisplayPaimon = options.DisplayPaimon.Value;
143+
pIslandEnvironment->HideGrass = options.HideGrass.Value;
143144
pIslandEnvironment->DebugMode = options.DebugMode.Value;
144145
pIslandEnvironment->HidePlayerInfo = options.HidePlayerInfo.Value;
145146

src/Snap.Hutao.Remastered/Snap.Hutao.Remastered/Service/Game/Island/IslandEnvironment.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,13 @@ internal struct IslandEnvironment
3535
public BOOL DisplayPaimon;
3636
public BOOL DebugMode;
3737
public BOOL HidePlayerInfo;
38+
public BOOL HideGrass;
3839
public HookFunctionOffsets Offsets;
3940
}
4041

4142
internal struct HookFunctionOffsets
4243
{
44+
#pragma warning disable CS0649
4345
[JsonConverter(typeof(HexStringToNintConverter))]
4446
public uint SetUid;
4547
[JsonConverter(typeof(HexStringToNintConverter))]
@@ -113,6 +115,9 @@ internal struct HookFunctionOffsets
113115
public uint GetGlobalActor;
114116
[JsonConverter(typeof(HexStringToNintConverter))]
115117
public uint AvatarPaimonAppear;
118+
[JsonConverter(typeof(HexStringToNintConverter))]
119+
public uint GetName;
120+
#pragma warning restore CS0649
116121
}
117122

118123
public class HexStringToNintConverter : JsonConverter<nint>

src/Snap.Hutao.Remastered/Snap.Hutao.Remastered/Service/Game/LaunchOptions.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,9 @@ internal sealed partial class LaunchOptions : DbStoreOptions, IRestrictedGamePat
151151
[field: MaybeNull]
152152
public IObservableProperty<bool> HidePlayerInfo { get => field ??= CreateProperty(SettingKeys.LaunchHidePlayerInfo, false); }
153153

154+
[field: MaybeNull]
155+
public IObservableProperty<bool> HideGrass { get => field ??= CreateProperty(SettingKeys.LaunchHideGrass, false); }
156+
154157
[field: MaybeNull]
155158
public IObservableProperty<ImmutableArray<AspectRatio>> AspectRatios { get => field ??= CreatePropertyForStructUsingJson(SettingKeys.LaunchAspectRatios, ImmutableArray<AspectRatio>.Empty); }
156159

src/Snap.Hutao.Remastered/Snap.Hutao.Remastered/UI/Xaml/View/Page/LaunchGamePage.xaml

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -855,44 +855,51 @@
855855
IsOn="{Binding LaunchOptions.DebugMode.Value, Mode=TwoWay}"
856856
ToolTipService.ToolTip="{shuxm:ResourceString Name=ViewPageLaunchGameIslandDebugModeDescription}"/>
857857

858-
<!-- Hidden items should be at the end -->
859858
<ToggleSwitch
860-
Visibility="Collapsed"
861859
Grid.Row="4"
862860
Grid.Column="2"
861+
Header="{shuxm:ResourceString Name=ViewPageLaunchGameIslandHideGrassHeader}"
862+
IsOn="{Binding LaunchOptions.HideGrass.Value, Mode=TwoWay}"
863+
ToolTipService.ToolTip="{shuxm:ResourceString Name=ViewPageLaunchGameIslandHideGrassDescription}"/>
864+
865+
<!-- Hidden items should be at the end -->
866+
<ToggleSwitch
867+
Visibility="Collapsed"
868+
Grid.Row="5"
869+
Grid.Column="0"
863870
Header="{shuxm:ResourceString Name=ViewPageLaunchGameIslandHidePlayerInfoHeader}"
864871
IsOn="{Binding LaunchOptions.HidePlayerInfo.Value, Mode=TwoWay}"
865872
ToolTipService.ToolTip="{shuxm:ResourceString Name=ViewPageLaunchGameIslandHidePlayerInfoDescription}"/>
866873

867874
<ToggleSwitch
868875
Visibility="Collapsed"
869876
Grid.Row="5"
870-
Grid.Column="0"
877+
Grid.Column="1"
871878
Header="{shuxm:ResourceString Name=ViewPageLaunchGameIslandResinListItemAllowOriginalResinHeader}"
872879
IsOn="{Binding LaunchOptions.ResinListItemId000106Allowed.Value, Mode=TwoWay}"/>
873880
<ToggleSwitch
874881
Visibility="Collapsed"
875882
Grid.Row="5"
876-
Grid.Column="1"
883+
Grid.Column="2"
877884
Header="{shuxm:ResourceString Name=ViewPageLaunchGameIslandResinListItemAllowPrimogemHeader}"
878885
IsOn="{Binding LaunchOptions.ResinListItemId000201Allowed.Value, Mode=TwoWay}"/>
879886
<ToggleSwitch
880887
Visibility="Collapsed"
881-
Grid.Row="5"
882-
Grid.Column="2"
888+
Grid.Row="6"
889+
Grid.Column="0"
883890
Header="{shuxm:ResourceString Name=ViewPageLaunchGameIslandResinListItemAllowFragileResinHeader}"
884891
IsOn="{Binding LaunchOptions.ResinListItemId107009Allowed.Value, Mode=TwoWay}"/>
885892

886893
<ToggleSwitch
887894
Visibility="Collapsed"
888895
Grid.Row="6"
889-
Grid.Column="0"
896+
Grid.Column="1"
890897
Header="{shuxm:ResourceString Name=ViewPageLaunchGameIslandResinListItemAllowTransientResinHeader}"
891898
IsOn="{Binding LaunchOptions.ResinListItemId107012Allowed.Value, Mode=TwoWay}"/>
892899
<ToggleSwitch
893900
Visibility="Collapsed"
894901
Grid.Row="6"
895-
Grid.Column="1"
902+
Grid.Column="2"
896903
Header="{shuxm:ResourceString Name=ViewPageLaunchGameIslandResinListItemAllowCondensedResinHeader}"
897904
IsOn="{Binding LaunchOptions.ResinListItemId220007Allowed.Value, Mode=TwoWay}"/>
898905
</Grid>

0 commit comments

Comments
 (0)