mirror of
https://github.com/cyberarm/w3d_hub_linux_launcher.git
synced 2025-12-16 09:12:35 +00:00
Improved avatar handling, fixed import/install button text sizes, fixed typo ERRNO-> Errno, ocra[n] packaging adjustments
This commit is contained in:
@@ -61,7 +61,7 @@ class W3DHub
|
||||
status = execute_task
|
||||
rescue FailFast
|
||||
# no-op
|
||||
rescue StandardError, ERRNO::EACCES => e
|
||||
rescue StandardError, Errno::EACCES => e
|
||||
status = false
|
||||
@task_failure_reason = e.message[0..512]
|
||||
|
||||
@@ -700,7 +700,7 @@ class W3DHub
|
||||
|
||||
File.open("#{path}/#{safe_file_name}", "wb") do |f|
|
||||
i = entry.get_input_stream
|
||||
|
||||
|
||||
while (chunk = i.read(32_000_000)) # Read up to ~32 MB per chunk
|
||||
f.write chunk
|
||||
end
|
||||
|
||||
@@ -205,14 +205,14 @@ class W3DHub
|
||||
installing = Store.application_manager.task?(:installer, game.id, channel.id)
|
||||
|
||||
unless game.id == "ren"
|
||||
button "<b>#{I18n.t(:"interface.install")}</b>", fill: true, margin_right: 8, text_size: 32, enabled: !installing do |button|
|
||||
button "<b>#{I18n.t(:"interface.install")}</b>", fill: true, margin_right: 8, text_size: 30, enabled: !installing do |button|
|
||||
button.enabled = false
|
||||
@import_button.enabled = false
|
||||
Store.application_manager.install(game.id, channel.id)
|
||||
end
|
||||
end
|
||||
|
||||
@import_button = button "<b>#{I18n.t(:"interface.import")}</b>", fill: true, margin_left: 8, text_size: 32, enabled: !installing do
|
||||
@import_button = button "<b>#{I18n.t(:"interface.import")}</b>", fill: true, margin_left: 8, text_size: 30, enabled: !installing do
|
||||
Store.application_manager.import(game.id, channel.id)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -108,7 +108,22 @@ class W3DHub
|
||||
mask_image = get_image("#{GAME_ROOT_PATH}/media/textures/circle_mask.png")
|
||||
|
||||
composite_image = Gosu.render(256, 256) do
|
||||
avatar_image.draw(0, 0, 0)
|
||||
scale = 1.0
|
||||
|
||||
if avatar_image.width > avatar_image.height
|
||||
# avatar image is wider than tall, use `height` for scaling to ensure we fill the canvas
|
||||
scale = 256.0 / avatar_image.height
|
||||
elsif avatar_image.width < avatar_image.height
|
||||
# avatar image is taller than wide, use `width` for scaling to ensure we fill the canvas
|
||||
scale = 256.0 / avatar_image.width
|
||||
else
|
||||
# avatar image is square, use width for scale to ensure we fit to the canvas
|
||||
scale = 256.0 / avatar_image.width
|
||||
end
|
||||
|
||||
# Position image center in middle of composite
|
||||
avatar_image.draw_rot(128, 128, 0, 0, 0.5, 0.5, scale, scale)
|
||||
# Render mask image with mode :multiply so we get a clean circle cutout of the scaled avatar image
|
||||
mask_image.draw(0, 0, 1, 1, 1, 0xff_ffffff, :multiply)
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user