Refactored ROOT_PATH to be a subfolder in the current user's home directory (configs and settings will not need to be manually moved between updates)

This commit is contained in:
2023-11-18 15:24:07 -06:00
parent f98edc1744
commit 4bdc12ce46
22 changed files with 113 additions and 99 deletions

View File

@@ -62,26 +62,26 @@ module TAC
path = nil
case sound
when :autonomous_countdown
path = "media/sounds/3-2-1.wav"
path = "sounds/3-2-1.wav"
when :autonomous_start
path = "media/sounds/charge.wav"
path = "sounds/charge.wav"
when :autonomous_ended
path = "media/sounds/endauto.wav"
path = "sounds/endauto.wav"
when :teleop_pickup_controllers
path = "media/sounds/Pick_Up_Controllers.wav"
path = "sounds/Pick_Up_Controllers.wav"
when :abort_match
path = "media/sounds/fogblast.wav"
path = "sounds/fogblast.wav"
when :teleop_countdown
path = "media/sounds/3-2-1.wav"
path = "sounds/3-2-1.wav"
when :teleop_started
path = "media/sounds/firebell.wav"
path = "sounds/firebell.wav"
when :end_game
path = "media/sounds/factwhistle.wav"
path = "sounds/factwhistle.wav"
when :end_match
path = "media/sounds/endmatch.wav"
path = "sounds/endmatch.wav"
end
path = "#{ROOT_PATH}/#{path}"
path = "#{MEDIA_PATH}/#{path}"
if path && File.exist?(path) && !File.directory?(path)
Jukebox::SAMPLES[path] = Gosu::Sample.new(path) unless Jukebox::SAMPLES[path].is_a?(Gosu::Sample)

View File

@@ -1,11 +1,11 @@
module TAC
class PracticeGameClock
class Jukebox
MUSIC = Dir.glob(ROOT_PATH + "/media/music/*.*").freeze
MUSIC = Dir.glob(MEDIA_PATH + "/music/*.*").freeze
SAMPLES = {}
if File.exist?(ROOT_PATH + "/media/sounds/skystone")
BEEPS_AND_BOOPS = Dir.glob(ROOT_PATH + "/media/sounds/skystone/*.*").freeze
if File.exist?(MEDIA_PATH + "/sounds/skystone")
BEEPS_AND_BOOPS = Dir.glob(MEDIA_PATH + "/sounds/skystone/*.*").freeze
end
attr_reader :volume, :now_playing

View File

@@ -8,7 +8,7 @@ module TAC
@z = -2
@particles = []
@image_options = Dir.glob("#{ROOT_PATH}/media/particles/*.*")
@image_options = Dir.glob("#{MEDIA_PATH}/particles/*.*")
@last_spawned = 0
@clock_active = false
end

View File

@@ -119,7 +119,7 @@ module TAC
@die_size = die_size
@label = label
@image = @window.get_image("#{ROOT_PATH}/media/openclipart_ducky.png")
@image = @window.get_image("#{MEDIA_PATH}/openclipart_ducky.png")
@debug_text = Gosu::Font.new(28)
@label_text = CyberarmEngine::Text.new(@label, static: true, size: 28, alignment: :center)

View File

@@ -149,48 +149,48 @@ module TAC
end
flow width: 1.0 do
button get_image("#{ROOT_PATH}/media/icons/previous.png") do
button get_image("#{MEDIA_PATH}/icons/previous.png") do
RemoteControl.connection.puts(ClockNet::PacketHandler.packet_jukebox_previous_track)
end
button get_image("#{ROOT_PATH}/media/icons/right.png") do |button|
button get_image("#{MEDIA_PATH}/icons/right.png") do |button|
if @jukebox_playing
RemoteControl.connection.puts(ClockNet::PacketHandler.packet_jukebox_pause)
button.value = get_image("#{ROOT_PATH}/media/icons/right.png")
button.value = get_image("#{MEDIA_PATH}/icons/right.png")
@jukebox_playing = false
else
RemoteControl.connection.puts(ClockNet::PacketHandler.packet_jukebox_play)
button.value = get_image("#{ROOT_PATH}/media/icons/pause.png")
button.value = get_image("#{MEDIA_PATH}/icons/pause.png")
@jukebox_playing = true
end
end
button get_image("#{ROOT_PATH}/media/icons/stop.png") do
button get_image("#{MEDIA_PATH}/icons/stop.png") do
RemoteControl.connection.puts(ClockNet::PacketHandler.packet_jukebox_stop)
end
button get_image("#{ROOT_PATH}/media/icons/next.png") do
button get_image("#{MEDIA_PATH}/icons/next.png") do
RemoteControl.connection.puts(ClockNet::PacketHandler.packet_jukebox_next_track)
end
button get_image("#{ROOT_PATH}/media/icons/minus.png"), margin_left: 20 do
button get_image("#{MEDIA_PATH}/icons/minus.png"), margin_left: 20 do
@jukebox_volume -= 0.1
@jukebox_volume = 0.1 if @jukebox_volume < 0.1
RemoteControl.connection.puts(ClockNet::PacketHandler.packet_jukebox_set_volume(@jukebox_volume))
end
button get_image("#{ROOT_PATH}/media/icons/plus.png") do
button get_image("#{MEDIA_PATH}/icons/plus.png") do
@jukebox_volume += 0.1
@jukebox_volume = 1.0 if @jukebox_volume > 1.0
RemoteControl.connection.puts(ClockNet::PacketHandler.packet_jukebox_set_volume(@jukebox_volume))
end
button get_image("#{ROOT_PATH}/media/icons/musicOn.png"), margin_left: 20, tip: "Toggle Sound Effects" do |button|
button get_image("#{MEDIA_PATH}/icons/musicOn.png"), margin_left: 20, tip: "Toggle Sound Effects" do |button|
if @jukebox_sound_effects
button.value = get_image("#{ROOT_PATH}/media/icons/musicOff.png")
button.value = get_image("#{MEDIA_PATH}/icons/musicOff.png")
@jukebox_sound_effects = false
else
button.value = get_image("#{ROOT_PATH}/media/icons/musicOn.png")
button.value = get_image("#{MEDIA_PATH}/icons/musicOn.png")
@jukebox_sound_effects = true
end
@@ -199,12 +199,12 @@ module TAC
end
button "Open Music Library", width: 1.0 do
path = "#{ROOT_PATH}/media/music"
path = "#{MEDIA_PATH}/music"
if RUBY_PLATFORM.match(/ming|msys|cygwin/)
system("explorer \"#{path.gsub("/", "\\")}\"")
elsif RUBY_PLATFORM.match(/linux/)
system("xdg-open \"#{ROOT_PATH}/media/music\"")
system("xdg-open \"#{MEDIA_PATH}/music\"")
else
# TODO.
end

