cyberarm_engine 0.24.3 → 0.24.5

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.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +8 -8
  3. data/.rubocop.yml +7 -7
  4. data/.travis.yml +5 -5
  5. data/Gemfile +6 -6
  6. data/Gemfile.lock +24 -0
  7. data/LICENSE.txt +21 -21
  8. data/README.md +74 -74
  9. data/Rakefile +10 -10
  10. data/assets/shaders/fragment/g_buffer.glsl +30 -30
  11. data/assets/shaders/fragment/lighting.glsl +115 -69
  12. data/assets/shaders/include/light_struct.glsl +11 -11
  13. data/assets/shaders/include/material_struct.glsl +16 -16
  14. data/assets/shaders/vertex/g_buffer.glsl +28 -28
  15. data/assets/shaders/vertex/lighting.glsl +24 -24
  16. data/bin/console +14 -14
  17. data/bin/setup +8 -8
  18. data/cyberarm_engine.gemspec +36 -36
  19. data/lib/cyberarm_engine/animator.rb +219 -219
  20. data/lib/cyberarm_engine/background.rb +180 -179
  21. data/lib/cyberarm_engine/background_image.rb +93 -93
  22. data/lib/cyberarm_engine/background_nine_slice.rb +142 -142
  23. data/lib/cyberarm_engine/bounding_box.rb +150 -150
  24. data/lib/cyberarm_engine/builtin/intro_state.rb +130 -130
  25. data/lib/cyberarm_engine/cache/download_manager.rb +123 -123
  26. data/lib/cyberarm_engine/cache.rb +4 -4
  27. data/lib/cyberarm_engine/common.rb +128 -128
  28. data/lib/cyberarm_engine/config_file.rb +46 -46
  29. data/lib/cyberarm_engine/console/command.rb +157 -157
  30. data/lib/cyberarm_engine/console/commands/help_command.rb +43 -43
  31. data/lib/cyberarm_engine/console/subcommand.rb +99 -99
  32. data/lib/cyberarm_engine/console.rb +248 -248
  33. data/lib/cyberarm_engine/game_object.rb +244 -244
  34. data/lib/cyberarm_engine/game_state.rb +124 -124
  35. data/lib/cyberarm_engine/gosu_ext/draw_arc.rb +97 -97
  36. data/lib/cyberarm_engine/gosu_ext/draw_circle.rb +30 -30
  37. data/lib/cyberarm_engine/gosu_ext/draw_path.rb +17 -17
  38. data/lib/cyberarm_engine/model/material.rb +21 -21
  39. data/lib/cyberarm_engine/model/{model_object.rb → mesh.rb} +131 -131
  40. data/lib/cyberarm_engine/model/parser.rb +74 -74
  41. data/lib/cyberarm_engine/model/parsers/collada_parser.rb +138 -138
  42. data/lib/cyberarm_engine/model/parsers/wavefront_parser.rb +154 -154
  43. data/lib/cyberarm_engine/model.rb +216 -213
  44. data/lib/cyberarm_engine/model_cache.rb +31 -31
  45. data/lib/cyberarm_engine/notification.rb +82 -82
  46. data/lib/cyberarm_engine/notification_manager.rb +241 -241
  47. data/lib/cyberarm_engine/opengl/light.rb +52 -50
  48. data/lib/cyberarm_engine/opengl/orthographic_camera.rb +46 -46
  49. data/lib/cyberarm_engine/opengl/perspective_camera.rb +41 -38
  50. data/lib/cyberarm_engine/opengl/renderer/bounding_box_renderer.rb +249 -249
  51. data/lib/cyberarm_engine/opengl/renderer/g_buffer.rb +167 -165
  52. data/lib/cyberarm_engine/opengl/renderer/opengl_renderer.rb +307 -304
  53. data/lib/cyberarm_engine/opengl/renderer/renderer.rb +33 -33
  54. data/lib/cyberarm_engine/opengl/shader.rb +408 -406
  55. data/lib/cyberarm_engine/opengl/texture.rb +69 -69
  56. data/lib/cyberarm_engine/opengl.rb +53 -40
  57. data/lib/cyberarm_engine/ray.rb +56 -56
  58. data/lib/cyberarm_engine/stats.rb +200 -200
  59. data/lib/cyberarm_engine/text.rb +260 -260
  60. data/lib/cyberarm_engine/timer.rb +23 -23
  61. data/lib/cyberarm_engine/transform.rb +296 -296
  62. data/lib/cyberarm_engine/trees/aabb_node.rb +126 -0
  63. data/lib/cyberarm_engine/trees/aabb_tree.rb +55 -0
  64. data/lib/cyberarm_engine/trees/aabb_tree_debug.rb +29 -0
  65. data/lib/cyberarm_engine/ui/border_canvas.rb +102 -102
  66. data/lib/cyberarm_engine/ui/dsl.rb +142 -142
  67. data/lib/cyberarm_engine/ui/element.rb +662 -662
  68. data/lib/cyberarm_engine/ui/elements/button.rb +100 -100
  69. data/lib/cyberarm_engine/ui/elements/check_box.rb +54 -54
  70. data/lib/cyberarm_engine/ui/elements/container.rb +404 -410
  71. data/lib/cyberarm_engine/ui/elements/edit_box.rb +179 -179
  72. data/lib/cyberarm_engine/ui/elements/edit_line.rb +297 -297
  73. data/lib/cyberarm_engine/ui/elements/flow.rb +15 -15
  74. data/lib/cyberarm_engine/ui/elements/image.rb +72 -72
  75. data/lib/cyberarm_engine/ui/elements/list_box.rb +79 -79
  76. data/lib/cyberarm_engine/ui/elements/menu.rb +27 -27
  77. data/lib/cyberarm_engine/ui/elements/menu_item.rb +6 -6
  78. data/lib/cyberarm_engine/ui/elements/progress.rb +93 -93
  79. data/lib/cyberarm_engine/ui/elements/radio.rb +6 -6
  80. data/lib/cyberarm_engine/ui/elements/slider.rb +107 -107
  81. data/lib/cyberarm_engine/ui/elements/stack.rb +11 -11
  82. data/lib/cyberarm_engine/ui/elements/text_block.rb +216 -216
  83. data/lib/cyberarm_engine/ui/elements/toggle_button.rb +67 -67
  84. data/lib/cyberarm_engine/ui/event.rb +54 -54
  85. data/lib/cyberarm_engine/ui/gui_state.rb +321 -321
  86. data/lib/cyberarm_engine/ui/style.rb +50 -50
  87. data/lib/cyberarm_engine/ui/theme.rb +225 -225
  88. data/lib/cyberarm_engine/vector.rb +312 -312
  89. data/lib/cyberarm_engine/version.rb +4 -4
  90. data/lib/cyberarm_engine/window.rb +195 -195
  91. data/lib/cyberarm_engine.rb +70 -78
  92. data/mrbgem.rake +29 -29
  93. metadata +8 -7
