gosu 0.7.12 → 0.7.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (156) hide show
  1. data/Gosu/Audio.hpp +1 -0
  2. data/Gosu/Bitmap.hpp +4 -4
  3. data/Gosu/Graphics.hpp +3 -0
  4. data/Gosu/Input.hpp +10 -0
  5. data/Gosu/Text.hpp +1 -0
  6. data/Gosu/Window.hpp +20 -9
  7. data/GosuImpl/Audio/ALChannelManagement.hpp +72 -0
  8. data/GosuImpl/Audio/AudioFileMac.hpp +105 -0
  9. data/GosuImpl/AudioOpenAL.mm +486 -0
  10. data/GosuImpl/DirectoriesTouch.mm +38 -0
  11. data/GosuImpl/Graphics/BitmapBMP.cpp +23 -8
  12. data/GosuImpl/Graphics/BitmapTouch.mm +73 -0
  13. data/GosuImpl/Graphics/BitmapUtils.cpp +0 -2
  14. data/GosuImpl/Graphics/BlockAllocator.cpp +15 -4
  15. data/GosuImpl/Graphics/Common.hpp +21 -0
  16. data/GosuImpl/Graphics/DrawOp.hpp +53 -10
  17. data/GosuImpl/Graphics/GosuView.hpp +28 -0
  18. data/GosuImpl/Graphics/GosuView.mm +159 -0
  19. data/GosuImpl/Graphics/Graphics.cpp +18 -18
  20. data/GosuImpl/Graphics/LargeImageData.cpp +3 -0
  21. data/GosuImpl/Graphics/TexChunk.cpp +3 -2
  22. data/GosuImpl/Graphics/Text.cpp +85 -20
  23. data/GosuImpl/Graphics/TextMac.cpp +14 -27
  24. data/GosuImpl/Graphics/TextTouch.mm +89 -0
  25. data/GosuImpl/Graphics/Texture.cpp +1 -5
  26. data/GosuImpl/Iconv.hpp +5 -3
  27. data/GosuImpl/InputMac.mm +8 -9
  28. data/GosuImpl/InputTouch.mm +47 -0
  29. data/GosuImpl/InputWin.cpp +12 -4
  30. data/GosuImpl/InputX.cpp +3 -1
  31. data/GosuImpl/MacUtility.hpp +41 -0
  32. data/GosuImpl/Math.cpp +1 -1
  33. data/GosuImpl/RubyGosu.swg +17 -6
  34. data/GosuImpl/RubyGosu_wrap.cxx +950 -549
  35. data/GosuImpl/RubyGosu_wrap.h +2 -1
  36. data/GosuImpl/TimingUnix.cpp +15 -17
  37. data/GosuImpl/UtilityTouch.mm +44 -0
  38. data/GosuImpl/WindowMac.mm +39 -19
  39. data/GosuImpl/WindowTouch.mm +154 -0
  40. data/GosuImpl/WindowWin.cpp +27 -10
  41. data/GosuImpl/WindowX.cpp +27 -7
  42. data/linux/extconf.rb +6 -0
  43. data/mac/Gosu.icns +0 -0
  44. data/mac/Gosu.xcodeproj/jlnr.pbxuser +562 -788
  45. data/mac/Gosu.xcodeproj/jlnr.perspectivev3 +113 -103
  46. data/mac/Gosu.xcodeproj/project.pbxproj +258 -173
  47. data/reference/Async_8hpp-source.html +1 -1
  48. data/reference/Audio_8hpp-source.html +91 -90
  49. data/reference/Audio_8hpp.html +1 -1
  50. data/reference/AutoLink_8hpp-source.html +1 -1
  51. data/reference/AutoLink_8hpp.html +1 -1
  52. data/reference/Bitmap_8hpp-source.html +11 -12
  53. data/reference/Bitmap_8hpp.html +1 -1
  54. data/reference/ButtonsMac_8hpp-source.html +1 -1
  55. data/reference/ButtonsWin_8hpp-source.html +1 -1
  56. data/reference/ButtonsX_8hpp-source.html +1 -1
  57. data/reference/Color_8hpp-source.html +1 -1
  58. data/reference/Color_8hpp.html +1 -1
  59. data/reference/Directories_8hpp-source.html +1 -1
  60. data/reference/Directories_8hpp.html +1 -1
  61. data/reference/Font_8hpp-source.html +1 -1
  62. data/reference/Font_8hpp.html +1 -1
  63. data/reference/Fwd_8hpp-source.html +1 -1
  64. data/reference/Fwd_8hpp.html +1 -1
  65. data/reference/Gosu_8hpp-source.html +1 -1
  66. data/reference/Gosu_8hpp.html +1 -1
  67. data/reference/GraphicsBase_8hpp-source.html +1 -1
  68. data/reference/GraphicsBase_8hpp.html +1 -1
  69. data/reference/Graphics_8hpp-source.html +64 -61
  70. data/reference/Graphics_8hpp.html +8 -1
  71. data/reference/IO_8hpp-source.html +1 -1
  72. data/reference/IO_8hpp.html +1 -1
  73. data/reference/ImageData_8hpp-source.html +1 -1
  74. data/reference/ImageData_8hpp.html +1 -1
  75. data/reference/Image_8hpp-source.html +1 -1
  76. data/reference/Image_8hpp.html +1 -1
  77. data/reference/Input_8hpp-source.html +81 -71
  78. data/reference/Input_8hpp.html +7 -1
  79. data/reference/Math_8hpp-source.html +1 -1
  80. data/reference/Math_8hpp.html +1 -1
  81. data/reference/Platform_8hpp-source.html +1 -1
  82. data/reference/Platform_8hpp.html +1 -1
  83. data/reference/RotFlip_8hpp-source.html +1 -1
  84. data/reference/RotFlip_8hpp.html +1 -1
  85. data/reference/Sockets_8hpp-source.html +1 -1
  86. data/reference/Sockets_8hpp.html +1 -1
  87. data/reference/TextInput_8hpp-source.html +1 -1
  88. data/reference/TextInput_8hpp.html +1 -1
  89. data/reference/Text_8hpp-source.html +28 -27
  90. data/reference/Text_8hpp.html +1 -1
  91. data/reference/Timing_8hpp-source.html +1 -1
  92. data/reference/Timing_8hpp.html +1 -1
  93. data/reference/Utility_8hpp-source.html +1 -1
  94. data/reference/Utility_8hpp.html +1 -1
  95. data/reference/WinUtility_8hpp-source.html +1 -1
  96. data/reference/WinUtility_8hpp.html +1 -1
  97. data/reference/Window_8hpp-source.html +76 -68
  98. data/reference/Window_8hpp.html +1 -1
  99. data/reference/annotated.html +1 -1
  100. data/reference/classGosu_1_1Audio-members.html +1 -1
  101. data/reference/classGosu_1_1Audio.html +1 -1
  102. data/reference/classGosu_1_1Bitmap-members.html +3 -2
  103. data/reference/classGosu_1_1Bitmap.html +9 -6
  104. data/reference/classGosu_1_1Buffer-members.html +1 -1
  105. data/reference/classGosu_1_1Buffer.html +1 -1
  106. data/reference/classGosu_1_1Button-members.html +1 -1
  107. data/reference/classGosu_1_1Button.html +2 -2
  108. data/reference/classGosu_1_1Color-members.html +1 -1
  109. data/reference/classGosu_1_1Color.html +1 -1
  110. data/reference/classGosu_1_1File-members.html +1 -1
  111. data/reference/classGosu_1_1File.html +1 -1
  112. data/reference/classGosu_1_1Font-members.html +1 -1
  113. data/reference/classGosu_1_1Font.html +1 -1
  114. data/reference/classGosu_1_1Graphics-members.html +1 -1
  115. data/reference/classGosu_1_1Graphics.html +1 -1
  116. data/reference/classGosu_1_1Image-members.html +1 -1
  117. data/reference/classGosu_1_1Image.html +1 -1
  118. data/reference/classGosu_1_1ImageData-members.html +1 -1
  119. data/reference/classGosu_1_1ImageData.html +1 -1
  120. data/reference/classGosu_1_1Input-members.html +1 -1
  121. data/reference/classGosu_1_1Input.html +1 -1
  122. data/reference/classGosu_1_1MessageSocket-members.html +1 -1
  123. data/reference/classGosu_1_1MessageSocket.html +1 -1
  124. data/reference/classGosu_1_1Resource-members.html +1 -1
  125. data/reference/classGosu_1_1Resource.html +1 -1
  126. data/reference/classGosu_1_1Sample-members.html +1 -1
  127. data/reference/classGosu_1_1Sample.html +1 -1
  128. data/reference/classGosu_1_1SampleInstance-members.html +1 -1
  129. data/reference/classGosu_1_1SampleInstance.html +1 -1
  130. data/reference/classGosu_1_1Song-members.html +1 -1
  131. data/reference/classGosu_1_1Song.html +1 -1
  132. data/reference/classGosu_1_1TextInput-members.html +1 -1
  133. data/reference/classGosu_1_1TextInput.html +1 -1
  134. data/reference/classGosu_1_1Window-members.html +3 -3
  135. data/reference/classGosu_1_1Window.html +27 -9
  136. data/reference/files.html +1 -1
  137. data/reference/functions.html +10 -5
  138. data/reference/functions_enum.html +1 -1
  139. data/reference/functions_func.html +10 -5
  140. data/reference/functions_vars.html +1 -1
  141. data/reference/hierarchy.html +1 -1
  142. data/reference/index.html +1 -1
  143. data/reference/namespaceGosu.html +13 -2
  144. data/reference/namespaceGosu_1_1Colors.html +1 -1
  145. data/reference/namespaceGosu_1_1Win.html +1 -1
  146. data/reference/namespacemembers.html +1 -1
  147. data/reference/namespacemembers_enum.html +1 -1
  148. data/reference/namespacemembers_eval.html +1 -1
  149. data/reference/namespacemembers_func.html +1 -1
  150. data/reference/namespacemembers_type.html +1 -1
  151. data/reference/namespacemembers_vars.html +1 -1
  152. data/reference/namespaces.html +1 -1
  153. data/windows/Gosu.sln +2 -2
  154. data/windows/Gosu.vcproj +7 -8
  155. data/windows/RubyGosu.vcproj +5 -5
  156. metadata +14 -2
@@ -25,11 +25,7 @@ unsigned Gosu::Texture::maxTextureSize()
25
25
  do
26
26
  {
27
27
  size *= 2;
28
- #ifdef GOSU_IS_IPHONE
29
- glTexImage2D(GL_PROXY_TEXTURE_2D, 0, GL_RGBA, size * 2, size * 2, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
30
- #else
31
28
  glTexImage2D(GL_PROXY_TEXTURE_2D, 0, GL_BGRA, size * 2, size * 2, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
32
- #endif
33
29
  glGetTexLevelParameteriv(GL_PROXY_TEXTURE_2D, 0, GL_TEXTURE_WIDTH, &width);
34
30
  } while (width != 0 && size < MAX_SIZE);
35
31
  }
@@ -108,7 +104,7 @@ std::auto_ptr<Gosu::TexChunk>
108
104
  const unsigned* texData = &pixelData[0];
109
105
  unsigned format = GL_RGBA;
110
106
  #else
111
- const unsigned* texData = bmp.glCompatibleData();
107
+ const unsigned* texData = bmp.data();
112
108
  unsigned format = GL_BGRA;
113
109
  #endif
114
110
 
@@ -3,12 +3,14 @@
3
3
 
4
4
  #include <Gosu/Platform.hpp>
5
5
 
6
- #ifdef __APPLE__
7
- // We want Apple's iconv
8
- #include </usr/include/iconv.h>
6
+ #ifdef GOSU_RUBY_19_MACPORTS
7
+ #include <iconv.h> // from MacPorts
8
+ #elsif defined(__APPLE__)
9
+ #include </usr/include/iconv.h> // We want Apple's iconv
9
10
  #else
10
11
  #include <iconv.h>
11
12
  #endif
13
+ //#endif
12
14
  #include <errno.h>
13
15
 
14
16
  namespace Gosu
@@ -502,14 +502,14 @@ struct Gosu::Input::Impl
502
502
 
503
503
  void updateMods(unsigned newMods)
504
504
  {
505
- const unsigned ids[8] = { kbLeftShift, kbLeftControl,
506
- kbLeftAlt, kbLeftMeta,
507
- kbRightShift, kbRightControl,
508
- kbRightAlt, kbRightMeta };
509
- const unsigned bits[8] = { NX_DEVICELSHIFTKEYMASK, NX_DEVICELCTLKEYMASK,
510
- NX_DEVICELALTKEYMASK, NX_DEVICELCMDKEYMASK,
511
- NX_DEVICERSHIFTKEYMASK, NX_DEVICERCTLKEYMASK,
512
- NX_DEVICERALTKEYMASK, NX_DEVICERCMDKEYMASK };
505
+ static const unsigned ids[8] = { kbLeftShift, kbLeftControl,
506
+ kbLeftAlt, kbLeftMeta,
507
+ kbRightShift, kbRightControl,
508
+ kbRightAlt, kbRightMeta };
509
+ static const unsigned bits[8] = { NX_DEVICELSHIFTKEYMASK, NX_DEVICELCTLKEYMASK,
510
+ NX_DEVICELALTKEYMASK, NX_DEVICELCMDKEYMASK,
511
+ NX_DEVICERSHIFTKEYMASK, NX_DEVICERCTLKEYMASK,
512
+ NX_DEVICERALTKEYMASK, NX_DEVICERCMDKEYMASK };
513
513
 
514
514
  for (unsigned i = 0; i < 8; ++i)
515
515
  if ((currentMods & bits[i]) != (newMods & bits[i]))
@@ -561,7 +561,6 @@ bool Gosu::Input::feedNSEvent(void* event)
561
561
  if (mods != pimpl->currentMods)
562
562
  pimpl->updateMods(mods);
563
563
 
564
-
565
564
  // Handle mouse input.
566
565
  switch (type)
567
566
  {
@@ -0,0 +1,47 @@
1
+ #include <Gosu/input.hpp>
2
+
3
+ struct Gosu::Input::Impl {
4
+ };
5
+
6
+ Gosu::Input::Input() {
7
+ }
8
+
9
+ Gosu::Input::~Input() {
10
+ }
11
+
12
+ wchar_t Gosu::Input::idToChar(Button btn) {
13
+ return 0;
14
+ }
15
+
16
+ Gosu::Button Gosu::Input::charToId(wchar_t ch) {
17
+ return noButton;
18
+ }
19
+
20
+ bool Gosu::Input::down(Button btn) const {
21
+ return false;
22
+ }
23
+
24
+ double Gosu::Input::mouseX() const {
25
+ return -1000;
26
+ }
27
+
28
+ double Gosu::Input::mouseY() const {
29
+ return -1000;
30
+ }
31
+
32
+ void Gosu::Input::setMousePosition(double x, double y) {
33
+ }
34
+
35
+ void Gosu::Input::setMouseFactors(double factorX, double factorY) {
36
+ }
37
+
38
+ void Gosu::Input::update() {
39
+ }
40
+
41
+ Gosu::TextInput* Gosu::Input::textInput() const {
42
+ return 0;
43
+ }
44
+
45
+ void Gosu::Input::setTextInput(TextInput* input) {
46
+ throw "NYI";
47
+ }
@@ -147,6 +147,10 @@ struct Gosu::Input::Impl
147
147
  DIDEVICEOBJECTDATA data[inputBufferSize];
148
148
  DWORD inOut;
149
149
  HRESULT hr;
150
+
151
+ RECT rect;
152
+ ::GetClientRect(window, &rect);
153
+ bool ignoreClicks = mouseX < 0 || mouseX > rect.right || mouseY < 0 || mouseY > rect.bottom;
150
154
 
151
155
  inOut = inputBufferSize;
152
156
  hr = mouse->GetDeviceData(sizeof data[0], data, &inOut, 0);
@@ -158,25 +162,25 @@ struct Gosu::Input::Impl
158
162
  // Everything's ok: Update buttons and fire events.
159
163
  for (unsigned i = 0; i < inOut; ++i)
160
164
  {
161
- bool down = (data[i].dwData & 0x80) != 0;
165
+ bool down = (data[i].dwData & 0x80) != 0 && !ignoreClicks;
162
166
 
163
167
  switch (data[i].dwOfs)
164
168
  {
165
169
  case DIMOFS_BUTTON0:
166
170
  {
167
171
  unsigned id = swapMouse ? msRight : msLeft;
168
- forceButton(id, down, collectEvents);
172
+ setButton(id, down, collectEvents);
169
173
  break;
170
174
  }
171
175
  case DIMOFS_BUTTON1:
172
176
  {
173
177
  unsigned id = swapMouse ? msLeft : msRight;
174
- forceButton(id, down, collectEvents);
178
+ setButton(id, down, collectEvents);
175
179
  break;
176
180
  }
177
181
  case DIMOFS_BUTTON2:
178
182
  {
179
- forceButton(msMiddle, down, collectEvents);
183
+ setButton(msMiddle, down, collectEvents);
180
184
  break;
181
185
  }
182
186
  case DIMOFS_Z:
@@ -191,6 +195,8 @@ struct Gosu::Input::Impl
191
195
  else
192
196
  event.id = msWheelUp;
193
197
  events.push_back(event);
198
+ event.action = EventInfo::buttonUp;
199
+ events.push_back(event);
194
200
  break;
195
201
  }
196
202
  }
@@ -208,6 +214,8 @@ struct Gosu::Input::Impl
208
214
  break;
209
215
  }
210
216
  }
217
+
218
+ keyboard:
211
219
 
212
220
  inOut = inputBufferSize;
213
221
  hr = keyboard->GetDeviceData(sizeof data[0], data, &inOut, 0);
@@ -167,7 +167,9 @@ void Gosu::Input::update()
167
167
  pimpl->keyMap[id] = true;
168
168
  // TODO: Here, above, below, who came up with that cast? Uh :)
169
169
  if (onButtonDown)
170
- onButtonDown(*reinterpret_cast<Button*>(&id));
170
+ onButtonDown(Button(id));
171
+ if (onButtonUp and id == msWheelUp or id == msWheelDown)
172
+ onButtonUp(Button(id));
171
173
  }
172
174
  else if (event.type == ButtonRelease)
