graphics 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1d70424b07430bd3cf210e11d8bf76ec15b41231d5e1e46e8de07eaebd686e6b
4
- data.tar.gz: 79b1367d8689c604560bdd1089f6a8ac98291bb7ee5240b3b2c10d48076e8d27
3
+ metadata.gz: 67d82ed6f28d5e1a85f4bc54a31e67804e6f0071645c8174d96ee7eb72d5fa30
4
+ data.tar.gz: ef980c42b79b48f48d8ecb143bc912c295b08171479d0e877f58baab4687ea39
5
5
  SHA512:
6
- metadata.gz: a8ffd685c237b1b7481f984359193c744949f6a9f30b6c57495a8fbfd5a06ef10310a607112f48ce0ad5ee83d860489cd0582c213468d67c5e7b41af85324074
7
- data.tar.gz: 26f3cbc67a707e7ac646e1f43066806ccf8915e7313ca7d0d2bcdfd40697b4a356796bc988ca67c5100f153ac38cac7ec7b75413c605eb3f8826c27a10305d98
6
+ metadata.gz: 2ed3a2b99b78e0910d63b8cc119a6f229364713026d1002a5e139ea8814472392db32051b3385e346b4c619adf27c81c068432dadf9719ca01fee9af994b1f89
7
+ data.tar.gz: eac5fcf6f1576ac47a2f77e06b46b39fdc7489429f8e9099cbfa49140cfeacde037d8545140ad875542c3532c900c1a0ce550d8e6fcf7629cdf38eb7ff0cbc26
checksums.yaml.gz.sig CHANGED
Binary file
data/History.rdoc CHANGED
@@ -1,3 +1,25 @@
1
+ === 1.1.0 / 2023-07-26
2
+
3
+ * 3 minor enhancements:
4
+
5
+ * Added anti-aliasing to polygon. Want to add filling at some point.
6
+ * Requiring ruby 2.7+. Too many changes to ruby internals to try to maintain.
7
+ * polygon now takes an array of points.
8
+
9
+ * 4 bug fixes:
10
+
11
+ * Fixed a bunch of compiler warnings for ruby struct changes.
12
+ * Fixed font lookup on linux. (presidentbeef)
13
+ * Fixed graphics_setup.sh for obsolete build flag on sdl2_image. (NickSchimek)
14
+ * ruby 3.2: Fixed warning from ruby headers by explicitly removing alloc funcs.
15
+
16
+ === 1.0.1 / 2018-11-14
17
+
18
+ * 2 bug fixes:
19
+
20
+ * Fixed bug in graphics_setup.rb. (Shashank Date)
21
+ * Minor tweaks to graphics_setup.sh for Shawshank's lightning talk today.
22
+
1
23
  === 1.0.0 / 2018-11-13
2
24
 
3
25
  * 4 major enhancements:
data/README.rdoc CHANGED
@@ -14,7 +14,7 @@ game programming conventions. Particularly it:
14
14
  * Right hand rule: 0 degrees is east, 90 is north, etc.
15
15
 
16
16
  These allow simple things like Trigonometry functions to work as
17
- expected. It means that all that stuff you were taught it grade school
17
+ expected. It means that all that stuff you were taught in grade school
18
18
  still work as intended. This makes one less thing you have to adjust
19
19
  when implementing your simulation.
20
20
 