@@ -1,195 +1,195 @@
1
- module CyberarmEngine
2
- class Window < Gosu::Window
3
- include Common
4
-
5
- IMAGES = {}
6
- SAMPLES = {}
7
- SONGS = {}
8
-
9
- attr_accessor :show_cursor, :show_stats_plotter
10
- attr_writer :exit_on_opengl_error
11
- attr_reader :last_frame_time, :delta_time, :states
12
-
13
- def self.now
14
- Gosu.milliseconds
15
- end
16
-
17
- def self.dt
18
- instance.dt
19
- end
20
-
21
- def self.instance=(window)
22
- raise ArgumentError, "Expected window to be a subclass of CyberarmEngine::Window, got: #{window.class}" unless window.is_a?(CyberarmEngine::Window)
23
-
24
- @@instance = window
25
- end
26
-
27
- def self.instance
28
- @@instance
29
- end
30
-
31
- def initialize(width: 800, height: 600, fullscreen: false, update_interval: 1000.0 / 60, resizable: false, borderless: false)
32
- @show_cursor = false
33
- @has_focus = false
34
- @show_stats_plotter = false
35
-
36
- super(width, height, fullscreen: fullscreen, update_interval: update_interval, resizable: resizable, borderless: borderless)
37
- Window.instance = self
38
-
39
- @last_frame_time = Gosu.milliseconds - 1
40
- @current_frame_time = Gosu.milliseconds
41
- @delta_time = @last_frame_time
42
- self.caption = "CyberarmEngine #{CyberarmEngine::VERSION} #{Gosu.user_languages.join(', ')}"
43
-
44
- @states = []
45
- @exit_on_opengl_error = false
46
- preload_default_shaders if respond_to?(:preload_default_shaders)
47
- @stats_plotter = Stats::StatsPlotter.new(2, 28) # FIXME: Make positioning easy
48
-
49
- setup
50
- end
51
-
52
- def setup
53
- end
54
-
55
- def draw
56
- Stats.frame.start_timing(:draw)
57
-
58
- current_state&.draw
59
- Stats.frame.start_timing(:engine_stats_renderer)
60
- @stats_plotter&.draw if @show_stats_plotter
61
- Stats.frame.end_timing(:engine_stats_renderer)
62
-
63
- Stats.frame.end_timing(:draw)
64
- Stats.frame.start_timing(:interframe_sleep)
65
- end
66
-
67
- def update
68
- # Gosu calls update() then (optionally) draw(),
69
- # so always end last frame and start next frame when update() is called.
70
- Stats.frame&.end_timing(:interframe_sleep)
71
- Stats.end_frame
72
-
73
- Stats.new_frame
74
-
75
- @delta_time = (Gosu.milliseconds - @current_frame_time) * 0.001
76
-
77
- @last_frame_time = Gosu.milliseconds - @current_frame_time
78
- @current_frame_time = Gosu.milliseconds
79
-
80
- Stats.frame.start_timing(:update)
81
- current_state&.update
82
- Stats.frame.end_timing(:update)
83
-
84
- Stats.frame.start_timing(:interframe_sleep) unless needs_redraw?
85
- end
86
-
87
- def needs_cursor?
88
- @show_cursor
89
- end
90
-
91
- def needs_redraw?
92
- current_state ? current_state.needs_redraw? : true
93
- end
94
-
95
- def drop(filename)
96
- current_state&.drop(filename)
97
- end
98
-
99
- def gamepad_connected(index)
100
- current_state&.gamepad_connected(index)
101
- end
102
-
103
- def gamepad_disconnected(index)
104
- current_state&.gamepad_disconnected(index)
105
- end
106
-
107
- def gain_focus
108
- @has_focus = true
109
-
110
- current_state&.gain_focus
111
- end
112
-
113
- def lose_focus
114
- @has_focus = false
115
-
116
- current_state&.lose_focus
117
- end
118
-
119
- def button_down(id)
120
- super
121
- current_state&.button_down(id)
122
- end
123
-
124
- def button_up(id)
125
- super
126
- current_state&.button_up(id)
127
- end
128
-
129
- def close
130
- current_state ? current_state.close : super
131
- end
132
-
133
- def dt
134
- @last_frame_time / 1000.0
135
- end
136
-
137
- def aspect_ratio
138
- width / height.to_f
139
- end
140
-
141
- def exit_on_opengl_error?
142
- @exit_on_opengl_error
143
- end
144
-
145
- def push_state(klass, options = {})
146
- options = { setup: true }.merge(options)
147
-
148
- if klass.instance_of?(klass.class) && klass.respond_to?(:options)
149
- @states << klass
150
- klass.setup if options[:setup]
151
- klass.post_setup if options[:setup]
152
- else
153
- @states << klass.new(options) if child_of?(klass, GameState)
154
- @states << klass.new if child_of?(klass, Element::Container)
155
- current_state.setup if current_state.instance_of?(klass) && options[:setup]
156
- current_state.post_setup if current_state.instance_of?(klass) && options[:setup]
157
- end
158
- end
159
-
160
- private def child_of?(input, klass)
161
- return false unless input
162
-
163
- input.ancestors.detect { |c| c == klass }
164
- end
165
-
166
- def current_state
167
- @states.last
168
- end
169
-
170
- def pop_state
171
- @states.pop
172
-
173
- current_state.request_repaint if current_state&.is_a?(GuiState)
174
- end
175
-
176
- def shift_state
177
- @states.shift
178
-
179
- current_state.request_repaint if current_state&.is_a?(GuiState)
180
- end
181
-
182
- def has_focus?
183
- @has_focus
184
- end
185
-
186
- # Sourced from https://gist.github.com/ippa/662583
187
- def draw_circle(cx, cy, r, z = 9999, color = Gosu::Color::GREEN, step = 10)
188
- 0.step(360, step) do |a1|
189
- a2 = a1 + step
190
- draw_line(cx + Gosu.offset_x(a1, r), cy + Gosu.offset_y(a1, r), color, cx + Gosu.offset_x(a2, r),
191
- cy + Gosu.offset_y(a2, r), color, z)
192
- end
193
- end
194
- end
195
- end
1
+ module CyberarmEngine
2
+ class Window < Gosu::Window
3
+ include Common
4
+
5
+ IMAGES = {}
6
+ SAMPLES = {}
7
+ SONGS = {}
8
+
9
+ attr_accessor :show_cursor, :show_stats_plotter
10
+ attr_writer :exit_on_opengl_error
11
+ attr_reader :last_frame_time, :delta_time, :states
12
+
13
+ def self.now
14
+ Gosu.milliseconds
15
+ end
16
+
17
+ def self.dt
18
+ instance.dt
19
+ end
20
+
21
+ def self.instance=(window)
22
+ raise ArgumentError, "Expected window to be a subclass of CyberarmEngine::Window, got: #{window.class}" unless window.is_a?(CyberarmEngine::Window)
23
+
24
+ @@instance = window
25
+ end
26
+
27
+ def self.instance
28
+ @@instance
29
+ end
30
+
31
+ def initialize(width: 800, height: 600, fullscreen: false, update_interval: 1000.0 / 60, resizable: false, borderless: false)
32
+ @show_cursor = false
33
+ @has_focus = false
34
+ @show_stats_plotter = false
35
+
36
+ super(width, height, fullscreen: fullscreen, update_interval: update_interval, resizable: resizable, borderless: borderless)
37
+ Window.instance = self
38
+
39
+ @last_frame_time = Gosu.milliseconds - 1
40
+ @current_frame_time = Gosu.milliseconds
41
+ @delta_time = @last_frame_time
42
+ self.caption = "CyberarmEngine #{CyberarmEngine::VERSION} #{Gosu.user_languages.join(', ')}"
43
+
44
+ @states = []
45
+ @exit_on_opengl_error = false
46
+ preload_default_shaders if respond_to?(:preload_default_shaders)
47
+ @stats_plotter = Stats::StatsPlotter.new(2, 28) # FIXME: Make positioning easy
48
+
49
+ setup
50
+ end
51
+
52
+ def setup
53
+ end
54
+
55
+ def draw
56
+ Stats.frame.start_timing(:draw)
57
+
58
+ current_state&.draw
59
+ Stats.frame.start_timing(:engine_stats_renderer)
60
+ @stats_plotter&.draw if @show_stats_plotter
61
+ Stats.frame.end_timing(:engine_stats_renderer)
62
+
63
+ Stats.frame.end_timing(:draw)
64
+ Stats.frame.start_timing(:interframe_sleep)
65
+ end
66
+
67
+ def update
68
+ # Gosu calls update() then (optionally) draw(),
69
+ # so always end last frame and start next frame when update() is called.
70
+ Stats.frame&.end_timing(:interframe_sleep)
71
+ Stats.end_frame
72
+
73
+ Stats.new_frame
74
+
75
+ @delta_time = (Gosu.milliseconds - @current_frame_time) * 0.001
76
+
77
+ @last_frame_time = Gosu.milliseconds - @current_frame_time
78
+ @current_frame_time = Gosu.milliseconds
79
+
80
+ Stats.frame.start_timing(:update)
81
+ current_state&.update
82
+ Stats.frame.end_timing(:update)
83
+
84
+ Stats.frame.start_timing(:interframe_sleep) unless needs_redraw?
85
+ end
86
+
87
+ def needs_cursor?
88
+ @show_cursor
89
+ end
90
+
91
+ def needs_redraw?
92
+ current_state ? current_state.needs_redraw? : true
93
+ end
94
+
95
+ def drop(filename)
96
+ current_state&.drop(filename)
97
+ end
98
+
99
+ def gamepad_connected(index)
100
+ current_state&.gamepad_connected(index)
101
+ end
102
+
103
+ def gamepad_disconnected(index)
104
+ current_state&.gamepad_disconnected(index)
105
+ end
106
+
107
+ def gain_focus
108
+ @has_focus = true
109
+
110
+ current_state&.gain_focus
111
+ end
112
+
113
+ def lose_focus
114
+ @has_focus = false
115
+
116
+ current_state&.lose_focus
117
+ end
118
+
119
+ def button_down(id)
120
+ super
121
+ current_state&.button_down(id)
122
+ end
123
+
124
+ def button_up(id)
125
+ super
126
+ current_state&.button_up(id)
127
+ end
128
+
129
+ def close
130
+ current_state ? current_state.close : super
131
+ end
132
+
133
+ def dt
134
+ @last_frame_time / 1000.0
135
+ end
136
+
137
+ def aspect_ratio
138
+ width / height.to_f
139
+ end
140
+
141
+ def exit_on_opengl_error?
142
+ @exit_on_opengl_error
143
+ end
144
+
145
+ def push_state(klass, options = {})
146
+ options = { setup: true }.merge(options)
147
+
148
+ if klass.instance_of?(klass.class) && klass.respond_to?(:options)
149
+ @states << klass
150
+ klass.setup if options[:setup]
151
+ klass.post_setup if options[:setup]
152
+ else
153
+ @states << klass.new(options) if child_of?(klass, GameState)
154
+ @states << klass.new if child_of?(klass, Element::Container)
155
+ current_state.setup if current_state.instance_of?(klass) && options[:setup]
156
+ current_state.post_setup if current_state.instance_of?(klass) && options[:setup]
157
+ end
158
+ end
159
+
160
+ private def child_of?(input, klass)
161
+ return false unless input
162
+
163
+ input.ancestors.detect { |c| c == klass }
164
+ end
165
+
166
+ def current_state
167
+ @states.last
168
+ end
169
+
170
+ def pop_state
171
+ @states.pop
172
+
173
+ current_state.request_repaint if current_state&.is_a?(GuiState)
174
+ end
175
+
176
+ def shift_state
177
+ @states.shift
178
+
179
+ current_state.request_repaint if current_state&.is_a?(GuiState)
180
+ end
181
+
182
+ def has_focus?
183
+ @has_focus
184
+ end
185
+
186
+ # Sourced from https://gist.github.com/ippa/662583
187
+ def draw_circle(cx, cy, r, z = 9999, color = Gosu::Color::GREEN, step = 10)
188
+ 0.step(360, step) do |a1|
189
+ a2 = a1 + step
190
+ draw_line(cx + Gosu.offset_x(a1, r), cy + Gosu.offset_y(a1, r), color, cx + Gosu.offset_x(a2, r),
191
+ cy + Gosu.offset_y(a2, r), color, z)
192
+ end
193
+ end
194
+ end
195
+ end
@@ -1,78 +1,70 @@
1
- CYBERARM_ENGINE_ROOT_PATH = File.expand_path("..", __dir__)
2
-
3
- if ARGV.join.include?("--ffi-gosu")
4
- require File.expand_path("../../ffi-gosu/lib/gosu", __dir__)
5
- else
6
- require "gosu"
7
- end
8
- require "json"
9
-
10
- require_relative "cyberarm_engine/version"
11
- require_relative "cyberarm_engine/stats"
12
-
13
- require_relative "cyberarm_engine/common"
14
-
15
- require_relative "cyberarm_engine/gosu_ext/draw_arc"
16
- require_relative "cyberarm_engine/gosu_ext/draw_circle"
17
- require_relative "cyberarm_engine/gosu_ext/draw_path"
18
-
19
- require_relative "cyberarm_engine/notification"
20
- require_relative "cyberarm_engine/notification_manager"
21
-
22
- require_relative "cyberarm_engine/game_object"
23
- require_relative "cyberarm_engine/window"
24
-
25
- require_relative "cyberarm_engine/bounding_box"
26
- require_relative "cyberarm_engine/vector"
27
- require_relative "cyberarm_engine/transform"
28
- require_relative "cyberarm_engine/ray"
29
- require_relative "cyberarm_engine/background"
30
- require_relative "cyberarm_engine/background_nine_slice"
31
- require_relative "cyberarm_engine/background_image"
32
- require_relative "cyberarm_engine/animator"
33
-
34
- require_relative "cyberarm_engine/text"
35
- require_relative "cyberarm_engine/timer"
36
- require_relative "cyberarm_engine/config_file"
37
-
38
- require_relative "cyberarm_engine/console"
39
- require_relative "cyberarm_engine/console/command"
40
- require_relative "cyberarm_engine/console/subcommand"
41
- require_relative "cyberarm_engine/console/commands/help_command"
42
-
43
- require_relative "cyberarm_engine/ui/dsl"
44
-
45
- require_relative "cyberarm_engine/ui/theme"
46
- require_relative "cyberarm_engine/ui/event"
47
- require_relative "cyberarm_engine/ui/style"
48
- require_relative "cyberarm_engine/ui/border_canvas"
49
- require_relative "cyberarm_engine/ui/element"
50
- require_relative "cyberarm_engine/ui/elements/text_block"
51
- require_relative "cyberarm_engine/ui/elements/button"
52
- require_relative "cyberarm_engine/ui/elements/toggle_button"
53
- require_relative "cyberarm_engine/ui/elements/list_box"
54
- require_relative "cyberarm_engine/ui/elements/edit_line"
55
- require_relative "cyberarm_engine/ui/elements/edit_box"
56
- require_relative "cyberarm_engine/ui/elements/image"
57
- require_relative "cyberarm_engine/ui/elements/container"
58
- require_relative "cyberarm_engine/ui/elements/flow"
59
- require_relative "cyberarm_engine/ui/elements/stack"
60
- require_relative "cyberarm_engine/ui/elements/check_box"
61
- require_relative "cyberarm_engine/ui/elements/radio"
62
- require_relative "cyberarm_engine/ui/elements/progress"
63
- require_relative "cyberarm_engine/ui/elements/slider"
64
- require_relative "cyberarm_engine/ui/elements/menu"
65
- require_relative "cyberarm_engine/ui/elements/menu_item"
66
-
67
- require_relative "cyberarm_engine/game_state"
68
- require_relative "cyberarm_engine/ui/gui_state"
69
-
70
- require_relative "cyberarm_engine/model"
71
- require_relative "cyberarm_engine/model_cache"
72
- require_relative "cyberarm_engine/model/material"
73
- require_relative "cyberarm_engine/model/model_object"
74
- require_relative "cyberarm_engine/model/parser"
75
- require_relative "cyberarm_engine/model/parsers/wavefront_parser"
76
- require_relative "cyberarm_engine/model/parsers/collada_parser" if RUBY_ENGINE != "mruby" && defined?(Nokogiri)
77
-
78
- require_relative "cyberarm_engine/builtin/intro_state"
1
+ CYBERARM_ENGINE_ROOT_PATH = File.expand_path("..", __dir__)
2
+
3
+ if ARGV.join.include?("--ffi-gosu")
4
+ require File.expand_path("../../ffi-gosu/lib/gosu", __dir__)
5
+ else
6
+ require "gosu"
7
+ end
8
+ require "json"
9
+
10
+ require_relative "cyberarm_engine/version"
11
+ require_relative "cyberarm_engine/stats"
12
+
13
+ require_relative "cyberarm_engine/common"
14
+
15
+ require_relative "cyberarm_engine/gosu_ext/draw_arc"
16
+ require_relative "cyberarm_engine/gosu_ext/draw_circle"
17
+ require_relative "cyberarm_engine/gosu_ext/draw_path"
18
+
19
+ require_relative "cyberarm_engine/notification"
20
+ require_relative "cyberarm_engine/notification_manager"
21
+
22
+ require_relative "cyberarm_engine/game_object"
23
+ require_relative "cyberarm_engine/window"
24
+
25
+ require_relative "cyberarm_engine/bounding_box"
26
+ require_relative "cyberarm_engine/vector"
27
+ require_relative "cyberarm_engine/transform"
28
+ require_relative "cyberarm_engine/ray"
29
+ require_relative "cyberarm_engine/background"
30
+ require_relative "cyberarm_engine/background_nine_slice"
31
+ require_relative "cyberarm_engine/background_image"
32
+ require_relative "cyberarm_engine/animator"
33
+
34
+ require_relative "cyberarm_engine/text"
35
+ require_relative "cyberarm_engine/timer"
36
+ require_relative "cyberarm_engine/config_file"
37
+
38
+ require_relative "cyberarm_engine/console"
39
+ require_relative "cyberarm_engine/console/command"
40
+ require_relative "cyberarm_engine/console/subcommand"
41
+ require_relative "cyberarm_engine/console/commands/help_command"
42
+
43
+ require_relative "cyberarm_engine/ui/dsl"
44
+
45
+ require_relative "cyberarm_engine/ui/theme"
46
+ require_relative "cyberarm_engine/ui/event"
47
+ require_relative "cyberarm_engine/ui/style"
48
+ require_relative "cyberarm_engine/ui/border_canvas"
49
+ require_relative "cyberarm_engine/ui/element"
50
+ require_relative "cyberarm_engine/ui/elements/text_block"
51
+ require_relative "cyberarm_engine/ui/elements/button"
52
+ require_relative "cyberarm_engine/ui/elements/toggle_button"
53
+ require_relative "cyberarm_engine/ui/elements/list_box"
54
+ require_relative "cyberarm_engine/ui/elements/edit_line"
55
+ require_relative "cyberarm_engine/ui/elements/edit_box"
56
+ require_relative "cyberarm_engine/ui/elements/image"
57
+ require_relative "cyberarm_engine/ui/elements/container"
58
+ require_relative "cyberarm_engine/ui/elements/flow"
59
+ require_relative "cyberarm_engine/ui/elements/stack"
60
+ require_relative "cyberarm_engine/ui/elements/check_box"
61
+ require_relative "cyberarm_engine/ui/elements/radio"
62
+ require_relative "cyberarm_engine/ui/elements/progress"
63
+ require_relative "cyberarm_engine/ui/elements/slider"
64
+ require_relative "cyberarm_engine/ui/elements/menu"
65
+ require_relative "cyberarm_engine/ui/elements/menu_item"
66
+
67
+ require_relative "cyberarm_engine/game_state"
68
+ require_relative "cyberarm_engine/ui/gui_state"
69
+
70
+ require_relative "cyberarm_engine/builtin/intro_state"
data/mrbgem.rake CHANGED
@@ -1,29 +1,29 @@
1
- MRuby::Gem::Specification.new("mruby-cyberarm_engine") do |spec|
2
- spec.license = "MIT"
3
- spec.authors = "cyberarm"
4
- spec.summary = " Yet another framework for building games with Gosu"
5
-
6
- lib_rbfiles = []
7
- # Dir.glob("#{File.expand_path("..", __FILE__)}/lib/**/*.rb").reject do |f|
8
- # File.basename(f.downcase, ".rb") == "cyberarm_engine" ||
9
- # File.basename(f.downcase, ".rb") == "opengl" ||
10
- # f.downcase.include?("/opengl/")
11
- # end.reverse!
12
-
13
- local_path = File.expand_path("..", __FILE__)
14
- File.read("#{local_path}/lib/cyberarm_engine.rb").each_line do |line|
15
- line = line.strip
16
-
17
- next unless line.start_with?("require_relative")
18
-
19
- file = line.split("require_relative").last.strip.gsub("\"", "")
20
-
21
- next if file.include?(" if ")
22
-
23
- lib_rbfiles << "#{local_path}/lib/#{file}.rb"
24
- end
25
-
26
- pp lib_rbfiles
27
-
28
- spec.rbfiles = lib_rbfiles
29
- end
1
+ MRuby::Gem::Specification.new("mruby-cyberarm_engine") do |spec|
2
+ spec.license = "MIT"
3
+ spec.authors = "cyberarm"
4
+ spec.summary = " Yet another framework for building games with Gosu"
5
+
6
+ lib_rbfiles = []
7
+ # Dir.glob("#{File.expand_path("..", __FILE__)}/lib/**/*.rb").reject do |f|
8
+ # File.basename(f.downcase, ".rb") == "cyberarm_engine" ||
9
+ # File.basename(f.downcase, ".rb") == "opengl" ||
10
+ # f.downcase.include?("/opengl/")
11
+ # end.reverse!
12
+
13
+ local_path = File.expand_path("..", __FILE__)
14
+ File.read("#{local_path}/lib/cyberarm_engine.rb").each_line do |line|
15
+ line = line.strip
16
+
17
+ next unless line.start_with?("require_relative")
18
+
19
+ file = line.split("require_relative").last.strip.gsub("\"", "")
20
+
21
+ next if file.include?(" if ")
22
+
23
+ lib_rbfiles << "#{local_path}/lib/#{file}.rb"
24
+ end
25
+
26
+ pp lib_rbfiles
27
+
28
+ spec.rbfiles = lib_rbfiles
29
+ end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cyberarm_engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.24.3
4
+ version: 0.24.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cyberarm
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2024-03-05 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: gosu
@@ -77,6 +76,7 @@ files:
77
76
  - ".rubocop.yml"