173
175
  {
@@ -1,6 +1,47 @@
1
1
  #ifndef GOSU_MACUTILITY_HPP
2
2
  #define GOSU_MACUTILITY_HPP
3
3
 
4
+ #include <Gosu/Platform.hpp>
5
+
6
+ #import <CoreFoundation/CoreFoundation.h>
7
+
8
+ #ifndef GOSU_IS_IPHONE
9
+ #import <ApplicationServices/ApplicationServices.h>
10
+
11
+ // Not defined on 10.4 Tiger SDK which Gosu uses.
12
+ #if __LP64__ || NS_BUILD_32_LIKE_64
13
+ typedef long NSInteger;
14
+ typedef unsigned long NSUInteger;
15
+ #else
16
+ typedef int NSInteger;
17
+ typedef unsigned int NSUInteger;
18
+ #endif
19
+ #endif
20
+
21
+ #include <iostream>
22
+ #include <ostream>
23
+ #include <sstream>
24
+ #include <string>
25
+ #include <stdexcept>
26
+
27
+ namespace Gosu
28
+ {
29
+ inline void throwOSError(OSStatus status, unsigned line)
30
+ {
31
+ std::ostringstream str;
32
+ #ifdef GOSU_IS_IPHONE
33
+ str << "Error on line " << line << " (Code " << status << ")";
34
+ #else
35
+ str << "Error on line " << line << " (Code " << status << "): "
36
+ << GetMacOSStatusErrorString(status)
37
+ << " (" << GetMacOSStatusCommentString(status) << ")";
38
+ #endif
39
+ throw std::runtime_error(str.str());
40
+ }
41
+
42
+ #define CHECK_OS(status) if (!(status)) {} else Gosu::throwOSError(status, __LINE__)
43
+ }
44
+
4
45
  #ifdef __OBJC__
5
46
  #import <objc/objc.h>
6
47
  #import <stdexcept>
@@ -27,7 +27,7 @@ double Gosu::angle(double fromX, double fromY, double toX, double toY,
27
27
  if (distX == 0 && distY == 0)
28
28
  return def;
29
29
  else
30
- return radiansToGosu(std::atan2(distY, distX));
30
+ return normalizeAngle(radiansToGosu(std::atan2(distY, distX)));
31
31
  }
32
32
 
33
33
  double Gosu::angleDiff(double from, double to)
@@ -236,6 +236,11 @@ namespace Gosu
236
236
  %ignore Gosu::TextAlign;
237
237
  %include "../Gosu/GraphicsBase.hpp"
238
238
 
239
+ // For screenWidth/screenHeight
240
+ %ignore Gosu::Graphics;
241
+ %ignore Gosu::BorderFlags;
242
+ %include "../Gosu/Graphics.hpp"
243
+
239
244
  // Color
240
245
  %rename("alpha=") setAlpha;
241
246
  %rename("red=") setRed;
@@ -390,11 +395,16 @@ namespace Gosu
390
395
  // Does not matter that it's the Mac file, %include only analyses symbols to export, not their values.
391
396
  %include "../Gosu/ButtonsMac.hpp"
392
397
  %init %{
393
- // Backwards compatibility: import the constants into Gosu::Button.
398
+ // Backwards compatibility: import the constants into Gosu::Button.
394
399
  rb_eval_string("module Gosu::Button; Gosu.constants.each { |c| const_set(c, Gosu.const_get(c)) }; end");
395
400
 
396
401
  // ARGH, SWIG workaround...
397
- rb_eval_string("class Gosu::Image; def self.from_text(*args); args.size == 4 ? from_text_4(*args) : from_text_7(*args); end; end");
402
+ // It doesn't understand the C++ overloading otherwise.
403
+ rb_eval_string("class Gosu::Image; def self.from_text(*args); args.size == 4 ? from_text4(*args) : from_text7(*args); end; end");
404
+
405
+ // ARGH, SWIG workaround 2..
406
+ // It won't let me have a class method and method with the same name.
407
+ rb_eval_string("class Gosu::Window; def button_id_to_char(id); self.class.button_id_to_char(id); end; def char_to_button_id(ch); self.class.char_to_button_id(ch); end; end");
398
408
 
399
409
  // Extend Numeric with simple angle conversion methods.
400
410
  rb_eval_string("class ::Numeric;def gosu_to_radians;(self-90)*Math::PI/180.0;end;def radians_to_gosu;self*180.0/Math::PI+90;end;end");
@@ -426,6 +436,7 @@ namespace Gosu
426
436
  %rename("text_input=") setTextInput;
427
437
  %rename("mouse_x=") setMouseX;
428
438
  %rename("mouse_y=") setMouseY;
439
+ %rename("needs_redraw?") needsRedraw;
429
440
  %markfunc Gosu::Window "markWindow";
430
441
  %include "../Gosu/Window.hpp"
431
442
 
@@ -463,11 +474,11 @@ namespace Gosu
463
474
  bool isButtonDown(Gosu::Button btn) const {
464
475
  return $self->input().down(btn);
465
476
  }
466
- Gosu::Button charToButtonId(wchar_t ch) {
467
- return $self->input().charToId(ch);
477
+ static Gosu::Button charToButtonId(wchar_t ch) {
478
+ return Gosu::Input::charToId(ch);
468
479
  }
469
- wchar_t buttonIdToChar(Gosu::Button btn) {
470
- return $self->input().idToChar(btn);
480
+ static wchar_t buttonIdToChar(Gosu::Button btn) {
481
+ return Gosu::Input::idToChar(btn);
471
482
  }
472
483
 
473
484
  TextInput* textInput() const {
@@ -1,6 +1,6 @@
1
1
  /* ----------------------------------------------------------------------------
2
2
  * This file was automatically generated by SWIG (http://www.swig.org).
3
- * Version 1.3.31
3
+ * Version 1.3.38
4
4
  *
5
5
  * This file is not intended to be easily readable and contains a number of
6
6
  * coding conventions designed to improve portability and efficiency. Do not make
@@ -11,20 +11,28 @@
11
11
  #define SWIGRUBY
12
12
  #define SWIG_DIRECTORS
13
13
 
14
+
14
15
  #ifdef __cplusplus
15
- template<class T> class SwigValueWrapper {
16
- T *tt;
16
+ /* SwigValueWrapper is described in swig.swg */
17
+ template<typename T> class SwigValueWrapper {
18
+ struct SwigMovePointer {
19
+ T *ptr;
20
+ SwigMovePointer(T *p) : ptr(p) { }
21
+ ~SwigMovePointer() { delete ptr; }
22
+ SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
23
+ } pointer;
24
+ SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
25
+ SwigValueWrapper(const SwigValueWrapper<T>& rhs);
17
26
  public:
18
- SwigValueWrapper() : tt(0) { }
19
- SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
20
- SwigValueWrapper(const T& t) : tt(new T(t)) { }
21
- ~SwigValueWrapper() { delete tt; }
22
- SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; }
23
- operator T&() const { return *tt; }
24
- T *operator&() { return tt; }
25
- private:
26
- SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
27
+ SwigValueWrapper() : pointer(0) { }
28
+ SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; }
29
+ operator T&() const { return *pointer.ptr; }
30
+ T *operator&() { return pointer.ptr; }
27
31
  };
32
+
33
+ template <typename T> T SwigValueInit() {
34
+ return T();
35
+ }
28
36
  #endif
29
37
 
30
38
  /* -----------------------------------------------------------------------------
@@ -34,14 +42,14 @@ private:
34
42
 
35
43
  /* template workaround for compilers that cannot correctly implement the C++ standard */
36
44
  #ifndef SWIGTEMPLATEDISAMBIGUATOR
37
- # if defined(__SUNPRO_CC)
38
- # if (__SUNPRO_CC <= 0x560)
39
- # define SWIGTEMPLATEDISAMBIGUATOR template
40
- # else
41
- # define SWIGTEMPLATEDISAMBIGUATOR
42
- # endif
45
+ # if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
46
+ # define SWIGTEMPLATEDISAMBIGUATOR template
47
+ # elif defined(__HP_aCC)
48
+ /* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
49
+ /* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
50
+ # define SWIGTEMPLATEDISAMBIGUATOR template
43
51
  # else
44
- # define SWIGTEMPLATEDISAMBIGUATOR
52
+ # define SWIGTEMPLATEDISAMBIGUATOR
45
53
  # endif
46
54
  #endif
47
55
 
@@ -69,6 +77,12 @@ private:
69
77
  # endif
70
78
  #endif
71
79
 
80
+ #ifndef SWIG_MSC_UNSUPPRESS_4505
81
+ # if defined(_MSC_VER)
82
+ # pragma warning(disable : 4505) /* unreferenced local function has been removed */
83
+ # endif
84
+ #endif
85
+
72
86
  #ifndef SWIGUNUSEDPARM
73
87
  # ifdef __cplusplus
74
88
  # define SWIGUNUSEDPARM(p)
@@ -124,6 +138,12 @@ private:
124
138
  # define _CRT_SECURE_NO_DEPRECATE
125
139
  #endif
126
140
 
141
+ /* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
142
+ #if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
143
+ # define _SCL_SECURE_NO_DEPRECATE
144
+ #endif
145
+
146
+
127
147
  /* -----------------------------------------------------------------------------
128
148
  * This section contains generic SWIG labels for method/variable
129
149
  * declarations/attributes, and other compiler dependent labels.
@@ -131,14 +151,14 @@ private:
131
151
 
132
152
  /* template workaround for compilers that cannot correctly implement the C++ standard */
133
153
  #ifndef SWIGTEMPLATEDISAMBIGUATOR
134
- # if defined(__SUNPRO_CC)
135
- # if (__SUNPRO_CC <= 0x560)
136
- # define SWIGTEMPLATEDISAMBIGUATOR template
137
- # else
138
- # define SWIGTEMPLATEDISAMBIGUATOR
139
- # endif
154
+ # if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
155
+ # define SWIGTEMPLATEDISAMBIGUATOR template
156
+ # elif defined(__HP_aCC)
157
+ /* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
158
+ /* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
159
+ # define SWIGTEMPLATEDISAMBIGUATOR template
140
160
  # else
141
- # define SWIGTEMPLATEDISAMBIGUATOR
161
+ # define SWIGTEMPLATEDISAMBIGUATOR
142
162
  # endif
143
163
  #endif
144
164
 
@@ -166,6 +186,12 @@ private:
166
186
  # endif
167
187
  #endif
168
188
 
189
+ #ifndef SWIG_MSC_UNSUPPRESS_4505
190
+ # if defined(_MSC_VER)
191
+ # pragma warning(disable : 4505) /* unreferenced local function has been removed */
192
+ # endif
193
+ #endif
194
+
169
195
  #ifndef SWIGUNUSEDPARM
170
196
  # ifdef __cplusplus
171
197
  # define SWIGUNUSEDPARM(p)
@@ -221,16 +247,22 @@ private:
221
247
  # define _CRT_SECURE_NO_DEPRECATE
222
248
  #endif
223
249
 
250
+ /* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
251
+ #if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
252
+ # define _SCL_SECURE_NO_DEPRECATE
253
+ #endif
254
+
255
+
224
256
  /* -----------------------------------------------------------------------------
225
257
  * swigrun.swg
226
258
  *
227
- * This file contains generic CAPI SWIG runtime support for pointer
259
+ * This file contains generic C API SWIG runtime support for pointer
228
260
  * type checking.
229
261
  * ----------------------------------------------------------------------------- */
230
262
 
231
263
  /* This should only be incremented when either the layout of swig_type_info changes,
232
264
  or for whatever reason, the runtime changes incompatibly */
233
- #define SWIG_RUNTIME_VERSION "3"
265
+ #define SWIG_RUNTIME_VERSION "4"
234
266
 
235
267
  /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
236
268
  #ifdef SWIG_TYPE_TABLE
@@ -243,11 +275,11 @@ private:
243
275
 
244
276
  /*
245
277
  You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
246
- creating a static or dynamic library from the swig runtime code.
247
- In 99.9% of the cases, swig just needs to declare them as 'static'.
278
+ creating a static or dynamic library from the SWIG runtime code.
279
+ In 99.9% of the cases, SWIG just needs to declare them as 'static'.
248
280
 
249
- But only do this if is strictly necessary, ie, if you have problems
250
- with your compiler or so.
281
+ But only do this if strictly necessary, ie, if you have problems
282
+ with your compiler or suchlike.
251
283
  */
252
284
 
253
285
  #ifndef SWIGRUNTIME
@@ -265,6 +297,7 @@ private:
265
297
 
266
298
  /* Flags for pointer conversions */
267
299
  #define SWIG_POINTER_DISOWN 0x1
300
+ #define SWIG_CAST_NEW_MEMORY 0x2
268
301
 
269
302
  /* Flags for new pointer objects */
270
303
  #define SWIG_POINTER_OWN 0x1
@@ -273,14 +306,14 @@ private:
273
306
  /*
274
307
  Flags/methods for returning states.
275
308
 
276
- The swig conversion methods, as ConvertPtr, return and integer
309
+ The SWIG conversion methods, as ConvertPtr, return and integer
277
310
  that tells if the conversion was successful or not. And if not,
278
311
  an error code can be returned (see swigerrors.swg for the codes).
279
312
 
280
313
  Use the following macros/flags to set or process the returning
281
314
  states.
282
315
 
283
- In old swig versions, you usually write code as:
316
+ In old versions of SWIG, code such as the following was usually written:
284
317
 
285
318
  if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) {
286
319
  // success code
@@ -288,7 +321,7 @@ private:
288
321
  //fail code
289
322
  }
290
323
 
291
- Now you can be more explicit as:
324
+ Now you can be more explicit:
292
325
 
293
326
  int res = SWIG_ConvertPtr(obj,vptr,ty.flags);
294
327
  if (SWIG_IsOK(res)) {
@@ -297,7 +330,7 @@ private:
297
330
  // fail code
298
331
  }
299
332
 
300
- that seems to be the same, but now you can also do
333
+ which is the same really, but now you can also do
301
334
 
302
335
  Type *ptr;
303
336
  int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags);
@@ -315,7 +348,7 @@ private:
315
348
 
316
349
  I.e., now SWIG_ConvertPtr can return new objects and you can
317
350
  identify the case and take care of the deallocation. Of course that
318
- requires also to SWIG_ConvertPtr to return new result values, as
351
+ also requires SWIG_ConvertPtr to return new result values, such as
319
352
 
320
353
  int SWIG_ConvertPtr(obj, ptr,...) {
321
354
  if (<obj is ok>) {
@@ -333,7 +366,7 @@ private:
333
366
 
334
367
  Of course, returning the plain '0(success)/-1(fail)' still works, but you can be
335
368
  more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the
336
- swig errors code.
369
+ SWIG errors code.
337
370
 
338
371
  Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
339
372
  allows to return the 'cast rank', for example, if you have this
@@ -347,9 +380,8 @@ private:
347
380
  fooi(1) // cast rank '0'
348
381
 
349
382
  just use the SWIG_AddCast()/SWIG_CheckState()
383
+ */
350
384
 
351
-
352
- */
353
385
  #define SWIG_OK (0)
354
386
  #define SWIG_ERROR (-1)
355
387
  #define SWIG_IsOK(r) (r >= 0)
@@ -374,7 +406,6 @@ private:
374
406
  #define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r)
375
407
  #define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK))
376
408
 
377
-
378
409
  /* Cast-Rank Mode */
379
410
  #if defined(SWIG_CASTRANK_MODE)
380
411
  # ifndef SWIG_TypeRank
@@ -397,18 +428,16 @@ SWIGINTERNINLINE int SWIG_CheckState(int r) {
397
428
  #endif
398
429
 
399
430
 
400
-
401
-
402
431
  #include <string.h>
403
432
 
404
433
  #ifdef __cplusplus
405
434
  extern "C" {
406
435
  #endif
407
436
 
408
- typedef void *(*swig_converter_func)(void *);
437
+ typedef void *(*swig_converter_func)(void *, int *);
409
438
  typedef struct swig_type_info *(*swig_dycast_func)(void **);
410
439
 
411
- /* Structure to store inforomation on one type */
440
+ /* Structure to store information on one type */
412
441
  typedef struct swig_type_info {
413
442
  const char *name; /* mangled name of this type */
414
443
  const char *str; /* human readable name of this type */
@@ -453,7 +482,7 @@ SWIG_TypeNameComp(const char *f1, const char *l1,
453
482
  while ((*f2 == ' ') && (f2 != l2)) ++f2;
454
483
  if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
455
484
  }
456
- return (l1 - f1) - (l2 - f2);
485
+ return (int)((l1 - f1) - (l2 - f2));
457
486
  }
458
487
 
459
488
  /*
@@ -495,48 +524,66 @@ SWIG_TypeCompare(const char *nb, const char *tb) {
495
524
  }
496
525
 
497
526
 
498
- /* think of this as a c++ template<> or a scheme macro */
499
- #define SWIG_TypeCheck_Template(comparison, ty) \
500
- if (ty) { \
501
- swig_cast_info *iter = ty->cast; \
502
- while (iter) { \
503
- if (comparison) { \
504
- if (iter == ty->cast) return iter; \
505
- /* Move iter to the top of the linked list */ \
506
- iter->prev->next = iter->next; \
507
- if (iter->next) \
508
- iter->next->prev = iter->prev; \
509
- iter->next = ty->cast; \
510
- iter->prev = 0; \
511
- if (ty->cast) ty->cast->prev = iter; \
512
- ty->cast = iter; \
513
- return iter; \
514
- } \
515
- iter = iter->next; \
516
- } \
517
- } \
518
- return 0
519
-
520
527
  /*
521
528
  Check the typename
522
529
  */
523
530
  SWIGRUNTIME swig_cast_info *
524
531
  SWIG_TypeCheck(const char *c, swig_type_info *ty) {
525
- SWIG_TypeCheck_Template(strcmp(iter->type->name, c) == 0, ty);
532
+ if (ty) {
533
+ swig_cast_info *iter = ty->cast;
534
+ while (iter) {
535
+ if (strcmp(iter->type->name, c) == 0) {
536
+ if (iter == ty->cast)
537
+ return iter;
538
+ /* Move iter to the top of the linked list */
539
+ iter->prev->next = iter->next;
540
+ if (iter->next)
541
+ iter->next->prev = iter->prev;
542
+ iter->next = ty->cast;
543
+ iter->prev = 0;
544
+ if (ty->cast) ty->cast->prev = iter;
545
+ ty->cast = iter;
546
+ return iter;
547
+ }
548
+ iter = iter->next;
549
+ }
550
+ }
551
+ return 0;
526
552
  }
527
553
 
528
- /* Same as previous function, except strcmp is replaced with a pointer comparison */
554
+ /*
555
+ Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
556
+ */
529
557
  SWIGRUNTIME swig_cast_info *
530
- SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *into) {
531
- SWIG_TypeCheck_Template(iter->type == from, into);
558
+ SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) {
559
+ if (ty) {
560
+ swig_cast_info *iter = ty->cast;
561
+ while (iter) {
562
+ if (iter->type == from) {
563
+ if (iter == ty->cast)
564
+ return iter;
565
+ /* Move iter to the top of the linked list */
566
+ iter->prev->next = iter->next;
567
+ if (iter->next)
568
+ iter->next->prev = iter->prev;
569
+ iter->next = ty->cast;
570
+ iter->prev = 0;
571
+ if (ty->cast) ty->cast->prev = iter;
572
+ ty->cast = iter;
573
+ return iter;
574
+ }
575
+ iter = iter->next;
576
+ }
577
+ }
578
+ return 0;
532
579
  }
533
580
 
534
581
  /*
535
582
  Cast a pointer up an inheritance hierarchy
536
583
  */
537
584
  SWIGRUNTIMEINLINE void *
538
- SWIG_TypeCast(swig_cast_info *ty, void *ptr) {
539
- return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr);
585
+ SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) {
586
+ return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory);
540
587
  }
541
588
 
542
589
  /*
@@ -809,6 +856,15 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
809
856
 
810
857
  #include <ruby.h>
811
858
 
859
+ /* Remove global macros defined in Ruby's win32.h */
860
+ #ifdef write
861
+ # undef write
862
+ #endif
863
+ #ifdef read
864
+ # undef read
865
+ #endif
866
+
867
+
812
868
  /* Ruby 1.7 defines NUM2LL(), LL2NUM() and ULL2NUM() macros */
813
869
  #ifndef NUM2LL
814
870
  #define NUM2LL(x) NUM2LONG((x))
@@ -837,12 +893,44 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
837
893
  #ifndef RSTRING_PTR
838
894
  # define RSTRING_PTR(x) RSTRING(x)->ptr
839
895
  #endif
896
+ #ifndef RSTRING_END
897
+ # define RSTRING_END(x) (RSTRING_PTR(x) + RSTRING_LEN(x))
898
+ #endif
840
899
  #ifndef RARRAY_LEN
841
900
  # define RARRAY_LEN(x) RARRAY(x)->len
842
901
  #endif
843
902
  #ifndef RARRAY_PTR
844
903
  # define RARRAY_PTR(x) RARRAY(x)->ptr
845
904
  #endif
905
+ #ifndef RFLOAT_VALUE
906
+ # define RFLOAT_VALUE(x) RFLOAT(x)->value
907
+ #endif
908
+ #ifndef DOUBLE2NUM
909
+ # define DOUBLE2NUM(x) rb_float_new(x)
910
+ #endif
911
+ #ifndef RHASH_TBL
912
+ # define RHASH_TBL(x) (RHASH(x)->tbl)
913
+ #endif
914
+ #ifndef RHASH_ITER_LEV
915
+ # define RHASH_ITER_LEV(x) (RHASH(x)->iter_lev)
916
+ #endif
917
+ #ifndef RHASH_IFNONE
918
+ # define RHASH_IFNONE(x) (RHASH(x)->ifnone)
919
+ #endif
920
+ #ifndef RHASH_SIZE
921
+ # define RHASH_SIZE(x) (RHASH(x)->tbl->num_entries)
922
+ #endif
923
+ #ifndef RHASH_EMPTY_P
924
+ # define RHASH_EMPTY_P(x) (RHASH_SIZE(x) == 0)
925
+ #endif
926
+ #ifndef RSTRUCT_LEN
927
+ # define RSTRUCT_LEN(x) RSTRUCT(x)->len
928
+ #endif
929
+ #ifndef RSTRUCT_PTR
930
+ # define RSTRUCT_PTR(x) RSTRUCT(x)->ptr
931
+ #endif
932
+
933
+
846
934
 
847
935
  /*
848
936
  * Need to be very careful about how these macros are defined, especially
@@ -904,6 +992,7 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
904
992
  #define rb_undef_alloc_func(klass) rb_undef_method(CLASS_OF((klass)), "new")
905
993
  #endif
906
994
 
995
+ static VALUE _mSWIG = Qnil;
907
996
 
908
997
  /* -----------------------------------------------------------------------------
909
998
  * error manipulation
@@ -994,7 +1083,71 @@ SWIG_Ruby_ErrorType(int SWIG_code) {
994
1083
  }
995
1084
 
996
1085
 
1086
+ /* This function is called when a user inputs a wrong argument to
1087
+ a method.
1088
+ */
1089
+ SWIGINTERN
1090
+ const char* Ruby_Format_TypeError( const char* msg,
1091
+ const char* type,
1092
+ const char* name,
1093
+ const int argn,
1094
+ VALUE input )
1095
+ {
1096
+ char buf[128];
1097
+ VALUE str;
1098
+ VALUE asStr;
1099
+ if ( msg && *msg )
1100
+ {
1101
+ str = rb_str_new2(msg);
1102
+ }
1103
+ else
1104
+ {
1105
+ str = rb_str_new(NULL, 0);
1106
+ }
1107
+
1108
+ str = rb_str_cat2( str, "Expected argument " );
1109
+ sprintf( buf, "%d of type ", argn-1 );
1110
+ str = rb_str_cat2( str, buf );
1111
+ str = rb_str_cat2( str, type );
1112
+ str = rb_str_cat2( str, ", but got " );
1113
+ str = rb_str_cat2( str, rb_obj_classname(input) );
1114
+ str = rb_str_cat2( str, " " );
1115
+ asStr = rb_inspect(input);
1116
+ if ( RSTRING_LEN(asStr) > 30 )
1117
+ {
1118
+ str = rb_str_cat( str, StringValuePtr(asStr), 30 );
1119
+ str = rb_str_cat2( str, "..." );
1120
+ }
1121
+ else
1122
+ {
1123
+ str = rb_str_append( str, asStr );
1124
+ }
1125
+
1126
+ if ( name )
1127
+ {
1128
+ str = rb_str_cat2( str, "\n\tin SWIG method '" );
1129
+ str = rb_str_cat2( str, name );
1130
+ str = rb_str_cat2( str, "'" );
1131
+ }
1132
+
1133
+ return StringValuePtr( str );
1134
+ }
997
1135
 
1136
+ /* This function is called when an overloaded method fails */
1137
+ SWIGINTERN
1138
+ void Ruby_Format_OverloadedError(
1139
+ const int argc,
1140
+ const int maxargs,
1141
+ const char* method,
1142
+ const char* prototypes
1143
+ )
1144
+ {
1145
+ const char* msg = "Wrong # of arguments";
1146
+ if ( argc <= maxargs ) msg = "Wrong arguments";
1147
+ rb_raise(rb_eArgError,"%s for overloaded method '%s'.\n"
1148
+ "Possible C/C++ prototypes are:\n%s",
1149
+ msg, method, prototypes);
1150
+ }
998
1151
 
999
1152
  /* -----------------------------------------------------------------------------
1000
1153
  * See the LICENSE file for information on copyright, usage and redistribution
@@ -1012,26 +1165,54 @@ SWIG_Ruby_ErrorType(int SWIG_code) {
1012
1165
  extern "C" {
1013
1166
  #endif
1014
1167
 
1168
+ /* Ruby 1.8 actually assumes the first case. */
1169
+ #if SIZEOF_VOIDP == SIZEOF_LONG
1170
+ # define SWIG2NUM(v) LONG2NUM((unsigned long)v)
1171
+ # define NUM2SWIG(x) (unsigned long)NUM2LONG(x)
1172
+ #elif SIZEOF_VOIDP == SIZEOF_LONG_LONG
1173
+ # define SWIG2NUM(v) LL2NUM((unsigned long long)v)
1174
+ # define NUM2SWIG(x) (unsigned long long)NUM2LL(x)
1175
+ #else
1176
+ # error sizeof(void*) is not the same as long or long long
1177
+ #endif
1178
+
1015
1179
 
1016
1180
  /* Global Ruby hash table to store Trackings from C/C++
1017
- structs to Ruby Objects. */
1018
- static VALUE swig_ruby_trackings;
1019
-
1020
- /* Global variable that stores a reference to the ruby
1021
- hash table delete function. */
1022
- static ID swig_ruby_hash_delete = 0;
1181
+ structs to Ruby Objects.
1182
+ */
1183
+ static VALUE swig_ruby_trackings = Qnil;
1184
+
1185
+ /* Global variable that stores a reference to the ruby
1186
+ hash table delete function. */
1187
+ static ID swig_ruby_hash_delete;
1023
1188
 
1024
1189
  /* Setup a Ruby hash table to store Trackings */
1025
1190
  SWIGRUNTIME void SWIG_RubyInitializeTrackings(void) {
1026
1191
  /* Create a ruby hash table to store Trackings from C++
1027
- objects to Ruby objects. Also make sure to tell
1028
- the garabage collector about the hash table. */
1029
- swig_ruby_trackings = rb_hash_new();
1030
- rb_gc_register_address(&swig_ruby_trackings);
1031
-
1032
- /* Now store a reference to the hash table delete function
1033
- so that we only have to look it up once.*/
1034
- swig_ruby_hash_delete = rb_intern("delete");
1192
+ objects to Ruby objects. */
1193
+
1194
+ /* Try to see if some other .so has already created a
1195
+ tracking hash table, which we keep hidden in an instance var
1196
+ in the SWIG module.
1197
+ This is done to allow multiple DSOs to share the same
1198
+ tracking table.
1199
+ */
1200
+ ID trackings_id = rb_intern( "@__trackings__" );
1201
+ VALUE verbose = rb_gv_get("VERBOSE");
1202
+ rb_gv_set("VERBOSE", Qfalse);
1203
+ swig_ruby_trackings = rb_ivar_get( _mSWIG, trackings_id );
1204
+ rb_gv_set("VERBOSE", verbose);
1205
+
1206
+ /* No, it hasn't. Create one ourselves */
1207
+ if ( swig_ruby_trackings == Qnil )
1208
+ {
1209
+ swig_ruby_trackings = rb_hash_new();
1210
+ rb_ivar_set( _mSWIG, trackings_id, swig_ruby_trackings );
1211
+ }
1212
+
1213
+ /* Now store a reference to the hash table delete function
1214
+ so that we only have to look it up once.*/
1215
+ swig_ruby_hash_delete = rb_intern("delete");
1035
1216
  }
1036
1217
 
1037
1218
  /* Get a Ruby number to reference a pointer */
@@ -1041,8 +1222,7 @@ SWIGRUNTIME VALUE SWIG_RubyPtrToReference(void* ptr) {
1041
1222
  a Ruby number object. */
1042
1223
 
1043
1224
  /* Convert the pointer to a Ruby number */
1044
- unsigned long value = (unsigned long) ptr;
1045
- return LONG2NUM(value);
1225
+ return SWIG2NUM(ptr);
1046
1226
  }
1047
1227
 
1048
1228
  /* Get a Ruby number to reference an object */
@@ -1052,8 +1232,7 @@ SWIGRUNTIME VALUE SWIG_RubyObjectToReference(VALUE object) {
1052
1232
  a Ruby number object. */
1053
1233
 
1054
1234
  /* Convert the Object to a Ruby number */
1055
- unsigned long value = (unsigned long) object;
1056
- return LONG2NUM(value);
1235
+ return SWIG2NUM(object);
1057
1236
  }
1058
1237
 
1059
1238
  /* Get a Ruby object from a previously stored reference */
@@ -1061,9 +1240,8 @@ SWIGRUNTIME VALUE SWIG_RubyReferenceToObject(VALUE reference) {
1061
1240
  /* The provided Ruby number object is a reference
1062
1241
  to the Ruby object we want.*/
1063
1242
 
1064
- /* First convert the Ruby number to a C number */
1065
- unsigned long value = NUM2LONG(reference);
1066
- return (VALUE) value;
1243
+ /* Convert the Ruby number to a Ruby object */
1244
+ return NUM2SWIG(reference);
1067
1245
  }
1068
1246
 
1069
1247
  /* Add a Tracking from a C/C++ struct to a Ruby object */
@@ -1155,6 +1333,15 @@ SWIG_Ruby_AppendOutput(VALUE target, VALUE o) {
1155
1333
  return target;
1156
1334
  }
1157
1335
 
1336
+ /* For ruby1.8.4 and earlier. */
1337
+ #ifndef RUBY_INIT_STACK
1338
+ RUBY_EXTERN void Init_stack(VALUE* addr);
1339
+ # define RUBY_INIT_STACK \
1340
+ VALUE variable_in_this_stack_frame; \
1341
+ Init_stack(&variable_in_this_stack_frame);
1342
+ #endif
1343
+
1344
+
1158
1345
  #ifdef __cplusplus
1159
1346
  }
1160
1347
  #endif
@@ -1219,6 +1406,7 @@ SWIG_Ruby_AppendOutput(VALUE target, VALUE o) {
1219
1406
  #define SWIG_MangleStr(value) SWIG_Ruby_MangleStr(value)
1220
1407
  #define SWIG_CheckConvert(value, ty) SWIG_Ruby_CheckConvert(value, ty)
1221
1408
 
1409
+ #include "assert.h"
1222
1410
 
1223
1411
  /* -----------------------------------------------------------------------------
1224
1412
  * pointers/data manipulation
@@ -1226,9 +1414,6 @@ SWIG_Ruby_AppendOutput(VALUE target, VALUE o) {
1226
1414
 
1227
1415
  #ifdef __cplusplus
1228
1416
  extern "C" {
1229
- #if 0
1230
- } /* cc-mode */
1231
- #endif
1232
1417
  #endif
1233
1418
 
1234
1419
  typedef struct {
@@ -1240,10 +1425,44 @@ typedef struct {
1240
1425
  } swig_class;
1241
1426
 
1242
1427
 
1243
- static VALUE _mSWIG = Qnil;
1428
+ /* Global pointer used to keep some internal SWIG stuff */
1244
1429
  static VALUE _cSWIG_Pointer = Qnil;
1245
1430
  static VALUE swig_runtime_data_type_pointer = Qnil;
1246
1431
 
1432
+ /* Global IDs used to keep some internal SWIG stuff */
1433
+ static ID swig_arity_id = 0;
1434
+ static ID swig_call_id = 0;
1435
+
1436
+ /*
1437
+ If your swig extension is to be run within an embedded ruby and has
1438
+ director callbacks, you should set -DRUBY_EMBEDDED during compilation.
1439
+ This will reset ruby's stack frame on each entry point from the main
1440
+ program the first time a virtual director function is invoked (in a
1441
+ non-recursive way).
1442
+ If this is not done, you run the risk of Ruby trashing the stack.
1443
+ */
1444
+
1445
+ #ifdef RUBY_EMBEDDED
1446
+
1447
+ # define SWIG_INIT_STACK \
1448
+ if ( !swig_virtual_calls ) { RUBY_INIT_STACK } \
1449
+ ++swig_virtual_calls;
1450
+ # define SWIG_RELEASE_STACK --swig_virtual_calls;
1451
+ # define Ruby_DirectorTypeMismatchException(x) \
1452
+ rb_raise( rb_eTypeError, x ); return c_result;
1453
+
1454
+ static unsigned int swig_virtual_calls = 0;
1455
+
1456
+ #else /* normal non-embedded extension */
1457
+
1458
+ # define SWIG_INIT_STACK
1459
+ # define SWIG_RELEASE_STACK
1460
+ # define Ruby_DirectorTypeMismatchException(x) \
1461
+ throw Swig::DirectorTypeMismatchException( x );
1462
+
1463
+ #endif /* RUBY_EMBEDDED */
1464
+
1465
+
1247
1466
  SWIGRUNTIME VALUE
1248
1467
  getExceptionClass(void) {
1249
1468
  static int init = 0;
@@ -1275,6 +1494,8 @@ SWIG_Ruby_InitRuntime(void)
1275
1494
  {
1276
1495
  if (_mSWIG == Qnil) {
1277
1496
  _mSWIG = rb_define_module("SWIG");
1497
+ swig_call_id = rb_intern("call");
1498
+ swig_arity_id = rb_intern("arity");
1278
1499
  }
1279
1500
  }
1280
1501
 
@@ -1298,7 +1519,7 @@ SWIGRUNTIME VALUE
1298
1519
  SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
1299
1520
  {
1300
1521
  int own = flags & SWIG_POINTER_OWN;
1301
-
1522
+ int track;
1302
1523
  char *klass_name;
1303
1524
  swig_class *sklass;
1304
1525
  VALUE klass;
@@ -1311,14 +1532,15 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
1311
1532
  sklass = (swig_class *) type->clientdata;
1312
1533
 
1313
1534
  /* Are we tracking this class and have we already returned this Ruby object? */
1314
- if (sklass->trackObjects) {
1535
+ track = sklass->trackObjects;
1536
+ if (track) {
1315
1537
  obj = SWIG_RubyInstanceFor(ptr);
1316
1538
 
1317
1539
  /* Check the object's type and make sure it has the correct type.
1318
1540
  It might not in cases where methods do things like
1319
1541
  downcast methods. */
1320
1542
  if (obj != Qnil) {
1321
- VALUE value = rb_iv_get(obj, "__swigtype__");
1543
+ VALUE value = rb_iv_get(obj, "@__swigtype__");
1322
1544
  char* type_name = RSTRING_PTR(value);
1323
1545
 
1324
1546
  if (strcmp(type->name, type_name) == 0) {
@@ -1328,10 +1550,13 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
1328
1550
  }
1329
1551
 
1330
1552
  /* Create a new Ruby object */
1331
- obj = Data_Wrap_Struct(sklass->klass, VOIDFUNC(sklass->mark), (own ? VOIDFUNC(sklass->destroy) : 0), ptr);
1553
+ obj = Data_Wrap_Struct(sklass->klass, VOIDFUNC(sklass->mark),
1554
+ ( own ? VOIDFUNC(sklass->destroy) :
1555
+ (track ? VOIDFUNC(SWIG_RubyRemoveTracking) : 0 )
1556
+ ), ptr);
1332
1557
 
1333
1558
  /* If tracking is on for this class then track this object. */
1334
- if (sklass->trackObjects) {
1559
+ if (track) {
1335
1560
  SWIG_RubyAddTracking(ptr, obj);
1336
1561
  }
1337
1562
  } else {
@@ -1341,7 +1566,7 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
1341
1566
  free((void *) klass_name);
1342
1567
  obj = Data_Wrap_Struct(klass, 0, 0, ptr);
1343
1568
  }
1344
- rb_iv_set(obj, "__swigtype__", rb_str_new2(type->name));
1569
+ rb_iv_set(obj, "@__swigtype__", rb_str_new2(type->name));
1345
1570
 
1346
1571
  return obj;
1347
1572
  }
@@ -1353,7 +1578,7 @@ SWIG_Ruby_NewClassInstance(VALUE klass, swig_type_info *type)
1353
1578
  VALUE obj;
1354
1579
  swig_class *sklass = (swig_class *) type->clientdata;
1355
1580
  obj = Data_Wrap_Struct(klass, VOIDFUNC(sklass->mark), VOIDFUNC(sklass->destroy), 0);
1356
- rb_iv_set(obj, "__swigtype__", rb_str_new2(type->name));
1581
+ rb_iv_set(obj, "@__swigtype__", rb_str_new2(type->name));
1357
1582
  return obj;
1358
1583
  }
1359
1584
 
@@ -1361,7 +1586,7 @@ SWIG_Ruby_NewClassInstance(VALUE klass, swig_type_info *type)
1361
1586
  SWIGRUNTIMEINLINE char *
1362
1587
  SWIG_Ruby_MangleStr(VALUE obj)
1363
1588
  {
1364
- VALUE stype = rb_iv_get(obj, "__swigtype__");
1589
+ VALUE stype = rb_iv_get(obj, "@__swigtype__");
1365
1590
  return StringValuePtr(stype);
1366
1591
  }
1367
1592
 
@@ -1443,8 +1668,11 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags,
1443
1668
  tc = SWIG_TypeCheck(c, ty);
1444
1669
  if (!tc) {
1445
1670
  return SWIG_ERROR;
1671
+ } else {
1672
+ int newmemory = 0;
1673
+ *ptr = SWIG_TypeCast(tc, vptr, &newmemory);
1674
+ assert(!newmemory); /* newmemory handling not yet implemented */
1446
1675
  }
1447
- *ptr = SWIG_TypeCast(tc, vptr);
1448
1676
  } else {
1449
1677
  *ptr = vptr;
1450
1678
  }
@@ -1525,10 +1753,42 @@ SWIG_Ruby_SetModule(swig_module_info *pointer)
1525
1753
  rb_define_readonly_variable("$swig_runtime_data_type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, &swig_runtime_data_type_pointer);
1526
1754
  }
1527
1755
 
1756
+ /* This function can be used to check whether a proc or method or similarly
1757
+ callable function has been passed. Usually used in a %typecheck, like:
1758
+
1759
+ %typecheck(c_callback_t, precedence=SWIG_TYPECHECK_POINTER) {
1760
+ $result = SWIG_Ruby_isCallable( $input );
1761
+ }
1762
+ */
1763
+ SWIGINTERN
1764
+ int SWIG_Ruby_isCallable( VALUE proc )
1765
+ {
1766
+ if ( rb_respond_to( proc, swig_call_id ) == Qtrue )
1767
+ return 1;
1768
+ return 0;
1769
+ }
1770
+
1771
+ /* This function can be used to check the arity (number of arguments)
1772
+ a proc or method can take. Usually used in a %typecheck.
1773
+ Valid arities will be that equal to minimal or those < 0
1774
+ which indicate a variable number of parameters at the end.
1775
+ */
1776
+ SWIGINTERN
1777
+ int SWIG_Ruby_arity( VALUE proc, int minimal )
1778
+ {
1779
+ if ( rb_respond_to( proc, swig_arity_id ) == Qtrue )
1780
+ {
1781
+ VALUE num = rb_funcall( proc, swig_arity_id, 0 );
1782
+ int arity = NUM2INT(num);
1783
+ if ( arity < 0 && (arity+1) < -minimal ) return 1;
1784
+ if ( arity == minimal ) return 1;
1785
+ return 1;
1786
+ }
1787
+ return 0;
1788
+ }
1789
+
1790
+
1528
1791
  #ifdef __cplusplus
1529
- #if 0
1530
- { /* cc-mode */
1531
- #endif
1532
1792
  }
1533
1793
  #endif
1534
1794
 
@@ -1782,7 +2042,7 @@ namespace Swig {
1782
2042
  }
1783
2043
 
1784
2044
  DirectorMethodException(const char* msg = "")
1785
- : Swig::DirectorException(rb_eRuntimeError, "Swig director method error", msg) {
2045
+ : Swig::DirectorException(rb_eRuntimeError, "Swig director method error.", msg) {
1786
2046
  }
1787
2047
 
1788
2048
  static void raise(VALUE error)
@@ -1953,7 +2213,11 @@ static swig_module_info swig_module = {swig_types, 14, 0, 0, 0, 0};
1953
2213
 
1954
2214
  static VALUE mGosu;
1955
2215
 
1956
- #define SWIGVERSION 0x010331
2216
+ #define SWIG_RUBY_THREAD_BEGIN_BLOCK
2217
+ #define SWIG_RUBY_THREAD_END_BLOCK
2218
+
2219
+
2220
+ #define SWIGVERSION 0x010338
1957
2221
  #define SWIG_VERSION SWIGVERSION
1958
2222
 
1959
2223
 
@@ -2059,14 +2323,12 @@ namespace Gosu
2059
2323
 
2060
2324
 
2061
2325
  #include <limits.h>
2062
- #ifndef LLONG_MIN
2063
- # define LLONG_MIN LONG_LONG_MIN
2064
- #endif
2065
- #ifndef LLONG_MAX
2066
- # define LLONG_MAX LONG_LONG_MAX
2067
- #endif
2068
- #ifndef ULLONG_MAX
2069
- # define ULLONG_MAX ULONG_LONG_MAX
2326
+ #if !defined(SWIG_NO_LLONG_MAX)
2327
+ # if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
2328
+ # define LLONG_MAX __LONG_LONG_MAX__
2329
+ # define LLONG_MIN (-LLONG_MAX - 1LL)
2330
+ # define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
2331
+ # endif
2070
2332
  #endif
2071
2333
 
2072
2334
 
@@ -2087,7 +2349,7 @@ SWIG_ruby_failed(void)
2087
2349
  }
2088
2350
 
2089
2351
 
2090
- /*@SWIG:%ruby_aux_method@*/
2352
+ /*@SWIG:/usr/local/share/swig/1.3.38/ruby/rubyprimtypes.swg,23,%ruby_aux_method@*/
2091
2353
  SWIGINTERN VALUE SWIG_AUX_NUM2DBL(VALUE *args)
2092
2354
  {
2093
2355
  VALUE obj = args[0];
@@ -2119,10 +2381,17 @@ SWIG_AsVal_double (VALUE obj, double *val)
2119
2381
  #define SWIG_From_double rb_float_new
2120
2382
 
2121
2383
 
2384
+ SWIGINTERNINLINE VALUE
2385
+ SWIG_From_unsigned_SS_int (unsigned int value)
2386
+ {
2387
+ return SWIG_From_unsigned_SS_long (value);
2388
+ }
2389
+
2390
+
2122
2391
  #include <string>
2123
2392
 
2124
2393
 
2125
- /*@SWIG:%ruby_aux_method@*/
2394
+ /*@SWIG:/usr/local/share/swig/1.3.38/ruby/rubyprimtypes.swg,23,%ruby_aux_method@*/
2126
2395
  SWIGINTERN VALUE SWIG_AUX_NUM2ULONG(VALUE *args)
2127
2396
  {
2128
2397
  VALUE obj = args[0];
@@ -2223,14 +2492,7 @@ SWIG_From_std_string (const std::string& s)
2223
2492
  }
2224
2493
 
2225
2494
 
2226
- SWIGINTERNINLINE VALUE
2227
- SWIG_From_unsigned_SS_int (unsigned int value)
2228
- {
2229
- return SWIG_From_unsigned_SS_long (value);
2230
- }
2231
-
2232
-
2233
- /*@SWIG:%ruby_aux_method@*/
2495
+ /*@SWIG:/usr/local/share/swig/1.3.38/ruby/rubyprimtypes.swg,23,%ruby_aux_method@*/
2234
2496
  SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE *args)
2235
2497
  {
2236
2498
  VALUE obj = args[0];
@@ -2345,7 +2607,7 @@ SWIGINTERN Gosu::Image *Gosu_Image_fromText7(Gosu::Window &window,std::wstring c
2345
2607
  Gosu::Bitmap bmp = Gosu::createText(text, fontName, fontHeight, lineSpacing, maxWidth, align);
2346
2608
  return new Gosu::Image(window.graphics(), bmp);
2347
2609
  }
2348
- SWIGINTERN std::vector<Gosu::Image * > Gosu_Image_loadTiles(Gosu::Window &window,VALUE source,int tileWidth,int tileHeight,bool hardBorders){
2610
+ SWIGINTERN std::vector< Gosu::Image * > Gosu_Image_loadTiles(Gosu::Window &window,VALUE source,int tileWidth,int tileHeight,bool hardBorders){
2349
2611
  std::vector<Gosu::Image*> vec;
2350
2612
  // TODO: const correctness (<- did I mean exception safety?)
2351
2613
  Gosu::imagesFromTiledBitmap(window.graphics(), Gosu::loadBitmap(source),
@@ -2364,11 +2626,11 @@ SWIGINTERN int
2364
2626
  SWIG_AsCharPtrAndSize(VALUE obj, char** cptr, size_t* psize, int *alloc)
2365
2627
  {
2366
2628
  if (TYPE(obj) == T_STRING) {
2367
-
2368
-
2369
-
2629
+ #if defined(StringValuePtr)
2630
+ char *cstr = StringValuePtr(obj);
2631
+ #else
2370
2632
  char *cstr = STR2CSTR(obj);
2371
-
2633
+ #endif
2372
2634
  size_t size = RSTRING_LEN(obj) + 1;
2373
2635
  if (cptr) {
2374
2636
  if (alloc) {
@@ -2456,11 +2718,11 @@ SWIGINTERN void Gosu_Window_drawQuad(Gosu::Window *self,double x1,double y1,Gosu
2456
2718
  SWIGINTERN bool Gosu_Window_isButtonDown(Gosu::Window const *self,Gosu::Button btn){
2457
2719
  return self->input().down(btn);
2458
2720
  }
2459
- SWIGINTERN Gosu::Button Gosu_Window_charToButtonId(Gosu::Window *self,wchar_t ch){
2460
- return self->input().charToId(ch);
2721
+ SWIGINTERN Gosu::Button Gosu_Window_charToButtonId(wchar_t ch){
2722
+ return Gosu::Input::charToId(ch);
2461
2723
  }
2462
- SWIGINTERN wchar_t Gosu_Window_buttonIdToChar(Gosu::Window *self,Gosu::Button btn){
2463
- return self->input().idToChar(btn);
2724
+ SWIGINTERN wchar_t Gosu_Window_buttonIdToChar(Gosu::Button btn){
2725
+ return Gosu::Input::idToChar(btn);
2464
2726
  }
2465
2727
  SWIGINTERN Gosu::TextInput *Gosu_Window_textInput(Gosu::Window const *self){
2466
2728
  return self->input().textInput();
@@ -2541,6 +2803,21 @@ void SwigDirector_Window::draw() {
2541
2803
  }
2542
2804
 
2543
2805
 
2806
+ bool SwigDirector_Window::needsRedraw() const {
2807
+ bool c_result ;
2808
+ VALUE result;
2809
+
2810
+ result = rb_funcall(swig_get_self(), rb_intern("needs_redraw?"), 0, NULL);
2811
+ bool swig_val;
2812
+ int swig_res = SWIG_AsVal_bool(result, &swig_val);
2813
+ if (!SWIG_IsOK(swig_res)) {
2814
+ Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""bool""'");
2815
+ }
2816
+ c_result = static_cast< bool >(swig_val);
2817
+ return (bool) c_result;
2818
+ }
2819
+
2820
+
2544
2821
  void SwigDirector_Window::buttonDown(Gosu::Button arg0) {
2545
2822
  VALUE obj0 = Qnil ;
2546
2823
  VALUE result;
@@ -2593,11 +2870,11 @@ SWIGINTERN VALUE
2593
2870
  _wrap_random(int argc, VALUE *argv, VALUE self) {
2594
2871
  double arg1 ;
2595
2872
  double arg2 ;
2596
- double result;
2597
2873
  double val1 ;
2598
2874
  int ecode1 = 0 ;
2599
2875
  double val2 ;
2600
2876
  int ecode2 = 0 ;
2877
+ double result;
2601
2878
  VALUE vresult = Qnil;
2602
2879
 
2603
2880
  if ((argc < 2) || (argc > 2)) {
@@ -2605,12 +2882,12 @@ _wrap_random(int argc, VALUE *argv, VALUE self) {
2605
2882
  }
2606
2883
  ecode1 = SWIG_AsVal_double(argv[0], &val1);
2607
2884
  if (!SWIG_IsOK(ecode1)) {
2608
- SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "Gosu::random" "', argument " "1"" of type '" "double""'");
2885
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "double","Gosu::random", 1, argv[0] ));
2609
2886
  }
2610
2887
  arg1 = static_cast< double >(val1);
2611
2888
  ecode2 = SWIG_AsVal_double(argv[1], &val2);
2612
2889
  if (!SWIG_IsOK(ecode2)) {
2613
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Gosu::random" "', argument " "2"" of type '" "double""'");
2890
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","Gosu::random", 2, argv[1] ));
2614
2891
  }
2615
2892
  arg2 = static_cast< double >(val2);
2616
2893
  {
@@ -2631,11 +2908,11 @@ SWIGINTERN VALUE
2631
2908
  _wrap_offset_x(int argc, VALUE *argv, VALUE self) {
2632
2909
  double arg1 ;
2633
2910
  double arg2 ;
2634
- double result;
2635
2911
  double val1 ;
2636
2912
  int ecode1 = 0 ;
2637
2913
  double val2 ;
2638
2914
  int ecode2 = 0 ;
2915
+ double result;
2639
2916
  VALUE vresult = Qnil;
2640
2917
 
2641
2918
  if ((argc < 2) || (argc > 2)) {
@@ -2643,12 +2920,12 @@ _wrap_offset_x(int argc, VALUE *argv, VALUE self) {
2643
2920
  }
2644
2921
  ecode1 = SWIG_AsVal_double(argv[0], &val1);
2645
2922
  if (!SWIG_IsOK(ecode1)) {
2646
- SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "Gosu::offsetX" "', argument " "1"" of type '" "double""'");
2923
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "double","Gosu::offsetX", 1, argv[0] ));
2647
2924
  }
2648
2925
  arg1 = static_cast< double >(val1);
2649
2926
  ecode2 = SWIG_AsVal_double(argv[1], &val2);
2650
2927
  if (!SWIG_IsOK(ecode2)) {
2651
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Gosu::offsetX" "', argument " "2"" of type '" "double""'");
2928
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","Gosu::offsetX", 2, argv[1] ));
2652
2929
  }
2653
2930
  arg2 = static_cast< double >(val2);
2654
2931
  {
@@ -2669,11 +2946,11 @@ SWIGINTERN VALUE
2669
2946
  _wrap_offset_y(int argc, VALUE *argv, VALUE self) {
2670
2947
  double arg1 ;
2671
2948
  double arg2 ;
2672
- double result;
2673
2949
  double val1 ;
2674
2950
  int ecode1 = 0 ;
2675
2951
  double val2 ;
2676
2952
  int ecode2 = 0 ;
2953
+ double result;
2677
2954
  VALUE vresult = Qnil;
2678
2955
 
2679
2956
  if ((argc < 2) || (argc > 2)) {
@@ -2681,12 +2958,12 @@ _wrap_offset_y(int argc, VALUE *argv, VALUE self) {
2681
2958
  }
2682
2959
  ecode1 = SWIG_AsVal_double(argv[0], &val1);
2683
2960
  if (!SWIG_IsOK(ecode1)) {
2684
- SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "Gosu::offsetY" "', argument " "1"" of type '" "double""'");
2961
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "double","Gosu::offsetY", 1, argv[0] ));
2685
2962
  }
2686
2963
  arg1 = static_cast< double >(val1);
2687
2964
  ecode2 = SWIG_AsVal_double(argv[1], &val2);
2688
2965
  if (!SWIG_IsOK(ecode2)) {
2689
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Gosu::offsetY" "', argument " "2"" of type '" "double""'");
2966
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","Gosu::offsetY", 2, argv[1] ));
2690
2967
  }
2691
2968
  arg2 = static_cast< double >(val2);
2692
2969
  {
@@ -2710,7 +2987,6 @@ _wrap_angle(int argc, VALUE *argv, VALUE self) {
2710
2987
  double arg3 ;
2711
2988
  double arg4 ;
2712
2989
  double arg5 = (double) 0 ;
2713
- double result;
2714
2990
  double val1 ;
2715
2991
  int ecode1 = 0 ;
2716
2992
  double val2 ;
@@ -2721,6 +2997,7 @@ _wrap_angle(int argc, VALUE *argv, VALUE self) {
2721
2997
  int ecode4 = 0 ;
2722
2998
  double val5 ;
2723
2999
  int ecode5 = 0 ;
3000
+ double result;
2724
3001
  VALUE vresult = Qnil;
2725
3002
 
2726
3003
  if ((argc < 4) || (argc > 5)) {
@@ -2728,28 +3005,28 @@ _wrap_angle(int argc, VALUE *argv, VALUE self) {
2728
3005
  }
2729
3006
  ecode1 = SWIG_AsVal_double(argv[0], &val1);
2730
3007
  if (!SWIG_IsOK(ecode1)) {
2731
- SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "Gosu::angle" "', argument " "1"" of type '" "double""'");
3008
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "double","Gosu::angle", 1, argv[0] ));
2732
3009
  }
2733
3010
  arg1 = static_cast< double >(val1);
2734
3011
  ecode2 = SWIG_AsVal_double(argv[1], &val2);
2735
3012
  if (!SWIG_IsOK(ecode2)) {
2736
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Gosu::angle" "', argument " "2"" of type '" "double""'");
3013
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","Gosu::angle", 2, argv[1] ));
2737
3014
  }
2738
3015
  arg2 = static_cast< double >(val2);
2739
3016
  ecode3 = SWIG_AsVal_double(argv[2], &val3);
2740
3017
  if (!SWIG_IsOK(ecode3)) {
2741
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Gosu::angle" "', argument " "3"" of type '" "double""'");
3018
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","Gosu::angle", 3, argv[2] ));
2742
3019
  }
2743
3020
  arg3 = static_cast< double >(val3);
2744
3021
  ecode4 = SWIG_AsVal_double(argv[3], &val4);
2745
3022
  if (!SWIG_IsOK(ecode4)) {
2746
- SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Gosu::angle" "', argument " "4"" of type '" "double""'");
3023
+ SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "double","Gosu::angle", 4, argv[3] ));
2747
3024
  }
2748
3025
  arg4 = static_cast< double >(val4);
2749
3026
  if (argc > 4) {
2750
3027
  ecode5 = SWIG_AsVal_double(argv[4], &val5);
2751
3028
  if (!SWIG_IsOK(ecode5)) {
2752
- SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Gosu::angle" "', argument " "5"" of type '" "double""'");
3029
+ SWIG_exception_fail(SWIG_ArgError(ecode5), Ruby_Format_TypeError( "", "double","Gosu::angle", 5, argv[4] ));
2753
3030
  }
2754
3031
  arg5 = static_cast< double >(val5);
2755
3032
  }
@@ -2771,11 +3048,11 @@ SWIGINTERN VALUE
2771
3048
  _wrap_angle_diff(int argc, VALUE *argv, VALUE self) {
2772
3049
  double arg1 ;
2773
3050
  double arg2 ;
2774
- double result;
2775
3051
  double val1 ;
2776
3052
  int ecode1 = 0 ;
2777
3053
  double val2 ;
2778
3054
  int ecode2 = 0 ;
3055
+ double result;
2779
3056
  VALUE vresult = Qnil;
2780
3057
 
2781
3058
  if ((argc < 2) || (argc > 2)) {
@@ -2783,12 +3060,12 @@ _wrap_angle_diff(int argc, VALUE *argv, VALUE self) {
2783
3060
  }
2784
3061
  ecode1 = SWIG_AsVal_double(argv[0], &val1);
2785
3062
  if (!SWIG_IsOK(ecode1)) {
2786
- SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "Gosu::angleDiff" "', argument " "1"" of type '" "double""'");
3063
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "double","Gosu::angleDiff", 1, argv[0] ));
2787
3064
  }
2788
3065
  arg1 = static_cast< double >(val1);
2789
3066
  ecode2 = SWIG_AsVal_double(argv[1], &val2);
2790
3067
  if (!SWIG_IsOK(ecode2)) {
2791
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Gosu::angleDiff" "', argument " "2"" of type '" "double""'");
3068
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","Gosu::angleDiff", 2, argv[1] ));
2792
3069
  }
2793
3070
  arg2 = static_cast< double >(val2);
2794
3071
  {
@@ -2808,9 +3085,9 @@ fail:
2808
3085
  SWIGINTERN VALUE
2809
3086
  _wrap_normalize_angle(int argc, VALUE *argv, VALUE self) {
2810
3087
  double arg1 ;
2811
- double result;
2812
3088
  double val1 ;
2813
3089
  int ecode1 = 0 ;
3090
+ double result;
2814
3091
  VALUE vresult = Qnil;
2815
3092
 
2816
3093
  if ((argc < 1) || (argc > 1)) {
@@ -2818,7 +3095,7 @@ _wrap_normalize_angle(int argc, VALUE *argv, VALUE self) {
2818
3095
  }
2819
3096
  ecode1 = SWIG_AsVal_double(argv[0], &val1);
2820
3097
  if (!SWIG_IsOK(ecode1)) {
2821
- SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "Gosu::normalizeAngle" "', argument " "1"" of type '" "double""'");
3098
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "double","Gosu::normalizeAngle", 1, argv[0] ));
2822
3099
  }
2823
3100
  arg1 = static_cast< double >(val1);
2824
3101
  {
@@ -2841,7 +3118,6 @@ _wrap_distance(int argc, VALUE *argv, VALUE self) {
2841
3118
  double arg2 ;
2842
3119
  double arg3 ;
2843
3120
  double arg4 ;
2844
- double result;
2845
3121
  double val1 ;
2846
3122
  int ecode1 = 0 ;
2847
3123
  double val2 ;
@@ -2850,6 +3126,7 @@ _wrap_distance(int argc, VALUE *argv, VALUE self) {
2850
3126
  int ecode3 = 0 ;
2851
3127
  double val4 ;
2852
3128
  int ecode4 = 0 ;
3129
+ double result;
2853
3130
  VALUE vresult = Qnil;
2854
3131
 
2855
3132
  if ((argc < 4) || (argc > 4)) {
@@ -2857,22 +3134,22 @@ _wrap_distance(int argc, VALUE *argv, VALUE self) {
2857
3134
  }
2858
3135
  ecode1 = SWIG_AsVal_double(argv[0], &val1);
2859
3136
  if (!SWIG_IsOK(ecode1)) {
2860
- SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "Gosu::distance" "', argument " "1"" of type '" "double""'");
3137
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "double","Gosu::distance", 1, argv[0] ));
2861
3138
  }
2862
3139
  arg1 = static_cast< double >(val1);
2863
3140
  ecode2 = SWIG_AsVal_double(argv[1], &val2);
2864
3141
  if (!SWIG_IsOK(ecode2)) {
2865
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Gosu::distance" "', argument " "2"" of type '" "double""'");
3142
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","Gosu::distance", 2, argv[1] ));
2866
3143
  }
2867
3144
  arg2 = static_cast< double >(val2);
2868
3145
  ecode3 = SWIG_AsVal_double(argv[2], &val3);
2869
3146
  if (!SWIG_IsOK(ecode3)) {
2870
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Gosu::distance" "', argument " "3"" of type '" "double""'");
3147
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","Gosu::distance", 3, argv[2] ));
2871
3148
  }
2872
3149
  arg3 = static_cast< double >(val3);
2873
3150
  ecode4 = SWIG_AsVal_double(argv[3], &val4);
2874
3151
  if (!SWIG_IsOK(ecode4)) {
2875
- SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Gosu::distance" "', argument " "4"" of type '" "double""'");
3152
+ SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "double","Gosu::distance", 4, argv[3] ));
2876
3153
  }
2877
3154
  arg4 = static_cast< double >(val4);
2878
3155
  {
@@ -2913,21 +3190,65 @@ fail:
2913
3190
  }
2914
3191
 
2915
3192
 
3193
+ SWIGINTERN VALUE
3194
+ _wrap_screen_width(int argc, VALUE *argv, VALUE self) {
3195
+ unsigned int result;
3196
+ VALUE vresult = Qnil;
3197
+
3198
+ if ((argc < 0) || (argc > 0)) {
3199
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
3200
+ }
3201
+ {
3202
+ try {
3203
+ result = (unsigned int)Gosu::screenWidth();
3204
+ } catch(const std::runtime_error& e) {
3205
+ SWIG_exception(SWIG_RuntimeError, e.what());
3206
+ }
3207
+ }
3208
+ vresult = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result));
3209
+ return vresult;
3210
+ fail:
3211
+ return Qnil;
3212
+ }
3213
+
3214
+
3215
+ SWIGINTERN VALUE
3216
+ _wrap_screen_height(int argc, VALUE *argv, VALUE self) {
3217
+ unsigned int result;
3218
+ VALUE vresult = Qnil;
3219
+
3220
+ if ((argc < 0) || (argc > 0)) {
3221
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
3222
+ }
3223
+ {
3224
+ try {
3225
+ result = (unsigned int)Gosu::screenHeight();
3226
+ } catch(const std::runtime_error& e) {
3227
+ SWIG_exception(SWIG_RuntimeError, e.what());
3228
+ }
3229
+ }
3230
+ vresult = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result));
3231
+ return vresult;
3232
+ fail:
3233
+ return Qnil;
3234
+ }
3235
+
3236
+
2916
3237
  swig_class cColor;
2917
3238
 
2918
3239
  SWIGINTERN VALUE
2919
3240
  _wrap_new_Color__SWIG_0(int argc, VALUE *argv, VALUE self) {
2920
- Gosu::Color *result = 0 ;
2921
3241
  const char *classname SWIGUNUSED = "Gosu::Color";
3242
+ Gosu::Color *result = 0 ;
2922
3243
 
2923
3244
  if ((argc < 0) || (argc > 0)) {
2924
3245
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
2925
3246
  }
2926
3247
  {
2927
3248
  try {
2928
- result = (Gosu::Color *)new Gosu::Color();DATA_PTR(self) = result;
3249
+ result = (Gosu::Color *)new Gosu::Color();
3250
+ DATA_PTR(self) = result;
2929
3251
  SWIG_RubyAddTracking(result, self);
2930
-
2931
3252
  } catch(const std::runtime_error& e) {
2932
3253
  SWIG_exception(SWIG_RuntimeError, e.what());
2933
3254
  }
@@ -2941,24 +3262,24 @@ fail:
2941
3262
  SWIGINTERN VALUE
2942
3263
  _wrap_new_Color__SWIG_1(int argc, VALUE *argv, VALUE self) {
2943
3264
  boost::uint32_t arg1 ;
2944
- Gosu::Color *result = 0 ;
2945
3265
  unsigned long val1 ;
2946
3266
  int ecode1 = 0 ;
2947
3267
  const char *classname SWIGUNUSED = "Gosu::Color";
3268
+ Gosu::Color *result = 0 ;
2948
3269
 
2949
3270
  if ((argc < 1) || (argc > 1)) {
2950
3271
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
2951
3272
  }
2952
3273
  ecode1 = SWIG_AsVal_unsigned_SS_long(argv[0], &val1);
2953
3274
  if (!SWIG_IsOK(ecode1)) {
2954
- SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "Gosu::Color" "', argument " "1"" of type '" "boost::uint32_t""'");
3275
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "boost::uint32_t","Gosu::Color", 1, argv[0] ));
2955
3276
  }
2956
3277
  arg1 = static_cast< boost::uint32_t >(val1);
2957
3278
  {
2958
3279
  try {
2959
- result = (Gosu::Color *)new Gosu::Color(arg1);DATA_PTR(self) = result;
3280
+ result = (Gosu::Color *)new Gosu::Color(arg1);
3281
+ DATA_PTR(self) = result;
2960
3282
  SWIG_RubyAddTracking(result, self);
2961
-
2962
3283
  } catch(const std::runtime_error& e) {
2963
3284
  SWIG_exception(SWIG_RuntimeError, e.what());
2964
3285
  }
@@ -2974,7 +3295,6 @@ _wrap_new_Color__SWIG_2(int argc, VALUE *argv, VALUE self) {
2974
3295
  Gosu::Color::Channel arg1 ;
2975
3296
  Gosu::Color::Channel arg2 ;
2976
3297
  Gosu::Color::Channel arg3 ;
2977
- Gosu::Color *result = 0 ;
2978
3298
  unsigned char val1 ;
2979
3299
  int ecode1 = 0 ;
2980
3300
  unsigned char val2 ;
@@ -2982,30 +3302,31 @@ _wrap_new_Color__SWIG_2(int argc, VALUE *argv, VALUE self) {
2982
3302
  unsigned char val3 ;
2983
3303
  int ecode3 = 0 ;
2984
3304
  const char *classname SWIGUNUSED = "Gosu::Color";
3305
+ Gosu::Color *result = 0 ;
2985
3306
 
2986
3307
  if ((argc < 3) || (argc > 3)) {
2987
3308
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 3)",argc); SWIG_fail;
2988
3309
  }
2989
3310
  ecode1 = SWIG_AsVal_unsigned_SS_char(argv[0], &val1);
2990
3311
  if (!SWIG_IsOK(ecode1)) {
2991
- SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "Gosu::Color" "', argument " "1"" of type '" "Gosu::Color::Channel""'");
3312
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "Gosu::Color::Channel","Gosu::Color", 1, argv[0] ));
2992
3313
  }
2993
3314
  arg1 = static_cast< Gosu::Color::Channel >(val1);
2994
3315
  ecode2 = SWIG_AsVal_unsigned_SS_char(argv[1], &val2);
2995
3316
  if (!SWIG_IsOK(ecode2)) {
2996
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Gosu::Color" "', argument " "2"" of type '" "Gosu::Color::Channel""'");
3317
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "Gosu::Color::Channel","Gosu::Color", 2, argv[1] ));
2997
3318
  }
2998
3319
  arg2 = static_cast< Gosu::Color::Channel >(val2);
2999
3320
  ecode3 = SWIG_AsVal_unsigned_SS_char(argv[2], &val3);
3000
3321
  if (!SWIG_IsOK(ecode3)) {
3001
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Gosu::Color" "', argument " "3"" of type '" "Gosu::Color::Channel""'");
3322
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "Gosu::Color::Channel","Gosu::Color", 3, argv[2] ));
3002
3323
  }
3003
3324
  arg3 = static_cast< Gosu::Color::Channel >(val3);
3004
3325
  {
3005
3326
  try {
3006
- result = (Gosu::Color *)new Gosu::Color(arg1,arg2,arg3);DATA_PTR(self) = result;
3327
+ result = (Gosu::Color *)new Gosu::Color(arg1,arg2,arg3);
3328
+ DATA_PTR(self) = result;
3007
3329
  SWIG_RubyAddTracking(result, self);
3008
-
3009
3330
  } catch(const std::runtime_error& e) {
3010
3331
  SWIG_exception(SWIG_RuntimeError, e.what());
3011
3332
  }
@@ -3039,7 +3360,6 @@ _wrap_new_Color__SWIG_3(int argc, VALUE *argv, VALUE self) {
3039
3360
  Gosu::Color::Channel arg2 ;
3040
3361
  Gosu::Color::Channel arg3 ;
3041
3362
  Gosu::Color::Channel arg4 ;
3042
- Gosu::Color *result = 0 ;
3043
3363
  unsigned char val1 ;
3044
3364
  int ecode1 = 0 ;
3045
3365
  unsigned char val2 ;
@@ -3049,35 +3369,36 @@ _wrap_new_Color__SWIG_3(int argc, VALUE *argv, VALUE self) {
3049
3369
  unsigned char val4 ;
3050
3370
  int ecode4 = 0 ;
3051
3371
  const char *classname SWIGUNUSED = "Gosu::Color";
3372
+ Gosu::Color *result = 0 ;
3052
3373
 
3053
3374
  if ((argc < 4) || (argc > 4)) {
3054
3375
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 4)",argc); SWIG_fail;
3055
3376
  }
3056
3377
  ecode1 = SWIG_AsVal_unsigned_SS_char(argv[0], &val1);
3057
3378
  if (!SWIG_IsOK(ecode1)) {
3058
- SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "Gosu::Color" "', argument " "1"" of type '" "Gosu::Color::Channel""'");
3379
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "Gosu::Color::Channel","Gosu::Color", 1, argv[0] ));
3059
3380
  }
3060
3381
  arg1 = static_cast< Gosu::Color::Channel >(val1);
3061
3382
  ecode2 = SWIG_AsVal_unsigned_SS_char(argv[1], &val2);
3062
3383
  if (!SWIG_IsOK(ecode2)) {
3063
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Gosu::Color" "', argument " "2"" of type '" "Gosu::Color::Channel""'");
3384
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "Gosu::Color::Channel","Gosu::Color", 2, argv[1] ));
3064
3385
  }
3065
3386
  arg2 = static_cast< Gosu::Color::Channel >(val2);
3066
3387
  ecode3 = SWIG_AsVal_unsigned_SS_char(argv[2], &val3);
3067
3388
  if (!SWIG_IsOK(ecode3)) {
3068
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Gosu::Color" "', argument " "3"" of type '" "Gosu::Color::Channel""'");
3389
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "Gosu::Color::Channel","Gosu::Color", 3, argv[2] ));
3069
3390
  }
