line-em-up 2.0.3 → 2.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/line-em-up.sh +2 -1
- data/line-em-up/game_window.rb +1 -0
- data/line-em-up/lib/config_setting.rb +8 -1
- data/line-em-up/lib/ship_loadout_setting.rb +26 -1
- data/line-em-up/loadout_window.rb +8 -2
- data/line-em-up/models/main.rb +62 -12
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 36230f97fa8a9410ec6aaa037ccf96927225a228
|
4
|
+
data.tar.gz: 848b5b2c38e62b4adf4abbcc5b94d6c14f444c74
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a32a7c25a62c46a5c58729012ed8c8bd80ce440e1c2322e56363da3eb7c4e9df17a27ee8a5970b8541f2e022927ba8fdb97b91556e8dca45f1071a544d1c321
|
7
|
+
data.tar.gz: e1a811212aa923a2a878cc91b4e2870d09e7665983fcae74cfbd83ed5c70df7398820ff058bee8d16de3ada9fb79abc66ec4ebbe2c514dfd9908e9bf9082b6b6
|
data/bin/line-em-up.sh
CHANGED
data/line-em-up/game_window.rb
CHANGED
@@ -79,6 +79,7 @@ class GameWindow < Gosu::Window
|
|
79
79
|
@config_path = self.class::CONFIG_FILE
|
80
80
|
@window = self
|
81
81
|
@open_gl_executer = ExecuteOpenGl.new
|
82
|
+
# GET difficulty from config file.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
82
83
|
@difficulty = options[:difficulty]
|
83
84
|
@block_all_controls = !options[:block_controls_until_button_up].nil? && options[:block_controls_until_button_up] == true ? true : false
|
84
85
|
@debug = options[:debug]
|
@@ -35,6 +35,7 @@ module ConfigSetting
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def self.get_setting file_location, setting_name, default_value = nil
|
38
|
+
raise "NO FILE LOCATION PATH" if file_location.nil?
|
38
39
|
create_file_if_non_existent(file_location)
|
39
40
|
test = File.readlines(file_location).select { |line| line =~ /^#{setting_name}: ([^;]*);$/ }
|
40
41
|
if test && test.first
|
@@ -53,6 +54,7 @@ module ConfigSetting
|
|
53
54
|
end
|
54
55
|
|
55
56
|
def self.set_mapped_setting file_location, setting_names, setting_value
|
57
|
+
raise "NO FILE LOCATION PATH" if file_location.nil?
|
56
58
|
puts "set_mapped_setting".upcase
|
57
59
|
puts setting_names
|
58
60
|
puts setting_value
|
@@ -149,6 +151,7 @@ module ConfigSetting
|
|
149
151
|
end
|
150
152
|
|
151
153
|
def self.get_mapped_setting file_location, setting_names = [], default_value = nil
|
154
|
+
raise "NO FILE LOCATION PATH" if file_location.nil?
|
152
155
|
create_file_if_non_existent(file_location)
|
153
156
|
setting_name = setting_names.shift
|
154
157
|
text = (File.readlines(file_location).select { |line| line =~ /^#{setting_name}: ([^;]*);$/ }).first
|
@@ -168,7 +171,11 @@ module ConfigSetting
|
|
168
171
|
indexer = indexer.to_s if indexer
|
169
172
|
end
|
170
173
|
puts "FOUND DATA: #{data}"
|
171
|
-
|
174
|
+
if data
|
175
|
+
return data
|
176
|
+
else
|
177
|
+
return default_value
|
178
|
+
end
|
172
179
|
else
|
173
180
|
return default_value
|
174
181
|
end
|
@@ -127,7 +127,32 @@ class ShipLoadoutSetting < Setting
|
|
127
127
|
key = "matrix_#{x}_#{y}"
|
128
128
|
click_area = LUIT::ClickArea.new(@window, key, current_x, current_y, @cell_width, @cell_height)
|
129
129
|
# click_area = LUIT::Button.new(@window, click_key, current_x, current_y, '', @cell_width, @cell_height)
|
130
|
-
|
130
|
+
# Kludge here to populate inventory on first load, without committing the config file.
|
131
|
+
# puts "X AND Y START : #{x} - #{y}"
|
132
|
+
# if y == 0
|
133
|
+
# klass_name = ConfigSetting.get_mapped_setting(@config_file_path, ['Inventory', x.to_s, y.to_s], 'DumbMissileLauncher')
|
134
|
+
# if klass_name == 'DumbMissileLauncher'
|
135
|
+
# puts "SETTING X AND Y: #{x} - #{y} - with DumbMissileLauncher"
|
136
|
+
# ConfigSetting.set_mapped_setting(@config_file_path, ['Inventory', x.to_s, y.to_s], 'DumbMissileLauncher')
|
137
|
+
# end
|
138
|
+
# elsif y == 1
|
139
|
+
# klass_name = ConfigSetting.get_mapped_setting(@config_file_path, ['Inventory', x.to_s, y.to_s], 'LaserLauncher')
|
140
|
+
# puts "Y HERE was 1: AND GOT ORIGINAL KLASS HERE #{klass_name}"
|
141
|
+
# if klass_name == 'LaserLauncher'
|
142
|
+
# puts "SETTING X AND Y: #{x} - #{y} - with LaserLauncher"
|
143
|
+
# ConfigSetting.set_mapped_setting(@config_file_path, ['Inventory', x.to_s, y.to_s], 'LaserLauncher')
|
144
|
+
# end
|
145
|
+
# elsif y == 2
|
146
|
+
# klass_name = ConfigSetting.get_mapped_setting(@config_file_path, ['Inventory', x.to_s, y.to_s], 'BulletLauncher')
|
147
|
+
# if klass_name == 'BulletLauncher'
|
148
|
+
# puts "SETTING X AND Y: #{x} - #{y} - with BulletLauncher"
|
149
|
+
# ConfigSetting.set_mapped_setting(@config_file_path, ['Inventory', x.to_s, y.to_s], 'BulletLauncher')
|
150
|
+
# end
|
151
|
+
# else
|
152
|
+
klass_name = ConfigSetting.get_mapped_setting(@config_file_path, ['Inventory', x.to_s, y.to_s])
|
153
|
+
# end
|
154
|
+
puts "X and Y WAS : #{x} - #{y}"
|
155
|
+
puts "CLASS WAS: #{klass_name}"
|
131
156
|
item = nil
|
132
157
|
if klass_name
|
133
158
|
klass = eval(klass_name)
|
@@ -37,6 +37,7 @@ class LoadoutWindow < Gosu::Window
|
|
37
37
|
attr_accessor :width, :height, :block_all_controls, :game_window
|
38
38
|
# attr_accessor :mouse_x, :mouse_y
|
39
39
|
def initialize width = nil, height = nil, fullscreen = false, options = {}
|
40
|
+
@block_all_controls = !options[:block_controls_until_button_up].nil? && options[:block_controls_until_button_up] == true ? true : false
|
40
41
|
puts "INCOMING WIDHT AND HEIGHT: #{width} and #{height}"
|
41
42
|
@config_file_path = self.class::CONFIG_FILE
|
42
43
|
@cursor_object = nil
|
@@ -194,6 +195,10 @@ class LoadoutWindow < Gosu::Window
|
|
194
195
|
end
|
195
196
|
end
|
196
197
|
|
198
|
+
def button_up id
|
199
|
+
@block_all_controls = false
|
200
|
+
end
|
201
|
+
|
197
202
|
def increase_center_font_ui_y amount
|
198
203
|
@center_ui_y += amount
|
199
204
|
end
|
@@ -215,6 +220,7 @@ class LoadoutWindow < Gosu::Window
|
|
215
220
|
{
|
216
221
|
# back: lambda { |window, id| window.close; Main.new.show }
|
217
222
|
back: lambda { |window, id|
|
223
|
+
puts "RIGHT HERE IS THE ISSUE!!!!!!!!!!!!!!!!"
|
218
224
|
# puts "SElocal_windowLF? #{local_window.class.name}"
|
219
225
|
# can't get it to bring the game window back
|
220
226
|
# self.close
|
@@ -225,9 +231,9 @@ class LoadoutWindow < Gosu::Window
|
|
225
231
|
# puts "!!!!!!GAME wINDOW: #{window.game_window}"
|
226
232
|
if window.game_window
|
227
233
|
# window.game_window.show
|
228
|
-
GameWindow.new.show
|
234
|
+
GameWindow.new(nil, nil, nil, {block_controls_until_button_up: true}).show
|
229
235
|
else
|
230
|
-
Main.new.show
|
236
|
+
Main.new(@config_file_path, {block_controls_until_button_up: true}).show
|
231
237
|
end
|
232
238
|
}
|
233
239
|
}
|
data/line-em-up/models/main.rb
CHANGED
@@ -5,13 +5,18 @@ class Main < Gosu::Window
|
|
5
5
|
require "#{CURRENT_DIRECTORY}/../game_window.rb"
|
6
6
|
require "#{CURRENT_DIRECTORY}/../loadout_window.rb"
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
# block_controls_until_button_up: true
|
9
|
+
attr_accessor :block_all_controls, :config_path
|
10
|
+
def initialize config_path = nil, options = {}
|
11
|
+
@block_all_controls = !options[:block_controls_until_button_up].nil? && options[:block_controls_until_button_up] == true ? true : false
|
12
|
+
puts "MAIN HERE: block? #{@block_all_controls}"
|
13
|
+
@config_file_path = config_path
|
14
|
+
@config_file_path = CONFIG_FILE if config_path.nil?
|
15
|
+
puts "MAIN CONFIG INITL: #{@config_file_path} - #{config_path} - #{CONFIG_FILE}"
|
11
16
|
|
12
17
|
|
13
18
|
# @width, @height = ResolutionSetting::SELECTION[0].split('x').collect{|s| s.to_i}
|
14
|
-
value = ConfigSetting.get_setting(
|
19
|
+
value = ConfigSetting.get_setting(@config_file_path, 'resolution', ResolutionSetting::SELECTION[0])
|
15
20
|
raise "DID NOT GET A RESOLUTION FROM CONFIG" if value.nil?
|
16
21
|
width, height = value.split('x')
|
17
22
|
@width, @height = [width.to_i, height.to_i]
|
@@ -58,10 +63,10 @@ class Main < Gosu::Window
|
|
58
63
|
|
59
64
|
window_height = Gosu.screen_height
|
60
65
|
@window = self
|
61
|
-
@resolution_menu = ResolutionSetting.new(@window, window_height, @width, @height, get_center_font_ui_y,
|
66
|
+
@resolution_menu = ResolutionSetting.new(@window, window_height, @width, @height, get_center_font_ui_y, @config_file_path)
|
62
67
|
|
63
68
|
@difficulty = nil
|
64
|
-
@difficulty_menu = DifficultySetting.new(@window, window_height, @width, @height, get_center_font_ui_y,
|
69
|
+
@difficulty_menu = DifficultySetting.new(@window, window_height, @width, @height, get_center_font_ui_y, @config_file_path)
|
65
70
|
@menu = Menu.new(self, @width / 2, get_center_font_ui_y, ZOrder::UI, @scale)
|
66
71
|
# Just move everything else above the menu
|
67
72
|
# increase_center_font_ui_y(@menu.current_height)
|
@@ -75,7 +80,11 @@ class Main < Gosu::Window
|
|
75
80
|
LUIT::Button.new(@menu.local_window, button_key, @menu.x, @menu.y + @menu.current_height, "Start", 0, 1),
|
76
81
|
0,
|
77
82
|
0,
|
78
|
-
lambda {|window, id|
|
83
|
+
lambda {|window, id|
|
84
|
+
if !@block_all_controls
|
85
|
+
self.close; GameWindow.start(@game_window_width, @game_window_height, dynamic_get_resolution_fs, {block_controls_until_button_up: true, difficulty: @difficulty})
|
86
|
+
end
|
87
|
+
},
|
79
88
|
# lambda {|window, id| self.close },
|
80
89
|
nil,
|
81
90
|
{is_button: true, key: button_key}
|
@@ -91,7 +100,11 @@ class Main < Gosu::Window
|
|
91
100
|
LUIT::Button.new(@menu.local_window, button_key, @menu.x, @menu.y + @menu.current_height, "Loadout", 0, 1),
|
92
101
|
0,
|
93
102
|
0,
|
94
|
-
lambda {|window, id|
|
103
|
+
lambda {|window, id|
|
104
|
+
if !@block_all_controls
|
105
|
+
self.close; LoadoutWindow.start(@game_window_width, @game_window_height, dynamic_get_resolution_fs, {block_controls_until_button_up: true})
|
106
|
+
end
|
107
|
+
},
|
95
108
|
nil,
|
96
109
|
{is_button: true, key: button_key}
|
97
110
|
)
|
@@ -99,21 +112,54 @@ class Main < Gosu::Window
|
|
99
112
|
# debug_start_image = Gosu::Image.new("#{MEDIA_DIRECTORY}/debug_start.png")
|
100
113
|
# @menu.add_item(debug_start_image, (@width / 2) - (debug_start_image.width / 2), get_center_font_ui_y, 1, lambda {self.close; GameWindow.start(@game_window_width, @game_window_height, dynamic_get_resolution_fs, {block_controls_until_button_up: true, debug: true, difficulty: @difficulty}) }, debug_start_image)
|
101
114
|
|
102
|
-
button_key = :debug_start
|
115
|
+
# button_key = :debug_start
|
116
|
+
# @menu.add_item(
|
117
|
+
# LUIT::Button.new(@menu.local_window, button_key, @menu.x, @menu.y + @menu.current_height, "Debug Start", 0, 1),
|
118
|
+
# 0,
|
119
|
+
# 0,
|
120
|
+
# lambda {|window, id|
|
121
|
+
# if !@block_all_controls
|
122
|
+
# self.close; GameWindow.start(@game_window_width, @game_window_height, dynamic_get_resolution_fs, {block_controls_until_button_up: true, debug: true, difficulty: @difficulty})
|
123
|
+
# end
|
124
|
+
# },
|
125
|
+
# nil,
|
126
|
+
# {is_button: true, key: button_key}
|
127
|
+
# )
|
128
|
+
button_key = :debug_start # too lazy to rename
|
103
129
|
@menu.add_item(
|
104
|
-
LUIT::Button.new(@menu.local_window, button_key, @menu.x, @menu.y + @menu.current_height, "
|
130
|
+
LUIT::Button.new(@menu.local_window, button_key, @menu.x, @menu.y + @menu.current_height, "Populate Inventory", 0, 1),
|
105
131
|
0,
|
106
132
|
0,
|
107
|
-
lambda {|window, id|
|
133
|
+
lambda {|window, id|
|
134
|
+
if !@block_all_controls
|
135
|
+
ConfigSetting.set_mapped_setting(@config_file_path, ['Inventory', '0'.to_s, '0'.to_s], 'DumbMissileLauncher')
|
136
|
+
ConfigSetting.set_mapped_setting(@config_file_path, ['Inventory', '1'.to_s, '0'.to_s], 'DumbMissileLauncher')
|
137
|
+
ConfigSetting.set_mapped_setting(@config_file_path, ['Inventory', '2'.to_s, '0'.to_s], 'DumbMissileLauncher')
|
138
|
+
ConfigSetting.set_mapped_setting(@config_file_path, ['Inventory', '0'.to_s, '1'.to_s], 'LaserLauncher')
|
139
|
+
ConfigSetting.set_mapped_setting(@config_file_path, ['Inventory', '1'.to_s, '1'.to_s], 'LaserLauncher')
|
140
|
+
ConfigSetting.set_mapped_setting(@config_file_path, ['Inventory', '2'.to_s, '1'.to_s], 'LaserLauncher')
|
141
|
+
ConfigSetting.set_mapped_setting(@config_file_path, ['Inventory', '0'.to_s, '2'.to_s], 'BulletLauncher')
|
142
|
+
ConfigSetting.set_mapped_setting(@config_file_path, ['Inventory', '1'.to_s, '2'.to_s], 'BulletLauncher')
|
143
|
+
ConfigSetting.set_mapped_setting(@config_file_path, ['Inventory', '2'.to_s, '2'.to_s], 'BulletLauncher')
|
144
|
+
end
|
145
|
+
},
|
108
146
|
nil,
|
109
147
|
{is_button: true, key: button_key}
|
110
148
|
)
|
149
|
+
|
111
150
|
button_key = :exit
|
112
151
|
@menu.add_item(
|
113
152
|
LUIT::Button.new(@menu.local_window, button_key, @menu.x, @menu.y + @menu.current_height, "Exit", 0, 1),
|
114
153
|
0,
|
115
154
|
0,
|
116
|
-
lambda {|window, id|
|
155
|
+
lambda {|window, id|
|
156
|
+
puts "WINDOW: #{window.class}"
|
157
|
+
puts "SELF blcok?: #{self.block_all_controls}"
|
158
|
+
puts "EXIT BUTTON: @block_all_controls: #{@block_all_controls}"
|
159
|
+
if !@block_all_controls
|
160
|
+
self.close
|
161
|
+
end
|
162
|
+
},
|
117
163
|
nil,
|
118
164
|
{is_button: true, key: button_key}
|
119
165
|
)
|
@@ -161,6 +207,10 @@ class Main < Gosu::Window
|
|
161
207
|
end
|
162
208
|
end
|
163
209
|
|
210
|
+
def button_up id
|
211
|
+
@block_all_controls = false
|
212
|
+
end
|
213
|
+
|
164
214
|
def increase_center_font_ui_y amount
|
165
215
|
@center_ui_y += amount
|
166
216
|
end
|