Skip to content

Commit

Permalink
Improved avatar handling, fixed import/install button text sizes, fix…
Browse files Browse the repository at this point in the history
…ed typo ERRNO-> Errno, ocra[n] packaging adjustments
  • Loading branch information
cyberarm committed Mar 2, 2024
1 parent f2dd844 commit 8405110
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 13 deletions.
6 changes: 5 additions & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,11 @@ gem "websocket-client-simple"
gem "win32-process", platforms: [:x64_mingw, :mingw]
gem "win32-security", platforms: [:x64_mingw, :mingw]

# Packaging on 3.3.0 is... painful. Using 3.2.0 for now.
# bundler 2.5.x doesn't seem to play nice with ocra[n]
# use `bundle _x.y.z_ COMMAND` to use this one...
# group :windows_packaging do
# gem "bundler", "~>2.4.3"
# gem "rake"
# gem "releasy"
# gem "releasy", github: "cyberarm/releasy"
# end
6 changes: 2 additions & 4 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ GEM
rake (>= 12.0.0, < 14.0.0)
event_emitter (0.2.6)
excon (0.109.0)
ffi (1.16.3)
ffi (1.16.3-x64-mingw-ucrt)
ffi-win32-extensions (1.0.4)
ffi
gosu (1.4.6)
Expand All @@ -36,8 +36,6 @@ GEM

PLATFORMS
x64-mingw-ucrt
x64-mingw32
x86_64-linux

DEPENDENCIES
base64
Expand All @@ -53,4 +51,4 @@ DEPENDENCIES
win32-security

BUNDLED WITH
2.5.3
2.4.3
6 changes: 3 additions & 3 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ Releasy::Project.new do
version W3DHub::VERSION

executable "w3d_hub_linux_launcher.rb"
files ["lib/**/*.*", "locales/*", "media/**/**", "data/.gitkeep", "data/cache/.gitkeep"]
exclude_encoding # Applications that don't use advanced encoding (e.g. Japanese characters) can save build size with this.
files ["lib/**/*.*", "locales/*", "media/**/**", "data/.gitkeep", "data/cache/.gitkeep", "data/logs/.gitkeep"]
# exclude_encoding # Applications that don't use advanced encoding (e.g. Japanese characters) can save build size with this.
verbose

add_build :windows_folder do
icon "media/icons/app.ico"
executable_type :console # Assuming you don't want it to run with a console window.
executable_type :windows # :console # Assuming you don't want it to run with a console window.
add_package :exe # Windows self-extracting archive.
end
end
4 changes: 2 additions & 2 deletions lib/application_manager/task.rb
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ def start
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]

Expand Down Expand Up @@ -700,7 +700,7 @@ def unzip(package_path, path)

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
Expand Down
4 changes: 2 additions & 2 deletions lib/pages/games.rb
Original file line number Diff line number Diff line change
Expand Up @@ -205,14 +205,14 @@ def populate_game_page(game, channel)
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
Expand Down
17 changes: 16 additions & 1 deletion lib/pages/login.rb
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,22 @@ def populate_account_info
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

Expand Down

0 comments on commit 8405110

Please sign in to comment.