gosu 0.7.11 → 0.7.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (141) hide show
  1. data/Gosu/Audio.hpp +33 -16
  2. data/Gosu/GraphicsBase.hpp +6 -1
  3. data/Gosu/Input.hpp +8 -2
  4. data/Gosu/Platform.hpp +63 -61
  5. data/Gosu/Window.hpp +11 -0
  6. data/GosuImpl/AudioFmod.cpp +89 -16
  7. data/GosuImpl/AudioSDL.cpp +59 -19
  8. data/GosuImpl/Graphics/BitmapUtils.cpp +3 -0
  9. data/GosuImpl/Graphics/Common.hpp +8 -3
  10. data/GosuImpl/Graphics/DrawOp.hpp +70 -7
  11. data/GosuImpl/Graphics/Graphics.cpp +34 -2
  12. data/GosuImpl/Graphics/TexChunk.cpp +7 -1
  13. data/GosuImpl/Graphics/Texture.cpp +31 -9
  14. data/GosuImpl/Iconv.hpp +3 -0
  15. data/GosuImpl/InputMac.mm +31 -10
  16. data/GosuImpl/InputWin.cpp +8 -0
  17. data/GosuImpl/InputX.cpp +64 -45
  18. data/GosuImpl/Math.cpp +1 -1
  19. data/GosuImpl/RubyGosu.swg +27 -7
  20. data/GosuImpl/RubyGosu_wrap.cxx +338 -205
  21. data/GosuImpl/Utility.cpp +1 -0
  22. data/GosuImpl/WindowMac.mm +29 -3
  23. data/GosuImpl/WindowWin.cpp +16 -5
  24. data/GosuImpl/WindowX.cpp +3 -3
  25. data/README.txt +7 -3
  26. data/Rakefile +2 -1
  27. data/mac/Gosu.icns +0 -0
  28. data/mac/Gosu.xcodeproj/jlnr.mode1v3 +74 -75
  29. data/mac/Gosu.xcodeproj/jlnr.pbxuser +731 -257
  30. data/mac/Gosu.xcodeproj/jlnr.perspectivev3 +1531 -0
  31. data/reference/Async_8hpp-source.html +1 -1
  32. data/reference/Audio_8hpp-source.html +68 -58
  33. data/reference/Audio_8hpp.html +1 -1
  34. data/reference/AutoLink_8hpp-source.html +1 -1
  35. data/reference/AutoLink_8hpp.html +1 -1
  36. data/reference/Bitmap_8hpp-source.html +1 -1
  37. data/reference/Bitmap_8hpp.html +1 -1
  38. data/reference/ButtonsMac_8hpp-source.html +1 -1
  39. data/reference/ButtonsWin_8hpp-source.html +1 -1
  40. data/reference/ButtonsX_8hpp-source.html +1 -1
  41. data/reference/Color_8hpp-source.html +1 -1
  42. data/reference/Color_8hpp.html +1 -1
  43. data/reference/Directories_8hpp-source.html +1 -1
  44. data/reference/Directories_8hpp.html +1 -1
  45. data/reference/Font_8hpp-source.html +1 -1
  46. data/reference/Font_8hpp.html +1 -1
  47. data/reference/Fwd_8hpp-source.html +1 -1
  48. data/reference/Fwd_8hpp.html +1 -1
  49. data/reference/Gosu_8hpp-source.html +1 -1
  50. data/reference/Gosu_8hpp.html +1 -1
  51. data/reference/GraphicsBase_8hpp-source.html +28 -26
  52. data/reference/GraphicsBase_8hpp.html +4 -1
  53. data/reference/Graphics_8hpp-source.html +1 -1
  54. data/reference/Graphics_8hpp.html +1 -1
  55. data/reference/IO_8hpp-source.html +1 -1
  56. data/reference/IO_8hpp.html +1 -1
  57. data/reference/ImageData_8hpp-source.html +1 -1
  58. data/reference/ImageData_8hpp.html +1 -1
  59. data/reference/Image_8hpp-source.html +1 -1
  60. data/reference/Image_8hpp.html +1 -1
  61. data/reference/Input_8hpp-source.html +19 -16
  62. data/reference/Input_8hpp.html +1 -1
  63. data/reference/Math_8hpp-source.html +1 -1
  64. data/reference/Math_8hpp.html +1 -1
  65. data/reference/Platform_8hpp-source.html +22 -20
  66. data/reference/Platform_8hpp.html +1 -1
  67. data/reference/RotFlip_8hpp-source.html +1 -1
  68. data/reference/RotFlip_8hpp.html +1 -1
  69. data/reference/Sockets_8hpp-source.html +1 -1
  70. data/reference/Sockets_8hpp.html +1 -1
  71. data/reference/TextInput_8hpp-source.html +1 -1
  72. data/reference/TextInput_8hpp.html +1 -1
  73. data/reference/Text_8hpp-source.html +1 -1
  74. data/reference/Text_8hpp.html +1 -1
  75. data/reference/Timing_8hpp-source.html +1 -1
  76. data/reference/Timing_8hpp.html +1 -1
  77. data/reference/Utility_8hpp-source.html +1 -1
  78. data/reference/Utility_8hpp.html +1 -1
  79. data/reference/WinUtility_8hpp-source.html +1 -1
  80. data/reference/WinUtility_8hpp.html +1 -1
  81. data/reference/Window_8hpp-source.html +67 -56
  82. data/reference/Window_8hpp.html +1 -1
  83. data/reference/annotated.html +1 -1
  84. data/reference/classGosu_1_1Audio-members.html +1 -1
  85. data/reference/classGosu_1_1Audio.html +1 -1
  86. data/reference/classGosu_1_1Bitmap-members.html +1 -1
  87. data/reference/classGosu_1_1Bitmap.html +1 -1
  88. data/reference/classGosu_1_1Buffer-members.html +1 -1
  89. data/reference/classGosu_1_1Buffer.html +1 -1
  90. data/reference/classGosu_1_1Button-members.html +1 -1
  91. data/reference/classGosu_1_1Button.html +1 -1
  92. data/reference/classGosu_1_1Color-members.html +1 -1
  93. data/reference/classGosu_1_1Color.html +1 -1
  94. data/reference/classGosu_1_1File-members.html +1 -1
  95. data/reference/classGosu_1_1File.html +1 -1
  96. data/reference/classGosu_1_1Font-members.html +1 -1
  97. data/reference/classGosu_1_1Font.html +1 -1
  98. data/reference/classGosu_1_1Graphics-members.html +1 -1
  99. data/reference/classGosu_1_1Graphics.html +1 -1
  100. data/reference/classGosu_1_1Image-members.html +1 -1
  101. data/reference/classGosu_1_1Image.html +1 -1
  102. data/reference/classGosu_1_1ImageData-members.html +1 -1
  103. data/reference/classGosu_1_1ImageData.html +1 -1
  104. data/reference/classGosu_1_1Input-members.html +2 -1
  105. data/reference/classGosu_1_1Input.html +34 -1
  106. data/reference/classGosu_1_1MessageSocket-members.html +1 -1
  107. data/reference/classGosu_1_1MessageSocket.html +1 -1
  108. data/reference/classGosu_1_1Resource-members.html +1 -1
  109. data/reference/classGosu_1_1Resource.html +1 -1
  110. data/reference/classGosu_1_1Sample-members.html +3 -3
  111. data/reference/classGosu_1_1Sample.html +23 -11
  112. data/reference/classGosu_1_1SampleInstance-members.html +4 -1
  113. data/reference/classGosu_1_1SampleInstance.html +11 -2
  114. data/reference/classGosu_1_1Song-members.html +5 -2
  115. data/reference/classGosu_1_1Song.html +78 -7
  116. data/reference/classGosu_1_1TextInput-members.html +1 -1
  117. data/reference/classGosu_1_1TextInput.html +1 -1
  118. data/reference/classGosu_1_1Window-members.html +1 -1
  119. data/reference/classGosu_1_1Window.html +1 -1
  120. data/reference/files.html +1 -1
  121. data/reference/functions.html +14 -6
  122. data/reference/functions_enum.html +1 -1
  123. data/reference/functions_func.html +14 -6
  124. data/reference/functions_vars.html +1 -1
  125. data/reference/hierarchy.html +1 -1
  126. data/reference/index.html +1 -1
  127. data/reference/namespaceGosu.html +20 -1
  128. data/reference/namespaceGosu_1_1Colors.html +1 -1
  129. data/reference/namespaceGosu_1_1Win.html +1 -1
  130. data/reference/namespacemembers.html +3 -1
  131. data/reference/namespacemembers_enum.html +1 -1
  132. data/reference/namespacemembers_eval.html +1 -1
  133. data/reference/namespacemembers_func.html +1 -1
  134. data/reference/namespacemembers_type.html +1 -1
  135. data/reference/namespacemembers_vars.html +3 -1
  136. data/reference/namespaces.html +1 -1
  137. data/windows/Gosu.sln +2 -2
  138. data/windows/Gosu.vcproj +8 -7
  139. data/windows/RubyGosu.vcproj +5 -5
  140. metadata +4 -3
  141. data/GosuImpl/Utility.cpp~RF6c566.TMP +0 -95
