display spriter credits in fusion screen and pokedex

This commit is contained in:
infinitefusion
2023-04-08 09:19:07 -04:00
parent 43752e511a
commit 96074dd94c
21 changed files with 68 additions and 2 deletions

View File

@@ -26,6 +26,7 @@ module Settings
BATTLERS_FOLDER = "Graphics/Battlers/"
DOWNLOADED_SPRITES_FOLDER = "Graphics/temp/"
DEFAULT_SPRITE_PATH = "Graphics/Battlers/Special/000.png"
CREDITS_FILE_PATH = "Data/credits.csv"
FRONTSPRITE_POSITION_OFFSET = 20
FRONTSPRITE_SCALE = 0.6666666666
BACKRPSPRITE_SCALE = 1

View File

@@ -414,6 +414,10 @@ class IconSprite < SpriteWrapper
end
end
def getBitmap
return @_iconbitmap
end
def clearBitmaps
@_iconbitmap.dispose if @_iconbitmap
@_iconbitmap = nil

View File

@@ -1195,6 +1195,7 @@ end
def pbDrawTextPositions(bitmap,textpos)
for i in textpos
textsize = bitmap.text_size(i[0])
x = i[1]
y = i[2] + 6
if i[3]==true || i[3]==1 # right align

View File

@@ -25,6 +25,10 @@ class PokemonSprite < SpriteWrapper
changeOrigin
end
def filename
return @bitmap
end
def changeOrigin
return if !self.bitmap
@offset = PictureOrigin::Center if !@offset
@@ -76,6 +80,10 @@ class PokemonSprite < SpriteWrapper
changeOrigin
end
def getBitmap
return @_iconbitmap
end
def update
super
if @_iconbitmap

View File

@@ -688,9 +688,12 @@ class PokemonFusionScene
newspeciesname = newSpecies.real_name
oldspeciesname = GameData::Species.get(@pokemon1.species).real_name
overlay = BitmapSprite.new(Graphics.width, Graphics.height, @viewport).bitmap
drawSpriteCredits(@sprites["rsprite2"].getBitmap.filename, overlay)
Kernel.pbMessageDisplay(@sprites["msgwindow"],
_INTL("\\se[]Congratulations! Your Pokémon were fused into {2}!\\wt[80]", @pokemon1.name, newspeciesname))
#exp
@pokemon1.exp_when_fused_head = @pokemon2.exp
@pokemon1.exp_when_fused_body = @pokemon1.exp
@@ -705,7 +708,7 @@ class PokemonFusionScene
@pokemon1.debug_shiny = true if @pokemon1.debug_shiny || @pokemon2.debug_shiny
setFusionIVs(superSplicer)
#add to pokedex
#add to pokedex
if !$Trainer.pokedex.owned?(newSpecies)
$Trainer.pokedex.set_seen(newSpecies)
$Trainer.pokedex.set_owned(newSpecies)
@@ -713,6 +716,7 @@ class PokemonFusionScene
_INTL("{1}'s data was added to the Pokédex", newspeciesname))
@scene.pbShowPokedex(@newspecies)
end
overlay.dispose
#first check if hidden ability
# getAbilityList format: [[:ABILITY, index],...]
hiddenAbility1 = @pokemon1.ability == @pokemon1.getAbilityList[-1][0]
@@ -763,6 +767,25 @@ class PokemonFusionScene
end
end
def drawSpriteCredits(filename,overlay)
x= Graphics.width/2
y=240
spritename = File.basename(filename,'.*')
discord_name = getSpriteCredits(spritename)
return if !discord_name
author_name = File.basename(discord_name,'#*')
return if author_name == nil
label_base_color = Color.new(98, 231, 110)
label_shadow_color = Color.new(27, 169, 40)
#label_shadow_color = Color.new(33, 209, 50)
text = _INTL("Sprite by {1}",author_name)
textpos = [[text, x, y, 2, label_base_color, label_shadow_color]]
pbDrawTextPositions(overlay, textpos)
end
def clearUIForMoves
addBackgroundOrColoredPlane(@sprites, "background", "DNAbg",
Color.new(248, 248, 248), @viewport)

View File

@@ -412,6 +412,15 @@ def customSpriteExistsBase(body,head)
return download_custom_sprite(head, body) != nil
end
def getSpriteCredits(spriteName)
File.foreach(Settings::CREDITS_FILE_PATH) do |line|
row = line.split(';')
if row[0].include?(spriteName)
return row[1]
end
end
return nil
end
def getArceusPlateType(heldItem)
return :NORMAL if heldItem == nil

View File

@@ -46,6 +46,8 @@ class PokemonPokedexInfo_Scene
@sprites["bgSelected_next"].setBitmap(_INTL("Graphics/Pictures/Pokedex/bg_forms_selected_small"))
@sprites["bgSelected_next"].visible = false
@creditsOverlay = BitmapSprite.new(Graphics.width, Graphics.height, @viewport).bitmap
end
def initializeSpritesPage(altsList)
@@ -129,10 +131,27 @@ class PokemonPokedexInfo_Scene
@sprites["previousSprite"].setBitmap(@available[previousIndex]) if previousIndex != nextIndex
@sprites["selectedSprite"].setBitmap(@available[@selected_index])
@sprites["nextSprite"].setBitmap(@available[nextIndex])
showSpriteCredits(@sprites["selectedSprite"].getBitmap.filename)
update_selected
end
def showSpriteCredits(filename)
@creditsOverlay.dispose
x= Graphics.width/2 -60
y=Graphics.height - 60
spritename = File.basename(filename,'.*')
discord_name = getSpriteCredits(spritename)
return if !discord_name
author_name = File.basename(discord_name,'#*')
label_base_color = Color.new(248, 248, 248)
label_shadow_color = Color.new(104, 104, 104)
@creditsOverlay = BitmapSprite.new(Graphics.width, Graphics.height, @viewport).bitmap
textpos = [[author_name, x, y, 0, label_base_color, label_shadow_color]]
pbDrawTextPositions(@creditsOverlay, textpos)
end
def pbChooseForm