3070
3391
  arg3 = static_cast< Gosu::Color::Channel >(val3);
3071
3392
  ecode4 = SWIG_AsVal_unsigned_SS_char(argv[3], &val4);
3072
3393
  if (!SWIG_IsOK(ecode4)) {
3073
- SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Gosu::Color" "', argument " "4"" of type '" "Gosu::Color::Channel""'");
3394
+ SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "Gosu::Color::Channel","Gosu::Color", 4, argv[3] ));
3074
3395
  }
3075
3396
  arg4 = static_cast< Gosu::Color::Channel >(val4);
3076
3397
  {
3077
3398
  try {
3078
- result = (Gosu::Color *)new Gosu::Color(arg1,arg2,arg3,arg4);DATA_PTR(self) = result;
3399
+ result = (Gosu::Color *)new Gosu::Color(arg1,arg2,arg3,arg4);
3400
+ DATA_PTR(self) = result;
3079
3401
  SWIG_RubyAddTracking(result, self);
3080
-
3081
3402
  } catch(const std::runtime_error& e) {
3082
3403
  SWIG_exception(SWIG_RuntimeError, e.what());
3083
3404
  }
@@ -3095,7 +3416,7 @@ SWIGINTERN VALUE _wrap_new_Color(int nargs, VALUE *args, VALUE self) {
3095
3416
 
3096
3417
  argc = nargs;
3097
3418
  if (argc > 4) SWIG_fail;
3098
- for (ii = 0; (ii < argc); ii++) {
3419
+ for (ii = 0; (ii < argc); ++ii) {
3099
3420
  argv[ii] = args[ii];
3100
3421
  }
3101
3422
  if (argc == 0) {
@@ -3163,7 +3484,12 @@ SWIGINTERN VALUE _wrap_new_Color(int nargs, VALUE *args, VALUE self) {
3163
3484
  }
3164
3485
 
3165
3486
  fail:
3166
- rb_raise(rb_eArgError, "No matching function for overloaded 'new_Color'");
3487
+ Ruby_Format_OverloadedError( argc, 4, "Color.new",
3488
+ " Color.new()\n"
3489
+ " Color.new(boost::uint32_t argb)\n"
3490
+ " Color.new(Gosu::Color::Channel red, Gosu::Color::Channel green, Gosu::Color::Channel blue)\n"
3491
+ " Color.new(Gosu::Color::Channel alpha, Gosu::Color::Channel red, Gosu::Color::Channel green, Gosu::Color::Channel blue)\n");
3492
+
3167
3493
  return Qnil;
3168
3494
  }
3169
3495
 
@@ -3173,13 +3499,13 @@ _wrap_Color_from_hsv(int argc, VALUE *argv, VALUE self) {
3173
3499
  double arg1 ;
3174
3500
  double arg2 ;
3175
3501
  double arg3 ;
3176
- Gosu::Color result;
3177
3502
  double val1 ;
3178
3503
  int ecode1 = 0 ;
3179
3504
  double val2 ;
3180
3505
  int ecode2 = 0 ;
3181
3506
  double val3 ;
3182
3507
  int ecode3 = 0 ;
3508
+ Gosu::Color result;
3183
3509
  VALUE vresult = Qnil;
3184
3510
 
3185
3511
  if ((argc < 3) || (argc > 3)) {
@@ -3187,17 +3513,17 @@ _wrap_Color_from_hsv(int argc, VALUE *argv, VALUE self) {
3187
3513
  }
3188
3514
  ecode1 = SWIG_AsVal_double(argv[0], &val1);
3189
3515
  if (!SWIG_IsOK(ecode1)) {
3190
- SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "Gosu::Color::fromHSV" "', argument " "1"" of type '" "double""'");
3516
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "double","Gosu::Color::fromHSV", 1, argv[0] ));
3191
3517
  }
3192
3518
  arg1 = static_cast< double >(val1);
3193
3519
  ecode2 = SWIG_AsVal_double(argv[1], &val2);
3194
3520
  if (!SWIG_IsOK(ecode2)) {
3195
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Gosu::Color::fromHSV" "', argument " "2"" of type '" "double""'");
3521
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","Gosu::Color::fromHSV", 2, argv[1] ));
3196
3522
  }
3197
3523
  arg2 = static_cast< double >(val2);
3198
3524
  ecode3 = SWIG_AsVal_double(argv[2], &val3);
3199
3525
  if (!SWIG_IsOK(ecode3)) {
3200
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Gosu::Color::fromHSV" "', argument " "3"" of type '" "double""'");
3526
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","Gosu::Color::fromHSV", 3, argv[2] ));
3201
3527
  }
3202
3528
  arg3 = static_cast< double >(val3);
3203
3529
  {
@@ -3220,7 +3546,6 @@ _wrap_Color_from_ahsv(int argc, VALUE *argv, VALUE self) {
3220
3546
  double arg2 ;
3221
3547
  double arg3 ;
3222
3548
  double arg4 ;
3223
- Gosu::Color result;
3224
3549
  unsigned char val1 ;
3225
3550
  int ecode1 = 0 ;
3226
3551
  double val2 ;
@@ -3229,6 +3554,7 @@ _wrap_Color_from_ahsv(int argc, VALUE *argv, VALUE self) {
3229
3554
  int ecode3 = 0 ;
3230
3555
  double val4 ;
3231
3556
  int ecode4 = 0 ;
3557
+ Gosu::Color result;
3232
3558
  VALUE vresult = Qnil;
3233
3559
 
3234
3560
  if ((argc < 4) || (argc > 4)) {
@@ -3236,22 +3562,22 @@ _wrap_Color_from_ahsv(int argc, VALUE *argv, VALUE self) {
3236
3562
  }
3237
3563
  ecode1 = SWIG_AsVal_unsigned_SS_char(argv[0], &val1);
3238
3564
  if (!SWIG_IsOK(ecode1)) {
3239
- SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "Gosu::Color::fromAHSV" "', argument " "1"" of type '" "Gosu::Color::Channel""'");
3565
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "Gosu::Color::Channel","Gosu::Color::fromAHSV", 1, argv[0] ));
3240
3566
  }
3241
3567
  arg1 = static_cast< Gosu::Color::Channel >(val1);
3242
3568
  ecode2 = SWIG_AsVal_double(argv[1], &val2);
3243
3569
  if (!SWIG_IsOK(ecode2)) {
3244
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Gosu::Color::fromAHSV" "', argument " "2"" of type '" "double""'");
3570
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","Gosu::Color::fromAHSV", 2, argv[1] ));
3245
3571
  }
3246
3572
  arg2 = static_cast< double >(val2);
3247
3573
  ecode3 = SWIG_AsVal_double(argv[2], &val3);
3248
3574
  if (!SWIG_IsOK(ecode3)) {
3249
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Gosu::Color::fromAHSV" "', argument " "3"" of type '" "double""'");
3575
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","Gosu::Color::fromAHSV", 3, argv[2] ));
3250
3576
  }
3251
3577
  arg3 = static_cast< double >(val3);
3252
3578
  ecode4 = SWIG_AsVal_double(argv[3], &val4);
3253
3579
  if (!SWIG_IsOK(ecode4)) {
3254
- SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Gosu::Color::fromAHSV" "', argument " "4"" of type '" "double""'");
3580
+ SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "double","Gosu::Color::fromAHSV", 4, argv[3] ));
3255
3581
  }
3256
3582
  arg4 = static_cast< double >(val4);
3257
3583
  {
@@ -3271,9 +3597,9 @@ fail:
3271
3597
  SWIGINTERN VALUE
3272
3598
  _wrap_Color_alpha(int argc, VALUE *argv, VALUE self) {
3273
3599
  Gosu::Color *arg1 = (Gosu::Color *) 0 ;
3274
- Gosu::Color::Channel result;
3275
3600
  void *argp1 = 0 ;
3276
3601
  int res1 = 0 ;
3602
+ Gosu::Color::Channel result;
3277
3603
  VALUE vresult = Qnil;
3278
3604
 
3279
3605
  if ((argc < 0) || (argc > 0)) {
@@ -3281,7 +3607,7 @@ _wrap_Color_alpha(int argc, VALUE *argv, VALUE self) {
3281
3607
  }
3282
3608
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Color, 0 | 0 );
3283
3609
  if (!SWIG_IsOK(res1)) {
3284
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "alpha" "', argument " "1"" of type '" "Gosu::Color const *""'");
3610
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Color const *","alpha", 1, self ));
3285
3611
  }
3286
3612
  arg1 = reinterpret_cast< Gosu::Color * >(argp1);
3287
3613
  {
@@ -3301,9 +3627,9 @@ fail:
3301
3627
  SWIGINTERN VALUE
3302
3628
  _wrap_Color_red(int argc, VALUE *argv, VALUE self) {
3303
3629
  Gosu::Color *arg1 = (Gosu::Color *) 0 ;
3304
- Gosu::Color::Channel result;
3305
3630
  void *argp1 = 0 ;
3306
3631
  int res1 = 0 ;
3632
+ Gosu::Color::Channel result;
3307
3633
  VALUE vresult = Qnil;
3308
3634
 
3309
3635
  if ((argc < 0) || (argc > 0)) {
@@ -3311,7 +3637,7 @@ _wrap_Color_red(int argc, VALUE *argv, VALUE self) {
3311
3637
  }
3312
3638
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Color, 0 | 0 );
3313
3639
  if (!SWIG_IsOK(res1)) {
3314
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "red" "', argument " "1"" of type '" "Gosu::Color const *""'");
3640
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Color const *","red", 1, self ));
3315
3641
  }
3316
3642
  arg1 = reinterpret_cast< Gosu::Color * >(argp1);
3317
3643
  {
@@ -3331,9 +3657,9 @@ fail:
3331
3657
  SWIGINTERN VALUE
3332
3658
  _wrap_Color_green(int argc, VALUE *argv, VALUE self) {
3333
3659
  Gosu::Color *arg1 = (Gosu::Color *) 0 ;
3334
- Gosu::Color::Channel result;
3335
3660
  void *argp1 = 0 ;
3336
3661
  int res1 = 0 ;
3662
+ Gosu::Color::Channel result;
3337
3663
  VALUE vresult = Qnil;
3338
3664
 
3339
3665
  if ((argc < 0) || (argc > 0)) {
@@ -3341,7 +3667,7 @@ _wrap_Color_green(int argc, VALUE *argv, VALUE self) {
3341
3667
  }
3342
3668
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Color, 0 | 0 );
3343
3669
  if (!SWIG_IsOK(res1)) {
3344
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "green" "', argument " "1"" of type '" "Gosu::Color const *""'");
3670
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Color const *","green", 1, self ));
3345
3671
  }
3346
3672
  arg1 = reinterpret_cast< Gosu::Color * >(argp1);
3347
3673
  {
@@ -3361,9 +3687,9 @@ fail:
3361
3687
  SWIGINTERN VALUE
3362
3688
  _wrap_Color_blue(int argc, VALUE *argv, VALUE self) {
3363
3689
  Gosu::Color *arg1 = (Gosu::Color *) 0 ;
3364
- Gosu::Color::Channel result;
3365
3690
  void *argp1 = 0 ;
3366
3691
  int res1 = 0 ;
3692
+ Gosu::Color::Channel result;
3367
3693
  VALUE vresult = Qnil;
3368
3694
 
3369
3695
  if ((argc < 0) || (argc > 0)) {
@@ -3371,7 +3697,7 @@ _wrap_Color_blue(int argc, VALUE *argv, VALUE self) {
3371
3697
  }
3372
3698
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Color, 0 | 0 );
3373
3699
  if (!SWIG_IsOK(res1)) {
3374
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "blue" "', argument " "1"" of type '" "Gosu::Color const *""'");
3700
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Color const *","blue", 1, self ));
3375
3701
  }
3376
3702
  arg1 = reinterpret_cast< Gosu::Color * >(argp1);
3377
3703
  {
@@ -3402,12 +3728,12 @@ _wrap_Color_alphae___(int argc, VALUE *argv, VALUE self) {
3402
3728
  }
3403
3729
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Color, 0 | 0 );
3404
3730
  if (!SWIG_IsOK(res1)) {
3405
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "setAlpha" "', argument " "1"" of type '" "Gosu::Color *""'");
3731
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Color *","setAlpha", 1, self ));
3406
3732
  }
3407
3733
  arg1 = reinterpret_cast< Gosu::Color * >(argp1);
3408
3734
  ecode2 = SWIG_AsVal_unsigned_SS_char(argv[0], &val2);
3409
3735
  if (!SWIG_IsOK(ecode2)) {
3410
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "setAlpha" "', argument " "2"" of type '" "Gosu::Color::Channel""'");
3736
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "Gosu::Color::Channel","setAlpha", 2, argv[0] ));
3411
3737
  }
3412
3738
  arg2 = static_cast< Gosu::Color::Channel >(val2);
3413
3739
  {
@@ -3437,12 +3763,12 @@ _wrap_Color_rede___(int argc, VALUE *argv, VALUE self) {
3437
3763
  }
3438
3764
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Color, 0 | 0 );
3439
3765
  if (!SWIG_IsOK(res1)) {
3440
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "setRed" "', argument " "1"" of type '" "Gosu::Color *""'");
3766
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Color *","setRed", 1, self ));
3441
3767
  }
