Merge remote-tracking branch 'remotes/origin/Backup_Save_Module'

This commit is contained in:
jianmingyong 2017-02-05 22:40:10 +08:00
commit e3c7750738
8 changed files with 756 additions and 192 deletions

View File

@ -39,9 +39,9 @@
window = GameInstance.Window window = GameInstance.Window
If CommandLineArgHandler.ForceGraphics = True Then If CommandLineArgHandler.ForceGraphics = True Then
window.Title = GameController.GAMENAME & " " & GameController.GAMEDEVELOPMENTSTAGE & " (FORCED GRAPHICS)" window.Title = GameController.GAMENAME & " " & GameController.GAMEDEVELOPMENTSTAGE & " " & GameController.GAMEVERSION & " (FORCED GRAPHICS)"
Else Else
window.Title = GameController.GAMENAME & " " & GameController.GAMEDEVELOPMENTSTAGE window.Title = GameController.GAMENAME & " " & GameController.GAMEDEVELOPMENTSTAGE & " " & GameController.GAMEVERSION
End If End If
GameOptions = New GameOptions() GameOptions = New GameOptions()
@ -180,7 +180,7 @@
CurrentScreen.Draw() CurrentScreen.Draw()
If Not Core.Player Is Nothing Then If Not Core.Player Is Nothing Then
If Core.Player.IsGamejoltSave = True Then If Core.Player.IsGameJoltSave = True Then
GameJolt.Emblem.DrawNewEmblems() GameJolt.Emblem.DrawNewEmblems()
End If End If
Core.Player.DrawLevelUp() Core.Player.DrawLevelUp()

View File

@ -10,7 +10,7 @@ Public Class GameController
''' <summary> ''' <summary>
''' The current version of the game. ''' The current version of the game.
''' </summary> ''' </summary>
Public Const GAMEVERSION As String = "0.54" Public Const GAMEVERSION As String = "0.54.1"
''' <summary> ''' <summary>
''' The number of released iterations of the game. ''' The number of released iterations of the game.

View File

@ -13,6 +13,7 @@
Public WindowSize As New Vector2(1200, 680) Public WindowSize As New Vector2(1200, 680)
Public ForceMusic As Boolean = False Public ForceMusic As Boolean = False
Public MaxOffsetLevel As Integer = 0 Public MaxOffsetLevel As Integer = 0
Public DLC As New List(Of String)
Public Sub LoadOptions() Public Sub LoadOptions()
KeyBindings.CreateKeySave(False) KeyBindings.CreateKeySave(False)
@ -101,6 +102,10 @@
Me.ForceMusic = CBool(value) Me.ForceMusic = CBool(value)
Case "maxoffsetlevel" Case "maxoffsetlevel"
Me.MaxOffsetLevel = CInt(value) Me.MaxOffsetLevel = CInt(value)
Case "dlc"
If Not String.IsNullOrEmpty(value) Then
Me.DLC = value.Split(";"c).ToList()
End If
End Select End Select
End If End If
Next Next
@ -143,7 +148,8 @@
"ContentPacks|" & ContentPackString & vbNewLine & "ContentPacks|" & ContentPackString & vbNewLine &
"WindowSize|" & Core.windowSize.Width.ToString() & "," & Core.windowSize.Height.ToString().Replace(GameController.DecSeparator, ".") & vbNewLine & "WindowSize|" & Core.windowSize.Width.ToString() & "," & Core.windowSize.Height.ToString().Replace(GameController.DecSeparator, ".") & vbNewLine &
"ForceMusic|" & Me.ForceMusic.ToNumberString() & vbNewLine & "ForceMusic|" & Me.ForceMusic.ToNumberString() & vbNewLine &
"MaxOffsetLevel|" & Me.MaxOffsetLevel.ToString() "MaxOffsetLevel|" & Me.MaxOffsetLevel.ToString() & vbNewLine &
"DLC|" & String.Join(";", Me.DLC)
System.IO.File.WriteAllText(GameController.GamePath & "\Save\options.dat", Data) System.IO.File.WriteAllText(GameController.GamePath & "\Save\options.dat", Data)
KeyBindings.SaveKeys() KeyBindings.SaveKeys()
@ -172,7 +178,8 @@
"ContentPacks|" & vbNewLine & "ContentPacks|" & vbNewLine &
"WindowSize|1200,680" & vbNewLine & "WindowSize|1200,680" & vbNewLine &
"ForceMusic|0" & vbNewLine & "ForceMusic|0" & vbNewLine &
"MaxOffsetLevel|0" "MaxOffsetLevel|0" & vbNewLine &
"DLC|"
System.IO.File.WriteAllText(GameController.GamePath & "\Save\options.dat", s) System.IO.File.WriteAllText(GameController.GamePath & "\Save\options.dat", s)
End Sub End Sub

View File

