Added PressStartScreen and NewNewGameScreen, and the new intro sequence for offline saves with it.
|
@ -61,6 +61,9 @@
|
|||
<Import Include="Microsoft.Xna.Framework.Audio" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="maps\newgame\intro.dat" />
|
||||
<None Include="maps\newgame\intro0.dat" />
|
||||
<None Include="Scripts\newgame\intro.dat" />
|
||||
<Reference Include="MonoGame.Framework">
|
||||
<HintPath>$(MonoGameInstallDirectory)\MonoGame\v3.0\Assemblies\DesktopGL\MonoGame.Framework.dll</HintPath>
|
||||
</Reference>
|
||||
|
@ -1679,9 +1682,11 @@
|
|||
<Compile Include="Screens\MainMenu\IntroScreen.vb" />
|
||||
<Compile Include="Screens\MainMenu\JoinServerScreen.vb" />
|
||||
<Compile Include="Screens\MainMenu\MainMenuCamera.vb" />
|
||||
<Compile Include="Screens\MainMenu\MainMenuScreen.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\SplashScreen.vb" />
|
||||
<Compile Include="Screens\MapPreview\MapPreviewCamera.vb" />
|
||||
<Compile Include="Screens\MapPreview\MapPreviewScreen.vb" />
|
||||
|
@ -1729,6 +1734,7 @@
|
|||
<Compile Include="World\ActionScript\V2\ScriptCommands\DoEntity.vb" />
|
||||
<Compile Include="World\ActionScript\V2\ScriptCommands\DoEnvironment.vb" />
|
||||
<Compile Include="World\ActionScript\V2\ScriptCommands\DoItem.vb" />
|
||||
<Compile Include="World\ActionScript\V2\ScriptCommands\DoSystem.vb" />
|
||||
<Compile Include="World\ActionScript\V2\ScriptCommands\DoLevel.vb" />
|
||||
<Compile Include="World\ActionScript\V2\ScriptCommands\DoMusic.vb" />
|
||||
<Compile Include="World\ActionScript\V2\ScriptCommands\DoNPC.vb" />
|
||||
|
@ -1746,6 +1752,7 @@
|
|||
<Compile Include="World\ActionScript\V2\ScriptCommands\DoText.vb" />
|
||||
<Compile Include="World\ActionScript\V2\ScriptCommands\DoTitle.vb" />
|
||||
<Compile Include="World\ActionScript\V2\ScriptComparer.vb" />
|
||||
<Compile Include="World\ActionScript\V2\ScriptConstructs\DoScreen.vb" />
|
||||
<Compile Include="World\ActionScript\V2\ScriptConstructs\DoBattle.vb" />
|
||||
<Compile Include="World\ActionScript\V2\ScriptConstructs\DoCamera.vb" />
|
||||
<Compile Include="World\ActionScript\V2\ScriptConstructs\DoDaycare.vb" />
|
||||
|
@ -1780,6 +1787,7 @@
|
|||
<Compile Include="World\Terrain.vb" />
|
||||
<Compile Include="World\World.vb" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||
<Import Condition=" '$(Configuration)' != 'DebugNoContent' Or '$(Configuration)' != 'ReleaseNoContent' " Project="$(MSBuildExtensionsPath)\MonoGame\v3.0\MonoGame.Content.Builder.targets" />
|
||||
</Project>
|
|
@ -78,7 +78,7 @@
|
|||
|
||||
If CommandLineArgHandler.NoSplash = True Then
|
||||
Core.LoadContent()
|
||||
SetScreen(New MainMenuScreen())
|
||||
SetScreen(New PressStartScreen())
|
||||
Else
|
||||
SetScreen(New SplashScreen(GameInstance))
|
||||
End If
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
Public Shared username As String = ""
|
||||
Public Shared token As String = ""
|
||||
Public Shared gameJoltId As String = ""
|
||||
|
||||
Public Shared LoggedIn As Boolean = False
|
||||
|
||||
|
|
|
@ -128,7 +128,7 @@ Public Class FontManager
|
|||
Return loadedGameJoltFont
|
||||
Else
|
||||
hasLoadedGameJoltFont = True
|
||||
loadedGameJoltFont = Content.Load(Of SpriteFont)("SharedResources\Fonts\GameJolt")
|
||||
loadedGameJoltFont = Content.Load(Of SpriteFont)("Fonts\BMP\GameJolt")
|
||||
loadedGameJoltFont.DefaultCharacter = " "c
|
||||
Return loadedGameJoltFont
|
||||
End If
|
||||
|
|
|
@ -67,6 +67,12 @@ Public Class GameModeManager
|
|||
End Get
|
||||
End Property
|
||||
|
||||
Public Shared ReadOnly Property GetAllGameModes() As GameMode()
|
||||
Get
|
||||
Return GameModeList.ToArray()
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Checks if a GameMode exists.
|
||||
''' </summary>
|
||||
|
@ -548,7 +554,7 @@ Public Class GameMode
|
|||
Dim SkinNames As List(Of String) = {"Ethan", "Lyra", "Nate", "Rosa", "Hilbert", "Hilda"}.ToList()
|
||||
|
||||
Dim gameMode As New GameMode("Pokemon 3D", "The normal game mode.", GameController.GAMEVERSION, "Kolben Games", "\maps\", "\Scripts\", "\maps\poke\", "\Content\Pokemon\Data\", "\Content\", "\Content\Localization\", New List(Of GameRule),
|
||||
"yourroom.dat", New Vector3(1.0F, 0.1F, 3.0F), MathHelper.PiOver2, "Your Room", "", New Color(59, 123, 165), "0", "welcome", SkinColors, SkinFiles, SkinNames)
|
||||
"newgame\intro0.dat", New Vector3(1.0F, 0.1F, 3.0F), MathHelper.PiOver2, "Your Room", "", New Color(59, 123, 165), "0", "welcome", SkinColors, SkinFiles, SkinNames)
|
||||
|
||||
Dim gameRules As New List(Of GameRule)
|
||||
gameRules.Add(New GameRule("MaxLevel", "100"))
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
Public Overrides Sub Update()
|
||||
If Me.IsGameOver = True Then
|
||||
If Controls.Accept(True, False) = True Then
|
||||
Core.SetScreen(New MainMenuScreen())
|
||||
Core.SetScreen(New PressStartScreen())
|
||||
Core.Player.loadedSave = False
|
||||
End If
|
||||
Else
|
||||
|
|
|
@ -73,7 +73,7 @@
|
|||
If Me.MyMode = Modes.Disconnect Then
|
||||
If Controls.Accept(True, True, True) = True Or Controls.Dismiss(True, True, True) = True Then
|
||||
If quitToMenu = True Then
|
||||
Core.SetScreen(New MainMenuScreen())
|
||||
Core.SetScreen(New PressStartScreen())
|
||||
Else
|
||||
Core.SetScreen(Me.PreScreen)
|
||||
End If
|
||||
|
@ -86,7 +86,7 @@
|
|||
If Controls.Dismiss() = True Then
|
||||
Connected = False
|
||||
Core.ServersManager.ServerConnection.Disconnect()
|
||||
Core.SetScreen(New MainMenuScreen())
|
||||
Core.SetScreen(New PressStartScreen())
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
|
|
@ -244,7 +244,8 @@ Public Class JoinServerScreen
|
|||
End If
|
||||
|
||||
If Controls.Dismiss() = True Then
|
||||
CType(Me.PreScreen, MainMenuScreen).menuIndex = 0
|
||||
''CType(Me.PreScreen, NewMainMenuScreen)._menuIndex = 0
|
||||
Core.Player.Unload()
|
||||
Core.SetScreen(Me.PreScreen)
|
||||
End If
|
||||
|
||||
|
|
|
@ -0,0 +1,63 @@
|
|||
Public Class NewGameCamera
|
||||
|
||||
Inherits OverworldCamera
|
||||
|
||||
Public Sub New()
|
||||
Me.Name = "New Game"
|
||||
Core.Player.startThirdPerson = False
|
||||
Me.Position = New Vector3(13, 2, 14)
|
||||
Me.Speed = 0.0008F
|
||||
|
||||
Yaw = CSng(Core.Random.NextDouble() * MathHelper.TwoPi)
|
||||
Pitch = -0.2F
|
||||
|
||||
View = Matrix.CreateLookAt(Position, Vector3.Zero, Vector3.Up)
|
||||
Projection = Matrix.CreatePerspectiveFieldOfView(MathHelper.ToRadians(45.0), Core.GraphicsDevice.Viewport.AspectRatio, 0.01, 16)
|
||||
|
||||
Update()
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub Update()
|
||||
Ray = createRay()
|
||||
|
||||
UpdateMatrices()
|
||||
UpdateFrustrum()
|
||||
End Sub
|
||||
|
||||
Public Function createRay() As Ray
|
||||
Dim centerX As Integer = CInt(Core.windowSize.Width / 2)
|
||||
Dim centerY As Integer = CInt(Core.windowSize.Height / 2)
|
||||
|
||||
Dim nearSource As Vector3 = New Vector3(centerX, centerY, 0)
|
||||
Dim farSource As Vector3 = New Vector3(centerX, centerY, 1)
|
||||
|
||||
Dim nearPoint As Vector3 = Core.GraphicsDevice.Viewport.Unproject(nearSource, Projection, View, Matrix.Identity)
|
||||
Dim farPoint As Vector3 = Core.GraphicsDevice.Viewport.Unproject(farSource, Projection, View, Matrix.Identity)
|
||||
|
||||
Dim direction As Vector3 = farPoint - nearPoint
|
||||
direction.Normalize()
|
||||
|
||||
Return New Ray(nearPoint, direction)
|
||||
End Function
|
||||
|
||||
Private Sub UpdateFrustrum()
|
||||
Dim rotation As Matrix = Matrix.CreateRotationX(Pitch) * Matrix.CreateRotationY(Yaw)
|
||||
|
||||
Dim fPosition As New Vector3(Me.Position.X, Me.Position.Y, Me.Position.Z)
|
||||
|
||||
Dim transformed As Vector3 = Vector3.Transform(New Vector3(0, 0, -1), rotation)
|
||||
Dim lookAt As Vector3 = fPosition + transformed
|
||||
|
||||
Me.BoundingFrustum = New BoundingFrustum(Matrix.CreateLookAt(fPosition, lookAt, Vector3.Up) * Projection)
|
||||
End Sub
|
||||
|
||||
Public Sub UpdateMatrices()
|
||||
Dim rotation As Matrix = Matrix.CreateRotationX(Pitch) * Matrix.CreateRotationY(Yaw)
|
||||
|
||||
Dim transformed As Vector3 = Vector3.Transform(New Vector3(0, 0, -1), rotation)
|
||||
Dim lookAt As Vector3 = Position + transformed
|
||||
|
||||
View = Matrix.CreateLookAt(Position, lookAt, Vector3.Up)
|
||||
End Sub
|
||||
|
||||
End Class
|
|
@ -0,0 +1,285 @@
|
|||
Namespace Screens.MainMenu
|
||||
|
||||
''' <summary>
|
||||
''' The screen that is used to act out a New Game sequence.
|
||||
''' </summary>
|
||||
Public Class NewNewGameScreen
|
||||
|
||||
Inherits OverworldScreen
|
||||
|
||||
Private Shared _fadeValue As Integer = 255 'Fade progress value for the black screen fade.
|
||||
|
||||
'Public Shared Property FadeValue() As Integer
|
||||
' Get
|
||||
' Return _fadeValue
|
||||
' End Get
|
||||
' Set(value As Integer)
|
||||
' _fadeValue = value
|
||||
' End Set
|
||||
'End Property
|
||||
|
||||
Public Sub New(ByVal currentScreen As Screen)
|
||||
Identification = Identifications.NewGameScreen
|
||||
CanChat = False
|
||||
MouseVisible = False
|
||||
IsOverlay = True
|
||||
PreScreen = currentScreen
|
||||
CanBePaused = False
|
||||
UpdateFadeOut = True
|
||||
|
||||
|
||||
'Set up 3D environment variables (Effect, Camera, SkyDome and Level):
|
||||
Effect = New BasicEffect(GraphicsDevice)
|
||||
Effect.FogEnabled = True
|
||||
|
||||
'Reset Construct:
|
||||
ScriptStorage.Clear()
|
||||
Me.ActionScript.Scripts.Clear()
|
||||
|
||||
|
||||
Camera = New NewGameCamera()
|
||||
|
||||
SkyDome = New SkyDome()
|
||||
Level = New Level()
|
||||
Level.Load(GameModeManager.ActiveGameMode.StartMap)
|
||||
|
||||
Core.Player.Unload()
|
||||
|
||||
MusicManager.StopMusic()
|
||||
|
||||
'Initialize the World information with the loaded level.
|
||||
Level.World.Initialize(Level.EnvironmentType, Level.WeatherType)
|
||||
|
||||
Me.ActionScript.StartScript("newgame\intro", 0)
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub Update()
|
||||
Lighting.UpdateLighting(Effect) 'Update the lighting on the basic effect.
|
||||
|
||||
'Update the Dialogues:
|
||||
ChooseBox.Update()
|
||||
If ChooseBox.Showing = False Then
|
||||
TextBox.Update()
|
||||
End If
|
||||
If PokemonImageView.Showing = True Then
|
||||
PokemonImageView.Update()
|
||||
End If
|
||||
|
||||
'If no dialogue is showing, do level update tasks:
|
||||
If TextBox.Showing = False And ChooseBox.Showing = False And PokemonImageView.Showing = False Then
|
||||
If Me.ActionScript.IsReady Then
|
||||
Camera.Update()
|
||||
Level.Update()
|
||||
End If
|
||||
If ActionScript.Scripts.Count = 0 Then
|
||||
If CurrentScreen.Identification = Screen.Identifications.NewGameScreen Then
|
||||
Core.SetScreen(New TransitionScreen(CurrentScreen, New OverworldScreen(), Color.Black, False))
|
||||
Else
|
||||
Dim fadeSpeed As Integer = 12
|
||||
If OverworldScreen.FadeValue > 0 Then
|
||||
OverworldScreen.FadeValue -= fadeSpeed
|
||||
If OverworldScreen.FadeValue <= 0 Then
|
||||
OverworldScreen.FadeValue = 0
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
Me.ActionScript.Update() 'Update construct scripts.
|
||||
End If
|
||||
Else
|
||||
Camera.Update()
|
||||
Level.Update()
|
||||
End If
|
||||
|
||||
SkyDome.Update()
|
||||
|
||||
'Update the World with new environment variables.
|
||||
Level.World.Initialize(Level.EnvironmentType, Level.WeatherType)
|
||||
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub Draw()
|
||||
SkyDome.Draw(Camera.FOV)
|
||||
|
||||
Level.Draw()
|
||||
|
||||
PokemonImageView.Draw()
|
||||
TextBox.Draw()
|
||||
|
||||
'Only draw the ChooseBox when it's the current screen, cause the same ChooseBox might get used on other screens.
|
||||
If IsCurrentScreen() = True Then
|
||||
ChooseBox.Draw()
|
||||
End If
|
||||
|
||||
If FadeValue > 0 Then
|
||||
Canvas.DrawRectangle(windowSize, New Color(0, 0, 0, FadeValue))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Shared Sub EndNewGame(ByVal map As String, ByVal x As Single, ByVal y As Single, ByVal z As Single, ByVal rot As Integer)
|
||||
Dim folderPath As String = Core.Player.Name
|
||||
Dim folderPrefix As Integer = 0
|
||||
|
||||
If folderPath.ToLower() = "autosave" Then
|
||||
folderPath = "autosave0"
|
||||
End If
|
||||
|
||||
Dim savePath As String = GameController.GamePath & "\Save\"
|
||||
|
||||
While IO.Directory.Exists(savePath & folderPath) = True
|
||||
If folderPath <> Core.Player.Name Then
|
||||
folderPath = folderPath.Remove(folderPath.Length - folderPrefix.ToString().Length, folderPrefix.ToString().Length)
|
||||
End If
|
||||
|
||||
folderPath &= folderPrefix
|
||||
|
||||
folderPrefix += 1
|
||||
End While
|
||||
|
||||
If IO.Directory.Exists(GameController.GamePath & "\Save") = False Then
|
||||
IO.Directory.CreateDirectory(GameController.GamePath & "\Save")
|
||||
End If
|
||||
|
||||
IO.Directory.CreateDirectory(savePath & folderPath)
|
||||
|
||||
Core.Player.filePrefix = folderPath
|
||||
Core.Player.GameStart = Date.Now
|
||||
|
||||
Core.Player.SaveGame(False)
|
||||
Core.Player.LoadGame(folderPath)
|
||||
|
||||
Core.Player.startFOV = 60
|
||||
Core.Player.startFreeCameraMode = True
|
||||
Core.Player.startPosition = New Vector3(x, y, z)
|
||||
Core.Player.startMap = map
|
||||
Core.Player.startRotationSpeed = 12
|
||||
Core.Player.startSurfing = False
|
||||
Core.Player.startThirdPerson = False
|
||||
Core.Player.startRiding = False
|
||||
Core.Player.startRotation = CSng(MathHelper.Pi * (rot / 2))
|
||||
|
||||
'Construct.Controller.GetInstance().Context = Construct.ScriptContext.Overworld
|
||||
|
||||
''SetScreen(New TransitionScreen(CurrentScreen, New OverworldScreen(), Color.Black, False))
|
||||
''SetScreen(New OverworldScreen())
|
||||
Core.Player.SaveGame(False)
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' A screen used to select from a range of skins.
|
||||
''' </summary>
|
||||
Public Class CharacterSelectionScreen
|
||||
|
||||
Inherits Screen
|
||||
|
||||
Private _skins As String()
|
||||
Private _sprites As New List(Of Texture2D)
|
||||
|
||||
Private _offset As Single = 0F
|
||||
Private _index As Integer = 0
|
||||
|
||||
Private _fadeIn As Single = 0F
|
||||
|
||||
Private Shared _selectedSkin As String = ""
|
||||
|
||||
Public Shared Property SelectedSkin() As String
|
||||
Get
|
||||
Return _selectedSkin
|
||||
End Get
|
||||
Set(value As String)
|
||||
_selectedSkin = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Sub New(ByVal currentScreen As Screen, ByVal skins As String())
|
||||
Identification = Identifications.CharacterSelectionScreen
|
||||
PreScreen = currentScreen
|
||||
CanBePaused = True
|
||||
CanChat = False
|
||||
CanDrawDebug = True
|
||||
CanGoFullscreen = True
|
||||
CanTakeScreenshot = True
|
||||
MouseVisible = True
|
||||
|
||||
For Each skin As String In skins
|
||||
_sprites.Add(TextureManager.GetTexture("Textures\NPC\" & skin))
|
||||
Next
|
||||
|
||||
_skins = skins
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub Update()
|
||||
If _fadeIn < 1.0F Then
|
||||
_fadeIn = MathHelper.Lerp(1.0F, _fadeIn, 0.95F)
|
||||
If _fadeIn + 0.01F >= 1.0F Then
|
||||
_fadeIn = 1.0F
|
||||
End If
|
||||
Else
|
||||
If Controls.Left(True) And _index > 0 Then
|
||||
_index -= 1
|
||||
_offset -= 280
|
||||
End If
|
||||
If Controls.Right(True) And _index < _skins.Count - 1 Then
|
||||
_index += 1
|
||||
_offset += 280
|
||||
End If
|
||||
|
||||
If _offset > 0F Then
|
||||
_offset = MathHelper.Lerp(0F, _offset, 0.9F)
|
||||
If _offset - 0.01F <= 0F Then
|
||||
_offset = 0F
|
||||
End If
|
||||
ElseIf _offset < 0F Then
|
||||
_offset = MathHelper.Lerp(0F, _offset, 0.9F)
|
||||
If _offset + 0.01F >= 0F Then
|
||||
_offset = 0F
|
||||
End If
|
||||
End If
|
||||
|
||||
If Controls.Accept(False, True, True) Then
|
||||
_selectedSkin = _skins(_index)
|
||||
SetScreen(PreScreen)
|
||||
End If
|
||||
If Controls.Accept(True, False, False) Then
|
||||
For i = 0 To _skins.Count - 1
|
||||
If New Rectangle(CInt(windowSize.Width / 2 - 128 + i * 280 - _index * 280 + _offset), CInt(windowSize.Height / 2 - 128), 256, 256).Contains(MouseHandler.MousePosition) Then
|
||||
If i = _index Then
|
||||
_selectedSkin = _skins(_index)
|
||||
SetScreen(PreScreen)
|
||||
Else
|
||||
_offset += (i - _index) * 280
|
||||
_index = i
|
||||
End If
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub Draw()
|
||||
PreScreen.Draw()
|
||||
|
||||
Canvas.DrawRectangle(windowSize, Screens.UI.ColorProvider.MainColor(False, CInt(100 * _fadeIn)))
|
||||
|
||||
DrawGradients(255)
|
||||
|
||||
SpriteBatch.DrawString(FontManager.MainFont, "Select your appearance", New Vector2(windowSize.Width / 2.0F - FontManager.MainFont.MeasureString("Select your appearance").X, 100), New Color(255, 255, 255, CInt(255 * _fadeIn)), 0F, Vector2.Zero, 2.0F, SpriteEffects.None, 0F)
|
||||
|
||||
For i = 0 To _sprites.Count - 1
|
||||
Dim sprite As Texture2D = _sprites(i)
|
||||
Dim frameSize As New Size(CInt(sprite.Width / 3), CInt(sprite.Height / 4))
|
||||
|
||||
Dim outSize As Integer = 256 - Math.Abs(_index - i) * 30
|
||||
|
||||
SpriteBatch.Draw(sprite, New Rectangle(CInt(windowSize.Width / 2 - CInt(outSize / 2) + i * 280 - _index * 280 + _offset), CInt(windowSize.Height / 2 - 128), outSize, outSize), New Rectangle(0, frameSize.Height * 2, frameSize.Width, frameSize.Height), New Color(255, 255, 255, CInt(255 * _fadeIn)))
|
||||
Next
|
||||
|
||||
SpriteBatch.DrawString(FontManager.MainFont, _skins(_index), New Vector2(windowSize.Width / 2.0F - FontManager.MainFont.MeasureString(_skins(_index)).X / 2.0F, windowSize.Height / 2.0F + 200), New Color(255, 255, 255, CInt(255 * _fadeIn)))
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -258,10 +258,11 @@
|
|||
End If
|
||||
Chat.ClearChat()
|
||||
If Core.Player.loadedSave = True And Me.canCreateAutosave = True Then
|
||||
Core.Player.SaveGame(True)
|
||||
'Core.Player.SaveGame(True)
|
||||
Core.Player.SaveGame(False)
|
||||
End If
|
||||
ScriptStorage.Clear()
|
||||
Core.SetScreen(New MainMenuScreen())
|
||||
Core.SetScreen(New PressStartScreen())
|
||||
Core.Player.loadedSave = False
|
||||
End Sub
|
||||
|
||||
|
|
|
@ -0,0 +1,900 @@
|
|||
''' <summary>
|
||||
''' The "Press {BUTTON} to start" screen.
|
||||
''' </summary>
|
||||
Public Class PressStartScreen
|
||||
|
||||
Inherits Screen
|
||||
|
||||
Private _fadeIn As Single = 1.0F
|
||||
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
|
||||
|
||||
Private _logoRenderer As SpriteBatch
|
||||
Private _shineRenderer As SpriteBatch
|
||||
Private _backgroundRenderer As SpriteBatch
|
||||
|
||||
Private target As RenderTarget2D
|
||||
|
||||
Dim tempF As Single = 0F
|
||||
Dim tempG As Single = 0F
|
||||
|
||||
Public Sub New()
|
||||
Identification = Identifications.PressStartScreen
|
||||
CanBePaused = False
|
||||
MouseVisible = True
|
||||
CanChat = False
|
||||
|
||||
TextBox.Showing = False
|
||||
PokemonImageView.Showing = False
|
||||
ChooseBox.Showing = False
|
||||
|
||||
GameModeManager.SetGameModePointer("Kolben")
|
||||
|
||||
Effect = New BasicEffect(GraphicsDevice)
|
||||
Effect.FogEnabled = True
|
||||
|
||||
SkyDome = New SkyDome()
|
||||
Camera = New MainMenuCamera()
|
||||
|
||||
Core.Player.Skin = "Hilbert"
|
||||
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\")
|
||||
End If
|
||||
|
||||
GameJolt.Emblem.ClearOnlineSpriteCache()
|
||||
|
||||
_logoTexture = TextureManager.GetTexture("GUI\Logos\Pokemon_Small")
|
||||
_shineTexture = TextureManager.GetTexture("GUI\Logos\logo_shine")
|
||||
|
||||
_logoRenderer = New SpriteBatch(GraphicsDevice)
|
||||
_shineRenderer = New SpriteBatch(GraphicsDevice)
|
||||
_backgroundRenderer = New SpriteBatch(GraphicsDevice)
|
||||
|
||||
target = New RenderTarget2D(GraphicsDevice, windowSize.Width, windowSize.Height)
|
||||
|
||||
'crappy fix
|
||||
Screens.MainMenu.NewNewGameScreen.CharacterSelectionScreen.SelectedSkin = ""
|
||||
Core.Player.Unload()
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub Update()
|
||||
Lighting.UpdateLighting(Effect)
|
||||
|
||||
Camera.Update()
|
||||
Level.Update()
|
||||
SkyDome.Update()
|
||||
Level.World.Initialize(Level.EnvironmentType, Level.WeatherType)
|
||||
|
||||
If _introDelay > 0F Then
|
||||
_introDelay -= 0.1F
|
||||
If _introDelay <= 0F Then
|
||||
_introDelay = 0F
|
||||
End If
|
||||
Else
|
||||
If IsCurrentScreen() Then
|
||||
If _fadeIn > 0.0F Then
|
||||
_fadeIn = MathHelper.Lerp(0.0F, _fadeIn, 0.93F)
|
||||
If _fadeIn - 0.01F <= 0.0F Then
|
||||
_fadeIn = 0.0F
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
If _logoFade > 0.0F Then
|
||||
_logoFade = MathHelper.Lerp(0.0F, _logoFade, 0.2F)
|
||||
If _logoFade - 0.01F <= 0.0F Then
|
||||
_logoFade = 0.0F
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
tempF += 0.01F
|
||||
tempG += 0.04F
|
||||
|
||||
If IsCurrentScreen() Then
|
||||
If KeyBoardHandler.KeyPressed(KeyBindings.EnterKey1) Or ControllerHandler.ButtonPressed(Buttons.A) Or MouseHandler.ButtonPressed(MouseHandler.MouseButtons.LeftButton) Then
|
||||
SetScreen(New NewMainMenuScreen(Me))
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private _blurHandler As Resources.GaussianEffect
|
||||
|
||||
Public Overrides Sub Draw()
|
||||
If _blurHandler Is Nothing Then
|
||||
_blurHandler = New Resources.GaussianEffect(windowSize.Width, windowSize.Height)
|
||||
End If
|
||||
|
||||
GraphicsDevice.SetRenderTarget(target)
|
||||
GraphicsDevice.Clear(BackgroundColor)
|
||||
|
||||
SkyDome.Draw(45.0F)
|
||||
Level.Draw()
|
||||
|
||||
GraphicsDevice.SetRenderTarget(Nothing)
|
||||
|
||||
_backgroundRenderer.Begin()
|
||||
_backgroundRenderer.Draw(_blurHandler.Perform(target), New Rectangle(0, 0, windowSize.Width, windowSize.Height), Color.White)
|
||||
_backgroundRenderer.End()
|
||||
|
||||
If IsCurrentScreen() Then
|
||||
_logoRenderer.Begin(SpriteSortMode.Texture, BlendState.AlphaBlend, SamplerState.AnisotropicClamp, DepthStencilState.Default, RasterizerState.CullNone)
|
||||
Else
|
||||
_logoRenderer.Begin(SpriteSortMode.Texture, BlendState.NonPremultiplied, SamplerState.AnisotropicClamp, DepthStencilState.Default, RasterizerState.CullNone)
|
||||
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)))
|
||||
_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
|
||||
If IsCurrentScreen() And CInt(Date.Now.Millisecond / 500) = 1 Then
|
||||
Dim text As String = String.Empty
|
||||
If ControllerHandler.IsConnected() Then
|
||||
text = "Press to start"
|
||||
Else
|
||||
text = "Press " & KeyBindings.EnterKey1.ToString() & " or click to start"
|
||||
End If
|
||||
|
||||
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)
|
||||
|
||||
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)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
_logoRenderer.End()
|
||||
_shineRenderer.End()
|
||||
|
||||
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 & "\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"
|
||||
TextBox.Hide()
|
||||
TextBox.CanProceed = True
|
||||
OverworldScreen.FadeValue = 0
|
||||
|
||||
MusicManager.PlayMusic("title", True, 0.0F, 0.0F)
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Public Class NewMainMenuScreen
|
||||
|
||||
'TODO: Replace old MainMenuScreen.
|
||||
|
||||
Inherits Screen
|
||||
|
||||
Private _screenOffset As Vector2 = New Vector2(20, 180)
|
||||
Private _screenOffsetTarget As Vector2 = New Vector2(20, 180)
|
||||
|
||||
Private _loading As Boolean = True
|
||||
Private _fadeIn As Single = 0F
|
||||
Private _expandDisplay As Single = 0F
|
||||
Private _closingDisplay As Boolean = False
|
||||
Private _displayTextFade As Single = 0F
|
||||
|
||||
Private _sliderPosition As Single = 0F
|
||||
Private _sliderTarget As Integer = 0
|
||||
|
||||
Private _menuTexture As Texture2D = Nothing
|
||||
|
||||
Private _profiles As New List(Of GameProfile)
|
||||
Private _selectedProfile As Integer = 0
|
||||
Private _menuIndex As Integer = 1 '0 = New Game, 1 = Profiles
|
||||
|
||||
Private _messageBox As UI.MessageBox
|
||||
|
||||
Public Sub New(ByVal currentScreen As Screen)
|
||||
Identification = Identifications.MainMenuScreen
|
||||
PreScreen = currentScreen
|
||||
|
||||
CanBePaused = False
|
||||
MouseVisible = True
|
||||
CanChat = False
|
||||
|
||||
_menuTexture = TextureManager.GetTexture("GUI\Menus\MainMenu")
|
||||
|
||||
_screenOffset.X = CSng(windowSize.Width / 2 - 80)
|
||||
_screenOffsetTarget.X = _screenOffset.X
|
||||
_sliderTarget = GetSliderTarget(_selectedProfile)
|
||||
_sliderPosition = _sliderTarget
|
||||
|
||||
_messageBox = New UI.MessageBox(Me)
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub Update()
|
||||
PreScreen.Update()
|
||||
If _loading = False Then
|
||||
If _fadeIn < 1.0F Then
|
||||
_fadeIn = MathHelper.Lerp(1.0F, _fadeIn, 0.93F)
|
||||
If _fadeIn + 0.01F >= 1.0F Then
|
||||
_fadeIn = 1.0F
|
||||
_sliderPosition = _sliderTarget
|
||||
End If
|
||||
Else
|
||||
If Controls.Accept(True, False, False) Then
|
||||
'Click on profiles:
|
||||
For x = 0 To _profiles.Count - 1
|
||||
Dim xOffset As Single = _screenOffset.X + x * 180 + ((x + 1) * 100 * (1 - _fadeIn))
|
||||
|
||||
If New Rectangle(CInt(xOffset), CInt(_screenOffset.Y), 160, 160).Contains(MouseHandler.MousePosition) Then
|
||||
If _selectedProfile = x Then
|
||||
ClickedProfile()
|
||||
Else
|
||||
Dim diff As Integer = x - _selectedProfile
|
||||
_screenOffsetTarget.X -= diff * 180
|
||||
|
||||
_selectedProfile = x
|
||||
End If
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
If Controls.Right(True) And _selectedProfile < _profiles.Count - 1 Then
|
||||
_selectedProfile += 1
|
||||
_screenOffsetTarget.X -= 180
|
||||
End If
|
||||
If Controls.Left(True) And _selectedProfile > 0 Then
|
||||
_selectedProfile -= 1
|
||||
_screenOffsetTarget.X += 180
|
||||
End If
|
||||
_selectedProfile = _selectedProfile.Clamp(0, _profiles.Count - 1)
|
||||
|
||||
If _fadeIn = 1.0F Then
|
||||
If Controls.Accept(False, True, True) Then
|
||||
ClickedProfile()
|
||||
End If
|
||||
|
||||
'Try to load the GameJolt profile once the player has logged in.
|
||||
_profiles(0).LoadGameJolt()
|
||||
End If
|
||||
|
||||
If _profiles(_selectedProfile).Loaded = False Then
|
||||
_closingDisplay = True
|
||||
Else
|
||||
_closingDisplay = False
|
||||
End If
|
||||
|
||||
_sliderTarget = GetSliderTarget(_selectedProfile)
|
||||
If _sliderPosition < _sliderTarget Then
|
||||
_sliderPosition = MathHelper.Lerp(_sliderTarget, _sliderPosition, 0.8F)
|
||||
ElseIf _sliderPosition > _sliderTarget Then
|
||||
_sliderPosition = MathHelper.Lerp(_sliderTarget, _sliderPosition, 0.8F)
|
||||
End If
|
||||
|
||||
If _fadeIn = 1.0F Then
|
||||
If _closingDisplay Then
|
||||
If _expandDisplay > 0.0F Then
|
||||
_expandDisplay = MathHelper.Lerp(0.0F, _expandDisplay, 0.9F)
|
||||
If _expandDisplay - 0.01F <= 0.0F Then
|
||||
_expandDisplay = 0.0F
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
If _expandDisplay < 1.0F Then
|
||||
_expandDisplay = MathHelper.Lerp(1.0F, _expandDisplay, 0.9F)
|
||||
If _expandDisplay + 0.01F >= 1.0F Then
|
||||
_expandDisplay = 1.0F
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
UpdateScreenOffset()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub ClickedProfile()
|
||||
If _selectedProfile = 0 And Security.FileValidation.IsValid(False) = False Then
|
||||
_messageBox.Show("File validation failed!" & vbNewLine & "Redownload the game's files to solve this problem.")
|
||||
Else
|
||||
_profiles(_selectedProfile).SelectProfile()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub UpdateScreenOffset()
|
||||
If _screenOffset.X > _screenOffsetTarget.X Then
|
||||
_screenOffset.X = MathHelper.Lerp(_screenOffsetTarget.X, _screenOffset.X, 0.93F)
|
||||
If _screenOffset.X - 0.01F <= _screenOffsetTarget.X Then
|
||||
_screenOffset.X = _screenOffsetTarget.X
|
||||
End If
|
||||
End If
|
||||
If _screenOffset.X < _screenOffsetTarget.X Then
|
||||
_screenOffset.X = MathHelper.Lerp(_screenOffsetTarget.X, _screenOffset.X, 0.93F)
|
||||
If _screenOffset.X + 0.01F >= _screenOffsetTarget.X Then
|
||||
_screenOffset.X = _screenOffsetTarget.X
|
||||
End If
|
||||
End If
|
||||
If _screenOffset.Y > _screenOffsetTarget.Y Then
|
||||
_screenOffset.Y = MathHelper.Lerp(_screenOffsetTarget.Y, _screenOffset.Y, 0.93F)
|
||||
If _screenOffset.Y - 0.01F <= _screenOffsetTarget.Y Then
|
||||
_screenOffset.Y = _screenOffsetTarget.Y
|
||||
End If
|
||||
End If
|
||||
If _screenOffset.Y < _screenOffsetTarget.Y Then
|
||||
_screenOffset.Y = MathHelper.Lerp(_screenOffsetTarget.Y, _screenOffset.Y, 0.93F)
|
||||
If _screenOffset.Y + 0.01F >= _screenOffsetTarget.Y Then
|
||||
_screenOffset.Y = _screenOffsetTarget.Y
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub Draw()
|
||||
PreScreen.Draw()
|
||||
|
||||
If _loading = False Then
|
||||
If _selectedProfile = 0 Then
|
||||
DrawGradients(CInt(255 * _fadeIn), True)
|
||||
Else
|
||||
DrawGradients(CInt(255 * _fadeIn), False)
|
||||
End If
|
||||
End If
|
||||
|
||||
If IsCurrentScreen() Then
|
||||
If _loading Then
|
||||
Dim textSize As Vector2 = FontManager.GameJoltFont.MeasureString("Please wait..")
|
||||
GetFontRenderer().DrawString(FontManager.GameJoltFont, "Please wait" & LoadingDots.Dots, New Vector2(windowSize.Width / 2.0F - textSize.X / 2.0F,
|
||||
windowSize.Height / 2.0F - textSize.Y / 2.0F + 100), Color.White)
|
||||
Else
|
||||
DrawProfiles()
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub DrawProfiles()
|
||||
'Draw profiles:
|
||||
For x = 0 To _profiles.Count - 1
|
||||
Dim xOffset As Single = _screenOffset.X + x * 180 + ((x + 1) * 100 * (1 - _fadeIn))
|
||||
|
||||
_profiles(x).Draw(New Vector2(xOffset, _screenOffset.Y), CInt(_fadeIn * 255), (x = _selectedProfile), _menuTexture)
|
||||
Next
|
||||
|
||||
If _fadeIn = 1.0F Then
|
||||
'Draw arrow:
|
||||
SpriteBatch.Draw(_menuTexture, New Rectangle(CInt(_sliderPosition - 16), CInt(_screenOffset.Y + 170), 32, 16), New Rectangle(0, 16, 32, 16), Color.White)
|
||||
|
||||
Dim displayRect = New Rectangle(CInt((_sliderPosition - 300).Clamp(20, windowSize.Width - 620)), CInt(_screenOffset.Y + 170 + 16), 600, CInt(240 * _expandDisplay))
|
||||
|
||||
'Draw display:
|
||||
If _expandDisplay > 0F Then
|
||||
Canvas.DrawRectangle(displayRect, Screens.UI.ColorProvider.MainColor(False))
|
||||
Canvas.DrawRectangle(New Rectangle(displayRect.X, displayRect.Y + displayRect.Height - 3, displayRect.Width, 3), Screens.UI.ColorProvider.AccentColor(False, CInt(255 * _expandDisplay)))
|
||||
End If
|
||||
|
||||
'Dark theme:
|
||||
If (_selectedProfile = 0 Or _selectedProfile = 1) And _sliderPosition <= GetSliderTarget(1) Then
|
||||
Dim maxDistance As Integer = 180
|
||||
Dim distance As Integer = CInt(Math.Abs(_sliderTarget - _sliderPosition))
|
||||
Dim dist As Double = distance / maxDistance
|
||||
|
||||
If _selectedProfile = 0 Then
|
||||
dist = 1 - dist
|
||||
End If
|
||||
|
||||
SpriteBatch.Draw(_menuTexture, New Rectangle(CInt(_sliderPosition - 16), CInt(_screenOffset.Y + 170), 32, 16), New Rectangle(32, 16, 32, 16), New Color(255, 255, 255, CInt(255 * dist)))
|
||||
If _expandDisplay > 0F Then
|
||||
Canvas.DrawRectangle(displayRect, Screens.UI.ColorProvider.MainColor(True, CInt(255 * dist)))
|
||||
Canvas.DrawRectangle(New Rectangle(displayRect.X, displayRect.Y + displayRect.Height - 3, displayRect.Width, 3), Screens.UI.ColorProvider.AccentColor(True, CInt(255 * dist * _expandDisplay)))
|
||||
End If
|
||||
End If
|
||||
|
||||
'Draw profile info:
|
||||
Dim tmpProfile = _profiles(_selectedProfile)
|
||||
|
||||
If _expandDisplay = 1.0F Then
|
||||
If tmpProfile.GameModeExists Then
|
||||
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.GameJoltFont, "Name: " & tmpProfile.Name & vbNewLine &
|
||||
"GameMode: " & tmpProfile.GameMode, New Vector2(displayRect.X + 30, displayRect.Y + 20), Color.White, 0F, Vector2.Zero, 0.5F, SpriteEffects.None, 0F)
|
||||
GetFontRenderer().DrawString(FontManager.GameJoltFont, "Badges: " & tmpProfile.Badges.ToString() & vbNewLine &
|
||||
"Time played: " & tmpProfile.TimePlayed & vbNewLine &
|
||||
"Location: " & tmpProfile.Location, New Vector2(displayRect.X + 30, displayRect.Y + 150), Color.White, 0F, Vector2.Zero, 0.5F, SpriteEffects.None, 0F)
|
||||
Else
|
||||
GetFontRenderer().DrawString(FontManager.GameJoltFont, "Name: " & tmpProfile.Name & vbNewLine &
|
||||
"GameMode: " & tmpProfile.GameMode, New Vector2(displayRect.X + 30, displayRect.Y + 20), Color.White, 0F, Vector2.Zero, 0.5F, SpriteEffects.None, 0F)
|
||||
|
||||
SpriteBatch.Draw(_menuTexture, New Rectangle(displayRect.X + 30, displayRect.Y + 70, 32, 32), New Rectangle(0, 32, 32, 32), Color.White)
|
||||
GetFontRenderer().DrawString(FontManager.GameJoltFont, "The required GameMode does not exist!", New Vector2(displayRect.X + 70, displayRect.Y + 78), Color.White, 0F, Vector2.Zero, 0.5F, SpriteEffects.None, 0F)
|
||||
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Function GetSliderTarget(ByVal index As Integer) As Integer
|
||||
Return CInt(_screenOffset.X + index * 180 + 80)
|
||||
End Function
|
||||
|
||||
Public Overrides Sub ChangeTo()
|
||||
If _profiles.Count = 0 Then
|
||||
'Dim t As New Threading.Thread(AddressOf LoadProfiles)
|
||||
't.IsBackground = True
|
||||
't.Start()
|
||||
LoadProfiles()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub LoadProfiles()
|
||||
_profiles.Add(New GameProfile("", False))
|
||||
|
||||
Dim files As String() = {"Apricorns.dat", "Berries.dat", "Box.dat", "Daycare.dat", "HallOfFame.dat", "ItemData.dat", "Items.dat", "NPC.dat", "Options.dat", "Party.dat", "Player.dat", "Pokedex.dat", "Register.dat", "RoamingPokemon.dat", "SecretBase.dat", "Statistics.dat"}
|
||||
For Each path As String In IO.Directory.GetDirectories(GameController.GamePath & "\Save\")
|
||||
|
||||
Dim exists As Boolean = True
|
||||
For Each file As String In files
|
||||
If IO.File.Exists(path & "\" & file) = False Then
|
||||
exists = False
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
|
||||
If exists = True Then
|
||||
_profiles.Add(New GameProfile(path, False))
|
||||
End If
|
||||
Next
|
||||
|
||||
GameModeManager.SetGameModePointer("Kolben")
|
||||
|
||||
_profiles.Add(New GameProfile("", True))
|
||||
|
||||
_loading = False
|
||||
End Sub
|
||||
|
||||
Private Class GameProfile
|
||||
|
||||
Private _isGameJolt As Boolean = False
|
||||
Private _loaded As Boolean = False
|
||||
Private _isLoading As Boolean = False
|
||||
Private _failedGameJoltLoading As Boolean = False
|
||||
|
||||
Private _path As String = ""
|
||||
Private _isNewGameButton As Boolean = False
|
||||
|
||||
Private _name As String
|
||||
Private _gameMode As String
|
||||
Private _pokedexSeen As Integer
|
||||
Private _pokedexCaught As Integer
|
||||
Private _badges As Integer
|
||||
Private _timePlayed As String
|
||||
Private _location As String
|
||||
Private _pokemonTextures As New List(Of Texture2D)
|
||||
Private _sprite As Texture2D
|
||||
Private _gameModeExists As Boolean
|
||||
Private _skin As String = ""
|
||||
|
||||
Private _fontSize As Single = 0.75F
|
||||
Private _spriteIndex As Integer = 0
|
||||
Private _spriteDelay As Single = 1.5F
|
||||
Private _logoBounce As Single = 0F
|
||||
Private ReadOnly _spriteOrder As Integer() = {0, 1, 0, 2}
|
||||
|
||||
Public ReadOnly Property IsGameJolt As Boolean
|
||||
Get
|
||||
Return _isGameJolt
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Path() As String
|
||||
Get
|
||||
Return _path
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Name() As String
|
||||
Get
|
||||
Return _name
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property GameMode() As String
|
||||
Get
|
||||
Return _gameMode
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property PokedexSeen() As Integer
|
||||
Get
|
||||
Return _pokedexSeen
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property PokedexCaught() As Integer
|
||||
Get
|
||||
Return _pokedexCaught
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Badges() As Integer
|
||||
Get
|
||||
Return _badges
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property TimePlayed() As String
|
||||
Get
|
||||
Return _timePlayed
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Location() As String
|
||||
Get
|
||||
Return _location
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property PokemonTextures() As List(Of Texture2D)
|
||||
Get
|
||||
Return _pokemonTextures
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Loaded() As Boolean
|
||||
Get
|
||||
Return _loaded
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property IsLoading() As Boolean
|
||||
Get
|
||||
Return _isLoading
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property GameModeExists() As Boolean
|
||||
Get
|
||||
Return _gameModeExists
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub New(ByVal path As String, ByVal isNewGameButton As Boolean)
|
||||
If isNewGameButton Then
|
||||
_isNewGameButton = True
|
||||
_fontSize = 1.0F
|
||||
Else
|
||||
If path = "" Then
|
||||
_isGameJolt = True
|
||||
_loaded = False
|
||||
|
||||
|
||||
_sprite = Content.Load(Of Texture2D)("Textures\UI\GameJolt\gameJoltIcon")
|
||||
|
||||
LoadGameJolt()
|
||||
Else
|
||||
_path = path
|
||||
|
||||
LoadFromPlayerData(IO.File.ReadAllText(path & "\Player.dat"))
|
||||
LoadContent(IO.File.ReadAllText(path & "\Party.dat"))
|
||||
|
||||
_loaded = True
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub LoadContent(ByVal data As String)
|
||||
If GameModeManager.GameModeExists(_gameMode) Then
|
||||
_gameModeExists = True
|
||||
|
||||
GameModeManager.SetGameModePointer(_gameMode)
|
||||
|
||||
Dim pokemonData As String() = data.SplitAtNewline()
|
||||
For Each line As String In pokemonData
|
||||
If line.StartsWith("{") Then
|
||||
_pokemonTextures.Add(Pokemon.GetPokemonByData(line).GetMenuTexture(True))
|
||||
End If
|
||||
Next
|
||||
|
||||
If _isGameJolt = False Then
|
||||
_sprite = TextureManager.GetTexture("Textures\NPC\" & _skin)
|
||||
End If
|
||||
Else
|
||||
_gameModeExists = False
|
||||
_sprite = Content.Load(Of Texture2D)("SharedResources\Textures\unknownSprite")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub LoadFromPlayerData(ByVal data As String)
|
||||
Dim playerData As String() = data.SplitAtNewline()
|
||||
For Each line As String In playerData
|
||||
If line.Contains("|") Then
|
||||
Dim id As String = line.Split("|"c)(0)
|
||||
Dim content As String = line.Split("|"c)(1)
|
||||
|
||||
Select Case id.ToLower()
|
||||
Case "name"
|
||||
_name = content
|
||||
|
||||
While FontManager.GameJoltFont.MeasureString(_name).X * _fontSize > 140
|
||||
_fontSize -= 0.01F
|
||||
End While
|
||||
Case "badges"
|
||||
If content.Length > 0 Then
|
||||
_badges = content.Split(","c).Length
|
||||
Else
|
||||
_badges = 0
|
||||
End If
|
||||
Case "playtime"
|
||||
Dim timedata As String() = content.Split(","c)
|
||||
|
||||
Dim hours As Integer = CInt(timedata(0)) + CInt(timedata(3)) * 24
|
||||
Dim minutes As Integer = CInt(timedata(1))
|
||||
Dim seconds As Integer = CInt(timedata(2))
|
||||
|
||||
_timePlayed = hours.ToString("D2") & ":" & minutes.ToString("D2") & ":" & seconds.ToString("D2")
|
||||
Case "location"
|
||||
_location = content
|
||||
Case "gamemode"
|
||||
_gameMode = content
|
||||
Case "skin"
|
||||
_skin = content
|
||||
End Select
|
||||
End If
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Public Sub Draw(ByVal offset As Vector2, ByVal alpha As Integer, ByVal isSelected As Boolean, ByVal t As Texture2D)
|
||||
If _isGameJolt 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))
|
||||
|
||||
If _isLoading And GameJoltSave.DownloadProgress > 0 Then
|
||||
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
|
||||
Else
|
||||
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(0, 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(False, alpha))
|
||||
End If
|
||||
|
||||
If _isNewGameButton Then
|
||||
Dim text As String = "NEW" & vbNewLine & "GAME"
|
||||
|
||||
If alpha >= 250 And CurrentScreen.Identification = Identifications.MainMenuScreen Then
|
||||
FontRenderer.DrawString(FontManager.GameJoltFont, text, New Vector2(offset.X + 80 - (FontManager.GameJoltFont.MeasureString(text).X) / 2,
|
||||
offset.Y + 80 - (FontManager.GameJoltFont.MeasureString(text).Y) / 2), New Color(255, 255, 255, alpha))
|
||||
Else
|
||||
SpriteBatch.DrawString(FontManager.GameJoltFont, text, New Vector2(offset.X + 80 - (FontManager.GameJoltFont.MeasureString(text).X) / 2,
|
||||
offset.Y + 80 - (FontManager.GameJoltFont.MeasureString(text).Y) / 2), New Color(255, 255, 255, alpha))
|
||||
End If
|
||||
Else
|
||||
If _loaded Then
|
||||
Dim frameSize As Size = New Size(CInt(_sprite.Width / 3), CInt(_sprite.Height / 4))
|
||||
If isSelected Then
|
||||
_spriteDelay -= 0.1F
|
||||
If _spriteDelay <= 0F Then
|
||||
_spriteDelay = 1.5F
|
||||
_spriteIndex += 1
|
||||
If _spriteIndex = _spriteOrder.Length Then
|
||||
_spriteIndex = 0
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
_spriteIndex = 0
|
||||
End If
|
||||
|
||||
SpriteBatch.Draw(_sprite, New Rectangle(CInt(offset.X + 17), CInt(offset.Y - 10), 128, 128), New Rectangle(frameSize.Width * _spriteOrder(_spriteIndex), frameSize.Height * 2, frameSize.Width, frameSize.Height), New Color(255, 255, 255, alpha))
|
||||
|
||||
If alpha >= 250 And CurrentScreen.Identification = Identifications.MainMenuScreen Then
|
||||
FontRenderer.DrawString(FontManager.GameJoltFont, _name, New Vector2(offset.X + 80 - (FontManager.GameJoltFont.MeasureString(_name).X * _fontSize) / 2, offset.Y + 120), New Color(255, 255, 255, alpha), 0F, Vector2.Zero, New Vector2(_fontSize), SpriteEffects.None, 0F)
|
||||
Else
|
||||
SpriteBatch.DrawString(FontManager.GameJoltFont, _name, New Vector2(offset.X + 80 - (FontManager.GameJoltFont.MeasureString(_name).X * _fontSize) / 2, offset.Y + 120), New Color(255, 255, 255, alpha), 0F, Vector2.Zero, New Vector2(_fontSize), SpriteEffects.None, 0F)
|
||||
End If
|
||||
Else
|
||||
If isSelected Then
|
||||
_logoBounce += 0.2F
|
||||
Else
|
||||
_logoBounce = 0F
|
||||
End If
|
||||
|
||||
Dim text As String = "Log in"
|
||||
If _isLoading Then
|
||||
text = "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))
|
||||
|
||||
If alpha >= 250 And CurrentScreen.Identification = Identifications.MainMenuScreen Then
|
||||
FontRenderer.DrawString(FontManager.GameJoltFont, text, New Vector2(offset.X + 80 - (FontManager.GameJoltFont.MeasureString(text).X * _fontSize) / 2, offset.Y + 120), New Color(255, 255, 255, alpha), 0F, Vector2.Zero, New Vector2(_fontSize), SpriteEffects.None, 0F)
|
||||
Else
|
||||
SpriteBatch.DrawString(FontManager.GameJoltFont, text, New Vector2(offset.X + 80 - (FontManager.GameJoltFont.MeasureString(text).X * _fontSize) / 2, offset.Y + 120), New Color(255, 255, 255, alpha), 0F, Vector2.Zero, New Vector2(_fontSize), SpriteEffects.None, 0F)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Sub LoadGameJolt()
|
||||
If GameJolt.API.LoggedIn Then
|
||||
If _isGameJolt And _loaded = False And _isLoading = False Then
|
||||
_isLoading = True
|
||||
|
||||
GameJoltSave.DownloadSave(GameJolt.API.gameJoltId, True)
|
||||
ElseIf _isGameJolt And _loaded = False And _isLoading Then
|
||||
If GameJoltSave.DownloadFinished Then
|
||||
_loaded = True
|
||||
_isLoading = False
|
||||
|
||||
_sprite = GameJoltSave.DownloadedSprite
|
||||
If _sprite Is Nothing Then
|
||||
_sprite = GameJolt.Emblem.GetPlayerSprite(GameJolt.Emblem.GetPlayerLevel(GameJoltSave.Points), GameJoltSave.GameJoltID, GameJoltSave.Gender)
|
||||
End If
|
||||
|
||||
LoadFromPlayerData(GameJoltSave.Player)
|
||||
LoadContent(GameJoltSave.Party)
|
||||
Else
|
||||
If GameJoltSave.DownloadFailed Then
|
||||
_loaded = True
|
||||
_isLoading = False
|
||||
_failedGameJoltLoading = True
|
||||
|
||||
_sprite = Content.Load(Of Texture2D)("SharedResources\Textures\unknownSprite")
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Sub SelectProfile()
|
||||
If _isNewGameButton Then
|
||||
If GameModeManager.GameModeCount = 1 Then
|
||||
'There's only the default GameMode available, so just load that one:
|
||||
GameModeManager.SetGameModePointer("Kolben")
|
||||
SetScreen(New Screens.MainMenu.NewNewGameScreen(CurrentScreen))
|
||||
Else
|
||||
'There is more than one GameMode, prompt a selection screen:
|
||||
SetScreen(New GameModeSelectionScreen(CurrentScreen))
|
||||
End If
|
||||
Else
|
||||
If _isGameJolt And _loaded = False And GameJolt.API.LoggedIn = False Then
|
||||
SetScreen(New GameJolt.LogInScreen(CurrentScreen))
|
||||
Else
|
||||
If _gameModeExists Then
|
||||
GameModeManager.SetGameModePointer(_gameMode)
|
||||
|
||||
If _isGameJolt Then
|
||||
Core.Player.IsGameJoltSave = True
|
||||
Core.Player.LoadGame("GAMEJOLTSAVE")
|
||||
|
||||
SetScreen(New JoinServerScreen(CurrentScreen))
|
||||
Else
|
||||
Core.Player.IsGameJoltSave = False
|
||||
Core.Player.LoadGame(IO.Path.GetFileName(_path))
|
||||
|
||||
SetScreen(New JoinServerScreen(CurrentScreen))
|
||||
End If
|
||||
Else
|
||||
Dim messageBox As New UI.MessageBox(CurrentScreen)
|
||||
messageBox.Show("The required GameMode does not exist." & vbNewLine & "Reaquire the GameMode to play on this profile.")
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Class
|
||||
|
||||
Public Class GameModeSelectionScreen
|
||||
|
||||
Inherits Screen
|
||||
|
||||
Private _gameModes As GameMode()
|
||||
Private _index As Integer = 0
|
||||
Private _offset As Single = 0F
|
||||
|
||||
Private Const WIDTH = 400
|
||||
Private Const HEIGHT = 64
|
||||
Private Const GAP = 32
|
||||
|
||||
Public Sub New(ByVal currentScreen As Screen)
|
||||
Me.Identification = Identifications.GameModeSelectionScreen
|
||||
CanBePaused = True
|
||||
CanChat = False
|
||||
CanDrawDebug = True
|
||||
CanGoFullscreen = True
|
||||
CanMuteMusic = True
|
||||
CanTakeScreenshot = True
|
||||
|
||||
PreScreen = currentScreen
|
||||
|
||||
_gameModes = GameModeManager.GetAllGameModes
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub Draw()
|
||||
PreScreen.Draw()
|
||||
|
||||
Dim text = "Select a GameMode" + vbNewLine + "to start the new game with"
|
||||
|
||||
GetFontRenderer().DrawString(FontManager.GameJoltFont, text, New Vector2(30, 30), Color.White)
|
||||
|
||||
Dim center = windowSize.Width - 250
|
||||
For i = 0 To _gameModes.Length - 1
|
||||
Dim y = CType(i * (HEIGHT + GAP) + _offset + windowSize.Height / 2 - HEIGHT / 2, Integer)
|
||||
Dim color = Screens.UI.ColorProvider.LightColor
|
||||
Dim alphaColor = New Color(color.R, color.G, color.B, 0)
|
||||
Dim halfWidth = CType(WIDTH / 2, Integer)
|
||||
|
||||
Canvas.DrawGradient(New Rectangle(center - halfWidth, y, 50, HEIGHT), alphaColor, color, True, -1)
|
||||
Canvas.DrawGradient(New Rectangle(center + halfWidth - 50, y, 50, HEIGHT), color, alphaColor, True, -1)
|
||||
Canvas.DrawRectangle(New Rectangle(center - halfWidth + 50, y, WIDTH - 100, HEIGHT), color)
|
||||
|
||||
Dim displayText = _gameModes(i).Name
|
||||
Dim textSize = FontManager.GameJoltFont.MeasureString(displayText)
|
||||
|
||||
GetFontRenderer().DrawString(FontManager.GameJoltFont, displayText, New Vector2(center - halfWidth + 50, CType(y + HEIGHT / 2 - ((textSize.Y * 0.75F) / 2), Integer)), Color.White, 0F, Vector2.Zero, 0.75F, SpriteEffects.None, 0F)
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub Update()
|
||||
' PreScreen is the MainMenuScreen, so update the pre screen of that to achieve the background world:
|
||||
PreScreen.PreScreen.Update()
|
||||
|
||||
If _index > 0 AndAlso Controls.Up(True, True, True, True, True, True) Then
|
||||
_index -= 1
|
||||
End If
|
||||
If _index < _gameModes.Length - 1 AndAlso Controls.Down(True, True, True, True, True, True) Then
|
||||
_index += 1
|
||||
End If
|
||||
If Controls.Dismiss(True, True, True) Then
|
||||
SetScreen(PreScreen)
|
||||
End If
|
||||
If Controls.Accept(True, True, True) Then
|
||||
GameModeManager.SetGameModePointer(_gameModes(_index).DirectoryName)
|
||||
SetScreen(New Screens.MainMenu.NewNewGameScreen(PreScreen))
|
||||
End If
|
||||
|
||||
Dim targetOffset = GetTargetOffset()
|
||||
|
||||
If _offset <> targetOffset Then
|
||||
_offset = MathHelper.Lerp(_offset, targetOffset, 0.25F)
|
||||
If Math.Abs(_offset - targetOffset) <= 0.01F Then
|
||||
_offset = targetOffset
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Function GetTargetOffset() As Integer
|
||||
Return -_index * (HEIGHT + GAP)
|
||||
End Function
|
||||
|
||||
End Class
|
|
@ -61,7 +61,7 @@ Friend Class SplashScreen
|
|||
If MapPreviewScreen.MapViewMode = True Then
|
||||
Core.SetScreen(New MapPreviewScreen())
|
||||
Else
|
||||
Core.SetScreen(New MainMenuScreen())
|
||||
Core.SetScreen(New PressStartScreen())
|
||||
End If
|
||||
' Core.SetScreen(New TransitionScreen(Me, New IntroScreen(), Color.Black, False))
|
||||
End If
|
||||
|
|
|
@ -0,0 +1,191 @@
|
|||
Version=2
|
||||
|
||||
@camera.set(6,3,7,0,0-0.3)
|
||||
@camera.update
|
||||
@level.update
|
||||
|
||||
@music.play(system\gameintro)
|
||||
@screen.fadein
|
||||
|
||||
<levelWait>=0
|
||||
:when:<levelWait><100
|
||||
@level.wait(1)
|
||||
@camera.update
|
||||
<levelWait>+=1
|
||||
:endwhen
|
||||
|
||||
:when:<camera.y><9
|
||||
@npc.warp(1,~+0.03,~,~)
|
||||
@npc.warp(5,~+0.03,~,~)
|
||||
@npc.warp(6,~+0.03,~,~)
|
||||
@camera.sety(~+0.02)
|
||||
@camera.update
|
||||
:endwhen
|
||||
:when:<camera.y><15
|
||||
@npc.warp(1,~+0.03,~,~)
|
||||
@npc.warp(5,~+0.03,~,~)
|
||||
@npc.warp(6,~+0.03,~,~)
|
||||
@camera.sety(~+0.02)
|
||||
@camera.setpitch(~-0.0011)
|
||||
@camera.update
|
||||
:endwhen
|
||||
|
||||
@npc.setspeed(2,0.7)
|
||||
@npc.move(2,12)
|
||||
|
||||
<screenFade>=0
|
||||
:when:<screenFade><255
|
||||
@camera.setx(~-0.01)
|
||||
@camera.setz(~-0.01)
|
||||
@camera.sety(~-0.004)
|
||||
@camera.setpitch(~-0.0012)
|
||||
@camera.update
|
||||
<screenFade>+=1
|
||||
@screen.setfade(<screenFade>)
|
||||
:endwhen
|
||||
|
||||
@camera.set(40,1.1,11,0,0)
|
||||
@camera.update
|
||||
@level.update
|
||||
|
||||
@screen.fadein(15)
|
||||
|
||||
@npc.turn(3,1)
|
||||
@camera.update
|
||||
@level.wait(5)
|
||||
|
||||
@npc.turn(3,2)
|
||||
@camera.update
|
||||
@level.wait(5)
|
||||
|
||||
@npc.turn(3,3)
|
||||
@camera.update
|
||||
@level.wait(5)
|
||||
|
||||
@npc.turn(3,0)
|
||||
@camera.update
|
||||
@level.wait(5)
|
||||
|
||||
@npc.turn(3,2)
|
||||
@camera.update
|
||||
@level.wait(5)
|
||||
|
||||
@npc.move(4,3)
|
||||
|
||||
<levelWait>=0
|
||||
:when:<levelWait><50
|
||||
@level.wait(1)
|
||||
@camera.update
|
||||
<levelWait>+=1
|
||||
:endwhen
|
||||
|
||||
@npc.setspeed(4,2)
|
||||
@npc.move(4,1)
|
||||
|
||||
@sound.play(destroy)
|
||||
|
||||
:when:<npc.position(3,x)>>35
|
||||
@npc.warp(3,~-0.05,~,~)
|
||||
@camera.update
|
||||
:endwhen
|
||||
|
||||
@screen.fadeout(2)
|
||||
@music.stop
|
||||
|
||||
@level.load(newgame\intro.dat)
|
||||
|
||||
@camera.set(9,0.5,9,0,0-0.1)
|
||||
@camera.update
|
||||
|
||||
@screen.fadein
|
||||
|
||||
@music.play(route\1)
|
||||
@npc.move(0,4)
|
||||
@npc.turn(0,2)
|
||||
|
||||
@text.show(Hello, sorry to~keep you waiting!*Welcome to the~world of Pokémon!*My name is Oak.~People call me~Pokémon Professor.*This world is inhabited~by creatures that~we call...)
|
||||
@screen.fadeout(20)
|
||||
@camera.set(20,3,4,3.36,-0.59)
|
||||
@camera.update
|
||||
@level.update
|
||||
@screen.fadein(20)
|
||||
@text.show(...Pokémon.*People and Pokémon~live together by supporting~each other.)
|
||||
|
||||
@screen.fadeout(20)
|
||||
@camera.set(35,1,14,6.16,0-0.187)
|
||||
@camera.update
|
||||
@level.update
|
||||
@screen.fadein(20)
|
||||
|
||||
@text.show(Some people play~with Pokémon, some battle~with them.*But we don't know~everything about~Pokémon yet.)
|
||||
|
||||
@screen.fadeout(20)
|
||||
@camera.set(9,0.5,9,0,0-0.1)
|
||||
@camera.update
|
||||
@level.update
|
||||
@screen.fadein(20)
|
||||
@text.show(There are still~many mysteries to solve.*That's why I study~Pokémon every day.)
|
||||
@text.show(But let's get~back to you.)
|
||||
|
||||
@screen.skinselection(Ethan,Lyra,Hilbert,Hilda,Nate,Rosa,Leaf)
|
||||
|
||||
@player.wearskin(<screen.selectedskin>)
|
||||
@npc.wearskin(1,<screen.selectedskin>)
|
||||
|
||||
:when:<camera.z><11.5
|
||||
@camera.setz(~+0.05)
|
||||
@camera.sety(~+0.02)
|
||||
@camera.setpitch(~-0.006)
|
||||
@camera.update
|
||||
:endwhen
|
||||
|
||||
@text.show(Now, what did you say~your name was?)
|
||||
@screen.input(<screen.selectedskin>,name,<screen.selectedskin>,14)
|
||||
@player.setname(<system.lastinput>)
|
||||
|
||||
@text.show(Alright, nice to meet you,~<player.name>!)
|
||||
|
||||
@screen.fadeout(20)
|
||||
@camera.set(26,1.1,36,5.93,0-0.276)
|
||||
@camera.update
|
||||
@level.update
|
||||
@screen.fadein(20)
|
||||
|
||||
@npc.move(4,3)
|
||||
@level.wait(50)
|
||||
@npc.turn(4,1)
|
||||
@npc.move(4,4)
|
||||
@npc.turn(3,3)
|
||||
@npc.move(3,2)
|
||||
@npc.turn(3,0)
|
||||
@npc.move(3,2)
|
||||
@sound.play(enter)
|
||||
|
||||
@text.show(This is your home~in New Bark Town,~you live there~with your mother~right next to Professor Elm.)
|
||||
|
||||
@screen.fadeout(20)
|
||||
@camera.set(9,1.5,11.5,0,0-0.4)
|
||||
@camera.update
|
||||
@level.update
|
||||
@screen.fadein(20)
|
||||
|
||||
@text.show(<player.name>,~are you ready?*Your very own Pokémon~story is about to unfold.*You'll face fun times~and tough challenges.*A world of dreams and~adventures with Pokémon~awaits!*Let's go!~I'll be seeing you later!)
|
||||
|
||||
<screenFade>=0
|
||||
|
||||
:when:<screenFade><255
|
||||
@camera.setz(~+0.01)
|
||||
@camera.sety(~+0.004)
|
||||
@camera.setpitch(~-0.0012)
|
||||
@camera.update
|
||||
<screenFade>+=1
|
||||
@screen.setfade(<screenFade>)
|
||||
:endwhen
|
||||
|
||||
@player.setot(<system.random(0,65255)>)
|
||||
@player.addmoney(3000)
|
||||
@rival.setname(???)
|
||||
|
||||
@system.endnewgame(johto\newbark\yourroom.dat,1,0.1,3,1)
|
||||
|
||||
:end
|
|
@ -135,6 +135,8 @@ Namespace ScriptVersion2
|
|||
DoRadio(subClass)
|
||||
Case "help"
|
||||
DoHelp(subClass)
|
||||
Case "system"
|
||||
DoSystem(subClass)
|
||||
Case "title"
|
||||
DoTitle(subClass)
|
||||
Case Else
|
||||
|
|
|
@ -13,19 +13,26 @@
|
|||
Dim c As OverworldCamera = CType(Screen.Camera, OverworldCamera)
|
||||
Dim doCameraUpdate As Boolean = True
|
||||
|
||||
Dim position As Vector3
|
||||
If Core.CurrentScreen.Identification = Screen.Identifications.NewGameScreen Then
|
||||
position = c.Position
|
||||
Else
|
||||
position = c.ThirdPersonOffset
|
||||
End If
|
||||
|
||||
Select Case command.ToLower()
|
||||
Case "set"
|
||||
Dim x As Single = sng(argument.GetSplit(0).Replace("~", CStr(c.ThirdPersonOffset.X)).Replace(".", GameController.DecSeparator))
|
||||
Dim y As Single = sng(argument.GetSplit(1).Replace("~", CStr(c.ThirdPersonOffset.Y)).Replace(".", GameController.DecSeparator))
|
||||
Dim z As Single = sng(argument.GetSplit(2).Replace("~", CStr(c.ThirdPersonOffset.Z)).Replace(".", GameController.DecSeparator))
|
||||
Dim x As Single = sng(argument.GetSplit(0).Replace("~", CStr(position.X)).Replace(".", GameController.DecSeparator))
|
||||
Dim y As Single = sng(argument.GetSplit(1).Replace("~", CStr(position.Y)).Replace(".", GameController.DecSeparator))
|
||||
Dim z As Single = sng(argument.GetSplit(2).Replace("~", CStr(position.Z)).Replace(".", GameController.DecSeparator))
|
||||
Dim yaw As Single = sng(argument.GetSplit(3).Replace(".", GameController.DecSeparator))
|
||||
Dim pitch As Single = sng(argument.GetSplit(4).Replace(".", GameController.DecSeparator))
|
||||
|
||||
c.ThirdPersonOffset = New Vector3(x, y, z)
|
||||
position = New Vector3(x, y, z)
|
||||
c.Yaw = yaw
|
||||
c.Pitch = pitch
|
||||
Case "reset"
|
||||
c.ThirdPersonOffset = New Vector3(0.0F, 0.3F, 1.5F)
|
||||
position = New Vector3(0.0F, 0.3F, 1.5F)
|
||||
If argument <> "" Then
|
||||
doCameraUpdate = CBool(argument)
|
||||
End If
|
||||
|
@ -34,27 +41,27 @@
|
|||
|
||||
c.Yaw = yaw
|
||||
Case "setpitch"
|
||||
Dim pitch As Single = sng(argument.Replace(",", ".").Replace(".", GameController.DecSeparator))
|
||||
Dim pitch As Single = sng(argument.Replace("~", CStr(c.Pitch)).Replace(",", ".").Replace(".", GameController.DecSeparator))
|
||||
|
||||
c.Pitch = pitch
|
||||
Case "setposition"
|
||||
Dim x As Single = sng(argument.GetSplit(0).Replace("~", CStr(c.ThirdPersonOffset.X)).Replace(".", GameController.DecSeparator))
|
||||
Dim y As Single = sng(argument.GetSplit(1).Replace("~", CStr(c.ThirdPersonOffset.Y)).Replace(".", GameController.DecSeparator))
|
||||
Dim z As Single = sng(argument.GetSplit(2).Replace("~", CStr(c.ThirdPersonOffset.Z)).Replace(".", GameController.DecSeparator))
|
||||
Dim x As Single = sng(argument.GetSplit(0).Replace("~", CStr(position.X)).Replace(".", GameController.DecSeparator))
|
||||
Dim y As Single = sng(argument.GetSplit(1).Replace("~", CStr(position.Y)).Replace(".", GameController.DecSeparator))
|
||||
Dim z As Single = sng(argument.GetSplit(2).Replace("~", CStr(position.Z)).Replace(".", GameController.DecSeparator))
|
||||
|
||||
c.ThirdPersonOffset = New Vector3(x, y, z)
|
||||
position = New Vector3(x, y, z)
|
||||
Case "setx"
|
||||
Dim x As Single = sng(argument.Replace("~", CStr(c.ThirdPersonOffset.X)).Replace(".", GameController.DecSeparator))
|
||||
Dim x As Single = sng(argument.Replace("~", CStr(position.X)).Replace(".", GameController.DecSeparator))
|
||||
|
||||
c.ThirdPersonOffset.X = x
|
||||
position.X = x
|
||||
Case "sety"
|
||||
Dim y As Single = sng(argument.Replace("~", CStr(c.ThirdPersonOffset.Y)).Replace(".", GameController.DecSeparator))
|
||||
Dim y As Single = sng(argument.Replace("~", CStr(position.Y)).Replace(".", GameController.DecSeparator))
|
||||
|
||||
c.ThirdPersonOffset.Y = y
|
||||
position.Y = y
|
||||
Case "setz"
|
||||
Dim z As Single = sng(argument.Replace("~", CStr(c.ThirdPersonOffset.Z)).Replace(".", GameController.DecSeparator))
|
||||
Dim z As Single = sng(argument.Replace("~", CStr(position.Z)).Replace(".", GameController.DecSeparator))
|
||||
|
||||
c.ThirdPersonOffset.Z = z
|
||||
position.Z = z
|
||||
Case "togglethirdperson"
|
||||
If Core.CurrentScreen.Identification = Screen.Identifications.OverworldScreen Then
|
||||
c.SetThirdPerson(Not c.ThirdPerson, False)
|
||||
|
@ -132,6 +139,13 @@
|
|||
c.Yaw = facing * MathHelper.PiOver2
|
||||
End Select
|
||||
|
||||
|
||||
If Core.CurrentScreen.Identification = Screen.Identifications.NewGameScreen Then
|
||||
c.Position = position
|
||||
Else
|
||||
c.ThirdPersonOffset = position
|
||||
End If
|
||||
|
||||
c.UpdateThirdPersonCamera()
|
||||
If doCameraUpdate = True Then
|
||||
c.UpdateFrustum()
|
||||
|
|
|
@ -55,6 +55,10 @@
|
|||
If doWait = False Then
|
||||
IsReady = True
|
||||
End If
|
||||
Case "load"
|
||||
Screen.Level = New Level()
|
||||
Screen.Level.Load(argument)
|
||||
IsReady = True
|
||||
Case "reload"
|
||||
Screen.Level.WarpData.WarpDestination = Screen.Level.LevelFile
|
||||
Screen.Level.WarpData.WarpPosition = Screen.Camera.Position
|
||||
|
|
|
@ -237,6 +237,9 @@
|
|||
Case "save"
|
||||
Core.Player.SaveGame(False)
|
||||
|
||||
IsReady = True
|
||||
Case "setname"
|
||||
Core.Player.Name = argument
|
||||
IsReady = True
|
||||
Case "setrivalname"
|
||||
Core.Player.RivalName = argument
|
||||
|
|
|
@ -222,6 +222,13 @@
|
|||
IsReady = True
|
||||
|
||||
CanContinue = False
|
||||
Case "skinselection"
|
||||
Dim skins = argument.Split(","c)
|
||||
If Screens.MainMenu.NewNewGameScreen.CharacterSelectionScreen.SelectedSkin <> "" Then
|
||||
IsReady = True
|
||||
Else
|
||||
SetScreen(New Screens.MainMenu.NewNewGameScreen.CharacterSelectionScreen(CurrentScreen, skins))
|
||||
End If
|
||||
Case Else
|
||||
IsReady = True
|
||||
End Select
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
Namespace ScriptVersion2
|
||||
|
||||
Partial Class ScriptCommander
|
||||
|
||||
' --------------------------------------------------------------------------------------------------------------------------
|
||||
' Contains the @system commands.
|
||||
' --------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
Private Shared Sub DoSystem(ByVal subClass As String)
|
||||
Dim command As String = ScriptComparer.GetSubClassArgumentPair(subClass).Command
|
||||
Dim argument As String = ScriptComparer.GetSubClassArgumentPair(subClass).Argument
|
||||
|
||||
Select Case command.ToLower()
|
||||
Case "endnewgame"
|
||||
Dim args As String() = argument.Split(","c)
|
||||
Screens.MainMenu.NewNewGameScreen.EndNewGame(args(0), sng(args(1)), sng(args(2)), sng(args(3)), int(args(4)))
|
||||
IsReady = True
|
||||
Case Else
|
||||
IsReady = True
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -304,6 +304,8 @@ Namespace ScriptVersion2
|
|||
Return DoCamera(subClass)
|
||||
Case "filesystem"
|
||||
Return DoFileSystem(subClass)
|
||||
Case "screen"
|
||||
Return DoScreen(subClass)
|
||||
End Select
|
||||
Return DefaultNull
|
||||
End Function
|
||||
|
|
|
@ -12,15 +12,21 @@
|
|||
|
||||
Dim c As OverworldCamera = CType(Screen.Camera, OverworldCamera)
|
||||
|
||||
Dim position As Vector3
|
||||
If Core.CurrentScreen.Identification = Screen.Identifications.NewGameScreen Then
|
||||
position = c.Position
|
||||
Else
|
||||
position = c.ThirdPersonOffset
|
||||
End If
|
||||
Select Case command.ToLower()
|
||||
Case "isfixed"
|
||||
Return ReturnBoolean(c.Fixed)
|
||||
Case "x"
|
||||
Return c.ThirdPersonOffset.X.ToString().ReplaceDecSeparator()
|
||||
Return position.X.ToString().ReplaceDecSeparator()
|
||||
Case "y"
|
||||
Return c.ThirdPersonOffset.Y.ToString().ReplaceDecSeparator()
|
||||
Return position.Y.ToString().ReplaceDecSeparator()
|
||||
Case "z"
|
||||
Return c.ThirdPersonOffset.Z.ToString().ReplaceDecSeparator()
|
||||
Return position.Z.ToString().ReplaceDecSeparator()
|
||||
Case "yaw"
|
||||
Return c.Yaw.ToString().ReplaceDecSeparator()
|
||||
Case "pitch"
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
Namespace ScriptVersion2
|
||||
|
||||
Partial Class ScriptComparer
|
||||
|
||||
' --------------------------------------------------------------------------------------------------------------------------
|
||||
' Contains the <screen> constructs.
|
||||
' --------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
Private Shared Function DoScreen(ByVal subClass As String) As Object
|
||||
Dim command As String = GetSubClassArgumentPair(subClass).Command
|
||||
Dim argument As String = GetSubClassArgumentPair(subClass).Argument
|
||||
|
||||
Select Case command.ToLower()
|
||||
Case "selectedskin"
|
||||
Return Screens.MainMenu.NewNewGameScreen.CharacterSelectionScreen.SelectedSkin
|
||||
End Select
|
||||
|
||||
Return DefaultNull
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -0,0 +1,94 @@
|
|||
{"Level"{LEV[{"Name"{str[Intro Map]}}{"MusicLoop"{str[RouteMusic1]}}]}}
|
||||
{"Actions"{LEV[{"CanTeleport"{bool[1]}}{"CanDig"{bool[1]}}{"CanFly"{bool[1]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}{"Lightning"{int[1]}}]}}
|
||||
|
||||
{"Floor"{ENT[{"Size"{intArr[50,40]}}{"Position"{intArr[0,0,0]}}{"TexturePath"{str[intro]}}{"Texture"{rec[0,0,16,16]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"Size"{intArr[50,10,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[0,0,-1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[0,0,16,16]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
9,9=starting position
|
||||
|
||||
Oak:
|
||||
{"NPC"{NPC[{"Position"{sngArr[13,0,5]}}{"TextureID"{str[oak]}}{"ID"{int[0]}}{"Name"{str[Oak]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
|
||||
Player:
|
||||
{"NPC"{NPC[{"Position"{sngArr[9,0,9]}}{"TextureID"{str[0]}}{"ID"{int[1]}}{"Name"{str[PLAYER]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
|
||||
First route scene:
|
||||
{"Floor"{ENT[{"SeasonTexture"{str[Grass]}}{"Size"{intArr[6,6]}}{"Position"{intArr[20,0,6]}}{"TexturePath"{str[Routes]}}{"Texture"{rec[96,16,16,16]}}]}}
|
||||
{"Floor"{ENT[{"SeasonTexture"{str[Grass]}}{"Size"{intArr[2,1]}}{"Position"{intArr[26,0,8]}}{"TexturePath"{str[Routes]}}{"Texture"{rec[96,16,16,16]}}]}}
|
||||
{"Floor"{ENT[{"SeasonTexture"{str[Grass]}}{"Size"{intArr[1,1]}}{"Position"{intArr[26,0,9]}}{"TexturePath"{str[Routes]}}{"Texture"{rec[96,16,16,16]}}]}}
|
||||
{"Floor"{ENT[{"SeasonTexture"{str[Grass]}}{"Size"{intArr[1,2]}}{"Position"{intArr[19,0,10]}}{"TexturePath"{str[Routes]}}{"Texture"{rec[96,16,16,16]}}]}}
|
||||
{"Floor"{ENT[{"SeasonTexture"{str[Grass]}}{"Size"{intArr[1,1]}}{"Position"{intArr[23,0,12]}}{"TexturePath"{str[Routes]}}{"Texture"{rec[96,16,16,16]}}]}}
|
||||
{"Floor"{ENT[{"Size"{intArr[2,2]}}{"Position"{intArr[22,0,8]}}{"TexturePath"{str[Routes]}}{"Texture"{rec[112,16,16,16]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"SeasonTexture"{str[PlantColoring]}}{"Size"{intArr[1,2]}}{"EntityID"{str[WallBill]}}{"Scale"{sngArr[1,2,1]}}{"Position"{sngArr[22,0.3,12]}}{"TexturePath"{str[Routes]}}{"Textures"{recArr[[112,64,16,32]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"SeasonTexture"{str[PlantColoring]}}{"Size"{intArr[2,2]}}{"EntityID"{str[WallBill]}}{"Scale"{sngArr[1,2,1]}}{"Position"{sngArr[24,0.3,7]}}{"TexturePath"{str[Routes]}}{"Textures"{recArr[[112,64,16,32]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"SeasonTexture"{str[PlantColoring]}}{"Size"{intArr[1,1]}}{"EntityID"{str[WallBill]}}{"Scale"{sngArr[1,2,1]}}{"Position"{sngArr[25,0.3,11]}}{"TexturePath"{str[Routes]}}{"Textures"{recArr[[112,64,16,32]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"SeasonTexture"{str[PlantColoring]}}{"Size"{intArr[2,2]}}{"EntityID"{str[HeadbuttTree]}}{"Position"{sngArr[19,-0.2,11]}}{"TexturePath"{str[Routes]}}{"Textures"{recArr[[16,32,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"SeasonTexture"{str[Grass]}}{"Size"{intArr[1,3]}}{"EntityID"{str[Grass]}}{"Position"{sngArr[21,0,5]}}{"TexturePath"{str[Routes]}}{"Textures"{recArr[[80,16,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"NPC"{NPC[{"Position"{sngArr[21,0,10]}}{"TextureID"{str[[POKEMON|N]44]}}{"ID"{int[2]}}{"Name"{str[Pokemon]}}{"Action"{int[1]}}{"AdditionalValue"{str[johto\ilex\farfetchd]}}{"Rotation"{int[1]}}{"Movement"{str[Walk]}}{"MoveRectangles"{recArr[[20,8,4,3]]}}]}}
|
||||
{"NPC"{NPC[{"Position"{sngArr[22,0,8]}}{"TextureID"{str[[POKEMON|N]13]}}{"ID"{int[2]}}{"Name"{str[Pokemon]}}{"Action"{int[1]}}{"AdditionalValue"{str[johto\ilex\farfetchd]}}{"Rotation"{int[2]}}{"Movement"{str[Walk]}}{"MoveRectangles"{recArr[[20,8,4,3]]}}]}}
|
||||
{"NPC"{NPC[{"Position"{sngArr[23,0,9]}}{"TextureID"{str[[POKEMON|N]25]}}{"ID"{int[2]}}{"Name"{str[Pokemon]}}{"Action"{int[1]}}{"AdditionalValue"{str[johto\ilex\farfetchd]}}{"Rotation"{int[0]}}{"Movement"{str[Walk]}}{"MoveRectangles"{recArr[[20,8,4,3]]}}]}}
|
||||
|
||||
Second scene:
|
||||
{"Floor"{ENT[{"SeasonTexture"{str[Grass]}}{"Size"{intArr[14,8]}}{"Position"{intArr[30,0,4]}}{"TexturePath"{str[Routes]}}{"Texture"{rec[96,16,16,16]}}]}}
|
||||
{"Floor"{ENT[{"Size"{intArr[10,2]}}{"Position"{intArr[32,0,8]}}{"TexturePath"{str[Park]}}{"Texture"{rec[0,0,16,16]}}]}}
|
||||
{"Floor"{ENT[{"Size"{intArr[2,3]}}{"Position"{intArr[32,0,5]}}{"TexturePath"{str[Park]}}{"Texture"{rec[0,0,16,16]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"SeasonTexture"{str[PlantColoring]}}{"Size"{intArr[3,3]}}{"EntityID"{str[WallBill]}}{"Scale"{sngArr[1.1,1.1,1.1]}}{"Position"{sngArr[37,-0.1,4]}}{"TexturePath"{str[Park]}}{"Textures"{recArr[[32,0,32,32]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"SeasonTexture"{str[PlantColoring]}}{"Size"{intArr[2,6]}}{"EntityID"{str[WallBill]}}{"Scale"{sngArr[1.1,1.1,1.1]}}{"Position"{sngArr[30,-0.1,4]}}{"TexturePath"{str[Park]}}{"Textures"{recArr[[32,0,32,32]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"SeasonTexture"{str[Grass]}}{"Size"{intArr[4,1]}}{"EntityID"{str[Grass]}}{"Position"{sngArr[40,0,5]}}{"TexturePath"{str[Park]}}{"Textures"{recArr[[16,0,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"SeasonTexture"{str[Grass]}}{"Size"{intArr[3,1]}}{"EntityID"{str[Grass]}}{"Position"{sngArr[41,0,6]}}{"TexturePath"{str[Park]}}{"Textures"{recArr[[16,0,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"SeasonTexture"{str[Grass]}}{"Size"{intArr[2,1]}}{"EntityID"{str[Grass]}}{"Position"{sngArr[42,0,7]}}{"TexturePath"{str[Park]}}{"Textures"{recArr[[16,0,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"Size"{intArr[10,1]}}{"EntityID"{str[Cube]}}{"Scale"{sngArr[1,0.5,1]}}{"Position"{sngArr[31,-0.25,10.7]}}{"TexturePath"{str[Park]}}{"Textures"{recArr[[16,16,16,8]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[10,1]}}{"EntityID"{str[Cube]}}{"Scale"{sngArr[1,0.2,0.2]}}{"Position"{sngArr[31,-0.4,11]}}{"TexturePath"{str[Park]}}{"Textures"{recArr[[0,24,16,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"Entity"{ENT[{"EntityID"{str[Cube]}}{"Scale"{sngArr[2,0.4,1]}}{"Position"{sngArr[35.5,-0.1,6.725]}}{"TexturePath"{str[Park]}}{"Textures"{recArr[[16,32,32,8]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
|
||||
{"Entity"{ENT[{"EntityID"{str[Cube]}}{"Scale"{sngArr[1,0.2,0.55]}}{"Position"{sngArr[35,-0.4,7]}}{"TexturePath"{str[Park]}}{"Textures"{recArr[[48,49,9,3][16,49,16,3][32,49,16,3][16,40,16,9][57,49,1,1]]}}{"TextureIndex"{intArr[1,1,4,4,0,0,2,2,3,3]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"Entity"{ENT[{"EntityID"{str[Cube]}}{"Scale"{sngArr[1,0.2,0.55]}}{"Position"{sngArr[36,-0.4,7]}}{"TexturePath"{str[Park]}}{"Textures"{recArr[[48,49,9,3][16,49,16,3][32,49,16,3][32,40,16,9][57,49,1,1]]}}{"TextureIndex"{intArr[1,1,4,4,0,0,2,2,3,3]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
|
||||
|
||||
{"Entity"{ENT[{"Scale"{sngArr[0.3,0.4,0.3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[34,-0.3,7]}}{"TexturePath"{str[Park]}}{"Textures"{recArr[[16,69,8,11][16,61,8,8]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"NPC"{NPC[{"Position"{sngArr[39,0,9]}}{"TextureID"{str[1]}}{"ID"{int[2]}}{"Name"{str[Lady2]}}{"Action"{int[0]}}{"AdditionalValue"{str[This is Mail I got~from my daughter.~It cheers me up.]}}{"Rotation"{int[3]}}{"Movement"{str[Looking]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
|
||||
{"NPC"{NPC[{"Position"{sngArr[35,0,8]}}{"TextureID"{str[[POKEMON|N]53]}}{"ID"{int[2]}}{"Name"{str[Persian]}}{"Action"{int[1]}}{"AdditionalValue"{str[johto\nationalpark\persian]}}{"Rotation"{int[2]}}{"Movement"{str[Looking]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
{"NPC"{NPC[{"Position"{sngArr[36,0,8]}}{"TextureID"{str[15]}}{"ID"{int[2]}}{"Name"{str[Lady1]}}{"Action"{int[1]}}{"AdditionalValue"{str[johto\nationalpark\quick_claw]}}{"Rotation"{int[2]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
|
||||
{"NPC"{NPC[{"Position"{sngArr[33,0,5]}}{"TextureID"{str[18]}}{"ID"{int[2]}}{"Name"{str[Guy2]}}{"Action"{int[0]}}{"AdditionalValue"{str[I'm printing out~my Pokédex.*You can also print~out stuff like*Mail and your PC~Boxes.]}}{"Rotation"{int[3]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
{"NPC"{NPC[{"Position"{sngArr[34,0,5]}}{"TextureID"{str[[POKEMON|N]137]}}{"ID"{int[2]}}{"Name"{str[Persian]}}{"Action"{int[1]}}{"AdditionalValue"{str[johto\nationalpark\persian]}}{"Rotation"{int[1]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
|
||||
{"NPC"{NPC[{"Position"{sngArr[40,0,6]}}{"TextureID"{str[[POKEMON|N]167]}}{"ID"{int[2]}}{"Name"{str[Persian]}}{"Action"{int[1]}}{"AdditionalValue"{str[johto\nationalpark\persian]}}{"Rotation"{int[2]}}{"Movement"{str[Looking]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
|
||||
|
||||
|
||||
{"EntityField"{ENT[{"Size"{intArr[50,10,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[0,0,24]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[0,0,16,16]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"Floor"{ENT[{"Size"{intArr[6,2]}}{"Position"{intArr[25,0,32]}}{"TexturePath"{str[Routes]}}{"Texture"{rec[112,16,16,16]}}]}}
|
||||
{"EntityField"{ENT[{"SeasonTexture"{str[PlantColoring]}}{"Size"{intArr[4,2]}}{"EntityID"{str[WallBill]}}{"Scale"{sngArr[1,2,1]}}{"Position"{sngArr[24,0.3,28]}}{"TexturePath"{str[Routes]}}{"Textures"{recArr[[112,64,16,32]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
Your House:
|
||||
{"EntityField"{ENT[{"Size"{intArr[4,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[28,0,28]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[0,0,16,16]]}}{"TextureIndex"{intArr[-1,-1,-1,-1,-1,-1,0,0,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[1,4]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[28,0,28]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[0,0,16,16]]}}{"TextureIndex"{intArr[-1,-1,-1,-1,-1,-1,0,0,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[1,4]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[31,0,28]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[0,0,16,16]]}}{"TextureIndex"{intArr[-1,-1,-1,-1,-1,-1,0,0,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[28,0,31]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[0,0,16,16]]}}{"TextureIndex"{intArr[-1,-1,-1,-1,-1,-1,0,0,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[30,0,31]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[0,0,16,16]]}}{"TextureIndex"{intArr[-1,-1,-1,-1,-1,-1,0,0,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"Size"{intArr[4,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[28,1,28]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[64,0,16,16]]}}{"TextureIndex"{intArr[-1,-1,-1,-1,-1,-1,0,0,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[1,4]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[28,1,28]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[64,0,16,16]]}}{"TextureIndex"{intArr[-1,-1,-1,-1,-1,-1,0,0,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[1,4]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[31,1,28]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[64,0,16,16]]}}{"TextureIndex"{intArr[-1,-1,-1,-1,-1,-1,0,0,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[28,1,31]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[64,0,16,16]]}}{"TextureIndex"{intArr[-1,-1,-1,-1,-1,-1,0,0,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
|
||||
|
||||
{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[30,1,31]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[48,0,16,16]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[31,1,31]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[32,0,16,16]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[29,0,31]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[16,0,16,16]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[johto\newbark\yourhouse.dat,7,0.1,7,0]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"Size"{intArr[4,4]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[28,1,28]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[80,0,16,16]]}}{"TextureIndex"{intArr[-1,-1,-1,-1,-1,-1,-1,-1,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"NPC"{NPC[{"Position"{sngArr[27,0,33]}}{"TextureID"{str[3]}}{"ID"{int[3]}}{"Name"{str[Mom]}}{"Action"{int[1]}}{"AdditionalValue"{str[johto\newbark\mom]}}{"Rotation"{int[1]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
{"NPC"{NPC[{"Position"{sngArr[23,0,33]}}{"TextureID"{str[63]}}{"ID"{int[4]}}{"Name"{str[GateKeeper2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
|
@ -0,0 +1,51 @@
|
|||
{"Level"{LEV[{"Name"{str[Intro Map]}}{"MusicLoop"{str[RouteMusic1]}}]}}
|
||||
{"Actions"{LEV[{"CanTeleport"{bool[1]}}{"CanDig"{bool[1]}}{"CanFly"{bool[1]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}{"Lightning"{int[1]}}]}}
|
||||
|
||||
Underwater:
|
||||
{"Floor"{ENT[{"Size"{intArr[20,6]}}{"Position"{intArr[-2,0,0]}}{"TexturePath"{str[intro]}}{"Texture"{rec[16,32,16,16]}}]}}
|
||||
{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[2,0,1]}}{"TexturePath"{str[intro]}}{"Texture"{rec[0,32,16,16]}}]}}
|
||||
{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[4,0,2]}}{"TexturePath"{str[intro]}}{"Texture"{rec[0,32,16,16]}}]}}
|
||||
{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[7,0,1]}}{"TexturePath"{str[intro]}}{"Texture"{rec[0,32,16,16]}}]}}
|
||||
{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[11,0,2]}}{"TexturePath"{str[intro]}}{"Texture"{rec[0,32,16,16]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"Size"{intArr[20,1,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[-2,0,-1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[20,1,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[-2,1,-1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[48,48,16,16]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[20,1,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[-2,2,-1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[48,32,16,16]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[20,1,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[-2,3,-1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[48,16,16,16]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[20,8,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[-2,4,-1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[48,0,16,16]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"Size"{intArr[3,3]}}{"EntityID"{str[WallBill]}}{"Scale"{sngArr[1,2,1]}}{"Position"{sngArr[9,0.3,1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[16,0,16,32]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[1,2]}}{"EntityID"{str[WallBill]}}{"Scale"{sngArr[1,2,1]}}{"Position"{sngArr[3,0.3,2]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[16,0,16,32]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"EntityID"{str[WallBill]}}{"Position"{sngArr[5,0,1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[0,16,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"EntityID"{str[WallBill]}}{"Position"{sngArr[2,0,3]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[0,16,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
Shellder:
|
||||
{"NPC"{NPC[{"Position"{sngArr[8,0,2]}}{"AnimateIdle"{bool[true]}}{"TextureID"{str[[POKEMON|N]90]}}{"ID"{int[0]}}{"Name"{str[Pokemon]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
{"NPC"{NPC[{"Position"{sngArr[5,2,1]}}{"AnimateIdle"{bool[true]}}{"TextureID"{str[[POKEMON|N]90]}}{"ID"{int[0]}}{"Name"{str[Pokemon]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
{"NPC"{NPC[{"Position"{sngArr[4,1,3]}}{"AnimateIdle"{bool[true]}}{"TextureID"{str[[POKEMON|N]90]}}{"ID"{int[0]}}{"Name"{str[Pokemon]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
|
||||
Magikarp:
|
||||
{"NPC"{NPC[{"Position"{sngArr[0,7,2]}}{"AnimateIdle"{bool[true]}}{"TextureID"{str[[POKEMON|N]129]}}{"ID"{int[1]}}{"Name"{str[Pokemon]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
{"NPC"{NPC[{"Position"{sngArr[-3,8,1]}}{"AnimateIdle"{bool[true]}}{"TextureID"{str[[POKEMON|N]129]}}{"ID"{int[5]}}{"Name"{str[Pokemon]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
{"NPC"{NPC[{"Position"{sngArr[-4,8,3]}}{"AnimateIdle"{bool[true]}}{"TextureID"{str[[POKEMON|N]129]}}{"ID"{int[6]}}{"Name"{str[Pokemon]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"Size"{intArr[26,17]}}{"EntityID"{str[Water]}}{"Position"{sngArr[-6,12,-9]}}{"TexturePath"{str[Routes]}}{"Textures"{recArr[[0,16,16,16][144,16,16,16]]}}{"TextureIndex"{intArr[0,0,1,1]}}{"Collision"{bool[0]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
|
||||
|
||||
Lapras:
|
||||
{"NPC"{NPC[{"Position"{sngArr[12,12.2,2]}}{"TextureID"{str[[POKEMON|N]131]}}{"ID"{int[2]}}{"Name"{str[Pokemon]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
|
||||
Overworld:
|
||||
{"Entity"{ENT[{"Scale"{sngArr[4,8,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[31.5,3.5,-1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[64,0,64,128]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"Entity"{ENT[{"Scale"{sngArr[4,8,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[35.5,3.5,-1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[64,0,64,128]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"Entity"{ENT[{"Scale"{sngArr[4,8,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[39.5,3.5,-1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[64,0,64,128]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"Entity"{ENT[{"Scale"{sngArr[4,8,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[43.5,3.5,-1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[64,0,64,128]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"Entity"{ENT[{"Scale"{sngArr[4,8,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[47.5,3.5,-1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[64,0,64,128]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"Size"{intArr[20,8]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[30,0,0]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[64,112,16,16][48,96,16,16]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
Jigglypuff:
|
||||
{"NPC"{NPC[{"Position"{sngArr[40,1,7]}}{"AnimateIdle"{bool[true]}}{"TextureID"{str[[POKEMON|N]39]}}{"ID"{int[3]}}{"Name"{str[Pokemon]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
|
||||
Pikachu:
|
||||
{"NPC"{NPC[{"Position"{sngArr[45,1,7]}}{"TextureID"{str[[POKEMON|N]25]}}{"ID"{int[4]}}{"Name"{str[Pokemon]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
|
@ -46282,3 +46282,156 @@
|
|||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/UI/TrainerCard/Papers.png
|
||||
|
||||
#begin Fonts/BMP/GameJolt.xnb
|
||||
/copy:Fonts/BMP/GameJolt.xnb
|
||||
|
||||
#begin GUI/Logos/logo_shine.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
/processorParam:ColorKeyColor=255,0,255,255
|
||||
/processorParam:ColorKeyEnabled=True
|
||||
/processorParam:GenerateMipmaps=False
|
||||
/processorParam:PremultiplyAlpha=True
|
||||
/processorParam:ResizeToPowerOfTwo=False
|
||||
/processorParam:MakeSquare=False
|
||||
/processorParam:TextureFormat=Color
|
||||
/build:GUI/Logos/logo_shine.png
|
||||
|
||||
#begin Textures/UI/GameJolt/Loading/0.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
/processorParam:ColorKeyColor=255,0,255,255
|
||||
/processorParam:ColorKeyEnabled=True
|
||||
/processorParam:GenerateMipmaps=False
|
||||
/processorParam:PremultiplyAlpha=True
|
||||
/processorParam:ResizeToPowerOfTwo=False
|
||||
/processorParam:MakeSquare=False
|
||||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/UI/GameJolt/Loading/0.png
|
||||
|
||||
#begin Textures/UI/GameJolt/Loading/1.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
/processorParam:ColorKeyColor=255,0,255,255
|
||||
/processorParam:ColorKeyEnabled=True
|
||||
/processorParam:GenerateMipmaps=False
|
||||
/processorParam:PremultiplyAlpha=True
|
||||
/processorParam:ResizeToPowerOfTwo=False
|
||||
/processorParam:MakeSquare=False
|
||||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/UI/GameJolt/Loading/1.png
|
||||
|
||||
#begin Textures/UI/GameJolt/Loading/2.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
/processorParam:ColorKeyColor=255,0,255,255
|
||||
/processorParam:ColorKeyEnabled=True
|
||||
/processorParam:GenerateMipmaps=False
|
||||
/processorParam:PremultiplyAlpha=True
|
||||
/processorParam:ResizeToPowerOfTwo=False
|
||||
/processorParam:MakeSquare=False
|
||||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/UI/GameJolt/Loading/2.png
|
||||
|
||||
#begin Textures/UI/GameJolt/Loading/3.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
/processorParam:ColorKeyColor=255,0,255,255
|
||||
/processorParam:ColorKeyEnabled=True
|
||||
/processorParam:GenerateMipmaps=False
|
||||
/processorParam:PremultiplyAlpha=True
|
||||
/processorParam:ResizeToPowerOfTwo=False
|
||||
/processorParam:MakeSquare=False
|
||||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/UI/GameJolt/Loading/3.png
|
||||
|
||||
#begin Textures/UI/GameJolt/gameJoltIcon.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
/processorParam:ColorKeyColor=255,0,255,255
|
||||
/processorParam:ColorKeyEnabled=True
|
||||
/processorParam:GenerateMipmaps=False
|
||||
/processorParam:PremultiplyAlpha=True
|
||||
/processorParam:ResizeToPowerOfTwo=False
|
||||
/processorParam:MakeSquare=False
|
||||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/UI/GameJolt/gameJoltIcon.png
|
||||
|
||||
#begin Textures/UI/GameJolt/login.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
/processorParam:ColorKeyColor=255,0,255,255
|
||||
/processorParam:ColorKeyEnabled=True
|
||||
/processorParam:GenerateMipmaps=False
|
||||
/processorParam:PremultiplyAlpha=True
|
||||
/processorParam:ResizeToPowerOfTwo=False
|
||||
/processorParam:MakeSquare=False
|
||||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/UI/GameJolt/login.png
|
||||
|
||||
#begin Textures/UI/GameJolt/logo.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
/processorParam:ColorKeyColor=255,0,255,255
|
||||
/processorParam:ColorKeyEnabled=True
|
||||
/processorParam:GenerateMipmaps=False
|
||||
/processorParam:PremultiplyAlpha=True
|
||||
/processorParam:ResizeToPowerOfTwo=False
|
||||
/processorParam:MakeSquare=False
|
||||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/UI/GameJolt/logo.png
|
||||
|
||||
#begin Textures/UI/GameJolt/question.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
/processorParam:ColorKeyColor=255,0,255,255
|
||||
/processorParam:ColorKeyEnabled=True
|
||||
/processorParam:GenerateMipmaps=False
|
||||
/processorParam:PremultiplyAlpha=True
|
||||
/processorParam:ResizeToPowerOfTwo=False
|
||||
/processorParam:MakeSquare=False
|
||||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/UI/GameJolt/question.png
|
||||
|
||||
#begin Textures/UI/GameJolt/x.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
/processorParam:ColorKeyColor=255,0,255,255
|
||||
/processorParam:ColorKeyEnabled=True
|
||||
/processorParam:GenerateMipmaps=False
|
||||
/processorParam:PremultiplyAlpha=True
|
||||
/processorParam:ResizeToPowerOfTwo=False
|
||||
/processorParam:MakeSquare=False
|
||||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/UI/GameJolt/x.png
|
||||
|
||||
#begin GUI/Menus/MainMenu.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
/processorParam:ColorKeyColor=255,0,255,255
|
||||
/processorParam:ColorKeyEnabled=True
|
||||
/processorParam:GenerateMipmaps=False
|
||||
/processorParam:PremultiplyAlpha=True
|
||||
/processorParam:ResizeToPowerOfTwo=False
|
||||
/processorParam:MakeSquare=False
|
||||
/processorParam:TextureFormat=Color
|
||||
/build:GUI/Menus/MainMenu.png
|
||||
|
||||
#begin Textures/intro.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
/processorParam:ColorKeyColor=255,0,255,255
|
||||
/processorParam:ColorKeyEnabled=True
|
||||
/processorParam:GenerateMipmaps=False
|
||||
/processorParam:PremultiplyAlpha=True
|
||||
/processorParam:ResizeToPowerOfTwo=False
|
||||
/processorParam:MakeSquare=False
|
||||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/intro.png
|
||||
|
||||
#begin Songs/gameintro.ogg
|
||||
/importer:OggImporter
|
||||
/processor:SongProcessor
|
||||
/processorParam:Quality=Best
|
||||
/build:Songs/gameintro.ogg
|
||||
|
||||
|
|
After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 77 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 756 B |
After Width: | Height: | Size: 772 B |
After Width: | Height: | Size: 734 B |
After Width: | Height: | Size: 761 B |
After Width: | Height: | Size: 491 B |
After Width: | Height: | Size: 296 B |
After Width: | Height: | Size: 787 B |
After Width: | Height: | Size: 424 B |
After Width: | Height: | Size: 253 B |
After Width: | Height: | Size: 2.9 KiB |
|
@ -0,0 +1,191 @@
|
|||
Version=2
|
||||
|
||||
@camera.set(6,3,7,0,0-0.3)
|
||||
@camera.update
|
||||
@level.update
|
||||
|
||||
@music.play(gameintro)
|
||||
@screen.fadein
|
||||
|
||||
@storage.set(integer,levelWait,0)
|
||||
:while:<storage.get(integer,levelWait)><100
|
||||
@level.wait(1)
|
||||
@camera.update
|
||||
@storage.set(integer,levelWait,<storage.get(integer,levelWait)>+1)
|
||||
:endwhile
|
||||
|
||||
:while:<camera.y><9
|
||||
@npc.warp(1,~+0.03,~,~)
|
||||
@npc.warp(5,~+0.03,~,~)
|
||||
@npc.warp(6,~+0.03,~,~)
|
||||
@camera.sety(~+0.02)
|
||||
@camera.update
|
||||
:endwhile
|
||||
:while:<camera.y><15
|
||||
@npc.warp(1,~+0.03,~,~)
|
||||
@npc.warp(5,~+0.03,~,~)
|
||||
@npc.warp(6,~+0.03,~,~)
|
||||
@camera.sety(~+0.02)
|
||||
@camera.setpitch(~-0.0011)
|
||||
@camera.update
|
||||
:endwhile
|
||||
|
||||
@npc.setspeed(2,0.7)
|
||||
@npc.move(2,12)
|
||||
|
||||
@storage.set(integer,screenFade,0)
|
||||
:while:<storage.get(integer,screenFade)><255
|
||||
@camera.setx(~-0.01)
|
||||
@camera.setz(~-0.01)
|
||||
@camera.sety(~-0.004)
|
||||
@camera.setpitch(~-0.0012)
|
||||
@camera.update
|
||||
@storage.set(integer,screenFade,<storage.get(integer,screenFade)>+1)
|
||||
@screen.setfade(<storage.get(integer,screenFade)>)
|
||||
:endwhile
|
||||
|
||||
@camera.set(40,1.1,11,0,0)
|
||||
@camera.update
|
||||
@level.update
|
||||
|
||||
@screen.fadein(15)
|
||||
|
||||
@npc.turn(3,1)
|
||||
@camera.update
|
||||
@level.wait(5)
|
||||
|
||||
@npc.turn(3,2)
|
||||
@camera.update
|
||||
@level.wait(5)
|
||||
|
||||
@npc.turn(3,3)
|
||||
@camera.update
|
||||
@level.wait(5)
|
||||
|
||||
@npc.turn(3,0)
|
||||
@camera.update
|
||||
@level.wait(5)
|
||||
|
||||
@npc.turn(3,2)
|
||||
@camera.update
|
||||
@level.wait(5)
|
||||
|
||||
@npc.move(4,3)
|
||||
|
||||
@storage.set(integer,levelWait,0)
|
||||
:while:<storage.get(integer,levelWait)><50
|
||||
@level.wait(1)
|
||||
@camera.update
|
||||
@storage.set(integer,levelWait,<storage.get(integer,levelWait)>+1)
|
||||
:endwhile
|
||||
|
||||
@npc.setspeed(4,2)
|
||||
@npc.move(4,1)
|
||||
|
||||
@sound.play(destroy)
|
||||
|
||||
:while:<npc.position(3,x)>>35
|
||||
@npc.warp(3,~-0.05,~,~)
|
||||
@camera.update
|
||||
:endwhile
|
||||
|
||||
@screen.fadeout(2)
|
||||
@music.stop
|
||||
|
||||
@level.load(newgame\intro.dat)
|
||||
|
||||
@camera.set(9,0.5,9,0,0-0.1)
|
||||
@camera.update
|
||||
|
||||
@screen.fadein
|
||||
|
||||
@music.play(RouteMusic1)
|
||||
@npc.move(0,4)
|
||||
@npc.turn(0,2)
|
||||
|
||||
@text.show(Hello, sorry to~keep you waiting!*Welcome to the~world of Pokémon!*My name is Oak.~People call me~Pokémon Professor.*This world is inhabited~by creatures that~we call...)
|
||||
@screen.fadeout(20)
|
||||
@camera.set(20,3,4,3.36,-0.59)
|
||||
@camera.update
|
||||
@level.update
|
||||
@screen.fadein(20)
|
||||
@text.show(...Pokémon.*People and Pokémon~live together by supporting~each other.)
|
||||
|
||||
@screen.fadeout(20)
|
||||
@camera.set(35,1,14,6.16,0-0.187)
|
||||
@camera.update
|
||||
@level.update
|
||||
@screen.fadein(20)
|
||||
|
||||
@text.show(Some people play~with Pokémon, some battle~with them.*But we don't know~everything about~Pokémon yet.)
|
||||
|
||||
@screen.fadeout(20)
|
||||
@camera.set(9,0.5,9,0,0-0.1)
|
||||
@camera.update
|
||||
@level.update
|
||||
@screen.fadein(20)
|
||||
@text.show(There are still~many mysteries to solve.*That's why I study~Pokémon every day.)
|
||||
@text.show(But let's get~back to you.)
|
||||
|
||||
@screen.skinselection(Ethan,Lyra,Hilbert,Hilda,Nate,Rosa,Leaf)
|
||||
|
||||
@player.wearskin(<screen.selectedskin>)
|
||||
@npc.wearskin(1,<screen.selectedskin>)
|
||||
|
||||
:while:<camera.z><11.5
|
||||
@camera.setz(~+0.05)
|
||||
@camera.sety(~+0.02)
|
||||
@camera.setpitch(~-0.006)
|
||||
@camera.update
|
||||
:endwhile
|
||||
|
||||
@text.show(Now, what did you say~your name was?)
|
||||
@screen.input(<screen.selectedskin>,name,<screen.selectedskin>,14)
|
||||
@player.setname(<system.lastinput>)
|
||||
|
||||
@text.show(Alright, nice to meet you,~<player.name>!)
|
||||
|
||||
@screen.fadeout(20)
|
||||
@camera.set(26,1.1,36,5.93,0-0.276)
|
||||
@camera.update
|
||||
@level.update
|
||||
@screen.fadein(20)
|
||||
|
||||
@npc.move(4,3)
|
||||
@level.wait(50)
|
||||
@npc.turn(4,1)
|
||||
@npc.move(4,4)
|
||||
@npc.turn(3,3)
|
||||
@npc.move(3,2)
|
||||
@npc.turn(3,0)
|
||||
@npc.move(3,2)
|
||||
@sound.play(enter)
|
||||
|
||||
@text.show(This is your home~in New Bark Town,~you live there~with your mother~right next to Professor Elm.)
|
||||
|
||||
@screen.fadeout(20)
|
||||
@camera.set(9,1.5,11.5,0,0-0.4)
|
||||
@camera.update
|
||||
@level.update
|
||||
@screen.fadein(20)
|
||||
|
||||
@text.show(<player.name>,~are you ready?*Your very own Pokémon~story is about to unfold.*You'll face fun times~and tough challenges.*A world of dreams and~adventures with Pokémon~awaits!*Let's go!~I'll be seeing you later!)
|
||||
|
||||
@storage.set(integer,screenFade,0)
|
||||
|
||||
:while:<storage.get(integer,screenFade)><255
|
||||
@camera.setz(~+0.01)
|
||||
@camera.sety(~+0.004)
|
||||
@camera.setpitch(~-0.0012)
|
||||
@camera.update
|
||||
@storage.set(integer,screenFade,<storage.get(integer,screenFade)>+1)
|
||||
@screen.setfade(<storage.get(integer,screenFade)>)
|
||||
:endwhile
|
||||
|
||||
@player.setot(<system.random(0,65255)>)
|
||||
@player.addmoney(3000)
|
||||
|
||||
|
||||
@system.endnewgame(yourroom.dat,1,0.1,3,1)
|
||||
|
||||
:end
|
|
@ -0,0 +1,94 @@
|
|||
{"Level"{LEV[{"Name"{str[Intro Map]}}{"MusicLoop"{str[RouteMusic1]}}]}}
|
||||
{"Actions"{LEV[{"CanTeleport"{bool[1]}}{"CanDig"{bool[1]}}{"CanFly"{bool[1]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}{"Lightning"{int[1]}}]}}
|
||||
|
||||
{"Floor"{ENT[{"Size"{intArr[50,40]}}{"Position"{intArr[0,0,0]}}{"TexturePath"{str[intro]}}{"Texture"{rec[0,0,16,16]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"Size"{intArr[50,10,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[0,0,-1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[0,0,16,16]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
9,9=starting position
|
||||
|
||||
Oak:
|
||||
{"NPC"{NPC[{"Position"{sngArr[13,0,5]}}{"TextureID"{str[oak]}}{"ID"{int[0]}}{"Name"{str[Oak]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
|
||||
Player:
|
||||
{"NPC"{NPC[{"Position"{sngArr[9,0,9]}}{"TextureID"{str[0]}}{"ID"{int[1]}}{"Name"{str[PLAYER]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
|
||||
First route scene:
|
||||
{"Floor"{ENT[{"SeasonTexture"{str[Grass]}}{"Size"{intArr[6,6]}}{"Position"{intArr[20,0,6]}}{"TexturePath"{str[Routes]}}{"Texture"{rec[96,16,16,16]}}]}}
|
||||
{"Floor"{ENT[{"SeasonTexture"{str[Grass]}}{"Size"{intArr[2,1]}}{"Position"{intArr[26,0,8]}}{"TexturePath"{str[Routes]}}{"Texture"{rec[96,16,16,16]}}]}}
|
||||
{"Floor"{ENT[{"SeasonTexture"{str[Grass]}}{"Size"{intArr[1,1]}}{"Position"{intArr[26,0,9]}}{"TexturePath"{str[Routes]}}{"Texture"{rec[96,16,16,16]}}]}}
|
||||
{"Floor"{ENT[{"SeasonTexture"{str[Grass]}}{"Size"{intArr[1,2]}}{"Position"{intArr[19,0,10]}}{"TexturePath"{str[Routes]}}{"Texture"{rec[96,16,16,16]}}]}}
|
||||
{"Floor"{ENT[{"SeasonTexture"{str[Grass]}}{"Size"{intArr[1,1]}}{"Position"{intArr[23,0,12]}}{"TexturePath"{str[Routes]}}{"Texture"{rec[96,16,16,16]}}]}}
|
||||
{"Floor"{ENT[{"Size"{intArr[2,2]}}{"Position"{intArr[22,0,8]}}{"TexturePath"{str[Routes]}}{"Texture"{rec[112,16,16,16]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"SeasonTexture"{str[PlantColoring]}}{"Size"{intArr[1,2]}}{"EntityID"{str[WallBill]}}{"Scale"{sngArr[1,2,1]}}{"Position"{sngArr[22,0.3,12]}}{"TexturePath"{str[Routes]}}{"Textures"{recArr[[112,64,16,32]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"SeasonTexture"{str[PlantColoring]}}{"Size"{intArr[2,2]}}{"EntityID"{str[WallBill]}}{"Scale"{sngArr[1,2,1]}}{"Position"{sngArr[24,0.3,7]}}{"TexturePath"{str[Routes]}}{"Textures"{recArr[[112,64,16,32]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"SeasonTexture"{str[PlantColoring]}}{"Size"{intArr[1,1]}}{"EntityID"{str[WallBill]}}{"Scale"{sngArr[1,2,1]}}{"Position"{sngArr[25,0.3,11]}}{"TexturePath"{str[Routes]}}{"Textures"{recArr[[112,64,16,32]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"SeasonTexture"{str[PlantColoring]}}{"Size"{intArr[2,2]}}{"EntityID"{str[HeadbuttTree]}}{"Position"{sngArr[19,-0.2,11]}}{"TexturePath"{str[Routes]}}{"Textures"{recArr[[16,32,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"SeasonTexture"{str[Grass]}}{"Size"{intArr[1,3]}}{"EntityID"{str[Grass]}}{"Position"{sngArr[21,0,5]}}{"TexturePath"{str[Routes]}}{"Textures"{recArr[[80,16,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"NPC"{NPC[{"Position"{sngArr[21,0,10]}}{"TextureID"{str[[POKEMON|N]44]}}{"ID"{int[2]}}{"Name"{str[Pokemon]}}{"Action"{int[1]}}{"AdditionalValue"{str[johto\ilex\farfetchd]}}{"Rotation"{int[1]}}{"Movement"{str[Walk]}}{"MoveRectangles"{recArr[[20,8,4,3]]}}]}}
|
||||
{"NPC"{NPC[{"Position"{sngArr[22,0,8]}}{"TextureID"{str[[POKEMON|N]13]}}{"ID"{int[2]}}{"Name"{str[Pokemon]}}{"Action"{int[1]}}{"AdditionalValue"{str[johto\ilex\farfetchd]}}{"Rotation"{int[2]}}{"Movement"{str[Walk]}}{"MoveRectangles"{recArr[[20,8,4,3]]}}]}}
|
||||
{"NPC"{NPC[{"Position"{sngArr[23,0,9]}}{"TextureID"{str[[POKEMON|N]25]}}{"ID"{int[2]}}{"Name"{str[Pokemon]}}{"Action"{int[1]}}{"AdditionalValue"{str[johto\ilex\farfetchd]}}{"Rotation"{int[0]}}{"Movement"{str[Walk]}}{"MoveRectangles"{recArr[[20,8,4,3]]}}]}}
|
||||
|
||||
Second scene:
|
||||
{"Floor"{ENT[{"SeasonTexture"{str[Grass]}}{"Size"{intArr[14,8]}}{"Position"{intArr[30,0,4]}}{"TexturePath"{str[Routes]}}{"Texture"{rec[96,16,16,16]}}]}}
|
||||
{"Floor"{ENT[{"Size"{intArr[10,2]}}{"Position"{intArr[32,0,8]}}{"TexturePath"{str[Park]}}{"Texture"{rec[0,0,16,16]}}]}}
|
||||
{"Floor"{ENT[{"Size"{intArr[2,3]}}{"Position"{intArr[32,0,5]}}{"TexturePath"{str[Park]}}{"Texture"{rec[0,0,16,16]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"SeasonTexture"{str[PlantColoring]}}{"Size"{intArr[3,3]}}{"EntityID"{str[WallBill]}}{"Scale"{sngArr[1.1,1.1,1.1]}}{"Position"{sngArr[37,-0.1,4]}}{"TexturePath"{str[Park]}}{"Textures"{recArr[[32,0,32,32]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"SeasonTexture"{str[PlantColoring]}}{"Size"{intArr[2,6]}}{"EntityID"{str[WallBill]}}{"Scale"{sngArr[1.1,1.1,1.1]}}{"Position"{sngArr[30,-0.1,4]}}{"TexturePath"{str[Park]}}{"Textures"{recArr[[32,0,32,32]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"SeasonTexture"{str[Grass]}}{"Size"{intArr[4,1]}}{"EntityID"{str[Grass]}}{"Position"{sngArr[40,0,5]}}{"TexturePath"{str[Park]}}{"Textures"{recArr[[16,0,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"SeasonTexture"{str[Grass]}}{"Size"{intArr[3,1]}}{"EntityID"{str[Grass]}}{"Position"{sngArr[41,0,6]}}{"TexturePath"{str[Park]}}{"Textures"{recArr[[16,0,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"SeasonTexture"{str[Grass]}}{"Size"{intArr[2,1]}}{"EntityID"{str[Grass]}}{"Position"{sngArr[42,0,7]}}{"TexturePath"{str[Park]}}{"Textures"{recArr[[16,0,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"Size"{intArr[10,1]}}{"EntityID"{str[Cube]}}{"Scale"{sngArr[1,0.5,1]}}{"Position"{sngArr[31,-0.25,10.7]}}{"TexturePath"{str[Park]}}{"Textures"{recArr[[16,16,16,8]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[10,1]}}{"EntityID"{str[Cube]}}{"Scale"{sngArr[1,0.2,0.2]}}{"Position"{sngArr[31,-0.4,11]}}{"TexturePath"{str[Park]}}{"Textures"{recArr[[0,24,16,6]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"Entity"{ENT[{"EntityID"{str[Cube]}}{"Scale"{sngArr[2,0.4,1]}}{"Position"{sngArr[35.5,-0.1,6.725]}}{"TexturePath"{str[Park]}}{"Textures"{recArr[[16,32,32,8]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[0]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
|
||||
{"Entity"{ENT[{"EntityID"{str[Cube]}}{"Scale"{sngArr[1,0.2,0.55]}}{"Position"{sngArr[35,-0.4,7]}}{"TexturePath"{str[Park]}}{"Textures"{recArr[[48,49,9,3][16,49,16,3][32,49,16,3][16,40,16,9][57,49,1,1]]}}{"TextureIndex"{intArr[1,1,4,4,0,0,2,2,3,3]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"Entity"{ENT[{"EntityID"{str[Cube]}}{"Scale"{sngArr[1,0.2,0.55]}}{"Position"{sngArr[36,-0.4,7]}}{"TexturePath"{str[Park]}}{"Textures"{recArr[[48,49,9,3][16,49,16,3][32,49,16,3][32,40,16,9][57,49,1,1]]}}{"TextureIndex"{intArr[1,1,4,4,0,0,2,2,3,3]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
|
||||
|
||||
{"Entity"{ENT[{"Scale"{sngArr[0.3,0.4,0.3]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[34,-0.3,7]}}{"TexturePath"{str[Park]}}{"Textures"{recArr[[16,69,8,11][16,61,8,8]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"NPC"{NPC[{"Position"{sngArr[39,0,9]}}{"TextureID"{str[1]}}{"ID"{int[2]}}{"Name"{str[Lady2]}}{"Action"{int[0]}}{"AdditionalValue"{str[This is Mail I got~from my daughter.~It cheers me up.]}}{"Rotation"{int[3]}}{"Movement"{str[Looking]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
|
||||
{"NPC"{NPC[{"Position"{sngArr[35,0,8]}}{"TextureID"{str[[POKEMON|N]53]}}{"ID"{int[2]}}{"Name"{str[Persian]}}{"Action"{int[1]}}{"AdditionalValue"{str[johto\nationalpark\persian]}}{"Rotation"{int[2]}}{"Movement"{str[Looking]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
{"NPC"{NPC[{"Position"{sngArr[36,0,8]}}{"TextureID"{str[15]}}{"ID"{int[2]}}{"Name"{str[Lady1]}}{"Action"{int[1]}}{"AdditionalValue"{str[johto\nationalpark\quick_claw]}}{"Rotation"{int[2]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
|
||||
{"NPC"{NPC[{"Position"{sngArr[33,0,5]}}{"TextureID"{str[18]}}{"ID"{int[2]}}{"Name"{str[Guy2]}}{"Action"{int[0]}}{"AdditionalValue"{str[I'm printing out~my Pokédex.*You can also print~out stuff like*Mail and your PC~Boxes.]}}{"Rotation"{int[3]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
{"NPC"{NPC[{"Position"{sngArr[34,0,5]}}{"TextureID"{str[[POKEMON|N]137]}}{"ID"{int[2]}}{"Name"{str[Persian]}}{"Action"{int[1]}}{"AdditionalValue"{str[johto\nationalpark\persian]}}{"Rotation"{int[1]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
|
||||
{"NPC"{NPC[{"Position"{sngArr[40,0,6]}}{"TextureID"{str[[POKEMON|N]167]}}{"ID"{int[2]}}{"Name"{str[Persian]}}{"Action"{int[1]}}{"AdditionalValue"{str[johto\nationalpark\persian]}}{"Rotation"{int[2]}}{"Movement"{str[Looking]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
|
||||
|
||||
|
||||
{"EntityField"{ENT[{"Size"{intArr[50,10,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[0,0,24]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[0,0,16,16]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"Floor"{ENT[{"Size"{intArr[6,2]}}{"Position"{intArr[25,0,32]}}{"TexturePath"{str[Routes]}}{"Texture"{rec[112,16,16,16]}}]}}
|
||||
{"EntityField"{ENT[{"SeasonTexture"{str[PlantColoring]}}{"Size"{intArr[4,2]}}{"EntityID"{str[WallBill]}}{"Scale"{sngArr[1,2,1]}}{"Position"{sngArr[24,0.3,28]}}{"TexturePath"{str[Routes]}}{"Textures"{recArr[[112,64,16,32]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
Your House:
|
||||
{"EntityField"{ENT[{"Size"{intArr[4,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[28,0,28]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[0,0,16,16]]}}{"TextureIndex"{intArr[-1,-1,-1,-1,-1,-1,0,0,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[1,4]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[28,0,28]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[0,0,16,16]]}}{"TextureIndex"{intArr[-1,-1,-1,-1,-1,-1,0,0,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[1,4]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[31,0,28]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[0,0,16,16]]}}{"TextureIndex"{intArr[-1,-1,-1,-1,-1,-1,0,0,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[28,0,31]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[0,0,16,16]]}}{"TextureIndex"{intArr[-1,-1,-1,-1,-1,-1,0,0,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[30,0,31]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[0,0,16,16]]}}{"TextureIndex"{intArr[-1,-1,-1,-1,-1,-1,0,0,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"Size"{intArr[4,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[28,1,28]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[64,0,16,16]]}}{"TextureIndex"{intArr[-1,-1,-1,-1,-1,-1,0,0,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[1,4]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[28,1,28]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[64,0,16,16]]}}{"TextureIndex"{intArr[-1,-1,-1,-1,-1,-1,0,0,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[1,4]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[31,1,28]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[64,0,16,16]]}}{"TextureIndex"{intArr[-1,-1,-1,-1,-1,-1,0,0,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[2,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[28,1,31]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[64,0,16,16]]}}{"TextureIndex"{intArr[-1,-1,-1,-1,-1,-1,0,0,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
|
||||
|
||||
{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[30,1,31]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[48,0,16,16]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"Entity"{ENT[{"EntityID"{str[WallBlock]}}{"Position"{sngArr[31,1,31]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[32,0,16,16]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[29,0,31]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[16,0,16,16]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[johto\newbark\yourhouse.dat,7,0.1,7,0]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"Size"{intArr[4,4]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[28,1,28]}}{"TexturePath"{str[BarkTown]}}{"Textures"{recArr[[80,0,16,16]]}}{"TextureIndex"{intArr[-1,-1,-1,-1,-1,-1,-1,-1,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"NPC"{NPC[{"Position"{sngArr[27,0,33]}}{"TextureID"{str[3]}}{"ID"{int[3]}}{"Name"{str[Mom]}}{"Action"{int[1]}}{"AdditionalValue"{str[johto\newbark\mom]}}{"Rotation"{int[1]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
{"NPC"{NPC[{"Position"{sngArr[23,0,33]}}{"TextureID"{str[63]}}{"ID"{int[4]}}{"Name"{str[GateKeeper2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
|
@ -0,0 +1,51 @@
|
|||
{"Level"{LEV[{"Name"{str[Intro Map]}}{"MusicLoop"{str[RouteMusic1]}}]}}
|
||||
{"Actions"{LEV[{"CanTeleport"{bool[1]}}{"CanDig"{bool[1]}}{"CanFly"{bool[1]}}{"EnviromentType"{int[1]}}{"Weather"{int[1]}}{"Lightning"{int[1]}}]}}
|
||||
|
||||
Underwater:
|
||||
{"Floor"{ENT[{"Size"{intArr[20,6]}}{"Position"{intArr[-2,0,0]}}{"TexturePath"{str[intro]}}{"Texture"{rec[16,32,16,16]}}]}}
|
||||
{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[2,0,1]}}{"TexturePath"{str[intro]}}{"Texture"{rec[0,32,16,16]}}]}}
|
||||
{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[4,0,2]}}{"TexturePath"{str[intro]}}{"Texture"{rec[0,32,16,16]}}]}}
|
||||
{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[7,0,1]}}{"TexturePath"{str[intro]}}{"Texture"{rec[0,32,16,16]}}]}}
|
||||
{"Floor"{ENT[{"Size"{intArr[1,1]}}{"Position"{intArr[11,0,2]}}{"TexturePath"{str[intro]}}{"Texture"{rec[0,32,16,16]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"Size"{intArr[20,1,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[-2,0,-1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[48,64,16,16]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[20,1,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[-2,1,-1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[48,48,16,16]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[20,1,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[-2,2,-1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[48,32,16,16]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[20,1,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[-2,3,-1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[48,16,16,16]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[20,8,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[-2,4,-1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[48,0,16,16]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"Size"{intArr[3,3]}}{"EntityID"{str[WallBill]}}{"Scale"{sngArr[1,2,1]}}{"Position"{sngArr[9,0.3,1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[16,0,16,32]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[1,2]}}{"EntityID"{str[WallBill]}}{"Scale"{sngArr[1,2,1]}}{"Position"{sngArr[3,0.3,2]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[16,0,16,32]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"EntityID"{str[WallBill]}}{"Position"{sngArr[5,0,1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[0,16,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"EntityField"{ENT[{"Size"{intArr[1,1]}}{"EntityID"{str[WallBill]}}{"Position"{sngArr[2,0,3]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[0,16,16,16]]}}{"TextureIndex"{intArr[0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[3]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
Shellder:
|
||||
{"NPC"{NPC[{"Position"{sngArr[8,0,2]}}{"AnimateIdle"{bool[true]}}{"TextureID"{str[[POKEMON|N]90]}}{"ID"{int[0]}}{"Name"{str[Pokemon]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
{"NPC"{NPC[{"Position"{sngArr[5,2,1]}}{"AnimateIdle"{bool[true]}}{"TextureID"{str[[POKEMON|N]90]}}{"ID"{int[0]}}{"Name"{str[Pokemon]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
{"NPC"{NPC[{"Position"{sngArr[4,1,3]}}{"AnimateIdle"{bool[true]}}{"TextureID"{str[[POKEMON|N]90]}}{"ID"{int[0]}}{"Name"{str[Pokemon]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
|
||||
Magikarp:
|
||||
{"NPC"{NPC[{"Position"{sngArr[0,7,2]}}{"AnimateIdle"{bool[true]}}{"TextureID"{str[[POKEMON|N]129]}}{"ID"{int[1]}}{"Name"{str[Pokemon]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
{"NPC"{NPC[{"Position"{sngArr[-3,8,1]}}{"AnimateIdle"{bool[true]}}{"TextureID"{str[[POKEMON|N]129]}}{"ID"{int[5]}}{"Name"{str[Pokemon]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
{"NPC"{NPC[{"Position"{sngArr[-4,8,3]}}{"AnimateIdle"{bool[true]}}{"TextureID"{str[[POKEMON|N]129]}}{"ID"{int[6]}}{"Name"{str[Pokemon]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"Size"{intArr[26,17]}}{"EntityID"{str[Water]}}{"Position"{sngArr[-6,12,-9]}}{"TexturePath"{str[Routes]}}{"Textures"{recArr[[0,16,16,16][144,16,16,16]]}}{"TextureIndex"{intArr[0,0,1,1]}}{"Collision"{bool[0]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[3]}}]}}
|
||||
|
||||
Lapras:
|
||||
{"NPC"{NPC[{"Position"{sngArr[12,12.2,2]}}{"TextureID"{str[[POKEMON|N]131]}}{"ID"{int[2]}}{"Name"{str[Pokemon]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
|
||||
Overworld:
|
||||
{"Entity"{ENT[{"Scale"{sngArr[4,8,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[31.5,3.5,-1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[64,0,64,128]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"Entity"{ENT[{"Scale"{sngArr[4,8,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[35.5,3.5,-1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[64,0,64,128]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"Entity"{ENT[{"Scale"{sngArr[4,8,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[39.5,3.5,-1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[64,0,64,128]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"Entity"{ENT[{"Scale"{sngArr[4,8,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[43.5,3.5,-1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[64,0,64,128]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
{"Entity"{ENT[{"Scale"{sngArr[4,8,1]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[47.5,3.5,-1]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[64,0,64,128]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,-1,-1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
{"EntityField"{ENT[{"Size"{intArr[20,8]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[30,0,0]}}{"TexturePath"{str[intro]}}{"Textures"{recArr[[64,112,16,16][48,96,16,16]]}}{"TextureIndex"{intArr[0,0,-1,-1,-1,-1,-1,-1,1,1]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
|
||||
|
||||
Jigglypuff:
|
||||
{"NPC"{NPC[{"Position"{sngArr[40,1,7]}}{"AnimateIdle"{bool[true]}}{"TextureID"{str[[POKEMON|N]39]}}{"ID"{int[3]}}{"Name"{str[Pokemon]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|
||||
|
||||
Pikachu:
|
||||
{"NPC"{NPC[{"Position"{sngArr[45,1,7]}}{"TextureID"{str[[POKEMON|N]25]}}{"ID"{int[4]}}{"Name"{str[Pokemon]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[1]}}{"Movement"{str[Still]}}{"MoveRectangles"{recArr[]}}]}}
|