forked from blitz-research/monkey
-
Notifications
You must be signed in to change notification settings - Fork 0
/
VERSIONS.TXT
2169 lines (1019 loc) · 56.2 KB
/
VERSIONS.TXT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
NOTE: If you're having trouble with a new version, try deleting '.build' dirs!!!!!
***** v77f *****
Tweaked os module.
***** v77e *****
Fixed winrt audio discard bug.
***** v77d *****
Fixed glfw SetSwapInterval bug.
Added fallback for missing requestAnimationFrame on html5 with update rate 0.
Added setAllowsCellularAccess:YES to ios httprequest.
Added info-plist entry to disable status bar on ios7.0.
Fixed httprequest so newlines aren't inserted.
Fixed app.SaveState bug.
Added winrt monkeystore for Windows Phone 8.0.
.build folders now/at last tagged with version info taken from THIS file, eg: bouncyaliens.buildv77d
***** v77c *****
Fixed PSM ButtonsDown bug.
Added OnResize method to App.
Moved DeviceWidth/DeviceHeight from graphics to app module.
Added DisplayMode class to app; DisplayModes, DesktopMode, SetDeviceWindow, SetSwapInterval functions to app module.
Added update rate '0'. This is 'go nuts' mode - app just runs as fast as possible and you get exactly one update per render.
glfwSwapBuffers moved from mojo graphics code to target.
Souped up html5 target template - moved resize handling code to html.
Fixed XNA PlayMusic paused flag bug.
Fixed transcc debug mode array indexing bug in js/as translators.
***** v77b *****
Added fix for c++ String.ToLower/ToUpper and unicode.
***** v77a *****
Ted now reads version info from VERSIONS.TXT for about dialog - NOTE TO SELF! DON'T CHANGE FORMAT OF VERSION HEADER!!!! ie: ***** vBLAH *****
Had a stab at fixing android softkeyboard predictive text bug.
glfw xcode project now builds main.mm instead of main.cpp so you can use objective C in glfw projects.
Fixed transcc html5 builder makemeta bug where width/height were swapped for jpgs!
Added 'Open in Help View' to Ted.
Improved handling of non-gc memory allocation.
Added -Wno-free-nonheap-object to glfw mingw ccopts for less warnings.
Fixed winrt alpha bug.
***** v76d *****
Fixed some ios audio issues where audio crapped out after a clock 'alarm' fired.
***** v76c *****
Fixed an import modpath bug.
Added #CC_LIBS app config var for stdcpp target.
***** v76b *****
Fixed ios issue where app didn't appear on latest simulator.
Added keypad support to glfw and KEY_NUM0 etc to keycodes.monkey and docs.
#GLFW_USE_MINGW now defaults to True.
Added #include <pthread.h> to macos glfw target for Mavericks.
Minimized some compiler warnings on macos glfw/stdcpp targets (only for monkey translated code - stb/glfw still generate some warnings but these are only built 'first time').
Fixed DataBuffer PokeString bug.
Fixed Image.Discard not discarding image immediately with some multiframe images.
Added MacOS support for ANT_PATH to transcc for Mavericks - defaults to "${HOME}/apache-ant-1.9.2" in config.macos.txt
Fixed Ted/Qt/Mavericks issue ala: http://successfulsoftware.net/2013/10/23/fixing-qt-4-for-mac-os-x-10-9-mavericks/
Turned on bitmap smoothing for main 'drawing surface' bitmap in flash mojo.graphics if MOJO_IMAGE_FILTERING_ENABLED is True.
Removed GL_DEPTH_BUFFER_BIT from glClear in android mojo.graphics.
Tweaked winrt_win8 target for windows 8.1
Moved html5 onclick/oncontextmenu handlers from html to js - added canvas.focus() to onclick/ontouchstart handlers.
Fixed some modpath/reflection issues with files 'above' module dirs. I hope.
Added MODPATH builtin containing module path of current module, mainly for use with RELFECTION_FILTER - probably not the best name...
Added pthread support to linux stdcpp builder.
Fixed some more brl.json bugs.
Transcc 'makemeta' code for html5 builder converted from cpp->monkey.
Fixed html5/flash async image/sound loader bugs.
***** v76a *****
Fixed flash audio bug where SetMusicVolume on paused music crashed.
Added minimal monkey.deque.Deque class.
Change iOS deployment target to 4.3 for xcode5 compatibility.
Added GLFW_SWAP_INTERVAL app config setting for glfw target, set to -1 to not set swap interval at all (ie: use driver default). Defaults to -1 for BW compatiblity.
Fixed some bugs with arrays of arrays in c#/java.
***** v75d *****
Fixed glfw WritePixels issue.
Fixed json parsing bug with empty objects/arrays.
***** v75c *****
Added support for more Ouya buttons - all buttons supported on my Ouya and Ps3 controllers now. Xbox360 controller a bit weird - always appears on port 3, and dpad not generating any button presses.
Added JOY_LSB (LSB='Left Stick Button'), JOY_RSB and JOY_MENU keycodes (only used on Ouya right now).
Fixed Android build issues.
Added GL_GLEXT_PROTOTYPES to linux target main.h
Fixed ${CD}, ${TARGET} etc in preprocessor strings.
Fixed html5 app resume causing last played sound to replay.
Fixed transcc +VAR=BLAH.
***** v75b *****
Fixed winphone 8 orientation bug.
Restored anrdroid_ouya target to release!
Fixed XNA music not suspending/resuming correctly.
Fixed XNA app resume causing last played sound to replay.
Updated reflection docs.
Tidied up lots of BLAH_IMPLEMENTED stuff.
Tidied up preprocessor a bit: Preprocessor vars are now strongly typed, and non-existant vars now return a 'False' value instead of generating an error. Note: Some global funcs in trans/config.monkey have changed, which may affect target authors.
***** v75a *****
Since I'm breaking win8 stuff, renamed "win8" target/builder to "winrt" - ie: #If TARGET="winrt" for win8/winphone8 apps now. Also renamed a bunch of *win8* files to winrt.
After much hair pulling and gnashing of teeth, win8 and winphone8 targets are now xaml/d3d style apps. Both with a smidgen of c# thrown in, although Monkey translated code is still c++. Win8/winphone8 app orientation must now be set via manifest. 'SetUpdateRate 60' recommended on winphone8 due to OS 'timing anomolies'.
Added support for ! to data path filters.
Fixed brl.process string cast bug preventing modman compiling.
Fixed a += side effects issue again.
Updated win8 mojo for potential xaml-ification.
Updated win8 transcc builder so it can handle C# projects too.
Renamed native c++ Print() to bbPrint() and Error() to bbError().
***** v74a *****
Fixed xna WP7 bug where accelerometer was sending events to app before OnCreate, causing app crash.
Added 'smart' admob banner sizes.
Added a Ouya target! Mainly just for fun, but joystick/IAP is in - see iaptest banana for more...
Fixed ios<5 autorotation - tested on: ios4.3.5 iPod; ios5.1.1 iPad1; ios6.1.3 iPod.
Clean up lang.cpp so #WIN8_PRINT_ENABLED doesn't confuse other targets.
Implemented Devolonters fix so data file filters can be used (successfully) with += eg: #TEXT_FILES+="*.xml"
Tweaked html5/flash/windowed-xna targets so they get at least one 'OnRender' after being suspended, allowing you to set a flag in OnSuspend and render a 'paused' image in OnRender. See bouncyaliens...
Fixed cs/java downcast bug when downcast appears in a 'while'. Should be faster too (on cs anyway).
***** v73b *****
Fixed win8 image loader throwing exception if image not found.
transcc added support for mxmlc debug builds to flasher builder.
Fixed some flash audio issues - added flash support for ChannelState and MusicState.
Fixed win8 async image/sound loaders.
Fixed some compile errors in thread.cs and databuffer.cs
***** V73a *****
Added iaptest to bananas/mak.
Changed default MOJO_AUTO_SUSPEND_ENABLED to true for relevant targets.
Added brl.json module.
Added methods ReadString and WriteString to Stream.
Added methods ReadAll and WriteAll to Stream.
Added brl.monkeystore module.
Added CC_OPTS app config setting for stdcpp target only.
Added XnaGame and XnaDisplayMode classes to xna target:
Class XnaGame
Function GetXnaGame:XnaGame()
Method GetXnaDesktopMode:XnaDisplayMode()
Method GetXnaDisplayModes:XnaDisplayMode[]()
Method SetXnaDisplayMode:Void( width:Int,height:Int,format:Int,fullscreen:Bool )
End
Class XnaDisplayMode
Field Width:Int
Field Height:Int
Field Format:Int 'currently unused, always '1'.
End
eg: XnaGame.GetXnaGame().SetXnaDisplayMode( 1024,768,1,True ) 'always use '1' for format for now...
No 'window-less startup' support in XNA.
See bouncyaliens for a demo.
***** V72b *****
Fixed c++ String::ToCString<> mem leak.
Implemented custom https friendly HttpRequest for android, ios, win8, html5, flash.
Fixed trans munging of symbols to ignore case so Java doesn't generate clashing class file on case insensitive file systems.
***** V72a *****
Added GlfwGame and GlfwVideoMode classes to glfw target:
Class GlfwGame
Function GetGlfwGame:GlfwGame()
Method GetGlfwDesktopMode:GlfwVideoMode()
Method GetGlfwVideoModes:GlfwVideoMode[]()
Method SetGlfwWindow:Void( width:Int,height:Int,red:Int,green:Int,blue:Int,alpha:Int,depth:Int,stencil:Int,fullscreen:Bool )
End
Class GlfwVideoMode
Field Width:Int
Field Height:Int
Field RedBits:Int
Field GreenBits:Int
Field BlueBits:Int
End
eg: GlfwGame.GetGlfwGame().SetGlfwWindow( 1024,768,8,8,8,0,0,0,True )
Glfw mojo images now surive GL context changes.
Set app config settings GLFW_WINDOW_WIDTH and GLFW_WINDOW_HEIGHT to 0 to disable initial graphics window - but make sure to create one using SetGlfwWindow above before OnCreate finishes!
***** V71c *****
Fixed Win8 mouse event handling.
Fixed Win8 device orientation issues.
Added PeekShorts, PokeShorts, PeekInts, PokeInts, PeekFloats, PokeFloats to DataBuffer.
***** V71b *****
Added ReceiveAll and ReceiveAllAsync to Socket for receiving known length messages. ReceiveFrom, Send and SendTo are already implictly 'all'...
Version 1 of WinRT UDP sockets implemented - nasty stuff, may not be 100% right!
Fixed flash Print security exception.
Fixed trans "Unsafe call!!!!!" bug.
***** V71a *****
Update admob SDKs to android=6.4.1, ios=6.4.2.
Removed modules: brl.asyncdataloader, brl.asyncstream, brl.asynctcpstream, brl.asynctcpconnector.
Added DataBuffer.LoadAsync.
Changed brl.httprequest to use a brl.socket under the hood.
Changed brl.tcpstream to use a brl.socket under the hood.
Added brl.socket for all your tcp/udp needs.
Fixed filestream on stdcpp target.
Fixed win8 tcpstream.
Added CPP_GC_MODE app config setting, one of:
#CPP_GC_MODE=0 'Disable GC
#CPP_GC_MODE=1 'Incremental collect every OnWhatever (default)
#CPP_GC_MODE=2 'Incremental collect every GC allocation (adds some runtime overhead).
CPP_GC_TRIGGER now controls how much memory is allocated before a GC 'sweep' occurs. Increase this for faster GC at the cost of more 'wasted' memory. Defaults to 8M.
Added CPP_GC_MAX_LOCALS app config settings. This is used with GC_MODE 2 to track local object vars and defaults to 8192. Trans uses 445 locals to build itself, so this should be plenty for most apps but if you're doing something very recursive you might want to bump this.
Tweaked makedocs. Can now handle 'relative' imports in .monkey files and added #Rem monkeydoc on/off.
***** V70g *****
Fixed iOS DisableKeyboard not working bug.
***** V70f *****
HttpRequest: Merged devolonter's html5 version addition.
Ted: Console utf8 friendlier.
C++ lang: Print outputs utf8.
Url: Fixed default scheme/port issue.
ios target: Fixed admob not building problem.
MServer: Fixed content type for wav files confusing Firefox.
Android: Fixed ANDRIOD_VERSON_NAME in target config.txt.
Trans: Added debug index checking for String[blah] exprs to cpp/js/as.
Mojo: Added experimental DrawPoly overload with textured image (vertex format is x,y,u,v) - undocced and only available on glfw, ios, android, win8.
Trans: Improved detection of virtual/final etc methods for C++, C# and Java translators.
Trans: Fixed float Mod op bugs.
FileStream: Fixed c++ "u" mode, added "a" for append.
IosGame: Fixed weird virtual keyboard bug.
Ted/Makedocs: Added Alias keyword.
Mojo: Fixed flash LoadState bug.
Mojo: Added Siread's magic ios code for mixing game audio with user music.
Trans: Fixed String(0)<>"0" bug.
Mojo: Fixed win8 DrawLine bug.
Makedocs: Fixed issue with camelCase module names.
Makedocs: Now searches all modules in MODPATH in bin/config.blah.txt files.
Ted: Tweaked win32 proc killer to detect cycles in procs.
***** V70e *****
Refixed iOS device size issues.
***** V70d *****
Added more keyword docs.
Added win8 multitouch support.
Fixed android manifest VERSION problems.
***** V70c *****
Updated glfw linux makefile.
Fixed bool const evalutor bug in trans.
Fixed Invalid DeviceWidth/DeviceHeight in OnCreate on iOS.
Added ANDROID_VERSION_CODE and ANDROID_VERSION_NAME app config settings.
Fixed winrt threads and winphone8 sockets.
Added Rebuild Help to Ted - can't get QWebPage reload working though, so you'll have to manually right-click/reload the page.
Added Makedocs to rebuildall.bmx/bin.
Added Close Others to Ted.
Added Stack.Sort.
Added brl.filesystem module.
Added Check/Update to Ted's build menu.
Added OnClose and OnBack to mojo App class - on window phone 8, these are the ONLY places you can call EndApp. By default, OnBack calls OnClose and OnClose calls EndApp, so by default back/close will both end an app.
Added EndApp to Mojo. Use this instead of Error "" if you're using Mojo. Error "" still works.
Added monkeydoc as a textfile type to Ted so you get wordwrap.
Html5 Mojo now handles Audio-less DOMs.
Ted rebuilt with Qt4.8.4 on Windows/Mac - tried on Linux: too hard...
Ted console no longer htmlizes app output.
Fixed JoyHit not reseting.
Added temp SaveState_V66b().
Merged mwtb's html5 SetScissor fix.
Merged Devolonter's bananas tweaks.
Added WIN8_PRINT_ENABLED app config var - defaults to 'false', due to apps with print failing 'app store' guidelines.
Added EnabledKeyboard/DisableKeyboard support to windows phone 8 - not yet windows (store?) 8. Note: 'back' on windows phone 8 ALWAYS clears virtual keyboard, whether or not you call DisableKeyboard in response to GetChar()=27. See EnableKeyboard/DisableKeyboard docs for how to handle this.
Fixed Select in generic code causing internal error.
Fixed Android LoadBitmap so it returns Null instead of throwing exception.
Added file path to 'invalid utf8' warning in os.LoadString; rebuilt trans.
Added "screenSize" to android target manifest android:configChanges setting so apps with targetSdkVersion>=12 don't reset when orientation changes.
Merged Ziggy's mserver tweaks.
***** V70b *****
Added temp LoadState_V66b() to Android target for kludging around LoadState issues. If you have recently updated a <v67 app to >=v67, and users have mysteriously 'lost' their save games, you can use this to recover their old save games. However, you might want to let user decide whether to use 'old' or 'new' save game.
Android LoadState now checks for <v67 state data if >=v67 state data not found - my bad, I renamed the state 'key' in v67.
***** V70 *****
Souped up win8 VB performance; fixed several win8 bugs.
Moved all input related constants to mojo.keycodes module.
Put all native code imports inside #If target/lang conditional blocks.
Added some BLAH_IMPLEMENTED checking to extern class decls in brl.
Added InsertBefore, InsertAfter, InsertBeforeEach and InsertAfterEach methods to List.
Semi major Android target change: moved Activity suspend/resume handling code from onSuspend/onResume to onWindowFocusChanged( boolean ).
***** V69 *****
Added WIN8_SCREEN_ORIENTATION app config setting; use a bitwise OR of: 1=Portrait, 2=Landscape, 4=Portrait flipped, 8=Landscape flipped.
Added win8/winphone8 ReadPixels, Image.WritePixels to mojo graphics.
Tweaked httprequest, removed httpgetter.
***** V68c *****
Added httprequest module - please migrate to this as httpgetter will be removed in V69.
Fixed mac glfw gles20 apps failing to build due to GL_GLEXT_LEGACY define in glfw.h
Fixed xna winphone7/xbox360 builds failing due to FormClosing method.
***** V68b *****
Fixed DataBuffer.PeekString in ascii mode return negative char values.
Fixed glfw shift/ctrl keys not working.
Fixed mojo openal audio panning.
Added ApplicationServices.h include to glfw target main.h for CFUrl.
Fixed html5 'susended' misspelling!
***** V68 *****
Added Mac (iOS and glfw) versions of OpenUrl.
Fixed some reflection bugs causing build errors.
Added PeekString/PokeString to DataBuffer.
Added brl.httpgetter module for ios/android/glfw.
***** V67f *****
Added linux support for JDK_PATH in config.linux.txt.
Fixed broken transcc -modpath arg.
Fixed hex/bin syntax highlighting in Ted.
Added KEY_MENU (android) - check with KeyHit.
Added ANDROID_GAMEPAD_ENABLED for experimental gamepad support.
Added KEY_BACK (android back button) and KEY_CLOSE (glfw/desktop xna window close button). Check for these with KeyHit. Note: XNA KEY_CLOSE pretty dodgy. Clicking close but not actually closing the window seems to put XNA into a weird zombie state, where window has focus etc, but Game.IsActive returns false. Therefore, I'm currently ignoring Game.IsActive for desktop XNA. xbox/wp7 XNA should be a unaffected by this!
Changed #ifdef to #if for TARGET_OS_IPHONE checks in lang.cpp.
Fixed ios apps not installing properly on latest simulator (and attempted to future proof the process a bit).
Removed show-stopping stray back-tick from xnagame.cs.
Cleaned up android back button processing a bit - back button key events no longer eaten by GameView and KEY_ESCAPE/KEY_BACK now dispatched by Activity.onBackPressed() instead.
MODPATH setting added to bin/config.blah.txt config file.
***** V67e *****
Trans now displays version.
Fixed audio sample mem management issues on Win8/WinPhone8.
Implemented OpenUrl on Win8/WinPhone8.
Fixed Flash mojo.graphics transform bug.
Fixed XNA KeyChar bug where both key ups/downs were causing a KeyChar.
***** V67d *****
Fixed html5 canvas mouse coords bug.
Added GetScissor(scissor#[]) and GetColor(color#[]).
Stack removals now 'null out' removed items.
Millisecs back to v66 behaviour - ie: starts at 0 when app starts.
Added millisecs to GetDate.
***** v67c *****
Add brl.admob and brl.gamecenter.
Fixed leading 0 on int consts causing octal output bug.
Added #ANDROID_MAINFEST_APPLICATION to allow you to add stuff to the <application> block of manifest, eg: <activity...> for admob.
Added #LIBS to android/ios target - only .jar supported on android (all copied to project 'libs' dir during build) and .h, .a, .framework on ios (all copied to project 'libs' dir, which is by coincidence in project include/lib path) - features unholy hacking of a .pbxproj file.
Fixed preprocessor #If/#Else/#End bug(s).
Fixed issue with blah.const style code where blah was being evaluated even if it had no side effects (eg: if var were a var).
Main() not found now errs out on line 1 of main source file.
Mojo now creates devices just before OnCreate called (instead of in App ctor) so DeviceWidth/DeviceHeight etc can init themselves properly.
Fixed Stream.Skip offset/count param order.
CreateImage on flash now creates transparent image.
Android accelerometer now allows for device orientation.
***** V67b *****
Added SetScissor to win8 targets.
Ted changes: centered find scrolling; http:// links in docs now open in external browser.
Added some rectangle/array error checking to DrawImageRect, ReadPixels, Image.WritePixels.
'monkeytarget' module now always imported - targets should always include a monkeytarget module, even if it's a NOP. No top-level monkeytarget modules outside of targets please!
Print now a NOP in win8/winphone8 so apps validate - will fix.
Fixed the winphone8 target project ARM settings.
Refactored the new target stuff.
Fixed the reflection bug in transcc.
***** V67a *****
BIG CHANGES!
Mojo app and input modules are now pure Monkey.
brl.game declares native BBGame class for targets to implement.
Extern static class member functions must no longer be 'pre-munged'.
Added HideMouse/ShowMouse/OpenUrl to mojo.app which will no doubt clash with 3rd party efforts.
Renamed trans to transcc.
Majorly overhauled target system! Target dirs now contain:
TARGET.MONKEY - target control file
template/ - template project to be copied to app.build folder when target built.
modules/ - modules specific to target.
TARGET.MONKEY should contain 3 decls:
TARGET_NAME="Glfw Game" 'name of target to appear in IDE combo box and to be used with Transcc.
TARGET_SYSTEM="glfw" 'target system - this ends up in app config TARGET var.
TARGET_BUILDER="glfw" 'builder to use for target, same as system for now.
You can now 'copy' a target simply by copying a target dir and changing TARGET_NAME. Target builders are hardcoded into transcc.
Added new 'game' module to brl that declares a low level BBGame class. This is roughly equivalent to the App/Input bits of old Mojo and is implemented by new targets - see bananas/mak/bbgametest.
Majorly overhauled Mojo! Mojo native code now contains graphics/audio code only. App/input stuff is now pure Monkey and based on brl.game BBGame class.
Added ResetInput to mojo.input.
Added win8 and winphone8 targets and win8 system/builder.
Added win8 mojo module.
opengl.databuffer removed - opengl module now uses brl.databuffer instead.
glfw updated to 2.7.7
Flash target now sends Print output to an html textarea via ExternalInterface.
Trancc android builder now captures log output when app is run so you should be able to see android Print statements now. Note that this can leave the .build dir 'locked' by the android system on windows, so you may have to kill the 'ADB' process if you want to delete the .build dir - but I think it's worth it.
A few tweaks to Ted: Autocaps now disabled inside block rems; kill proc should be faster/ruder; tweaks to proc output so stdout>stderr.
***** V66 *****
Modules
brl - added filestream module.
psm/xna - tweaked update rate logic, should be a bit 'cleaner' now esp. on PSM. Added XNA_VSYNC_ENABLED config var (defaults to false) to XNA. Use this + 60FPS update rate to get 60FPS on WP7.
xna/psm mojo - changed SaveState/LoadState filename to '.mojostate'.
Targets:
Added monkey://internal/ support to glfw, stdcpp, android, ios, xna and psm targets.
Fixed ios view controller orientation issue with ios6.0.
Trans (V1.42):
Improved support for spaces in preprocessor stmts.
ios target now creates a Documents dir on simulator for use by //internal/.
***** V65 *****
Modules:
mojo - Added async loaders.
mojo - fixed dependancies on bool config settings - changed lots of =="true" to =="1".
reflection - no longer sets reflection filter to '*', so by default nothing will be reflected even if you import reflection.
brl.databuffer - android version no longer supports 'direct' ByteBuffers.
Added brl modules: brl.asyncevent, brl.asyncstream, brl.asynctcpstream, brl.asynctcpconnector, brl.ringbuffer.
Targets:
Updated GLFW to 2.7.6 for Mac joypad support - added IOKit framework to glfw xcode project.
Converted all CONFIG.TXT files to monkey preprocessor source.
Trans (V1.41):
Target CONFIG.TXT files are now monkey files that are preprocessed only. This means you will need to prefix each CONFIG.TXT line with '#' and enquote params. This is a definite 'delete/update' .build dir change.
Added preprocessor config var += operator, mainly for use with adding reflection filters.
Preprocessor config vars can now be modified, UNTIL they are used - ie: once a config var is evaluated for use with #If, #Print, #Error #blah= etc, it cannot be modified.
Added String.ToChars:Int[]() method.
Ted (1.7):
Added find in files to folder context menu.
***** V64 *****
Modules:
Moved BoxInt, ArrayBoxer etc from reflection to monkey.boxes. Forgot to update docs.
Added brl modules: brl.databuffer, brl.stream, brl.datastream, brl.tcpstream. Haven't retired opengl.databuffer yet.
Targets:
Added mingw support to glfw via CONFIG.TXT setting #GLFW_USE_MINGW="true". Note: Recommended mingw gcc/g++ version is 4.6.1. I tried 4.7.1 but had the occasional random app crash.
Added BINARY_FILES filter to CONFIG.TXT files.
Android - added INTERNET permissions to AndroidManifest.xml template.
Windows glfw - added WinSock lib to msvc project.
Trans (V1.40)
Added mingw support to glfw.
Added BINARY_FILES handling.
***** V63 *****
Modules:
mojo.graphics - Added CreateImage, ReadPixels, Image.WritePixels.
android mojo.graphics - Fixed ancient 'textures don't render first time' bug!
Targets:
pss target - removed.
Trans (V1.39)
Removed pss target.
***** V62 *****
Modules:
android mojo - MOJO_HICOLOR_TEXTURES config setting now actually does something! Set to "true" for 32 bit textures, "false" for 16 bit. Yep, I know it's badly named, HICOLOR used to mean '16bit'. Only applies to Android.
c++ monkey.lang - LoadString now assumes UTF-8 by default (ie: if there's no BOM) and SaveString now saves (BOM-less) UTF-8 too. NOTE: This is pretty much the standard, and most targets assume UTF-8 like this. Ted also now behaves this way - ie: source files are assumed to be UTF-8 unless there's a BOM. You may have issues with files saved from Monk, which does not UTF-encode files (or write a BOM marker) unless the file contains at least one char >255. This means files saved from Monk with 'accented' euro-chars (which are <256) may not be UTF-encoded, and you'll have problems loading such files into Ted or using LoadString. I may eventually add a 'file encoding' option to Ted to deal with this but in the meantime you'll have to copy 'n' paste around it. One trick would be to paste a single 'Asian' char into a source file in Monk before saving which will trigger UTF-encoding.
flash mojo - kludged around paused/resumed audio not looping from start issue. Not pretty, and seems to have increased loop lag a tad but wotkanyado.
c++ monkey.lang - fixed bug when resizing arrays of arrays.
Targets:
glfw - added *.ogg to SOUND_FILES and MUSIC_FILES in target CONFIG.TXT.
android - LoadString now assumes UTF-8 by default (ie: if there's no BOM).
Trans (V1.38)
Rebuilt for UTF-8 tweaks.
Ted (V1.6)
Added help index.
***** V61b ******
Modules:
pss/psm mojo - added discard to surface.
flash mojo - fixed stream of mousehits bug when app lost/regained focus.
glfw mojo - added KEY_TILDE and KEY_QUOTES support.
lang.cpp - tweaked GC, added CPP_GC_MARK_RATE and CPP_GC_TRIGGER config vars.
Targets:
Upgared Mac ios and glfw target projects to xcode4.4.
Added psm target - will replace pss target in next release so upgrade NOW! Check your PSM_PATH in bin/config.winnt.txt is set correctly before use.
glfw - Updated GLFW lib to 2.7.5
Trans (V1.37):
Fixed debug array index check bugs on js/as.
Fixed bug with reflection filter and mixed cased module names.
Fixed comment at end of preprocessor line parsing bug.
***** V60 ******
Modules:
lang.cpp - improved debug performance.
monkey.lang - added support for exceptions. Exception objects must extend 'Throwable'; No 'Finally'; See lang ref for more.
Targets:
Added support for exceptions.
Trans (V1.36):
Improved debug performance.
Added support for exceptions.
***** V59 ******
Modules:
c++ lang - added debug handling.
glfw mojo - LoadSound now uses glfw target loadSound.
opengl - Fixed various issues.
lang.cpp/os.cpp - Fixed several issues with empty std::vectors.
Targets:
glfw - added stb_vorbis loader (doesn't stream yet) and loadSound/unloadSound functions
Trans (v1.35):
Added debug info to c++ translator.
***** V58 *****
Modules:
mojo - Added (highly) experimental pss support!
opengl - Fixed leak in c++ LoadImageData.
reflection - Fixed bug where class member const/function names were fully qualified.
java lang - String.Join now uses StringBuilder instead of StringBuffer.
Targets:
Pss - Added! Added config var PSS_PATH="${PROGRAMFILES}\SCE\Pss" to bin\config.winnt.txt
Android - MonkeyData.loadString now uses StringBuilder instead of StringBuffer.
Trans (v1.34):
Fixed scoping bug where code could access globals via class members.
Fixed some error line bugs.
***** V57 *****
Modules:
xna mojo - scissor rect now clipped to device rect.
mojo graphics - implemented muddy_shoes' GrabImage bugfix.
android mojo - fixed paused music restarting at OnResume.
ios mojo - added kludge to detect 'dead' touch events.
Trans (v1.33)
Fixed Alias with primtive Int, Float, String types, eg: Alias MyInt=Int,MyString=String etc.
***** V56b *****
Added app config var MOJO_AUTO_SUSPEND_ENABLED (defaults to false) to auto suspend app if it loses input focus. Apps always auto-suspend if minimized. Doesn't apply to ios/android.
Trans (v1.32)
Fixed iOS target so it's xcode 4.3.1 aware - NOTE: you will also have to run this from the command line after installing xcode 4.3.1:
sudo /usr/bin/xcode-select -switch /Applications/Xcode.app
***** V55 *****
Modules:
reflection - added recursive? flag to ClassInfo methods GetConst(s), GetGlobal(s), GetField(s), GetMethod(s) and GetFunction(s).
android mojo - setEGLContextClientVersion now uses reflection for backward compatibility with the elderly Android set.
cpp monkey.lang - optimized empty arrays.
cpp monkey.lang - fixed incremental GC bug with empty arrays.
Trans (v1.31):
Removed yucky gc_iptr interface pointer container.
Fixed bug with reflection and multi-dimensional arrays.
***** V54c *****
Monk
Added Set, FloatSet, IntSet, StringSet to keywords.
Modules:
mojo xna - WP7 touch emulates mouse.
mojo xna - added WP7 support for fullscreen via XNA_WINDOW_FULLSCREEN_PHONE app config setting, defaults to true.
reflection module added!