Added PressStartScreen and NewNewGameScreen, and the new intro sequence for offline saves with it.

This commit is contained in:
CaptainSegis 2017-08-13 23:14:45 -05:00
parent f200cbaa48
commit 7e73b4ee46
47 changed files with 2488 additions and 568 deletions

View File

@ -61,6 +61,9 @@
<Import Include="Microsoft.Xna.Framework.Audio" /> <Import Include="Microsoft.Xna.Framework.Audio" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="maps\newgame\intro.dat" />
<None Include="maps\newgame\intro0.dat" />
<None Include="Scripts\newgame\intro.dat" />
<Reference Include="MonoGame.Framework"> <Reference Include="MonoGame.Framework">
<HintPath>$(MonoGameInstallDirectory)\MonoGame\v3.0\Assemblies\DesktopGL\MonoGame.Framework.dll</HintPath> <HintPath>$(MonoGameInstallDirectory)\MonoGame\v3.0\Assemblies\DesktopGL\MonoGame.Framework.dll</HintPath>
</Reference> </Reference>
@ -1679,9 +1682,11 @@
<Compile Include="Screens\MainMenu\IntroScreen.vb" /> <Compile Include="Screens\MainMenu\IntroScreen.vb" />
<Compile Include="Screens\MainMenu\JoinServerScreen.vb" /> <Compile Include="Screens\MainMenu\JoinServerScreen.vb" />
<Compile Include="Screens\MainMenu\MainMenuCamera.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\OfflineGameWarningScreen.vb" />
<Compile Include="Screens\MainMenu\PauseScreen.vb" /> <Compile Include="Screens\MainMenu\PauseScreen.vb" />
<Compile Include="Screens\MainMenu\PressStartScreen.vb" />
<Compile Include="Screens\MainMenu\SplashScreen.vb" /> <Compile Include="Screens\MainMenu\SplashScreen.vb" />
<Compile Include="Screens\MapPreview\MapPreviewCamera.vb" /> <Compile Include="Screens\MapPreview\MapPreviewCamera.vb" />
<Compile Include="Screens\MapPreview\MapPreviewScreen.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\DoEntity.vb" />
<Compile Include="World\ActionScript\V2\ScriptCommands\DoEnvironment.vb" /> <Compile Include="World\ActionScript\V2\ScriptCommands\DoEnvironment.vb" />
<Compile Include="World\ActionScript\V2\ScriptCommands\DoItem.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\DoLevel.vb" />
<Compile Include="World\ActionScript\V2\ScriptCommands\DoMusic.vb" /> <Compile Include="World\ActionScript\V2\ScriptCommands\DoMusic.vb" />
<Compile Include="World\ActionScript\V2\ScriptCommands\DoNPC.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\DoText.vb" />
<Compile Include="World\ActionScript\V2\ScriptCommands\DoTitle.vb" /> <Compile Include="World\ActionScript\V2\ScriptCommands\DoTitle.vb" />
<Compile Include="World\ActionScript\V2\ScriptComparer.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\DoBattle.vb" />
<Compile Include="World\ActionScript\V2\ScriptConstructs\DoCamera.vb" /> <Compile Include="World\ActionScript\V2\ScriptConstructs\DoCamera.vb" />
<Compile Include="World\ActionScript\V2\ScriptConstructs\DoDaycare.vb" /> <Compile Include="World\ActionScript\V2\ScriptConstructs\DoDaycare.vb" />
@ -1780,6 +1787,7 @@
<Compile Include="World\Terrain.vb" /> <Compile Include="World\Terrain.vb" />
<Compile Include="World\World.vb" /> <Compile Include="World\World.vb" />
</ItemGroup> </ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<Import Condition=" '$(Configuration)' != 'DebugNoContent' Or '$(Configuration)' != 'ReleaseNoContent' " Project="$(MSBuildExtensionsPath)\MonoGame\v3.0\MonoGame.Content.Builder.targets" /> <Import Condition=" '$(Configuration)' != 'DebugNoContent' Or '$(Configuration)' != 'ReleaseNoContent' " Project="$(MSBuildExtensionsPath)\MonoGame\v3.0\MonoGame.Content.Builder.targets" />
</Project> </Project>

View File

@ -78,7 +78,7 @@
If CommandLineArgHandler.NoSplash = True Then If CommandLineArgHandler.NoSplash = True Then
Core.LoadContent() Core.LoadContent()
SetScreen(New MainMenuScreen()) SetScreen(New PressStartScreen())
Else Else
SetScreen(New SplashScreen(GameInstance)) SetScreen(New SplashScreen(GameInstance))
End If End If

View File

@ -6,6 +6,7 @@
Public Shared username As String = "" Public Shared username As String = ""
Public Shared token As String = "" Public Shared token As String = ""
Public Shared gameJoltId As String = ""
Public Shared LoggedIn As Boolean = False Public Shared LoggedIn As Boolean = False

View File

