rgss 0.0.1

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 (64) hide show
  1. checksums.yaml +7 -0
  2. data/.clang-format +6 -0
  3. data/.gitignore +167 -0
  4. data/.yardopts +6 -0
  5. data/CHANGELOG.md +4 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE.txt +21 -0
  8. data/Rakefile +9 -0
  9. data/ext/rgss/cglm-v0.7.9.tar.gz +0 -0
  10. data/ext/rgss/color.c +599 -0
  11. data/ext/rgss/entity.c +373 -0
  12. data/ext/rgss/extconf.rb +53 -0
  13. data/ext/rgss/font.c +135 -0
  14. data/ext/rgss/game.c +469 -0
  15. data/ext/rgss/game.h +99 -0
  16. data/ext/rgss/gl.c +3217 -0
  17. data/ext/rgss/glad.c +1140 -0
  18. data/ext/rgss/glad.h +2129 -0
  19. data/ext/rgss/glfw.c +1453 -0
  20. data/ext/rgss/graphics.c +324 -0
  21. data/ext/rgss/image.c +274 -0
  22. data/ext/rgss/input.c +745 -0
  23. data/ext/rgss/khrplatform.h +290 -0
  24. data/ext/rgss/mat4.c +279 -0
  25. data/ext/rgss/pax_global_header +1 -0
  26. data/ext/rgss/point.c +253 -0
  27. data/ext/rgss/rect.c +449 -0
  28. data/ext/rgss/rgss.c +56 -0
  29. data/ext/rgss/rgss.h +241 -0
  30. data/ext/rgss/stb_image.h +7762 -0
  31. data/ext/rgss/stb_image_write.h +1690 -0
  32. data/ext/rgss/stb_rect_pack.h +628 -0
  33. data/ext/rgss/stb_truetype.h +5011 -0
  34. data/ext/rgss/utf8.h +1652 -0
  35. data/ext/rgss/uthash.h +1133 -0
  36. data/ext/rgss/vec.c +114 -0
  37. data/ext/rgss/vec.h +192 -0
  38. data/ext/rgss/vec2.c +489 -0
  39. data/ext/rgss/vec3.c +751 -0
  40. data/ext/rgss/vec4.c +681 -0
  41. data/lib/rgss.rb +140 -0
  42. data/lib/rgss/batch.rb +57 -0
  43. data/lib/rgss/blend.rb +47 -0
  44. data/lib/rgss/game_object.rb +28 -0
  45. data/lib/rgss/plane.rb +95 -0
  46. data/lib/rgss/renderable.rb +158 -0
  47. data/lib/rgss/rgss.so +0 -0
  48. data/lib/rgss/shader.rb +94 -0
  49. data/lib/rgss/shaders/sprite-frag.glsl +40 -0
  50. data/lib/rgss/shaders/sprite-vert.glsl +17 -0
  51. data/lib/rgss/sprite.rb +139 -0
  52. data/lib/rgss/stubs/color.rb +318 -0
  53. data/lib/rgss/stubs/gl.rb +1999 -0
  54. data/lib/rgss/stubs/glfw.rb +626 -0
  55. data/lib/rgss/stubs/rect.rb +324 -0
  56. data/lib/rgss/stubs/rpg.rb +267 -0
  57. data/lib/rgss/stubs/tone.rb +65 -0
  58. data/lib/rgss/texture.rb +132 -0
  59. data/lib/rgss/tilemap.rb +116 -0
  60. data/lib/rgss/version.rb +3 -0
  61. data/lib/rgss/viewport.rb +67 -0
  62. data/rgss.gemspec +44 -0
  63. data/test.png +0 -0
  64. metadata +178 -0
