texplay 0.4 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -67,19 +67,19 @@ process_x_y_pairs(VALUE image, int num_pairs, VALUE * argv, ...)
67
67
  va_end(ap);
68
68
  }
69
69
 
70
-
70
+
71
71
  /* singleton methods */
72
72
 
73
73
  /* responsible for creating macros */
74
74
  VALUE
75
- M_create_macro(VALUE self, VALUE method_name)
75
+ M_create_macro(VALUE self, VALUE method_name)
76
76
  {
77
77
  VALUE proc;
78
78
 
79
79
  rb_need_block();
80
80
 
81
81
  /* convert the block to a proc */
82
- proc = rb_block_proc();
82
+ proc = rb_block_proc();
83
83
 
84
84
  /* define the method in the TexPlay class so that it is accessible to 'instances' */
85
85
  rb_funcall(self, rb_intern("define_method"), 2, method_name, proc);
@@ -90,7 +90,7 @@ M_create_macro(VALUE self, VALUE method_name)
90
90
 
91
91
  /* responsible for removing macros */
92
92
  VALUE
93
- M_remove_macro(VALUE self, VALUE method_name)
93
+ M_remove_macro(VALUE self, VALUE method_name)
94
94
  {
95
95
 
96
96
  /* remove the method in the TexPlay class */
@@ -101,7 +101,7 @@ M_remove_macro(VALUE self, VALUE method_name)
101
101
 
102
102
  /* responsible for refreshing all entries in cache */
103
103
  VALUE
104
- M_refresh_cache_all(VALUE self)
104
+ M_refresh_cache_all(VALUE self)
105
105
  {
106
106
  cache_refresh_all();
107
107
 
@@ -117,7 +117,7 @@ M_refresh_cache_all(VALUE self)
117
117
  /* int rb_y = FIX2INT(y); */
118
118
  /* int rb_width = FIX2INT(width); */
119
119
  /* int rb_height = FIX2INT(height); */
120
-
120
+
121
121
  /* VALUE blob = rb_str_new(NULL, 4 * rb_width * rb_height); */
122
122
 
123
123
  /* glReadPixels(rb_x, rb_y, rb_width, rb_height, GL_RGBA, GL_UNSIGNED_BYTE, RSTRING_PTR(blob)); */
@@ -133,7 +133,7 @@ M_refresh_cache_all(VALUE self)
133
133
  /* VALUE fresh_image; */
134
134
 
135
135
  /* fresh_image = create_image(window, NUM2INT(width), NUM2INT(height)); */
136
-
136
+
137
137
  /* return fresh_image; */
138
138
  /* } */
139
139
  /** end singleton methods **/
@@ -143,11 +143,11 @@ static void
143
143
  rb_lazy_bounds_to_image_bounds(VALUE image, image_bounds * bounds)
144
144
  {
145
145
  VALUE lazy_bounds;
146
-
146
+
147
147
  lazy_bounds = get_image_local(image, LAZY_BOUNDS);
148
-
148
+
149
149
  Check_Type(lazy_bounds, T_ARRAY);
150
-
150
+
151
151
  bounds->xmin = FIX2INT(get_from_array(lazy_bounds, 0));
152
152
  bounds->ymin = FIX2INT(get_from_array(lazy_bounds, 1));
153
153
  bounds->xmax = FIX2INT(get_from_array(lazy_bounds, 2));
@@ -158,9 +158,9 @@ static VALUE
158
158
  parse_sync_mode(VALUE user_sync_mode)
159
159
  {
160
160
  sync mode;
161
-
161
+
162
162
  Check_Type(user_sync_mode, T_SYMBOL);
163
-
163
+
164
164
  if(user_sync_mode == string2sym("lazy_sync"))
165
165
  mode = lazy_sync;
166
166
  else if(user_sync_mode == string2sym("eager_sync"))
@@ -178,7 +178,7 @@ parse_sync_mode(VALUE user_sync_mode)
178
178
 
179
179
  /* entry point for TexPlay paint actions */
180
180
  VALUE
181
- m_paint(int argc, VALUE * argv, VALUE self)
181
+ m_paint(int argc, VALUE * argv, VALUE self)
182
182
  {
183
183
  texture_info tex;
184
184
  VALUE options;
@@ -205,7 +205,7 @@ m_paint(int argc, VALUE * argv, VALUE self)
205
205
  rb_lazy_bounds_to_image_bounds(self, &bounds);
206
206
 
207
207
  create_subtexture_and_sync_to_gl(&bounds, &tex);
208
-
208
+
209
209
  /* reset the LAZY_BOUNDS now we've sync'd */
210
210
  set_image_local(self, LAZY_BOUNDS, Qnil);
211
211
 
@@ -221,18 +221,18 @@ m_paint(int argc, VALUE * argv, VALUE self)
221
221
  switch(arity) {
222
222
  case -1:
223
223
  case 0:
224
- rb_instace_eval(0, 0, self);
224
+ rb_instance_eval(0, 0, self);
225
225
  break;
226
226
  case 1:
227
227
  rb_yield(self);
228
228
  break;
229
- default:
229
+ default:
230
230
  rb_raise(rb_eArgError, "block arity must be either 1 or -1 or 0, received arity of: %d", arity);
231
231
  }
232
232
 
233
233
  /* if lazy sync is selected then sync now..as the paint block has finished executing the draw actions*/
234
234
  if(sync_mode == lazy_sync) {
235
-
235
+
236
236
  rb_lazy_bounds_to_image_bounds(self, &bounds);
237
237
 
238
238
  create_subtexture_and_sync_to_gl(&bounds, &tex);
@@ -253,7 +253,7 @@ m_force_sync(VALUE self, VALUE ary)
253
253
  {
254
254
  image_bounds bounds;
255
255
  texture_info tex;
256
-
256
+
257
257
  Check_Type(ary, T_ARRAY);
258
258
 
259
259
  get_texture_info(self, &tex);
@@ -307,7 +307,7 @@ m_clone_image(VALUE self)
307
307
 
308
308
  return cloned_image;
309
309
  }
310
-
310
+
311
311
  VALUE
312
312
  m_user_set_options(VALUE self, VALUE options)
313
313
  {
@@ -340,7 +340,7 @@ get_image_chunk_with_size(char * data, texture_info * tex, char * blob)
340
340
  for(int y = 0; y < tex->height; y++)
341
341
  for(int x = 0; x < tex->width; x++) {
342
342
  int buf_index = 4 * (x + y * tex->width);
343
-
343
+
344
344
  int offset = calc_pixel_offset(tex, x, y);
345
345
 
346
346
  memcpy(blob + buf_index, data + offset, 4);
@@ -354,7 +354,7 @@ m_to_blob(VALUE self)
354
354
  {
355
355
  texture_info tex;
356
356
  int sidelength;
357
-
357
+
358
358
  get_texture_info(self, &tex);
359
359
 
360
360
  glEnable(GL_TEXTURE_2D);
@@ -370,7 +370,7 @@ m_to_blob(VALUE self)
370
370
  glGetTexImage(GL_TEXTURE_2D, 0, GL_RGBA, GL_UNSIGNED_BYTE,(void*)(new_array));
371
371
 
372
372
  VALUE blob = rb_str_new(NULL, 4 * tex.width * tex.height);
373
-
373
+
374
374
  get_image_chunk_with_size(new_array, &tex, RSTRING_PTR(blob));
375
375
 
376
376
  glDisable(GL_TEXTURE_2D);
@@ -380,7 +380,7 @@ m_to_blob(VALUE self)
380
380
 
381
381
  /* return the pixel colour for the given x, y */
382
382
  VALUE
383
- m_getpixel(int argc, VALUE * argv, VALUE self)
383
+ m_getpixel(int argc, VALUE * argv, VALUE self)
384
384
  {
385
385
  int x1, y1;
386
386
  int last = argc - 1;
@@ -388,7 +388,7 @@ m_getpixel(int argc, VALUE * argv, VALUE self)
388
388
  rgba pix;
389
389
  bool gosu_color_mode = false;
390
390
  VALUE options;
391
-
391
+
392
392
 
393
393
  process_x_y_pairs(self, 1, argv, &x1, &y1);
394
394
 
@@ -415,13 +415,13 @@ m_getpixel(int argc, VALUE * argv, VALUE self)
415
415
 
416
416
  /* circle action */
417
417
  VALUE
418
- m_circle(int argc, VALUE * argv, VALUE self)
418
+ m_circle(int argc, VALUE * argv, VALUE self)
419
419
  {
420
420
  int x1, y1, r;
421
421
  int last = argc - 1;
422
422
  VALUE options;
423
- texture_info tex;
424
-
423
+ texture_info tex;
424
+
425
425
  if(argc < 2) rb_raise(rb_eArgError, "circle action needs at least 2 parameter");
426
426
 
427
427
  process_x_y_pairs(self, 1, argv, &x1, &y1);
@@ -464,7 +464,7 @@ m_ngon(int argc, VALUE * argv, VALUE self)
464
464
 
465
465
  return self;
466
466
  }
467
-
467
+
468
468
 
469
469
  /* flood fill action */
470
470
  VALUE
@@ -475,7 +475,7 @@ m_flood_fill(int argc, VALUE * argv, VALUE self)
475
475
  VALUE options;
476
476
  texture_info tex;
477
477
  bool iter = false, glow = false;
478
-
478
+
479
479
  if (argc < 1) rb_raise(rb_eArgError, "flood fill action needs at least 1 parameter");
480
480
 
481
481
  process_x_y_pairs(self, 1, argv, &x1, &y1);
@@ -485,9 +485,9 @@ m_flood_fill(int argc, VALUE * argv, VALUE self)
485
485
  get_texture_info(self, &tex);
486
486
 
487
487
  if(is_a_hash(options)) {
488
- if(RTEST(get_from_hash(options, "iter")))
488
+ if(RTEST(get_from_hash(options, "iter")))
489
489
  iter = true;
490
- if(RTEST(get_from_hash(options, "glow")))
490
+ if(RTEST(get_from_hash(options, "glow")))
491
491
  glow = true;
492
492
  }
493
493
 
@@ -502,7 +502,7 @@ m_flood_fill(int argc, VALUE * argv, VALUE self)
502
502
  else {
503
503
  scan_fill_do_action(x1, y1, &tex, options, sync_mode, true, NULL);
504
504
  }
505
-
505
+
506
506
  return self;
507
507
  }
508
508
 
@@ -524,7 +524,7 @@ convert_trace_match_to_ruby_array(trace_match match, bool gosu_color_mode)
524
524
 
525
525
  /* line action */
526
526
  VALUE
527
- m_line(int argc, VALUE * argv, VALUE self)
527
+ m_line(int argc, VALUE * argv, VALUE self)
528
528
  {
529
529
  int x1, y1, x2, y2;
530
530
  int last = argc - 1;
@@ -552,13 +552,13 @@ m_line(int argc, VALUE * argv, VALUE self)
552
552
  else
553
553
  return convert_trace_match_to_ruby_array(match, gosu_color_mode);
554
554
  }
555
-
555
+
556
556
  return self;
557
557
  }
558
558
 
559
559
  /* box action */
560
560
  VALUE
561
- m_rect(int argc, VALUE * argv, VALUE self)
561
+ m_rect(int argc, VALUE * argv, VALUE self)
562
562
  {
563
563
 
564
564
  int x1, y1, x2, y2;
@@ -573,7 +573,7 @@ m_rect(int argc, VALUE * argv, VALUE self)
573
573
  options = argv[last];
574
574
 
575
575
  get_texture_info(self, &tex);
576
-
576
+
577
577
  rect_do_action(x1, y1, x2, y2, &tex, options, sync_mode, true, NULL);
578
578
 
579
579
  return self;
@@ -582,13 +582,13 @@ m_rect(int argc, VALUE * argv, VALUE self)
582
582
 
583
583
  /* pixel action */
584
584
  VALUE
585
- m_pixel(int argc, VALUE * argv, VALUE self)
585
+ m_pixel(int argc, VALUE * argv, VALUE self)
586
586
  {
587
587
  int x1, y1;
588
588
  int last = argc - 1;
589
589
  VALUE options;
590
590
  texture_info tex;
591
-
591
+
592
592
  if(argc < 1) rb_raise(rb_eArgError, "pixel action needs 1 parameter");
593
593
 
594
594
  process_x_y_pairs(self, 1, argv, &x1, &y1);
@@ -596,7 +596,7 @@ m_pixel(int argc, VALUE * argv, VALUE self)
596
596
  options = argv[last];
597
597
 
598
598
  get_texture_info(self, &tex);
599
-
599
+
600
600
  pixel_do_action(x1, y1, &tex, options, sync_mode, true, NULL);
601
601
 
602
602
  return self;
@@ -612,13 +612,13 @@ m_bezier(int argc, VALUE * argv, VALUE self)
612
612
  texture_info tex;
613
613
 
614
614
  if(argc < 1) rb_raise(rb_eArgError, "bezier action needs at least 1 parameter");
615
-
615
+
616
616
  /* get array of points */
617
617
  points = argv[0];
618
618
  Check_Type(points, T_ARRAY);
619
-
619
+
620
620
  options = argv[last];
621
-
621
+
622
622
  get_texture_info(self, &tex);
623
623
 
624
624
  bezier_do_action(points, &tex, options, sync_mode, true, NULL);
@@ -654,7 +654,7 @@ m_polyline(int argc, VALUE * argv, VALUE self)
654
654
 
655
655
  /* splice action */
656
656
  VALUE
657
- m_splice(int argc, VALUE * argv, VALUE self)
657
+ m_splice(int argc, VALUE * argv, VALUE self)
658
658
  {
659
659
  int x0, y0;
660
660
  int cx1 = 0, cy1 = 0, cx2 = XMAX_OOB, cy2 = YMAX_OOB;
@@ -678,9 +678,9 @@ m_splice(int argc, VALUE * argv, VALUE self)
678
678
  options = argv[last];
679
679
 
680
680
  get_texture_info(self, &tex);
681
-
681
+
682
682
  /* get the crop boundaries */
683
- if(is_a_hash(options))
683
+ if(is_a_hash(options))
684
684
  if(RTEST(get_from_hash(options, "crop"))) {
685
685
  VALUE c = get_from_hash(options, "crop");
686
686
  Check_Type(c, T_ARRAY);
@@ -692,14 +692,14 @@ m_splice(int argc, VALUE * argv, VALUE self)
692
692
 
693
693
  splice_do_action(x0, y0, cx1, cy1, cx2, cy2, &splice_tex,
694
694
  &tex, options, sync_mode, true, NULL);
695
-
695
+
696
696
  return self;
697
697
  }
698
698
 
699
699
 
700
700
  /* clear action - really just an alias for box */
701
701
  VALUE
702
- m_clear(int argc, VALUE * argv, VALUE self)
702
+ m_clear(int argc, VALUE * argv, VALUE self)
703
703
  {
704
704
  VALUE parms[4];
705
705
 
@@ -715,13 +715,13 @@ m_clear(int argc, VALUE * argv, VALUE self)
715
715
 
716
716
  /* offset function */
717
717
  VALUE
718
- m_offset(int argc, VALUE * argv, VALUE self)
719
- {
718
+ m_offset(int argc, VALUE * argv, VALUE self)
719
+ {
720
720
  char * try_offset;
721
721
 
722
722
  if(argc == 0)
723
723
  return get_image_local(self, DRAW_OFFSET);
724
-
724
+
725
725
  switch(TYPE(argv[0])) {
726
726
 
727
727
  case T_ARRAY:
@@ -730,11 +730,11 @@ m_offset(int argc, VALUE * argv, VALUE self)
730
730
  break;
731
731
  case T_SYMBOL:
732
732
  try_offset = sym2string(argv[0]);
733
-
733
+
734
734
  if(!strcmp("default", try_offset)) {
735
735
  set_image_local(self, DRAW_OFFSET, Qnil);
736
736
  }
737
- else {
737
+ else {
738
738
  rb_raise(rb_eArgError, "no such offset defined: %s\n", try_offset);
739
739
  }
740
740
 
@@ -747,37 +747,37 @@ m_offset(int argc, VALUE * argv, VALUE self)
747
747
 
748
748
  /* color change */
749
749
  VALUE
750
- m_color(int argc, VALUE * argv, VALUE self)
750
+ m_color(int argc, VALUE * argv, VALUE self)
751
751
  {
752
752
  VALUE first;
753
753
  rgba new_color;
754
754
 
755
755
  /* if no params then return action current color */
756
- if(argc == 0)
756
+ if(argc == 0)
757
757
  return get_image_local(self, IMAGE_COLOR);
758
-
758
+
759
759
  /* otherwise set the action color */
760
760
  /* NB: we cannot just set image_local_color to 'first' because first may not be an array,
761
761
  it could also be a symbol */
762
762
 
763
763
  first = argv[0];
764
-
764
+
765
765
  new_color = convert_rb_color_to_rgba(first);
766
766
 
767
767
  /* im quite sure i DO want to set the color even if it is not_a_color.
768
768
  why ? consistency only
769
769
  (NB: not_a_color_v is skipped by the set_pixel_color routine */
770
-
770
+
771
771
  /* if(is_a_color(new_color)) */
772
-
772
+
773
773
  save_rgba_to_image_local_color(self, new_color);
774
-
774
+
775
775
  return Qnil;
776
776
  }
777
777
 
778
778
  /* this function manages all other method calls */
779
779
  VALUE
780
- m_missing(int argc, VALUE * argv, VALUE self)
780
+ m_missing(int argc, VALUE * argv, VALUE self)
781
781
  {
782
782
  char * action_name = lowercase(sym2string(argv[0]));
783
783
 
@@ -795,7 +795,7 @@ m_missing(int argc, VALUE * argv, VALUE self)
795
795
 
796
796
  /* refreshes the cache */
797
797
  VALUE
798
- m_cache_refresh(VALUE self)
798
+ m_cache_refresh(VALUE self)
799
799
  {
800
800
  texture_info tex;
801
801
 
@@ -808,7 +808,7 @@ m_cache_refresh(VALUE self)
808
808
 
809
809
  /* check whether img quad is already cached */
810
810
  VALUE
811
- m_quad_cached(VALUE self)
811
+ m_quad_cached(VALUE self)
812
812
  {
813
813
  VALUE info, gc_state_off;
814
814
  int tex_name;
@@ -823,7 +823,7 @@ m_quad_cached(VALUE self)
823
823
  tex_name = FIX2INT(rb_funcall(info, rb_intern("tex_name"), 0));
824
824
 
825
825
  entry = find_in_cache(tex_name);
826
-
826
+
827
827
  /* only enable gc if was enabled on function entry */
828
828
  if(!gc_state_off) rb_gc_enable();
829
829
 
@@ -852,7 +852,7 @@ m_each(int argc, VALUE * argv, VALUE self)
852
852
 
853
853
  if(RARRAY_LEN(region) < 4)
854
854
  rb_raise(rb_eArgError, "region requires 4 elements");
855
-
855
+
856
856
  x1 = NUM2INT(get_from_array(region, 0));
857
857
  y1 = NUM2INT(get_from_array(region, 1));
858
858
  x2 = NUM2INT(get_from_array(region, 2));
@@ -866,7 +866,7 @@ m_each(int argc, VALUE * argv, VALUE self)
866
866
  &x2, &y2, tex.width, tex.height);
867
867
 
868
868
  proc = rb_block_proc();
869
-
869
+
870
870
  each_pixel_do_action(x1, y1, x2, y2, proc, &tex, options, sync_mode, true, NULL);
871
871
 
872
872
  return self;
@@ -886,13 +886,13 @@ m_each(int argc, VALUE * argv, VALUE self)
886
886
  /* texture_info tex; */
887
887
 
888
888
  /* if(argc < 1) rb_raise(rb_eArgError, "bezier action needs at least 1 parameter"); */
889
-
889
+
890
890
  /* /\* get array of points *\/ */
891
891
  /* points = argv[0]; */
892
892
  /* Check_Type(points, T_ARRAY); */
893
-
893
+
894
894
  /* options = argv[last]; */
895
-
895
+
896
896
  /* get_texture_info(self, &tex); */
897
897
 
898
898
  /* bezier_do_action(points, &tex, options, sync_mode, true, NULL); */
@@ -905,8 +905,8 @@ m_each(int argc, VALUE * argv, VALUE self)
905
905
 
906
906
  /* below is yucky old code that needs to be updated */
907
907
  /* each_pixel iterator */
908
-
909
-
908
+
909
+
910
910
  /* VALUE */
911
911
  /* m_each(int argc, VALUE * argv, VALUE self) */
912
912
  /* { */
@@ -923,7 +923,7 @@ m_each(int argc, VALUE * argv, VALUE self)
923
923
  /* rb_raise(rb_eRuntimeError, "block arity must be either 1 or 3"); */
924
924
 
925
925
  /* /\* rb_scan_args(argc, argv, "01", &options); *\/ */
926
-
926
+
927
927
  /* /\* /\\* get texture info *\\/ *\/ */
928
928
  /* /\* get_texture_info(self, &tex); *\/ */
929
929
 
@@ -937,14 +937,14 @@ m_each(int argc, VALUE * argv, VALUE self)
937
937
  /* /\* y0 = NUM2INT(get_from_array(region, 1)); *\/ */
938
938
  /* /\* x1 = NUM2INT(get_from_array(region, 2)); *\/ */
939
939
  /* /\* y1 = NUM2INT(get_from_array(region, 3)); *\/ */
940
-
940
+
941
941
  /* /\* constrain_boundaries(&x0, &y0, &x1, &y1, tex.width, tex.height); *\/ */
942
942
  /* /\* } *\/ */
943
943
 
944
944
  /* /\* /\\* width and height of action *\\/ *\/ */
945
945
  /* /\* xbound = x1 - x0; *\/ */
946
946
  /* /\* ybound = y1 - y0; *\/ */
947
-
947
+
948
948
  /* /\* yield_vals = rb_ary_new(); *\/ */
949
949
 
950
950
  /* /\* for(y = 0; y < ybound; y++) *\/ */
@@ -954,10 +954,10 @@ m_each(int argc, VALUE * argv, VALUE self)
954
954
 
955
955
  /* /\* /\\* adjusted x and y *\\/ *\/ */
956
956
  /* /\* register int ax = x + x0, ay = y + y0; *\/ */
957
-
957
+
958
958
  /* /\* pixel_data[0] = INT2FIX(ax); *\/ */
959
959
  /* /\* pixel_data[1] = INT2FIX(ay); *\/ */
960
-
960
+
961
961
  /* /\* pixel_color = m_getpixel(self, INT2FIX(ax), INT2FIX(ay)); *\/ */
962
962
 
963
963
  /* /\* if(arity == 1) { *\/ */
@@ -967,7 +967,7 @@ m_each(int argc, VALUE * argv, VALUE self)
967
967
  /* /\* rb_ary_store(yield_vals, 0, pixel_color); *\/ */
968
968
  /* /\* rb_ary_store(yield_vals, 1, INT2FIX(x)); *\/ */
969
969
  /* /\* rb_ary_store(yield_vals, 2, INT2FIX(y)); *\/ */
970
-
970
+
971
971
  /* /\* rb_yield(yield_vals); *\/ */
972
972
  /* /\* } *\/ */
973
973
 
@@ -1011,10 +1011,10 @@ m_each(int argc, VALUE * argv, VALUE self)
1011
1011
  /* /\* else if(options != Qnil) { *\/ */
1012
1012
  /* /\* rb_raise(rb_eArgError, "argument must be a hash"); *\/ */
1013
1013
  /* /\* } *\/ */
1014
-
1014
+
1015
1015
  /* /\* /\\* get texture info *\\/ *\/ */
1016
1016
  /* /\* get_texture_info(self, &tex); *\/ */
1017
-
1017
+
1018
1018
  /* /\* for(y = 0; y < tex.height; y++) { *\/ */
1019
1019
  /* /\* for(x = 0; x < tex.width; x++) { *\/ */
1020
1020
  /* /\* offset = calc_pixel_offset(&tex, x, y); *\/ */
@@ -1057,7 +1057,7 @@ m_each(int argc, VALUE * argv, VALUE self)
1057
1057
  /* /\* image_bounds bounds; *\/ */
1058
1058
 
1059
1059
  /* /\* rb_scan_args(argc, argv, "01", &options); *\/ */
1060
-
1060
+
1061
1061
  /* /\* /\\* default values for other params *\\/ *\/ */
1062
1062
  /* /\* step = 1; loop = Qfalse; *\/ */
1063
1063
 
@@ -1068,7 +1068,7 @@ m_each(int argc, VALUE * argv, VALUE self)
1068
1068
  /* /\* else if(options != Qnil) { *\/ */
1069
1069
  /* /\* rb_raise(rb_eArgError, "argument must be a hash"); *\/ */
1070
1070
  /* /\* } *\/ */
1071
-
1071
+
1072
1072
  /* /\* /\\* get texture info *\\/ *\/ */
1073
1073
  /* /\* get_texture_info(self, &tex); *\/ */
1074
1074
 
@@ -1,3 +1,3 @@
1
1
  module TexPlay
2
- VERSION = "0.4"
2
+ VERSION = "0.4.1"
3
3
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: texplay
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: "0.4"
5
+ version: 0.4.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - John Mair (banisterfiend)
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-11-08 00:00:00 Z
13
+ date: 2011-11-10 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: gosu