@@ -5,6 +5,7 @@
5
5
  #include <stdexcept>
6
6
  #include <algorithm>
7
7
  #include <vector>
8
+
8
9
  #ifndef GOSU_IS_WIN
9
10
  #include <GosuImpl/Iconv.hpp>
10
11
  #endif
@@ -203,7 +203,16 @@ Gosu::Window::Window(unsigned width, unsigned height, bool fullscreen,
203
203
  [NSApplication sharedApplication];
204
204
 
205
205
  // Settings, depending on fullscreen or not
206
- NSOpenGLPixelFormatAttribute attrs[] =
206
+ NSOpenGLPixelFormatAttribute windowedAttrs[] =
207
+ {
208
+ NSOpenGLPFADoubleBuffer,
209
+ NSOpenGLPFAScreenMask,
210
+ (NSOpenGLPixelFormatAttribute)CGDisplayIDToOpenGLDisplayMask(CGMainDisplayID()),
211
+ NSOpenGLPFADepthSize,
212
+ (NSOpenGLPixelFormatAttribute)16,
213
+ (NSOpenGLPixelFormatAttribute)0
214
+ };
215
+ NSOpenGLPixelFormatAttribute fullscreenAttrs[] =
207
216
  {
208
217
  NSOpenGLPFADoubleBuffer,
209
218
  NSOpenGLPFAScreenMask,
@@ -213,11 +222,15 @@ Gosu::Window::Window(unsigned width, unsigned height, bool fullscreen,
213
222
  (NSOpenGLPixelFormatAttribute)16,
214
223
  (NSOpenGLPixelFormatAttribute)0
215
224
  };
225
+ NSOpenGLPixelFormatAttribute* attrs = fullscreen ? fullscreenAttrs : windowedAttrs;
226
+
216
227
  // Create pixel format and OpenGL context
217
228
  ObjRef<NSOpenGLPixelFormat> fmt([[NSOpenGLPixelFormat alloc] initWithAttributes:attrs]);
218
- assert(fmt.get() != nil);
229
+ if (!fmt.get())
230
+ throw std::runtime_error("Could not find a suitable OpenGL pixel format");
219
231
  pimpl->context.reset([[NSOpenGLContext alloc] initWithFormat: fmt.obj() shareContext:nil]);
220
- assert(pimpl->context.get() != nil);
232
+ if (!pimpl->context.get())
233
+ throw std::runtime_error("Unable to create an OpenGL context with the supplied pixel format");
221
234
 
222
235
  if (fullscreen) {
223
236
  // Fullscreen: Create no window, instead change resolution.
@@ -349,6 +362,19 @@ void Gosu::Window::show()
349
362
  void Gosu::Window::close()
350
363
  {
351
364
  [NSApp stop:nil];
365
+
366
+ // NSApp doesn't check its 'stopped' flag until it finishes processing
367
+ // the next event (timers are not events), so here's a rather hacky way
368
+ // to make sure it has one in its queue
369
+ [NSApp postEvent: [NSEvent otherEventWithType:NSApplicationDefined
370
+ location:NSZeroPoint
371
+ modifierFlags:0
372
+ timestamp:0.0
373
+ windowNumber:0
374
+ context:NULL
375
+ subtype:0
376
+ data1:0
377
+ data2:0] atStart:NO];
352
378
  }
353
379
 
354
380
  const Gosu::Graphics& Gosu::Window::graphics() const
@@ -95,6 +95,8 @@ namespace Gosu
95
95
  void setupVSync()
96
96
  {
97
97
  char* extensions = (char*)glGetString(GL_EXTENSIONS);
98
+ // The Intel drivers will actually have a proc address for wglSwapInterval that
99
+ // doesn't do much, so the string instead of just getting the address.
98
100
  if (!strstr(extensions, "WGL_EXT_swap_control"))
99
101
  return;
100
102
  typedef void (APIENTRY *PFNWGLEXTSWAPCONTROLPROC) (int);
@@ -296,21 +298,30 @@ void Gosu::Window::show()
296
298
  {
297
299
  Win::processMessages();
298
300
 
299
- if (GosusDarkSide::oncePerTick) GosusDarkSide::oncePerTick();
300
-
301
+ // Whyever this would happen...!
301
302
  if (!::IsWindowVisible(handle()))
303
+ {
304
+ Sleep(50);
302
305
  return;
306
+ }
303
307
 
304
308
  unsigned ms = milliseconds();
305
309
 
306
- if (ms < lastTick || ms - lastTick >= pimpl->updateInterval)
310
+ if (ms < lastTick || ms - lastTick >= static_cast<unsigned>(pimpl->updateInterval))
307
311
  {
308
312
  lastTick = ms;
309
313
  input().update();
310
314
  update();
311
315
  ::InvalidateRect(handle(), 0, FALSE);
312
- lastFrameSkipped = false;
313
- }
316
+ // There probably should be a proper "oncePerTick" handler
317
+ // system in the future. Right now, this is necessary to give
318
+ // timeslices to Ruby's green threads in Ruby/Gosu.
319
+ if (GosusDarkSide::oncePerTick) GosusDarkSide::oncePerTick();
320
+ lastFrameSkipped = false;
321
+ } else if (pimpl->updateInterval - (ms - lastTick) > 5)
322
+ // More than 5 ms left until next update: Sleep to reduce
323
+ // processur usage, Sleep() is accurate enough for that.
324
+ Sleep(5);
314
325
  }
315
326
  }
316
327
  catch (...)
@@ -116,7 +116,7 @@ struct Gosu::Window::Impl
116
116
  if (event.type == ButtonPress && fullscreen && !active)
117
117
  XSetInputFocus(display, this->window, RevertToParent, CurrentTime);
118
118
 
119
- if (!window->input().feedXEvent(event, window))
119
+ if (!window->input().feedXEvent(event))
120
120
  {
121
121
  if (event.type == ConfigureNotify)
122
122
  {
@@ -232,8 +232,8 @@ Gosu::Window::Window(unsigned width, unsigned height, bool fullscreen,
232
232
  glXMakeCurrent(pimpl->display, pimpl->window, pimpl->context);
233
233
 
234
234
  // Now set up major Gosu components
235
- pimpl->graphics.reset(new Gosu::Graphics(pimpl->width, pimpl->height, fullscreen));
236
- pimpl->input.reset(new Gosu::Input(pimpl->display));
235
+ pimpl->graphics.reset(new Graphics(pimpl->width, pimpl->height, fullscreen));
236
+ pimpl->input.reset(new Input(pimpl->display, pimpl->window));
237
237
  input().onButtonDown = boost::bind(&Window::buttonDown, this, _1);
238
238
  input().onButtonUp = boost::bind(&Window::buttonUp, this, _1);
239
239
 
data/README.txt CHANGED
@@ -3,11 +3,15 @@ Moin moin, dear Gosu user!
3
3
  * The latest documentation on how to install/set up Gosu can be found on:
4
4
  http://code.google.com/p/gosu/wiki/DocsOverview
5
5
 
6
- * Try doing the tutorial there if you don't know how to start out!
6
+ * All resources around using Gosu are linked from http://libgosu.org/.
7
+
8
+ * Try doing the tutorial there if you don't know how to start out! Or look
9
+ at one of the games in the Gosu Users board.
7
10
 
8
11
  * If you have any questions or feedback,
12
+ visit the boards at http://libgosu.org/,
9
13
  leave a comment on one of Gosu's wiki page,
10
- mail me at julian@raschke.de,
11
- or try your luck in #gosu on irc.freenode.org.
14
+ try your luck in #gosu on irc.freenode.org,
15
+ or mail me at julian@raschke.de!
12
16
 
13
17
  We hope you'll enjoy using Gosu!
data/Rakefile CHANGED
@@ -26,6 +26,7 @@ SOURCE_FILES = COMMON_CPP_FILES + COMMON_RUBY_FILES + FileList[
26
26
  'linux/configure', 'linux/configure.ac', 'linux/Makefile.in',
27
27
  'mac/Gosu.xcodeproj/**/*', 'mac/*.a', 'mac/English.lproj/**/*',
28
28
  'mac/Gosu-Info.plist', 'mac/RubyGosu Template-Info.plist',
29
+ 'mac/Gosu.icns',
29
30
  'windows/Gosu.sln', 'windows/Gosu.vcproj', 'windows/RubyGosu.vcproj',
30
31
  'windows/zlib, libpng/**/*'
31
32
  ]
@@ -66,7 +67,7 @@ desc "Publish OmniFocus tasks in ToDo Wiki page"
66
67
  task :todo do
67
68
  File.open "wiki/ToDo.wiki", "w" do |wiki_page|
68
69
  doc = Appscript.app("OmniFocus").default_document
69
- my_projects = doc.folders["Eigene Projekte"].projects.get
70
+ my_projects = doc.folders["Einzelprojekte"].projects.get
70
71
  gosu_projects = my_projects.select { |p| p.name.get =~ /^Gosu/ }
71
72
 
72
73
  wiki_page.puts "#summary List of upcoming To Do items, refreshed daily."
Binary file
@@ -270,20 +270,20 @@
270
270
  <string>D410E8670A8018A8005C7067</string>
271
271
  <string>D410EAD30A801B00005C7067</string>
272
272
  <string>D46F737C0BC3458D008003BA</string>
273
+ <string>0867D69AFE84028FC02AAC07</string>
273
274
  <string>1C37FBAC04509CD000000102</string>
274
- <string>D410D64F0EEA16CC007740AE</string>
275
- <string>D410D6500EEA16CC007740AE</string>
276
275
  <string>1C37FABC05509CD000000102</string>
277
276
  </array>
278
277
  <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
279
278
  <array>
280
279
  <array>
280
+ <integer>43</integer>
281
281
  <integer>42</integer>
282
282
  <integer>0</integer>
283
283
  </array>
284
284
  </array>
285
285
  <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
286
- <string>{{0, 403}, {186, 618}}</string>
286
+ <string>{{0, 349}, {186, 618}}</string>
287
287
  </dict>
288
288
  <key>PBXTopSmartGroupGIDs</key>
289
289
  <array/>
@@ -302,7 +302,7 @@
302
302
  <real>186</real>
303
303
  </array>
304
304
  <key>RubberWindowFrame</key>
305
- <string>0 101 1280 677 0 0 1280 778 </string>
305
+ <string>325 497 1280 677 0 0 1920 1178 </string>
306
306
  </dict>
307
307
  <key>Module</key>
308
308
  <string>PBXSmartGroupTreeModule</string>
@@ -320,7 +320,7 @@
320
320
  <key>PBXProjectModuleGUID</key>
321
321
  <string>1CE0B20306471E060097A5F4</string>
322
322
  <key>PBXProjectModuleLabel</key>
323
- <string>RubyGosu.swg</string>
323
+ <string>RubyGosu_wrap.cxx</string>
324
324
  <key>PBXSplitModuleInNavigatorKey</key>
325
325
  <dict>
326
326
  <key>Split0</key>
@@ -328,27 +328,27 @@
328
328
  <key>PBXProjectModuleGUID</key>
329
329
  <string>1CE0B20406471E060097A5F4</string>
330
330
  <key>PBXProjectModuleLabel</key>
331
- <string>RubyGosu.swg</string>
331
+ <string>RubyGosu_wrap.cxx</string>
332
332
  <key>_historyCapacity</key>
333
333
  <integer>0</integer>
334
334
  <key>bookmark</key>
335
- <string>D410D6A70EEA20FF007740AE</string>
335
+ <string>D4394D070F120A7300929A65</string>
336
336
  <key>history</key>
337
337
  <array>
338
338
  <string>D4ED23530EE4D2C2008DEDC2</string>
339
- <string>D4ED23540EE4D2C2008DEDC2</string>
340
339
  <string>D4ED23550EE4D2C2008DEDC2</string>
341
340
  <string>D4ED23560EE4D2C2008DEDC2</string>
342
341
  <string>D410D6230EE9D37F007740AE</string>
343
342
  <string>D410D6280EE9D4D3007740AE</string>
344
343
  <string>D410D6510EEA16CC007740AE</string>
345
344
  <string>D410D6830EEA17BC007740AE</string>
346
- <string>D410D6930EEA1A4C007740AE</string>
347
- <string>D410D68C0EEA191A007740AE</string>
348
- </array>
349
- <key>nextStack</key>
350
- <array>
351
- <string>D410D6940EEA1A4C007740AE</string>
345
+ <string>D41200010EF9AA9F00F3D96E</string>
346
+ <string>D4394C930F0CC46700929A65</string>
347
+ <string>D4394CA40F0D1B2E00929A65</string>
348
+ <string>D4394CA50F0D1B2E00929A65</string>
349
+ <string>D4394CF70F11F75600929A65</string>
350
+ <string>D4394CFD0F11FA1700929A65</string>
351
+ <string>D4394CFE0F11FA1700929A65</string>
352
352
  </array>
353
353
  <key>prevStack</key>
354
354
  <array>
@@ -360,8 +360,13 @@
360
360
  <string>D410D62A0EE9D4D3007740AE</string>
361
361
  <string>D410D6540EEA16CC007740AE</string>
362
362
  <string>D410D6560EEA16CC007740AE</string>
363
- <string>D410D6840EEA17BC007740AE</string>
364
363
  <string>D410D6850EEA17BC007740AE</string>
364
+ <string>D410D6B20EEB7E82007740AE</string>
365
+ <string>D44F81110EEC44A6004C9703</string>
366
+ <string>D4394C960F0CC46700929A65</string>
367
+ <string>D4394C970F0CC46700929A65</string>
368
+ <string>D4394CF80F11F75600929A65</string>
369
+ <string>D4394CFF0F11FA1700929A65</string>
365
370
  </array>
366
371
  </dict>
367
372
  <key>SplitCount</key>
@@ -375,7 +380,7 @@
375
380
  <key>Frame</key>
376
381
  <string>{{0, 0}, {1072, 631}}</string>
377
382
  <key>RubberWindowFrame</key>
378
- <string>0 101 1280 677 0 0 1280 778 </string>
383
+ <string>325 497 1280 677 0 0 1920 1178 </string>
379
384
  </dict>
380
385
  <key>Module</key>
381
386
  <string>PBXNavigatorGroup</string>
@@ -395,7 +400,7 @@
395
400
  <key>Frame</key>
396
401
  <string>{{0, 636}, {1072, 0}}</string>
397
402
  <key>RubberWindowFrame</key>
398
- <string>0 101 1280 677 0 0 1280 778 </string>
403
+ <string>325 497 1280 677 0 0 1920 1178 </string>
399
404
  </dict>
400
405
  <key>Module</key>
401
406
  <string>XCDetailModule</string>
@@ -419,9 +424,9 @@
419
424
  </array>
420
425
  <key>TableOfContents</key>
421
426
  <array>
422
- <string>D410D6580EEA16CC007740AE</string>
427
+ <string>D4394CFA0F11F75600929A65</string>
423
428
  <string>1CE0B1FE06471DED0097A5F4</string>
424
- <string>D410D6590EEA16CC007740AE</string>
429
+ <string>D4394CFB0F11F75600929A65</string>
425
430
  <string>1CE0B20306471E060097A5F4</string>
426
431
  <string>1CE0B20506471E060097A5F4</string>
427
432
  </array>
@@ -555,13 +560,11 @@
555
560
  <integer>5</integer>
556
561
  <key>WindowOrderList</key>
557
562
  <array>
558
- <string>1C78EAAD065D492600B07095</string>
559
- <string>1CD10A99069EF8BA00B06720</string>
560
563
  <string>D410D6200EE9D36E007740AE</string>
561
564
  <string>/Users/jlnr/Projekte/Gosu/mac/Gosu.xcodeproj</string>
562
565
  </array>
563
566
  <key>WindowString</key>
564
- <string>0 101 1280 677 0 0 1280 778 </string>
567
+ <string>325 497 1280 677 0 0 1920 1178 </string>
565
568
  <key>WindowToolsV3</key>
566
569
  <array>
567
570
  <dict>
@@ -589,18 +592,22 @@
589
592
  <key>GeometryConfiguration</key>
590
593
  <dict>
591
594
  <key>Frame</key>
592
- <string>{{0, 0}, {500, 218}}</string>
595
+ <string>{{0, 0}, {840, 240}}</string>
593
596
  <key>RubberWindowFrame</key>
594
- <string>21 255 500 500 0 0 1280 778 </string>
597
+ <string>38 600 840 522 0 0 1920 1178 </string>
595
598
  </dict>
596
599
  <key>Module</key>
597
600
  <string>PBXNavigatorGroup</string>
598
601
  <key>Proportion</key>
599
- <string>218pt</string>
602
+ <string>240pt</string>
600
603
  </dict>
601
604
  <dict>
605
+ <key>BecomeActive</key>
606
+ <true/>
602
607
  <key>ContentConfiguration</key>
603
608
  <dict>
609
+ <key>PBXBuildLogShowsTranscriptDefaultKey</key>
610
+ <string>{{0, 93}, {840, 143}}</string>
604
611
  <key>PBXProjectModuleGUID</key>
605
612
  <string>XCMainBuildResultsModuleGUID</string>
606
613
  <key>PBXProjectModuleLabel</key>
@@ -613,9 +620,9 @@
613
620
  <key>GeometryConfiguration</key>
614
621
  <dict>
615
622
  <key>Frame</key>
616
- <string>{{0, 223}, {500, 236}}</string>
623
+ <string>{{0, 245}, {840, 236}}</string>
617
624
  <key>RubberWindowFrame</key>
618
- <string>21 255 500 500 0 0 1280 778 </string>
625
+ <string>38 600 840 522 0 0 1920 1178 </string>
619
626
  </dict>
620
627
  <key>Module</key>
621
628
  <string>PBXBuildResultsModule</string>
@@ -624,7 +631,7 @@
624
631
  </dict>
625
632
  </array>
626
633
  <key>Proportion</key>
627
- <string>459pt</string>
634
+ <string>481pt</string>
628
635
  </dict>
629
636
  </array>
630
637
  <key>Name</key>
@@ -638,18 +645,18 @@
638
645
  <key>TableOfContents</key>
639
646
  <array>
640
647
  <string>D410D6200EE9D36E007740AE</string>
641
- <string>D410D65D0EEA16CC007740AE</string>
648
+ <string>D4394D050F11FA1700929A65</string>
642
649
  <string>1CD0528F0623707200166675</string>
643
650
  <string>XCMainBuildResultsModuleGUID</string>
644
651
  </array>
645
652
  <key>ToolbarConfiguration</key>
646
653
  <string>xcode.toolbar.config.buildV3</string>
647
654
  <key>WindowString</key>
648
- <string>21 255 500 500 0 0 1280 778 </string>
655
+ <string>38 600 840 522 0 0 1920 1178 </string>
649
656
  <key>WindowToolGUID</key>
650
657
  <string>D410D6200EE9D36E007740AE</string>
651
658
  <key>WindowToolIsVisible</key>
652
- <false/>
659
+ <true/>
653
660
  </dict>
654
661
  <dict>
655
662
  <key>FirstTimeWindowDisplayed</key>
@@ -680,8 +687,8 @@
680
687
  <string>yes</string>
681
688
  <key>sizes</key>
682
689
  <array>
683
- <string>{{0, 0}, {316, 194}}</string>
684
- <string>{{316, 0}, {378, 194}}</string>
690
+ <string>{{0, 0}, {316, 202}}</string>
691
+ <string>{{316, 0}, {378, 202}}</string>
685
692
  </array>
686
693
  </dict>
687
694
  <key>VerticalSplitView</key>
@@ -696,8 +703,8 @@
696
703
  <string>yes</string>
697
704
  <key>sizes</key>
698
705
  <array>
699
- <string>{{0, 0}, {694, 194}}</string>
700
- <string>{{0, 194}, {694, 187}}</string>
706
+ <string>{{0, 0}, {694, 202}}</string>
707
+ <string>{{0, 202}, {694, 179}}</string>
701
708
  </array>
702
709
  </dict>
703
710
  </dict>
@@ -730,12 +737,12 @@
730
737
  <real>148</real>
731
738
  </array>
732
739
  <key>Frame</key>
733
- <string>{{316, 0}, {378, 194}}</string>
740
+ <string>{{316, 0}, {378, 202}}</string>
734
741
  <key>RubberWindowFrame</key>
735
- <string>10 175 694 422 0 0 1280 778 </string>
742
+ <string>21 334 694 422 0 0 1920 1178 </string>
736
743
  </dict>
737
744
  <key>RubberWindowFrame</key>
738
- <string>10 175 694 422 0 0 1280 778 </string>
745
+ <string>21 334 694 422 0 0 1920 1178 </string>
739
746
  </dict>
740
747
  <key>Module</key>
741
748
  <string>PBXDebugSessionModule</string>
@@ -758,26 +765,30 @@
758
765
  <key>TableOfContents</key>
759
766
  <array>
760
767
  <string>1CD10A99069EF8BA00B06720</string>
761
- <string>D410D65E0EEA16CC007740AE</string>
768
+ <string>D4394CEC0F11F71A00929A65</string>
762
769
  <string>1C162984064C10D400B95A72</string>
763
- <string>D410D65F0EEA16CC007740AE</string>
764
- <string>D410D6600EEA16CC007740AE</string>
765
- <string>D410D6610EEA16CC007740AE</string>
766
- <string>D410D6620EEA16CC007740AE</string>
767
- <string>D410D6630EEA16CC007740AE</string>
770
+ <string>D4394CED0F11F71A00929A65</string>
771
+ <string>D4394CEE0F11F71A00929A65</string>
772
+ <string>D4394CEF0F11F71A00929A65</string>
773
+ <string>D4394CF00F11F71A00929A65</string>
774
+ <string>D4394CF10F11F71A00929A65</string>
768
775
  </array>
769
776
  <key>ToolbarConfiguration</key>
770
777
  <string>xcode.toolbar.config.debugV3</string>
771
778
  <key>WindowString</key>
772
- <string>10 175 694 422 0 0 1280 778 </string>
779
+ <string>21 334 694 422 0 0 1920 1178 </string>
773
780
  <key>WindowToolGUID</key>
774
781
  <string>1CD10A99069EF8BA00B06720</string>
775
782
  <key>WindowToolIsVisible</key>
776
783
  <false/>
777
784
  </dict>
778
785
  <dict>
786
+ <key>FirstTimeWindowDisplayed</key>
787
+ <false/>
779
788
  <key>Identifier</key>
780
789
  <string>windowTool.find</string>
790
+ <key>IsVertical</key>
791
+ <true/>
781
792
  <key>Layout</key>
782
793
  <array>
783
794
  <dict>
@@ -792,26 +803,16 @@
792
803
  <key>PBXProjectModuleGUID</key>
793
804
  <string>1CDD528C0622207200134675</string>
794
805
  <key>PBXProjectModuleLabel</key>
795
- <string>&lt;No Editor&gt;</string>
796
- <key>PBXSplitModuleInNavigatorKey</key>
797
- <dict>
798
- <key>Split0</key>
799
- <dict>
800
- <key>PBXProjectModuleGUID</key>
801
- <string>1CD0528D0623707200166675</string>
802
- </dict>
803
- <key>SplitCount</key>
804
- <string>1</string>
805
- </dict>
806
+ <string>WindowMac.mm</string>
806
807
  <key>StatusBarVisibility</key>
807
- <integer>1</integer>
808
+ <true/>
808
809
  </dict>
809
810
  <key>GeometryConfiguration</key>
810
811
  <dict>
811
812
  <key>Frame</key>
812
- <string>{{0, 0}, {781, 167}}</string>
813
+ <string>{{0, 0}, {781, 212}}</string>
813
814
  <key>RubberWindowFrame</key>
814
- <string>62 385 781 470 0 0 1440 878 </string>
815
+ <string>440 574 781 470 0 0 1920 1178 </string>
815
816
  </dict>
816
817
  <key>Module</key>
817
818
  <string>PBXNavigatorGroup</string>
@@ -820,11 +821,11 @@
820
821
  </dict>
821
822
  </array>
822
823
  <key>Proportion</key>
823
- <string>50%</string>
824
+ <string>212pt</string>
824
825
  </dict>
825
826
  <dict>
826
827
  <key>BecomeActive</key>
827
- <integer>1</integer>
828
+ <true/>
828
829
  <key>ContentConfiguration</key>
829
830
  <dict>
830
831
  <key>PBXProjectModuleGUID</key>
@@ -835,18 +836,18 @@
835
836
  <key>GeometryConfiguration</key>
836
837
  <dict>
837
838
  <key>Frame</key>
838
- <string>{{8, 0}, {773, 254}}</string>
839
+ <string>{{0, 217}, {781, 212}}</string>
839
840
  <key>RubberWindowFrame</key>
840
- <string>62 385 781 470 0 0 1440 878 </string>
841
+ <string>440 574 781 470 0 0 1920 1178 </string>
841
842
  </dict>
842
843
  <key>Module</key>
843
844
  <string>PBXProjectFindModule</string>
844
845
  <key>Proportion</key>
845
- <string>50%</string>
846
+ <string>212pt</string>
846
847
  </dict>
847
848
  </array>
848
849
  <key>Proportion</key>
849
- <string>428pt</string>
850
+ <string>429pt</string>
850
851
  </dict>
851
852
  </array>
852
853
  <key>Name</key>
@@ -856,23 +857,21 @@
856
857
  <string>PBXProjectFindModule</string>
857
858
  </array>
858
859
  <key>StatusbarIsVisible</key>
859
- <integer>1</integer>
860
+ <true/>
860
861
  <key>TableOfContents</key>
861
862
  <array>
862
863
  <string>1C530D57069F1CE1000CFCEE</string>
863
- <string>1C530D58069F1CE1000CFCEE</string>
864
- <string>1C530D59069F1CE1000CFCEE</string>
864
+ <string>D4394CA10F0D1A3F00929A65</string>
865
+ <string>D4394CA20F0D1A3F00929A65</string>
865
866
  <string>1CDD528C0622207200134675</string>
866
- <string>1C530D5A069F1CE1000CFCEE</string>
867
- <string>1CE0B1FE06471DED0097A5F4</string>
868
867
  <string>1CD0528E0623707200166675</string>
869
868
  </array>
870
869
  <key>WindowString</key>
871
- <string>62 385 781 470 0 0 1440 878 </string>
870
+ <string>440 574 781 470 0 0 1920 1178 </string>
872
871
  <key>WindowToolGUID</key>
873
872
  <string>1C530D57069F1CE1000CFCEE</string>
874
873
  <key>WindowToolIsVisible</key>
875
- <integer>0</integer>
874
+ <false/>
876
875
  </dict>
877
876
  <dict>
878
877
  <key>Identifier</key>
@@ -903,7 +902,7 @@
903
902
  <key>Frame</key>
904
903
  <string>{{0, 0}, {650, 209}}</string>
905
904
  <key>RubberWindowFrame</key>
906
- <string>21 505 650 250 0 0 1280 778 </string>
905
+ <string>42 888 650 250 0 0 1920 1178 </string>
907
906
  </dict>
908
907
  <key>Module</key>
909
908
  <string>PBXDebugCLIModule</string>
@@ -926,13 +925,13 @@
926
925
  <key>TableOfContents</key>
927
926
  <array>
928
927
  <string>1C78EAAD065D492600B07095</string>
929
- <string>D410D6A10EEA1B09007740AE</string>
928
+ <string>D4394CBD0F0D1DE600929A65</string>
930
929
  <string>1C78EAAC065D492600B07095</string>
931
930
  </array>
932
931
  <key>ToolbarConfiguration</key>
933
932
  <string>xcode.toolbar.config.consoleV3</string>
934
933
  <key>WindowString</key>
935
- <string>21 505 650 250 0 0 1280 778 </string>
934
+ <string>42 888 650 250 0 0 1920 1178 </string>
936
935
  <key>WindowToolGUID</key>
937
936
  <string>1C78EAAD065D492600B07095</string>
938
937
  <key>WindowToolIsVisible</key>