78
77
  - ".travis.yml"
79
78
  - Gemfile
79
+ - Gemfile.lock
80
80
  - LICENSE.txt
81
81
  - README.md
82
82
  - Rakefile
@@ -113,7 +113,7 @@ files:
113
113
  - lib/cyberarm_engine/gosu_ext/draw_path.rb
114
114
  - lib/cyberarm_engine/model.rb
115
115
  - lib/cyberarm_engine/model/material.rb
116
- - lib/cyberarm_engine/model/model_object.rb
116
+ - lib/cyberarm_engine/model/mesh.rb
117
117
  - lib/cyberarm_engine/model/parser.rb
118
118
  - lib/cyberarm_engine/model/parsers/collada_parser.rb
119
119
  - lib/cyberarm_engine/model/parsers/wavefront_parser.rb
@@ -135,6 +135,9 @@ files:
135
135
  - lib/cyberarm_engine/text.rb
136
136
  - lib/cyberarm_engine/timer.rb
137
137
  - lib/cyberarm_engine/transform.rb
138
+ - lib/cyberarm_engine/trees/aabb_node.rb
139
+ - lib/cyberarm_engine/trees/aabb_tree.rb
140
+ - lib/cyberarm_engine/trees/aabb_tree_debug.rb
138
141
  - lib/cyberarm_engine/ui/border_canvas.rb
139
142
  - lib/cyberarm_engine/ui/dsl.rb
140
143
  - lib/cyberarm_engine/ui/element.rb
@@ -167,7 +170,6 @@ licenses:
167
170
  - MIT
168
171
  metadata:
169
172
  allowed_push_host: https://rubygems.org
170
- post_install_message:
171
173
  rdoc_options: []
172
174
  require_paths:
173
175
  - lib
@@ -183,8 +185,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
183
185
  - !ruby/object:Gem::Version
184
186
  version: '0'
185
187
  requirements: []
186
- rubygems_version: 3.5.3
187
- signing_key:
188
+ rubygems_version: 3.6.7
188
189
  specification_version: 4
189
190
  summary: Make games quickly and easily with gosu
190
191
  test_files: []