3442
3768
  arg1 = reinterpret_cast< Gosu::Color * >(argp1);
3443
3769
  ecode2 = SWIG_AsVal_unsigned_SS_char(argv[0], &val2);
3444
3770
  if (!SWIG_IsOK(ecode2)) {
3445
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "setRed" "', argument " "2"" of type '" "Gosu::Color::Channel""'");
3771
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "Gosu::Color::Channel","setRed", 2, argv[0] ));
3446
3772
  }
3447
3773
  arg2 = static_cast< Gosu::Color::Channel >(val2);
3448
3774
  {
@@ -3472,12 +3798,12 @@ _wrap_Color_greene___(int argc, VALUE *argv, VALUE self) {
3472
3798
  }
3473
3799
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Color, 0 | 0 );
3474
3800
  if (!SWIG_IsOK(res1)) {
3475
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "setGreen" "', argument " "1"" of type '" "Gosu::Color *""'");
3801
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Color *","setGreen", 1, self ));
3476
3802
  }
3477
3803
  arg1 = reinterpret_cast< Gosu::Color * >(argp1);
3478
3804
  ecode2 = SWIG_AsVal_unsigned_SS_char(argv[0], &val2);
3479
3805
  if (!SWIG_IsOK(ecode2)) {
3480
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "setGreen" "', argument " "2"" of type '" "Gosu::Color::Channel""'");
3806
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "Gosu::Color::Channel","setGreen", 2, argv[0] ));
3481
3807
  }
3482
3808
  arg2 = static_cast< Gosu::Color::Channel >(val2);
3483
3809
  {
@@ -3507,12 +3833,12 @@ _wrap_Color_bluee___(int argc, VALUE *argv, VALUE self) {
3507
3833
  }
3508
3834
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Color, 0 | 0 );
3509
3835
  if (!SWIG_IsOK(res1)) {
3510
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "setBlue" "', argument " "1"" of type '" "Gosu::Color *""'");
3836
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Color *","setBlue", 1, self ));
3511
3837
  }
3512
3838
  arg1 = reinterpret_cast< Gosu::Color * >(argp1);
3513
3839
  ecode2 = SWIG_AsVal_unsigned_SS_char(argv[0], &val2);
3514
3840
  if (!SWIG_IsOK(ecode2)) {
3515
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "setBlue" "', argument " "2"" of type '" "Gosu::Color::Channel""'");
3841
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "Gosu::Color::Channel","setBlue", 2, argv[0] ));
3516
3842
  }
3517
3843
  arg2 = static_cast< Gosu::Color::Channel >(val2);
3518
3844
  {
@@ -3531,9 +3857,9 @@ fail:
3531
3857
  SWIGINTERN VALUE
3532
3858
  _wrap_Color_hue(int argc, VALUE *argv, VALUE self) {
3533
3859
  Gosu::Color *arg1 = (Gosu::Color *) 0 ;
3534
- double result;
3535
3860
  void *argp1 = 0 ;
3536
3861
  int res1 = 0 ;
3862
+ double result;
3537
3863
  VALUE vresult = Qnil;
3538
3864
 
3539
3865
  if ((argc < 0) || (argc > 0)) {
@@ -3541,7 +3867,7 @@ _wrap_Color_hue(int argc, VALUE *argv, VALUE self) {
3541
3867
  }
3542
3868
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Color, 0 | 0 );
3543
3869
  if (!SWIG_IsOK(res1)) {
3544
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "hue" "', argument " "1"" of type '" "Gosu::Color const *""'");
3870
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Color const *","hue", 1, self ));
3545
3871
  }
3546
3872
  arg1 = reinterpret_cast< Gosu::Color * >(argp1);
3547
3873
  {
@@ -3572,12 +3898,12 @@ _wrap_Color_huee___(int argc, VALUE *argv, VALUE self) {
3572
3898
  }
3573
3899
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Color, 0 | 0 );
3574
3900
  if (!SWIG_IsOK(res1)) {
3575
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "setHue" "', argument " "1"" of type '" "Gosu::Color *""'");
3901
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Color *","setHue", 1, self ));
3576
3902
  }
3577
3903
  arg1 = reinterpret_cast< Gosu::Color * >(argp1);
3578
3904
  ecode2 = SWIG_AsVal_double(argv[0], &val2);
3579
3905
  if (!SWIG_IsOK(ecode2)) {
3580
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "setHue" "', argument " "2"" of type '" "double""'");
3906
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","setHue", 2, argv[0] ));
3581
3907
  }
3582
3908
  arg2 = static_cast< double >(val2);
3583
3909
  {
@@ -3596,9 +3922,9 @@ fail:
3596
3922
  SWIGINTERN VALUE
3597
3923
  _wrap_Color_saturation(int argc, VALUE *argv, VALUE self) {
3598
3924
  Gosu::Color *arg1 = (Gosu::Color *) 0 ;
3599
- double result;
3600
3925
  void *argp1 = 0 ;
3601
3926
  int res1 = 0 ;
3927
+ double result;
3602
3928
  VALUE vresult = Qnil;
3603
3929
 
3604
3930
  if ((argc < 0) || (argc > 0)) {
@@ -3606,7 +3932,7 @@ _wrap_Color_saturation(int argc, VALUE *argv, VALUE self) {
3606
3932
  }
3607
3933
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Color, 0 | 0 );
3608
3934
  if (!SWIG_IsOK(res1)) {
3609
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "saturation" "', argument " "1"" of type '" "Gosu::Color const *""'");
3935
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Color const *","saturation", 1, self ));
3610
3936
  }
3611
3937
  arg1 = reinterpret_cast< Gosu::Color * >(argp1);
3612
3938
  {
@@ -3637,12 +3963,12 @@ _wrap_Color_saturatione___(int argc, VALUE *argv, VALUE self) {
3637
3963
  }
3638
3964
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Color, 0 | 0 );
3639
3965
  if (!SWIG_IsOK(res1)) {
3640
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "setSaturation" "', argument " "1"" of type '" "Gosu::Color *""'");
3966
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Color *","setSaturation", 1, self ));
3641
3967
  }
3642
3968
  arg1 = reinterpret_cast< Gosu::Color * >(argp1);
3643
3969
  ecode2 = SWIG_AsVal_double(argv[0], &val2);
3644
3970
  if (!SWIG_IsOK(ecode2)) {
3645
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "setSaturation" "', argument " "2"" of type '" "double""'");
3971
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","setSaturation", 2, argv[0] ));
3646
3972
  }
3647
3973
  arg2 = static_cast< double >(val2);
3648
3974
  {
@@ -3661,9 +3987,9 @@ fail:
3661
3987
  SWIGINTERN VALUE
3662
3988
  _wrap_Color_value(int argc, VALUE *argv, VALUE self) {
3663
3989
  Gosu::Color *arg1 = (Gosu::Color *) 0 ;
3664
- double result;
3665
3990
  void *argp1 = 0 ;
3666
3991
  int res1 = 0 ;
3992
+ double result;
3667
3993
  VALUE vresult = Qnil;
3668
3994
 
3669
3995
  if ((argc < 0) || (argc > 0)) {
@@ -3671,7 +3997,7 @@ _wrap_Color_value(int argc, VALUE *argv, VALUE self) {
3671
3997
  }
3672
3998
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Color, 0 | 0 );
3673
3999
  if (!SWIG_IsOK(res1)) {
3674
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "value" "', argument " "1"" of type '" "Gosu::Color const *""'");
4000
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Color const *","value", 1, self ));
3675
4001
  }
3676
4002
  arg1 = reinterpret_cast< Gosu::Color * >(argp1);
3677
4003
  {
@@ -3702,12 +4028,12 @@ _wrap_Color_valuee___(int argc, VALUE *argv, VALUE self) {
3702
4028
  }
3703
4029
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Color, 0 | 0 );
3704
4030
  if (!SWIG_IsOK(res1)) {
3705
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "setValue" "', argument " "1"" of type '" "Gosu::Color *""'");
4031
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Color *","setValue", 1, self ));
3706
4032
  }
3707
4033
  arg1 = reinterpret_cast< Gosu::Color * >(argp1);
3708
4034
  ecode2 = SWIG_AsVal_double(argv[0], &val2);
3709
4035
  if (!SWIG_IsOK(ecode2)) {
3710
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "setValue" "', argument " "2"" of type '" "double""'");
4036
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","setValue", 2, argv[0] ));
3711
4037
  }
3712
4038
  arg2 = static_cast< double >(val2);
3713
4039
  {
@@ -3726,9 +4052,9 @@ fail:
3726
4052
  SWIGINTERN VALUE
3727
4053
  _wrap_Color_argb(int argc, VALUE *argv, VALUE self) {
3728
4054
  Gosu::Color *arg1 = (Gosu::Color *) 0 ;
3729
- boost::uint32_t result;
3730
4055
  void *argp1 = 0 ;
3731
4056
  int res1 = 0 ;
4057
+ boost::uint32_t result;
3732
4058
  VALUE vresult = Qnil;
3733
4059
 
3734
4060
  if ((argc < 0) || (argc > 0)) {
@@ -3736,7 +4062,7 @@ _wrap_Color_argb(int argc, VALUE *argv, VALUE self) {
3736
4062
  }
3737
4063
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Color, 0 | 0 );
3738
4064
  if (!SWIG_IsOK(res1)) {
3739
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "argb" "', argument " "1"" of type '" "Gosu::Color const *""'");
4065
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Color const *","argb", 1, self ));
3740
4066
  }
3741
4067
  arg1 = reinterpret_cast< Gosu::Color * >(argp1);
3742
4068
  {
@@ -3756,9 +4082,9 @@ fail:
3756
4082
  SWIGINTERN VALUE
3757
4083
  _wrap_Color_bgr(int argc, VALUE *argv, VALUE self) {
3758
4084
  Gosu::Color *arg1 = (Gosu::Color *) 0 ;
3759
- boost::uint32_t result;
3760
4085
  void *argp1 = 0 ;
3761
4086
  int res1 = 0 ;
4087
+ boost::uint32_t result;
3762
4088
  VALUE vresult = Qnil;
3763
4089
 
3764
4090
  if ((argc < 0) || (argc > 0)) {
@@ -3766,7 +4092,7 @@ _wrap_Color_bgr(int argc, VALUE *argv, VALUE self) {
3766
4092
  }
3767
4093
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Color, 0 | 0 );
3768
4094
  if (!SWIG_IsOK(res1)) {
3769
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "bgr" "', argument " "1"" of type '" "Gosu::Color const *""'");
4095
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Color const *","bgr", 1, self ));
3770
4096
  }
3771
4097
  arg1 = reinterpret_cast< Gosu::Color * >(argp1);
3772
4098
  {
@@ -3786,9 +4112,9 @@ fail:
3786
4112
  SWIGINTERN VALUE
3787
4113
  _wrap_Color_abgr(int argc, VALUE *argv, VALUE self) {
3788
4114
  Gosu::Color *arg1 = (Gosu::Color *) 0 ;
3789
- boost::uint32_t result;
3790
4115
  void *argp1 = 0 ;
3791
4116
  int res1 = 0 ;
4117
+ boost::uint32_t result;
3792
4118
  VALUE vresult = Qnil;
3793
4119
 
3794
4120
  if ((argc < 0) || (argc > 0)) {
@@ -3796,7 +4122,7 @@ _wrap_Color_abgr(int argc, VALUE *argv, VALUE self) {
3796
4122
  }
3797
4123
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Color, 0 | 0 );
3798
4124
  if (!SWIG_IsOK(res1)) {
3799
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "abgr" "', argument " "1"" of type '" "Gosu::Color const *""'");
4125
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Color const *","abgr", 1, self ));
3800
4126
  }
3801
4127
  arg1 = reinterpret_cast< Gosu::Color * >(argp1);
3802
4128
  {
@@ -3816,9 +4142,9 @@ fail:
3816
4142
  SWIGINTERN VALUE
3817
4143
  _wrap_Color_to_s(int argc, VALUE *argv, VALUE self) {
3818
4144
  Gosu::Color *arg1 = (Gosu::Color *) 0 ;
3819
- std::string result;
3820
4145
  void *argp1 = 0 ;
3821
4146
  int res1 = 0 ;
4147
+ std::string result;
3822
4148
  VALUE vresult = Qnil;
3823
4149
 
3824
4150
  if ((argc < 0) || (argc > 0)) {
@@ -3826,7 +4152,7 @@ _wrap_Color_to_s(int argc, VALUE *argv, VALUE self) {
3826
4152
  }
3827
4153
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Color, 0 | 0 );
3828
4154
  if (!SWIG_IsOK(res1)) {
3829
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "toS" "', argument " "1"" of type '" "Gosu::Color const *""'");
4155
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Color const *","toS", 1, self ));
3830
4156
  }
3831
4157
  arg1 = reinterpret_cast< Gosu::Color * >(argp1);
3832
4158
  {
@@ -3854,9 +4180,9 @@ _wrap_interpolate(int argc, VALUE *argv, VALUE self) {
3854
4180
  Gosu::Color arg1 ;
3855
4181
  Gosu::Color arg2 ;
3856
4182
  double arg3 = (double) 0.5 ;
3857
- Gosu::Color result;
3858
4183
  double val3 ;
3859
4184
  int ecode3 = 0 ;
4185
+ Gosu::Color result;
3860
4186
  VALUE vresult = Qnil;
3861
4187
 
3862
4188
  if ((argc < 2) || (argc > 3)) {
@@ -3887,7 +4213,7 @@ _wrap_interpolate(int argc, VALUE *argv, VALUE self) {
3887
4213
  if (argc > 2) {
3888
4214
  ecode3 = SWIG_AsVal_double(argv[2], &val3);
3889
4215
  if (!SWIG_IsOK(ecode3)) {
3890
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Gosu::interpolate" "', argument " "3"" of type '" "double""'");
4216
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","Gosu::interpolate", 3, argv[2] ));
3891
4217
  }
3892
4218
  arg3 = static_cast< double >(val3);
3893
4219
  }
@@ -3952,7 +4278,7 @@ fail:
3952
4278
 
3953
4279
 
3954
4280
  SWIGINTERN VALUE
3955
- none_get(VALUE self) {
4281
+ _wrap_none_get(VALUE self) {
3956
4282
  VALUE _val;
3957
4283
 
3958
4284
  _val = SWIG_NewPointerObj(SWIG_as_voidptr(&Gosu::Colors::none), SWIGTYPE_p_Gosu__Color, 0 );
@@ -3961,7 +4287,7 @@ none_get(VALUE self) {
3961
4287
 
3962
4288
 
3963
4289
  SWIGINTERN VALUE
3964
- black_get(VALUE self) {
4290
+ _wrap_black_get(VALUE self) {
3965
4291
  VALUE _val;
3966
4292
 
3967
4293
  _val = SWIG_NewPointerObj(SWIG_as_voidptr(&Gosu::Colors::black), SWIGTYPE_p_Gosu__Color, 0 );
@@ -3970,7 +4296,7 @@ black_get(VALUE self) {
3970
4296
 
3971
4297
 
3972
4298
  SWIGINTERN VALUE
3973
- gray_get(VALUE self) {
4299
+ _wrap_gray_get(VALUE self) {
3974
4300
  VALUE _val;
3975
4301
 
3976
4302
  _val = SWIG_NewPointerObj(SWIG_as_voidptr(&Gosu::Colors::gray), SWIGTYPE_p_Gosu__Color, 0 );
@@ -3979,7 +4305,7 @@ gray_get(VALUE self) {
3979
4305
 
3980
4306
 
3981
4307
  SWIGINTERN VALUE
3982
- white_get(VALUE self) {
4308
+ _wrap_white_get(VALUE self) {
3983
4309
  VALUE _val;
3984
4310
 
3985
4311
  _val = SWIG_NewPointerObj(SWIG_as_voidptr(&Gosu::Colors::white), SWIGTYPE_p_Gosu__Color, 0 );
@@ -3988,7 +4314,7 @@ white_get(VALUE self) {
3988
4314
 
3989
4315
 
3990
4316
  SWIGINTERN VALUE
3991
- red_get(VALUE self) {
4317
+ _wrap_red_get(VALUE self) {
3992
4318
  VALUE _val;
3993
4319
 
3994
4320
  _val = SWIG_NewPointerObj(SWIG_as_voidptr(&Gosu::Colors::red), SWIGTYPE_p_Gosu__Color, 0 );
@@ -3997,7 +4323,7 @@ red_get(VALUE self) {
3997
4323
 
3998
4324
 
3999
4325
  SWIGINTERN VALUE
4000
- green_get(VALUE self) {
4326
+ _wrap_green_get(VALUE self) {
4001
4327
  VALUE _val;
4002
4328
 
4003
4329
  _val = SWIG_NewPointerObj(SWIG_as_voidptr(&Gosu::Colors::green), SWIGTYPE_p_Gosu__Color, 0 );
@@ -4006,7 +4332,7 @@ green_get(VALUE self) {
4006
4332
 
4007
4333
 
4008
4334
  SWIGINTERN VALUE
4009
- blue_get(VALUE self) {
4335
+ _wrap_blue_get(VALUE self) {
4010
4336
  VALUE _val;
4011
4337
 
4012
4338
  _val = SWIG_NewPointerObj(SWIG_as_voidptr(&Gosu::Colors::blue), SWIGTYPE_p_Gosu__Color, 0 );
@@ -4015,7 +4341,7 @@ blue_get(VALUE self) {
4015
4341
 
4016
4342
 
4017
4343
  SWIGINTERN VALUE
4018
- yellow_get(VALUE self) {
4344
+ _wrap_yellow_get(VALUE self) {
4019
4345
  VALUE _val;
4020
4346
 
4021
4347
  _val = SWIG_NewPointerObj(SWIG_as_voidptr(&Gosu::Colors::yellow), SWIGTYPE_p_Gosu__Color, 0 );
@@ -4024,7 +4350,7 @@ yellow_get(VALUE self) {
4024
4350
 
4025
4351
 
4026
4352
  SWIGINTERN VALUE
4027
- fuchsia_get(VALUE self) {
4353
+ _wrap_fuchsia_get(VALUE self) {
4028
4354
  VALUE _val;
4029
4355
 
4030
4356
  _val = SWIG_NewPointerObj(SWIG_as_voidptr(&Gosu::Colors::fuchsia), SWIGTYPE_p_Gosu__Color, 0 );
@@ -4033,7 +4359,7 @@ fuchsia_get(VALUE self) {
4033
4359
 
4034
4360
 
4035
4361
  SWIGINTERN VALUE
4036
- cyan_get(VALUE self) {
4362
+ _wrap_cyan_get(VALUE self) {
4037
4363
  VALUE _val;
4038
4364
 
4039
4365
  _val = SWIG_NewPointerObj(SWIG_as_voidptr(&Gosu::Colors::cyan), SWIGTYPE_p_Gosu__Color, 0 );
@@ -4052,9 +4378,9 @@ free_Gosu_Font(Gosu::Font *arg1) {
4052
4378
  SWIGINTERN VALUE
4053
4379
  _wrap_Font_height(int argc, VALUE *argv, VALUE self) {
4054
4380
  Gosu::Font *arg1 = (Gosu::Font *) 0 ;
4055
- unsigned int result;
4056
4381
  void *argp1 = 0 ;
4057
4382
  int res1 = 0 ;
4383
+ unsigned int result;
4058
4384
  VALUE vresult = Qnil;
4059
4385
 
4060
4386
  if ((argc < 0) || (argc > 0)) {
@@ -4062,7 +4388,7 @@ _wrap_Font_height(int argc, VALUE *argv, VALUE self) {
4062
4388
  }
4063
4389
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Font, 0 | 0 );
4064
4390
  if (!SWIG_IsOK(res1)) {
4065
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "height" "', argument " "1"" of type '" "Gosu::Font const *""'");
4391
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Font const *","height", 1, self ));
4066
4392
  }
4067
4393
  arg1 = reinterpret_cast< Gosu::Font * >(argp1);
4068
4394
  {
@@ -4084,12 +4410,12 @@ _wrap_Font_text_width(int argc, VALUE *argv, VALUE self) {
4084
4410
  Gosu::Font *arg1 = (Gosu::Font *) 0 ;
4085
4411
  std::wstring *arg2 = 0 ;
4086
4412
  double arg3 = (double) 1 ;
4087
- double result;
4088
4413
  void *argp1 = 0 ;
4089
4414
  int res1 = 0 ;
4090
4415
  std::wstring temp2 ;
4091
4416
  double val3 ;
4092
4417
  int ecode3 = 0 ;
4418
+ double result;
4093
4419
  VALUE vresult = Qnil;
4094
4420
 
4095
4421
  if ((argc < 1) || (argc > 2)) {
@@ -4097,7 +4423,7 @@ _wrap_Font_text_width(int argc, VALUE *argv, VALUE self) {
4097
4423
  }
4098
4424
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Font, 0 | 0 );
4099
4425
  if (!SWIG_IsOK(res1)) {
4100
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "textWidth" "', argument " "1"" of type '" "Gosu::Font const *""'");
4426
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Font const *","textWidth", 1, self ));
4101
4427
  }
4102
4428
  arg1 = reinterpret_cast< Gosu::Font * >(argp1);
4103
4429
  {
@@ -4108,7 +4434,7 @@ _wrap_Font_text_width(int argc, VALUE *argv, VALUE self) {
4108
4434
  if (argc > 1) {
4109
4435
  ecode3 = SWIG_AsVal_double(argv[1], &val3);
4110
4436
  if (!SWIG_IsOK(ecode3)) {
4111
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "textWidth" "', argument " "3"" of type '" "double""'");
4437
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","textWidth", 3, argv[1] ));
4112
4438
  }
4113
4439
  arg3 = static_cast< double >(val3);
4114
4440
  }
@@ -4156,7 +4482,7 @@ _wrap_Font_draw(int argc, VALUE *argv, VALUE self) {
4156
4482
  }
4157
4483
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Font, 0 | 0 );
4158
4484
  if (!SWIG_IsOK(res1)) {
4159
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "draw" "', argument " "1"" of type '" "Gosu::Font const *""'");
4485
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Font const *","draw", 1, self ));
4160
4486
  }
4161
4487
  arg1 = reinterpret_cast< Gosu::Font * >(argp1);
4162
4488
  {
@@ -4166,30 +4492,30 @@ _wrap_Font_draw(int argc, VALUE *argv, VALUE self) {
4166
4492
  }
4167
4493
  ecode3 = SWIG_AsVal_double(argv[1], &val3);
4168
4494
  if (!SWIG_IsOK(ecode3)) {
4169
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "draw" "', argument " "3"" of type '" "double""'");
4495
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","draw", 3, argv[1] ));
4170
4496
  }
4171
4497
  arg3 = static_cast< double >(val3);
4172
4498
  ecode4 = SWIG_AsVal_double(argv[2], &val4);
4173
4499
  if (!SWIG_IsOK(ecode4)) {
4174
- SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "draw" "', argument " "4"" of type '" "double""'");
4500
+ SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "double","draw", 4, argv[2] ));
4175
4501
  }
4176
4502
  arg4 = static_cast< double >(val4);
4177
4503
  ecode5 = SWIG_AsVal_double(argv[3], &val5);
4178
4504
  if (!SWIG_IsOK(ecode5)) {
4179
- SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "draw" "', argument " "5"" of type '" "Gosu::ZPos""'");
4505
+ SWIG_exception_fail(SWIG_ArgError(ecode5), Ruby_Format_TypeError( "", "Gosu::ZPos","draw", 5, argv[3] ));
4180
4506
  }
4181
4507
  arg5 = static_cast< Gosu::ZPos >(val5);
4182
4508
  if (argc > 4) {
4183
4509
  ecode6 = SWIG_AsVal_double(argv[4], &val6);
4184
4510
  if (!SWIG_IsOK(ecode6)) {
4185
- SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "draw" "', argument " "6"" of type '" "double""'");
4511
+ SWIG_exception_fail(SWIG_ArgError(ecode6), Ruby_Format_TypeError( "", "double","draw", 6, argv[4] ));
4186
4512
  }
4187
4513
  arg6 = static_cast< double >(val6);
4188
4514
  }
4189
4515
  if (argc > 5) {
4190
4516
  ecode7 = SWIG_AsVal_double(argv[5], &val7);
4191
4517
  if (!SWIG_IsOK(ecode7)) {
4192
- SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "draw" "', argument " "7"" of type '" "double""'");
4518
+ SWIG_exception_fail(SWIG_ArgError(ecode7), Ruby_Format_TypeError( "", "double","draw", 7, argv[5] ));
4193
4519
  }
4194
4520
  arg7 = static_cast< double >(val7);
4195
4521
  }
@@ -4266,7 +4592,7 @@ _wrap_Font_draw_rel(int argc, VALUE *argv, VALUE self) {
4266
4592
  }
4267
4593
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Font, 0 | 0 );
4268
4594
  if (!SWIG_IsOK(res1)) {
4269
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "drawRel" "', argument " "1"" of type '" "Gosu::Font const *""'");
4595
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Font const *","drawRel", 1, self ));
4270
4596
  }
4271
4597
  arg1 = reinterpret_cast< Gosu::Font * >(argp1);
4272
4598
  {
@@ -4276,40 +4602,40 @@ _wrap_Font_draw_rel(int argc, VALUE *argv, VALUE self) {
4276
4602
  }
4277
4603
  ecode3 = SWIG_AsVal_double(argv[1], &val3);
4278
4604
  if (!SWIG_IsOK(ecode3)) {
4279
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "drawRel" "', argument " "3"" of type '" "double""'");
4605
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","drawRel", 3, argv[1] ));
4280
4606
  }
4281
4607
  arg3 = static_cast< double >(val3);
4282
4608
  ecode4 = SWIG_AsVal_double(argv[2], &val4);
4283
4609
  if (!SWIG_IsOK(ecode4)) {
4284
- SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "drawRel" "', argument " "4"" of type '" "double""'");
4610
+ SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "double","drawRel", 4, argv[2] ));
4285
4611
  }
4286
4612
  arg4 = static_cast< double >(val4);
4287
4613
  ecode5 = SWIG_AsVal_double(argv[3], &val5);
4288
4614
  if (!SWIG_IsOK(ecode5)) {
4289
- SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "drawRel" "', argument " "5"" of type '" "Gosu::ZPos""'");
4615
+ SWIG_exception_fail(SWIG_ArgError(ecode5), Ruby_Format_TypeError( "", "Gosu::ZPos","drawRel", 5, argv[3] ));
4290
4616
  }
4291
4617
  arg5 = static_cast< Gosu::ZPos >(val5);
4292
4618
  ecode6 = SWIG_AsVal_double(argv[4], &val6);
4293
4619
  if (!SWIG_IsOK(ecode6)) {
4294
- SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "drawRel" "', argument " "6"" of type '" "double""'");
4620
+ SWIG_exception_fail(SWIG_ArgError(ecode6), Ruby_Format_TypeError( "", "double","drawRel", 6, argv[4] ));
4295
4621
  }
4296
4622
  arg6 = static_cast< double >(val6);
4297
4623
  ecode7 = SWIG_AsVal_double(argv[5], &val7);
4298
4624
  if (!SWIG_IsOK(ecode7)) {
4299
- SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "drawRel" "', argument " "7"" of type '" "double""'");
4625
+ SWIG_exception_fail(SWIG_ArgError(ecode7), Ruby_Format_TypeError( "", "double","drawRel", 7, argv[5] ));
4300
4626
  }
4301
4627
  arg7 = static_cast< double >(val7);
4302
4628
  if (argc > 6) {
4303
4629
  ecode8 = SWIG_AsVal_double(argv[6], &val8);
4304
4630
  if (!SWIG_IsOK(ecode8)) {
4305
- SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "drawRel" "', argument " "8"" of type '" "double""'");
4631
+ SWIG_exception_fail(SWIG_ArgError(ecode8), Ruby_Format_TypeError( "", "double","drawRel", 8, argv[6] ));
4306
4632
  }
4307
4633
  arg8 = static_cast< double >(val8);
4308
4634
  }
4309
4635
  if (argc > 7) {
4310
4636
  ecode9 = SWIG_AsVal_double(argv[7], &val9);
4311
4637
  if (!SWIG_IsOK(ecode9)) {
4312
- SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "drawRel" "', argument " "9"" of type '" "double""'");
4638
+ SWIG_exception_fail(SWIG_ArgError(ecode9), Ruby_Format_TypeError( "", "double","drawRel", 9, argv[7] ));
4313
4639
  }
4314
4640
  arg9 = static_cast< double >(val9);
4315
4641
  }
@@ -4383,7 +4709,7 @@ _wrap_Font_draw_rot(int argc, VALUE *argv, VALUE self) {
4383
4709
  }
4384
4710
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Font, 0 | 0 );
4385
4711
  if (!SWIG_IsOK(res1)) {
4386
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "drawRot" "', argument " "1"" of type '" "Gosu::Font const *""'");
4712
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Font const *","drawRot", 1, self ));
4387
4713
  }
4388
4714
  arg1 = reinterpret_cast< Gosu::Font * >(argp1);
4389
4715
  {
@@ -4393,35 +4719,35 @@ _wrap_Font_draw_rot(int argc, VALUE *argv, VALUE self) {
4393
4719
  }
4394
4720
  ecode3 = SWIG_AsVal_double(argv[1], &val3);
4395
4721
  if (!SWIG_IsOK(ecode3)) {
4396
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "drawRot" "', argument " "3"" of type '" "double""'");
4722
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","drawRot", 3, argv[1] ));
4397
4723
  }
4398
4724
  arg3 = static_cast< double >(val3);
4399
4725
  ecode4 = SWIG_AsVal_double(argv[2], &val4);
4400
4726
  if (!SWIG_IsOK(ecode4)) {
4401
- SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "drawRot" "', argument " "4"" of type '" "double""'");
4727
+ SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "double","drawRot", 4, argv[2] ));
4402
4728
  }
4403
4729
  arg4 = static_cast< double >(val4);
4404
4730
  ecode5 = SWIG_AsVal_double(argv[3], &val5);
4405
4731
  if (!SWIG_IsOK(ecode5)) {
4406
- SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "drawRot" "', argument " "5"" of type '" "Gosu::ZPos""'");
4732
+ SWIG_exception_fail(SWIG_ArgError(ecode5), Ruby_Format_TypeError( "", "Gosu::ZPos","drawRot", 5, argv[3] ));
4407
4733
  }
4408
4734
  arg5 = static_cast< Gosu::ZPos >(val5);
4409
4735
  ecode6 = SWIG_AsVal_double(argv[4], &val6);
4410
4736
  if (!SWIG_IsOK(ecode6)) {
4411
- SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "drawRot" "', argument " "6"" of type '" "double""'");
4737
+ SWIG_exception_fail(SWIG_ArgError(ecode6), Ruby_Format_TypeError( "", "double","drawRot", 6, argv[4] ));
4412
4738
  }
4413
4739
  arg6 = static_cast< double >(val6);
4414
4740
  if (argc > 5) {
4415
4741
  ecode7 = SWIG_AsVal_double(argv[5], &val7);
4416
4742
  if (!SWIG_IsOK(ecode7)) {
4417
- SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "drawRot" "', argument " "7"" of type '" "double""'");
4743
+ SWIG_exception_fail(SWIG_ArgError(ecode7), Ruby_Format_TypeError( "", "double","drawRot", 7, argv[5] ));
4418
4744
  }
4419
4745
  arg7 = static_cast< double >(val7);
4420
4746
  }
4421
4747
  if (argc > 6) {
4422
4748
  ecode8 = SWIG_AsVal_double(argv[6], &val8);
4423
4749
  if (!SWIG_IsOK(ecode8)) {
4424
- SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "drawRot" "', argument " "8"" of type '" "double""'");
4750
+ SWIG_exception_fail(SWIG_ArgError(ecode8), Ruby_Format_TypeError( "", "double","drawRot", 8, argv[6] ));
4425
4751
  }
4426
4752
  arg8 = static_cast< double >(val8);
4427
4753
  }
@@ -4484,23 +4810,23 @@ _wrap_new_Font(int argc, VALUE *argv, VALUE self) {
4484
4810
  Gosu::Window *arg1 = 0 ;
4485
4811
  std::wstring *arg2 = 0 ;
4486
4812
  unsigned int arg3 ;
4487
- Gosu::Font *result = 0 ;
4488
4813
  void *argp1 = 0 ;
4489
4814
  int res1 = 0 ;
4490
4815
  std::wstring temp2 ;
4491
4816
  unsigned int val3 ;
4492
4817
  int ecode3 = 0 ;
4493
4818
  const char *classname SWIGUNUSED = "Gosu::Font";
4819
+ Gosu::Font *result = 0 ;
4494
4820
 
4495
4821
  if ((argc < 3) || (argc > 3)) {
4496
4822
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 3)",argc); SWIG_fail;
4497
4823
  }
4498
4824
  res1 = SWIG_ConvertPtr(argv[0], &argp1, SWIGTYPE_p_Gosu__Window, 0 );
4499
4825
  if (!SWIG_IsOK(res1)) {
4500
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Gosu::Font" "', argument " "1"" of type '" "Gosu::Window &""'");
4826
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window &","Gosu::Font", 1, argv[0] ));
4501
4827
  }
4502
4828
  if (!argp1) {
4503
- SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Gosu::Font" "', argument " "1"" of type '" "Gosu::Window &""'");
4829
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "Gosu::Window &","Gosu::Font", 1, argv[0]));
4504
4830
  }
4505
4831
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
4506
4832
  {
@@ -4510,14 +4836,14 @@ _wrap_new_Font(int argc, VALUE *argv, VALUE self) {
4510
4836
  }
4511
4837
  ecode3 = SWIG_AsVal_unsigned_SS_int(argv[2], &val3);
4512
4838
  if (!SWIG_IsOK(ecode3)) {
4513
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Gosu::Font" "', argument " "3"" of type '" "unsigned int""'");
4839
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "unsigned int","Gosu::Font", 3, argv[2] ));
4514
4840
  }
4515
4841
  arg3 = static_cast< unsigned int >(val3);
4516
4842
  {
4517
4843
  try {
4518
- result = (Gosu::Font *)new_Gosu_Font(*arg1,(std::wstring const &)*arg2,arg3);DATA_PTR(self) = result;
4844
+ result = (Gosu::Font *)new_Gosu_Font(*arg1,(std::wstring const &)*arg2,arg3);
4845
+ DATA_PTR(self) = result;
4519
4846
  SWIG_RubyAddTracking(result, self);
4520
-
4521
4847
  } catch(const std::runtime_error& e) {
4522
4848
  SWIG_exception(SWIG_RuntimeError, e.what());
4523
4849
  }
@@ -4544,16 +4870,15 @@ _wrap_GLTexInfo_tex_name_set(int argc, VALUE *argv, VALUE self) {
4544
4870
  }
4545
4871
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__GLTexInfo, 0 | 0 );
4546
4872
  if (!SWIG_IsOK(res1)) {
4547
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "texName" "', argument " "1"" of type '" "Gosu::GLTexInfo *""'");
4873
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::GLTexInfo *","texName", 1, self ));
4548
4874
  }
4549
4875
  arg1 = reinterpret_cast< Gosu::GLTexInfo * >(argp1);
4550
4876
  ecode2 = SWIG_AsVal_int(argv[0], &val2);
4551
4877
  if (!SWIG_IsOK(ecode2)) {
4552
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "texName" "', argument " "2"" of type '" "int""'");
4878
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "int","texName", 2, argv[0] ));
4553
4879
  }
4554
4880
  arg2 = static_cast< int >(val2);
4555
4881
  if (arg1) (arg1)->texName = arg2;
4556
-
4557
4882
  return Qnil;
4558
4883
  fail:
4559
4884
  return Qnil;
@@ -4563,9 +4888,9 @@ fail:
4563
4888
  SWIGINTERN VALUE
4564
4889
  _wrap_GLTexInfo_tex_name_get(int argc, VALUE *argv, VALUE self) {
4565
4890
  Gosu::GLTexInfo *arg1 = (Gosu::GLTexInfo *) 0 ;
4566
- int result;
4567
4891
  void *argp1 = 0 ;
4568
4892
  int res1 = 0 ;
4893
+ int result;
4569
4894
  VALUE vresult = Qnil;
4570
4895
 
4571
4896
  if ((argc < 0) || (argc > 0)) {
@@ -4573,7 +4898,7 @@ _wrap_GLTexInfo_tex_name_get(int argc, VALUE *argv, VALUE self) {
4573
4898
  }
4574
4899
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__GLTexInfo, 0 | 0 );
4575
4900
  if (!SWIG_IsOK(res1)) {
4576
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "texName" "', argument " "1"" of type '" "Gosu::GLTexInfo *""'");
4901
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::GLTexInfo *","texName", 1, self ));
4577
4902
  }
4578
4903
  arg1 = reinterpret_cast< Gosu::GLTexInfo * >(argp1);
4579
4904
  result = (int) ((arg1)->texName);
@@ -4598,16 +4923,15 @@ _wrap_GLTexInfo_left_set(int argc, VALUE *argv, VALUE self) {
4598
4923
  }
4599
4924
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__GLTexInfo, 0 | 0 );
4600
4925
  if (!SWIG_IsOK(res1)) {
4601
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "left" "', argument " "1"" of type '" "Gosu::GLTexInfo *""'");
4926
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::GLTexInfo *","left", 1, self ));
4602
4927
  }
4603
4928
  arg1 = reinterpret_cast< Gosu::GLTexInfo * >(argp1);
4604
4929
  ecode2 = SWIG_AsVal_double(argv[0], &val2);
4605
4930
  if (!SWIG_IsOK(ecode2)) {
4606
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "left" "', argument " "2"" of type '" "double""'");
4931
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","left", 2, argv[0] ));
4607
4932
  }
4608
4933
  arg2 = static_cast< double >(val2);
4609
4934
  if (arg1) (arg1)->left = arg2;
4610
-
4611
4935
  return Qnil;
4612
4936
  fail:
4613
4937
  return Qnil;
@@ -4617,9 +4941,9 @@ fail:
4617
4941
  SWIGINTERN VALUE
4618
4942
  _wrap_GLTexInfo_left_get(int argc, VALUE *argv, VALUE self) {
4619
4943
  Gosu::GLTexInfo *arg1 = (Gosu::GLTexInfo *) 0 ;
4620
- double result;
4621
4944
  void *argp1 = 0 ;
4622
4945
  int res1 = 0 ;
4946
+ double result;
4623
4947
  VALUE vresult = Qnil;
4624
4948
 
4625
4949
  if ((argc < 0) || (argc > 0)) {
@@ -4627,7 +4951,7 @@ _wrap_GLTexInfo_left_get(int argc, VALUE *argv, VALUE self) {
4627
4951
  }
4628
4952
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__GLTexInfo, 0 | 0 );
4629
4953
  if (!SWIG_IsOK(res1)) {
4630
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "left" "', argument " "1"" of type '" "Gosu::GLTexInfo *""'");
4954
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::GLTexInfo *","left", 1, self ));
4631
4955
  }
4632
4956
  arg1 = reinterpret_cast< Gosu::GLTexInfo * >(argp1);
4633
4957
  result = (double) ((arg1)->left);
@@ -4652,16 +4976,15 @@ _wrap_GLTexInfo_right_set(int argc, VALUE *argv, VALUE self) {
4652
4976
  }
4653
4977
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__GLTexInfo, 0 | 0 );
4654
4978
  if (!SWIG_IsOK(res1)) {
4655
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "right" "', argument " "1"" of type '" "Gosu::GLTexInfo *""'");
4979
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::GLTexInfo *","right", 1, self ));
4656
4980
  }
4657
4981
  arg1 = reinterpret_cast< Gosu::GLTexInfo * >(argp1);
4658
4982
  ecode2 = SWIG_AsVal_double(argv[0], &val2);
4659
4983
  if (!SWIG_IsOK(ecode2)) {
4660
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "right" "', argument " "2"" of type '" "double""'");
4984
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","right", 2, argv[0] ));
4661
4985
  }