@ -128,7 +128,7 @@ Public Class FontManager
Return loadedGameJoltFont Return loadedGameJoltFont
Else Else
hasLoadedGameJoltFont = True hasLoadedGameJoltFont = True
loadedGameJoltFont = Content.Load(Of SpriteFont)("SharedResources\Fonts\GameJolt") loadedGameJoltFont = Content.Load(Of SpriteFont)("Fonts\BMP\GameJolt")
loadedGameJoltFont.DefaultCharacter = " "c loadedGameJoltFont.DefaultCharacter = " "c
Return loadedGameJoltFont Return loadedGameJoltFont
End If End If

View File

@ -67,6 +67,12 @@ Public Class GameModeManager
End Get End Get
End Property End Property
Public Shared ReadOnly Property GetAllGameModes() As GameMode()
Get
Return GameModeList.ToArray()
End Get
End Property
''' <summary> ''' <summary>
''' Checks if a GameMode exists. ''' Checks if a GameMode exists.
''' </summary> ''' </summary>
@ -548,7 +554,7 @@ Public Class GameMode
Dim SkinNames As List(Of String) = {"Ethan", "Lyra", "Nate", "Rosa", "Hilbert", "Hilda"}.ToList() 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), 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) Dim gameRules As New List(Of GameRule)
gameRules.Add(New GameRule("MaxLevel", "100")) gameRules.Add(New GameRule("MaxLevel", "100"))

View File

@ -34,7 +34,7 @@
Public Overrides Sub Update() Public Overrides Sub Update()
If Me.IsGameOver = True Then If Me.IsGameOver = True Then
If Controls.Accept(True, False) = True Then If Controls.Accept(True, False) = True Then
Core.SetScreen(New MainMenuScreen()) Core.SetScreen(New PressStartScreen())
Core.Player.loadedSave = False Core.Player.loadedSave = False
End If End If
Else Else

View File

@ -73,7 +73,7 @@
If Me.MyMode = Modes.Disconnect Then If Me.MyMode = Modes.Disconnect Then
If Controls.Accept(True, True, True) = True Or Controls.Dismiss(True, True, True) = True Then If Controls.Accept(True, True, True) = True Or Controls.Dismiss(True, True, True) = True Then
If quitToMenu = True Then If quitToMenu = True Then
Core.SetScreen(New MainMenuScreen()) Core.SetScreen(New PressStartScreen())
Else Else
Core.SetScreen(Me.PreScreen) Core.SetScreen(Me.PreScreen)
End If End If
@ -86,7 +86,7 @@
If Controls.Dismiss() = True Then If Controls.Dismiss() = True Then
Connected = False Connected = False
Core.ServersManager.ServerConnection.Disconnect() Core.ServersManager.ServerConnection.Disconnect()
Core.SetScreen(New MainMenuScreen()) Core.SetScreen(New PressStartScreen())
End If End If
End If End If
End Sub End Sub

View File

@ -244,7 +244,8 @@ Public Class JoinServerScreen
End If End If
If Controls.Dismiss() = True Then If Controls.Dismiss() = True Then
CType(Me.PreScreen, MainMenuScreen).menuIndex = 0 ''CType(Me.PreScreen, NewMainMenuScreen)._menuIndex = 0
Core.Player.Unload()
Core.SetScreen(Me.PreScreen) Core.SetScreen(Me.PreScreen)
End If End If

File diff suppressed because it is too large Load Diff

View File

@ -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

View File

@ -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

View File

@ -258,10 +258,11 @@
End If End If
Chat.ClearChat() Chat.ClearChat()
If Core.Player.loadedSave = True And Me.canCreateAutosave = True Then If Core.Player.loadedSave = True And Me.canCreateAutosave = True Then
Core.Player.SaveGame(True) 'Core.Player.SaveGame(True)
Core.Player.SaveGame(False)
End If End If
ScriptStorage.Clear() ScriptStorage.Clear()
Core.SetScreen(New MainMenuScreen()) Core.SetScreen(New PressStartScreen())
Core.Player.loadedSave = False Core.Player.loadedSave = False
End Sub End Sub

View File

@ -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

View File

@ -61,7 +61,7 @@ Friend Class SplashScreen
If MapPreviewScreen.MapViewMode = True Then If MapPreviewScreen.MapViewMode = True Then
Core.SetScreen(New MapPreviewScreen()) Core.SetScreen(New MapPreviewScreen())
Else Else
Core.SetScreen(New MainMenuScreen()) Core.SetScreen(New PressStartScreen())
End If End If
' Core.SetScreen(New TransitionScreen(Me, New IntroScreen(), Color.Black, False)) ' Core.SetScreen(New TransitionScreen(Me, New IntroScreen(), Color.Black, False))
End If End If

View File

@ -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

View File

@ -135,6 +135,8 @@ Namespace ScriptVersion2
DoRadio(subClass) DoRadio(subClass)
Case "help" Case "help"
DoHelp(subClass) DoHelp(subClass)
Case "system"
DoSystem(subClass)
Case "title" Case "title"
DoTitle(subClass) DoTitle(subClass)
Case Else Case Else

View File

