mirror of
https://github.com/P3D-Legacy/P3D-Legacy.git
synced 2025-04-08 18:35:09 +02:00
change title screen background
This commit is contained in:
parent
2935b7c85c
commit
a2cef30a50
13
P3D.sln
13
P3D.sln
@ -1,7 +1,7 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.27130.2026
|
||||
VisualStudioVersion = 15.0.27130.2036
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "P3D", "P3D\P3D.vbproj", "{2AAF65BE-C81D-4663-ABF4-E2E09B16E12F}"
|
||||
EndProject
|
||||
@ -19,6 +19,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TearUp", "lib\tools\TearUp\
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TearDown", "lib\tools\TearDown\TearDown.csproj", "{0AE314A4-6005-48C7-BCD4-33E4C5057CFD}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GameDevCommon", "lib\game-dev-common\src\GameDevCommon\GameDevCommon.csproj", "{087378EE-7591-47CE-979F-6824FC0606EF}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
@ -75,6 +77,14 @@ Global
|
||||
{0AE314A4-6005-48C7-BCD4-33E4C5057CFD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0AE314A4-6005-48C7-BCD4-33E4C5057CFD}.ReleaseNoContent|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0AE314A4-6005-48C7-BCD4-33E4C5057CFD}.ReleaseNoContent|Any CPU.Build.0 = Release|Any CPU
|
||||
{087378EE-7591-47CE-979F-6824FC0606EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{087378EE-7591-47CE-979F-6824FC0606EF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{087378EE-7591-47CE-979F-6824FC0606EF}.DebugNoContent|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{087378EE-7591-47CE-979F-6824FC0606EF}.DebugNoContent|Any CPU.Build.0 = Debug|Any CPU
|
||||
{087378EE-7591-47CE-979F-6824FC0606EF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{087378EE-7591-47CE-979F-6824FC0606EF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{087378EE-7591-47CE-979F-6824FC0606EF}.ReleaseNoContent|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{087378EE-7591-47CE-979F-6824FC0606EF}.ReleaseNoContent|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
@ -86,6 +96,7 @@ Global
|
||||
{3B2AEA8E-4384-48D8-B26B-2C67466A1352} = {7877D883-AA51-4C27-ADA5-C4F85F86F4EE}
|
||||
{417FEA8A-9334-4938-9370-519EF1551B05} = {7877D883-AA51-4C27-ADA5-C4F85F86F4EE}
|
||||
{0AE314A4-6005-48C7-BCD4-33E4C5057CFD} = {7877D883-AA51-4C27-ADA5-C4F85F86F4EE}
|
||||
{087378EE-7591-47CE-979F-6824FC0606EF} = {3CE8099E-129D-40F9-8D23-005DFF32E2A2}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {8FE3951F-DE18-41FF-A035-32DF597A91F2}
|
||||
|
BIN
P3D/Content/GUI/MainMenu/clouds.png
Normal file
BIN
P3D/Content/GUI/MainMenu/clouds.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 397 B |
BIN
P3D/Content/GUI/MainMenu/ground.png
Normal file
BIN
P3D/Content/GUI/MainMenu/ground.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 477 B |
BIN
P3D/Content/GUI/MainMenu/hooh.png
Normal file
BIN
P3D/Content/GUI/MainMenu/hooh.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.0 KiB |
BIN
P3D/Content/GUI/MainMenu/hoohParticles.png
Normal file
BIN
P3D/Content/GUI/MainMenu/hoohParticles.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 271 B |
BIN
P3D/Content/GUI/MainMenu/lugia.png
Normal file
BIN
P3D/Content/GUI/MainMenu/lugia.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.0 KiB |
BIN
P3D/Content/GUI/MainMenu/lugiaParticle.png
Normal file
BIN
P3D/Content/GUI/MainMenu/lugiaParticle.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 241 B |
@ -1,4 +1,5 @@
|
||||
Imports System.Windows.Forms
|
||||
Imports GameDevCommon
|
||||
|
||||
''' <summary>
|
||||
''' Controls the game's main workflow.
|
||||
@ -6,6 +7,7 @@
|
||||
Public Class GameController
|
||||
|
||||
Inherits Microsoft.Xna.Framework.Game
|
||||
Implements IGame
|
||||
|
||||
''' <summary>
|
||||
''' The current version of the game.
|
||||
@ -50,6 +52,8 @@ Public Class GameController
|
||||
Public FPSMonitor As FPSMonitor
|
||||
Public Shared UpdateChecked As Boolean = False
|
||||
|
||||
Private _componentManager As ComponentManager
|
||||
|
||||
Public Sub New()
|
||||
Graphics = New GraphicsDeviceManager(Me)
|
||||
Content.RootDirectory = "Content"
|
||||
@ -66,15 +70,18 @@ Public Class GameController
|
||||
If GameHacked = True Then
|
||||
Security.HackerAlerts.Activate()
|
||||
End If
|
||||
|
||||
_componentManager = New ComponentManager()
|
||||
GameInstanceProvider.SetInstance(Me)
|
||||
End Sub
|
||||
|
||||
Protected Overrides Sub Initialize()
|
||||
_componentManager.LoadComponents()
|
||||
Core.Initialize(Me)
|
||||
MyBase.Initialize()
|
||||
End Sub
|
||||
|
||||
Protected Overrides Sub LoadContent()
|
||||
|
||||
End Sub
|
||||
|
||||
Protected Overrides Sub UnloadContent()
|
||||
@ -131,6 +138,14 @@ Public Class GameController
|
||||
NetworkPlayer.ScreenRegionChanged()
|
||||
End Sub
|
||||
|
||||
Public Function GetGame() As Game Implements IGame.GetGame
|
||||
Return Me
|
||||
End Function
|
||||
|
||||
Public Function GetComponentManager() As ComponentManager Implements IGame.GetComponentManager
|
||||
Return _componentManager
|
||||
End Function
|
||||
|
||||
Private Shared GameHacked As Boolean = False 'Temp value that stores if a hacking file was detected at game start.
|
||||
|
||||
''' <summary>
|
||||
|
@ -528,7 +528,7 @@ Public Class OverworldCamera
|
||||
If Core.GameOptions.ViewBobbing = False Then
|
||||
Return 0.0F
|
||||
End If
|
||||
If Screen.Level.Riding = True Then
|
||||
If Screen.Level?.Riding = True Then
|
||||
Return CSng(Math.Sin(_bobbingTemp) * 0.012)
|
||||
Else
|
||||
If Core.Player.IsRunning() = True Then
|
||||
|
@ -11044,6 +11044,24 @@
|
||||
<Content Include="Content\Data\smashrockitems.dat">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\GUI\MainMenu\clouds.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\GUI\MainMenu\ground.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\GUI\MainMenu\hooh.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\GUI\MainMenu\hoohParticles.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\GUI\MainMenu\lugia.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\GUI\MainMenu\lugiaParticle.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Localization\Tokens_de.dat">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
@ -27452,11 +27470,19 @@
|
||||
<Compile Include="Screens\MainMenu\IntroScreen.vb" />
|
||||
<Compile Include="Screens\MainMenu\JoinServerScreen.vb" />
|
||||
<Compile Include="Screens\MainMenu\MainMenuCamera.vb" />
|
||||
<Compile Include="Screens\MainMenu\MainMenuEntity.vb" />
|
||||
<Compile Include="Screens\MainMenu\NewGameCamera.vb" />
|
||||
<Compile Include="Screens\MainMenu\NewNewGameScreen.vb" />
|
||||
<Compile Include="Screens\MainMenu\OfflineGameWarningScreen.vb" />
|
||||
<Compile Include="Screens\MainMenu\PauseScreen.vb" />
|
||||
<Compile Include="Screens\MainMenu\PressStartScreen.vb" />
|
||||
<Compile Include="Screens\MainMenu\Scene\Clouds.vb" />
|
||||
<Compile Include="Screens\MainMenu\Scene\Ground.vb" />
|
||||
<Compile Include="Screens\MainMenu\Scene\LugiaParticle.vb" />
|
||||
<Compile Include="Screens\MainMenu\Scene\Lugia.vb" />
|
||||
<Compile Include="Screens\MainMenu\Scene\HoOh.vb" />
|
||||
<Compile Include="Screens\MainMenu\Scene\HoOhParticle.vb" />
|
||||
<Compile Include="Screens\MainMenu\Scene\MainMenuCamera.vb" />
|
||||
<Compile Include="Screens\MainMenu\SplashScreen.vb" />
|
||||
<Compile Include="Screens\MapPreview\MapPreviewCamera.vb" />
|
||||
<Compile Include="Screens\MapPreview\MapPreviewScreen.vb" />
|
||||
@ -27557,6 +27583,12 @@
|
||||
<Compile Include="World\Terrain.vb" />
|
||||
<Compile Include="World\World.vb" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\lib\game-dev-common\src\GameDevCommon\GameDevCommon.csproj">
|
||||
<Project>{087378ee-7591-47ce-979f-6824fc0606ef}</Project>
|
||||
<Name>GameDevCommon</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||
<Import Condition=" '$(Configuration)' != 'DebugNoContent' Or '$(Configuration)' != 'ReleaseNoContent' " Project="$(MSBuildExtensionsPath)\MonoGame\v3.0\MonoGame.Content.Builder.targets" />
|
||||
<PropertyGroup>
|
||||
|
@ -723,7 +723,9 @@
|
||||
Data = IO.File.ReadAllText(GameController.GamePath & "\Save\" & filePrefix & "\Player.dat").SplitAtNewline()
|
||||
End If
|
||||
|
||||
Screen.Level.Riding = False
|
||||
If Not Screen.Level Is Nothing Then
|
||||
Screen.Level.Riding = False
|
||||
End If
|
||||
|
||||
For Each Line As String In Data
|
||||
If Line <> "" And Line.Contains("|") = True Then
|
||||
@ -848,7 +850,6 @@
|
||||
TempSurfSkin = Value
|
||||
Case "surfing"
|
||||
startSurfing = CBool(Value)
|
||||
Screen.Level.Surfing = CBool(Value)
|
||||
Case "bp"
|
||||
BP = CInt(Value)
|
||||
Case "gtsstars"
|
||||
@ -867,7 +868,7 @@
|
||||
End If
|
||||
Next
|
||||
|
||||
If IsGameJoltSave = True And Screen.Level.Surfing = False Then
|
||||
If IsGameJoltSave = True And startSurfing = False Then
|
||||
Skin = GameJolt.Emblem.GetPlayerSpriteFile(GameJolt.Emblem.GetPlayerLevel(GameJoltSave.Points), GameJoltSave.GameJoltID, GameJoltSave.Gender)
|
||||
Select Case GameJoltSave.Gender
|
||||
Case "0"
|
||||
|
25
P3D/Screens/MainMenu/MainMenuEntity.vb
Normal file
25
P3D/Screens/MainMenu/MainMenuEntity.vb
Normal file
@ -0,0 +1,25 @@
|
||||
Namespace Screens.MainMenu
|
||||
|
||||
Public Class MainMenuEntity
|
||||
|
||||
Inherits GameDevCommon.Rendering.Base3DObject(Of VertexPositionNormalTexture)
|
||||
|
||||
Public Position As Vector3
|
||||
Public Rotation As Vector3
|
||||
Public ToBeRemoved As Boolean
|
||||
|
||||
Public Sub New(position As Vector3)
|
||||
Me.Position = position
|
||||
Me.Rotation = Vector3.Zero
|
||||
End Sub
|
||||
|
||||
Protected Overrides Sub CreateWorld()
|
||||
World = Matrix.CreateRotationX(Rotation.X) *
|
||||
Matrix.CreateRotationY(Rotation.Y) *
|
||||
Matrix.CreateRotationZ(Rotation.Z) *
|
||||
Matrix.CreateTranslation(Position)
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
@ -1,4 +1,7 @@
|
||||
''' <summary>
|
||||
Imports GameDevCommon.Drawing
|
||||
Imports P3D.Screens.MainMenu
|
||||
|
||||
''' <summary>
|
||||
''' The "Press {BUTTON} to start" screen.
|
||||
''' </summary>
|
||||
Public Class PressStartScreen
|
||||
@ -9,8 +12,6 @@ Public Class PressStartScreen
|
||||
Private _introDelay As Single = 4.0F
|
||||
Private _logoFade As Single = 1.0F
|
||||
|
||||
'Private _mainMenuMaps As DataModel.Json.Game.MainMenuMapModel()
|
||||
|
||||
Private _logoTexture As Texture2D = Nothing
|
||||
Private _shineTexture As Texture2D = Nothing
|
||||
|
||||
@ -20,6 +21,13 @@ Public Class PressStartScreen
|
||||
|
||||
Private target As RenderTarget2D
|
||||
|
||||
Private _shader As GameDevCommon.Rendering.Shader
|
||||
Private _entities As List(Of MainMenuEntity) = New List(Of MainMenuEntity)()
|
||||
Private _camera As Screens.MainMenu.Scene.MainMenuCamera
|
||||
Private _fromColor As Color
|
||||
Private _toColor As Color
|
||||
Private _textColor As Color
|
||||
|
||||
Dim tempF As Single = 0F
|
||||
Dim tempG As Single = 0F
|
||||
|
||||
@ -35,17 +43,7 @@ Public Class PressStartScreen
|
||||
|
||||
GameModeManager.SetGameModePointer("Kolben")
|
||||
|
||||
Effect = New BasicEffect(GraphicsDevice)
|
||||
Effect.FogEnabled = True
|
||||
|
||||
SkyDome = New SkyDome()
|
||||
Camera = New MainMenuCamera()
|
||||
|
||||
Core.Player.Skin = "Hilbert"
|
||||
World.IsMainMenu = True
|
||||
Level = New Level()
|
||||
ChangeLevel()
|
||||
Level.World.Initialize(Level.EnvironmentType, Level.WeatherType)
|
||||
|
||||
If IO.Directory.Exists(GameController.GamePath & "\Save\") = False Then
|
||||
IO.Directory.CreateDirectory(GameController.GamePath & "\Save\")
|
||||
@ -60,20 +58,71 @@ Public Class PressStartScreen
|
||||
_shineRenderer = New SpriteBatch(GraphicsDevice)
|
||||
_backgroundRenderer = New SpriteBatch(GraphicsDevice)
|
||||
|
||||
target = New RenderTarget2D(GraphicsDevice, windowSize.Width, windowSize.Height, False, SurfaceFormat.Color, DepthFormat.Depth24Stencil8)
|
||||
target = New RenderTarget2D(GraphicsDevice, 1200, 680, False, SurfaceFormat.Color, DepthFormat.Depth24Stencil8)
|
||||
|
||||
'crappy fix
|
||||
Screens.MainMenu.NewNewGameScreen.CharacterSelectionScreen.SelectedSkin = ""
|
||||
Core.Player.Unload()
|
||||
|
||||
_shader = New GameDevCommon.Rendering.BasicShader()
|
||||
CType(_shader.Effect, BasicEffect).LightingEnabled = False
|
||||
_camera = New Scene.MainMenuCamera()
|
||||
|
||||
Dim dayTime = World.GetTime
|
||||
|
||||
Select Case dayTime
|
||||
Case World.DayTime.Morning
|
||||
_fromColor = New Color(246, 170, 109)
|
||||
_toColor = New Color(248, 248, 248)
|
||||
_textColor = Color.Black
|
||||
Case World.DayTime.Day
|
||||
_fromColor = New Color(120, 160, 248)
|
||||
_toColor = New Color(248, 248, 248)
|
||||
_textColor = Color.Black
|
||||
Case World.DayTime.Evening
|
||||
_fromColor = New Color(32, 64, 168)
|
||||
_toColor = New Color(40, 80, 88)
|
||||
_textColor = Color.White
|
||||
Case World.DayTime.Night
|
||||
_fromColor = New Color(32, 64, 168)
|
||||
_toColor = New Color(0, 0, 0)
|
||||
_textColor = Color.White
|
||||
End Select
|
||||
|
||||
If dayTime = World.DayTime.Day OrElse dayTime = World.DayTime.Morning Then
|
||||
Dim clouds = New Scene.Clouds()
|
||||
clouds.LoadContent()
|
||||
_entities.Add(clouds)
|
||||
|
||||
Dim hooh = New Scene.HoOh(_entities)
|
||||
hooh.LoadContent()
|
||||
_entities.Add(hooh)
|
||||
Else
|
||||
Dim ground = New Scene.Ground()
|
||||
ground.LoadContent()
|
||||
_entities.Add(ground)
|
||||
|
||||
Dim lugia = New Scene.Lugia(_entities)
|
||||
lugia.LoadContent()
|
||||
_entities.Add(lugia)
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub Update()
|
||||
Lighting.UpdateLighting(Effect)
|
||||
|
||||
Camera.Update()
|
||||
Level.Update()
|
||||
SkyDome.Update()
|
||||
Level.World.Initialize(Level.EnvironmentType, Level.WeatherType)
|
||||
For i = 0 To _entities.Count - 1
|
||||
If i < _entities.Count Then
|
||||
_entities(i).Update()
|
||||
If _entities(i).ToBeRemoved Then
|
||||
_entities(i).Dispose()
|
||||
_entities.RemoveAt(i)
|
||||
i -= 1
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
_camera.Update()
|
||||
|
||||
If _introDelay > 0F Then
|
||||
_introDelay -= 0.1F
|
||||
@ -112,20 +161,38 @@ Public Class PressStartScreen
|
||||
|
||||
Public Overrides Sub Draw()
|
||||
If _blurHandler Is Nothing Then
|
||||
_blurHandler = New Resources.Blur.BlurHandler(windowSize.Width, windowSize.Height)
|
||||
_blurHandler = New Resources.Blur.BlurHandler(target.Width, target.Height)
|
||||
End If
|
||||
|
||||
GraphicsDevice.SetRenderTarget(target)
|
||||
GraphicsDevice.Clear(BackgroundColor)
|
||||
GraphicsDevice.ResetFull()
|
||||
GraphicsDevice.Clear(_fromColor)
|
||||
|
||||
SkyDome.Draw(45.0F)
|
||||
Level.Draw()
|
||||
|
||||
' DRAW HERE
|
||||
_backgroundRenderer.Begin()
|
||||
|
||||
_backgroundRenderer.DrawGradient(New Rectangle(0, CType(target.Height / 2, Integer), target.Width, CType(target.Height / 4, Integer)),
|
||||
_fromColor, _toColor, False, 1, 10)
|
||||
_backgroundRenderer.DrawRectangle(New Rectangle(0, CType(target.Height / 4 * 3, Integer), target.Width, CType(target.Height / 4, Integer)),
|
||||
_toColor)
|
||||
|
||||
_backgroundRenderer.End()
|
||||
|
||||
GraphicsDevice.ResetFull()
|
||||
_shader.Prepare(_camera)
|
||||
For Each entity In _entities
|
||||
_shader.Render(entity)
|
||||
Next
|
||||
|
||||
GraphicsDevice.SetRenderTarget(Nothing)
|
||||
|
||||
|
||||
_backgroundRenderer.Begin()
|
||||
Dim blurred = _blurHandler.Perform(target)
|
||||
_backgroundRenderer.Draw(blurred, New Rectangle(0, 0, windowSize.Width, windowSize.Height), Color.White)
|
||||
|
||||
'_backgroundRenderer.Draw(target, New Rectangle(0, 0, windowSize.Width, windowSize.Height), Color.White)
|
||||
_backgroundRenderer.End()
|
||||
|
||||
If IsCurrentScreen() Then
|
||||
@ -135,7 +202,7 @@ Public Class PressStartScreen
|
||||
End If
|
||||
_shineRenderer.Begin(SpriteSortMode.Texture, BlendState.Additive)
|
||||
|
||||
_logoRenderer.Draw(_logoTexture, New Rectangle(CInt(ScreenSize.Width / 2) - 400, CInt(160 * _fadeIn), 768, 282), New Color(255, 255, 255, CInt(255 * _logoFade)))
|
||||
_logoRenderer.Draw(_logoTexture, New Rectangle(CInt(ScreenSize.Width / 2) - 350, CInt(160 * _fadeIn), 700, 300), New Color(255, 255, 255, CInt(255 * _logoFade)))
|
||||
_shineRenderer.Draw(_shineTexture, New Rectangle(CInt(ScreenSize.Width / 2 - 250 + Math.Sin(tempF) * 240.0F), CInt(-100 + Math.Sin(tempG) * 10.0F + CInt(160 * _fadeIn)), 512, 512), New Color(255, 255, 255, CInt(255 * _logoFade)))
|
||||
|
||||
If _fadeIn = 0F Then
|
||||
@ -150,11 +217,11 @@ Public Class PressStartScreen
|
||||
Dim textSize As Vector2 = FontManager.GameJoltFont.MeasureString(text)
|
||||
|
||||
GetFontRenderer().DrawString(FontManager.GameJoltFont, text, New Vector2(windowSize.Width / 2.0F - textSize.X / 2.0F,
|
||||
windowSize.Height / 2.0F - textSize.Y / 2.0F + 100), Color.White)
|
||||
windowSize.Height - textSize.Y - 50), _textColor)
|
||||
|
||||
If ControllerHandler.IsConnected() Then
|
||||
SpriteBatch.Draw(TextureManager.GetTexture("GUI\GamePad\xboxControllerButtonA"), New Rectangle(CInt(windowSize.Width / 2 - textSize.X / 2 + FontManager.GameJoltFont.MeasureString("Press ").X),
|
||||
CInt(windowSize.Height / 2 - textSize.Y / 2 + 98), 40, 40), Color.White)
|
||||
CInt(windowSize.Height - textSize.Y - 50), 40, 40), Color.White)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
@ -165,20 +232,6 @@ Public Class PressStartScreen
|
||||
Canvas.DrawRectangle(windowSize, New Color(0, 0, 0, CInt(255 * _fadeIn)))
|
||||
End Sub
|
||||
|
||||
Private Sub ChangeLevel()
|
||||
Dim levelCount As Integer = 0
|
||||
For Each levelPath As String In System.IO.Directory.GetFiles(GameController.GamePath & "\Content\Data\maps\mainmenu\")
|
||||
Dim levelFile As String = System.IO.Path.GetFileName(levelPath)
|
||||
If levelFile.StartsWith("mainmenu") = True And levelFile.EndsWith(".dat") = True Then
|
||||
levelCount += 1
|
||||
End If
|
||||
Next
|
||||
|
||||
Dim levelID As Integer = Core.Random.Next(0, levelCount)
|
||||
|
||||
Level.Load("mainmenu\mainmenu" & levelID & ".dat")
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub ChangeTo()
|
||||
Core.Player.Unload()
|
||||
Core.Player.Skin = "Hilbert"
|
||||
|
41
P3D/Screens/MainMenu/Scene/Clouds.vb
Normal file
41
P3D/Screens/MainMenu/Scene/Clouds.vb
Normal file
@ -0,0 +1,41 @@
|
||||
Imports GameDevCommon.Rendering
|
||||
Imports GameDevCommon.Rendering.Composers
|
||||
Imports GameDevCommon.Rendering.Texture
|
||||
|
||||
Namespace Screens.MainMenu.Scene
|
||||
|
||||
Public Class Clouds
|
||||
|
||||
Inherits MainMenuEntity
|
||||
|
||||
Public Sub New()
|
||||
MyBase.New(New Vector3(0, -13, 0))
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub LoadContent()
|
||||
Texture = TextureManager.LoadDirect("GUI\MainMenu\clouds.png")
|
||||
|
||||
MyBase.LoadContent()
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub Update()
|
||||
Position.X += 0.2F
|
||||
If Position.X >= 32.0F Then
|
||||
Position.X = 0F
|
||||
End If
|
||||
|
||||
CreateWorld()
|
||||
MyBase.Update()
|
||||
End Sub
|
||||
|
||||
Protected Overrides Sub CreateGeometry()
|
||||
|
||||
Dim vertices = RectangleComposer.Create(320, 22, New TextureRectangle(0, 0, 10, 1))
|
||||
VertexTransformer.Rotate(vertices, New Vector3(MathHelper.PiOver2, 0, 0))
|
||||
Geometry.AddVertices(vertices)
|
||||
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
43
P3D/Screens/MainMenu/Scene/Ground.vb
Normal file
43
P3D/Screens/MainMenu/Scene/Ground.vb
Normal file
@ -0,0 +1,43 @@
|
||||
Imports GameDevCommon.Rendering
|
||||
Imports GameDevCommon.Rendering.Composers
|
||||
Imports GameDevCommon.Rendering.Texture
|
||||
|
||||
Namespace Screens.MainMenu.Scene
|
||||
|
||||
Public Class Ground
|
||||
|
||||
Inherits MainMenuEntity
|
||||
|
||||
Public Sub New()
|
||||
MyBase.New(New Vector3(0, -13, 0))
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub LoadContent()
|
||||
Texture = TextureManager.LoadDirect("GUI\MainMenu\ground.png")
|
||||
|
||||
MyBase.LoadContent()
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub Update()
|
||||
Position.X += 0.2F
|
||||
If Position.X >= 32.0F Then
|
||||
Position.X = 0F
|
||||
End If
|
||||
|
||||
Position.Y = -50
|
||||
|
||||
CreateWorld()
|
||||
MyBase.Update()
|
||||
End Sub
|
||||
|
||||
Protected Overrides Sub CreateGeometry()
|
||||
|
||||
Dim vertices = RectangleComposer.Create(320, 96, New TextureRectangle(0, 0, 10, 1))
|
||||
VertexTransformer.Rotate(vertices, New Vector3(MathHelper.PiOver2, 0, 0))
|
||||
Geometry.AddVertices(vertices)
|
||||
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
97
P3D/Screens/MainMenu/Scene/HoOh.vb
Normal file
97
P3D/Screens/MainMenu/Scene/HoOh.vb
Normal file
@ -0,0 +1,97 @@
|
||||
Imports GameDevCommon.Rendering
|
||||
Imports GameDevCommon.Rendering.Composers
|
||||
Imports GameDevCommon.Rendering.Texture
|
||||
|
||||
Namespace Screens.MainMenu.Scene
|
||||
|
||||
Public Class HoOh
|
||||
|
||||
Inherits MainMenuEntity
|
||||
|
||||
Private Shared _random As Random = New Random()
|
||||
|
||||
Private _entities As List(Of MainMenuEntity)
|
||||
Private _textures As Texture2D()
|
||||
Private _textureIndex As Integer = 0
|
||||
Private _animationDelay As Integer = 10
|
||||
|
||||
Public Sub New(entities As List(Of MainMenuEntity))
|
||||
MyBase.New(New Vector3(0, -13, 1))
|
||||
Rotation.Y = -0.2F
|
||||
_entities = entities
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub LoadContent()
|
||||
Dim t = TextureManager.LoadDirect("GUI\MainMenu\hooh.png")
|
||||
Dim colors = New Color(80 * 48 - 1) {}
|
||||
Dim textures = New List(Of Texture2D)
|
||||
|
||||
For x = 0 To 4
|
||||
|
||||
t.GetData(0, New Rectangle(x * 80, 0, 80, 48), colors, 0, colors.Length)
|
||||
Dim tex = New Texture2D(GraphicsDevice, 80, 48)
|
||||
tex.SetData(colors)
|
||||
textures.Add(tex)
|
||||
|
||||
Next
|
||||
|
||||
_textures = textures.ToArray()
|
||||
|
||||
Texture = _textures(_textureIndex)
|
||||
|
||||
MyBase.LoadContent()
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub Update()
|
||||
_animationDelay -= 1
|
||||
If _animationDelay = 0 Then
|
||||
_animationDelay = 8
|
||||
_textureIndex += 1
|
||||
If _textureIndex = _textures.Length Then
|
||||
_textureIndex = 0
|
||||
End If
|
||||
|
||||
Texture = _textures(_textureIndex)
|
||||
|
||||
For i = 0 To _random.Next(1, 4)
|
||||
|
||||
Dim particle = New HoOhParticle(Position +
|
||||
New Vector3(6, GetParticleY() * 10, 0) +
|
||||
New Vector3(_random.Next(-3, 4), _random.Next(-3, 4), 0), _random.Next(0, 4))
|
||||
particle.LoadContent()
|
||||
_entities.Add(particle)
|
||||
|
||||
Next
|
||||
End If
|
||||
|
||||
CreateWorld()
|
||||
MyBase.Update()
|
||||
End Sub
|
||||
|
||||
Protected Overrides Sub CreateGeometry()
|
||||
|
||||
Dim vertices = RectangleComposer.Create(37, 22)
|
||||
VertexTransformer.Rotate(vertices, New Vector3(MathHelper.PiOver2, 0, 0))
|
||||
Geometry.AddVertices(vertices)
|
||||
|
||||
End Sub
|
||||
|
||||
Private Function GetParticleY() As Integer
|
||||
Select Case _textureIndex
|
||||
Case 0
|
||||
Return 1
|
||||
Case 1
|
||||
Return 0
|
||||
Case 2
|
||||
Return -1
|
||||
Case 3
|
||||
Return 1
|
||||
Case 4
|
||||
Return 1
|
||||
End Select
|
||||
Return 0
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
61
P3D/Screens/MainMenu/Scene/HoOhParticle.vb
Normal file
61
P3D/Screens/MainMenu/Scene/HoOhParticle.vb
Normal file
@ -0,0 +1,61 @@
|
||||
Imports GameDevCommon.Rendering
|
||||
Imports GameDevCommon.Rendering.Composers
|
||||
Imports GameDevCommon.Rendering.Texture
|
||||
|
||||
Namespace Screens.MainMenu.Scene
|
||||
|
||||
Public Class HoOhParticle
|
||||
|
||||
Inherits MainMenuEntity
|
||||
|
||||
Private Shared _particleTexture As Texture2D
|
||||
Private Shared _particleTextures As Dictionary(Of Integer, Texture2D) = New Dictionary(Of Integer, Texture2D)()
|
||||
|
||||
Private ReadOnly _texVariant As Integer
|
||||
|
||||
Public Sub New(position As Vector3, texVariant As Integer)
|
||||
MyBase.New(position)
|
||||
_texVariant = texVariant
|
||||
IsOpaque = False
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub LoadContent()
|
||||
If _particleTexture Is Nothing Then
|
||||
_particleTexture = TextureManager.LoadDirect("GUI\MainMenu\hoohParticles.png")
|
||||
For i = 0 To 3
|
||||
Dim colors = New Color(5 * 5 - 1) {}
|
||||
_particleTexture.GetData(0, New Rectangle(i * 5, 0, 5, 5), colors, 0, colors.Length)
|
||||
Dim tex = New Texture2D(GraphicsDevice, 5, 5)
|
||||
tex.SetData(colors)
|
||||
_particleTextures.Add(i, tex)
|
||||
Next
|
||||
End If
|
||||
|
||||
Texture = _particleTextures(_texVariant)
|
||||
|
||||
MyBase.LoadContent()
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub Update()
|
||||
Position.X += 1
|
||||
Alpha -= 0.02F
|
||||
|
||||
If Alpha <= 0F Then
|
||||
ToBeRemoved = True
|
||||
End If
|
||||
|
||||
CreateWorld()
|
||||
MyBase.Update()
|
||||
End Sub
|
||||
|
||||
Protected Overrides Sub CreateGeometry()
|
||||
|
||||
Dim vertices = RectangleComposer.Create(4, 4)
|
||||
VertexTransformer.Rotate(vertices, New Vector3(MathHelper.PiOver2, 0, 0))
|
||||
Geometry.AddVertices(vertices)
|
||||
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
79
P3D/Screens/MainMenu/Scene/Lugia.vb
Normal file
79
P3D/Screens/MainMenu/Scene/Lugia.vb
Normal file
@ -0,0 +1,79 @@
|
||||
Imports GameDevCommon.Rendering
|
||||
Imports GameDevCommon.Rendering.Composers
|
||||
Imports GameDevCommon.Rendering.Texture
|
||||
|
||||
Namespace Screens.MainMenu.Scene
|
||||
|
||||
Public Class Lugia
|
||||
|
||||
Inherits MainMenuEntity
|
||||
|
||||
Private Shared _random As Random = New Random()
|
||||
|
||||
Private _entities As List(Of MainMenuEntity)
|
||||
Private _textures As Texture2D()
|
||||
Private _textureIndex As Integer = 0
|
||||
Private _animationDelay As Integer = 10
|
||||
|
||||
Public Sub New(entities As List(Of MainMenuEntity))
|
||||
MyBase.New(New Vector3(0, -13, 1))
|
||||
Rotation.Y = -0.2F
|
||||
_entities = entities
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub LoadContent()
|
||||
Dim t = TextureManager.LoadDirect("GUI\MainMenu\lugia.png")
|
||||
Dim colors = New Color(80 * 48 - 1) {}
|
||||
Dim textures = New List(Of Texture2D)
|
||||
|
||||
For x = 0 To 3
|
||||
|
||||
t.GetData(0, New Rectangle(x * 80, 0, 80, 48), colors, 0, colors.Length)
|
||||
Dim tex = New Texture2D(GraphicsDevice, 80, 48)
|
||||
tex.SetData(colors)
|
||||
textures.Add(tex)
|
||||
|
||||
Next
|
||||
|
||||
_textures = textures.ToArray()
|
||||
|
||||
Texture = _textures(_textureIndex)
|
||||
|
||||
MyBase.LoadContent()
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub Update()
|
||||
_animationDelay -= 1
|
||||
If _animationDelay = 0 Then
|
||||
_animationDelay = 12
|
||||
_textureIndex += 1
|
||||
If _textureIndex = _textures.Length Then
|
||||
_textureIndex = 0
|
||||
End If
|
||||
|
||||
Texture = _textures(_textureIndex)
|
||||
|
||||
For i = 0 To _random.Next(1, 4)
|
||||
|
||||
Dim particle = New LugiaParticle(Position + New Vector3(10, -5, 0))
|
||||
particle.LoadContent()
|
||||
_entities.Add(particle)
|
||||
|
||||
Next
|
||||
End If
|
||||
|
||||
CreateWorld()
|
||||
MyBase.Update()
|
||||
End Sub
|
||||
|
||||
Protected Overrides Sub CreateGeometry()
|
||||
|
||||
Dim vertices = RectangleComposer.Create(37, 22)
|
||||
VertexTransformer.Rotate(vertices, New Vector3(MathHelper.PiOver2, 0, 0))
|
||||
Geometry.AddVertices(vertices)
|
||||
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
54
P3D/Screens/MainMenu/Scene/LugiaParticle.vb
Normal file
54
P3D/Screens/MainMenu/Scene/LugiaParticle.vb
Normal file
@ -0,0 +1,54 @@
|
||||
Imports GameDevCommon.Rendering
|
||||
Imports GameDevCommon.Rendering.Composers
|
||||
Imports GameDevCommon.Rendering.Texture
|
||||
|
||||
Namespace Screens.MainMenu.Scene
|
||||
|
||||
Public Class LugiaParticle
|
||||
|
||||
Inherits MainMenuEntity
|
||||
|
||||
Private Shared _particleTexture As Texture2D
|
||||
Dim _phase As Single
|
||||
|
||||
Public Sub New(position As Vector3)
|
||||
MyBase.New(position)
|
||||
IsOpaque = False
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub LoadContent()
|
||||
If _particleTexture Is Nothing Then
|
||||
_particleTexture = TextureManager.LoadDirect("GUI\MainMenu\lugiaParticle.png")
|
||||
End If
|
||||
|
||||
Texture = _particleTexture
|
||||
|
||||
MyBase.LoadContent()
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub Update()
|
||||
_phase += 0.4F
|
||||
|
||||
Position.X += 1.2F
|
||||
Position.Y += CType(Math.Sin(_phase), Single)
|
||||
Alpha -= 0.01F
|
||||
|
||||
If Alpha <= 0F Then
|
||||
ToBeRemoved = True
|
||||
End If
|
||||
|
||||
CreateWorld()
|
||||
MyBase.Update()
|
||||
End Sub
|
||||
|
||||
Protected Overrides Sub CreateGeometry()
|
||||
|
||||
Dim vertices = RectangleComposer.Create(8, 8)
|
||||
VertexTransformer.Rotate(vertices, New Vector3(MathHelper.PiOver2, 0, 0))
|
||||
Geometry.AddVertices(vertices)
|
||||
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
24
P3D/Screens/MainMenu/Scene/MainMenuCamera.vb
Normal file
24
P3D/Screens/MainMenu/Scene/MainMenuCamera.vb
Normal file
@ -0,0 +1,24 @@
|
||||
Namespace Screens.MainMenu.Scene
|
||||
|
||||
Public Class MainMenuCamera
|
||||
|
||||
Inherits GameDevCommon.Rendering.PerspectiveCamera
|
||||
|
||||
Public Sub New()
|
||||
Pitch = 0
|
||||
FOV = 45
|
||||
Position = New Vector3(0, 0, 100)
|
||||
|
||||
CreateView()
|
||||
CreateProjection()
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub Update()
|
||||
Yaw = -0.1F
|
||||
|
||||
CreateView()
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
BIN
lib/build/GameDevCommon.dll
Normal file
BIN
lib/build/GameDevCommon.dll
Normal file
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user