4662
4986
  arg2 = static_cast< double >(val2);
4663
4987
  if (arg1) (arg1)->right = arg2;
4664
-
4665
4988
  return Qnil;
4666
4989
  fail:
4667
4990
  return Qnil;
@@ -4671,9 +4994,9 @@ fail:
4671
4994
  SWIGINTERN VALUE
4672
4995
  _wrap_GLTexInfo_right_get(int argc, VALUE *argv, VALUE self) {
4673
4996
  Gosu::GLTexInfo *arg1 = (Gosu::GLTexInfo *) 0 ;
4674
- double result;
4675
4997
  void *argp1 = 0 ;
4676
4998
  int res1 = 0 ;
4999
+ double result;
4677
5000
  VALUE vresult = Qnil;
4678
5001
 
4679
5002
  if ((argc < 0) || (argc > 0)) {
@@ -4681,7 +5004,7 @@ _wrap_GLTexInfo_right_get(int argc, VALUE *argv, VALUE self) {
4681
5004
  }
4682
5005
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__GLTexInfo, 0 | 0 );
4683
5006
  if (!SWIG_IsOK(res1)) {
4684
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "right" "', argument " "1"" of type '" "Gosu::GLTexInfo *""'");
5007
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::GLTexInfo *","right", 1, self ));
4685
5008
  }
4686
5009
  arg1 = reinterpret_cast< Gosu::GLTexInfo * >(argp1);
4687
5010
  result = (double) ((arg1)->right);
@@ -4706,16 +5029,15 @@ _wrap_GLTexInfo_top_set(int argc, VALUE *argv, VALUE self) {
4706
5029
  }
4707
5030
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__GLTexInfo, 0 | 0 );
4708
5031
  if (!SWIG_IsOK(res1)) {
4709
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "top" "', argument " "1"" of type '" "Gosu::GLTexInfo *""'");
5032
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::GLTexInfo *","top", 1, self ));
4710
5033
  }
4711
5034
  arg1 = reinterpret_cast< Gosu::GLTexInfo * >(argp1);
4712
5035
  ecode2 = SWIG_AsVal_double(argv[0], &val2);
4713
5036
  if (!SWIG_IsOK(ecode2)) {
4714
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "top" "', argument " "2"" of type '" "double""'");
5037
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","top", 2, argv[0] ));
4715
5038
  }
4716
5039
  arg2 = static_cast< double >(val2);
4717
5040
  if (arg1) (arg1)->top = arg2;
4718
-
4719
5041
  return Qnil;
4720
5042
  fail:
4721
5043
  return Qnil;
@@ -4725,9 +5047,9 @@ fail:
4725
5047
  SWIGINTERN VALUE
4726
5048
  _wrap_GLTexInfo_top_get(int argc, VALUE *argv, VALUE self) {
4727
5049
  Gosu::GLTexInfo *arg1 = (Gosu::GLTexInfo *) 0 ;
4728
- double result;
4729
5050
  void *argp1 = 0 ;
4730
5051
  int res1 = 0 ;
5052
+ double result;
4731
5053
  VALUE vresult = Qnil;
4732
5054
 
4733
5055
  if ((argc < 0) || (argc > 0)) {
@@ -4735,7 +5057,7 @@ _wrap_GLTexInfo_top_get(int argc, VALUE *argv, VALUE self) {
4735
5057
  }
4736
5058
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__GLTexInfo, 0 | 0 );
4737
5059
  if (!SWIG_IsOK(res1)) {
4738
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "top" "', argument " "1"" of type '" "Gosu::GLTexInfo *""'");
5060
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::GLTexInfo *","top", 1, self ));
4739
5061
  }
4740
5062
  arg1 = reinterpret_cast< Gosu::GLTexInfo * >(argp1);
4741
5063
  result = (double) ((arg1)->top);
@@ -4760,16 +5082,15 @@ _wrap_GLTexInfo_bottom_set(int argc, VALUE *argv, VALUE self) {
4760
5082
  }
4761
5083
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__GLTexInfo, 0 | 0 );
4762
5084
  if (!SWIG_IsOK(res1)) {
4763
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "bottom" "', argument " "1"" of type '" "Gosu::GLTexInfo *""'");
5085
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::GLTexInfo *","bottom", 1, self ));
4764
5086
  }
4765
5087
  arg1 = reinterpret_cast< Gosu::GLTexInfo * >(argp1);
4766
5088
  ecode2 = SWIG_AsVal_double(argv[0], &val2);
4767
5089
  if (!SWIG_IsOK(ecode2)) {
4768
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "bottom" "', argument " "2"" of type '" "double""'");
5090
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","bottom", 2, argv[0] ));
4769
5091
  }
4770
5092
  arg2 = static_cast< double >(val2);
4771
5093
  if (arg1) (arg1)->bottom = arg2;
4772
-
4773
5094
  return Qnil;
4774
5095
  fail:
4775
5096
  return Qnil;
@@ -4779,9 +5100,9 @@ fail:
4779
5100
  SWIGINTERN VALUE
4780
5101
  _wrap_GLTexInfo_bottom_get(int argc, VALUE *argv, VALUE self) {
4781
5102
  Gosu::GLTexInfo *arg1 = (Gosu::GLTexInfo *) 0 ;
4782
- double result;
4783
5103
  void *argp1 = 0 ;
4784
5104
  int res1 = 0 ;
5105
+ double result;
4785
5106
  VALUE vresult = Qnil;
4786
5107
 
4787
5108
  if ((argc < 0) || (argc > 0)) {
@@ -4789,7 +5110,7 @@ _wrap_GLTexInfo_bottom_get(int argc, VALUE *argv, VALUE self) {
4789
5110
  }
4790
5111
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__GLTexInfo, 0 | 0 );
4791
5112
  if (!SWIG_IsOK(res1)) {
4792
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "bottom" "', argument " "1"" of type '" "Gosu::GLTexInfo *""'");
5113
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::GLTexInfo *","bottom", 1, self ));
4793
5114
  }
4794
5115
  arg1 = reinterpret_cast< Gosu::GLTexInfo * >(argp1);
4795
5116
  result = (double) ((arg1)->bottom);
@@ -4819,17 +5140,17 @@ _wrap_GLTexInfo_allocate(VALUE self) {
4819
5140
 
4820
5141
  SWIGINTERN VALUE
4821
5142
  _wrap_new_GLTexInfo(int argc, VALUE *argv, VALUE self) {
4822
- Gosu::GLTexInfo *result = 0 ;
4823
5143
  const char *classname SWIGUNUSED = "Gosu::GLTexInfo";
5144
+ Gosu::GLTexInfo *result = 0 ;
4824
5145
 
4825
5146
  if ((argc < 0) || (argc > 0)) {
4826
5147
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
4827
5148
  }
4828
5149
  {
4829
5150
  try {
4830
- result = (Gosu::GLTexInfo *)new Gosu::GLTexInfo();DATA_PTR(self) = result;
5151
+ result = (Gosu::GLTexInfo *)new Gosu::GLTexInfo();
5152
+ DATA_PTR(self) = result;
4831
5153
  SWIG_RubyAddTracking(result, self);
4832
-
4833
5154
  } catch(const std::runtime_error& e) {
4834
5155
  SWIG_exception(SWIG_RuntimeError, e.what());
4835
5156
  }
@@ -4857,9 +5178,9 @@ free_Gosu_Image(Gosu::Image *arg1) {
4857
5178
  SWIGINTERN VALUE
4858
5179
  _wrap_Image_width(int argc, VALUE *argv, VALUE self) {
4859
5180
  Gosu::Image *arg1 = (Gosu::Image *) 0 ;
4860
- unsigned int result;
4861
5181
  void *argp1 = 0 ;
4862
5182
  int res1 = 0 ;
5183
+ unsigned int result;
4863
5184
  VALUE vresult = Qnil;
4864
5185
 
4865
5186
  if ((argc < 0) || (argc > 0)) {
@@ -4867,7 +5188,7 @@ _wrap_Image_width(int argc, VALUE *argv, VALUE self) {
4867
5188
  }
4868
5189
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Image, 0 | 0 );
4869
5190
  if (!SWIG_IsOK(res1)) {
4870
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "width" "', argument " "1"" of type '" "Gosu::Image const *""'");
5191
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Image const *","width", 1, self ));
4871
5192
  }
4872
5193
  arg1 = reinterpret_cast< Gosu::Image * >(argp1);
4873
5194
  {
@@ -4887,9 +5208,9 @@ fail:
4887
5208
  SWIGINTERN VALUE
4888
5209
  _wrap_Image_height(int argc, VALUE *argv, VALUE self) {
4889
5210
  Gosu::Image *arg1 = (Gosu::Image *) 0 ;
4890
- unsigned int result;
4891
5211
  void *argp1 = 0 ;
4892
5212
  int res1 = 0 ;
5213
+ unsigned int result;
4893
5214
  VALUE vresult = Qnil;
4894
5215
 
4895
5216
  if ((argc < 0) || (argc > 0)) {
@@ -4897,7 +5218,7 @@ _wrap_Image_height(int argc, VALUE *argv, VALUE self) {
4897
5218
  }
4898
5219
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Image, 0 | 0 );
4899
5220
  if (!SWIG_IsOK(res1)) {
4900
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "height" "', argument " "1"" of type '" "Gosu::Image const *""'");
5221
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Image const *","height", 1, self ));
4901
5222
  }
4902
5223
  arg1 = reinterpret_cast< Gosu::Image * >(argp1);
4903
5224
  {
@@ -4942,35 +5263,35 @@ _wrap_Image_draw(int argc, VALUE *argv, VALUE self) {
4942
5263
  }
4943
5264
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Image, 0 | 0 );
4944
5265
  if (!SWIG_IsOK(res1)) {
4945
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "draw" "', argument " "1"" of type '" "Gosu::Image const *""'");
5266
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Image const *","draw", 1, self ));
4946
5267
  }
4947
5268
  arg1 = reinterpret_cast< Gosu::Image * >(argp1);
4948
5269
  ecode2 = SWIG_AsVal_double(argv[0], &val2);
4949
5270
  if (!SWIG_IsOK(ecode2)) {
4950
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "draw" "', argument " "2"" of type '" "double""'");
5271
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","draw", 2, argv[0] ));
4951
5272
  }
4952
5273
  arg2 = static_cast< double >(val2);
4953
5274
  ecode3 = SWIG_AsVal_double(argv[1], &val3);
4954
5275
  if (!SWIG_IsOK(ecode3)) {
4955
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "draw" "', argument " "3"" of type '" "double""'");
5276
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","draw", 3, argv[1] ));
4956
5277
  }
4957
5278
  arg3 = static_cast< double >(val3);
4958
5279
  ecode4 = SWIG_AsVal_double(argv[2], &val4);
4959
5280
  if (!SWIG_IsOK(ecode4)) {
4960
- SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "draw" "', argument " "4"" of type '" "Gosu::ZPos""'");
5281
+ SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "Gosu::ZPos","draw", 4, argv[2] ));
4961
5282
  }
4962
5283
  arg4 = static_cast< Gosu::ZPos >(val4);
4963
5284
  if (argc > 3) {
4964
5285
  ecode5 = SWIG_AsVal_double(argv[3], &val5);
4965
5286
  if (!SWIG_IsOK(ecode5)) {
4966
- SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "draw" "', argument " "5"" of type '" "double""'");
5287
+ SWIG_exception_fail(SWIG_ArgError(ecode5), Ruby_Format_TypeError( "", "double","draw", 5, argv[3] ));
4967
5288
  }
4968
5289
  arg5 = static_cast< double >(val5);
4969
5290
  }
4970
5291
  if (argc > 4) {
4971
5292
  ecode6 = SWIG_AsVal_double(argv[4], &val6);
4972
5293
  if (!SWIG_IsOK(ecode6)) {
4973
- SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "draw" "', argument " "6"" of type '" "double""'");
5294
+ SWIG_exception_fail(SWIG_ArgError(ecode6), Ruby_Format_TypeError( "", "double","draw", 6, argv[4] ));
4974
5295
  }
4975
5296
  arg6 = static_cast< double >(val6);
4976
5297
  }
@@ -5042,32 +5363,32 @@ _wrap_Image_draw_mod(int argc, VALUE *argv, VALUE self) {
5042
5363
  }
5043
5364
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Image, 0 | 0 );
5044
5365
  if (!SWIG_IsOK(res1)) {
5045
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "drawMod" "', argument " "1"" of type '" "Gosu::Image const *""'");
5366
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Image const *","drawMod", 1, self ));
5046
5367
  }
5047
5368
  arg1 = reinterpret_cast< Gosu::Image * >(argp1);
5048
5369
  ecode2 = SWIG_AsVal_double(argv[0], &val2);
5049
5370
  if (!SWIG_IsOK(ecode2)) {
5050
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "drawMod" "', argument " "2"" of type '" "double""'");
5371
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","drawMod", 2, argv[0] ));
5051
5372
  }
5052
5373
  arg2 = static_cast< double >(val2);
5053
5374
  ecode3 = SWIG_AsVal_double(argv[1], &val3);
5054
5375
  if (!SWIG_IsOK(ecode3)) {
5055
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "drawMod" "', argument " "3"" of type '" "double""'");
5376
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","drawMod", 3, argv[1] ));
5056
5377
  }
5057
5378
  arg3 = static_cast< double >(val3);
5058
5379
  ecode4 = SWIG_AsVal_double(argv[2], &val4);
5059
5380
  if (!SWIG_IsOK(ecode4)) {
5060
- SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "drawMod" "', argument " "4"" of type '" "Gosu::ZPos""'");
5381
+ SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "Gosu::ZPos","drawMod", 4, argv[2] ));
5061
5382
  }
5062
5383
  arg4 = static_cast< Gosu::ZPos >(val4);
5063
5384
  ecode5 = SWIG_AsVal_double(argv[3], &val5);
5064
5385
  if (!SWIG_IsOK(ecode5)) {
5065
- SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "drawMod" "', argument " "5"" of type '" "double""'");
5386
+ SWIG_exception_fail(SWIG_ArgError(ecode5), Ruby_Format_TypeError( "", "double","drawMod", 5, argv[3] ));
5066
5387
  }
5067
5388
  arg5 = static_cast< double >(val5);
5068
5389
  ecode6 = SWIG_AsVal_double(argv[4], &val6);
5069
5390
  if (!SWIG_IsOK(ecode6)) {
5070
- SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "drawMod" "', argument " "6"" of type '" "double""'");
5391
+ SWIG_exception_fail(SWIG_ArgError(ecode6), Ruby_Format_TypeError( "", "double","drawMod", 6, argv[4] ));
5071
5392
  }
5072
5393
  arg6 = static_cast< double >(val6);
5073
5394
  {
@@ -5175,54 +5496,54 @@ _wrap_Image_draw_rot(int argc, VALUE *argv, VALUE self) {
5175
5496
  }
5176
5497
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Image, 0 | 0 );
5177
5498
  if (!SWIG_IsOK(res1)) {
5178
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "drawRot" "', argument " "1"" of type '" "Gosu::Image const *""'");
5499
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Image const *","drawRot", 1, self ));
5179
5500
  }
5180
5501
  arg1 = reinterpret_cast< Gosu::Image * >(argp1);
5181
5502
  ecode2 = SWIG_AsVal_double(argv[0], &val2);
5182
5503
  if (!SWIG_IsOK(ecode2)) {
5183
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "drawRot" "', argument " "2"" of type '" "double""'");
5504
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","drawRot", 2, argv[0] ));
5184
5505
  }
5185
5506
  arg2 = static_cast< double >(val2);
5186
5507
  ecode3 = SWIG_AsVal_double(argv[1], &val3);
5187
5508
  if (!SWIG_IsOK(ecode3)) {
5188
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "drawRot" "', argument " "3"" of type '" "double""'");
5509
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","drawRot", 3, argv[1] ));
5189
5510
  }
5190
5511
  arg3 = static_cast< double >(val3);
5191
5512
  ecode4 = SWIG_AsVal_double(argv[2], &val4);
5192
5513
  if (!SWIG_IsOK(ecode4)) {
5193
- SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "drawRot" "', argument " "4"" of type '" "Gosu::ZPos""'");
5514
+ SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "Gosu::ZPos","drawRot", 4, argv[2] ));
5194
5515
  }
5195
5516
  arg4 = static_cast< Gosu::ZPos >(val4);
5196
5517
  ecode5 = SWIG_AsVal_double(argv[3], &val5);
5197
5518
  if (!SWIG_IsOK(ecode5)) {
5198
- SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "drawRot" "', argument " "5"" of type '" "double""'");
5519
+ SWIG_exception_fail(SWIG_ArgError(ecode5), Ruby_Format_TypeError( "", "double","drawRot", 5, argv[3] ));
5199
5520
  }
5200
5521
  arg5 = static_cast< double >(val5);
5201
5522
  if (argc > 4) {
5202
5523
  ecode6 = SWIG_AsVal_double(argv[4], &val6);
5203
5524
  if (!SWIG_IsOK(ecode6)) {
5204
- SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "drawRot" "', argument " "6"" of type '" "double""'");
5525
+ SWIG_exception_fail(SWIG_ArgError(ecode6), Ruby_Format_TypeError( "", "double","drawRot", 6, argv[4] ));
5205
5526
  }
5206
5527
  arg6 = static_cast< double >(val6);
5207
5528
  }
5208
5529
  if (argc > 5) {
5209
5530
  ecode7 = SWIG_AsVal_double(argv[5], &val7);
5210
5531
  if (!SWIG_IsOK(ecode7)) {
5211
- SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "drawRot" "', argument " "7"" of type '" "double""'");
5532
+ SWIG_exception_fail(SWIG_ArgError(ecode7), Ruby_Format_TypeError( "", "double","drawRot", 7, argv[5] ));
5212
5533
  }
5213
5534
  arg7 = static_cast< double >(val7);
5214
5535
  }
5215
5536
  if (argc > 6) {
5216
5537
  ecode8 = SWIG_AsVal_double(argv[6], &val8);
5217
5538
  if (!SWIG_IsOK(ecode8)) {
5218
- SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "drawRot" "', argument " "8"" of type '" "double""'");
5539
+ SWIG_exception_fail(SWIG_ArgError(ecode8), Ruby_Format_TypeError( "", "double","drawRot", 8, argv[6] ));
5219
5540
  }
5220
5541
  arg8 = static_cast< double >(val8);
5221
5542
  }
5222
5543
  if (argc > 7) {
5223
5544
  ecode9 = SWIG_AsVal_double(argv[7], &val9);
5224
5545
  if (!SWIG_IsOK(ecode9)) {
5225
- SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "drawRot" "', argument " "9"" of type '" "double""'");
5546
+ SWIG_exception_fail(SWIG_ArgError(ecode9), Ruby_Format_TypeError( "", "double","drawRot", 9, argv[7] ));
5226
5547
  }
5227
5548
  arg9 = static_cast< double >(val9);
5228
5549
  }
@@ -5268,37 +5589,37 @@ _wrap_new_Image__SWIG_0(int argc, VALUE *argv, VALUE self) {
5268
5589
  Gosu::Window *arg1 = 0 ;
5269
5590
  VALUE arg2 = (VALUE) 0 ;
5270
5591
  bool arg3 = (bool) false ;
5271
- Gosu::Image *result = 0 ;
5272
5592
  void *argp1 = 0 ;
5273
5593
  int res1 = 0 ;
5274
5594
  bool val3 ;
5275
5595
  int ecode3 = 0 ;
5276
5596
  const char *classname SWIGUNUSED = "Gosu::Image";
5597
+ Gosu::Image *result = 0 ;
5277
5598
 
5278
5599
  if ((argc < 2) || (argc > 3)) {
5279
5600
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
5280
5601
  }
5281
5602
  res1 = SWIG_ConvertPtr(argv[0], &argp1, SWIGTYPE_p_Gosu__Window, 0 );
5282
5603
  if (!SWIG_IsOK(res1)) {
5283
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Gosu::Image" "', argument " "1"" of type '" "Gosu::Window &""'");
5604
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window &","Gosu::Image", 1, argv[0] ));
5284
5605
  }
5285
5606
  if (!argp1) {
5286
- SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Gosu::Image" "', argument " "1"" of type '" "Gosu::Window &""'");
5607
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "Gosu::Window &","Gosu::Image", 1, argv[0]));
5287
5608
  }
5288
5609
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
5289
5610
  arg2 = argv[1];
5290
5611
  if (argc > 2) {
5291
5612
  ecode3 = SWIG_AsVal_bool(argv[2], &val3);
5292
5613
  if (!SWIG_IsOK(ecode3)) {
5293
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Gosu::Image" "', argument " "3"" of type '" "bool""'");
5614
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "bool","Gosu::Image", 3, argv[2] ));
5294
5615
  }
5295
5616
  arg3 = static_cast< bool >(val3);
5296
5617
  }
5297
5618
  {
5298
5619
  try {
5299
- result = (Gosu::Image *)new_Gosu_Image__SWIG_0(*arg1,arg2,arg3);DATA_PTR(self) = result;
5620
+ result = (Gosu::Image *)new_Gosu_Image__SWIG_0(*arg1,arg2,arg3);
5621
+ DATA_PTR(self) = result;
5300
5622
  SWIG_RubyAddTracking(result, self);
5301
-
5302
5623
  } catch(const std::runtime_error& e) {
5303
5624
  SWIG_exception(SWIG_RuntimeError, e.what());
5304
5625
  }
@@ -5335,7 +5656,6 @@ _wrap_new_Image__SWIG_1(int argc, VALUE *argv, VALUE self) {
5335
5656
  unsigned int arg5 ;
5336
5657
  unsigned int arg6 ;
5337
5658
  unsigned int arg7 ;
5338
- Gosu::Image *result = 0 ;
5339
5659
  void *argp1 = 0 ;
5340
5660
  int res1 = 0 ;
5341
5661
  bool val3 ;
@@ -5349,49 +5669,50 @@ _wrap_new_Image__SWIG_1(int argc, VALUE *argv, VALUE self) {
5349
5669
  unsigned int val7 ;
5350
5670
  int ecode7 = 0 ;
5351
5671
  const char *classname SWIGUNUSED = "Gosu::Image";
5672
+ Gosu::Image *result = 0 ;
5352
5673
 
5353
5674
  if ((argc < 7) || (argc > 7)) {
5354
5675
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 7)",argc); SWIG_fail;
5355
5676
  }
5356
5677
  res1 = SWIG_ConvertPtr(argv[0], &argp1, SWIGTYPE_p_Gosu__Window, 0 );
5357
5678
  if (!SWIG_IsOK(res1)) {
5358
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Gosu::Image" "', argument " "1"" of type '" "Gosu::Window &""'");
5679
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window &","Gosu::Image", 1, argv[0] ));
5359
5680
  }
5360
5681
  if (!argp1) {
5361
- SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Gosu::Image" "', argument " "1"" of type '" "Gosu::Window &""'");
5682
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "Gosu::Window &","Gosu::Image", 1, argv[0]));
5362
5683
  }
5363
5684
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
5364
5685
  arg2 = argv[1];
5365
5686
  ecode3 = SWIG_AsVal_bool(argv[2], &val3);
5366
5687
  if (!SWIG_IsOK(ecode3)) {
5367
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Gosu::Image" "', argument " "3"" of type '" "bool""'");
5688
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "bool","Gosu::Image", 3, argv[2] ));
5368
5689
  }
5369
5690
  arg3 = static_cast< bool >(val3);
5370
5691
  ecode4 = SWIG_AsVal_unsigned_SS_int(argv[3], &val4);
5371
5692
  if (!SWIG_IsOK(ecode4)) {
5372
- SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Gosu::Image" "', argument " "4"" of type '" "unsigned int""'");
5693
+ SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "unsigned int","Gosu::Image", 4, argv[3] ));
5373
5694
  }
5374
5695
  arg4 = static_cast< unsigned int >(val4);
5375
5696
  ecode5 = SWIG_AsVal_unsigned_SS_int(argv[4], &val5);
5376
5697
  if (!SWIG_IsOK(ecode5)) {
5377
- SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Gosu::Image" "', argument " "5"" of type '" "unsigned int""'");
5698
+ SWIG_exception_fail(SWIG_ArgError(ecode5), Ruby_Format_TypeError( "", "unsigned int","Gosu::Image", 5, argv[4] ));
5378
5699
  }
5379
5700
  arg5 = static_cast< unsigned int >(val5);
5380
5701
  ecode6 = SWIG_AsVal_unsigned_SS_int(argv[5], &val6);
5381
5702
  if (!SWIG_IsOK(ecode6)) {
5382
- SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "Gosu::Image" "', argument " "6"" of type '" "unsigned int""'");
5703
+ SWIG_exception_fail(SWIG_ArgError(ecode6), Ruby_Format_TypeError( "", "unsigned int","Gosu::Image", 6, argv[5] ));
5383
5704
  }
5384
5705
  arg6 = static_cast< unsigned int >(val6);
5385
5706
  ecode7 = SWIG_AsVal_unsigned_SS_int(argv[6], &val7);
5386
5707
  if (!SWIG_IsOK(ecode7)) {
5387
- SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "Gosu::Image" "', argument " "7"" of type '" "unsigned int""'");
5708
+ SWIG_exception_fail(SWIG_ArgError(ecode7), Ruby_Format_TypeError( "", "unsigned int","Gosu::Image", 7, argv[6] ));
5388
5709
  }
5389
5710
  arg7 = static_cast< unsigned int >(val7);
