basic sprites sorting validation

This commit is contained in:
infinitefusion
2022-12-05 17:32:56 -05:00
parent 732096c884
commit bc90211693
17 changed files with 51 additions and 5 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -25,7 +25,7 @@ module Settings
CUSTOM_BATTLERS_FOLDER_INDEXED = "Graphics/CustomBattlers/indexed"
BATTLERS_FOLDER = "Graphics/Battlers/"
FRONTSPRITE_POSITION_OFFSET = 20
FRONTSPRITE_SCALE = 0.6666666
FRONTSPRITE_SCALE = 0.6666666666
BACKRPSPRITE_SCALE = 1
EGGSPRITE_SCALE = 1
BACKSPRITE_POSITION_OFFSET = 20

View File

@@ -25,6 +25,7 @@ class Game_Temp
attr_accessor :fadestate # for sprite hashes
attr_accessor :background_bitmap
attr_accessor :mart_prices
attr_accessor :unimportedSprites
#-----------------------------------------------------------------------------
# * Object Initialization
#-----------------------------------------------------------------------------

View File

@@ -908,7 +908,7 @@ end
def pbShowCommands(msgwindow, commands = nil, cmdIfCancel = 0, defaultCmd = 0)
return 0 if !commands
if defaultCmd == 0 && $game_variables[VAR_COMMAND_WINDOW_INDEX] != 0
if defaultCmd == 0 && ($game_variables && $game_variables[VAR_COMMAND_WINDOW_INDEX] != 0)
defaultCmd = $game_variables[VAR_COMMAND_WINDOW_INDEX]
end
cmdwindow = Window_CommandPokemonEx.new(commands)

View File

@@ -299,6 +299,9 @@ class PokemonLoadScreen
end
def pbStartLoadScreen
if($game_temp.unimportedSprites.size >0)
handleReplaceExistingSprites()
end
copyKeybindings()
save_file_list = SaveData::AUTO_SLOTS + SaveData::MANUAL_SLOTS
first_time = true

View File

@@ -8,6 +8,37 @@ class Scene_DebugIntro
end
end
def handleReplaceExistingSprites()
spritesToReplaceList= $game_temp.unimportedSprites
$game_temp.unimportedSprites=nil
return if spritesToReplaceList.size==0
commands = []
#commands << "Pick which sprites to use as mains"
commands << "Replace all the old sprites with the new ones"
#commands << "Import all the new sprites as alts"
commands << "Do not import the new sprites"
messageSingular = "While importing custom sprites, the game has detected that {1} new custom sprite already has a version that exist in the game."
messagePlural = "While importing custom sprites, the game has detected that {1} new custom sprites already have versions that exist in the game."
messageText = spritesToReplaceList.size==1 ? messageSingular : messagePlural
message = _INTL(messageText,spritesToReplaceList.length.to_s)
pbMessage(message)
command = pbMessage("What to do with the new sprites?",commands,commands.size-1)
case command
when 0 #Replace olds
spritesToReplaceList.each do |oldPath, newPath|
File.rename(oldPath, newPath)
echo "\nSorted " + oldPath + " into " + newPath
end
#when 1 #Keep olds (rename new as alts)
when 1 #Do not import
pbMessage("You can manually sort the new sprites in the /indexed folder to choose which ones you want to keep.")
return
end
end
def pbCallTitle
return Scene_DebugIntro.new if $DEBUG
return Scene_Intro.new
@@ -22,8 +53,11 @@ def mainFunction
return 1
end
def sortCustomBattlers()
echo "Sorting CustomBattlers files..."
alreadyExists = {}
Dir.foreach(Settings::CUSTOM_BATTLERS_FOLDER) do |filename|
next if filename == '.' or filename == '..'
next if !filename.end_with?(".png")
@@ -31,19 +65,25 @@ def sortCustomBattlers()
oldPath = Settings::CUSTOM_BATTLERS_FOLDER + "/" + filename
newPath = Settings::CUSTOM_BATTLERS_FOLDER_INDEXED + "/" + headNum.to_s + "/" +filename
begin
if File.file?(newPath)
alreadyExists[oldPath] = newPath
echo "\nFile " + newPath + " already exists... Skipping."
else
File.rename(oldPath, newPath)
echo "\nSorted " + filename + " into " + newPath
end
rescue
echo "\nCould not sort "+ filename
end
end
echo "\nFinished sorting"
$game_temp.unimportedSprites=alreadyExists
end
def mainFunctionDebug
begin
sortCustomBattlers()
MessageTypes.loadMessageFile("Data/messages.dat") if safeExists?("Data/messages.dat")
PluginManager.runPlugins
Compiler.main
@@ -51,6 +91,8 @@ def mainFunctionDebug
Game.set_up_system
Graphics.update
Graphics.freeze
sortCustomBattlers()
$scene = pbCallTitle
$scene.main until $scene.nil?
Graphics.transition(20)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.