@ -13,19 +13,26 @@
Dim c As OverworldCamera = CType(Screen.Camera, OverworldCamera) Dim c As OverworldCamera = CType(Screen.Camera, OverworldCamera)
Dim doCameraUpdate As Boolean = True 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() Select Case command.ToLower()
Case "set" Case "set"
Dim x As Single = sng(argument.GetSplit(0).Replace("~", CStr(c.ThirdPersonOffset.X)).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(c.ThirdPersonOffset.Y)).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(c.ThirdPersonOffset.Z)).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 yaw As Single = sng(argument.GetSplit(3).Replace(".", GameController.DecSeparator))
Dim pitch As Single = sng(argument.GetSplit(4).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.Yaw = yaw
c.Pitch = pitch c.Pitch = pitch
Case "reset" Case "reset"
c.ThirdPersonOffset = New Vector3(0.0F, 0.3F, 1.5F) position = New Vector3(0.0F, 0.3F, 1.5F)
If argument <> "" Then If argument <> "" Then
doCameraUpdate = CBool(argument) doCameraUpdate = CBool(argument)
End If End If
@ -34,27 +41,27 @@
c.Yaw = yaw c.Yaw = yaw
Case "setpitch" 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 c.Pitch = pitch
Case "setposition" Case "setposition"
Dim x As Single = sng(argument.GetSplit(0).Replace("~", CStr(c.ThirdPersonOffset.X)).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(c.ThirdPersonOffset.Y)).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(c.ThirdPersonOffset.Z)).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" 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" 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" 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" Case "togglethirdperson"
If Core.CurrentScreen.Identification = Screen.Identifications.OverworldScreen Then If Core.CurrentScreen.Identification = Screen.Identifications.OverworldScreen Then
c.SetThirdPerson(Not c.ThirdPerson, False) c.SetThirdPerson(Not c.ThirdPerson, False)
@ -132,6 +139,13 @@
c.Yaw = facing * MathHelper.PiOver2 c.Yaw = facing * MathHelper.PiOver2
End Select End Select
If Core.CurrentScreen.Identification = Screen.Identifications.NewGameScreen Then
c.Position = position
Else
c.ThirdPersonOffset = position
End If
c.UpdateThirdPersonCamera() c.UpdateThirdPersonCamera()
If doCameraUpdate = True Then If doCameraUpdate = True Then
c.UpdateFrustum() c.UpdateFrustum()

View File

@ -55,6 +55,10 @@
If doWait = False Then If doWait = False Then
IsReady = True IsReady = True
End If End If
Case "load"
Screen.Level = New Level()
Screen.Level.Load(argument)
IsReady = True
Case "reload" Case "reload"
Screen.Level.WarpData.WarpDestination = Screen.Level.LevelFile Screen.Level.WarpData.WarpDestination = Screen.Level.LevelFile
Screen.Level.WarpData.WarpPosition = Screen.Camera.Position Screen.Level.WarpData.WarpPosition = Screen.Camera.Position

View File

@ -237,6 +237,9 @@
Case "save" Case "save"
Core.Player.SaveGame(False) Core.Player.SaveGame(False)
IsReady = True
Case "setname"
Core.Player.Name = argument
IsReady = True IsReady = True
Case "setrivalname" Case "setrivalname"
Core.Player.RivalName = argument Core.Player.RivalName = argument

View File

@ -222,6 +222,13 @@
IsReady = True IsReady = True
CanContinue = False 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 Case Else
IsReady = True IsReady = True
End Select End Select

View File

@ -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

View File

@ -304,6 +304,8 @@ Namespace ScriptVersion2
Return DoCamera(subClass) Return DoCamera(subClass)
Case "filesystem" Case "filesystem"
Return DoFileSystem(subClass) Return DoFileSystem(subClass)
Case "screen"
Return DoScreen(subClass)
End Select End Select
Return DefaultNull Return DefaultNull
End Function End Function

View File

@ -12,15 +12,21 @@
Dim c As OverworldCamera = CType(Screen.Camera, OverworldCamera) 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() Select Case command.ToLower()
Case "isfixed" Case "isfixed"
Return ReturnBoolean(c.Fixed) Return ReturnBoolean(c.Fixed)
Case "x" Case "x"
Return c.ThirdPersonOffset.X.ToString().ReplaceDecSeparator() Return position.X.ToString().ReplaceDecSeparator()
Case "y" Case "y"
Return c.ThirdPersonOffset.Y.ToString().ReplaceDecSeparator() Return position.Y.ToString().ReplaceDecSeparator()
Case "z" Case "z"
Return c.ThirdPersonOffset.Z.ToString().ReplaceDecSeparator() Return position.Z.ToString().ReplaceDecSeparator()
Case "yaw" Case "yaw"
Return c.Yaw.ToString().ReplaceDecSeparator() Return c.Yaw.ToString().ReplaceDecSeparator()
Case "pitch" Case "pitch"

View File

@ -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

View File

@ -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[]}}]}}

View File

@ -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[]}}]}}

View File

@ -46282,3 +46282,156 @@
/processorParam:TextureFormat=Color /processorParam:TextureFormat=Color
/build:Textures/UI/TrainerCard/Papers.png /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

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 756 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 772 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 734 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 761 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 491 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 787 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -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

View File

@ -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[]}}]}}

View File

@ -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[]}}]}}