diff --git a/P3D/Content/Localization/Tokens_en.dat b/P3D/Content/Localization/Tokens_en.dat index 0e798a2db..280ef7d78 100644 --- a/P3D/Content/Localization/Tokens_en.dat +++ b/P3D/Content/Localization/Tokens_en.dat @@ -1,7 +1,5 @@ language_name,English ---- ---- ---- +===== Global: global_join,Join global_play,Play @@ -16,6 +14,7 @@ global_game,Game global_login,Log in global_male,Male global_female,Female +global_genderless,Genderless global_yes,Yes global_no,No global_accept,Accept @@ -101,26 +100,40 @@ game_interaction_notification,Notification game_notification_accept,Press to accept. game_notification_dismiss,Press to dismiss. --- -MainMenuScreen: -main_menu_continue,Continue -main_menu_load_game,Load Game -main_menu_new_game,New Game -main_menu_quit_game,Quit Game -LoadScreen: -load_menu_name,Name -load_menu_badges,Badges -load_menu_location,Location -load_menu_time,Time -load_menu_back,Back -load_menu_load,Load -load_menu_delete,Delete -load_menu_gamemode,GameMode +PressStartScreen: +start_screen_press,Press +start_screen_tostart,to start. +--- +Main Menu: +main_menu_newgame_line1,New +main_menu_newgame_line2,Game +main_menu_options,Options +main_menu_savefile_name,Player Name +main_menu_savefile_gamemode,GameMode +main_menu_savefile_badges,Badges +main_menu_savefile_playtime,Play time +main_menu_savefile_location,Location +main_menu_error_gamemode_profile,The required GameMode does not exist! +main_menu_error_gamemode_message,The required GameMode does not exist.~Reaquire the GameMode to play on this profile. +main_menu_error_gamejolt_1,Download failed. Press Accept to try again. +main_menu_error_gamejolt_2,If the problem persists, please try again later +main_menu_error_gamejolt_3,or contact us in our Discord server: +main_menu_error_gamejolt_4,http://www.discord.me/p3d +main_menu_error_filevalidation,File validation failed!~Redownload the game's files to solve this problem. +main_menu_options_language,Language +main_menu_options_audio,Audio +main_menu_options_controls,Controls +main_menu_options_contentpacks_line1,Content +main_menu_options_contentpacks_line2,Packs + DeleteScreen: delete_menu_delete_confirm,Do you really want to delete the save delete_menu_delete,Delete delete_menu_cancel,Cancel GameModeMenu: +gamemode_menu_select1,Select a GameMode +gamemode_menu_select2,to start the new game with. gamemode_menu_name,Name gamemode_menu_description,Description gamemode_menu_version,Version @@ -129,6 +142,88 @@ gamemode_menu_contentpath,ContentPath gamemode_menu_create,Create gamemode_menu_back,Back --- + +Options Screen: +option_screen_title,Options +option_screen_warning,Options aren't saved yet, scroll down and choose "Save options." +option_screen_backadvice,PRESS E TO GO BACK +option_screen_description,Description + +option_screen_game,Game +option_screen_game_textspeed,Text Speed +option_screen_game_textspeed_description,The speed the textbox shows up and~displays the text +option_screen_game_difficulty,Difficulty +option_screen_game_difficulty_description,Difficulty mode~Sets the level of difficulty. +option_screen_game_difficulty_easy,Easy +option_screen_game_difficulty_hard,Hard +option_screen_game_difficulty_superhard,Super Hard +option_screen_game_viewbobbing,View Bobbing +option_screen_game_viewbobbing_description,Turns camera shaking on or off. + +option_screen_graphics,Graphics +option_screen_graphics_fov,Field of View +option_screen_graphics_fov_description,The field of view. The higher the value is,~the more you can see.~Warning: Too large value can cause lags in larger maps. +option_screen_graphics_renderdistance,Render Distance +option_screen_graphics_renderdistance_description,The render distance determines,~how far you can see.~By turning this down, you can improve your FPS. +option_screen_graphics_renderdistance_tiny,Tiny +option_screen_graphics_renderdistance_short,Short +option_screen_graphics_renderdistance_normal,Normal +option_screen_graphics_renderdistance_far,Far +option_screen_graphics_renderdistance_extreme,Extreme +option_screen_graphics_offset_mapquality,Offset Map Quality +option_screen_graphics_offset_mapquality_description,Sets the quality of the offset maps.~The details and update frequency of offset maps increase with this value.~Set this value to 0 to prevent the game from loading offset maps. +option_screen_graphics_offset_mapquality_off,Off +option_screen_graphics_graphics,Graphics +option_screen_graphics_graphics_description,Affects if some objects are rendered~or not. By turning this down, you can improve your FPS.~This settings is for all save states. +option_screen_graphics_graphics_fancy,Fancy +option_screen_graphics_graphics_fast,Fast +option_screen_graphics_multisampling,Multi Sampling + +option_screen_battle,Battle +option_screen_battle_3dmodels,3D Models +option_screen_battle_animations,Animations +option_screen_battle_animations_description,Determines if the game shows battle animations. +option_screen_battle_battlestyle,Battle Style +option_screen_battle_battlestyle_shift,Shift +option_screen_battle_battlestyle_set,Set +option_screen_battle_style_description,Battle Style~Set: You are not asked to switch out your Pokémon~Shift: You can switch out your Pokémon after defeating an opponent. + +option_screen_controls,Controls +option_screen_controls_xboxgamepad,Xbox Gamepad +option_screen_controls_resetkeybindings,Reset Key Bindings +option_screen_controls_cameraspeed,Camera Speed +option_screen_controls_cameraspeed_description,The camera speed sets the speed on which the~mouse can rotate the view. +option_screen_controls_cameraspeed_slow,...Slow... +option_screen_controls_cameraspeed_medium,Standard +option_screen_controls_cameraspeed_fast,Super fast! +option_screen_controls_cameraspeed_fastest,SPEED OF LIGHT! + +option_screen_audio,Audio +option_screen_audio_volume_music,Music Volume +option_screen_audio_volume_music_description,The volume of the background music. +option_screen_audio_volume_sfx,SoundFX Volume +option_screen_audio_volume_music_description,The volume of the sound effects and jingles. +option_screen_audio_muted,Muted + +option_screen_contentpacks_up,Move Up +option_screen_contentpacks_down,Move Down +option_screen_contentpacks_information,Information +option_screen_contentpacks_songs,Songs +option_screen_contentpacks_sounds,Sounds +option_screen_contentpacks_textures,Textures +option_screen_contentpacks_name,Name +option_screen_contentpacks_version,Version +option_screen_contentpacks_by,By +option_screen_contentpacks_content,Content +option_screen_contentpacks_description,Description + +option_screen_resetoptions,Reset options. +option_screen_resetoptions_description,Resets all options. +option_screen_save_options,Save options. +option_screen_save_options_description,Save the options and close the menu. +option_screen_close,Close. +option_screen_close_menu_description,Close the menu and do not save~the changes. +--- Pausescreen: pause_menu_title,Game menu pause_menu_back_to_game,Back to game @@ -247,87 +342,6 @@ save_screen_yes,Yes save_screen_no,No save_screen_success,Saved the game. --- -Options Screen: -option_screen_title,Options -option_screen_warning,Options aren't saved yet, scroll down and choose "Save options." -option_screen_backadvice,PRESS E TO GO BACK -option_screen_description,Description - -option_screen_game,Game -option_screen_game_textspeed,Text Speed -option_screen_game_textspeed_description,The speed the textbox shows up and~displays the text -option_screen_game_difficulty,Difficulty -option_screen_game_difficulty_description,Difficulty mode~Sets the level of difficulty. -option_screen_game_difficulty_easy,Easy -option_screen_game_difficulty_hard,Hard -option_screen_game_difficulty_superhard,Super Hard -option_screen_game_viewbobbing,View Bobbing -option_screen_game_viewbobbing_description,Turns camera shaking on or off. - -option_screen_graphics,Graphics -option_screen_graphics_fov,Field of View -option_screen_graphics_fov_description,The field of view. The higher the value is,~the more you can see.~Warning: Too large value can cause lags in larger maps. -option_screen_graphics_renderdistance,Render Distance -option_screen_graphics_renderdistance_description,The render distance determines,~how far you can see.~By turning this down, you can improve your FPS. -option_screen_graphics_renderdistance_tiny,Tiny -option_screen_graphics_renderdistance_short,Short -option_screen_graphics_renderdistance_normal,Normal -option_screen_graphics_renderdistance_far,Far -option_screen_graphics_renderdistance_extreme,Extreme -option_screen_graphics_offset_mapquality,Offset Map Quality -option_screen_graphics_offset_mapquality_description,Sets the quality of the offset maps.~The details and update frequency of offset maps increase with this value.~Set this value to 0 to prevent the game from loading offset maps. -option_screen_graphics_offset_mapquality_off,Off -option_screen_graphics_graphics,Graphics -option_screen_graphics_graphics_description,Affects if some objects are rendered~or not. By turning this down, you can improve your FPS.~This settings is for all save states. -option_screen_graphics_graphics_fancy,Fancy -option_screen_graphics_graphics_fast,Fast -option_screen_graphics_multisampling,Multi Sampling - -option_screen_battle,Battle -option_screen_battle_3dmodels,3D Models -option_screen_battle_animations,Animations -option_screen_battle_animations_description,Determines if the game shows battle animations. -option_screen_battle_battlestyle,Battle Style -option_screen_battle_battlestyle_shift,Shift -option_screen_battle_battlestyle_set,Set -option_screen_battle_style_description,Battle Style~Set: You are not asked to switch out your Pokémon~Shift: You can switch out your Pokémon after defeating an opponent. - -option_screen_controls,Controls -option_screen_controls_xboxgamepad,Xbox Gamepad -option_screen_controls_resetkeybindings,Reset Key Bindings -option_screen_controls_cameraspeed,Camera Speed -option_screen_controls_cameraspeed_description,The camera speed sets the speed on which the~mouse can rotate the view. -option_screen_controls_cameraspeed_slow,...Slow... -option_screen_controls_cameraspeed_medium,Standard -option_screen_controls_cameraspeed_fast,Super fast! -option_screen_controls_cameraspeed_fastest,SPEED OF LIGHT! - -option_screen_audio,Audio -option_screen_audio_volume_music,Music Volume -option_screen_audio_volume_music_description,The volume of the background music. -option_screen_audio_volume_sfx,SoundFX Volume -option_screen_audio_volume_music_description,The volume of the sound effects and jingles. -option_screen_audio_muted,Muted - -option_screen_contentpacks_up,Move Up -option_screen_contentpacks_down,Move Down -option_screen_contentpacks_information,Information -option_screen_contentpacks_songs,Songs -option_screen_contentpacks_sounds,Sounds -option_screen_contentpacks_textures,Textures -option_screen_contentpacks_name,Name -option_screen_contentpacks_version,Version -option_screen_contentpacks_by,By -option_screen_contentpacks_content,Content -option_screen_contentpacks_description,Description - -option_screen_resetoptions,Reset options. -option_screen_resetoptions_description,Resets all options. -option_screen_save_options,Save options. -option_screen_save_options_description,Save the options and close the menu. -option_screen_close,Close. -option_screen_close_menu_description,Close the menu and do not save~the changes. ---- Item Detail Screen: item_detail_screen_use,Use item_detail_screen_give,Give diff --git a/P3D/Network/Profiles/Emblem.vb b/P3D/Network/Profiles/Emblem.vb index 2c598c321..d6e17ea0f 100644 --- a/P3D/Network/Profiles/Emblem.vb +++ b/P3D/Network/Profiles/Emblem.vb @@ -44,7 +44,7 @@ Backpacker = 4 Pokefan = 5 Maid = 6 - Cheerleader = 7 + Motivator = 7 Clerk = 8 PokemonBreeder = 9 Guitarist = 10 @@ -59,6 +59,29 @@ Veteran = 19 End Enum + Public Enum GenderlessEmblemSpriteType + Preschooler = 0 + SchoolKid = 1 + Youngster = 2 + Waiter = 3 + AceTrainer = 4 + Pokefan = 5 + Butler = 6 + Motivator = 7 + Clerk = 8 + PokemonBreeder = 9 + Drummer = 10 + Cyclist = 11 + RichKid = 12 + Ranger = 13 + Athlete = 14 + Scientist = 15 + Doctor = 16 + OldPerson = 17 + Worker = 18 + Veteran = 19 + End Enum + ''' ''' The sprites of male trainers. ''' @@ -110,6 +133,28 @@ NN71 = 18 NN39 = 19 End Enum + Public Enum GenderlessEmblemSprites + NN40 = 0 + NN42 = 1 + NN44 = 2 + NN46 = 3 + NN70 = 4 + NN52 = 5 + NN74 = 6 + NN76 = 7 + NN53 = 8 + NN55 = 9 + NN80 = 10 + NN72 = 11 + NN57 = 12 + NN59 = 13 + NN78 = 14 + NN64 = 15 + NN66 = 16 + NN69 = 69 + NN84 = 18 + NN39 = 19 + End Enum #End Region @@ -231,10 +276,13 @@ t = t.Clamp(0, 19) - If gender = "1" Then + If gender = "0" Then + Return CType(t, MaleEmblemSpriteType).ToString() + ElseIf gender = "1" Then Return CType(t, FemaleEmblemSpriteType).ToString() + Else + Return CType(t, GenderlessEmblemSpriteType).ToString() End If - Return CType(t, MaleEmblemSpriteType).ToString() End Function Public Shared Function GetPlayerSpriteFile(ByVal level As Integer, ByVal id As String, ByVal gender As String) As String @@ -247,10 +295,15 @@ Dim t As Integer = CInt(Math.Ceiling(level / 5)) - 1 t = t.Clamp(0, 19) - Dim tFile As String = CType(t, MaleEmblemSprites).ToString() - If gender = "1" Then + Dim tFile As String + If gender = "0" Then + tFile = CType(t, MaleEmblemSprites).ToString() + ElseIf gender = "1" Then tFile = CType(t, FemaleEmblemSprites).ToString() + Else + tFile = CType(t, GenderlessEmblemSprites).ToString() End If + If tFile.StartsWith("NN") = True Then tFile = tFile.Remove(0, 2) End If @@ -268,9 +321,13 @@ Dim t As Integer = CInt(Math.Ceiling(level / 5)) - 1 t = t.Clamp(0, 19) - Dim tFile As String = CType(t, MaleEmblemSprites).ToString() - If gender = "1" Then + Dim tFile As String + If gender = "0" Then + tFile = CType(t, MaleEmblemSprites).ToString() + ElseIf gender = "1" Then tFile = CType(t, FemaleEmblemSprites).ToString() + Else + tFile = CType(t, GenderlessEmblemSprites).ToString() End If If tFile.StartsWith("NN") = True Then tFile = tFile.Remove(0, 2) diff --git a/P3D/Screens/MainMenu/NewNewGameScreen.vb b/P3D/Screens/MainMenu/NewNewGameScreen.vb index 7c772c929..7a0cbc8df 100644 --- a/P3D/Screens/MainMenu/NewNewGameScreen.vb +++ b/P3D/Screens/MainMenu/NewNewGameScreen.vb @@ -317,7 +317,7 @@ Next SpriteBatch.DrawString(FontManager.MainFont, _names(_index), New Vector2(CInt(windowSize.Width / 2.0F - FontManager.MainFont.MeasureString(_names(_index)).X), CInt(windowSize.Height / 2.0F + 200)), New Color(255, 255, 255, CInt(255 * _fadeIn)), 0F, Vector2.Zero, 2.0F, SpriteEffects.None, 0F) - SpriteBatch.DrawString(FontManager.MainFont, _genders(_index), New Vector2(CInt(windowSize.Width / 2.0F - FontManager.MainFont.MeasureString(_genders(_index)).X / 2.0F), CInt(windowSize.Height / 2.0F + 300)), New Color(255, 255, 255, CInt(255 * _fadeIn)), 0F, Vector2.Zero, 1.0F, SpriteEffects.None, 0F) + SpriteBatch.DrawString(FontManager.MainFont, Localization.GetString("global_" & _genders(_index), _genders(_index)), New Vector2(CInt(windowSize.Width / 2.0F - FontManager.MainFont.MeasureString(Localization.GetString("global_" & _genders(_index), _genders(_index))).X / 2.0F), CInt(windowSize.Height / 2.0F + 300)), New Color(255, 255, 255, CInt(255 * _fadeIn)), 0F, Vector2.Zero, 1.0F, SpriteEffects.None, 0F) End Sub End Class diff --git a/P3D/Screens/MainMenu/PressStartScreen.vb b/P3D/Screens/MainMenu/PressStartScreen.vb index 8373cdf1f..a6e511228 100644 --- a/P3D/Screens/MainMenu/PressStartScreen.vb +++ b/P3D/Screens/MainMenu/PressStartScreen.vb @@ -212,9 +212,9 @@ Public Class PressStartScreen If IsCurrentScreen() And Core.GameOptions.ShowGUI Then ' Want to implement fading of text, but core doesn't seem to support this. Dim text As String = String.Empty If ControllerHandler.IsConnected() Then - text = "Press" & " " & "to start." + text = Localization.GetString("start_screen_press", "Press") & " " & Localization.GetString("start_screen_tostart", "to start.") Else - text = "Press" & " " & KeyBindings.EnterKey1.ToString().ToUpper & " " & "to start." + text = Localization.GetString("start_screen_press", "Press") & " " & KeyBindings.EnterKey1.ToString().ToUpper & " " & Localization.GetString("start_screen_tostart", "to start.") 'text = "Press " & KeyBindings.EnterKey1.ToString() & ", " & KeyBindings.EnterKey2.ToString() & ", or primary mouse button to start." End If @@ -397,6 +397,8 @@ Public Class NewMainMenuScreen ElseIf New Rectangle(CInt(r.X), CInt(r.Y) + 48, 32, 32).Contains(MouseHandler.MousePosition) Then ButtonChangeFemale() ElseIf New Rectangle(CInt(r.X), CInt(r.Y) + 48 + 48, 32, 32).Contains(MouseHandler.MousePosition) Then + ButtonChangeGenderless() + ElseIf New Rectangle(CInt(r.X), CInt(r.Y) + 48 + 48 + 48, 32, 32).Contains(MouseHandler.MousePosition) Then ButtonResetSave() End If End If @@ -548,6 +550,9 @@ Public Class NewMainMenuScreen SoundManager.PlaySound("select") ButtonChangeFemale() Case 3 + SoundManager.PlaySound("select") + ButtonChangeGenderless() + Case 4 SoundManager.PlaySound("select") ButtonResetSave() End Select @@ -651,6 +656,15 @@ Public Class NewMainMenuScreen Core.Player.Skin = GameJolt.Emblem.GetPlayerSpriteFile(GameJolt.Emblem.GetPlayerLevel(GameJoltSave.Points), GameJoltSave.GameJoltID, GameJoltSave.Gender) _MainProfiles(_selectedProfile).Sprite = GameJolt.Emblem.GetPlayerSprite(GameJolt.Emblem.GetPlayerLevel(GameJoltSave.Points), GameJoltSave.GameJoltID, GameJoltSave.Gender) End Sub + Private Sub ButtonChangeGenderless() + If GameJoltSave.Gender = "2" Then + Exit Sub + End If + GameJoltSave.Gender = "2" + + Core.Player.Skin = GameJolt.Emblem.GetPlayerSpriteFile(GameJolt.Emblem.GetPlayerLevel(GameJoltSave.Points), GameJoltSave.GameJoltID, GameJoltSave.Gender) + _MainProfiles(_selectedProfile).Sprite = GameJolt.Emblem.GetPlayerSprite(GameJolt.Emblem.GetPlayerLevel(GameJoltSave.Points), GameJoltSave.GameJoltID, GameJoltSave.Gender) + End Sub Private Sub ButtonResetSave() GameJoltSave.ResetSave() @@ -662,7 +676,7 @@ Public Class NewMainMenuScreen Select Case _menuIndex Case 0 If _selectedProfile = 1 And Security.FileValidation.IsValid(False) = False Then - _messageBox.Show("File validation failed!~Redownload the game's files to solve this problem.") + _messageBox.Show(Localization.GetString("main_menu_error_filevalidation", "File validation failed!~Redownload the game's files to solve this problem.")) Else _MainProfiles(_selectedProfile).SelectProfile() End If @@ -796,9 +810,15 @@ Public Class NewMainMenuScreen If ScaleScreenRec(New Rectangle(r.X, r.Y + 48 + 48, 32, 32)).Contains(MouseHandler.MousePosition) = True And GameInstance.IsMouseVisible OrElse Not GameInstance.IsMouseVisible And _GameJoltButtonIndex = 3 Then y = 16 - SpriteBatch.DrawInterfaceString(FontManager.InGameFont, "Reset save", New Vector2(r.X + 64 + 4, r.Y + 4 + 48 + 48), fontColor) + SpriteBatch.DrawInterfaceString(FontManager.InGameFont, "Change to genderless", New Vector2(r.X + 64 + 4, r.Y + 4 + 48 + 48), fontColor) End If - SpriteBatch.DrawInterface(_oldMenuTexture, New Rectangle(r.X, r.Y + 48 + 48, 32, 32), New Rectangle(176, 32 + y, 16, 16), Color.White) + SpriteBatch.DrawInterface(_oldMenuTexture, New Rectangle(r.X, r.Y + 48 + 48, 32, 32), New Rectangle(208, 32 + y, 16, 16), Color.White) + If ScaleScreenRec(New Rectangle(r.X, r.Y + 48 + 48, 32, 32)).Contains(MouseHandler.MousePosition) = True And GameInstance.IsMouseVisible OrElse Not GameInstance.IsMouseVisible And _GameJoltButtonIndex = 3 Then + y = 16 + + SpriteBatch.DrawInterfaceString(FontManager.InGameFont, "Reset save", New Vector2(r.X + 64 + 4, r.Y + 4 + 48 + 48 + 48), fontColor) + End If + SpriteBatch.DrawInterface(_oldMenuTexture, New Rectangle(r.X, r.Y + 48 + 48 + 48, 32, 32), New Rectangle(176, 32 + y, 16, 16), Color.White) End Sub Private Sub DrawMainProfiles() @@ -847,25 +867,25 @@ Public Class NewMainMenuScreen For i = 0 To tmpProfile.PokemonTextures.Count - 1 SpriteBatch.Draw(tmpProfile.PokemonTextures(i), New Rectangle(displayRect.X + 30 + i * 70, displayRect.Y + 70, 64, 64), Color.White) Next - GetFontRenderer().DrawString(FontManager.InGameFont, "Player Name: " & tmpProfile.Name & Environment.NewLine & - "GameMode: " & tmpProfile.GameMode, New Vector2(displayRect.X + 30, displayRect.Y + 20), Color.White, 0F, Vector2.Zero, 1.0F, SpriteEffects.None, 0F) - GetFontRenderer().DrawString(FontManager.InGameFont, "Badges: " & tmpProfile.Badges.ToString() & Environment.NewLine & - "Play time: " & tmpProfile.TimePlayed & Environment.NewLine & - "Location: " & tmpProfile.Location, New Vector2(displayRect.X + 30, displayRect.Y + 150), Color.White, 0F, Vector2.Zero, 1.0F, SpriteEffects.None, 0F) + GetFontRenderer().DrawString(FontManager.InGameFont, Localization.GetString("main_menu_savefile_name", "Player Name") & ": " & tmpProfile.Name & Environment.NewLine & + Localization.GetString("main_menu_savefile_gamemode", "GameMode") & ": " & tmpProfile.GameMode, New Vector2(displayRect.X + 30, displayRect.Y + 20), Color.White, 0F, Vector2.Zero, 1.0F, SpriteEffects.None, 0F) + GetFontRenderer().DrawString(FontManager.InGameFont, Localization.GetString("main_menu_savefile_badges", "Badges") & ": " & tmpProfile.Badges.ToString() & Environment.NewLine & + Localization.GetString("main_menu_savefile_playtime", "Play time") & ": " & tmpProfile.TimePlayed & Environment.NewLine & + Localization.GetString("main_menu_savefile_location", "Location") & ": " & tmpProfile.Location, New Vector2(displayRect.X + 30, displayRect.Y + 150), Color.White, 0F, Vector2.Zero, 1.0F, SpriteEffects.None, 0F) Else - GetFontRenderer().DrawString(FontManager.InGameFont, "Player Name: " & tmpProfile.Name & Environment.NewLine & - "GameMode: " & tmpProfile.GameMode, New Vector2(displayRect.X + 30, displayRect.Y + 20), Color.White, 0F, Vector2.Zero, 1.0F, SpriteEffects.None, 0F) + GetFontRenderer().DrawString(FontManager.InGameFont, Localization.GetString("main_menu_savefile_name", "Player Name") & ": " & tmpProfile.Name & Environment.NewLine & + Localization.GetString("main_menu_savefile_gamemode", "GameMode") & ": " & tmpProfile.GameMode, New Vector2(displayRect.X + 30, displayRect.Y + 20), Color.White, 0F, Vector2.Zero, 1.0F, SpriteEffects.None, 0F) SpriteBatch.Draw(_menuTexture, New Rectangle(displayRect.X + 30, displayRect.Y + 70, 32, 32), New Rectangle(0, 32, 32, 32), Color.White) - Dim errorText As String = "" + Dim errorText As String If tmpProfile.IsGameJolt() Then - errorText = "Download failed. Press Accept to try again." & Environment.NewLine & Environment.NewLine & - "If the problem persists, please try again later" & Environment.NewLine & - "or contact us in our Discord server:" & Environment.NewLine & Environment.NewLine & - "http://www.discord.me/p3d" + errorText = Localization.GetString("main_menu_error_gamejolt_1", "Download failed. Press Accept to try again.") & Environment.NewLine & Environment.NewLine & + Localization.GetString("main_menu_error_gamejolt_2", "If the problem persists, please try again later") & Environment.NewLine & + Localization.GetString("main_menu_error_gamejolt_3", "or contact us in our Discord server:") & Environment.NewLine & Environment.NewLine & + Localization.GetString("main_menu_error_gamejolt_4", "http://www.discord.me/p3d") Else - errorText = "The required GameMode does not exist!" + errorText = Localization.GetString("main_menu_error_gamemode_profile", "The required GameMode does not exist!") End If GetFontRenderer().DrawString(FontManager.InGameFont, errorText, New Vector2(displayRect.X + 70, displayRect.Y + 78), Color.White, 0F, Vector2.Zero, 1.0F, SpriteEffects.None, 0F) @@ -883,9 +903,12 @@ Public Class NewMainMenuScreen Next ' Draw arrow. - If _menuIndex <> 0 Then - SpriteBatch.Draw(_menuTexture, New Rectangle(CInt(_screenOrigin.X + _sliderPosition - 16), CInt(_screenOrigin.Y + 170), 32, 16), New Rectangle(0, 16, 32, 16), Color.White) - End If + Select Case _menuIndex + Case 2 + SpriteBatch.Draw(_menuTexture, New Rectangle(CInt(_screenOrigin.X + _sliderPosition - 16), CInt(_screenOrigin.Y + 170), 32, 16), New Rectangle(0, 16, 32, 16), Color.White) + Case 3 + SpriteBatch.Draw(_menuTexture, New Rectangle(CInt(_screenOrigin.X + _sliderPosition - 16), CInt(_screenOrigin.Y + 170), 32, 16), New Rectangle(32, 16, 32, 16), Color.White) + End Select End Sub @@ -1206,6 +1229,13 @@ Public Class NewMainMenuScreen Dim width As Integer = CInt((GameJoltSave.DownloadProgress / (GameJolt.GamejoltSave.SAVEFILECOUNT + GameJolt.GamejoltSave.EXTRADATADOWNLOADCOUNT)) * 160) Canvas.DrawRectangle(New Rectangle(CInt(offset.X), CInt(offset.Y + 3), width, 157), New Color(100, 100, 100, 128)) End If + ElseIf _menuIndex = 3 Then + For x = 0 To 9 + For y = 0 To 9 + SpriteBatch.Draw(t, New Rectangle(CInt(x * 16 + offset.X), CInt(y * 16 + offset.Y), 16, 16), New Rectangle(32, 0, 16, 16), New Color(255, 255, 255, alpha)) + Next + Next + Canvas.DrawRectangle(New Rectangle(CInt(offset.X), CInt(offset.Y), 160, 3), Screens.UI.ColorProvider.AccentColor(True, alpha)) Else For x = 0 To 9 For y = 0 To 9 @@ -1215,8 +1245,8 @@ Public Class NewMainMenuScreen Canvas.DrawRectangle(New Rectangle(CInt(offset.X), CInt(offset.Y), 160, 3), Screens.UI.ColorProvider.AccentColor(False, alpha)) End If If _isNewGameButton Then - Dim textA As String = "New" - Dim textB As String = "Game" + Dim textA As String = Localization.GetString("main_menu_newgame_line1", "New") + Dim textB As String = Localization.GetString("main_menu_newgame_line2", "Game") If alpha >= 250 And CurrentScreen.Identification = Identifications.MainMenuScreen Then FontRenderer.DrawString(FontManager.InGameFont, textA, New Vector2(CInt(offset.X + 80 - (FontManager.InGameFont.MeasureString(textA).X) / 2 + 2), CInt(offset.Y + 72 - FontManager.InGameFont.MeasureString(textA).Y / 2 + 2)), New Color(0, 0, 0, alpha)) @@ -1233,7 +1263,7 @@ Public Class NewMainMenuScreen End If ElseIf _IsOptionsMenuButton Then - Dim text As String = "Options" + Dim text As String = Localization.GetString("main_menu_options", "Options") If alpha >= 250 And CurrentScreen.Identification = Identifications.MainMenuScreen Then FontRenderer.DrawString(FontManager.InGameFont, text, New Vector2(CInt(offset.X + 80 - (FontManager.InGameFont.MeasureString(text).X) / 2 + 2), CInt(offset.Y + 132 - (FontManager.InGameFont.MeasureString(text).Y) / 2 + 2)), New Color(0, 0, 0, alpha)) FontRenderer.DrawString(FontManager.InGameFont, text, New Vector2(CInt(offset.X + 80 - (FontManager.InGameFont.MeasureString(text).X) / 2), CInt(offset.Y + 132 - (FontManager.InGameFont.MeasureString(text).Y) / 2)), New Color(255, 255, 255, alpha)) @@ -1255,14 +1285,14 @@ Public Class NewMainMenuScreen Dim textB As String = "" Select Case _OptionsMenuIndex Case 0 - textA = "Language" + textA = Localization.GetString("main_menu_options_language", "Language") Case 1 - textA = "Audio" + textA = Localization.GetString("main_menu_options_audio", "Audio") Case 2 - textA = "Controls" + textA = Localization.GetString("main_menu_options_controls", "Controls") Case 3 - textA = "Content" - textB = "Packs" + textA = Localization.GetString("main_menu_options_contentpacks_line1", "Content") + textB = Localization.GetString("main_menu_options_contentpacks_line2", "Packs") End Select If _OptionsMenuIndex <> 3 Then @@ -1331,9 +1361,9 @@ Public Class NewMainMenuScreen _logoBounce = 0F End If End If - Dim text As String = "Log in" + Dim text As String = Localization.GetString("global_login", "Log in") If _isLoading Then - text = "Loading..." + text = Localization.GetString("global_loading", "Loading") & "..." End If SpriteBatch.Draw(_sprite, New Rectangle(CInt(offset.X + 46), CInt(offset.Y + 36 + Math.Sin(_logoBounce) * 8.0F), 68, 72), New Color(255, 255, 255, alpha)) @@ -1422,7 +1452,7 @@ Public Class NewMainMenuScreen LoadGameJolt() ElseIf IsOptionsMenuButton = False Then Dim messageBox As New UI.MessageBox(CurrentScreen) - messageBox.Show("The required GameMode does not exist.~Reaquire the GameMode to play on this profile.".Replace("~", Environment.NewLine)) + messageBox.Show(Localization.GetString("main_menu_error_gamemode_message", "The required GameMode does not exist.~Reaquire the GameMode to play on this profile.").Replace("~", Environment.NewLine)) Else _menuIndex = 2 _selectedProfileTemp = _selectedProfile @@ -1476,7 +1506,7 @@ Public Class GameModeSelectionScreen SpriteBatch.Draw(GameModeSplash, windowSize, Color.White) End If - Dim text = "Select a GameMode" + Environment.NewLine + "to start the new game with." + Dim text = Localization.GetString("gamemode_menu_select1", "Select a GameMode") + Environment.NewLine + Localization.GetString("gamemode_menu_select2", "to start the new game with.") GetFontRenderer().DrawString(FontManager.InGameFont, text, New Vector2(30, 30), Color.White) Dim _menuTexture As Texture2D = TextureManager.GetTexture("GUI\Menus\MainMenu")