@@ -0,0 +1,324 @@
1
+
2
+ module RGSS
3
+
4
+
5
+ ##
6
+ # @abstract
7
+ class IVec2
8
+
9
+ ##
10
+ # Creates a new instance of the {IVec2} class.
11
+ # @overload initialize
12
+ #
13
+ # @overload initialize(x, y)
14
+ # @param x [Numeric]
15
+ # @param y [Numeric]
16
+ # @overload initialize(other)
17
+ # @param other [IVec2]
18
+ def initialize(*args)
19
+ end
20
+
21
+ def [](index)
22
+ end
23
+
24
+ def []=(index, value)
25
+ end
26
+
27
+ ##
28
+ # Creates an array instance that represents this object.
29
+ # @return [Array(Integer, Integer)] The newly created Array.
30
+ def to_a
31
+ end
32
+
33
+ ##
34
+ # Creates a hash instance that represents this object.
35
+ # @return [Hash{Symbol => Integer}] The newly created Hash.
36
+ def to_h
37
+ end
38
+
39
+ def +(other)
40
+ end
41
+
42
+ def -(other)
43
+ end
44
+
45
+ def set(x, y)
46
+ end
47
+
48
+ def empty?
49
+ end
50
+
51
+ alias_method :add, :+
52
+ alias_method :subtract, :-
53
+ end
54
+
55
+
56
+ class Point < IVec2
57
+
58
+ ##
59
+ # @return [Integer]
60
+ attr_accessor :x
61
+
62
+ ##
63
+ # @return [Integer]
64
+ attr_accessor :y
65
+ end
66
+
67
+ class Size < IVec2
68
+
69
+ ##
70
+ # @return [Integer]
71
+ attr_accessor :width
72
+
73
+ ##
74
+ # @return [Integer]
75
+ attr_accessor :height
76
+
77
+ ##
78
+ #
79
+ # @overload offset(x, y)
80
+ # @param x [Numeric]
81
+ # @param y [Numeric]
82
+ #
83
+ # @overload offset(other)
84
+ # @param other [IVec2]
85
+ #
86
+ # @return [Point]
87
+ def offset
88
+ end
89
+
90
+ ##
91
+ #
92
+ # @overload offset!(x, y)
93
+ # @param x [Numeric]
94
+ # @param y [Numeric]
95
+ #
96
+ # @overload offset!(other)
97
+ # @param other [IVec2]
98
+ #
99
+ # @return [self]
100
+ def offset!
101
+ end
102
+ end
103
+
104
+ ##
105
+ # Stores a set of four integers that represent the location and size of a rectangle, with the top-left at 0, 0.
106
+ #
107
+ # @note All relevant methods implemented in `Object` (i.e. `#dup`, `#clone`, Marshalling, equality) have also been
108
+ # properly implemented/overridden, but have been omitted from the documentation for brevity.
109
+ class Rect
110
+
111
+ ##
112
+ # @return [Integer] the location of the top-left corner on the x-axis.
113
+ attr_accessor :x
114
+
115
+ ##
116
+ # @return [Integer] the location of the top-left corner on the y-axis.
117
+ attr_accessor :y
118
+
119
+ ##
120
+ # @return [Integer] the size of the rectangle on the x-axis.
121
+ attr_accessor :width
122
+
123
+ ##
124
+ # @return [Integer] the size of the rectangle on the y-axis.
125
+ attr_accessor :height
126
+
127
+ ##
128
+ # @return [Point] the location of the top-left corner of the rectangle.
129
+ attr_accessor :location
130
+
131
+ ##
132
+ # @return [Size] the size (width and height) of the rectangle.
133
+ attr_accessor :size
134
+
135
+ ##
136
+ # @return [Integer] the location of the left edge of the rectangle on the x-axis.
137
+ attr_reader :left
138
+
139
+ ##
140
+ # @return [Integer] the location of the top edge of the rectangle on the y-axis.
141
+ attr_reader :top
142
+
143
+ ##
144
+ # @return [Integer] the location of the right edge of the rectangle on the x-axis.
145
+ attr_reader :right
146
+
147
+ ##
148
+ # @return [Integer] the location of the bottom edge of the rectangle on the y-axis.
149
+ attr_reader :bottom
150
+
151
+ ##
152
+ # Creates and returns a new {Rect} with all values defaulted to `0`.
153
+ #
154
+ # @return [Rect] The newly created rectangle.
155
+ def self.empty
156
+ end
157
+
158
+ ##
159
+ # Creates a new instance of the {Rect} class.
160
+ #
161
+ # @overload initialize
162
+ # Creates a new empty rectangle.
163
+ #
164
+ # @overload initialize(location, size)
165
+ # Creates a new rectangle with the specified location and size.
166
+ # @param location [Point]
167
+ # @param size [Size]
168
+ #
169
+ # @overload initialize(x, y, width, height)
170
+ # Creates a new rectangle with the specified dimensions.
171
+ # @param x [Numeric]
172
+ # @param y [Numeric]
173
+ # @param width [Numeric]
174
+ # @param height [Numeric]
175
+ def initialize(*args)
176
+ end
177
+
178
+ ##
179
+ # Creates a new {Rect} by the specified edges.
180
+ #
181
+ # @param left [Numeric] the location of the rectangles left edge on the x-axis.
182
+ # @param top [Numeric] the location of the rectangles top edge on the y-axis.
183
+ # @param right [Numeric] the location of the rectangles right edge on the x-axis.
184
+ # @param bottom [Numeric] the location of the rectangles bottom edge on the y-axis.
185
+ #
186
+ # @return [Rect] the newly created {Rect} instance.
187
+ def self.ltrb(left, right, top, bottom)
188
+ end
189
+
190
+ ##
191
+ # Provides access to the rectangle components by index.
192
+ # @param index [Numeric] the index of the component (x, y, width, height) to retrieve.
193
+ # @return [Integer] the value of the specified component.
194
+ # @raise [IndexError] if index is less than `0` or greater than `3`.
195
+ def [](index)
196
+ end
197
+
198
+ ##
199
+ # Provides access to the rectangle components by index.
200
+ # @param index [Numeric] the index of the component (x, y, width, height) to set.
201
+ # @return [Integer] the value that was set.
202
+ # @raise [IndexError] if index is less than `0` or greater than `3`.
203
+ def []=(index, value)
204
+ end
205
+
206
+ def set(x, y, width, height)
207
+ end
208
+
209
+ ##
210
+ #
211
+ # @return [Boolean]
212
+ def empty?
213
+ end
214
+
215
+ ##
216
+ # @overload contains?(x, y)
217
+ # @param x [Numeric]
218
+ # @param y [Numeric]
219
+ #
220
+ # @overload contains?(point)
221
+ # @param point [Point]
222
+ #
223
+ # @overload contains?(rect)
224
+ # @param rect [Rect]
225
+ #
226
+ # @return [Boolean]
227
+ def contains?(*args)
228
+ end
229
+
230
+ ##
231
+ # @overload inflate(x, y)
232
+ # @param x [Numeric]
233
+ # @param y [Numeric]
234
+ #
235
+ # @overload inflate(amount)
236
+ # @param amount [IVec2]
237
+ #
238
+ # @return [Rect]
239
+ def inflate(*args)
240
+ end
241
+
242
+ ##
243
+ # @overload inflate!(x, y)
244
+ # @param x [Numeric]
245
+ # @param y [Numeric]
246
+ #
247
+ # @overload inflate!(amount)
248
+ # @param amount [IVec2]
249
+ #
250
+ # @return [self]
251
+ def inflate!(*args)
252
+ end
253
+
254
+ ##
255
+ #
256
+ # @param other [Rect]
257
+ #
258
+ # @return [Rect]
259
+ def intersect(other)
260
+ end
261
+
262
+ ##
263
+ #
264
+ # @param other [Rect]
265
+ #
266
+ # @return [self]
267
+ def intersect!(other)
268
+ end
269
+
270
+ ##
271
+ # @param other [Rect]
272
+ #
273
+ # @return [Boolean]
274
+ def intersects?(other)
275
+ end
276
+
277
+ ##
278
+ # @overload offset(x, y)
279
+ # @param x [Numeric]
280
+ # @param y [Numeric]
281
+ #
282
+ # @overload offset(amount)
283
+ # @param amount [IVec2]
284
+ #
285
+ # @return [Rect]
286
+ def offset(*args)
287
+ end
288
+
289
+ ##
290
+ # @overload offset(x, y)
291
+ # @param x [Numeric]
292
+ # @param y [Numeric]
293
+ #
294
+ # @overload offset(amount)
295
+ # @param amount [IVec2]
296
+ #
297
+ # @return [self]
298
+ def offset!(*args)
299
+ end
300
+
301
+ ##
302
+ # Creates an array instance that represents this object.
303
+ # @return [Array(Integer, Integer, Integer, Integer)] The newly created Array.
304
+ def to_a
305
+ end
306
+
307
+ ##
308
+ # Creates a hash instance that represents this object.
309
+ # @return [Hash{Symbol => Integer}] The newly created Hash.
310
+ def to_h
311
+ end
312
+
313
+ alias_method :include?, :contains?
314
+ end
315
+
316
+
317
+
318
+
319
+
320
+
321
+ end
322
+
323
+
324
+
@@ -0,0 +1,267 @@
1
+ module RGSS
2
+
3
+
4
+ module Input
5
+
6
+ def self.trigger?(sym)
7
+ end
8
+
9
+ def self.press?(sym)
10
+ end
11
+
12
+ def self.release?(sym)
13
+ end
14
+
15
+ def self.none?(sym)
16
+ end
17
+
18
+ def self.repeat?(sym)
19
+ end
20
+
21
+ def self.cursor
22
+ end
23
+
24
+ def self.create_cursor(source)
25
+ end
26
+
27
+ def self.scroll_x
28
+ end
29
+
30
+ def self.scroll_y
31
+ end
32
+
33
+ def self.bind(sym, keys = nil, mouse = nil, gamepad = nil)
34
+ end
35
+
36
+
37
+ KEY_UNKNOWN = -1
38
+ KEY_SPACE = 32
39
+ KEY_APOSTROPHE = 39
40
+ KEY_COMMA = 44
41
+ KEY_MINUS = 45
42
+ KEY_PERIOD = 46
43
+ KEY_SLASH = 47
44
+ KEY_0 = 48
45
+ KEY_1 = 49
46
+ KEY_2 = 50
47
+ KEY_3 = 51
48
+ KEY_4 = 52
49
+ KEY_5 = 53
50
+ KEY_6 = 54
51
+ KEY_7 = 55
52
+ KEY_8 = 56
53
+ KEY_9 = 57
54
+ KEY_SEMICOLON = 59
55
+ KEY_EQUAL = 61
56
+ KEY_A = 65
57
+ KEY_B = 66
58
+ KEY_C = 67
59
+ KEY_D = 68
60
+ KEY_E = 69
61
+ KEY_F = 70
62
+ KEY_G = 71
63
+ KEY_H = 72
64
+ KEY_I = 73
65
+ KEY_J = 74
66
+ KEY_K = 75
67
+ KEY_L = 76
68
+ KEY_M = 77
69
+ KEY_N = 78
70
+ KEY_O = 79
71
+ KEY_P = 80
72
+ KEY_Q = 81
73
+ KEY_R = 82
74
+ KEY_S = 83
75
+ KEY_T = 84
76
+ KEY_U = 85
77
+ KEY_V = 86
78
+ KEY_W = 87
79
+ KEY_X = 88
80
+ KEY_Y = 89
81
+ KEY_Z = 90
82
+ KEY_LEFT_BRACKET = 91
83
+ KEY_BACKSLASH = 92
84
+ KEY_RIGHT_BRACKET = 93
85
+ KEY_GRAVE_ACCENT = 96
86
+ KEY_WORLD_1 = 161
87
+ KEY_WORLD_2 = 162
88
+ KEY_ESCAPE = 256
89
+ KEY_ENTER = 257
90
+ KEY_TAB = 258
91
+ KEY_BACKSPACE = 259
92
+ KEY_INSERT = 260
93
+ KEY_DELETE = 261
94
+ KEY_RIGHT = 262
95
+ KEY_LEFT = 263
96
+ KEY_DOWN = 264
97
+ KEY_UP = 265
98
+ KEY_PAGE_UP = 266
99
+ KEY_PAGE_DOWN = 267
100
+ KEY_HOME = 268
101
+ KEY_END = 269
102
+ KEY_CAPS_LOCK = 280
103
+ KEY_SCROLL_LOCK = 281
104
+ KEY_NUM_LOCK = 282
105
+ KEY_PRINT_SCREEN = 283
106
+ KEY_PAUSE = 284
107
+ KEY_F1 = 290
108
+ KEY_F2 = 291
109
+ KEY_F3 = 292
110
+ KEY_F4 = 293
111
+ KEY_F5 = 294
112
+ KEY_F6 = 295
113
+ KEY_F7 = 296
114
+ KEY_F8 = 297
115
+ KEY_F9 = 298
116
+ KEY_F10 = 299
117
+ KEY_F11 = 300
118
+ KEY_F12 = 301
119
+ KEY_F13 = 302
120
+ KEY_F14 = 303
121
+ KEY_F15 = 304
122
+ KEY_F16 = 305
123
+ KEY_F17 = 306
124
+ KEY_F18 = 307
125
+ KEY_F19 = 308
126
+ KEY_F20 = 309
127
+ KEY_F21 = 310
128
+ KEY_F22 = 311
129
+ KEY_F23 = 312
130
+ KEY_F24 = 313
131
+ KEY_F25 = 314
132
+ KEY_KP_0 = 320
133
+ KEY_KP_1 = 321
134
+ KEY_KP_2 = 322
135
+ KEY_KP_3 = 323
136
+ KEY_KP_4 = 324
137
+ KEY_KP_5 = 325
138
+ KEY_KP_6 = 326
139
+ KEY_KP_7 = 327
140
+ KEY_KP_8 = 328
141
+ KEY_KP_9 = 329
142
+ KEY_KP_DECIMAL = 330
143
+ KEY_KP_DIVIDE = 331
144
+ KEY_KP_MULTIPLY = 332
145
+ KEY_KP_SUBTRACT = 333
146
+ KEY_KP_ADD = 334
147
+ KEY_KP_ENTER = 335
148
+ KEY_KP_EQUAL = 336
149
+ KEY_LEFT_SHIFT = 340
150
+ KEY_LEFT_CONTROL = 341
151
+ KEY_LEFT_ALT = 342
152
+ KEY_LEFT_SUPER = 343
153
+ KEY_RIGHT_SHIFT = 344
154
+ KEY_RIGHT_CONTROL = 345
155
+ KEY_RIGHT_ALT = 346
156
+ KEY_RIGHT_SUPER = 347
157
+ KEY_MENU = 348
158
+ KEY_LAST = KEY_MENU
159
+
160
+ MOD_SHIFT = 0x0001
161
+ MOD_CONTROL = 0x0002
162
+ MOD_ALT = 0x0004
163
+ MOD_SUPER = 0x0008
164
+ MOD_CAPS_LOCK = 0x0010
165
+ MOD_NUM_LOCK = 0x0020
166
+
167
+ MOUSE_BUTTON_1 = 0
168
+ MOUSE_BUTTON_2 = 1
169
+ MOUSE_BUTTON_3 = 2
170
+ MOUSE_BUTTON_4 = 3
171
+ MOUSE_BUTTON_5 = 4
172
+ MOUSE_BUTTON_6 = 5
173
+ MOUSE_BUTTON_7 = 6
174
+ MOUSE_BUTTON_8 = 7
175
+ MOUSE_BUTTON_LAST = MOUSE_BUTTON_8
176
+ MOUSE_BUTTON_LEFT = MOUSE_BUTTON_1
177
+ MOUSE_BUTTON_RIGHT = MOUSE_BUTTON_2
178
+ MOUSE_BUTTON_MIDDLE = MOUSE_BUTTON_3
179
+
180
+ JOYSTICK_1 = 0
181
+ JOYSTICK_2 = 1
182
+ JOYSTICK_3 = 2
183
+ JOYSTICK_4 = 3
184
+ JOYSTICK_5 = 4
185
+ JOYSTICK_6 = 5
186
+ JOYSTICK_7 = 6
187
+ JOYSTICK_8 = 7
188
+ JOYSTICK_9 = 8
189
+ JOYSTICK_10 = 9
190
+ JOYSTICK_11 = 10
191
+ JOYSTICK_12 = 11
192
+ JOYSTICK_13 = 12
193
+ JOYSTICK_14 = 13
194
+ JOYSTICK_15 = 14
195
+ JOYSTICK_16 = 15
196
+ JOYSTICK_LAST = JOYSTICK_16
197
+
198
+ GAMEPAD_BUTTON_A = 0
199
+ GAMEPAD_BUTTON_B = 1
200
+ GAMEPAD_BUTTON_X = 2
201
+ GAMEPAD_BUTTON_Y = 3
202
+ GAMEPAD_BUTTON_LEFT_BUMPER = 4
203
+ GAMEPAD_BUTTON_RIGHT_BUMPER = 5
204
+ GAMEPAD_BUTTON_BACK = 6
205
+ GAMEPAD_BUTTON_START = 7
206
+ GAMEPAD_BUTTON_GUIDE = 8
207
+ GAMEPAD_BUTTON_LEFT_THUMB = 9
208
+ GAMEPAD_BUTTON_RIGHT_THUMB = 10
209
+ GAMEPAD_BUTTON_DPAD_UP = 11
210
+ GAMEPAD_BUTTON_DPAD_RIGHT = 12
211
+ GAMEPAD_BUTTON_DPAD_DOWN = 13
212
+ GAMEPAD_BUTTON_DPAD_LEFT = 14
213
+ GAMEPAD_BUTTON_LAST = GAMEPAD_BUTTON_DPAD_LEFT
214
+
215
+ GAMEPAD_BUTTON_CROSS = GAMEPAD_BUTTON_A
216
+ GAMEPAD_BUTTON_CIRCLE = GAMEPAD_BUTTON_B
217
+ GAMEPAD_BUTTON_SQUARE = GAMEPAD_BUTTON_X
218
+ GAMEPAD_BUTTON_TRIANGLE = GAMEPAD_BUTTON_Y
219
+
220
+ GAMEPAD_AXIS_LEFT_X = 0
221
+ GAMEPAD_AXIS_LEFT_Y = 1
222
+ GAMEPAD_AXIS_RIGHT_X = 2
223
+ GAMEPAD_AXIS_RIGHT_Y = 3
224
+ GAMEPAD_AXIS_LEFT_TRIGGER = 4
225
+ GAMEPAD_AXIS_RIGHT_TRIGGER = 5
226
+ GAMEPAD_AXIS_LAST = GAMEPAD_AXIS_RIGHT_TRIGGER
227
+
228
+ end
229
+
230
+
231
+ module Graphics
232
+
233
+ def self.fps
234
+ end
235
+
236
+ def self.render
237
+ end
238
+ end
239
+
240
+ module Game
241
+
242
+ class << self
243
+
244
+ attr_accessor :title
245
+ attr_accessor :fullscreen
246
+ end
247
+
248
+ def self.init
249
+ end
250
+
251
+ def self.create(width, height, title, **opts)
252
+ end
253
+
254
+ def self.center
255
+ end
256
+
257
+ def self.close(flag = true)
258
+ end
259
+
260
+ def self.closing?
261
+ end
262
+
263
+ def self.terminate
264
+ end
265
+ end
266
+
267
+ end