ruby2d 0.8.1 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|