5390
5711
  {
5391
5712
  try {
5392
- result = (Gosu::Image *)new_Gosu_Image__SWIG_1(*arg1,arg2,arg3,arg4,arg5,arg6,arg7);DATA_PTR(self) = result;
5713
+ result = (Gosu::Image *)new_Gosu_Image__SWIG_1(*arg1,arg2,arg3,arg4,arg5,arg6,arg7);
5714
+ DATA_PTR(self) = result;
5393
5715
  SWIG_RubyAddTracking(result, self);
5394
-
5395
5716
  } catch(const std::runtime_error& e) {
5396
5717
  SWIG_exception(SWIG_RuntimeError, e.what());
5397
5718
  }
@@ -5409,7 +5730,7 @@ SWIGINTERN VALUE _wrap_new_Image(int nargs, VALUE *args, VALUE self) {
5409
5730
 
5410
5731
  argc = nargs;
5411
5732
  if (argc > 7) SWIG_fail;
5412
- for (ii = 0; (ii < argc); ii++) {
5733
+ for (ii = 0; (ii < argc); ++ii) {
5413
5734
  argv[ii] = args[ii];
5414
5735
  }
5415
5736
  if ((argc >= 2) && (argc <= 3)) {
@@ -5477,7 +5798,10 @@ SWIGINTERN VALUE _wrap_new_Image(int nargs, VALUE *args, VALUE self) {
5477
5798
  }
5478
5799
 
5479
5800
  fail:
5480
- rb_raise(rb_eArgError, "No matching function for overloaded 'new_Image'");
5801
+ Ruby_Format_OverloadedError( argc, 7, "Image.new",
5802
+ " Image.new(Gosu::Window &window, VALUE source, bool hardBorders)\n"
5803
+ " Image.new(Gosu::Window &window, VALUE source, bool hardBorders, unsigned int srcX, unsigned int srcY, unsigned int srcWidth, unsigned int srcHeight)\n");
5804
+
5481
5805
  return Qnil;
5482
5806
  }
5483
5807
 
@@ -5525,17 +5849,17 @@ _wrap_Image_draw_as_quad(int argc, VALUE *argv, VALUE self) {
5525
5849
  }
5526
5850
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Image, 0 | 0 );
5527
5851
  if (!SWIG_IsOK(res1)) {
5528
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "drawAsQuad" "', argument " "1"" of type '" "Gosu::Image *""'");
5852
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Image *","drawAsQuad", 1, self ));
5529
5853
  }
5530
5854
  arg1 = reinterpret_cast< Gosu::Image * >(argp1);
5531
5855
  ecode2 = SWIG_AsVal_double(argv[0], &val2);
5532
5856
  if (!SWIG_IsOK(ecode2)) {
5533
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "drawAsQuad" "', argument " "2"" of type '" "double""'");
5857
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","drawAsQuad", 2, argv[0] ));
5534
5858
  }
5535
5859
  arg2 = static_cast< double >(val2);
5536
5860
  ecode3 = SWIG_AsVal_double(argv[1], &val3);
5537
5861
  if (!SWIG_IsOK(ecode3)) {
5538
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "drawAsQuad" "', argument " "3"" of type '" "double""'");
5862
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","drawAsQuad", 3, argv[1] ));
5539
5863
  }
5540
5864
  arg3 = static_cast< double >(val3);
5541
5865
  {
@@ -5551,12 +5875,12 @@ _wrap_Image_draw_as_quad(int argc, VALUE *argv, VALUE self) {
5551
5875
  }
5552
5876
  ecode5 = SWIG_AsVal_double(argv[3], &val5);
5553
5877
  if (!SWIG_IsOK(ecode5)) {
5554
- SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "drawAsQuad" "', argument " "5"" of type '" "double""'");
5878
+ SWIG_exception_fail(SWIG_ArgError(ecode5), Ruby_Format_TypeError( "", "double","drawAsQuad", 5, argv[3] ));
5555
5879
  }
5556
5880
  arg5 = static_cast< double >(val5);
5557
5881
  ecode6 = SWIG_AsVal_double(argv[4], &val6);
5558
5882
  if (!SWIG_IsOK(ecode6)) {
5559
- SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "drawAsQuad" "', argument " "6"" of type '" "double""'");
5883
+ SWIG_exception_fail(SWIG_ArgError(ecode6), Ruby_Format_TypeError( "", "double","drawAsQuad", 6, argv[4] ));
5560
5884
  }
5561
5885
  arg6 = static_cast< double >(val6);
5562
5886
  {
@@ -5572,12 +5896,12 @@ _wrap_Image_draw_as_quad(int argc, VALUE *argv, VALUE self) {
5572
5896
  }
5573
5897
  ecode8 = SWIG_AsVal_double(argv[6], &val8);
5574
5898
  if (!SWIG_IsOK(ecode8)) {
5575
- SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "drawAsQuad" "', argument " "8"" of type '" "double""'");
5899
+ SWIG_exception_fail(SWIG_ArgError(ecode8), Ruby_Format_TypeError( "", "double","drawAsQuad", 8, argv[6] ));
5576
5900
  }
5577
5901
  arg8 = static_cast< double >(val8);
5578
5902
  ecode9 = SWIG_AsVal_double(argv[7], &val9);
5579
5903
  if (!SWIG_IsOK(ecode9)) {
5580
- SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "drawAsQuad" "', argument " "9"" of type '" "double""'");
5904
+ SWIG_exception_fail(SWIG_ArgError(ecode9), Ruby_Format_TypeError( "", "double","drawAsQuad", 9, argv[7] ));
5581
5905
  }
5582
5906
  arg9 = static_cast< double >(val9);
5583
5907
  {
@@ -5593,12 +5917,12 @@ _wrap_Image_draw_as_quad(int argc, VALUE *argv, VALUE self) {
5593
5917
  }
5594
5918
  ecode11 = SWIG_AsVal_double(argv[9], &val11);
5595
5919
  if (!SWIG_IsOK(ecode11)) {
5596
- SWIG_exception_fail(SWIG_ArgError(ecode11), "in method '" "drawAsQuad" "', argument " "11"" of type '" "double""'");
5920
+ SWIG_exception_fail(SWIG_ArgError(ecode11), Ruby_Format_TypeError( "", "double","drawAsQuad", 11, argv[9] ));
5597
5921
  }
5598
5922
  arg11 = static_cast< double >(val11);
5599
5923
  ecode12 = SWIG_AsVal_double(argv[10], &val12);
5600
5924
  if (!SWIG_IsOK(ecode12)) {
5601
- SWIG_exception_fail(SWIG_ArgError(ecode12), "in method '" "drawAsQuad" "', argument " "12"" of type '" "double""'");
5925
+ SWIG_exception_fail(SWIG_ArgError(ecode12), Ruby_Format_TypeError( "", "double","drawAsQuad", 12, argv[10] ));
5602
5926
  }
5603
5927
  arg12 = static_cast< double >(val12);
5604
5928
  {
@@ -5614,7 +5938,7 @@ _wrap_Image_draw_as_quad(int argc, VALUE *argv, VALUE self) {
5614
5938
  }
5615
5939
  ecode14 = SWIG_AsVal_double(argv[12], &val14);
5616
5940
  if (!SWIG_IsOK(ecode14)) {
5617
- SWIG_exception_fail(SWIG_ArgError(ecode14), "in method '" "drawAsQuad" "', argument " "14"" of type '" "Gosu::ZPos""'");
5941
+ SWIG_exception_fail(SWIG_ArgError(ecode14), Ruby_Format_TypeError( "", "Gosu::ZPos","drawAsQuad", 14, argv[12] ));
5618
5942
  }
5619
5943
  arg14 = static_cast< Gosu::ZPos >(val14);
5620
5944
  if (argc > 13) {
@@ -5644,9 +5968,9 @@ fail:
5644
5968
  SWIGINTERN VALUE
5645
5969
  _wrap_Image_gl_tex_info(int argc, VALUE *argv, VALUE self) {
5646
5970
  Gosu::Image *arg1 = (Gosu::Image *) 0 ;
5647
- Gosu::GLTexInfo *result = 0 ;
5648
5971
  void *argp1 = 0 ;
5649
5972
  int res1 = 0 ;
5973
+ Gosu::GLTexInfo *result = 0 ;
5650
5974
  VALUE vresult = Qnil;
5651
5975
 
5652
5976
  if ((argc < 0) || (argc > 0)) {
@@ -5654,7 +5978,7 @@ _wrap_Image_gl_tex_info(int argc, VALUE *argv, VALUE self) {
5654
5978
  }
5655
5979
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Image, 0 | 0 );
5656
5980
  if (!SWIG_IsOK(res1)) {
5657
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "glTexInfo" "', argument " "1"" of type '" "Gosu::Image const *""'");
5981
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Image const *","glTexInfo", 1, self ));
5658
5982
  }
5659
5983
  arg1 = reinterpret_cast< Gosu::Image * >(argp1);
5660
5984
  {
@@ -5672,18 +5996,18 @@ fail:
5672
5996
 
5673
5997
 
5674
5998
  SWIGINTERN VALUE
5675
- _wrap_Image_from_text_4(int argc, VALUE *argv, VALUE self) {
5999
+ _wrap_Image_from_text4(int argc, VALUE *argv, VALUE self) {
5676
6000
  Gosu::Window *arg1 = 0 ;
5677
6001
  std::wstring *arg2 = 0 ;
5678
6002
  std::wstring *arg3 = 0 ;
5679
6003
  unsigned int arg4 ;
5680
- Gosu::Image *result = 0 ;
5681
6004
  void *argp1 = 0 ;
5682
6005
  int res1 = 0 ;
5683
6006
  std::wstring temp2 ;
5684
6007
  std::wstring temp3 ;
5685
6008
  unsigned int val4 ;
5686
6009
  int ecode4 = 0 ;
6010
+ Gosu::Image *result = 0 ;
5687
6011
  VALUE vresult = Qnil;
5688
6012
 
5689
6013
  if ((argc < 4) || (argc > 4)) {
@@ -5691,10 +6015,10 @@ _wrap_Image_from_text_4(int argc, VALUE *argv, VALUE self) {
5691
6015
  }
5692
6016
  res1 = SWIG_ConvertPtr(argv[0], &argp1, SWIGTYPE_p_Gosu__Window, 0 );
5693
6017
  if (!SWIG_IsOK(res1)) {
5694
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Gosu_Image_fromText4" "', argument " "1"" of type '" "Gosu::Window &""'");
6018
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window &","Gosu_Image_fromText4", 1, argv[0] ));
5695
6019
  }
5696
6020
  if (!argp1) {
5697
- SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Gosu_Image_fromText4" "', argument " "1"" of type '" "Gosu::Window &""'");
6021
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "Gosu::Window &","Gosu_Image_fromText4", 1, argv[0]));
5698
6022
  }
5699
6023
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
5700
6024
  {
@@ -5709,7 +6033,7 @@ _wrap_Image_from_text_4(int argc, VALUE *argv, VALUE self) {
5709
6033
  }
5710
6034
  ecode4 = SWIG_AsVal_unsigned_SS_int(argv[3], &val4);
5711
6035
  if (!SWIG_IsOK(ecode4)) {
5712
- SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Gosu_Image_fromText4" "', argument " "4"" of type '" "unsigned int""'");
6036
+ SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "unsigned int","Gosu_Image_fromText4", 4, argv[3] ));
5713
6037
  }
5714
6038
  arg4 = static_cast< unsigned int >(val4);
5715
6039
  {
@@ -5727,7 +6051,7 @@ fail:
5727
6051
 
5728
6052
 
5729
6053
  SWIGINTERN VALUE
5730
- _wrap_Image_from_text_7(int argc, VALUE *argv, VALUE self) {
6054
+ _wrap_Image_from_text7(int argc, VALUE *argv, VALUE self) {
5731
6055
  Gosu::Window *arg1 = 0 ;
5732
6056
  std::wstring *arg2 = 0 ;
5733
6057
  std::wstring *arg3 = 0 ;
@@ -5735,7 +6059,6 @@ _wrap_Image_from_text_7(int argc, VALUE *argv, VALUE self) {
5735
6059
  unsigned int arg5 ;
5736
6060
  unsigned int arg6 ;
5737
6061
  Gosu::TextAlign arg7 ;
5738
- Gosu::Image *result = 0 ;
5739
6062
  void *argp1 = 0 ;
5740
6063
  int res1 = 0 ;
5741
6064
  std::wstring temp2 ;
@@ -5746,6 +6069,7 @@ _wrap_Image_from_text_7(int argc, VALUE *argv, VALUE self) {
5746
6069
  int ecode5 = 0 ;
5747
6070
  unsigned int val6 ;
5748
6071
  int ecode6 = 0 ;
6072
+ Gosu::Image *result = 0 ;
5749
6073
  VALUE vresult = Qnil;
5750
6074
 
5751
6075
  if ((argc < 7) || (argc > 7)) {
@@ -5753,10 +6077,10 @@ _wrap_Image_from_text_7(int argc, VALUE *argv, VALUE self) {
5753
6077
  }
5754
6078
  res1 = SWIG_ConvertPtr(argv[0], &argp1, SWIGTYPE_p_Gosu__Window, 0 );
5755
6079
  if (!SWIG_IsOK(res1)) {
5756
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Gosu_Image_fromText7" "', argument " "1"" of type '" "Gosu::Window &""'");
6080
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window &","Gosu_Image_fromText7", 1, argv[0] ));
5757
6081
  }
5758
6082
  if (!argp1) {
5759
- SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Gosu_Image_fromText7" "', argument " "1"" of type '" "Gosu::Window &""'");
6083
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "Gosu::Window &","Gosu_Image_fromText7", 1, argv[0]));
5760
6084
  }
5761
6085
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
5762
6086
  {
@@ -5771,17 +6095,17 @@ _wrap_Image_from_text_7(int argc, VALUE *argv, VALUE self) {
5771
6095
  }
5772
6096
  ecode4 = SWIG_AsVal_unsigned_SS_int(argv[3], &val4);
5773
6097
  if (!SWIG_IsOK(ecode4)) {
5774
- SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Gosu_Image_fromText7" "', argument " "4"" of type '" "unsigned int""'");
6098
+ SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "unsigned int","Gosu_Image_fromText7", 4, argv[3] ));
5775
6099
  }
5776
6100
  arg4 = static_cast< unsigned int >(val4);
5777
6101
  ecode5 = SWIG_AsVal_unsigned_SS_int(argv[4], &val5);
5778
6102
  if (!SWIG_IsOK(ecode5)) {
5779
- SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Gosu_Image_fromText7" "', argument " "5"" of type '" "unsigned int""'");
6103
+ SWIG_exception_fail(SWIG_ArgError(ecode5), Ruby_Format_TypeError( "", "unsigned int","Gosu_Image_fromText7", 5, argv[4] ));
5780
6104
  }
5781
6105
  arg5 = static_cast< unsigned int >(val5);
5782
6106
  ecode6 = SWIG_AsVal_unsigned_SS_int(argv[5], &val6);
5783
6107
  if (!SWIG_IsOK(ecode6)) {
5784
- SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "Gosu_Image_fromText7" "', argument " "6"" of type '" "unsigned int""'");
6108
+ SWIG_exception_fail(SWIG_ArgError(ecode6), Ruby_Format_TypeError( "", "unsigned int","Gosu_Image_fromText7", 6, argv[5] ));
5785
6109
  }
5786
6110
  arg6 = static_cast< unsigned int >(val6);
5787
6111
  {
@@ -5818,7 +6142,6 @@ _wrap_Image_load_tiles(int argc, VALUE *argv, VALUE self) {
5818
6142
  int arg3 ;
5819
6143
  int arg4 ;
5820
6144
  bool arg5 ;
5821
- SwigValueWrapper<std::vector<Gosu::Image * > > result;
5822
6145
  void *argp1 = 0 ;
5823
6146
  int res1 = 0 ;
5824
6147
  int val3 ;
@@ -5827,6 +6150,7 @@ _wrap_Image_load_tiles(int argc, VALUE *argv, VALUE self) {
5827
6150
  int ecode4 = 0 ;
5828
6151
  bool val5 ;
5829
6152
  int ecode5 = 0 ;
6153
+ SwigValueWrapper< std::vector< Gosu::Image * > > result;
5830
6154
  VALUE vresult = Qnil;
5831
6155
 
5832
6156
  if ((argc < 5) || (argc > 5)) {
@@ -5834,26 +6158,26 @@ _wrap_Image_load_tiles(int argc, VALUE *argv, VALUE self) {
5834
6158
  }
5835
6159
  res1 = SWIG_ConvertPtr(argv[0], &argp1, SWIGTYPE_p_Gosu__Window, 0 );
5836
6160
  if (!SWIG_IsOK(res1)) {
5837
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Gosu_Image_loadTiles" "', argument " "1"" of type '" "Gosu::Window &""'");
6161
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window &","Gosu_Image_loadTiles", 1, argv[0] ));
5838
6162
  }
5839
6163
  if (!argp1) {
5840
- SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Gosu_Image_loadTiles" "', argument " "1"" of type '" "Gosu::Window &""'");
6164
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "Gosu::Window &","Gosu_Image_loadTiles", 1, argv[0]));
5841
6165
  }
5842
6166
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
5843
6167
  arg2 = argv[1];
5844
6168
  ecode3 = SWIG_AsVal_int(argv[2], &val3);
5845
6169
  if (!SWIG_IsOK(ecode3)) {
5846
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Gosu_Image_loadTiles" "', argument " "3"" of type '" "int""'");
6170
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "int","Gosu_Image_loadTiles", 3, argv[2] ));
5847
6171
  }
5848
6172
  arg3 = static_cast< int >(val3);
5849
6173
  ecode4 = SWIG_AsVal_int(argv[3], &val4);
5850
6174
  if (!SWIG_IsOK(ecode4)) {
5851
- SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Gosu_Image_loadTiles" "', argument " "4"" of type '" "int""'");
6175
+ SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "int","Gosu_Image_loadTiles", 4, argv[3] ));
5852
6176
  }
5853
6177
  arg4 = static_cast< int >(val4);
5854
6178
  ecode5 = SWIG_AsVal_bool(argv[4], &val5);
5855
6179
  if (!SWIG_IsOK(ecode5)) {
5856
- SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Gosu_Image_loadTiles" "', argument " "5"" of type '" "bool""'");
6180
+ SWIG_exception_fail(SWIG_ArgError(ecode5), Ruby_Format_TypeError( "", "bool","Gosu_Image_loadTiles", 5, argv[4] ));
5857
6181
  }
5858
6182
  arg5 = static_cast< bool >(val5);
5859
6183
  {
@@ -5899,31 +6223,31 @@ SWIGINTERN VALUE
5899
6223
  _wrap_new_SampleInstance(int argc, VALUE *argv, VALUE self) {
5900
6224
  int arg1 ;
5901
6225
  int arg2 ;
5902
- Gosu::SampleInstance *result = 0 ;
5903
6226
  int val1 ;
5904
6227
  int ecode1 = 0 ;
5905
6228
  int val2 ;
5906
6229
  int ecode2 = 0 ;
5907
6230
  const char *classname SWIGUNUSED = "Gosu::SampleInstance";
6231
+ Gosu::SampleInstance *result = 0 ;
5908
6232
 
5909
6233
  if ((argc < 2) || (argc > 2)) {
5910
6234
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
5911
6235
  }
5912
6236
  ecode1 = SWIG_AsVal_int(argv[0], &val1);
5913
6237
  if (!SWIG_IsOK(ecode1)) {
5914
- SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "Gosu::SampleInstance" "', argument " "1"" of type '" "int""'");
6238
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "int","Gosu::SampleInstance", 1, argv[0] ));
5915
6239
  }
5916
6240
  arg1 = static_cast< int >(val1);
5917
6241
  ecode2 = SWIG_AsVal_int(argv[1], &val2);
5918
6242
  if (!SWIG_IsOK(ecode2)) {
5919
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Gosu::SampleInstance" "', argument " "2"" of type '" "int""'");
6243
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "int","Gosu::SampleInstance", 2, argv[1] ));
5920
6244
  }
5921
6245
  arg2 = static_cast< int >(val2);
5922
6246
  {
5923
6247
  try {
5924
- result = (Gosu::SampleInstance *)new Gosu::SampleInstance(arg1,arg2);DATA_PTR(self) = result;
6248
+ result = (Gosu::SampleInstance *)new Gosu::SampleInstance(arg1,arg2);
6249
+ DATA_PTR(self) = result;
5925
6250
  SWIG_RubyAddTracking(result, self);
5926
-
5927
6251
  } catch(const std::runtime_error& e) {
5928
6252
  SWIG_exception(SWIG_RuntimeError, e.what());
5929
6253
  }
@@ -5937,9 +6261,9 @@ fail:
5937
6261
  SWIGINTERN VALUE
5938
6262
  _wrap_SampleInstance_playingq___(int argc, VALUE *argv, VALUE self) {
5939
6263
  Gosu::SampleInstance *arg1 = (Gosu::SampleInstance *) 0 ;
5940
- bool result;
5941
6264
  void *argp1 = 0 ;
5942
6265
  int res1 = 0 ;
6266
+ bool result;
5943
6267
  VALUE vresult = Qnil;
5944
6268
 
5945
6269
  if ((argc < 0) || (argc > 0)) {
@@ -5947,7 +6271,7 @@ _wrap_SampleInstance_playingq___(int argc, VALUE *argv, VALUE self) {
5947
6271
  }
5948
6272
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__SampleInstance, 0 | 0 );
5949
6273
  if (!SWIG_IsOK(res1)) {
5950
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "playing" "', argument " "1"" of type '" "Gosu::SampleInstance const *""'");
6274
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::SampleInstance const *","playing", 1, self ));
5951
6275
  }
5952
6276
  arg1 = reinterpret_cast< Gosu::SampleInstance * >(argp1);
5953
6277
  {
@@ -5967,9 +6291,9 @@ fail:
5967
6291
  SWIGINTERN VALUE
5968
6292
  _wrap_SampleInstance_pausedq___(int argc, VALUE *argv, VALUE self) {
5969
6293
  Gosu::SampleInstance *arg1 = (Gosu::SampleInstance *) 0 ;
5970
- bool result;
5971
6294
  void *argp1 = 0 ;
5972
6295
  int res1 = 0 ;
6296
+ bool result;
5973
6297
  VALUE vresult = Qnil;
5974
6298
 
5975
6299
  if ((argc < 0) || (argc > 0)) {
@@ -5977,7 +6301,7 @@ _wrap_SampleInstance_pausedq___(int argc, VALUE *argv, VALUE self) {
5977
6301
  }
5978
6302
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__SampleInstance, 0 | 0 );
5979
6303
  if (!SWIG_IsOK(res1)) {
5980
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "paused" "', argument " "1"" of type '" "Gosu::SampleInstance const *""'");
6304
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::SampleInstance const *","paused", 1, self ));
5981
6305
  }
5982
6306
  arg1 = reinterpret_cast< Gosu::SampleInstance * >(argp1);
5983
6307
  {
@@ -6005,7 +6329,7 @@ _wrap_SampleInstance_pause(int argc, VALUE *argv, VALUE self) {
6005
6329
  }
6006
6330
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__SampleInstance, 0 | 0 );
6007
6331
  if (!SWIG_IsOK(res1)) {
6008
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "pause" "', argument " "1"" of type '" "Gosu::SampleInstance *""'");
6332
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::SampleInstance *","pause", 1, self ));
6009
6333
  }
6010
6334
  arg1 = reinterpret_cast< Gosu::SampleInstance * >(argp1);
6011
6335
  {
@@ -6032,7 +6356,7 @@ _wrap_SampleInstance_resume(int argc, VALUE *argv, VALUE self) {
6032
6356
  }
6033
6357
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__SampleInstance, 0 | 0 );
6034
6358
  if (!SWIG_IsOK(res1)) {
6035
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "resume" "', argument " "1"" of type '" "Gosu::SampleInstance *""'");
6359
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::SampleInstance *","resume", 1, self ));
6036
6360
  }
6037
6361
  arg1 = reinterpret_cast< Gosu::SampleInstance * >(argp1);
6038
6362
  {
@@ -6059,7 +6383,7 @@ _wrap_SampleInstance_stop(int argc, VALUE *argv, VALUE self) {
6059
6383
  }
6060
6384
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__SampleInstance, 0 | 0 );
6061
6385
  if (!SWIG_IsOK(res1)) {
6062
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "stop" "', argument " "1"" of type '" "Gosu::SampleInstance *""'");
6386
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::SampleInstance *","stop", 1, self ));
6063
6387
  }
6064
6388
  arg1 = reinterpret_cast< Gosu::SampleInstance * >(argp1);
6065
6389
  {
@@ -6089,12 +6413,12 @@ _wrap_SampleInstance_volumee___(int argc, VALUE *argv, VALUE self) {
6089
6413
  }
6090
6414
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__SampleInstance, 0 | 0 );
6091
6415
  if (!SWIG_IsOK(res1)) {
6092
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "changeVolume" "', argument " "1"" of type '" "Gosu::SampleInstance *""'");
6416
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::SampleInstance *","changeVolume", 1, self ));
6093
6417
  }
6094
6418
  arg1 = reinterpret_cast< Gosu::SampleInstance * >(argp1);
6095
6419
  ecode2 = SWIG_AsVal_double(argv[0], &val2);
6096
6420
  if (!SWIG_IsOK(ecode2)) {
6097
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "changeVolume" "', argument " "2"" of type '" "double""'");
6421
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","changeVolume", 2, argv[0] ));
6098
6422
  }
6099
6423
  arg2 = static_cast< double >(val2);
6100
6424
  {
@@ -6124,12 +6448,12 @@ _wrap_SampleInstance_pane___(int argc, VALUE *argv, VALUE self) {
6124
6448
  }
6125
6449
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__SampleInstance, 0 | 0 );
6126
6450
  if (!SWIG_IsOK(res1)) {
6127
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "changePan" "', argument " "1"" of type '" "Gosu::SampleInstance *""'");
6451
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::SampleInstance *","changePan", 1, self ));
6128
6452
  }
6129
6453
  arg1 = reinterpret_cast< Gosu::SampleInstance * >(argp1);
6130
6454
  ecode2 = SWIG_AsVal_double(argv[0], &val2);
6131
6455
  if (!SWIG_IsOK(ecode2)) {
6132
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "changePan" "', argument " "2"" of type '" "double""'");
6456
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","changePan", 2, argv[0] ));
6133
6457
  }
6134
6458
  arg2 = static_cast< double >(val2);
6135
6459
  {
@@ -6159,12 +6483,12 @@ _wrap_SampleInstance_speede___(int argc, VALUE *argv, VALUE self) {
6159
6483
  }
6160
6484
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__SampleInstance, 0 | 0 );
6161
6485
  if (!SWIG_IsOK(res1)) {
6162
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "changeSpeed" "', argument " "1"" of type '" "Gosu::SampleInstance *""'");
6486
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::SampleInstance *","changeSpeed", 1, self ));
6163
6487
  }
6164
6488
  arg1 = reinterpret_cast< Gosu::SampleInstance * >(argp1);
6165
6489
  ecode2 = SWIG_AsVal_double(argv[0], &val2);
6166
6490
  if (!SWIG_IsOK(ecode2)) {
6167
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "changeSpeed" "', argument " "2"" of type '" "double""'");
6491
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","changeSpeed", 2, argv[0] ));
6168
6492
  }
6169
6493
  arg2 = static_cast< double >(val2);
6170
6494
  {
@@ -6200,7 +6524,6 @@ _wrap_Sample_play(int argc, VALUE *argv, VALUE self) {
6200
6524
  double arg2 = (double) 1 ;
6201
6525
  double arg3 = (double) 1 ;
6202
6526
  bool arg4 = (bool) false ;
6203
- SwigValueWrapper<Gosu::SampleInstance > result;
6204
6527
  void *argp1 = 0 ;
6205
6528
  int res1 = 0 ;
6206
6529
  double val2 ;
@@ -6209,6 +6532,7 @@ _wrap_Sample_play(int argc, VALUE *argv, VALUE self) {
6209
6532
  int ecode3 = 0 ;
6210
6533
  bool val4 ;
6211
6534
  int ecode4 = 0 ;
6535
+ SwigValueWrapper< Gosu::SampleInstance > result;
6212
6536
  VALUE vresult = Qnil;
6213
6537
 
6214
6538
  if ((argc < 0) || (argc > 3)) {
@@ -6216,27 +6540,27 @@ _wrap_Sample_play(int argc, VALUE *argv, VALUE self) {
6216
6540
  }
6217
6541
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Sample, 0 | 0 );
6218
6542
  if (!SWIG_IsOK(res1)) {
6219
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "play" "', argument " "1"" of type '" "Gosu::Sample const *""'");
6543
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Sample const *","play", 1, self ));
6220
6544
  }
6221
6545
  arg1 = reinterpret_cast< Gosu::Sample * >(argp1);
6222
6546
  if (argc > 0) {
6223
6547
  ecode2 = SWIG_AsVal_double(argv[0], &val2);
6224
6548
  if (!SWIG_IsOK(ecode2)) {
6225
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "play" "', argument " "2"" of type '" "double""'");
6549
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","play", 2, argv[0] ));
6226
6550
  }
6227
6551
  arg2 = static_cast< double >(val2);
6228
6552
  }
6229
6553
  if (argc > 1) {
6230
6554
  ecode3 = SWIG_AsVal_double(argv[1], &val3);
6231
6555
  if (!SWIG_IsOK(ecode3)) {
6232
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "play" "', argument " "3"" of type '" "double""'");
6556
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","play", 3, argv[1] ));
6233
6557
  }
6234
6558
  arg3 = static_cast< double >(val3);
6235
6559
  }
6236
6560
  if (argc > 2) {
6237
6561
  ecode4 = SWIG_AsVal_bool(argv[2], &val4);
6238
6562
  if (!SWIG_IsOK(ecode4)) {
6239
- SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "play" "', argument " "4"" of type '" "bool""'");
6563
+ SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "bool","play", 4, argv[2] ));
6240
6564
  }
6241
6565
  arg4 = static_cast< bool >(val4);
6242
6566
  }
@@ -6261,7 +6585,6 @@ _wrap_Sample_play_pan(int argc, VALUE *argv, VALUE self) {
6261
6585
  double arg3 = (double) 1 ;
6262
6586
  double arg4 = (double) 1 ;
6263
6587
  bool arg5 = (bool) false ;
6264
- SwigValueWrapper<Gosu::SampleInstance > result;
6265
6588
  void *argp1 = 0 ;
6266
6589
  int res1 = 0 ;
6267
6590
  double val2 ;
@@ -6272,6 +6595,7 @@ _wrap_Sample_play_pan(int argc, VALUE *argv, VALUE self) {
6272
6595
  int ecode4 = 0 ;
6273
6596
  bool val5 ;
6274
6597
  int ecode5 = 0 ;
6598
+ SwigValueWrapper< Gosu::SampleInstance > result;
6275
6599
  VALUE vresult = Qnil;
6276
6600
 
6277
6601
  if ((argc < 1) || (argc > 4)) {
@@ -6279,32 +6603,32 @@ _wrap_Sample_play_pan(int argc, VALUE *argv, VALUE self) {
6279
6603
  }
6280
6604
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Sample, 0 | 0 );
6281
6605
  if (!SWIG_IsOK(res1)) {
6282
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "playPan" "', argument " "1"" of type '" "Gosu::Sample const *""'");
6606
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Sample const *","playPan", 1, self ));
6283
6607
  }
6284
6608
  arg1 = reinterpret_cast< Gosu::Sample * >(argp1);
6285
6609
  ecode2 = SWIG_AsVal_double(argv[0], &val2);
6286
6610
  if (!SWIG_IsOK(ecode2)) {
6287
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "playPan" "', argument " "2"" of type '" "double""'");
6611
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","playPan", 2, argv[0] ));
6288
6612
  }
6289
6613
  arg2 = static_cast< double >(val2);
6290
6614
  if (argc > 1) {
6291
6615
  ecode3 = SWIG_AsVal_double(argv[1], &val3);
6292
6616
  if (!SWIG_IsOK(ecode3)) {
6293
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "playPan" "', argument " "3"" of type '" "double""'");
6617
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","playPan", 3, argv[1] ));
6294
6618
  }
6295
6619
  arg3 = static_cast< double >(val3);
6296
6620
  }
6297
6621
  if (argc > 2) {
6298
6622
  ecode4 = SWIG_AsVal_double(argv[2], &val4);
6299
6623
  if (!SWIG_IsOK(ecode4)) {
6300
- SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "playPan" "', argument " "4"" of type '" "double""'");
6624
+ SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "double","playPan", 4, argv[2] ));
6301
6625
  }
6302
6626
  arg4 = static_cast< double >(val4);
6303
6627
  }
6304
6628
  if (argc > 3) {
6305
6629
  ecode5 = SWIG_AsVal_bool(argv[3], &val5);
6306
6630
  if (!SWIG_IsOK(ecode5)) {
6307
- SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "playPan" "', argument " "5"" of type '" "bool""'");
6631
+ SWIG_exception_fail(SWIG_ArgError(ecode5), Ruby_Format_TypeError( "", "bool","playPan", 5, argv[3] ));
6308
6632
  }
6309
6633
  arg5 = static_cast< bool >(val5);
6310
6634
  }
@@ -6343,39 +6667,39 @@ SWIGINTERN VALUE
6343
6667
  _wrap_new_Sample(int argc, VALUE *argv, VALUE self) {
6344
6668
  Gosu::Window *arg1 = 0 ;
6345
6669
  std::string *arg2 = 0 ;
6346
- Gosu::Sample *result = 0 ;
6347
6670
  void *argp1 = 0 ;
6348
6671
  int res1 = 0 ;
6349
6672
  int res2 = SWIG_OLDOBJ ;
6350
6673
  const char *classname SWIGUNUSED = "Gosu::Sample";
6674
+ Gosu::Sample *result = 0 ;
6351
6675
 
6352
6676
  if ((argc < 2) || (argc > 2)) {
6353
6677
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
6354
6678
  }
6355
6679
  res1 = SWIG_ConvertPtr(argv[0], &argp1, SWIGTYPE_p_Gosu__Window, 0 );
6356
6680
  if (!SWIG_IsOK(res1)) {
6357
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Gosu::Sample" "', argument " "1"" of type '" "Gosu::Window &""'");
6681
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window &","Gosu::Sample", 1, argv[0] ));
6358
6682
  }
6359
6683
  if (!argp1) {
6360
- SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Gosu::Sample" "', argument " "1"" of type '" "Gosu::Window &""'");
6684
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "Gosu::Window &","Gosu::Sample", 1, argv[0]));
6361
6685
  }