@@ -76,8 +76,7 @@ See examples/*.rb for more
76
76
 
77
77
  == REQUIREMENTS:
78
78
 
79
- * rsdl
80
- * libsdl & friends
79
+ * libsdl2 & friends
81
80
 
82
81
  See and/or run graphics_setup.sh. If you're on OSX and have homebrew
83
82
  installed, running this will ensure you have a working setup.
@@ -88,6 +87,7 @@ up-to-date versions.
88
87
  == INSTALL:
89
88
 
90
89
  * sudo gem install graphics
90
+ * `curl -L https://tinyurl.com/graphics-setup | bash`
91
91
 
92
92
  == LICENSE:
93
93
 
data/Rakefile CHANGED
@@ -16,6 +16,8 @@ Hoe.spec "graphics" do
16
16
 
17
17
  extension :sdl
18
18
 
19
+ require_ruby_version ">= 2.7"
20
+
19
21
  license "MIT"
20
22
  end
21
23
 
data/examples/logo.rb CHANGED
@@ -50,7 +50,7 @@ class Turtle < Graphics::Body
50
50
  p2 = w.project(x, y, a+90, 5)
51
51
  p3 = w.project(x, y, a-90, 5)
52
52
 
53
- w.polygon p1, p2, p3, :green
53
+ w.polygon [p1, p2, p3], :green
54
54
  end
55
55
  end
56
56
 
data/ext/sdl/sdl.c CHANGED
@@ -8,7 +8,7 @@
8
8
  #include <sge/sge_collision.h>
9
9
  #include <SDL_mixer.h>
10
10
 
11
- // https://github.com/google/protobuf/blob/master/ruby/ext/google/protobuf_c/defs.c
11
+ // https://github.com/ruby/ruby/blob/master/doc/extension.rdoc#c-struct-to-ruby-object-
12
12
 
13
13
  #define DEFINE_CLASS_(name, string_name, mark, free, memsize) \
14
14
  static void mark(void*); \
@@ -16,7 +16,15 @@
16
16
  static VALUE c##name; \
17
17
  static const rb_data_type_t _##name##_type = { \
18
18
  string_name, \
19
- { mark, free, memsize, { NULL, NULL }, }, NULL, NULL, \
19
+ { mark, \
20
+ free, \
21
+ memsize, \
22
+ NULL, /* compact */ \
23
+ { NULL } \
24
+ }, \
25
+ NULL, /* parent */ \
26
+ NULL, /* data */ \
27
+ 0, /* flags */ \
20
28
  }; \
21
29
  static SDL_##name* ruby_to_##name(VALUE val) { \
22
30
  SDL_##name* ret; \
@@ -30,7 +38,8 @@
30
38
  _##name##_mark, _##name##_free, _##name##_memsize)
31
39
 
32
40
  #define DEFINE_CLASS_0(name, string_name) \
