ruby2d 0.8.1 → 0.9.0
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/assets/README.md +20 -7
- data/assets/include/SDL2/SDL.h +135 -0
- data/assets/include/SDL2/SDL_assert.h +291 -0
- data/assets/include/SDL2/SDL_atomic.h +277 -0
- data/assets/include/SDL2/SDL_audio.h +826 -0
- data/assets/include/SDL2/SDL_bits.h +112 -0
- data/assets/include/SDL2/SDL_blendmode.h +120 -0
- data/assets/include/SDL2/SDL_clipboard.h +71 -0
- data/assets/include/SDL2/SDL_config.h +421 -0
- data/assets/include/SDL2/SDL_cpuinfo.h +188 -0
- data/assets/include/SDL2/SDL_egl.h +1673 -0
- data/assets/include/SDL2/SDL_endian.h +260 -0
- data/assets/include/SDL2/SDL_error.h +76 -0
- data/assets/include/SDL2/SDL_events.h +788 -0
- data/assets/include/SDL2/SDL_filesystem.h +136 -0
- data/assets/include/SDL2/SDL_gamecontroller.h +390 -0
- data/assets/include/SDL2/SDL_gesture.h +87 -0
- data/assets/include/SDL2/SDL_haptic.h +1238 -0
- data/assets/include/SDL2/SDL_hints.h +1135 -0
- data/assets/include/SDL2/SDL_image.h +161 -0
- data/assets/include/SDL2/SDL_joystick.h +408 -0
- data/assets/include/SDL2/SDL_keyboard.h +217 -0
- data/assets/include/SDL2/SDL_keycode.h +349 -0
- data/assets/include/SDL2/SDL_loadso.h +81 -0
- data/assets/include/SDL2/SDL_log.h +211 -0
- data/assets/include/SDL2/SDL_main.h +168 -0
- data/assets/include/SDL2/SDL_messagebox.h +144 -0
- data/assets/include/SDL2/SDL_mixer.h +651 -0
- data/assets/include/SDL2/SDL_mouse.h +302 -0
- data/assets/include/SDL2/SDL_mutex.h +251 -0
- data/assets/include/SDL2/SDL_name.h +33 -0
- data/assets/include/SDL2/SDL_opengl.h +2183 -0
- data/assets/include/SDL2/SDL_opengl_glext.h +11177 -0
- data/assets/include/SDL2/SDL_opengles.h +39 -0
- data/assets/include/SDL2/SDL_opengles2.h +52 -0
- data/assets/include/SDL2/SDL_opengles2_gl2.h +621 -0
- data/assets/include/SDL2/SDL_opengles2_gl2ext.h +2050 -0
- data/assets/include/SDL2/SDL_opengles2_gl2platform.h +30 -0
- data/assets/include/SDL2/SDL_opengles2_khrplatform.h +282 -0
- data/assets/include/SDL2/SDL_pixels.h +470 -0
- data/assets/include/SDL2/SDL_platform.h +198 -0
- data/assets/include/SDL2/SDL_power.h +75 -0
- data/assets/include/SDL2/SDL_quit.h +58 -0
- data/assets/include/SDL2/SDL_rect.h +148 -0
- data/assets/include/SDL2/SDL_render.h +931 -0
- data/assets/include/SDL2/SDL_revision.h +2 -0
- data/assets/include/SDL2/SDL_rwops.h +254 -0
- data/assets/include/SDL2/SDL_scancode.h +413 -0
- data/assets/include/SDL2/SDL_sensor.h +251 -0
- data/assets/include/SDL2/SDL_shape.h +144 -0
- data/assets/include/SDL2/SDL_stdinc.h +607 -0
- data/assets/include/SDL2/SDL_surface.h +553 -0
- data/assets/include/SDL2/SDL_system.h +279 -0
- data/assets/include/SDL2/SDL_syswm.h +324 -0
- data/assets/include/SDL2/SDL_test.h +69 -0
- data/assets/include/SDL2/SDL_test_assert.h +105 -0
- data/assets/include/SDL2/SDL_test_common.h +188 -0
- data/assets/include/SDL2/SDL_test_compare.h +69 -0
- data/assets/include/SDL2/SDL_test_crc32.h +124 -0
- data/assets/include/SDL2/SDL_test_font.h +81 -0
- data/assets/include/SDL2/SDL_test_fuzzer.h +384 -0
- data/assets/include/SDL2/SDL_test_harness.h +134 -0
- data/assets/include/SDL2/SDL_test_images.h +78 -0
- data/assets/include/SDL2/SDL_test_log.h +67 -0
- data/assets/include/SDL2/SDL_test_md5.h +129 -0
- data/assets/include/SDL2/SDL_test_memory.h +63 -0
- data/assets/include/SDL2/SDL_test_random.h +115 -0
- data/assets/include/SDL2/SDL_thread.h +343 -0
- data/assets/include/SDL2/SDL_timer.h +115 -0
- data/assets/include/SDL2/SDL_touch.h +86 -0
- data/assets/include/SDL2/SDL_ttf.h +294 -0
- data/assets/include/SDL2/SDL_types.h +29 -0
- data/assets/include/SDL2/SDL_version.h +162 -0
- data/assets/include/SDL2/SDL_video.h +1276 -0
- data/assets/include/SDL2/SDL_vulkan.h +278 -0
- data/assets/include/SDL2/begin_code.h +167 -0
- data/assets/include/SDL2/close_code.h +37 -0
- data/assets/include/glew.h +23686 -0
- data/assets/include/simple2d.h +735 -0
- data/assets/ios/MRuby.framework/Headers/mrbconf.h +3 -5
- data/assets/ios/MRuby.framework/Headers/mruby.h +35 -32
- data/assets/ios/MRuby.framework/Headers/mruby/array.h +1 -0
- data/assets/ios/MRuby.framework/Headers/mruby/boxing_word.h +9 -1
- data/assets/ios/MRuby.framework/Headers/mruby/class.h +14 -11
- data/assets/ios/MRuby.framework/Headers/mruby/common.h +5 -0
- data/assets/ios/MRuby.framework/Headers/mruby/compile.h +4 -3
- data/assets/ios/MRuby.framework/Headers/mruby/debug.h +3 -2
- data/assets/ios/MRuby.framework/Headers/mruby/dump.h +2 -2
- data/assets/ios/MRuby.framework/Headers/mruby/hash.h +38 -5
- data/assets/ios/MRuby.framework/Headers/mruby/irep.h +17 -4
- data/assets/ios/MRuby.framework/Headers/mruby/object.h +4 -5
- data/assets/ios/MRuby.framework/Headers/mruby/opcode.h +47 -139
- data/assets/ios/MRuby.framework/Headers/mruby/ops.h +117 -0
- data/assets/ios/MRuby.framework/Headers/mruby/proc.h +4 -4
- data/assets/ios/MRuby.framework/Headers/mruby/string.h +11 -7
- data/assets/ios/MRuby.framework/Headers/mruby/throw.h +4 -4
- data/assets/ios/MRuby.framework/Headers/mruby/variable.h +2 -4
- data/assets/ios/MRuby.framework/Headers/mruby/version.h +6 -6
- data/assets/ios/MRuby.framework/MRuby +0 -0
- data/assets/ios/MyApp.xcodeproj/project.pbxproj +24 -18
- data/assets/ios/MyApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- data/assets/ios/main.c +1 -1
- data/assets/macos/lib/libFLAC.a +0 -0
- data/assets/macos/lib/libSDL2.a +0 -0
- data/assets/macos/lib/libSDL2_image.a +0 -0
- data/assets/macos/lib/libSDL2_mixer.a +0 -0
- data/assets/macos/lib/libSDL2_ttf.a +0 -0
- data/assets/macos/lib/libfreetype.a +0 -0
- data/assets/macos/lib/libjpeg.a +0 -0
- data/assets/macos/lib/libmpg123.a +0 -0
- data/assets/macos/lib/libogg.a +0 -0
- data/assets/macos/lib/libpng16.a +0 -0
- data/assets/macos/lib/libsimple2d.a +0 -0
- data/assets/macos/lib/libtiff.a +0 -0
- data/assets/macos/lib/libvorbis.a +0 -0
- data/assets/macos/lib/libvorbisfile.a +0 -0
- data/assets/macos/lib/libwebp.a +0 -0
- data/assets/mingw/bin/SDL2.dll +0 -0
- data/assets/mingw/bin/SDL2_image.dll +0 -0
- data/assets/mingw/bin/SDL2_mixer.dll +0 -0
- data/assets/mingw/bin/SDL2_ttf.dll +0 -0
- data/assets/mingw/bin/glew32.dll +0 -0
- data/assets/mingw/bin/libFLAC-8.dll +0 -0
- data/assets/mingw/bin/libfreetype-6.dll +0 -0
- data/assets/mingw/bin/libjpeg-9.dll +0 -0
- data/assets/mingw/bin/libmodplug-1.dll +0 -0
- data/assets/mingw/bin/libmpg123-0.dll +0 -0
- data/assets/mingw/bin/libogg-0.dll +0 -0
- data/assets/mingw/bin/libopus-0.dll +0 -0
- data/assets/mingw/bin/libopusfile-0.dll +0 -0
- data/assets/mingw/bin/libpng16-16.dll +0 -0
- data/assets/mingw/bin/libtiff-5.dll +0 -0
- data/assets/mingw/bin/libvorbis-0.dll +0 -0
- data/assets/mingw/bin/libvorbisfile-3.dll +0 -0
- data/assets/mingw/bin/libwebp-7.dll +0 -0
- data/assets/mingw/bin/zlib1.dll +0 -0
- data/assets/mingw/lib/libSDL2.a +0 -0
- data/assets/mingw/lib/libSDL2.dll.a +0 -0
- data/assets/mingw/lib/libSDL2_image.a +0 -0
- data/assets/mingw/lib/libSDL2_image.dll.a +0 -0
- data/assets/mingw/lib/libSDL2_mixer.a +0 -0
- data/assets/mingw/lib/libSDL2_mixer.dll.a +0 -0
- data/assets/mingw/lib/libSDL2_test.a +0 -0
- data/assets/mingw/lib/libSDL2_ttf.a +0 -0
- data/assets/mingw/lib/libSDL2_ttf.dll.a +0 -0
- data/assets/mingw/lib/libSDL2main.a +0 -0
- data/assets/mingw/lib/libglew32.a +0 -0
- data/assets/mingw/lib/libglew32.dll.a +0 -0
- data/assets/mingw/lib/libsimple2d.a +0 -0
- data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json +4 -0
- data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json +4 -0
- data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json +4 -0
- data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json +4 -0
- data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json +4 -0
- data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json +4 -0
- data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json +4 -0
- data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json +4 -0
- data/assets/tvos/Assets.xcassets/LaunchImage.launchimage/Contents.json +7 -0
- data/assets/tvos/MRuby.framework/Headers/mrbconf.h +3 -5
- data/assets/tvos/MRuby.framework/Headers/mruby.h +35 -32
- data/assets/tvos/MRuby.framework/Headers/mruby/array.h +1 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/boxing_word.h +9 -1
- data/assets/tvos/MRuby.framework/Headers/mruby/class.h +14 -11
- data/assets/tvos/MRuby.framework/Headers/mruby/common.h +5 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/compile.h +4 -3
- data/assets/tvos/MRuby.framework/Headers/mruby/debug.h +3 -2
- data/assets/tvos/MRuby.framework/Headers/mruby/dump.h +2 -2
- data/assets/tvos/MRuby.framework/Headers/mruby/hash.h +38 -5
- data/assets/tvos/MRuby.framework/Headers/mruby/irep.h +17 -4
- data/assets/tvos/MRuby.framework/Headers/mruby/object.h +4 -5
- data/assets/tvos/MRuby.framework/Headers/mruby/opcode.h +47 -139
- data/assets/tvos/MRuby.framework/Headers/mruby/ops.h +117 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/proc.h +4 -4
- data/assets/tvos/MRuby.framework/Headers/mruby/string.h +11 -7
- data/assets/tvos/MRuby.framework/Headers/mruby/throw.h +4 -4
- data/assets/tvos/MRuby.framework/Headers/mruby/variable.h +2 -4
- data/assets/tvos/MRuby.framework/Headers/mruby/version.h +6 -6
- data/assets/tvos/MRuby.framework/MRuby +0 -0
- data/assets/tvos/MyApp.xcodeproj/project.pbxproj +25 -19
- data/assets/tvos/MyApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- data/assets/tvos/main.c +1 -1
- data/ext/ruby2d/extconf.rb +59 -50
- data/ext/ruby2d/ruby2d.c +0 -1
- data/lib/ruby2d.rb +1 -7
- data/lib/ruby2d/cli/launch.rb +1 -1
- data/lib/ruby2d/font.rb +32 -7
- data/lib/ruby2d/version.rb +1 -1
- metadata +132 -6
- data/assets/opal.js +0 -21637
- data/assets/simple2d.js +0 -1379
- data/assets/template.html +0 -18
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
|
|
16
16
|
#if defined(MRB_ENABLE_CXX_EXCEPTION) && defined(__cplusplus)
|
|
17
17
|
|
|
18
|
-
#define MRB_TRY(buf)
|
|
18
|
+
#define MRB_TRY(buf) try {
|
|
19
19
|
#define MRB_CATCH(buf) } catch(mrb_jmpbuf_impl e) { if (e != (buf)->impl) { throw e; }
|
|
20
|
-
#define MRB_END_EXC(buf) }
|
|
20
|
+
#define MRB_END_EXC(buf) }
|
|
21
21
|
|
|
22
22
|
#define MRB_THROW(buf) throw((buf)->impl)
|
|
23
23
|
typedef mrb_int mrb_jmpbuf_impl;
|
|
@@ -34,9 +34,9 @@ typedef mrb_int mrb_jmpbuf_impl;
|
|
|
34
34
|
#define MRB_LONGJMP longjmp
|
|
35
35
|
#endif
|
|
36
36
|
|
|
37
|
-
#define MRB_TRY(buf)
|
|
37
|
+
#define MRB_TRY(buf) if (MRB_SETJMP((buf)->impl) == 0) {
|
|
38
38
|
#define MRB_CATCH(buf) } else {
|
|
39
|
-
#define MRB_END_EXC(buf) }
|
|
39
|
+
#define MRB_END_EXC(buf) }
|
|
40
40
|
|
|
41
41
|
#define MRB_THROW(buf) MRB_LONGJMP((buf)->impl, 1);
|
|
42
42
|
#define mrb_jmpbuf_impl jmp_buf
|
|
@@ -31,8 +31,6 @@ struct global_entry {
|
|
|
31
31
|
|
|
32
32
|
mrb_value mrb_vm_special_get(mrb_state*, mrb_sym);
|
|
33
33
|
void mrb_vm_special_set(mrb_state*, mrb_sym, mrb_value);
|
|
34
|
-
mrb_value mrb_vm_iv_get(mrb_state*, mrb_sym);
|
|
35
|
-
void mrb_vm_iv_set(mrb_state*, mrb_sym, mrb_value);
|
|
36
34
|
mrb_value mrb_vm_cv_get(mrb_state*, mrb_sym);
|
|
37
35
|
void mrb_vm_cv_set(mrb_state*, mrb_sym, mrb_value);
|
|
38
36
|
mrb_value mrb_vm_const_get(mrb_state*, mrb_sym);
|
|
@@ -42,8 +40,8 @@ MRB_API void mrb_const_set(mrb_state*, mrb_value, mrb_sym, mrb_value);
|
|
|
42
40
|
MRB_API mrb_bool mrb_const_defined(mrb_state*, mrb_value, mrb_sym);
|
|
43
41
|
MRB_API void mrb_const_remove(mrb_state*, mrb_value, mrb_sym);
|
|
44
42
|
|
|
45
|
-
MRB_API mrb_bool
|
|
46
|
-
MRB_API void
|
|
43
|
+
MRB_API mrb_bool mrb_iv_name_sym_p(mrb_state *mrb, mrb_sym sym);
|
|
44
|
+
MRB_API void mrb_iv_name_sym_check(mrb_state *mrb, mrb_sym sym);
|
|
47
45
|
MRB_API mrb_value mrb_obj_iv_get(mrb_state *mrb, struct RObject *obj, mrb_sym sym);
|
|
48
46
|
MRB_API void mrb_obj_iv_set(mrb_state *mrb, struct RObject *obj, mrb_sym sym, mrb_value v);
|
|
49
47
|
MRB_API mrb_bool mrb_obj_iv_defined(mrb_state *mrb, struct RObject *obj, mrb_sym sym);
|
|
@@ -27,7 +27,7 @@ MRB_BEGIN_DECL
|
|
|
27
27
|
/*
|
|
28
28
|
* The version of Ruby used by mruby.
|
|
29
29
|
*/
|
|
30
|
-
#define MRUBY_RUBY_VERSION "
|
|
30
|
+
#define MRUBY_RUBY_VERSION "2.0"
|
|
31
31
|
|
|
32
32
|
/*
|
|
33
33
|
* Ruby engine.
|
|
@@ -37,12 +37,12 @@ MRB_BEGIN_DECL
|
|
|
37
37
|
/*
|
|
38
38
|
* Major release version number.
|
|
39
39
|
*/
|
|
40
|
-
#define MRUBY_RELEASE_MAJOR
|
|
40
|
+
#define MRUBY_RELEASE_MAJOR 2
|
|
41
41
|
|
|
42
42
|
/*
|
|
43
43
|
* Minor release version number.
|
|
44
44
|
*/
|
|
45
|
-
#define MRUBY_RELEASE_MINOR
|
|
45
|
+
#define MRUBY_RELEASE_MINOR 0
|
|
46
46
|
|
|
47
47
|
/*
|
|
48
48
|
* Tiny release version number.
|
|
@@ -62,17 +62,17 @@ MRB_BEGIN_DECL
|
|
|
62
62
|
/*
|
|
63
63
|
* Release year.
|
|
64
64
|
*/
|
|
65
|
-
#define MRUBY_RELEASE_YEAR
|
|
65
|
+
#define MRUBY_RELEASE_YEAR 2018
|
|
66
66
|
|
|
67
67
|
/*
|
|
68
68
|
* Release month.
|
|
69
69
|
*/
|
|
70
|
-
#define MRUBY_RELEASE_MONTH
|
|
70
|
+
#define MRUBY_RELEASE_MONTH 12
|
|
71
71
|
|
|
72
72
|
/*
|
|
73
73
|
* Release day.
|
|
74
74
|
*/
|
|
75
|
-
#define MRUBY_RELEASE_DAY
|
|
75
|
+
#define MRUBY_RELEASE_DAY 11
|
|
76
76
|
|
|
77
77
|
/*
|
|
78
78
|
* Release date as a string.
|
|
Binary file
|
|
@@ -3,13 +3,14 @@
|
|
|
3
3
|
archiveVersion = 1;
|
|
4
4
|
classes = {
|
|
5
5
|
};
|
|
6
|
-
objectVersion =
|
|
6
|
+
objectVersion = 51;
|
|
7
7
|
objects = {
|
|
8
8
|
|
|
9
9
|
/* Begin PBXBuildFile section */
|
|
10
10
|
E2206BB41F4AB3AC002BD456 /* Simple2D.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E2206BB31F4AB3AC002BD456 /* Simple2D.framework */; };
|
|
11
11
|
E228A73E1F16780900E03F68 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E228A73D1F16780900E03F68 /* Assets.xcassets */; };
|
|
12
12
|
E228A7461F1678F000E03F68 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = E228A7451F1678F000E03F68 /* main.c */; };
|
|
13
|
+
E2309DC022532AF60005CB0C /* MRuby.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E2309DBF22532AF60005CB0C /* MRuby.framework */; };
|
|
13
14
|
E25EF19A1F167AF90045EA1D /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E25EF1901F167AF90045EA1D /* AudioToolbox.framework */; };
|
|
14
15
|
E25EF19B1F167AF90045EA1D /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E25EF1911F167AF90045EA1D /* AVFoundation.framework */; };
|
|
15
16
|
E25EF19C1F167AF90045EA1D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E25EF1921F167AF90045EA1D /* CoreGraphics.framework */; };
|
|
@@ -20,7 +21,6 @@
|
|
|
20
21
|
E25EF1A11F167AF90045EA1D /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E25EF1971F167AF90045EA1D /* OpenGLES.framework */; };
|
|
21
22
|
E25EF1A21F167AF90045EA1D /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E25EF1981F167AF90045EA1D /* QuartzCore.framework */; };
|
|
22
23
|
E25EF1A31F167AF90045EA1D /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E25EF1991F167AF90045EA1D /* UIKit.framework */; };
|
|
23
|
-
E2D0E9131F764B5E000AF870 /* MRuby.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E2D0E9121F764B5E000AF870 /* MRuby.framework */; };
|
|
24
24
|
/* End PBXBuildFile section */
|
|
25
25
|
|
|
26
26
|
/* Begin PBXFileReference section */
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
E228A73D1F16780900E03F68 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
|
30
30
|
E228A73F1F16780900E03F68 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
|
31
31
|
E228A7451F1678F000E03F68 /* main.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = "<group>"; };
|
|
32
|
+
E2309DBF22532AF60005CB0C /* MRuby.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = MRuby.framework; sourceTree = "<group>"; };
|
|
32
33
|
E25EF1901F167AF90045EA1D /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
|
|
33
34
|
E25EF1911F167AF90045EA1D /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
|
|
34
35
|
E25EF1921F167AF90045EA1D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
|
@@ -39,7 +40,6 @@
|
|
|
39
40
|
E25EF1971F167AF90045EA1D /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
|
|
40
41
|
E25EF1981F167AF90045EA1D /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
|
|
41
42
|
E25EF1991F167AF90045EA1D /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
|
|
42
|
-
E2D0E9121F764B5E000AF870 /* MRuby.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = MRuby.framework; sourceTree = "<group>"; };
|
|
43
43
|
/* End PBXFileReference section */
|
|
44
44
|
|
|
45
45
|
/* Begin PBXFrameworksBuildPhase section */
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
isa = PBXFrameworksBuildPhase;
|
|
48
48
|
buildActionMask = 2147483647;
|
|
49
49
|
files = (
|
|
50
|
-
|
|
50
|
+
E2309DC022532AF60005CB0C /* MRuby.framework in Frameworks */,
|
|
51
51
|
E2206BB41F4AB3AC002BD456 /* Simple2D.framework in Frameworks */,
|
|
52
52
|
E25EF19A1F167AF90045EA1D /* AudioToolbox.framework in Frameworks */,
|
|
53
53
|
E25EF19B1F167AF90045EA1D /* AVFoundation.framework in Frameworks */,
|
|
@@ -71,8 +71,8 @@
|
|
|
71
71
|
E228A7451F1678F000E03F68 /* main.c */,
|
|
72
72
|
E228A73D1F16780900E03F68 /* Assets.xcassets */,
|
|
73
73
|
E228A73F1F16780900E03F68 /* Info.plist */,
|
|
74
|
-
E228A72F1F16780900E03F68 /* Products */,
|
|
75
74
|
E25EF17D1F1679F30045EA1D /* Frameworks */,
|
|
75
|
+
E228A72F1F16780900E03F68 /* Products */,
|
|
76
76
|
);
|
|
77
77
|
indentWidth = 2;
|
|
78
78
|
sourceTree = "<group>";
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
E25EF17D1F1679F30045EA1D /* Frameworks */ = {
|
|
91
91
|
isa = PBXGroup;
|
|
92
92
|
children = (
|
|
93
|
-
|
|
93
|
+
E2309DBF22532AF60005CB0C /* MRuby.framework */,
|
|
94
94
|
E2206BB31F4AB3AC002BD456 /* Simple2D.framework */,
|
|
95
95
|
E25EF1901F167AF90045EA1D /* AudioToolbox.framework */,
|
|
96
96
|
E25EF1911F167AF90045EA1D /* AVFoundation.framework */,
|
|
@@ -132,7 +132,7 @@
|
|
|
132
132
|
E228A7261F16780900E03F68 /* Project object */ = {
|
|
133
133
|
isa = PBXProject;
|
|
134
134
|
attributes = {
|
|
135
|
-
LastUpgradeCheck =
|
|
135
|
+
LastUpgradeCheck = 1020;
|
|
136
136
|
TargetAttributes = {
|
|
137
137
|
E228A72D1F16780900E03F68 = {
|
|
138
138
|
CreatedOnToolsVersion = 8.3.3;
|
|
@@ -141,8 +141,8 @@
|
|
|
141
141
|
};
|
|
142
142
|
};
|
|
143
143
|
buildConfigurationList = E228A7291F16780900E03F68 /* Build configuration list for PBXProject "MyApp" */;
|
|
144
|
-
compatibilityVersion = "Xcode
|
|
145
|
-
developmentRegion =
|
|
144
|
+
compatibilityVersion = "Xcode 10.0";
|
|
145
|
+
developmentRegion = en;
|
|
146
146
|
hasScannedForEncodings = 0;
|
|
147
147
|
knownRegions = (
|
|
148
148
|
en,
|
|
@@ -185,6 +185,7 @@
|
|
|
185
185
|
isa = XCBuildConfiguration;
|
|
186
186
|
buildSettings = {
|
|
187
187
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
188
|
+
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
|
188
189
|
CLANG_ANALYZER_NONNULL = YES;
|
|
189
190
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
|
190
191
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
|
@@ -195,17 +196,17 @@
|
|
|
195
196
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
|
196
197
|
CLANG_WARN_COMMA = YES;
|
|
197
198
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
|
199
|
+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
|
198
200
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
|
199
|
-
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
|
200
201
|
CLANG_WARN_EMPTY_BODY = YES;
|
|
201
202
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
|
202
203
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
|
203
204
|
CLANG_WARN_INT_CONVERSION = YES;
|
|
204
205
|
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
|
206
|
+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
|
205
207
|
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
|
206
208
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
|
207
209
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
|
208
|
-
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
|
209
210
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
|
210
211
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
|
211
212
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
|
@@ -227,11 +228,11 @@
|
|
|
227
228
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
228
229
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
|
229
230
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
231
|
+
HEADER_SEARCH_PATHS = "\"$(SRCROOT)/MRuby.framework/Headers\"";
|
|
230
232
|
MTL_ENABLE_DEBUG_INFO = YES;
|
|
231
233
|
ONLY_ACTIVE_ARCH = YES;
|
|
232
234
|
SDKROOT = appletvos;
|
|
233
235
|
TARGETED_DEVICE_FAMILY = 3;
|
|
234
|
-
TVOS_DEPLOYMENT_TARGET = 11.1;
|
|
235
236
|
};
|
|
236
237
|
name = Debug;
|
|
237
238
|
};
|
|
@@ -239,6 +240,7 @@
|
|
|
239
240
|
isa = XCBuildConfiguration;
|
|
240
241
|
buildSettings = {
|
|
241
242
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
243
|
+
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
|
242
244
|
CLANG_ANALYZER_NONNULL = YES;
|
|
243
245
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
|
244
246
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
|
@@ -249,17 +251,17 @@
|
|
|
249
251
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
|
250
252
|
CLANG_WARN_COMMA = YES;
|
|
251
253
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
|
254
|
+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
|
252
255
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
|
253
|
-
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
|
254
256
|
CLANG_WARN_EMPTY_BODY = YES;
|
|
255
257
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
|
256
258
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
|
257
259
|
CLANG_WARN_INT_CONVERSION = YES;
|
|
258
260
|
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
|
261
|
+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
|
259
262
|
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
|
260
263
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
|
261
264
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
|
262
|
-
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
|
263
265
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
|
264
266
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
|
265
267
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
|
@@ -275,10 +277,10 @@
|
|
|
275
277
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
276
278
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
|
277
279
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
280
|
+
HEADER_SEARCH_PATHS = "\"$(SRCROOT)/MRuby.framework/Headers\"";
|
|
278
281
|
MTL_ENABLE_DEBUG_INFO = NO;
|
|
279
282
|
SDKROOT = appletvos;
|
|
280
283
|
TARGETED_DEVICE_FAMILY = 3;
|
|
281
|
-
TVOS_DEPLOYMENT_TARGET = 11.1;
|
|
282
284
|
VALIDATE_PRODUCT = YES;
|
|
283
285
|
};
|
|
284
286
|
name = Release;
|
|
@@ -292,9 +294,11 @@
|
|
|
292
294
|
/usr/local/Frameworks/Simple2D/tvOS,
|
|
293
295
|
"$(PROJECT_DIR)",
|
|
294
296
|
);
|
|
295
|
-
HEADER_SEARCH_PATHS = "\"$(SRCROOT)/MRuby.framework/Headers\"";
|
|
296
297
|
INFOPLIST_FILE = "$(SRCROOT)/Info.plist";
|
|
297
|
-
LD_RUNPATH_SEARCH_PATHS =
|
|
298
|
+
LD_RUNPATH_SEARCH_PATHS = (
|
|
299
|
+
"$(inherited)",
|
|
300
|
+
"@executable_path/Frameworks",
|
|
301
|
+
);
|
|
298
302
|
PRODUCT_BUNDLE_IDENTIFIER = Ruby2D.MyApp;
|
|
299
303
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
300
304
|
};
|
|
@@ -309,9 +313,11 @@
|
|
|
309
313
|
/usr/local/Frameworks/Simple2D/tvOS,
|
|
310
314
|
"$(PROJECT_DIR)",
|
|
311
315
|
);
|
|
312
|
-
HEADER_SEARCH_PATHS = "\"$(SRCROOT)/MRuby.framework/Headers\"";
|
|
313
316
|
INFOPLIST_FILE = "$(SRCROOT)/Info.plist";
|
|
314
|
-
LD_RUNPATH_SEARCH_PATHS =
|
|
317
|
+
LD_RUNPATH_SEARCH_PATHS = (
|
|
318
|
+
"$(inherited)",
|
|
319
|
+
"@executable_path/Frameworks",
|
|
320
|
+
);
|
|
315
321
|
PRODUCT_BUNDLE_IDENTIFIER = Ruby2D.MyApp;
|
|
316
322
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
317
323
|
};
|
data/assets/tvos/main.c
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
// Your
|
|
1
|
+
// Your app here
|
data/ext/ruby2d/extconf.rb
CHANGED
|
@@ -2,78 +2,87 @@ require 'mkmf'
|
|
|
2
2
|
require_relative '../../lib/ruby2d/colorize'
|
|
3
3
|
|
|
4
4
|
S2D_VERSION = '1.1.0' # Simple 2D minimum version required
|
|
5
|
-
$errors = []
|
|
5
|
+
$errors = [] # Array to capture errors
|
|
6
6
|
|
|
7
|
+
# Print installation errors
|
|
7
8
|
def print_errors
|
|
8
9
|
puts "
|
|
9
10
|
#{"== #{"Ruby 2D Installation Errors".error} =======================================\n"}
|
|
10
11
|
#{$errors.join("\n ")}\n
|
|
11
|
-
#{"
|
|
12
|
+
#{"======================================================================"}"
|
|
12
13
|
end
|
|
13
14
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
$errors << "Simple 2D needs to be updated for this version of Ruby 2D." <<
|
|
17
|
-
"Run the following, then try reinstalling this gem:\n" <<
|
|
18
|
-
" simple2d update".bold
|
|
19
|
-
print_errors
|
|
20
|
-
exit
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
# Install Simple 2D on supported platforms
|
|
26
|
-
case RUBY_PLATFORM
|
|
27
|
-
|
|
28
|
-
# macOS
|
|
29
|
-
when /darwin/
|
|
15
|
+
# Check that Simple 2D is installed and meets minimum version requirements
|
|
16
|
+
def check_s2d
|
|
30
17
|
|
|
31
18
|
# Simple 2D not installed
|
|
32
19
|
if `which simple2d`.empty?
|
|
20
|
+
$errors << "Ruby 2D uses a native library called Simple 2D, which was not found." <<
|
|
21
|
+
"To install, follow the instructions at #{"ruby2d.com/learn".bold}"
|
|
22
|
+
print_errors
|
|
23
|
+
exit
|
|
33
24
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
" brew tap simple2d/tap".bold <<
|
|
41
|
-
" brew install simple2d".bold
|
|
42
|
-
print_errors
|
|
43
|
-
exit
|
|
44
|
-
|
|
45
|
-
# Homebrew installed, instruct to install Simple 2D
|
|
46
|
-
else
|
|
47
|
-
$errors << "Ruby 2D uses a native library called Simple 2D, which was not found." <<
|
|
48
|
-
"Install it with Homebrew using:\n" <<
|
|
49
|
-
" brew tap simple2d/tap".bold <<
|
|
50
|
-
" brew install simple2d".bold
|
|
25
|
+
# Simple 2D installed, checking version
|
|
26
|
+
else
|
|
27
|
+
unless Gem::Version.new(`bash simple2d --version`) >= Gem::Version.new(S2D_VERSION)
|
|
28
|
+
$errors << "Simple 2D needs to be updated for this version of Ruby 2D." <<
|
|
29
|
+
"Run the following, then try reinstalling this gem:\n" <<
|
|
30
|
+
" simple2d update".bold
|
|
51
31
|
print_errors
|
|
52
32
|
exit
|
|
53
33
|
end
|
|
54
34
|
end
|
|
35
|
+
end
|
|
55
36
|
|
|
56
|
-
#
|
|
57
|
-
|
|
37
|
+
# Use the Simple 2D, SDL, and other libraries installed by the user (not those bundled with the gem)
|
|
38
|
+
def use_usr_libs
|
|
39
|
+
check_s2d
|
|
58
40
|
|
|
59
|
-
#
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
print_errors
|
|
64
|
-
exit
|
|
41
|
+
# Add flags
|
|
42
|
+
$CFLAGS << ' -std=c11 -I/usr/local/include'
|
|
43
|
+
if `cat /etc/os-release` =~ /raspbian/ # Raspberry Pi
|
|
44
|
+
$CFLAGS << ' -I/opt/vc/include'
|
|
65
45
|
end
|
|
46
|
+
$LDFLAGS << ' ' << `bash simple2d --libs`
|
|
47
|
+
$LDFLAGS.gsub!(/\n/, ' ') # remove newlines in flags, they cause problems
|
|
66
48
|
end
|
|
67
49
|
|
|
68
50
|
|
|
69
|
-
|
|
51
|
+
# Build Ruby 2D native extention using libraries installed by user
|
|
52
|
+
# To use install flag: `gem install ruby2d -- libs`
|
|
53
|
+
if ARGV.include? 'libs'
|
|
54
|
+
use_usr_libs
|
|
70
55
|
|
|
71
|
-
#
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
56
|
+
# Use libraries provided by the gem (default)
|
|
57
|
+
else
|
|
58
|
+
$CFLAGS << ' -std=c11 -I../../assets/include'
|
|
59
|
+
case RUBY_PLATFORM
|
|
60
|
+
|
|
61
|
+
# macOS
|
|
62
|
+
when /darwin/
|
|
63
|
+
# $LDFLAGS << " -L../../assets/macos/lib -lsimple2d -lSDL2 -lSDL2_image -lSDL2_mixer -lSDL2_ttf -ljpeg -lpng16 -ltiff -lwebp -lmpg123 -logg -lflac -lvorbis -lvorbisfile -lfreetype -Wl,-framework,Cocoa -Wl,-framework,ForceFeedback"
|
|
64
|
+
|
|
65
|
+
ldir = "#{Dir.pwd}/../../assets/macos/lib"
|
|
66
|
+
$LDFLAGS << " #{ldir}/libsimple2d.a #{ldir}/libSDL2.a #{ldir}/libSDL2_image.a #{ldir}/libSDL2_mixer.a #{ldir}/libSDL2_ttf.a \
|
|
67
|
+
#{ldir}/libjpeg.a #{ldir}/libpng16.a #{ldir}/libtiff.a #{ldir}/libwebp.a \
|
|
68
|
+
#{ldir}/libmpg123.a #{ldir}/libogg.a #{ldir}/libflac.a #{ldir}/libvorbis.a #{ldir}/libvorbisfile.a \
|
|
69
|
+
#{ldir}/libfreetype.a -Wl,-framework,Cocoa -Wl,-framework,ForceFeedback"
|
|
70
|
+
|
|
71
|
+
# Linux
|
|
72
|
+
when /linux/
|
|
73
|
+
# TODO: Implement static compilation for Linux
|
|
74
|
+
use_usr_libs
|
|
75
|
+
|
|
76
|
+
# Windows / MinGW
|
|
77
|
+
when /mingw/
|
|
78
|
+
$LDFLAGS << " -L../../assets/mingw/lib -lsimple2d -lSDL2 -lSDL2_image -lSDL2_mixer -lSDL2_ttf -lmingw32 -lopengl32 -lglew32"
|
|
79
|
+
|
|
80
|
+
# If can't detect the platform, use libraries installed by the user
|
|
81
|
+
else
|
|
82
|
+
use_usr_libs
|
|
83
|
+
end
|
|
75
84
|
end
|
|
76
|
-
$LDFLAGS << ' ' << `bash simple2d --libs`
|
|
77
|
-
$LDFLAGS.gsub!(/\n/, ' ') # remove newlines in flags, they cause problems
|
|
78
85
|
|
|
86
|
+
|
|
87
|
+
# Create the Makefile
|
|
79
88
|
create_makefile('ruby2d/ruby2d')
|
data/ext/ruby2d/ruby2d.c
CHANGED
|
@@ -1087,7 +1087,6 @@ static R_VAL ruby2d_ext_screenshot(R_VAL self, R_VAL path) {
|
|
|
1087
1087
|
S2D_Screenshot(window, RSTRING_PTR(path));
|
|
1088
1088
|
return path;
|
|
1089
1089
|
} else {
|
|
1090
|
-
S2D_Log(S2D_WARN, "Cannot take screenshot before window is shown");
|
|
1091
1090
|
return R_FALSE;
|
|
1092
1091
|
}
|
|
1093
1092
|
}
|
data/lib/ruby2d.rb
CHANGED
|
@@ -21,13 +21,7 @@ unless RUBY_ENGINE == 'mruby'
|
|
|
21
21
|
require 'ruby2d/music'
|
|
22
22
|
|
|
23
23
|
if RUBY_PLATFORM =~ /mingw/
|
|
24
|
-
|
|
25
|
-
if ENV['APPVEYOR']
|
|
26
|
-
s2d_dll_path = 'C:\msys64\usr\local\bin'
|
|
27
|
-
# When in a standard MinGW shell
|
|
28
|
-
else
|
|
29
|
-
s2d_dll_path = '~/../../usr/local/bin'
|
|
30
|
-
end
|
|
24
|
+
s2d_dll_path = Gem::Specification.find_by_name('ruby2d').gem_dir + '/assets/mingw/bin'
|
|
31
25
|
RubyInstaller::Runtime.add_dll_directory(File.expand_path(s2d_dll_path))
|
|
32
26
|
end
|
|
33
27
|
|