6362
6686
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
6363
6687
  {
6364
6688
  std::string *ptr = (std::string *)0;
6365
6689
  res2 = SWIG_AsPtr_std_string(argv[1], &ptr);
6366
6690
  if (!SWIG_IsOK(res2)) {
6367
- SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Gosu::Sample" "', argument " "2"" of type '" "std::string const &""'");
6691
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "std::string const &","Gosu::Sample", 2, argv[1] ));
6368
6692
  }
6369
6693
  if (!ptr) {
6370
- SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Gosu::Sample" "', argument " "2"" of type '" "std::string const &""'");
6694
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "std::string const &","Gosu::Sample", 2, argv[1]));
6371
6695
  }
6372
6696
  arg2 = ptr;
6373
6697
  }
6374
6698
  {
6375
6699
  try {
6376
- result = (Gosu::Sample *)new_Gosu_Sample(*arg1,(std::string const &)*arg2);DATA_PTR(self) = result;
6700
+ result = (Gosu::Sample *)new_Gosu_Sample(*arg1,(std::string const &)*arg2);
6701
+ DATA_PTR(self) = result;
6377
6702
  SWIG_RubyAddTracking(result, self);
6378
-
6379
6703
  } catch(const std::runtime_error& e) {
6380
6704
  SWIG_exception(SWIG_RuntimeError, e.what());
6381
6705
  }
@@ -6432,13 +6756,13 @@ _wrap_Song_play(int argc, VALUE *argv, VALUE self) {
6432
6756
  }
6433
6757
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Song, 0 | 0 );
6434
6758
  if (!SWIG_IsOK(res1)) {
6435
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "play" "', argument " "1"" of type '" "Gosu::Song *""'");
6759
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Song *","play", 1, self ));
6436
6760
  }
6437
6761
  arg1 = reinterpret_cast< Gosu::Song * >(argp1);
6438
6762
  if (argc > 0) {
6439
6763
  ecode2 = SWIG_AsVal_bool(argv[0], &val2);
6440
6764
  if (!SWIG_IsOK(ecode2)) {
6441
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "play" "', argument " "2"" of type '" "bool""'");
6765
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "bool","play", 2, argv[0] ));
6442
6766
  }
6443
6767
  arg2 = static_cast< bool >(val2);
6444
6768
  }
@@ -6466,7 +6790,7 @@ _wrap_Song_pause(int argc, VALUE *argv, VALUE self) {
6466
6790
  }
6467
6791
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Song, 0 | 0 );
6468
6792
  if (!SWIG_IsOK(res1)) {
6469
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "pause" "', argument " "1"" of type '" "Gosu::Song *""'");
6793
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Song *","pause", 1, self ));
6470
6794
  }
6471
6795
  arg1 = reinterpret_cast< Gosu::Song * >(argp1);
6472
6796
  {
@@ -6485,9 +6809,9 @@ fail:
6485
6809
  SWIGINTERN VALUE
6486
6810
  _wrap_Song_pausedq___(int argc, VALUE *argv, VALUE self) {
6487
6811
  Gosu::Song *arg1 = (Gosu::Song *) 0 ;
6488
- bool result;
6489
6812
  void *argp1 = 0 ;
6490
6813
  int res1 = 0 ;
6814
+ bool result;
6491
6815
  VALUE vresult = Qnil;
6492
6816
 
6493
6817
  if ((argc < 0) || (argc > 0)) {
@@ -6495,7 +6819,7 @@ _wrap_Song_pausedq___(int argc, VALUE *argv, VALUE self) {
6495
6819
  }
6496
6820
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Song, 0 | 0 );
6497
6821
  if (!SWIG_IsOK(res1)) {
6498
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "paused" "', argument " "1"" of type '" "Gosu::Song const *""'");
6822
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Song const *","paused", 1, self ));
6499
6823
  }
6500
6824
  arg1 = reinterpret_cast< Gosu::Song * >(argp1);
6501
6825
  {
@@ -6523,7 +6847,7 @@ _wrap_Song_stop(int argc, VALUE *argv, VALUE self) {
6523
6847
  }
6524
6848
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Song, 0 | 0 );
6525
6849
  if (!SWIG_IsOK(res1)) {
6526
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "stop" "', argument " "1"" of type '" "Gosu::Song *""'");
6850
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Song *","stop", 1, self ));
6527
6851
  }
6528
6852
  arg1 = reinterpret_cast< Gosu::Song * >(argp1);
6529
6853
  {
@@ -6542,9 +6866,9 @@ fail:
6542
6866
  SWIGINTERN VALUE
6543
6867
  _wrap_Song_playingq___(int argc, VALUE *argv, VALUE self) {
6544
6868
  Gosu::Song *arg1 = (Gosu::Song *) 0 ;
6545
- bool result;
6546
6869
  void *argp1 = 0 ;
6547
6870
  int res1 = 0 ;
6871
+ bool result;
6548
6872
  VALUE vresult = Qnil;
6549
6873
 
6550
6874
  if ((argc < 0) || (argc > 0)) {
@@ -6552,7 +6876,7 @@ _wrap_Song_playingq___(int argc, VALUE *argv, VALUE self) {
6552
6876
  }
6553
6877
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Song, 0 | 0 );
6554
6878
  if (!SWIG_IsOK(res1)) {
6555
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "playing" "', argument " "1"" of type '" "Gosu::Song const *""'");
6879
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Song const *","playing", 1, self ));
6556
6880
  }
6557
6881
  arg1 = reinterpret_cast< Gosu::Song * >(argp1);
6558
6882
  {
@@ -6572,9 +6896,9 @@ fail:
6572
6896
  SWIGINTERN VALUE
6573
6897
  _wrap_Song_volume(int argc, VALUE *argv, VALUE self) {
6574
6898
  Gosu::Song *arg1 = (Gosu::Song *) 0 ;
6575
- double result;
6576
6899
  void *argp1 = 0 ;
6577
6900
  int res1 = 0 ;
6901
+ double result;
6578
6902
  VALUE vresult = Qnil;
6579
6903
 
6580
6904
  if ((argc < 0) || (argc > 0)) {
@@ -6582,7 +6906,7 @@ _wrap_Song_volume(int argc, VALUE *argv, VALUE self) {
6582
6906
  }
6583
6907
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Song, 0 | 0 );
6584
6908
  if (!SWIG_IsOK(res1)) {
6585
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "volume" "', argument " "1"" of type '" "Gosu::Song const *""'");
6909
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Song const *","volume", 1, self ));
6586
6910
  }
6587
6911
  arg1 = reinterpret_cast< Gosu::Song * >(argp1);
6588
6912
  {
@@ -6613,12 +6937,12 @@ _wrap_Song_volumee___(int argc, VALUE *argv, VALUE self) {
6613
6937
  }
6614
6938
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Song, 0 | 0 );
6615
6939
  if (!SWIG_IsOK(res1)) {
6616
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "changeVolume" "', argument " "1"" of type '" "Gosu::Song *""'");
6940
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Song *","changeVolume", 1, self ));
6617
6941
  }
6618
6942
  arg1 = reinterpret_cast< Gosu::Song * >(argp1);
6619
6943
  ecode2 = SWIG_AsVal_double(argv[0], &val2);
6620
6944
  if (!SWIG_IsOK(ecode2)) {
6621
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "changeVolume" "', argument " "2"" of type '" "double""'");
6945
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","changeVolume", 2, argv[0] ));
6622
6946
  }
6623
6947
  arg2 = static_cast< double >(val2);
6624
6948
  {
@@ -6655,39 +6979,39 @@ SWIGINTERN VALUE
6655
6979
  _wrap_new_Song(int argc, VALUE *argv, VALUE self) {
6656
6980
  Gosu::Window *arg1 = 0 ;
6657
6981
  std::string *arg2 = 0 ;
6658
- Gosu::Song *result = 0 ;
6659
6982
  void *argp1 = 0 ;
6660
6983
  int res1 = 0 ;
6661
6984
  int res2 = SWIG_OLDOBJ ;
6662
6985
  const char *classname SWIGUNUSED = "Gosu::Song";
6986
+ Gosu::Song *result = 0 ;
6663
6987
 
6664
6988
  if ((argc < 2) || (argc > 2)) {
6665
6989
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
6666
6990
  }
6667
6991
  res1 = SWIG_ConvertPtr(argv[0], &argp1, SWIGTYPE_p_Gosu__Window, 0 );
6668
6992
  if (!SWIG_IsOK(res1)) {
6669
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Gosu::Song" "', argument " "1"" of type '" "Gosu::Window &""'");
6993
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window &","Gosu::Song", 1, argv[0] ));
6670
6994
  }
6671
6995
  if (!argp1) {
6672
- SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Gosu::Song" "', argument " "1"" of type '" "Gosu::Window &""'");
6996
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "Gosu::Window &","Gosu::Song", 1, argv[0]));
6673
6997
  }
6674
6998
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
6675
6999
  {
6676
7000
  std::string *ptr = (std::string *)0;
6677
7001
  res2 = SWIG_AsPtr_std_string(argv[1], &ptr);
6678
7002
  if (!SWIG_IsOK(res2)) {
6679
- SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Gosu::Song" "', argument " "2"" of type '" "std::string const &""'");
7003
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "std::string const &","Gosu::Song", 2, argv[1] ));
6680
7004
  }
6681
7005
  if (!ptr) {
6682
- SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Gosu::Song" "', argument " "2"" of type '" "std::string const &""'");
7006
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "std::string const &","Gosu::Song", 2, argv[1]));
6683
7007
  }
6684
7008
  arg2 = ptr;
6685
7009
  }
6686
7010
  {
6687
7011
  try {
6688
- result = (Gosu::Song *)new_Gosu_Song(*arg1,(std::string const &)*arg2);DATA_PTR(self) = result;
7012
+ result = (Gosu::Song *)new_Gosu_Song(*arg1,(std::string const &)*arg2);
7013
+ DATA_PTR(self) = result;
6689
7014
  SWIG_RubyAddTracking(result, self);
6690
-
6691
7015
  } catch(const std::runtime_error& e) {
6692
7016
  SWIG_exception(SWIG_RuntimeError, e.what());
6693
7017
  }
@@ -6721,17 +7045,17 @@ _wrap_TextInput_allocate(VALUE self) {
6721
7045
 
6722
7046
  SWIGINTERN VALUE
6723
7047
  _wrap_new_TextInput(int argc, VALUE *argv, VALUE self) {
6724
- Gosu::TextInput *result = 0 ;
6725
7048
  const char *classname SWIGUNUSED = "Gosu::TextInput";
7049
+ Gosu::TextInput *result = 0 ;
6726
7050
 
6727
7051
  if ((argc < 0) || (argc > 0)) {
6728
7052
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
6729
7053
  }
6730
7054
  {
6731
7055
  try {
6732
- result = (Gosu::TextInput *)new Gosu::TextInput();DATA_PTR(self) = result;
7056
+ result = (Gosu::TextInput *)new Gosu::TextInput();
7057
+ DATA_PTR(self) = result;
6733
7058
  SWIG_RubyAddTracking(result, self);
6734
-
6735
7059
  } catch(const std::runtime_error& e) {
6736
7060
  SWIG_exception(SWIG_RuntimeError, e.what());
6737
7061
  }
@@ -6751,9 +7075,9 @@ free_Gosu_TextInput(Gosu::TextInput *arg1) {
6751
7075
  SWIGINTERN VALUE
6752
7076
  _wrap_TextInput_text(int argc, VALUE *argv, VALUE self) {
6753
7077
  Gosu::TextInput *arg1 = (Gosu::TextInput *) 0 ;
6754
- std::wstring result;
6755
7078
  void *argp1 = 0 ;
6756
7079
  int res1 = 0 ;
7080
+ std::wstring result;
6757
7081
  VALUE vresult = Qnil;
6758
7082
 
6759
7083
  if ((argc < 0) || (argc > 0)) {
@@ -6761,7 +7085,7 @@ _wrap_TextInput_text(int argc, VALUE *argv, VALUE self) {
6761
7085
  }
6762
7086
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__TextInput, 0 | 0 );
6763
7087
  if (!SWIG_IsOK(res1)) {
6764
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "text" "', argument " "1"" of type '" "Gosu::TextInput const *""'");
7088
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::TextInput const *","text", 1, self ));
6765
7089
  }
6766
7090
  arg1 = reinterpret_cast< Gosu::TextInput * >(argp1);
6767
7091
  {
@@ -6793,7 +7117,7 @@ _wrap_TextInput_texte___(int argc, VALUE *argv, VALUE self) {
6793
7117
  }
6794
7118
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__TextInput, 0 | 0 );
6795
7119
  if (!SWIG_IsOK(res1)) {
6796
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "setText" "', argument " "1"" of type '" "Gosu::TextInput *""'");
7120
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::TextInput *","setText", 1, self ));
6797
7121
  }
6798
7122
  arg1 = reinterpret_cast< Gosu::TextInput * >(argp1);
6799
7123
  {
@@ -6817,9 +7141,9 @@ fail:
6817
7141
  SWIGINTERN VALUE
6818
7142
  _wrap_TextInput_caret_pos(int argc, VALUE *argv, VALUE self) {
6819
7143
  Gosu::TextInput *arg1 = (Gosu::TextInput *) 0 ;
6820
- unsigned int result;
6821
7144
  void *argp1 = 0 ;
6822
7145
  int res1 = 0 ;
7146
+ unsigned int result;
6823
7147
  VALUE vresult = Qnil;
6824
7148
 
6825
7149
  if ((argc < 0) || (argc > 0)) {
@@ -6827,7 +7151,7 @@ _wrap_TextInput_caret_pos(int argc, VALUE *argv, VALUE self) {
6827
7151
  }
6828
7152
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__TextInput, 0 | 0 );
6829
7153
  if (!SWIG_IsOK(res1)) {
6830
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "caret_pos" "', argument " "1"" of type '" "Gosu::TextInput const *""'");
7154
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::TextInput const *","caret_pos", 1, self ));
6831
7155
  }
6832
7156
  arg1 = reinterpret_cast< Gosu::TextInput * >(argp1);
6833
7157
  {
@@ -6847,9 +7171,9 @@ fail:
6847
7171
  SWIGINTERN VALUE
6848
7172
  _wrap_TextInput_selection_start(int argc, VALUE *argv, VALUE self) {
6849
7173
  Gosu::TextInput *arg1 = (Gosu::TextInput *) 0 ;
6850
- unsigned int result;
6851
7174
  void *argp1 = 0 ;
6852
7175
  int res1 = 0 ;
7176
+ unsigned int result;
6853
7177
  VALUE vresult = Qnil;
6854
7178
 
6855
7179
  if ((argc < 0) || (argc > 0)) {
@@ -6857,7 +7181,7 @@ _wrap_TextInput_selection_start(int argc, VALUE *argv, VALUE self) {
6857
7181
  }
6858
7182
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__TextInput, 0 | 0 );
6859
7183
  if (!SWIG_IsOK(res1)) {
6860
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "selection_start" "', argument " "1"" of type '" "Gosu::TextInput const *""'");
7184
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::TextInput const *","selection_start", 1, self ));
6861
7185
  }
6862
7186
  arg1 = reinterpret_cast< Gosu::TextInput * >(argp1);
6863
7187
  {
@@ -6900,7 +7224,6 @@ _wrap_new_Window(int argc, VALUE *argv, VALUE self) {
6900
7224
  unsigned int arg3 ;
6901
7225
  bool arg4 ;
6902
7226
  double arg5 = (double) 16.666666 ;
6903
- Gosu::Window *result = 0 ;
6904
7227
  unsigned int val2 ;
6905
7228
  int ecode2 = 0 ;
6906
7229
  unsigned int val3 ;
@@ -6910,6 +7233,7 @@ _wrap_new_Window(int argc, VALUE *argv, VALUE self) {
6910
7233
  double val5 ;
6911
7234
  int ecode5 = 0 ;
6912
7235
  const char *classname SWIGUNUSED = "Gosu::Window";
7236
+ Gosu::Window *result = 0 ;
6913
7237
 
6914
7238
  if ((argc < 3) || (argc > 4)) {
6915
7239
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 3)",argc); SWIG_fail;
@@ -6917,23 +7241,23 @@ _wrap_new_Window(int argc, VALUE *argv, VALUE self) {
6917
7241
  arg1 = self;
6918
7242
  ecode2 = SWIG_AsVal_unsigned_SS_int(argv[0], &val2);
6919
7243
  if (!SWIG_IsOK(ecode2)) {
6920
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Gosu::Window" "', argument " "2"" of type '" "unsigned int""'");
7244
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "unsigned int","Gosu::Window", 2, argv[0] ));
6921
7245
  }
6922
7246
  arg2 = static_cast< unsigned int >(val2);
6923
7247
  ecode3 = SWIG_AsVal_unsigned_SS_int(argv[1], &val3);
6924
7248
  if (!SWIG_IsOK(ecode3)) {
6925
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Gosu::Window" "', argument " "3"" of type '" "unsigned int""'");
7249
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "unsigned int","Gosu::Window", 3, argv[1] ));
6926
7250
  }
6927
7251
  arg3 = static_cast< unsigned int >(val3);
6928
7252
  ecode4 = SWIG_AsVal_bool(argv[2], &val4);
6929
7253
  if (!SWIG_IsOK(ecode4)) {
6930
- SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Gosu::Window" "', argument " "4"" of type '" "bool""'");
7254
+ SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "bool","Gosu::Window", 4, argv[2] ));
6931
7255
  }
6932
7256
  arg4 = static_cast< bool >(val4);
6933
7257
  if (argc > 3) {
6934
7258
  ecode5 = SWIG_AsVal_double(argv[3], &val5);
6935
7259
  if (!SWIG_IsOK(ecode5)) {
6936
- SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Gosu::Window" "', argument " "5"" of type '" "double""'");
7260
+ SWIG_exception_fail(SWIG_ArgError(ecode5), Ruby_Format_TypeError( "", "double","Gosu::Window", 5, argv[3] ));
6937
7261
  }
6938
7262
  arg5 = static_cast< double >(val5);
6939
7263
  }
@@ -6945,9 +7269,9 @@ _wrap_new_Window(int argc, VALUE *argv, VALUE self) {
6945
7269
  } else {
6946
7270
  result = (Gosu::Window *)new Gosu::Window(arg2,arg3,arg4,arg5);
6947
7271
  }
7272
+
6948
7273
  DATA_PTR(self) = result;
6949
7274
  SWIG_RubyAddTracking(result, self);
6950
-
6951
7275
  } catch(const std::runtime_error& e) {
6952
7276
  SWIG_exception(SWIG_RuntimeError, e.what());
6953
7277
  }
@@ -6967,9 +7291,9 @@ free_Gosu_Window(Gosu::Window *arg1) {
6967
7291
  SWIGINTERN VALUE
6968
7292
  _wrap_Window_caption(int argc, VALUE *argv, VALUE self) {
6969
7293
  Gosu::Window *arg1 = (Gosu::Window *) 0 ;
6970
- std::wstring result;
6971
7294
  void *argp1 = 0 ;
6972
7295
  int res1 = 0 ;
7296
+ std::wstring result;
6973
7297
  VALUE vresult = Qnil;
6974
7298
 
6975
7299
  if ((argc < 0) || (argc > 0)) {
@@ -6977,7 +7301,7 @@ _wrap_Window_caption(int argc, VALUE *argv, VALUE self) {
6977
7301
  }
6978
7302
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
6979
7303
  if (!SWIG_IsOK(res1)) {
6980
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "caption" "', argument " "1"" of type '" "Gosu::Window const *""'");
7304
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window const *","caption", 1, self ));
6981
7305
  }
6982
7306
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
6983
7307
  {
@@ -7009,7 +7333,7 @@ _wrap_Window_captione___(int argc, VALUE *argv, VALUE self) {
7009
7333
  }
7010
7334
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
7011
7335
  if (!SWIG_IsOK(res1)) {
7012
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "setCaption" "', argument " "1"" of type '" "Gosu::Window *""'");
7336
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window *","setCaption", 1, self ));
7013
7337
  }
7014
7338
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
7015
7339
  {
@@ -7030,6 +7354,36 @@ fail:
7030
7354
  }
7031
7355
 
7032
7356
 
7357
+ SWIGINTERN VALUE
7358
+ _wrap_Window_update_interval(int argc, VALUE *argv, VALUE self) {
7359
+ Gosu::Window *arg1 = (Gosu::Window *) 0 ;
7360
+ void *argp1 = 0 ;
7361
+ int res1 = 0 ;
7362
+ double result;
7363
+ VALUE vresult = Qnil;
7364
+
7365
+ if ((argc < 0) || (argc > 0)) {
7366
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
7367
+ }
7368
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
7369
+ if (!SWIG_IsOK(res1)) {
7370
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window const *","updateInterval", 1, self ));
7371
+ }
7372
+ arg1 = reinterpret_cast< Gosu::Window * >(argp1);
7373
+ {
7374
+ try {
7375
+ result = (double)((Gosu::Window const *)arg1)->updateInterval();
7376
+ } catch(const std::runtime_error& e) {
7377
+ SWIG_exception(SWIG_RuntimeError, e.what());
7378
+ }
7379
+ }
7380
+ vresult = SWIG_From_double(static_cast< double >(result));
7381
+ return vresult;
7382
+ fail:
7383
+ return Qnil;
7384
+ }
7385
+
7386
+
7033
7387
  SWIGINTERN VALUE
7034
7388
  _wrap_Window_show(int argc, VALUE *argv, VALUE self) {
7035
7389
  Gosu::Window *arg1 = (Gosu::Window *) 0 ;
@@ -7041,7 +7395,7 @@ _wrap_Window_show(int argc, VALUE *argv, VALUE self) {
7041
7395
  }
7042
7396
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
7043
7397
  if (!SWIG_IsOK(res1)) {
7044
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "show" "', argument " "1"" of type '" "Gosu::Window *""'");
7398
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window *","show", 1, self ));
7045
7399
  }
7046
7400
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
7047
7401
  {
@@ -7068,7 +7422,7 @@ _wrap_Window_close(int argc, VALUE *argv, VALUE self) {
7068
7422
  }
7069
7423
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
7070
7424
  if (!SWIG_IsOK(res1)) {
7071
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "close" "', argument " "1"" of type '" "Gosu::Window *""'");
7425
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window *","close", 1, self ));
7072
7426
  }
7073
7427
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
7074
7428
  {
@@ -7097,7 +7451,7 @@ _wrap_Window_update(int argc, VALUE *argv, VALUE self) {
7097
7451
  }
7098
7452
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
7099
7453
  if (!SWIG_IsOK(res1)) {
7100
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "update" "', argument " "1"" of type '" "Gosu::Window *""'");
7454
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window *","update", 1, self ));
7101
7455
  }
7102
7456
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
7103
7457
  director = dynamic_cast<Swig::Director *>(arg1);
@@ -7137,7 +7491,7 @@ _wrap_Window_draw(int argc, VALUE *argv, VALUE self) {
7137
7491
  }
7138
7492
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
7139
7493
  if (!SWIG_IsOK(res1)) {
7140
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "draw" "', argument " "1"" of type '" "Gosu::Window *""'");
7494
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window *","draw", 1, self ));
7141
7495
  }
7142
7496
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
7143
7497
  director = dynamic_cast<Swig::Director *>(arg1);
@@ -7164,6 +7518,49 @@ fail:
7164
7518
  }
7165
7519
 
7166
7520
 
7521
+ SWIGINTERN VALUE
7522
+ _wrap_Window_needs_redrawq___(int argc, VALUE *argv, VALUE self) {
7523
+ Gosu::Window *arg1 = (Gosu::Window *) 0 ;
7524
+ void *argp1 = 0 ;
7525
+ int res1 = 0 ;
7526
+ Swig::Director *director = 0;
7527
+ bool upcall = false;
7528
+ bool result;
7529
+ VALUE vresult = Qnil;
7530
+
7531
+ if ((argc < 0) || (argc > 0)) {
7532
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
7533
+ }
7534
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
7535
+ if (!SWIG_IsOK(res1)) {
7536
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window const *","needsRedraw", 1, self ));
7537
+ }
7538
+ arg1 = reinterpret_cast< Gosu::Window * >(argp1);
7539
+ director = dynamic_cast<Swig::Director *>(arg1);
7540
+ upcall = (director && (director->swig_get_self() == self));
7541
+ try {
7542
+ {
7543
+ try {
7544
+ if (upcall) {
7545
+ result = (bool)((Gosu::Window const *)arg1)->Gosu::Window::needsRedraw();
7546
+ } else {
7547
+ result = (bool)((Gosu::Window const *)arg1)->needsRedraw();
7548
+ }
7549
+ } catch(const std::runtime_error& e) {
7550
+ SWIG_exception(SWIG_RuntimeError, e.what());
7551
+ }
7552
+ }
7553
+ } catch (Swig::DirectorException& e) {
7554
+ rb_exc_raise(e.getError());
7555
+ SWIG_fail;
7556
+ }
7557
+ vresult = SWIG_From_bool(static_cast< bool >(result));
7558
+ return vresult;
7559
+ fail:
7560
+ return Qnil;
7561
+ }
7562
+
7563
+
7167
7564
  SWIGINTERN VALUE
7168
7565
  _wrap_Window_button_down(int argc, VALUE *argv, VALUE self) {
7169
7566
  Gosu::Window *arg1 = (Gosu::Window *) 0 ;
@@ -7178,7 +7575,7 @@ _wrap_Window_button_down(int argc, VALUE *argv, VALUE self) {
7178
7575
  }
7179
7576
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
7180
7577
  if (!SWIG_IsOK(res1)) {
7181
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "buttonDown" "', argument " "1"" of type '" "Gosu::Window *""'");
7578
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window *","buttonDown", 1, self ));
7182
7579
  }
7183
7580
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
7184
7581
  {
@@ -7225,7 +7622,7 @@ _wrap_Window_button_up(int argc, VALUE *argv, VALUE self) {
7225
7622
  }
7226
7623
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
7227
7624
  if (!SWIG_IsOK(res1)) {
7228
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "buttonUp" "', argument " "1"" of type '" "Gosu::Window *""'");
7625
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window *","buttonUp", 1, self ));
7229
7626
  }
7230
7627
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
7231
7628
  {
@@ -7287,17 +7684,17 @@ _wrap_Window_draw_line(int argc, VALUE *argv, VALUE self) {
7287
7684
  }
7288
7685
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
7289
7686
  if (!SWIG_IsOK(res1)) {
7290
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "drawLine" "', argument " "1"" of type '" "Gosu::Window *""'");
7687
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window *","drawLine", 1, self ));
7291
7688
  }
7292
7689
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
7293
7690
  ecode2 = SWIG_AsVal_double(argv[0], &val2);
7294
7691
  if (!SWIG_IsOK(ecode2)) {
7295
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "drawLine" "', argument " "2"" of type '" "double""'");
7692
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","drawLine", 2, argv[0] ));
7296
7693
  }
7297
7694
  arg2 = static_cast< double >(val2);
7298
7695
  ecode3 = SWIG_AsVal_double(argv[1], &val3);
7299
7696
  if (!SWIG_IsOK(ecode3)) {
7300
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "drawLine" "', argument " "3"" of type '" "double""'");
7697
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","drawLine", 3, argv[1] ));
7301
7698
  }
7302
7699
  arg3 = static_cast< double >(val3);
7303
7700
  {
@@ -7313,12 +7710,12 @@ _wrap_Window_draw_line(int argc, VALUE *argv, VALUE self) {
7313
7710
  }
7314
7711
  ecode5 = SWIG_AsVal_double(argv[3], &val5);
7315
7712
  if (!SWIG_IsOK(ecode5)) {
7316
- SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "drawLine" "', argument " "5"" of type '" "double""'");
7713
+ SWIG_exception_fail(SWIG_ArgError(ecode5), Ruby_Format_TypeError( "", "double","drawLine", 5, argv[3] ));
7317
7714
  }
7318
7715
  arg5 = static_cast< double >(val5);
7319
7716
  ecode6 = SWIG_AsVal_double(argv[4], &val6);
7320
7717
  if (!SWIG_IsOK(ecode6)) {
7321
- SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "drawLine" "', argument " "6"" of type '" "double""'");
7718
+ SWIG_exception_fail(SWIG_ArgError(ecode6), Ruby_Format_TypeError( "", "double","drawLine", 6, argv[4] ));
7322
7719
  }
7323
7720
  arg6 = static_cast< double >(val6);
7324
7721
  {
@@ -7335,7 +7732,7 @@ _wrap_Window_draw_line(int argc, VALUE *argv, VALUE self) {
7335
7732
  if (argc > 6) {
7336
7733
  ecode8 = SWIG_AsVal_double(argv[6], &val8);
7337
7734
  if (!SWIG_IsOK(ecode8)) {
7338
- SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "drawLine" "', argument " "8"" of type '" "Gosu::ZPos""'");
7735
+ SWIG_exception_fail(SWIG_ArgError(ecode8), Ruby_Format_TypeError( "", "Gosu::ZPos","drawLine", 8, argv[6] ));
7339
7736
  }
7340
7737
  arg8 = static_cast< Gosu::ZPos >(val8);
7341
7738
  }
@@ -7399,17 +7796,17 @@ _wrap_Window_draw_triangle(int argc, VALUE *argv, VALUE self) {
7399
7796
  }
7400
7797
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
7401
7798
  if (!SWIG_IsOK(res1)) {
7402
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "drawTriangle" "', argument " "1"" of type '" "Gosu::Window *""'");
7799
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window *","drawTriangle", 1, self ));
7403
7800
  }
7404
7801
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
7405
7802
  ecode2 = SWIG_AsVal_double(argv[0], &val2);
7406
7803
  if (!SWIG_IsOK(ecode2)) {
7407
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "drawTriangle" "', argument " "2"" of type '" "double""'");
7804
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","drawTriangle", 2, argv[0] ));
7408
7805
  }
7409
7806
  arg2 = static_cast< double >(val2);
7410
7807
  ecode3 = SWIG_AsVal_double(argv[1], &val3);
7411
7808
  if (!SWIG_IsOK(ecode3)) {
7412
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "drawTriangle" "', argument " "3"" of type '" "double""'");
7809
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","drawTriangle", 3, argv[1] ));
7413
7810
  }
7414
7811
  arg3 = static_cast< double >(val3);
7415
7812
  {
@@ -7425,12 +7822,12 @@ _wrap_Window_draw_triangle(int argc, VALUE *argv, VALUE self) {
7425
7822
  }
7426
7823
  ecode5 = SWIG_AsVal_double(argv[3], &val5);
7427
7824
  if (!SWIG_IsOK(ecode5)) {
7428
- SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "drawTriangle" "', argument " "5"" of type '" "double""'");
7825
+ SWIG_exception_fail(SWIG_ArgError(ecode5), Ruby_Format_TypeError( "", "double","drawTriangle", 5, argv[3] ));
7429
7826
  }
7430
7827
  arg5 = static_cast< double >(val5);
7431
7828
  ecode6 = SWIG_AsVal_double(argv[4], &val6);
7432
7829
  if (!SWIG_IsOK(ecode6)) {
7433
- SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "drawTriangle" "', argument " "6"" of type '" "double""'");
7830
+ SWIG_exception_fail(SWIG_ArgError(ecode6), Ruby_Format_TypeError( "", "double","drawTriangle", 6, argv[4] ));
7434
7831
  }
7435
7832
  arg6 = static_cast< double >(val6);
7436
7833
  {
@@ -7446,12 +7843,12 @@ _wrap_Window_draw_triangle(int argc, VALUE *argv, VALUE self) {
7446
7843
  }
7447
7844
  ecode8 = SWIG_AsVal_double(argv[6], &val8);
7448
7845
  if (!SWIG_IsOK(ecode8)) {
7449
- SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "drawTriangle" "', argument " "8"" of type '" "double""'");
7846
+ SWIG_exception_fail(SWIG_ArgError(ecode8), Ruby_Format_TypeError( "", "double","drawTriangle", 8, argv[6] ));
7450
7847
  }
7451
7848
  arg8 = static_cast< double >(val8);
7452
7849
  ecode9 = SWIG_AsVal_double(argv[7], &val9);
7453
7850
  if (!SWIG_IsOK(ecode9)) {
7454
- SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "drawTriangle" "', argument " "9"" of type '" "double""'");
7851
+ SWIG_exception_fail(SWIG_ArgError(ecode9), Ruby_Format_TypeError( "", "double","drawTriangle", 9, argv[7] ));
7455
7852
  }
7456
7853
  arg9 = static_cast< double >(val9);
7457
7854
  {
@@ -7468,7 +7865,7 @@ _wrap_Window_draw_triangle(int argc, VALUE *argv, VALUE self) {
7468
7865
  if (argc > 9) {
7469
7866
  ecode11 = SWIG_AsVal_double(argv[9], &val11);
7470
7867
  if (!SWIG_IsOK(ecode11)) {
7471
- SWIG_exception_fail(SWIG_ArgError(ecode11), "in method '" "drawTriangle" "', argument " "11"" of type '" "Gosu::ZPos""'");
7868
+ SWIG_exception_fail(SWIG_ArgError(ecode11), Ruby_Format_TypeError( "", "Gosu::ZPos","drawTriangle", 11, argv[9] ));
7472
7869
  }
7473
7870
  arg11 = static_cast< Gosu::ZPos >(val11);
7474
7871
  }
@@ -7539,17 +7936,17 @@ _wrap_Window_draw_quad(int argc, VALUE *argv, VALUE self) {
7539
7936
  }
7540
7937
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
7541
7938
  if (!SWIG_IsOK(res1)) {
7542
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "drawQuad" "', argument " "1"" of type '" "Gosu::Window *""'");
7939
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window *","drawQuad", 1, self ));
7543
7940
  }
7544
7941
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
7545
7942
  ecode2 = SWIG_AsVal_double(argv[0], &val2);
7546
7943
  if (!SWIG_IsOK(ecode2)) {
7547
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "drawQuad" "', argument " "2"" of type '" "double""'");
7944
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","drawQuad", 2, argv[0] ));
7548
7945
  }