33
- DEFINE_CLASS_(name, string_name, _##name##_mark, _##name##_free, NULL)
41
+ DEFINE_CLASS_(name, string_name, \
42
+ _##name##_mark, _##name##_free, NULL)
34
43
 
35
44
  #define DEFINE_SELF(type, var, rb_var) \
36
45
  SDL_##type* var = ruby_to_##type(rb_var)
@@ -321,7 +330,7 @@ static VALUE Key_s_press_p(VALUE mod, VALUE keycode_) {
321
330
  SDL_Keycode keycode = NUM2INT(keycode_);
322
331
  SDL_Scancode scancode = SDL_GetScancodeFromKey(keycode);
323
332
 
324
- if (0 >= scancode || scancode >= key_state_len)
333
+ if (0 >= scancode || scancode >= (SDL_Scancode)key_state_len)
325
334
  rb_raise(eSDLError, "%d (%d) is out of bounds: %d",
326
335
  keycode, scancode, key_state_len);
327
336
 
@@ -508,6 +517,10 @@ typedef int (*f_rxyxyc)(SDL_Renderer*,
508
517
  typedef int (*f_rxyrc)(SDL_Renderer*,
509
518
  Sint16, Sint16, Sint16,
510
519
  Uint32);
520
+ typedef int (*f_poly)(SDL_Renderer*,
521
+ const Sint16 *, const Sint16 *,
522
+ int,
523
+ Uint32);
511
524
 
512
525
  // TODO: ? maybe ?
513
526
  // int hlineColor (SDL_Renderer *renderer, Sint16 x1, Sint16 x2, Sint16 y, Uint32 color)
@@ -521,9 +534,7 @@ typedef int (*f_rxyrc)(SDL_Renderer*,
521
534
  // int trigonColor (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint32 color)
522
535
  // int aatrigonColor (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint32 color)
523
536
  // int filledTrigonColor (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint32 color)
524
- // int polygonColor (SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, Uint32 color)
525
- // int aapolygonColor (SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, Uint32 color)
526
- // int filledPolygonColor (SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, Uint32 color)
537
+ // int filledPolygonColor (SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, Uint32 color)
527
538
  // int texturedPolygon (SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, SDL_Surface *texture, int texture_dx, int texture_dy)
528
539
  // void gfxPrimitivesSetFont (const void *fontdata, Uint32 cw, Uint32 ch)
529
540
  // void gfxPrimitivesSetFontRotation(Uint32 rotation)
@@ -648,6 +659,46 @@ static VALUE Renderer_draw_line(VALUE self,
648
659
  return Qnil;
649
660
  }
650
661
 
662
+ // int polygonColor (SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, Uint32 color)
663
+ // int aapolygonColor (SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, Uint32 color)
664
+
665
+ static f_poly f_polygon[] = { &polygonColor,
666
+ &aapolygonColor };
667
+
668
+ static VALUE Renderer_draw_polygon(VALUE self,
669
+ VALUE xs_,
670
+ VALUE ys_,
671
+ VALUE c,
672
+ VALUE aa) {
673
+ DEFINE_SELF(Renderer, renderer, self);
674
+
675
+ int xlen = RARRAY_LENINT(xs_);
676
+ int ylen = RARRAY_LENINT(ys_);
677
+
678
+ if (xlen != ylen)
679
+ rb_raise(rb_eArgError, "xs & ys are different length");
680
+
681
+ Sint16 *xs = malloc(xlen*sizeof(Sint16));
682
+ for (int i = 0; i < xlen; i++) {
683
+ xs[i] = NUM2SINT16(RARRAY_AREF(xs_, i));
684
+ }
685
+
686
+ Sint16 *ys = malloc(ylen*sizeof(Sint16));
687
+ for (int i = 0; i < ylen; i++) {
688
+ ys[i] = NUM2SINT16(RARRAY_AREF(ys_, i));
689
+ }
690
+
691
+ Uint8 idx = IDX1(RTEST(aa));
692
+
693
+ if (f_polygon[idx](renderer, xs, ys, xlen, VALUE2COLOR(c)))
694
+ FAILURE("draw_polygon");
695
+
696
+ free(xs);
697
+ free(ys);
698
+
699
+ return Qnil;
700
+ }
701
+
651
702
  static f_rxyxyc f_rect[] = { &rectangleColor,
652
703
  &boxColor };
653
704
 
@@ -1076,17 +1127,17 @@ void Init_sdl() {
1076
1127
  mKey = rb_define_module_under(mSDL, "Key");
1077
1128
  mMouse = rb_define_module_under(mSDL, "Mouse");
1078
1129
 
1079
- cAudio = rb_define_class_under(mSDL, "Audio", rb_cData);
1080
- cCollisionMap = rb_define_class_under(mSDL, "CollisionMap", rb_cData);
1130
+ cAudio = rb_define_class_under(mSDL, "Audio", rb_cObject);
1131
+ cCollisionMap = rb_define_class_under(mSDL, "CollisionMap", rb_cObject);
1081
1132
  cEvent = rb_define_class_under(mSDL, "Event", rb_cObject);
1082
- cPixelFormat = rb_define_class_under(mSDL, "PixelFormat", rb_cData);
1083
- cSurface = rb_define_class_under(mSDL, "Surface", rb_cData);
1084
- cTTFFont = rb_define_class_under(mSDL, "TTF", rb_cData); // TODO: Font
1133
+ cPixelFormat = rb_define_class_under(mSDL, "PixelFormat", rb_cObject);
1134
+ cSurface = rb_define_class_under(mSDL, "Surface", rb_cObject);
1135
+ cTTFFont = rb_define_class_under(mSDL, "TTF", rb_cObject); // TODO: Font
1085
1136
 
1086
1137
  cScreen = rb_define_class_under(mSDL, "Screen", cSurface);
1087
- cRenderer = rb_define_class_under(mSDL, "Renderer", rb_cData);
1088
- cWindow = rb_define_class_under(mSDL, "Window", rb_cData);
1089
- cTexture = rb_define_class_under(mSDL, "Texture", rb_cData);
1138
+ cRenderer = rb_define_class_under(mSDL, "Renderer", rb_cObject);
1139
+ cWindow = rb_define_class_under(mSDL, "Window", rb_cObject);
1140
+ cTexture = rb_define_class_under(mSDL, "Texture", rb_cObject);
1090
1141
 
1091
1142
  cEventQuit = rb_define_class_under(cEvent, "Quit", cEvent);
1092
1143
  cEventKeydown = rb_define_class_under(cEvent, "Keydown", cEvent);
@@ -1098,6 +1149,17 @@ void Init_sdl() {
1098
1149
 
1099
1150
  eSDLError = rb_define_class_under(mSDL, "Error", rb_eStandardError);
1100
1151
 
1152
+ //// T_DATA cleanup: (mirror DEFINE_CLASS* calls above)
1153
+
1154
+ rb_undef_alloc_func(cAudio);
1155
+ rb_undef_alloc_func(cSurface);
1156
+ rb_undef_alloc_func(cCollisionMap);
1157
+ rb_undef_alloc_func(cPixelFormat);
1158
+ rb_undef_alloc_func(cTTFFont);
1159
+ rb_undef_alloc_func(cRenderer);
1160
+ rb_undef_alloc_func(cWindow);
1161
+ rb_undef_alloc_func(cTexture);
1162
+
1101
1163
  //// SDL methods:
1102
1164
 
1103
1165
  rb_define_module_function(mSDL, "init", sdl_s_init, 1);
@@ -1185,6 +1247,7 @@ void Init_sdl() {
1185
1247
  rb_define_method(cRenderer, "draw_ellipse", Renderer_draw_ellipse, 7);
1186
1248
  rb_define_method(cRenderer, "draw_line", Renderer_draw_line, 6);
1187
1249
  rb_define_method(cRenderer, "draw_rect", Renderer_draw_rect, 6);
1250
+ rb_define_method(cRenderer, "draw_polygon", Renderer_draw_polygon, 4);
1188
1251
  rb_define_method(cRenderer, "fast_rect", Renderer_fast_rect, 5);
1189
1252
  rb_define_method(cRenderer, "h", Renderer_h, 0);
1190
1253
  rb_define_method(cRenderer, "new_texture", Renderer_new_texture, 0);
@@ -156,7 +156,7 @@ void sge_SetError(const char *format, ...)
156
156
  vsprintf(buf, format, ap);
157
157
  va_end(ap);
158
158
 
159
- SDL_SetError(buf);
159
+ SDL_SetError("%s", buf);
160
160
  }
161
161
 
162
162
 
data/graphics_setup.sh CHANGED
@@ -1,38 +1,23 @@
1
1
  #!/bin/sh
2
- set -e
3
- set -v
4
-
5
- # if [ $(id -u) != 0 ]; then
6
- # echo "Please run this as root or with sudo"
7
- # exit 1
8
- # fi
9
2
 
10
- for gem in graphics rsdl; do
11
- gem uninstall -ax $gem || true
12
- done
3
+ set -v
13
4
 
14
5
  case `uname` in
15
6
  Darwin)
16
7
  echo "I'm on OSX. Not using sudo"
17
8
  SUDO=
18
9
 
19
- brew unlink sdl
20
- brew unlink sdl_mixer
21
- brew unlink sdl_ttf
22
- brew unlink sdl_image
23
-
24
10
  brew install sdl2
25
11
  brew install sdl2_mixer
26
12
  brew install sdl2_ttf
27
- brew install sdl2_image --without-webp
28
- brew install sdl2_gfx
13
+ brew install sdl2_image
14
+ brew install sdl2_gfx
29
15
  ;;
30
16
  Linux)
31
17
  echo "I'm on linux, using sudo where needed"
32
18
  SUDO=sudo
33
19
 
34
- $SUDO apt-get install --no-install-recommends --no-install-suggests libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev
35
- $SUDO apt-get install --no-install-recommends --no-install-suggests gcc g++
20
+ $SUDO apt-get install --no-install-recommends --no-install-suggests libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev gcc g++
36
21
  ;;
37
22
  *)
38
23
  echo "Unknown OS $OSTYPE, aborting"
@@ -40,17 +25,16 @@ case `uname` in
40
25
  ;;
41
26
  esac
42
27
 
43
- $SUDO gem update --system -N -V
44
-
45
- gem install hoe --conservative
46
- $SUDO rake newb
47
- rake test
48
-
49
28
  if [ -f $0 ]; then
29
+ $SUDO gem update --system -N -V
30
+ $SUDO gem install hoe --conservative
31
+ $SUDO rake newb
32
+ rake test
50
33
  rake clean package
51
34
  $SUDO gem install pkg/graphics*.gem
52
35
  else
53
- $SUDO gem install graphics --pre
36
+ $SUDO gem install graphics
54
37
  fi
55
38
 
56
- rsdl -Ilib -rgraphics -e 'Class.new(Graphics::Simulation) { def draw n; clear :white; text "hit escape to quit", 100, 100, :black; end; }.new(500, 250, 0, "Working!").run'
39
+ echo "running a test... you should see a window show up."
40
+ ruby -Ilib -rgraphics -e 'Class.new(Graphics::Simulation) { def draw n; clear :white; text "hit escape to quit", 100, 100, :black; end; }.new(500, 250, "Working!").run'
@@ -206,7 +206,7 @@ class Graphics::AbstractSimulation
206
206
  File.expand_path("~/Library/Fonts/"),
207
207
 
208
208
  # Ubuntu
209
- "/usr/share/fonts/truetype/**/",
209
+ "/usr/share/fonts/**/",
210
210
  ]
211
211
  FONT_GLOB = "{#{font_dirs.join(",")}}" # :nodoc:
212
212
 
@@ -497,11 +497,14 @@ class Graphics::AbstractSimulation
497
497
  # Draw a closed form polygon from an array of points in a particular
498
498
  # color.
499
499
 
500
- def polygon *points, color
500
+ def polygon points, c
501
+ return unless points.size > 1
502
+
501
503
  points << points.first
502
- points.each_cons(2) do |p1, p2|
503
- line(*p1, *p2, color)
504
- end
504
+
505
+ xs, ys = points.transpose
506
+
507
+ renderer.draw_polygon xs, ys.map { |y| h-y-1 }, c, :aa
505
508
  end
506
509
 
507
510
  ##
data/lib/graphics.rb CHANGED
@@ -2,7 +2,7 @@
2
2
  # The top-level namespace.
3
3
 
4
4
  class Graphics
5
- VERSION = "1.0.0" # :nodoc:
5
+ VERSION = "1.1.0" # :nodoc:
6
6
  end
7
7
 
8
8
  require "graphics/simulation"
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,18 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphics
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Davis
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDPjCCAiagAwIBAgIBAjANBgkqhkiG9w0BAQUFADBFMRMwEQYDVQQDDApyeWFu
13
+ MIIDPjCCAiagAwIBAgIBBzANBgkqhkiG9w0BAQsFADBFMRMwEQYDVQQDDApyeWFu
14
14
  ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
15
- GRYDY29tMB4XDTE3MTEyMTIxMTExMFoXDTE4MTEyMTIxMTExMFowRTETMBEGA1UE
15
+ GRYDY29tMB4XDTIzMDEwMTA3NTExN1oXDTI0MDEwMTA3NTExN1owRTETMBEGA1UE
16
16
  AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
17
17
  JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
18
18
  b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
@@ -21,15 +21,15 @@ cert_chain:
21
21
  GiadM9GHRaDiaxuX0cIUBj19T01mVE2iymf9I6bEsiayK/n6QujtyCbTWsAS9Rqt
22
22
  qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
23
23
  gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
24
- HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBBQUAA4IB
25
- AQAfAXSQpsW7YSxd1csRtA/M4Zt0AMXFMd76GJ8Lgtg8G0+VFbdChRyDuDb0kPlW
26
- h9QQX/YABfCW8vxmssbMGrP+VGBAn7BbdTcfTlgCWrvMX1uL5aRL74nA4urKXqdW
27
- a0nP70K4958P3GffBdtE3KGkU5xstFnXGajxuBRnL66E15KU0BNehVxdG258bdPu
28
- EKN6MqBPftFiev3tuwqDV11r2GquDpniYcT+Mi8/PgeAgVT/afBeVgbB3KaZeTRR
29
- AhXhF6Wi2GTMezlj5jlI5XV7WsJUSwTp/YiVvcmT74ZaCRvexm6EnNhkrvJJ1Xeu
30
- V+HB+LYYhXWitInO/eXxDrFB
24
+ HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBCwUAA4IB
25
+ AQAkg3y+PBnBAPWdxxITm5sPHqdWQgSyCpRA20o4LTuWr8BWhSXBkfQNa7cY6fOn
26
+ xyM34VPzBFbExv6XOGDfOMFBVaYTHuN9peC/5/umL7kLl+nflXzL2QA7K6LYj5Bg
27
+ sM574Onr0dZDM6Vn69bzQ7rBIFDfK/OhlPzqKZad4nsdcsVH8ODCiT+ATMIZyz5K
28
+ WCnNtqlyiWXI8tdTpahDgcUwfcN/oN7v4K8iU5IbLJX6HQ5DKgmKjfb6XyMth16k
29
+ ROfWo9Uyp8ba/j9eVG14KkYRaLydAY1MNQk2yd3R5CGfeOpD1kttxjoypoUJ2dOG
30
+ nsNBRuQJ1UfiCG97a6DNm+Fr
31
31
  -----END CERTIFICATE-----
32
- date: 2018-11-13 00:00:00.000000000 Z
32
+ date: 2023-07-26 00:00:00.000000000 Z
33
33
  dependencies:
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: rdoc
@@ -71,14 +71,14 @@ dependencies:
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '3.17'
74
+ version: '4.0'
75
75
  type: :development
76
76
  prerelease: false
77
77
  version_requirements: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '3.17'
81
+ version: '4.0'
82
82
  description: |-
83
83
  Graphics provides a simple framework to implement games and/or
84
84
  simulations and is designed to follow mathematical conventions, NOT
@@ -89,7 +89,7 @@ description: |-
89
89
  * Right hand rule: 0 degrees is east, 90 is north, etc.
90
90
 
91
91
  These allow simple things like Trigonometry functions to work as
92
- expected. It means that all that stuff you were taught it grade school
92
+ expected. It means that all that stuff you were taught in grade school
93
93
  still work as intended. This makes one less thing you have to adjust
94
94
  when implementing your simulation.
95
95
  email:
@@ -182,8 +182,9 @@ files:
182
182
  homepage: https://github.com/zenspider/graphics
183
183
  licenses:
184
184
  - MIT
185
- metadata: {}
186
- post_install_message:
185
+ metadata:
186
+ homepage_uri: https://github.com/zenspider/graphics
187
+ post_install_message:
187
188
  rdoc_options:
188
189
  - "--main"
189
190
  - README.rdoc
@@ -193,16 +194,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
193
194
  requirements:
194
195
  - - ">="
195
196
  - !ruby/object:Gem::Version
196
- version: '0'
197
+ version: '2.7'
197
198
  required_rubygems_version: !ruby/object:Gem::Requirement
198
199
  requirements:
199
200
  - - ">="
200
201
  - !ruby/object:Gem::Version
201
202
  version: '0'
202
203
  requirements: []
203
- rubyforge_project:
204
- rubygems_version: 2.7.3
205
- signing_key:
204
+ rubygems_version: 3.4.10
205
+ signing_key:
206
206
  specification_version: 4
207
207
  summary: Graphics provides a simple framework to implement games and/or simulations
208
208
  and is designed to follow mathematical conventions, NOT game programming conventions
metadata.gz.sig CHANGED
Binary file