Fixes sprite importing

This commit is contained in:
infinitefusion
2025-01-02 14:09:09 -05:00
parent 804578f4e3
commit f9f6f35236
9 changed files with 146 additions and 210 deletions

View File

@@ -12,16 +12,43 @@ class PokedexUtils
return $game_temp.base_sprites_list[dex_number]
end
def getLocalBaseSpriteAlts(dex_number)
local_sprite_alts = []
baseFilename = "#{dex_number}"
possible_alt_letters = getAltLettersList()
possible_alt_letters << ""
possible_alt_letters.each { |alt_letter|
spritename = "#{baseFilename}#{alt_letter}"
local_path = "#{Settings::CUSTOM_BASE_SPRITES_FOLDER}/#{spritename}.png"
if pbResolveBitmap(local_path)
local_sprite_alts << getLocalSpriteID(local_path)
end
}
return local_sprite_alts
end
def getLocalFusionSpriteAlts(head_id,body_id)
local_sprite_alts = []
baseFilename = "#{head_id}.#{body_id}"
possible_alt_letters = getAltLettersList()
possible_alt_letters << ""
possible_alt_letters.each { |alt_letter|
spritename = "#{baseFilename}#{alt_letter}"
local_path = "#{Settings::CUSTOM_BATTLERS_FOLDER_INDEXED}/#{head_id.to_s}/#{spritename}.png"
if pbResolveBitmap(local_path)
local_sprite_alts << getLocalSpriteID(local_path)
end
}
return local_sprite_alts
end
def getLocalSpriteID(sprite_path)
return "local_#{sprite_path}"
end
def getFusionSpriteAlts(head_id, body_id)
sprite_id = get_fusion_symbol(head_id,body_id)
return $game_temp.custom_sprites_list[sprite_id]
# available_alts = []
# species_id = get_fusion_id(head_id,body_id).to_s
# for pokemon_id in $game_temp.custom_sprites_list
# available_alts << pokemon_id if pokemon_id.to_s.start_with?(species_id)
# end
# echoln available_alts
# return available_alts
end
def pbGetAvailableAlts(species, includeAutogens=false)
@@ -30,49 +57,19 @@ class PokedexUtils
body_id = getBodyID(dex_number)
head_id = getHeadID(dex_number,body_id)
available_alts = getFusionSpriteAlts(head_id,body_id)
available_alts = [] if !available_alts
local_alts = getLocalFusionSpriteAlts(head_id,body_id)
else
available_alts= getBaseSpritesAlts(dex_number)
available_alts = [] if !available_alts
local_alts = getLocalBaseSpriteAlts(dex_number)
end
available_alts = [] if !available_alts
available_alts += local_alts if local_alts
available_alts << "autogen" if includeAutogens
return available_alts
# ret = []
# return ret if !species
# dexNum = getDexNumberForSpecies(species)
# isFusion = dexNum > NB_POKEMON
# if !isFusion
# altLetters = getAltLettersList()
# altLetters << ""
# altLetters.each { |alt_letter|
# altFilePath = Settings::CUSTOM_BASE_SPRITES_FOLDER + dexNum.to_s + alt_letter + ".png"
# if pbResolveBitmap(altFilePath)
# ret << altFilePath
# end
# }
# return ret
# end
# body_id = getBodyID(species)
# head_id = getHeadID(species, body_id)
#
# baseFilename = head_id.to_s + "." + body_id.to_s
# baseFilePath = Settings::CUSTOM_BATTLERS_FOLDER_INDEXED + head_id.to_s + "/" + baseFilename + ".png"
# if pbResolveBitmap(baseFilePath)
# ret << baseFilePath
# end
# getAltLettersList().each { |alt_letter|
# if alt_letter != "" #empty is included in alt letters because unfused sprites can be alts and not have a letter
# altFilePath = Settings::CUSTOM_BATTLERS_FOLDER_INDEXED + head_id.to_s + "/" + baseFilename + alt_letter + ".png"
# if pbResolveBitmap(altFilePath)
# ret << altFilePath
# end
# end
# }
# ret << Settings::BATTLERS_FOLDER + head_id.to_s + "/" + baseFilename + ".png"
# return ret
end
#todo: return array for split evolution lines that have multiple final evos
def getFinalEvolution(species)
#ex: [[B3H4,Level 32],[B2H5, Level 35]]