7549
7946
  arg2 = static_cast< double >(val2);
7550
7947
  ecode3 = SWIG_AsVal_double(argv[1], &val3);
7551
7948
  if (!SWIG_IsOK(ecode3)) {
7552
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "drawQuad" "', argument " "3"" of type '" "double""'");
7949
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","drawQuad", 3, argv[1] ));
7553
7950
  }
7554
7951
  arg3 = static_cast< double >(val3);
7555
7952
  {
@@ -7565,12 +7962,12 @@ _wrap_Window_draw_quad(int argc, VALUE *argv, VALUE self) {
7565
7962
  }
7566
7963
  ecode5 = SWIG_AsVal_double(argv[3], &val5);
7567
7964
  if (!SWIG_IsOK(ecode5)) {
7568
- SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "drawQuad" "', argument " "5"" of type '" "double""'");
7965
+ SWIG_exception_fail(SWIG_ArgError(ecode5), Ruby_Format_TypeError( "", "double","drawQuad", 5, argv[3] ));
7569
7966
  }
7570
7967
  arg5 = static_cast< double >(val5);
7571
7968
  ecode6 = SWIG_AsVal_double(argv[4], &val6);
7572
7969
  if (!SWIG_IsOK(ecode6)) {
7573
- SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "drawQuad" "', argument " "6"" of type '" "double""'");
7970
+ SWIG_exception_fail(SWIG_ArgError(ecode6), Ruby_Format_TypeError( "", "double","drawQuad", 6, argv[4] ));
7574
7971
  }
7575
7972
  arg6 = static_cast< double >(val6);
7576
7973
  {
@@ -7586,12 +7983,12 @@ _wrap_Window_draw_quad(int argc, VALUE *argv, VALUE self) {
7586
7983
  }
7587
7984
  ecode8 = SWIG_AsVal_double(argv[6], &val8);
7588
7985
  if (!SWIG_IsOK(ecode8)) {
7589
- SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "drawQuad" "', argument " "8"" of type '" "double""'");
7986
+ SWIG_exception_fail(SWIG_ArgError(ecode8), Ruby_Format_TypeError( "", "double","drawQuad", 8, argv[6] ));
7590
7987
  }
7591
7988
  arg8 = static_cast< double >(val8);
7592
7989
  ecode9 = SWIG_AsVal_double(argv[7], &val9);
7593
7990
  if (!SWIG_IsOK(ecode9)) {
7594
- SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "drawQuad" "', argument " "9"" of type '" "double""'");
7991
+ SWIG_exception_fail(SWIG_ArgError(ecode9), Ruby_Format_TypeError( "", "double","drawQuad", 9, argv[7] ));
7595
7992
  }
7596
7993
  arg9 = static_cast< double >(val9);
7597
7994
  {
@@ -7607,12 +8004,12 @@ _wrap_Window_draw_quad(int argc, VALUE *argv, VALUE self) {
7607
8004
  }
7608
8005
  ecode11 = SWIG_AsVal_double(argv[9], &val11);
7609
8006
  if (!SWIG_IsOK(ecode11)) {
7610
- SWIG_exception_fail(SWIG_ArgError(ecode11), "in method '" "drawQuad" "', argument " "11"" of type '" "double""'");
8007
+ SWIG_exception_fail(SWIG_ArgError(ecode11), Ruby_Format_TypeError( "", "double","drawQuad", 11, argv[9] ));
7611
8008
  }
7612
8009
  arg11 = static_cast< double >(val11);
7613
8010
  ecode12 = SWIG_AsVal_double(argv[10], &val12);
7614
8011
  if (!SWIG_IsOK(ecode12)) {
7615
- SWIG_exception_fail(SWIG_ArgError(ecode12), "in method '" "drawQuad" "', argument " "12"" of type '" "double""'");
8012
+ SWIG_exception_fail(SWIG_ArgError(ecode12), Ruby_Format_TypeError( "", "double","drawQuad", 12, argv[10] ));
7616
8013
  }
7617
8014
  arg12 = static_cast< double >(val12);
7618
8015
  {
@@ -7629,7 +8026,7 @@ _wrap_Window_draw_quad(int argc, VALUE *argv, VALUE self) {
7629
8026
  if (argc > 12) {
7630
8027
  ecode14 = SWIG_AsVal_double(argv[12], &val14);
7631
8028
  if (!SWIG_IsOK(ecode14)) {
7632
- SWIG_exception_fail(SWIG_ArgError(ecode14), "in method '" "drawQuad" "', argument " "14"" of type '" "Gosu::ZPos""'");
8029
+ SWIG_exception_fail(SWIG_ArgError(ecode14), Ruby_Format_TypeError( "", "Gosu::ZPos","drawQuad", 14, argv[12] ));
7633
8030
  }
7634
8031
  arg14 = static_cast< Gosu::ZPos >(val14);
7635
8032
  }
@@ -7661,9 +8058,9 @@ SWIGINTERN VALUE
7661
8058
  _wrap_Window_button_downq___(int argc, VALUE *argv, VALUE self) {
7662
8059
  Gosu::Window *arg1 = (Gosu::Window *) 0 ;
7663
8060
  Gosu::Button arg2 ;
7664
- bool result;
7665
8061
  void *argp1 = 0 ;
7666
8062
  int res1 = 0 ;
8063
+ bool result;
7667
8064
  VALUE vresult = Qnil;
7668
8065
 
7669
8066
  if ((argc < 1) || (argc > 1)) {
@@ -7671,7 +8068,7 @@ _wrap_Window_button_downq___(int argc, VALUE *argv, VALUE self) {
7671
8068
  }
7672
8069
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
7673
8070
  if (!SWIG_IsOK(res1)) {
7674
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "isButtonDown" "', argument " "1"" of type '" "Gosu::Window const *""'");
8071
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window const *","isButtonDown", 1, self ));
7675
8072
  }
7676
8073
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
7677
8074
  {
@@ -7696,29 +8093,21 @@ fail:
7696
8093
 
7697
8094
  SWIGINTERN VALUE
7698
8095
  _wrap_Window_char_to_button_id(int argc, VALUE *argv, VALUE self) {
7699
- Gosu::Window *arg1 = (Gosu::Window *) 0 ;
7700
- wchar_t arg2 ;
8096
+ wchar_t arg1 ;
7701
8097
  Gosu::Button result;
7702
- void *argp1 = 0 ;
7703
- int res1 = 0 ;
7704
8098
  VALUE vresult = Qnil;
7705
8099
 
7706
8100
  if ((argc < 1) || (argc > 1)) {
7707
8101
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
7708
8102
  }
7709
- res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
7710
- if (!SWIG_IsOK(res1)) {
7711
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "charToButtonId" "', argument " "1"" of type '" "Gosu::Window *""'");
7712
- }
7713
- arg1 = reinterpret_cast< Gosu::Window * >(argp1);
7714
8103
  {
7715
8104
  VALUE localTemporary = rb_obj_as_string(argv[0]);
7716
8105
  std::wstring localTemporary2 = Gosu::utf8ToWstring(StringValueCStr(localTemporary));
7717
- arg2 = localTemporary2.empty() ? 0 : localTemporary2.at(0);
8106
+ arg1 = localTemporary2.empty() ? 0 : localTemporary2.at(0);
7718
8107
  }
7719
8108
  {
7720
8109
  try {
7721
- result = Gosu_Window_charToButtonId(arg1,arg2);
8110
+ result = Gosu_Window_charToButtonId(arg1);
7722
8111
  } catch(const std::runtime_error& e) {
7723
8112
  SWIG_exception(SWIG_RuntimeError, e.what());
7724
8113
  }
@@ -7736,30 +8125,22 @@ fail:
7736
8125
 
7737
8126
  SWIGINTERN VALUE
7738
8127
  _wrap_Window_button_id_to_char(int argc, VALUE *argv, VALUE self) {
7739
- Gosu::Window *arg1 = (Gosu::Window *) 0 ;
7740
- Gosu::Button arg2 ;
8128
+ Gosu::Button arg1 ;
7741
8129
  wchar_t result;
7742
- void *argp1 = 0 ;
7743
- int res1 = 0 ;
7744
8130
  VALUE vresult = Qnil;
7745
8131
 
7746
8132
  if ((argc < 1) || (argc > 1)) {
7747
8133
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
7748
8134
  }
7749
- res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
7750
- if (!SWIG_IsOK(res1)) {
7751
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "buttonIdToChar" "', argument " "1"" of type '" "Gosu::Window *""'");
7752
- }
7753
- arg1 = reinterpret_cast< Gosu::Window * >(argp1);
7754
8135
  {
7755
8136
  if (NIL_P(argv[0]))
7756
- arg2 = Gosu::noButton;
8137
+ arg1 = Gosu::noButton;
7757
8138
  else
7758
- arg2 = Gosu::Button(NUM2LONG(argv[0]));
8139
+ arg1 = Gosu::Button(NUM2LONG(argv[0]));
7759
8140
  }
7760
8141
  {
7761
8142
  try {
7762
- result = Gosu_Window_buttonIdToChar(arg1,arg2);
8143
+ result = Gosu_Window_buttonIdToChar(arg1);
7763
8144
  } catch(const std::runtime_error& e) {
7764
8145
  SWIG_exception(SWIG_RuntimeError, e.what());
7765
8146
  }
@@ -7779,9 +8160,9 @@ fail:
7779
8160
  SWIGINTERN VALUE
7780
8161
  _wrap_Window_text_input(int argc, VALUE *argv, VALUE self) {
7781
8162
  Gosu::Window *arg1 = (Gosu::Window *) 0 ;
7782
- Gosu::TextInput *result = 0 ;
7783
8163
  void *argp1 = 0 ;
7784
8164
  int res1 = 0 ;
8165
+ Gosu::TextInput *result = 0 ;
7785
8166
  VALUE vresult = Qnil;
7786
8167
 
7787
8168
  if ((argc < 0) || (argc > 0)) {
@@ -7789,7 +8170,7 @@ _wrap_Window_text_input(int argc, VALUE *argv, VALUE self) {
7789
8170
  }
7790
8171
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
7791
8172
  if (!SWIG_IsOK(res1)) {
7792
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "textInput" "', argument " "1"" of type '" "Gosu::Window const *""'");
8173
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window const *","textInput", 1, self ));
7793
8174
  }
7794
8175
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
7795
8176
  {
@@ -7820,12 +8201,12 @@ _wrap_Window_text_inpute___(int argc, VALUE *argv, VALUE self) {
7820
8201
  }
7821
8202
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
7822
8203
  if (!SWIG_IsOK(res1)) {
7823
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "setTextInput" "', argument " "1"" of type '" "Gosu::Window *""'");
8204
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window *","setTextInput", 1, self ));
7824
8205
  }
7825
8206
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
7826
8207
  res2 = SWIG_ConvertPtr(argv[0], &argp2,SWIGTYPE_p_Gosu__TextInput, 0 | 0 );
7827
8208
  if (!SWIG_IsOK(res2)) {
7828
- SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "setTextInput" "', argument " "2"" of type '" "Gosu::TextInput *""'");
8209
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "Gosu::TextInput *","setTextInput", 2, argv[0] ));
7829
8210
  }
7830
8211
  arg2 = reinterpret_cast< Gosu::TextInput * >(argp2);
7831
8212
  {
@@ -7844,9 +8225,9 @@ fail:
7844
8225
  SWIGINTERN VALUE
7845
8226
  _wrap_Window_mouse_x(int argc, VALUE *argv, VALUE self) {
7846
8227
  Gosu::Window *arg1 = (Gosu::Window *) 0 ;
7847
- double result;
7848
8228
  void *argp1 = 0 ;
7849
8229
  int res1 = 0 ;
8230
+ double result;
7850
8231
  VALUE vresult = Qnil;
7851
8232
 
7852
8233
  if ((argc < 0) || (argc > 0)) {
@@ -7854,7 +8235,7 @@ _wrap_Window_mouse_x(int argc, VALUE *argv, VALUE self) {
7854
8235
  }
7855
8236
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
7856
8237
  if (!SWIG_IsOK(res1)) {
7857
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mouseX" "', argument " "1"" of type '" "Gosu::Window const *""'");
8238
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window const *","mouseX", 1, self ));
7858
8239
  }
7859
8240
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
7860
8241
  {
@@ -7874,9 +8255,9 @@ fail:
7874
8255
  SWIGINTERN VALUE
7875
8256
  _wrap_Window_mouse_y(int argc, VALUE *argv, VALUE self) {
7876
8257
  Gosu::Window *arg1 = (Gosu::Window *) 0 ;
7877
- double result;
7878
8258
  void *argp1 = 0 ;
7879
8259
  int res1 = 0 ;
8260
+ double result;
7880
8261
  VALUE vresult = Qnil;
7881
8262
 
7882
8263
  if ((argc < 0) || (argc > 0)) {
@@ -7884,7 +8265,7 @@ _wrap_Window_mouse_y(int argc, VALUE *argv, VALUE self) {
7884
8265
  }
7885
8266
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
7886
8267
  if (!SWIG_IsOK(res1)) {
7887
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mouseY" "', argument " "1"" of type '" "Gosu::Window const *""'");
8268
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window const *","mouseY", 1, self ));
7888
8269
  }
7889
8270
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
7890
8271
  {
@@ -7918,17 +8299,17 @@ _wrap_Window_set_mouse_position(int argc, VALUE *argv, VALUE self) {
7918
8299
  }
7919
8300
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
7920
8301
  if (!SWIG_IsOK(res1)) {
7921
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "setMousePosition" "', argument " "1"" of type '" "Gosu::Window *""'");
8302
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window *","setMousePosition", 1, self ));
7922
8303
  }
7923
8304
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
7924
8305
  ecode2 = SWIG_AsVal_double(argv[0], &val2);
7925
8306
  if (!SWIG_IsOK(ecode2)) {
7926
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "setMousePosition" "', argument " "2"" of type '" "double""'");
8307
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","setMousePosition", 2, argv[0] ));
7927
8308
  }
7928
8309
  arg2 = static_cast< double >(val2);
7929
8310
  ecode3 = SWIG_AsVal_double(argv[1], &val3);
7930
8311
  if (!SWIG_IsOK(ecode3)) {
7931
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "setMousePosition" "', argument " "3"" of type '" "double""'");
8312
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","setMousePosition", 3, argv[1] ));
7932
8313
  }
7933
8314
  arg3 = static_cast< double >(val3);
7934
8315
  {
@@ -7958,12 +8339,12 @@ _wrap_Window_mouse_xe___(int argc, VALUE *argv, VALUE self) {
7958
8339
  }
7959
8340
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
7960
8341
  if (!SWIG_IsOK(res1)) {
7961
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "setMouseX" "', argument " "1"" of type '" "Gosu::Window *""'");
8342
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window *","setMouseX", 1, self ));
7962
8343
  }
7963
8344
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
7964
8345
  ecode2 = SWIG_AsVal_double(argv[0], &val2);
7965
8346
  if (!SWIG_IsOK(ecode2)) {
7966
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "setMouseX" "', argument " "2"" of type '" "double""'");
8347
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","setMouseX", 2, argv[0] ));
7967
8348
  }
7968
8349
  arg2 = static_cast< double >(val2);
7969
8350
  {
@@ -7993,12 +8374,12 @@ _wrap_Window_mouse_ye___(int argc, VALUE *argv, VALUE self) {
7993
8374
  }
7994
8375
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
7995
8376
  if (!SWIG_IsOK(res1)) {
7996
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "setMouseY" "', argument " "1"" of type '" "Gosu::Window *""'");
8377
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window *","setMouseY", 1, self ));
7997
8378
  }
7998
8379
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
7999
8380
  ecode2 = SWIG_AsVal_double(argv[0], &val2);
8000
8381
  if (!SWIG_IsOK(ecode2)) {
8001
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "setMouseY" "', argument " "2"" of type '" "double""'");
8382
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","setMouseY", 2, argv[0] ));
8002
8383
  }
8003
8384
  arg2 = static_cast< double >(val2);
8004
8385
  {
@@ -8017,9 +8398,9 @@ fail:
8017
8398
  SWIGINTERN VALUE
8018
8399
  _wrap_Window_width(int argc, VALUE *argv, VALUE self) {
8019
8400
  Gosu::Window *arg1 = (Gosu::Window *) 0 ;
8020
- int result;
8021
8401
  void *argp1 = 0 ;
8022
8402
  int res1 = 0 ;
8403
+ int result;
8023
8404
  VALUE vresult = Qnil;
8024
8405
 
8025
8406
  if ((argc < 0) || (argc > 0)) {
@@ -8027,7 +8408,7 @@ _wrap_Window_width(int argc, VALUE *argv, VALUE self) {
8027
8408
  }
8028
8409
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
8029
8410
  if (!SWIG_IsOK(res1)) {
8030
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "width" "', argument " "1"" of type '" "Gosu::Window const *""'");
8411
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window const *","width", 1, self ));
8031
8412
  }
8032
8413
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
8033
8414
  {
@@ -8047,9 +8428,9 @@ fail:
8047
8428
  SWIGINTERN VALUE
8048
8429
  _wrap_Window_height(int argc, VALUE *argv, VALUE self) {
8049
8430
  Gosu::Window *arg1 = (Gosu::Window *) 0 ;
8050
- int result;
8051
8431
  void *argp1 = 0 ;
8052
8432
  int res1 = 0 ;
8433
+ int result;
8053
8434
  VALUE vresult = Qnil;
8054
8435
 
8055
8436
  if ((argc < 0) || (argc > 0)) {
@@ -8057,7 +8438,7 @@ _wrap_Window_height(int argc, VALUE *argv, VALUE self) {
8057
8438
  }
8058
8439
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
8059
8440
  if (!SWIG_IsOK(res1)) {
8060
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "height" "', argument " "1"" of type '" "Gosu::Window const *""'");
8441
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window const *","height", 1, self ));
8061
8442
  }
8062
8443
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
8063
8444
  {
@@ -8085,7 +8466,7 @@ _wrap_Window_gl(int argc, VALUE *argv, VALUE self) {
8085
8466
  }
8086
8467
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
8087
8468
  if (!SWIG_IsOK(res1)) {
8088
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gl" "', argument " "1"" of type '" "Gosu::Window *""'");
8469
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window *","gl", 1, self ));
8089
8470
  }
8090
8471
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
8091
8472
  {
@@ -8124,27 +8505,27 @@ _wrap_Window_clip_to(int argc, VALUE *argv, VALUE self) {
8124
8505
  }
8125
8506
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
8126
8507
  if (!SWIG_IsOK(res1)) {
8127
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "clipTo" "', argument " "1"" of type '" "Gosu::Window *""'");
8508
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window *","clipTo", 1, self ));
8128
8509
  }
8129
8510
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
8130
8511
  ecode2 = SWIG_AsVal_int(argv[0], &val2);
8131
8512
  if (!SWIG_IsOK(ecode2)) {
8132
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "clipTo" "', argument " "2"" of type '" "int""'");
8513
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "int","clipTo", 2, argv[0] ));
8133
8514
  }
8134
8515
  arg2 = static_cast< int >(val2);
8135
8516
  ecode3 = SWIG_AsVal_int(argv[1], &val3);
8136
8517
  if (!SWIG_IsOK(ecode3)) {
8137
- SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "clipTo" "', argument " "3"" of type '" "int""'");
8518
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "int","clipTo", 3, argv[1] ));
8138
8519
  }
8139
8520
  arg3 = static_cast< int >(val3);
8140
8521
  ecode4 = SWIG_AsVal_unsigned_SS_int(argv[2], &val4);
8141
8522
  if (!SWIG_IsOK(ecode4)) {
8142
- SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "clipTo" "', argument " "4"" of type '" "unsigned int""'");
8523
+ SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "unsigned int","clipTo", 4, argv[2] ));
8143
8524
  }
8144
8525
  arg4 = static_cast< unsigned int >(val4);
8145
8526
  ecode5 = SWIG_AsVal_unsigned_SS_int(argv[3], &val5);
8146
8527
  if (!SWIG_IsOK(ecode5)) {
8147
- SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "clipTo" "', argument " "5"" of type '" "unsigned int""'");
8528
+ SWIG_exception_fail(SWIG_ArgError(ecode5), Ruby_Format_TypeError( "", "unsigned int","clipTo", 5, argv[3] ));
8148
8529
  }
8149
8530
  arg5 = static_cast< unsigned int >(val5);
8150
8531
  {
@@ -8171,7 +8552,7 @@ _wrap_disown_Window(int argc, VALUE *argv, VALUE self) {
8171
8552
  }
8172
8553
  res1 = SWIG_ConvertPtr(argv[0], &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
8173
8554
  if (!SWIG_IsOK(res1)) {
8174
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "disown_Window" "', argument " "1"" of type '" "Gosu::Window *""'");
8555
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window *","disown_Window", 1, argv[0] ));
8175
8556
  }
8176
8557
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
8177
8558
  {
@@ -8200,7 +8581,7 @@ static swig_type_info _swigt__p_Gosu__Song = {"_p_Gosu__Song", "Gosu::Song *", 0
8200
8581
  static swig_type_info _swigt__p_Gosu__TextInput = {"_p_Gosu__TextInput", "Gosu::TextInput *", 0, 0, (void*)0, 0};
8201
8582
  static swig_type_info _swigt__p_Gosu__Window = {"_p_Gosu__Window", "Gosu::Window *", 0, 0, (void*)0, 0};
8202
8583
  static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
8203
- static swig_type_info _swigt__p_double = {"_p_double", "double *|Gosu::ZPos *", 0, 0, (void*)0, 0};
8584
+ static swig_type_info _swigt__p_double = {"_p_double", "Gosu::ZPos *|double *", 0, 0, (void*)0, 0};
8204
8585
  static swig_type_info _swigt__p_std__wstring = {"_p_std__wstring", "std::wstring *", 0, 0, (void*)0, 0};
8205
8586
 
8206
8587
  static swig_type_info *swig_type_initial[] = {
@@ -8312,7 +8693,7 @@ SWIGRUNTIME void
8312
8693
  SWIG_InitializeModule(void *clientdata) {
8313
8694
  size_t i;
8314
8695
  swig_module_info *module_head, *iter;
8315
- int found;
8696
+ int found, init;
8316
8697
 
8317
8698
  clientdata = clientdata;
8318
8699
 
@@ -8322,6 +8703,9 @@ SWIG_InitializeModule(void *clientdata) {
8322
8703
  swig_module.type_initial = swig_type_initial;
8323
8704
  swig_module.cast_initial = swig_cast_initial;
8324
8705
  swig_module.next = &swig_module;
8706
+ init = 1;
8707
+ } else {
8708
+ init = 0;
8325
8709
  }
8326
8710
 
8327
8711
  /* Try and load any already created modules */
@@ -8350,6 +8734,12 @@ SWIG_InitializeModule(void *clientdata) {
8350
8734
  module_head->next = &swig_module;
8351
8735
  }
8352
8736
 
8737
+ /* When multiple interpeters are used, a module could have already been initialized in
8738
+ a different interpreter, but not yet have a pointer in this interpreter.
8739
+ In this case, we do not want to continue adding types... everything should be
8740
+ set up already */
8741
+ if (init == 0) return;
8742
+
8353
8743
  /* Now work on filling in swig_module.types */
8354
8744
  #ifdef SWIGRUNTIME_DEBUG
8355
8745
  printf("SWIG_InitializeModule: size %d\n", swig_module.size);
@@ -8483,7 +8873,9 @@ SWIG_PropagateClientData(void) {
8483
8873
  }
8484
8874
  #endif
8485
8875
 
8876
+ /*
8486
8877
 
8878
+ */
8487
8879
  #ifdef __cplusplus
8488
8880
  extern "C"
8489
8881
  #endif
@@ -8508,6 +8900,8 @@ SWIGEXPORT void Init_gosu(void) {
8508
8900
  rb_define_module_function(mGosu, "normalize_angle", VALUEFUNC(_wrap_normalize_angle), -1);
8509
8901
  rb_define_module_function(mGosu, "distance", VALUEFUNC(_wrap_distance), -1);
8510
8902
  rb_define_module_function(mGosu, "default_font_name", VALUEFUNC(_wrap_default_font_name), -1);
8903
+ rb_define_module_function(mGosu, "screen_width", VALUEFUNC(_wrap_screen_width), -1);
8904
+ rb_define_module_function(mGosu, "screen_height", VALUEFUNC(_wrap_screen_height), -1);
8511
8905
 
8512
8906
  cColor.klass = rb_define_class_under(mGosu, "Color", rb_cObject);
8513
8907
  SWIG_TypeClientData(SWIGTYPE_p_Gosu__Color, (void *) &cColor);
@@ -8538,16 +8932,16 @@ SWIGEXPORT void Init_gosu(void) {
8538
8932
  cColor.trackObjects = 1;
8539
8933
  rb_define_module_function(mGosu, "interpolate", VALUEFUNC(_wrap_interpolate), -1);
8540
8934
  rb_define_module_function(mGosu, "multiply", VALUEFUNC(_wrap_multiply), -1);
8541
- rb_define_singleton_method(mGosu, "none", VALUEFUNC(none_get), 0);
8542
- rb_define_singleton_method(mGosu, "black", VALUEFUNC(black_get), 0);
8543
- rb_define_singleton_method(mGosu, "gray", VALUEFUNC(gray_get), 0);
8544
- rb_define_singleton_method(mGosu, "white", VALUEFUNC(white_get), 0);
8545
- rb_define_singleton_method(mGosu, "red", VALUEFUNC(red_get), 0);
8546
- rb_define_singleton_method(mGosu, "green", VALUEFUNC(green_get), 0);
8547
- rb_define_singleton_method(mGosu, "blue", VALUEFUNC(blue_get), 0);
8548
- rb_define_singleton_method(mGosu, "yellow", VALUEFUNC(yellow_get), 0);
8549
- rb_define_singleton_method(mGosu, "fuchsia", VALUEFUNC(fuchsia_get), 0);
8550
- rb_define_singleton_method(mGosu, "cyan", VALUEFUNC(cyan_get), 0);
8935
+ rb_define_singleton_method(mGosu, "none", VALUEFUNC(_wrap_none_get), 0);
8936
+ rb_define_singleton_method(mGosu, "black", VALUEFUNC(_wrap_black_get), 0);
8937
+ rb_define_singleton_method(mGosu, "gray", VALUEFUNC(_wrap_gray_get), 0);
8938
+ rb_define_singleton_method(mGosu, "white", VALUEFUNC(_wrap_white_get), 0);
8939
+ rb_define_singleton_method(mGosu, "red", VALUEFUNC(_wrap_red_get), 0);
8940
+ rb_define_singleton_method(mGosu, "green", VALUEFUNC(_wrap_green_get), 0);
8941
+ rb_define_singleton_method(mGosu, "blue", VALUEFUNC(_wrap_blue_get), 0);
8942
+ rb_define_singleton_method(mGosu, "yellow", VALUEFUNC(_wrap_yellow_get), 0);
8943
+ rb_define_singleton_method(mGosu, "fuchsia", VALUEFUNC(_wrap_fuchsia_get), 0);
8944
+ rb_define_singleton_method(mGosu, "cyan", VALUEFUNC(_wrap_cyan_get), 0);
8551
8945
 
8552
8946
  cFont.klass = rb_define_class_under(mGosu, "Font", rb_cObject);
8553
8947
  SWIG_TypeClientData(SWIGTYPE_p_Gosu__Font, (void *) &cFont);
@@ -8591,8 +8985,8 @@ SWIGEXPORT void Init_gosu(void) {
8591
8985
  rb_define_method(cImage.klass, "draw_rot", VALUEFUNC(_wrap_Image_draw_rot), -1);
8592
8986
  rb_define_method(cImage.klass, "draw_as_quad", VALUEFUNC(_wrap_Image_draw_as_quad), -1);
8593
8987
  rb_define_method(cImage.klass, "gl_tex_info", VALUEFUNC(_wrap_Image_gl_tex_info), -1);
8594
- rb_define_singleton_method(cImage.klass, "from_text_4", VALUEFUNC(_wrap_Image_from_text_4), -1);
8595
- rb_define_singleton_method(cImage.klass, "from_text_7", VALUEFUNC(_wrap_Image_from_text_7), -1);
8988
+ rb_define_singleton_method(cImage.klass, "from_text4", VALUEFUNC(_wrap_Image_from_text4), -1);
8989
+ rb_define_singleton_method(cImage.klass, "from_text7", VALUEFUNC(_wrap_Image_from_text7), -1);
8596
8990
  rb_define_singleton_method(cImage.klass, "load_tiles", VALUEFUNC(_wrap_Image_load_tiles), -1);
8597
8991
  cImage.mark = 0;
8598
8992
  cImage.destroy = (void (*)(void *)) free_Gosu_Image;
@@ -8768,7 +9162,12 @@ SWIGEXPORT void Init_gosu(void) {
8768
9162
  rb_eval_string("module Gosu::Button; Gosu.constants.each { |c| const_set(c, Gosu.const_get(c)) }; end");
8769
9163
 
8770
9164
  // ARGH, SWIG workaround...
8771
- rb_eval_string("class Gosu::Image; def self.from_text(*args); args.size == 4 ? from_text_4(*args) : from_text_7(*args); end; end");
9165
+ // It doesn't understand the C++ overloading otherwise.
9166
+ rb_eval_string("class Gosu::Image; def self.from_text(*args); args.size == 4 ? from_text4(*args) : from_text7(*args); end; end");
9167
+
9168
+ // ARGH, SWIG workaround 2..
9169
+ // It won't let me have a class method and method with the same name.
9170
+ rb_eval_string("class Gosu::Window; def button_id_to_char(id); self.class.button_id_to_char(id); end; def char_to_button_id(ch); self.class.char_to_button_id(ch); end; end");
8772
9171
 
8773
9172
  // Extend Numeric with simple angle conversion methods.
8774
9173
  rb_eval_string("class ::Numeric;def gosu_to_radians;(self-90)*Math::PI/180.0;end;def radians_to_gosu;self*180.0/Math::PI+90;end;end");
@@ -8795,18 +9194,20 @@ SWIGEXPORT void Init_gosu(void) {
8795
9194
  rb_define_method(cWindow.klass, "initialize", VALUEFUNC(_wrap_new_Window), -1);
8796
9195
  rb_define_method(cWindow.klass, "caption", VALUEFUNC(_wrap_Window_caption), -1);
8797
9196
  rb_define_method(cWindow.klass, "caption=", VALUEFUNC(_wrap_Window_captione___), -1);
9197
+ rb_define_method(cWindow.klass, "update_interval", VALUEFUNC(_wrap_Window_update_interval), -1);
8798
9198
  rb_define_method(cWindow.klass, "show", VALUEFUNC(_wrap_Window_show), -1);
8799
9199
  rb_define_method(cWindow.klass, "close", VALUEFUNC(_wrap_Window_close), -1);
8800
9200
  rb_define_method(cWindow.klass, "update", VALUEFUNC(_wrap_Window_update), -1);
8801
9201
  rb_define_method(cWindow.klass, "draw", VALUEFUNC(_wrap_Window_draw), -1);
9202
+ rb_define_method(cWindow.klass, "needs_redraw?", VALUEFUNC(_wrap_Window_needs_redrawq___), -1);
8802
9203
  rb_define_method(cWindow.klass, "button_down", VALUEFUNC(_wrap_Window_button_down), -1);
8803
9204
  rb_define_method(cWindow.klass, "button_up", VALUEFUNC(_wrap_Window_button_up), -1);
8804
9205
  rb_define_method(cWindow.klass, "draw_line", VALUEFUNC(_wrap_Window_draw_line), -1);
8805
9206
  rb_define_method(cWindow.klass, "draw_triangle", VALUEFUNC(_wrap_Window_draw_triangle), -1);
8806
9207
  rb_define_method(cWindow.klass, "draw_quad", VALUEFUNC(_wrap_Window_draw_quad), -1);
8807
9208
  rb_define_method(cWindow.klass, "button_down?", VALUEFUNC(_wrap_Window_button_downq___), -1);
8808
- rb_define_method(cWindow.klass, "char_to_button_id", VALUEFUNC(_wrap_Window_char_to_button_id), -1);
8809
- rb_define_method(cWindow.klass, "button_id_to_char", VALUEFUNC(_wrap_Window_button_id_to_char), -1);
9209
+ rb_define_singleton_method(cWindow.klass, "char_to_button_id", VALUEFUNC(_wrap_Window_char_to_button_id), -1);
9210
+ rb_define_singleton_method(cWindow.klass, "button_id_to_char", VALUEFUNC(_wrap_Window_button_id_to_char), -1);
8810
9211
  rb_define_method(cWindow.klass, "text_input", VALUEFUNC(_wrap_Window_text_input), -1);
8811
9212
  rb_define_method(cWindow.klass, "text_input=", VALUEFUNC(_wrap_Window_text_inpute___), -1);
8812
9213
  rb_define_method(cWindow.klass, "mouse_x", VALUEFUNC(_wrap_Window_mouse_x), -1);