mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
87 lines
3.0 KiB
Ruby
87 lines
3.0 KiB
Ruby
def test_http_get
|
|
url = "http://localhost:8080"
|
|
response = HTTPLite.get(url)
|
|
if response[:status] == 200
|
|
p response[:body]
|
|
end
|
|
end
|
|
|
|
def downloadCustomSprite(head_id, body_id)
|
|
base_custom_path = "https://raw.githubusercontent.com/infinitefusion/sprites/main/Sprite%20Credits.csv"
|
|
end
|
|
|
|
def updateCreditsFile
|
|
return if $PokemonSystem.download_sprites != 0
|
|
download_file(Settings::CREDITS_FILE_URL,Settings::CREDITS_FILE_PATH,)
|
|
end
|
|
|
|
def download_file(url, saveLocation)
|
|
begin
|
|
response = HTTPLite.get(url)
|
|
if response[:status] == 200
|
|
File.open(saveLocation, "wb") do |file|
|
|
file.write(response[:body])
|
|
end
|
|
echo _INTL("\nDownloaded file {1} to {2}", url, saveLocation)
|
|
return saveLocation
|
|
end
|
|
return nil
|
|
rescue MKXPError
|
|
return nil
|
|
end
|
|
end
|
|
|
|
def download_sprite(base_path, head_id, body_id, saveLocation = "Graphics/temp")
|
|
begin
|
|
downloaded_file_name = _INTL("{1}/{2}.{3}.png", saveLocation, head_id, body_id)
|
|
return downloaded_file_name if pbResolveBitmap(downloaded_file_name)
|
|
url = _INTL(base_path, head_id, body_id)
|
|
response = HTTPLite.get(url)
|
|
if response[:status] == 200
|
|
File.open(downloaded_file_name, "wb") do |file|
|
|
file.write(response[:body])
|
|
end
|
|
echo _INTL("\nDownloaded file {1} to {2}", downloaded_file_name, saveLocation)
|
|
return downloaded_file_name
|
|
end
|
|
return nil
|
|
rescue MKXPError
|
|
return nil
|
|
end
|
|
end
|
|
|
|
def download_autogen_sprite(head_id, body_id)
|
|
return nil if $PokemonSystem.download_sprites != 0
|
|
url = "https://raw.githubusercontent.com/Aegide/autogen-fusion-sprites/master/Battlers/{1}/{1}.{2}.png"
|
|
destPath = _INTL("{1}{2}", Settings::BATTLERS_FOLDER, head_id)
|
|
sprite = download_sprite(_INTL(url, head_id, body_id), head_id, body_id, destPath)
|
|
return sprite if sprite
|
|
return nil
|
|
end
|
|
|
|
def download_custom_sprite(head_id, body_id)
|
|
return nil if $PokemonSystem.download_sprites != 0
|
|
#base_path = "https://raw.githubusercontent.com/Aegide/custom-fusion-sprites/main/CustomBattlers/{1}.{2}.png"
|
|
url = "https://raw.githubusercontent.com/infinitefusion/sprites/main/CustomBattlers/{1}.{2}.png"
|
|
destPath = _INTL("{1}{2}", Settings::CUSTOM_BATTLERS_FOLDER_INDEXED, head_id)
|
|
sprite = download_sprite(_INTL(url, head_id, body_id), head_id, body_id, destPath)
|
|
return sprite if sprite
|
|
return nil
|
|
end
|
|
|
|
#format: [1.1.png, 1.2.png, etc.]
|
|
# https://api.github.com/repos/infinitefusion/contents/sprites/CustomBattlers
|
|
# repo = "Aegide/custom-fusion-sprites"
|
|
# folder = "CustomBattlers"
|
|
#
|
|
# todo: github api returns a maximum of 1000 files. Need to find workaround.
|
|
# Possibly using git trees https://docs.github.com/fr/rest/git/trees?apiVersion=2022-11-28#get-a-tree
|
|
def list_online_custom_sprites
|
|
return nil
|
|
# repo = "infinitefusion/sprites"
|
|
# folder = "CustomBattlers"
|
|
# api_url = "https://api.github.com/repos/#{repo}/contents/#{folder}"
|
|
# response = HTTPLite.get(api_url)
|
|
# return HTTPLite::JSON.parse(response[:body]).map { |file| file['name'] }
|
|
end
|