@ -567,6 +567,528 @@
Entity.MakeShake = Name.ToLower() = "drunknilllzz" Entity.MakeShake = Name.ToLower() = "drunknilllzz"
''' Backup Save module
''' 1. Encrypted OverWrite Save.
''' 2. OverWrite Save.
''' 3. Backup Save.
If filePrefix = "GAMEJOLTSAVE" AndAlso Core.GameOptions.DLC.Contains("Backup Save") Then
If Not Directory.Exists(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID) Then
Directory.CreateDirectory(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID)
End If
If (File.Exists(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\Encrypted\Encrypted.dat")) Then
Dim Items() As String = File.ReadAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID.ToString() & "\Encrypted\Encrypted.dat").Split(CChar("|"))
Dim Hash As String = String.Join("|", Items.Take(16))
Try
If Items.Count = 17 AndAlso String.Equals(Hash, Encryption.DecryptString(Items.Last, StringObfuscation.Obfuscate(GameJoltSave.GameJoltID))) Then
Core.Player.ApricornData = Encryption.DecryptString(Items(0), StringObfuscation.Obfuscate(GameJoltSave.GameJoltID))
Core.Player.BerryData = Encryption.DecryptString(Items(1), StringObfuscation.Obfuscate(GameJoltSave.GameJoltID))
Core.Player.BoxData = Encryption.DecryptString(Items(2), StringObfuscation.Obfuscate(GameJoltSave.GameJoltID))
Core.Player.DaycareData = Encryption.DecryptString(Items(3), StringObfuscation.Obfuscate(GameJoltSave.GameJoltID))
Core.Player.HallOfFameData = Encryption.DecryptString(Items(4), StringObfuscation.Obfuscate(GameJoltSave.GameJoltID))
Core.Player.ItemData = Encryption.DecryptString(Items(5), StringObfuscation.Obfuscate(GameJoltSave.GameJoltID))
Inventory.Clear()
Mails.Clear()
Dim Data As String = Encryption.DecryptString(Items(6), StringObfuscation.Obfuscate(GameJoltSave.GameJoltID))
If Not String.IsNullOrWhiteSpace(Data) Then
For Each ItemDat As String In Data.SplitAtNewline()
If Not String.IsNullOrWhiteSpace(ItemDat) Then
If ItemDat.StartsWith("{") AndAlso ItemDat.EndsWith("}") AndAlso ItemDat.Contains("|") Then
Dim ItemID As String = ItemDat.Remove(0, ItemDat.IndexOf("{") + 1)
ItemID = ItemID.Remove(ItemID.IndexOf("}"))
Dim amount As Integer = CInt(ItemID.Remove(0, ItemID.IndexOf("|") + 1))
ItemID = ItemID.Remove(ItemID.IndexOf("|"))
Inventory.AddItem(CInt(ItemID), amount)
ElseIf ItemDat.StartsWith("Mail|") Then
Dim mailData As String = ItemDat.Remove(0, 5)
Mails.Add(Game.Items.MailItem.GetMailDataFromString(mailData))
End If
End If
Next
End If
Core.Player.NPCData = Encryption.DecryptString(Items(7), StringObfuscation.Obfuscate(GameJoltSave.GameJoltID))
Data = Encryption.DecryptString(Items(8), StringObfuscation.Obfuscate(GameJoltSave.GameJoltID))
For Each Line As String In Data.SplitAtNewline()
If Line.Contains("|") Then
Dim ID As String = Line.Remove(Line.IndexOf("|"))
Dim Value As String = Line.Remove(0, Line.IndexOf("|") + 1)
Select Case ID.ToLower()
Case "fov"
startFOV = CSng(Value.Replace(".", GameController.DecSeparator)).Clamp(1, 179)
Case "textspeed"
TextBox.TextSpeed = CInt(Value)
Case "mousespeed"
startRotationSpeed = CInt(Value)
End Select
End If
Next
Pokemons.Clear()
Dim PokeData As String = Encryption.DecryptString(Items(9), StringObfuscation.Obfuscate(GameJoltSave.GameJoltID))
For Each Line As String In PokeData.SplitAtNewline()
If Line.StartsWith("{") AndAlso Line.EndsWith("}") Then
Dim p As Pokemon = Pokemon.GetPokemonByData(Line)
If p.IsEgg() = False Then
If p.IsShiny = True Then
PokedexData = Pokedex.ChangeEntry(PokedexData, p.Number, 3)
Else
PokedexData = Pokedex.ChangeEntry(PokedexData, p.Number, 2)
End If
End If
Pokemons.Add(p)
End If
Next
Data = Encryption.DecryptString(Items(10), StringObfuscation.Obfuscate(GameJoltSave.GameJoltID))
Screen.Level.Riding = False
For Each Line As String In Data.SplitAtNewline()
If Not String.IsNullOrWhiteSpace(Line) AndAlso Line.Contains("|") Then
Dim ID As String = Line.Remove(Line.IndexOf("|"))
Dim Value As String = Line.Remove(0, Line.IndexOf("|") + 1)
Select Case ID.ToLower()
Case "name"
Name = CType(IIf(IsGameJoltSave, GameJolt.API.username, Value), String)
Case "position"
Dim v() As String = Value.Split(CChar(","))
startPosition.X = CSng(v(0).Replace(".", GameController.DecSeparator))
startPosition.Y = CSng(v(1).Replace(".", GameController.DecSeparator))
startPosition.Z = CSng(v(2).Replace(".", GameController.DecSeparator))
Case "lastpokemonposition"
Dim v() As String = Value.Split(CChar(","))
LastPokemonPosition.X = CSng(v(0).Replace(".", GameController.DecSeparator))
LastPokemonPosition.Y = CSng(v(1).Replace(".", GameController.DecSeparator))
LastPokemonPosition.Z = CSng(v(2).Replace(".", GameController.DecSeparator))
Case "mapfile"
startMap = Value
Case "rivalname"
RivalName = Value
Case "money"
Money = CInt(Value)
Case "badges"
Badges.Clear()
If Value = "0" Then
Badges = New List(Of Integer)
Else
If Value.Contains(",") = False Then
Badges = {CInt(Value)}.ToList()
Else
Dim l As List(Of String) = Value.Split(CChar(",")).ToList()
For i = 0 To l.Count - 1
Badges.Add(CInt(l(i)))
Next
End If
End If
Case "rotation"
startRotation = CSng(Value.Replace(".", GameController.DecSeparator))
Case "Gender"
If Value = "Male" Then
Male = True
Else
Male = False
End If
Case "playtime"
Dim dd() As String = Value.Split(CChar(","))
If dd.Count >= 4 Then
PlayTime = New TimeSpan(CInt(dd(3)), CInt(dd(0)), CInt(dd(1)), CInt(dd(2)))
Else
PlayTime = New TimeSpan(CInt(dd(0)), CInt(dd(1)), CInt(dd(2)))
End If
Case "ot"
OT = CStr(CInt(Value).Clamp(0, 99999))
Case "points"
Points = CInt(Value)
Case "haspokedex"
HasPokedex = CBool(Value)
Case "haspokegear"
HasPokegear = CBool(Value)
Case "freecamera"
startFreeCameraMode = CBool(Value)
Case "thirdperson"
startThirdPerson = CBool(Value)
Case "skin"
Skin = Value
Case "battleanimations"
ShowBattleAnimations = CInt(Value)
Case "boxamount"
BoxAmount = CInt(Value)
Case "lastrestplace"
LastRestPlace = Value
Case "lastrestplaceposition"
LastRestPlacePosition = Value
Case "diagonalmovement"
If GameController.IS_DEBUG_ACTIVE = True Then
DiagonalMovement = CBool(Value)
Else
DiagonalMovement = False
End If
Case "repelsteps"
RepelSteps = CInt(Value)
Case "lastsaveplace"
LastSavePlace = Value
Case "lastsaveplaceposition"
LastSavePlacePosition = Value
Case "difficulty"
DifficultyMode = CInt(Value)
Case "battlestyle"
BattleStyle = CInt(Value)
Case "savecreated"
SaveCreated = Value
Case "autosave"
If IsGameJoltSave = False Then
newFilePrefix = Value
AutosaveUsed = True
End If
Case "daycaresteps"
DaycareSteps = CInt(Value)
Case "gamemode"
GameMode = Value
Case "pokefiles"
If Value <> "" Then
If Value.Contains(",") = True Then
PokeFiles.AddRange(Value.Split(CChar(",")))
Else
PokeFiles.Add(Value)
End If
End If
Case "visitedmaps"
VisitedMaps = Value
Case "tempsurfskin"
TempSurfSkin = Value
Case "surfing"
startSurfing = CBool(Value)
Screen.Level.Surfing = CBool(Value)
Case "bp"
BP = CInt(Value)
Case "gtsstars"
GTSStars = CInt(Value)
Case "showmodels"
ShowModelsInBattle = CBool(Value)
Case "sandboxmode"
SandBoxMode = CBool(Value)
Case "earnedachievements"
If Value <> "" Then
EarnedAchievements = Value.Split(CChar(",")).ToList()
End If
End Select
Else
Logger.Log(Logger.LogTypes.Warning, "Player.vb: The line """ & Line & """ is either empty or does not conform the player.dat file rules.")
End If
Next
If IsGameJoltSave = True And Screen.Level.Surfing = False Then
Skin = GameJolt.Emblem.GetPlayerSpriteFile(GameJolt.Emblem.GetPlayerLevel(GameJoltSave.Points), GameJoltSave.GameJoltID, GameJoltSave.Gender)
Select Case GameJoltSave.Gender
Case "0"
Male = True
Case "1"
Male = False
Case Else
Male = True
End Select
End If
GameStart = Date.Now
Core.Player.PokedexData = Encryption.DecryptString(Items(11), StringObfuscation.Obfuscate(GameJoltSave.GameJoltID))
Core.Player.RegisterData = Encryption.DecryptString(Items(12), StringObfuscation.Obfuscate(GameJoltSave.GameJoltID))
Core.Player.RoamingPokemonData = Encryption.DecryptString(Items(13), StringObfuscation.Obfuscate(GameJoltSave.GameJoltID))
Core.Player.SecretBaseData = Encryption.DecryptString(Items(14), StringObfuscation.Obfuscate(GameJoltSave.GameJoltID))
PlayerStatistics.Load(Encryption.DecryptString(Items(15), StringObfuscation.Obfuscate(GameJoltSave.GameJoltID)))
Else
Logger.Log(Logger.LogTypes.Warning, "Backup save have been tempered with. Unable to load.")
End If
Catch ex As Exception
Logger.Log(Logger.LogTypes.Warning, "Backup save have been tempered with. Unable to load.")
End Try
End If
#If DEBUG Then
If Not Directory.Exists(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite") Then
Directory.CreateDirectory(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite")
End If
If (File.Exists(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Apricorns.dat")) Then
Core.Player.ApricornData = File.ReadAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Apricorns.dat")
File.Delete(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Apricorns.dat")
End If
If (File.Exists(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Berries.dat")) Then
Core.Player.BerryData = File.ReadAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Berries.dat")
File.Delete(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Berries.dat")
End If
If (File.Exists(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Box.dat")) Then
Core.Player.BoxData = File.ReadAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Box.dat")
File.Delete(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Box.dat")
End If
If (File.Exists(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Daycare.dat")) Then
Core.Player.DaycareData = File.ReadAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Daycare.dat")
File.Delete(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Daycare.dat")
End If
If (File.Exists(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\HallOfFame.dat")) Then
Core.Player.HallOfFameData = IO.File.ReadAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\HallOfFame.dat")
File.Delete(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\HallOfFame.dat")
End If
If (File.Exists(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\ItemData.dat")) Then
Core.Player.ItemData = IO.File.ReadAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\ItemData.dat")
File.Delete(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\ItemData.dat")
End If
If (File.Exists(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Items.dat")) Then
Inventory.Clear()
Mails.Clear()
Dim Data As String = File.ReadAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Items.dat")
If Not String.IsNullOrWhiteSpace(Data) Then
For Each ItemDat As String In Data.SplitAtNewline()
If Not String.IsNullOrWhiteSpace(ItemDat) Then
If ItemDat.StartsWith("{") AndAlso ItemDat.EndsWith("}") AndAlso ItemDat.Contains("|") Then
Dim ItemID As String = ItemDat.Remove(0, ItemDat.IndexOf("{") + 1)
ItemID = ItemID.Remove(ItemID.IndexOf("}"))
Dim amount As Integer = CInt(ItemID.Remove(0, ItemID.IndexOf("|") + 1))
ItemID = ItemID.Remove(ItemID.IndexOf("|"))
Inventory.AddItem(CInt(ItemID), amount)
ElseIf ItemDat.StartsWith("Mail|") Then
Dim mailData As String = ItemDat.Remove(0, 5)
Mails.Add(Items.MailItem.GetMailDataFromString(mailData))
End If
End If
Next
End If
File.Delete(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Items.dat")
End If
If (File.Exists(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\NPC.dat")) Then
Core.Player.NPCData = File.ReadAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\NPC.dat")
File.Delete(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\NPC.dat")
End If
If (File.Exists(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Options.dat")) Then
Dim Data As String = File.ReadAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Options.dat")
For Each Line As String In Data.SplitAtNewline()
If Line.Contains("|") Then
Dim ID As String = Line.Remove(Line.IndexOf("|"))
Dim Value As String = Line.Remove(0, Line.IndexOf("|") + 1)
Select Case ID.ToLower()
Case "fov"
startFOV = CSng(Value.Replace(".", GameController.DecSeparator)).Clamp(1, 179)
Case "textspeed"
TextBox.TextSpeed = CInt(Value)
Case "mousespeed"
startRotationSpeed = CInt(Value)
End Select
End If
Next
File.Delete(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Options.dat")
End If
If (File.Exists(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Party.dat")) Then
Pokemons.Clear()
Dim PokeData As String = File.ReadAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Party.dat")
For Each Line As String In PokeData.SplitAtNewline()
If Line.StartsWith("{") AndAlso Line.EndsWith("}") Then
Dim p As Pokemon = Pokemon.GetPokemonByData(Line)
If p.IsEgg() = False Then
If p.IsShiny = True Then
PokedexData = Pokedex.ChangeEntry(PokedexData, p.Number, 3)
Else
PokedexData = Pokedex.ChangeEntry(PokedexData, p.Number, 2)
End If
End If
Pokemons.Add(p)
End If
Next
File.Delete(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Party.dat")
End If
If (File.Exists(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Player.dat")) Then
Dim Data As String = File.ReadAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Player.dat")
Screen.Level.Riding = False
For Each Line As String In Data.SplitAtNewline()
If Not String.IsNullOrWhiteSpace(Line) AndAlso Line.Contains("|") Then
Dim ID As String = Line.Remove(Line.IndexOf("|"))
Dim Value As String = Line.Remove(0, Line.IndexOf("|") + 1)
Select Case ID.ToLower()
Case "name"
Name = CType(IIf(IsGameJoltSave, GameJolt.API.username, Value), String)
Case "position"
Dim v() As String = Value.Split(CChar(","))
startPosition.X = CSng(v(0).Replace(".", GameController.DecSeparator))
startPosition.Y = CSng(v(1).Replace(".", GameController.DecSeparator))
startPosition.Z = CSng(v(2).Replace(".", GameController.DecSeparator))
Case "lastpokemonposition"
Dim v() As String = Value.Split(CChar(","))
LastPokemonPosition.X = CSng(v(0).Replace(".", GameController.DecSeparator))
LastPokemonPosition.Y = CSng(v(1).Replace(".", GameController.DecSeparator))
LastPokemonPosition.Z = CSng(v(2).Replace(".", GameController.DecSeparator))
Case "mapfile"
startMap = Value
Case "rivalname"
RivalName = Value
Case "money"
Money = CInt(Value)
Case "badges"
Badges.Clear()
If Value = "0" Then
Badges = New List(Of Integer)
Else
If Value.Contains(",") = False Then
Badges = {CInt(Value)}.ToList()
Else
Dim l As List(Of String) = Value.Split(CChar(",")).ToList()
For i = 0 To l.Count - 1
Badges.Add(CInt(l(i)))
Next
End If
End If
Case "rotation"
startRotation = CSng(Value.Replace(".", GameController.DecSeparator))
Case "Gender"
If Value = "Male" Then
Male = True
Else
Male = False
End If
Case "playtime"
Dim dd() As String = Value.Split(CChar(","))
If dd.Count >= 4 Then
PlayTime = New TimeSpan(CInt(dd(3)), CInt(dd(0)), CInt(dd(1)), CInt(dd(2)))
Else
PlayTime = New TimeSpan(CInt(dd(0)), CInt(dd(1)), CInt(dd(2)))
End If
Case "ot"
OT = CStr(CInt(Value).Clamp(0, 99999))
Case "points"
Points = CInt(Value)
Case "haspokedex"
HasPokedex = CBool(Value)
Case "haspokegear"
HasPokegear = CBool(Value)
Case "freecamera"
startFreeCameraMode = CBool(Value)
Case "thirdperson"
startThirdPerson = CBool(Value)
Case "skin"
Skin = Value
Case "battleanimations"
ShowBattleAnimations = CInt(Value)
Case "boxamount"
BoxAmount = CInt(Value)
Case "lastrestplace"
LastRestPlace = Value
Case "lastrestplaceposition"
LastRestPlacePosition = Value
Case "diagonalmovement"
If GameController.IS_DEBUG_ACTIVE = True Then
DiagonalMovement = CBool(Value)
Else
DiagonalMovement = False
End If
Case "repelsteps"
RepelSteps = CInt(Value)
Case "lastsaveplace"
LastSavePlace = Value
Case "lastsaveplaceposition"
LastSavePlacePosition = Value
Case "difficulty"
DifficultyMode = CInt(Value)
Case "battlestyle"
BattleStyle = CInt(Value)
Case "savecreated"
SaveCreated = Value
Case "autosave"
If IsGameJoltSave = False Then
newFilePrefix = Value
AutosaveUsed = True
End If
Case "daycaresteps"
DaycareSteps = CInt(Value)
Case "gamemode"
GameMode = Value
Case "pokefiles"
If Value <> "" Then
If Value.Contains(",") = True Then
PokeFiles.AddRange(Value.Split(CChar(",")))
Else
PokeFiles.Add(Value)
End If
End If
Case "visitedmaps"
VisitedMaps = Value
Case "tempsurfskin"
TempSurfSkin = Value
Case "surfing"
startSurfing = CBool(Value)
Screen.Level.Surfing = CBool(Value)
Case "bp"
BP = CInt(Value)
Case "gtsstars"
GTSStars = CInt(Value)
Case "showmodels"
ShowModelsInBattle = CBool(Value)
Case "sandboxmode"
SandBoxMode = CBool(Value)
Case "earnedachievements"
If Value <> "" Then
EarnedAchievements = Value.Split(CChar(",")).ToList()
End If
End Select
Else
Logger.Log(Logger.LogTypes.Warning, "Player.vb: The line """ & Line & """ is either empty or does not conform the player.dat file rules.")
End If
Next
If IsGameJoltSave = True And Screen.Level.Surfing = False Then
Skin = GameJolt.Emblem.GetPlayerSpriteFile(GameJolt.Emblem.GetPlayerLevel(GameJoltSave.Points), GameJoltSave.GameJoltID, GameJoltSave.Gender)
Select Case GameJoltSave.Gender
Case "0"
Male = True
Case "1"
Male = False
Case Else
Male = True
End Select
End If
GameStart = Date.Now
File.Delete(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Player.dat")
End If
If (File.Exists(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Pokedex.dat")) Then
Core.Player.PokedexData = File.ReadAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Pokedex.dat")
File.Delete(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Pokedex.dat")
End If
If (File.Exists(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Register.dat")) Then
Core.Player.RegisterData = File.ReadAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Register.dat")
File.Delete(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Register.dat")
End If
If (File.Exists(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\RoamingPokemon.dat")) Then
Core.Player.RoamingPokemonData = File.ReadAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\RoamingPokemon.dat")
File.Delete(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\RoamingPokemon.dat")
End If
If (File.Exists(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\SecretBase.dat")) Then
Core.Player.SecretBaseData = File.ReadAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\SecretBase.dat")
File.Delete(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\SecretBase.dat")
End If
If (File.Exists(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Statistics.dat")) Then
PlayerStatistics.Load(File.ReadAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Statistics.dat"))
File.Delete(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\OverWrite\Statistics.dat")
End If
#End If
File.WriteAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\Apricorns.dat", GameJoltSave.Apricorns)
File.WriteAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\Berries.dat", GameJoltSave.Berries)
File.WriteAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\Box.dat", GameJoltSave.Box)
File.WriteAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\Daycare.dat", GameJoltSave.Daycare)
File.WriteAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\HallOfFame.dat", GameJoltSave.HallOfFame)
File.WriteAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\ItemData.dat", GameJoltSave.ItemData)
File.WriteAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\Items.dat", GameJoltSave.Items)
File.WriteAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\NPC.dat", GameJoltSave.NPC)
File.WriteAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\Options.dat", GameJoltSave.Options)
File.WriteAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\Party.dat", GameJoltSave.Party)
File.WriteAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\Player.dat", GameJoltSave.Player)
File.WriteAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\Pokedex.dat", GameJoltSave.Pokedex)
File.WriteAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\Register.dat", GameJoltSave.Register)
File.WriteAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\RoamingPokemon.dat", GameJoltSave.RoamingPokemon)
File.WriteAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\SecretBase.dat", GameJoltSave.SecretBase)
File.WriteAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\Statistics.dat", GameJoltSave.Statistics)
End If
''' Indev 0.54 Removal List ''' Indev 0.54 Removal List
''' 1. All Mega Stones. [ID: 507 - 553] ''' 1. All Mega Stones. [ID: 507 - 553]
''' 2. Shiny Candy [ID: 501] ''' 2. Shiny Candy [ID: 501]
@ -1060,7 +1582,37 @@
filePrefix = newFilePrefix filePrefix = newFilePrefix
If IsGameJoltSave = True Then If IsGameJoltSave = True Then
If Core.GameOptions.DLC.Contains("Backup Save") Then
If Not Directory.Exists(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\Encrypted") Then
Directory.CreateDirectory(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\Encrypted")
End If
Dim OriginalHASH As String =
Encryption.EncryptString(GetApricornsData, StringObfuscation.Obfuscate(GameJoltSave.GameJoltID)) & "|" &
Encryption.EncryptString(GetBerriesData, StringObfuscation.Obfuscate(GameJoltSave.GameJoltID)) & "|" &
Encryption.EncryptString(GetBoxData, StringObfuscation.Obfuscate(GameJoltSave.GameJoltID)) & "|" &
Encryption.EncryptString(GetDaycareData, StringObfuscation.Obfuscate(GameJoltSave.GameJoltID)) & "|" &
Encryption.EncryptString(GetHallOfFameData, StringObfuscation.Obfuscate(GameJoltSave.GameJoltID)) & "|" &
Encryption.EncryptString(GetItemDataData, StringObfuscation.Obfuscate(GameJoltSave.GameJoltID)) & "|" &
Encryption.EncryptString(GetItemsData, StringObfuscation.Obfuscate(GameJoltSave.GameJoltID)) & "|" &
Encryption.EncryptString(GetNPCDataData, StringObfuscation.Obfuscate(GameJoltSave.GameJoltID)) & "|" &
Encryption.EncryptString(GetOptionsData, StringObfuscation.Obfuscate(GameJoltSave.GameJoltID)) & "|" &
Encryption.EncryptString(GetPartyData, StringObfuscation.Obfuscate(GameJoltSave.GameJoltID)) & "|" &
Encryption.EncryptString(GetPlayerData(False), StringObfuscation.Obfuscate(GameJoltSave.GameJoltID)) & "|" &
Encryption.EncryptString(GetPokedexData, StringObfuscation.Obfuscate(GameJoltSave.GameJoltID)) & "|" &
Encryption.EncryptString(GetRegisterData, StringObfuscation.Obfuscate(GameJoltSave.GameJoltID)) & "|" &
Encryption.EncryptString(GetRoamingPokemonData, StringObfuscation.Obfuscate(GameJoltSave.GameJoltID)) & "|" &
Encryption.EncryptString(GetSecretBaseData, StringObfuscation.Obfuscate(GameJoltSave.GameJoltID)) & "|" &
Encryption.EncryptString(GetStatisticsData, StringObfuscation.Obfuscate(GameJoltSave.GameJoltID))
File.WriteAllText(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID & "\Encrypted\Encrypted.dat",
OriginalHASH & "|" & Encryption.EncryptString(OriginalHASH, StringObfuscation.Obfuscate(GameJoltSave.GameJoltID)))
End If
Dim APICallSave As New GameJolt.APICall(AddressOf SaveGameHelpers.CompleteGameJoltSave) Dim APICallSave As New GameJolt.APICall(AddressOf SaveGameHelpers.CompleteGameJoltSave)
AddHandler APICallSave.CallFails, Sub(ByVal ex As Exception)
SaveGameHelpers.CompleteGameJoltSave("false" & vbNewLine & "false" & vbNewLine & "false" & vbNewLine & "false" & vbNewLine & "false" & vbNewLine & "false" & vbNewLine & "false" & vbNewLine & "false" & vbNewLine & "false" & vbNewLine & "false" & vbNewLine & "false" & vbNewLine & "false" & vbNewLine & "false" & vbNewLine & "false" & vbNewLine & "false" & vbNewLine & "false")
End Sub
Dim keys As New List(Of String) Dim keys As New List(Of String)
Dim dataItems As New List(Of String) Dim dataItems As New List(Of String)
@ -1679,7 +2231,6 @@
"@Text.Show(Your repel effect wore off.)" & vbNewLine & "@Text.Show(Your repel effect wore off.)" & vbNewLine &
":end" ":end"
If Temp.LastUsedRepel > -1 Then If Temp.LastUsedRepel > -1 Then
Dim haveItemLeft As Boolean = Inventory.GetItemAmount(Temp.LastUsedRepel) > 0 Dim haveItemLeft As Boolean = Inventory.GetItemAmount(Temp.LastUsedRepel) > 0

View File

@ -33,7 +33,10 @@
If saveSessionFailed = True Then If saveSessionFailed = True Then
.DrawString(FontManager.InGameFont, "Saving failed!", New Vector2(188, 186), Color.Red) .DrawString(FontManager.InGameFont, "Saving failed!", New Vector2(188, 186), Color.Red)
.DrawString(FontManager.MiniFont, "Press Dismiss to close this screen and try to save" & vbNewLine & .DrawString(FontManager.MiniFont, "Press Dismiss to close this screen and try to save" & vbNewLine &
"again in order to prevent data corruption.", New Vector2(188, 240), Color.Black) "again in order to prevent data corruption." & vbNewLine & vbNewLine &
"We have backup your save in the event of gamejolt API being down." & vbNewLine &
"You may safely quit the game now or try to save again later." & vbNewLine & vbNewLine &
"Backup save can be found at the Backup Save folder :)", New Vector2(188, 240), Color.Black)
Else Else
If ready = True Then If ready = True Then
.DrawString(FontManager.InGameFont, Localization.GetString("save_screen_success"), New Vector2(188, 186), Color.DarkBlue) .DrawString(FontManager.InGameFont, Localization.GetString("save_screen_success"), New Vector2(188, 186), Color.DarkBlue)
@ -74,6 +77,9 @@
If SaveGameHelpers.EncounteredErrors = True Then If SaveGameHelpers.EncounteredErrors = True Then
Me.saveSessionFailed = True Me.saveSessionFailed = True
Else Else
If (File.Exists(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID.ToString() & "\Encrypted\Encrypted.dat")) Then
File.Delete(GameController.GamePath & "\Backup Save\" & GameJoltSave.GameJoltID.ToString() & "\Encrypted\Encrypted.dat")
End If
SoundManager.PlaySound("save") SoundManager.PlaySound("save")
End If End If

View File

@ -6,8 +6,8 @@
Shared _valid As Boolean = False Shared _valid As Boolean = False
Const RUNVALIDATION As Boolean = False Const RUNVALIDATION As Boolean = False
Const EXPECTEDSIZE As Integer = 42308900 Const EXPECTEDSIZE As Integer = 42308907
Const METAHASH As String = "REUyMEYyNjA2Qzc4MkJEMkRDNTdCMzZEODk0RjQwMTk=" Const METAHASH As String = "MTdCNEFGQzYwOURGQjFDODdDNDFDMEQzMERBMDMzMzI="
Public Shared ReadOnly Property IsValid(ByVal ForceResult As Boolean) As Boolean Public Shared ReadOnly Property IsValid(ByVal ForceResult As Boolean) As Boolean
Get Get

View File

@ -1,4 +1,4 @@

#----------------------------- Global Properties ----------------------------# #----------------------------- Global Properties ----------------------------#
/outputDir:bin /outputDir:bin
@ -8303,6 +8303,18 @@
/processorParam:TextureFormat=Color /processorParam:TextureFormat=Color
/build:Content/Pokemon/Overworld/Normal/399.png /build:Content/Pokemon/Overworld/Normal/399.png
#begin Content/Pokemon/Overworld/Normal/3_mega.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:Content/Pokemon/Overworld/Normal/3_mega.png
#begin Content/Pokemon/Overworld/Normal/4.png #begin Content/Pokemon/Overworld/Normal/4.png
/importer:TextureImporter /importer:TextureImporter
/processor:TextureProcessor /processor:TextureProcessor
@ -16739,6 +16751,18 @@
/processorParam:TextureFormat=Color /processorParam:TextureFormat=Color
/build:Content/Pokemon/Overworld/Shiny/257.png /build:Content/Pokemon/Overworld/Shiny/257.png
#begin Content/Pokemon/Overworld/Shiny/257_mega.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:Content/Pokemon/Overworld/Shiny/257_mega.png
#begin Content/Pokemon/Overworld/Shiny/258.png #begin Content/Pokemon/Overworld/Shiny/258.png
/importer:TextureImporter /importer:TextureImporter
/processor:TextureProcessor /processor:TextureProcessor
@ -17795,6 +17819,18 @@
/processorParam:TextureFormat=Color /processorParam:TextureFormat=Color
/build:Content/Pokemon/Overworld/Shiny/334.png /build:Content/Pokemon/Overworld/Shiny/334.png
#begin Content/Pokemon/Overworld/Shiny/334_mega.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:Content/Pokemon/Overworld/Shiny/334_mega.png
#begin Content/Pokemon/Overworld/Shiny/335.png #begin Content/Pokemon/Overworld/Shiny/335.png
/importer:TextureImporter /importer:TextureImporter
/processor:TextureProcessor /processor:TextureProcessor
@ -18059,6 +18095,18 @@
/processorParam:TextureFormat=Color /processorParam:TextureFormat=Color
/build:Content/Pokemon/Overworld/Shiny/354.png /build:Content/Pokemon/Overworld/Shiny/354.png
#begin Content/Pokemon/Overworld/Shiny/354_mega.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:Content/Pokemon/Overworld/Shiny/354_mega.png
#begin Content/Pokemon/Overworld/Shiny/355.png #begin Content/Pokemon/Overworld/Shiny/355.png
/importer:TextureImporter /importer:TextureImporter
/processor:TextureProcessor /processor:TextureProcessor
@ -18695,6 +18743,18 @@
/processorParam:TextureFormat=Color /processorParam:TextureFormat=Color
/build:Content/Pokemon/Overworld/Shiny/399.png /build:Content/Pokemon/Overworld/Shiny/399.png
#begin Content/Pokemon/Overworld/Shiny/3_mega.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:Content/Pokemon/Overworld/Shiny/3_mega.png
#begin Content/Pokemon/Overworld/Shiny/4.png #begin Content/Pokemon/Overworld/Shiny/4.png
/importer:TextureImporter /importer:TextureImporter
/processor:TextureProcessor /processor:TextureProcessor
@ -19439,6 +19499,18 @@
/processorParam:TextureFormat=Color /processorParam:TextureFormat=Color
/build:Content/Pokemon/Overworld/Shiny/448.png /build:Content/Pokemon/Overworld/Shiny/448.png
#begin Content/Pokemon/Overworld/Shiny/448_mega.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:Content/Pokemon/Overworld/Shiny/448_mega.png
#begin Content/Pokemon/Overworld/Shiny/449.png #begin Content/Pokemon/Overworld/Shiny/449.png
/importer:TextureImporter /importer:TextureImporter
/processor:TextureProcessor /processor:TextureProcessor
@ -22739,6 +22811,18 @@
/processorParam:TextureFormat=Color /processorParam:TextureFormat=Color
/build:Content/Pokemon/Overworld/Shiny/659.png /build:Content/Pokemon/Overworld/Shiny/659.png
#begin Content/Pokemon/Overworld/Shiny/65_mega.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:Content/Pokemon/Overworld/Shiny/65_mega.png
#begin Content/Pokemon/Overworld/Shiny/66.png #begin Content/Pokemon/Overworld/Shiny/66.png
/importer:TextureImporter /importer:TextureImporter
/processor:TextureProcessor /processor:TextureProcessor
@ -23819,6 +23903,18 @@
/processorParam:TextureFormat=Color /processorParam:TextureFormat=Color
/build:Content/Pokemon/Overworld/Shiny/6_mega_x.png /build:Content/Pokemon/Overworld/Shiny/6_mega_x.png
#begin Content/Pokemon/Overworld/Shiny/6_mega_y.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:Content/Pokemon/Overworld/Shiny/6_mega_y.png
#begin Content/Pokemon/Overworld/Shiny/7.png #begin Content/Pokemon/Overworld/Shiny/7.png
/importer:TextureImporter /importer:TextureImporter
/processor:TextureProcessor /processor:TextureProcessor
@ -28391,6 +28487,18 @@
/processorParam:TextureFormat=Color /processorParam:TextureFormat=Color
/build:Content/Pokemon/Sprites/Haxorus.png /build:Content/Pokemon/Sprites/Haxorus.png
#begin Content/Pokemon/Sprites/Heatmor.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:Content/Pokemon/Sprites/Heatmor.png
#begin Content/Pokemon/Sprites/Heatran.png #begin Content/Pokemon/Sprites/Heatran.png
/importer:TextureImporter /importer:TextureImporter
/processor:TextureProcessor /processor:TextureProcessor
@ -30095,6 +30203,18 @@
/processorParam:TextureFormat=Color /processorParam:TextureFormat=Color
/build:Content/Pokemon/Sprites/Metagross.png /build:Content/Pokemon/Sprites/Metagross.png
#begin Content/Pokemon/Sprites/Metagross_mega.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:Content/Pokemon/Sprites/Metagross_mega.png
#begin Content/Pokemon/Sprites/Metang.png #begin Content/Pokemon/Sprites/Metang.png
/importer:TextureImporter /importer:TextureImporter
/processor:TextureProcessor /processor:TextureProcessor
@ -31751,6 +31871,18 @@
/processorParam:TextureFormat=Color /processorParam:TextureFormat=Color
/build:Content/Pokemon/Sprites/Sableye.png /build:Content/Pokemon/Sprites/Sableye.png
#begin Content/Pokemon/Sprites/Sableye_mega.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:Content/Pokemon/Sprites/Sableye_mega.png
#begin Content/Pokemon/Sprites/Salamence.png #begin Content/Pokemon/Sprites/Salamence.png
/importer:TextureImporter /importer:TextureImporter
/processor:TextureProcessor /processor:TextureProcessor
@ -31763,6 +31895,18 @@
/processorParam:TextureFormat=Color /processorParam:TextureFormat=Color
/build:Content/Pokemon/Sprites/Salamence.png /build:Content/Pokemon/Sprites/Salamence.png
#begin Content/Pokemon/Sprites/Salamence_mega.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:Content/Pokemon/Sprites/Salamence_mega.png
#begin Content/Pokemon/Sprites/Samurott.png #begin Content/Pokemon/Sprites/Samurott.png
/importer:TextureImporter /importer:TextureImporter
/processor:TextureProcessor /processor:TextureProcessor
@ -31895,6 +32039,18 @@
/processorParam:TextureFormat=Color /processorParam:TextureFormat=Color
/build:Content/Pokemon/Sprites/Sceptile.png /build:Content/Pokemon/Sprites/Sceptile.png
#begin Content/Pokemon/Sprites/Sceptile_mega.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:Content/Pokemon/Sprites/Sceptile_mega.png
#begin Content/Pokemon/Sprites/Scizor.png #begin Content/Pokemon/Sprites/Scizor.png
/importer:TextureImporter /importer:TextureImporter
/processor:TextureProcessor /processor:TextureProcessor
@ -32111,6 +32267,18 @@
/processorParam:TextureFormat=Color /processorParam:TextureFormat=Color
/build:Content/Pokemon/Sprites/Sharpedo.png /build:Content/Pokemon/Sprites/Sharpedo.png
#begin Content/Pokemon/Sprites/Sharpedo_mega.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:Content/Pokemon/Sprites/Sharpedo_mega.png
#begin Content/Pokemon/Sprites/Shaymin.png #begin Content/Pokemon/Sprites/Shaymin.png
/importer:TextureImporter /importer:TextureImporter
/processor:TextureProcessor /processor:TextureProcessor
@ -32831,6 +32999,18 @@
/processorParam:TextureFormat=Color /processorParam:TextureFormat=Color
/build:Content/Pokemon/Sprites/Steelix.png /build:Content/Pokemon/Sprites/Steelix.png
#begin Content/Pokemon/Sprites/Steelix_mega.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:Content/Pokemon/Sprites/Steelix_mega.png
#begin Content/Pokemon/Sprites/Stoutland.png #begin Content/Pokemon/Sprites/Stoutland.png
/importer:TextureImporter /importer:TextureImporter
/processor:TextureProcessor /processor:TextureProcessor
@ -55596,183 +55776,3 @@
#begin Scripts/worldmap/sevii islands.dat #begin Scripts/worldmap/sevii islands.dat
/copy:Scripts/worldmap/sevii islands.dat /copy:Scripts/worldmap/sevii islands.dat
#begin Content/Pokemon/Sprites/Heatmor.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:Content/Pokemon/Sprites/Heatmor.png
#begin Content/Pokemon/Sprites/Metagross_mega.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:Content/Pokemon/Sprites/Metagross_mega.png
#begin Content/Pokemon/Sprites/Sableye_mega.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:Content/Pokemon/Sprites/Sableye_mega.png
#begin Content/Pokemon/Sprites/Salamence_mega.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:Content/Pokemon/Sprites/Salamence_mega.png
#begin Content/Pokemon/Sprites/Sceptile_mega.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:Content/Pokemon/Sprites/Sceptile_mega.png
#begin Content/Pokemon/Sprites/Sharpedo_mega.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:Content/Pokemon/Sprites/Sharpedo_mega.png
#begin Content/Pokemon/Sprites/Steelix_mega.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:Content/Pokemon/Sprites/Steelix_mega.png
#begin Content/Pokemon/Overworld/Normal/3_mega.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:Content/Pokemon/Overworld/Normal/3_mega.png
#begin Content/Pokemon/Overworld/Shiny/3_mega.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:Content/Pokemon/Overworld/Shiny/3_mega.png
#begin Content/Pokemon/Overworld/Shiny/6_mega_y.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:Content/Pokemon/Overworld/Shiny/6_mega_y.png
#begin Content/Pokemon/Overworld/Shiny/65_mega.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:Content/Pokemon/Overworld/Shiny/65_mega.png
#begin Content/Pokemon/Overworld/Shiny/257_mega.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:Content/Pokemon/Overworld/Shiny/257_mega.png
#begin Content/Pokemon/Overworld/Shiny/334_mega.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:Content/Pokemon/Overworld/Shiny/334_mega.png
#begin Content/Pokemon/Overworld/Shiny/354_mega.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:Content/Pokemon/Overworld/Shiny/354_mega.png
#begin Content/Pokemon/Overworld/Shiny/448_mega.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:Content/Pokemon/Overworld/Shiny/448_mega.png

File diff suppressed because one or more lines are too long