View File

@@ -2,7 +2,7 @@ module TAC
class PracticeGameClock
THEME = {
TextBlock: {
font: "Canterell",
font: "NotoSans-Bold",
color: Gosu::Color.new(0xee_ffffff)
},
Button: {
@@ -23,7 +23,7 @@ module TAC
},
ToggleButton: {
width: 18,
checkmark_image: "#{File.expand_path("..", __dir__)}/media/icons/checkmark.png",
checkmark_image: "#{MEDIA_PATH}/icons/checkmark.png",
}
}
end

View File

@@ -9,9 +9,9 @@ module TAC
window.show_cursor = !@remote_control_mode
@escape_counter = 0
@background_image = get_image("#{ROOT_PATH}/media/background.png")
@background_image = get_image("#{MEDIA_PATH}/background.png")
# Preload duck image since Gosu and Windows threads don't get along with OpenGL (image is blank if loaded in a threaded context)
get_image("#{ROOT_PATH}/media/openclipart_ducky.png")
get_image("#{MEDIA_PATH}/openclipart_ducky.png")
@menu_background = 0xaa004000
@mouse = Mouse.new(window)
@clock = Clock.new
@@ -105,56 +105,56 @@ module TAC
end
flow(width: 1.0) do
button get_image("#{ROOT_PATH}/media/icons/previous.png") do
button get_image("#{MEDIA_PATH}/icons/previous.png") do
@jukebox.previous_track
end
button get_image("#{ROOT_PATH}/media/icons/pause.png") do |button|
button get_image("#{MEDIA_PATH}/icons/pause.png") do |button|
if @jukebox.song && @jukebox.song.paused?
button.value = get_image("#{ROOT_PATH}/media/icons/right.png")
button.value = get_image("#{MEDIA_PATH}/icons/right.png")
@jukebox.play
elsif !@jukebox.song
button.value = get_image("#{ROOT_PATH}/media/icons/right.png")
button.value = get_image("#{MEDIA_PATH}/icons/right.png")
@jukebox.play
else
button.value = get_image("#{ROOT_PATH}/media/icons/pause.png")
button.value = get_image("#{MEDIA_PATH}/icons/pause.png")
@jukebox.pause
end
end
button get_image("#{ROOT_PATH}/media/icons/stop.png") do
button get_image("#{MEDIA_PATH}/icons/stop.png") do
@jukebox.stop
end
button get_image("#{ROOT_PATH}/media/icons/next.png") do
button get_image("#{MEDIA_PATH}/icons/next.png") do
@jukebox.next_track
end
button get_image("#{ROOT_PATH}/media/icons/minus.png"), margin_left: 20 do
button get_image("#{MEDIA_PATH}/icons/minus.png"), margin_left: 20 do
@jukebox.set_volume(@jukebox.volume - 0.1)
end
button get_image("#{ROOT_PATH}/media/icons/plus.png") do
button get_image("#{MEDIA_PATH}/icons/plus.png") do
@jukebox.set_volume(@jukebox.volume + 0.1)
end
button "Open Music Library", margin_left: 50 do
if RUBY_PLATFORM.match(/ming|msys|cygwin/)
system("explorer #{ROOT_PATH}/media/music")
system("explorer #{MEDIA_PATH}/music")
elsif RUBY_PLATFORM.match(/linux/)
system("xdg-open #{ROOT_PATH}/media/music")
system("xdg-open #{MEDIA_PATH}/music")
else
# TODO.
end
end
button get_image("#{ROOT_PATH}/media/icons/musicOn.png"), margin_left: 50, tip: "Toggle Sound Effects" do |button|
button get_image("#{MEDIA_PATH}/icons/musicOn.png"), margin_left: 50, tip: "Toggle Sound Effects" do |button|
boolean = @jukebox.set_sfx(!@jukebox.play_sfx?)
if boolean
button.value = get_image("#{ROOT_PATH}/media/icons/musicOn.png")
button.value = get_image("#{MEDIA_PATH}/icons/musicOn.png")
else
button.value = get_image("#{ROOT_PATH}/media/icons/musicOff.png")
button.value = get_image("#{MEDIA_PATH}/icons/musicOff.png")
end
end
end