Monkey V68 now up! [MONKEY NEWS]

Monkey Forums/Monkey Programming/Monkey V68 now up! [MONKEY NEWS]

marksibly(Posted 2013) [#1]
Hi,

V68 is now up, while V67f has been promoted from 'experimental' to 'usable'.

Just a few fixes/additions for V68:


Fixed some reflection bugs causing build errors.

Added Mac (iOS and glfw) versions of OpenUrl.

Added PeekString/PokeString to DataBuffer.

Added brl.httpgetter module for ios/android/glfw.



[edit]
V68b is now up - mainly to get glfw on Mac working again, but also including...

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 NSURL.

Fixed html5 'susended' misspelling!


[/edit]


AdamRedwoods(Posted 2013) [#2]
ok, so if v67 is done and the new target system in place, is there a plan to implement custom transcc.exe for targets like wxMonkey, MonkeyMax, or is this something you don't want to address just yet?

your original idea was to check if a transcc.exe/transcc_macos existed in the targets folder, and if so to use that one. this sounded fine to me, but any implementation would do.

maybe there isn't enough interest for something like this, that's ok too, but my thought is that a stronger desktop transcc (GLFW3, res manifests, obj linking) is something the community could take on.


Amon(Posted 2013) [#3]
Thanks, Mark!


Xaron(Posted 2013) [#4]
Great stuff, thanks Mark! Will check that now. :)


MikeHart(Posted 2013) [#5]
Thanks Mark for keep working on Monkey. I appreciate that very much.


ziggy(Posted 2013) [#6]
Good news! I'll be releasing a Jungle Ide update later today with improved integration of latest Monkey version (current version work well with v68 too, but I've improved several bits of it)
Update already released!


ElectricBoogaloo(Posted 2013) [#7]
'cor blimey crikey! Mark's coding things quicker than I am!


Rushino(Posted 2013) [#8]
@mark What exactly are thoses reflection bugs fixes? Is there a reason you didnt include them in v67f?

Thanks btw for this nice release and stable confirmation.


CopperCircle(Posted 2013) [#9]
Great, I needed openUrl for iOS and here it is :)


Shinkiro1(Posted 2013) [#10]
Thanks.


Alienforce(Posted 2013) [#11]
Thanks!!!!


Sammy(Posted 2013) [#12]
Much appreciated! :D


sionco(Posted 2013) [#13]
awesome!


Grey Alien(Posted 2013) [#14]
Great, many thanks!


Skn3(Posted 2013) [#15]
Thanking you :))


rebelas(Posted 2013) [#16]
Very happy to see build for Win 8 is possible. The best news of the year for me so far. Thanks a bunch!


dopeyrulz(Posted 2013) [#17]
For the GLFW target the Control and Shift keys are not working - raised a bug here: http://monkeycoder.co.nz/Community/posts.php?topic=4695#50705

Works fine in HTML5.


Paul - Taiphoz(Posted 2013) [#18]
a simple solution and possible stopgap until soemthing better is done, you could add a path hash tag so we could do something like this.

#transpath="c:/trans_moded_for_something.exe"


Rushino(Posted 2013) [#19]
@rebela i wish it could be c# instead of c++.. but well i will deal with it


Jesse(Posted 2013) [#20]
Thanks Mark. Nice update.

I have a question:

Have you at any point considered adding stage3D to the flash platform?

I asked because for the most part flash is software rendering. I would love for flash to include the possibility to have hardware accelerate graphics like Blitzmax.

I am looking at doing it myself but it I would love for it to be part of the official flash target.

some tutorials for it:

http://active.tutsplus.com/tutorials/games/build-a-stage3d-shoot-em-up-full-screen-boss-battles-and-polish-tuts-premium/
http://www.plugin.io/2011/10/stage3d-tutorial-part-1/

2D implementation:

http://active.tutsplus.com/tutorials/games/build-a-stage3d-shoot-em-up-sprite-test/


time-killer-games(Posted 2013) [#21]
Awesome! I've been waiting for this update... Excellent work! :D


DGuy(Posted 2013) [#22]
I'm a little confused.

Is v68 ...

A) The stable, non-experimental version of v67f?

- OR -

B) An update to version v66b?


MikeHart(Posted 2013) [#23]
v68 includes everything from v67f.


tOmzone(Posted 2013) [#24]
Thank you, Mark!


Bigfatjm(Posted 2013) [#25]
Hello,

i have a little prb : in GLFW target ( win 7 / vc2010 ) now application don't close when i press the close button in the windows ( v68 ) :-(


maverick69(Posted 2013) [#26]
hmmm... glfw doesn't compile over here (blobmaster example):

/Applications/Monkey/bananas/charlie/blobmonster/blobmonster.build/glfw/xcode/../main.cpp:2136:2: error: unknown type name 'UInt8'
        UInt8 *cstr=url.ToCString<UInt8>();
        ^
/Applications/Monkey/bananas/charlie/blobmonster/blobmonster.build/glfw/xcode/../main.cpp:2136:28: error: use of undeclared identifier 'UInt8'
        UInt8 *cstr=url.ToCString<UInt8>();

....


TRANS FAILED: Error executing 'xcodebuild -configuration Debug', return code=16640


System: OS X 10.8.2
XCode 4.6


maverick69(Posted 2013) [#27]
The problem seems to be in the GLFW Version of the OpenUrl Code:



This is my simple "openUrl" version for glfw which works fine here:


#include <ctime>

class Http
{
public:
    void static OpenUrl(const String url)
    {
        String cmd("open ");
        cmd += url;
        system(cmd.ToCString<char>());
    }
};



maverick69(Posted 2013) [#28]

i have a little prb : in GLFW target ( win 7 / vc2010 ) now application don't close when i press the close button in the windows ( v68 ) :-(



same problem here on Mac OS X.


marksibly(Posted 2013) [#29]
Hi,

> i have a little prb : in GLFW target ( win 7 / vc2010 ) now application don't close when i press the close button in the windows ( v68 ) :-(

In GLFW, you now get a 'KEY_CLOSE' KeyHit when close button is hit, and must close the window manually, eg:

Method OnUpdate()
If KeyHit( KEY_CLOSE ) Error ""
...etc...

See bouncyaliens OnUpdate source.

> The problem seems to be in the GLFW Version of the OpenUrl Code:

Yes, my bad - glfw target main.h is missing an include in #elif __APPLE__ block...

#include <ApplicationServices/ApplicationServices.h>

v68b will fix this and will be up very soon!


maverick69(Posted 2013) [#30]
Thanks!

Found another small bug:

#Rem
    #if LANG = "cpp" Or LANG = "java" Or LANG = "cs"
#End


I assumed this will work, but it throws a compile error (Syntax error - expecting class member declaration) in the end of my file because the preprocessor parses the #if statement making the rest of my whole file a comment.


maverick69(Posted 2013) [#31]
And here is a problem that occurs with FileStreams. The loaded data is not identical with the saved data:


Import monkey
Import brl.stream
Import brl.filestream

Function Main%()
	Local file$ = "monkey://internal/test.dat"
	
	Local val% = 12034592748
	
    Local str:String
    str = String.FromChar((val) & $FF)
    str+= String.FromChar((val Shr 8) & $FF)
    str+= String.FromChar((val Shr 16) & $FF)
    str+= String.FromChar((val Shr 24) & $FF)
        
	Print str[0] '234
	Print str[1] '79
	Print str[2] '81
	Print str[3] '205
	
	Local db := New DataBuffer(str.Length())
	Local len% = db.PokeString(0, str, "ascii")
	Local fs := New FileStream(file, "w")
	fs.Write(db, 0, len)
	fs.Close
	db.Discard()
	
	Print "Loading..."
	
	db = DataBuffer.Load(file)
	str = db.PeekString(0, "ascii")
	
	Print str[0] '-20 (expected: 236)
	Print str[1] '79
	Print str[2] '81
	Print str[3] '-51 (expected: 205)
	
	db.Discard()

	Return 0
End



marksibly(Posted 2013) [#32]
> And here is a problem that occurs with FileStreams. The loaded data is not identical with the saved data:

Fixed it, but I'm getting slightly different symptoms, ie: returned values are: 65516,79,81,65485 on glfw/win7.

What target are you on?


Bigfatjm(Posted 2013) [#33]
Thanks, Mark ! #29


maverick69(Posted 2013) [#34]
@Mark:
glfw/mac os x (64 bit)


marksibly(Posted 2013) [#35]
Ok, v68b is now up with a few random fixes:


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 NSURL.

Fixed html5 'susended' misspelling!




Rushino(Posted 2013) [#36]
Thanks mark !


maverick69(Posted 2013) [#37]
Function Main%()
    Error "My error message!!! "
End


Seems like XCode isn't printing the error message to the console any more.


therevills(Posted 2013) [#38]
Seems like XCode isn't printing the error message to the console any more.

Try debug mode... I've raised a bug report for HTML5, it doesnt output in release mode but just debug more.


n0th1ng(Posted 2013) [#39]
Diddy works incorrect?


benmc(Posted 2013) [#40]
I just tried to get v68b working and the only working targets for me were HTML5 and Flash.


1) I can't build in MinGW with v68b

Get the error: The imported project "C:\Microsoft.Cpp.Default.props" was not found.

It appears to be trying to build Glfw target with vc2010 and I can't get it to use MinGW anymore, not sure what happened. Updated the config file with my paths and it's still happening.

2) XNA builds fine, but there are now "artifacts" around the sprites I draw. Like lines around the sides of a square image. I don't know what's going on there but it looks pretty bad, I can't release a game with black lines around all the images.

3) Android won't build for me now either, and I get the error: MonkeyGame.activity.startActivity(launchBrowserActivity);


EDIT: Now this is frustrating. Everything was building fine in 66b, I ran 68b once, all my builds failed, now I can't get v66b to work again and I've deleted all my build folders. Any ideas?

EDIT2: After running v68b once, I had to change the project I was working on in v66b and put #GLFW_USE_MINGW=True at the top, which it wasn't before, so I'm guessing that running TED for v68b changed something globally on my system or something. Just wish I could figure out why XNA is showing the lines around images now - which is happening in v66b as well now.


therevills(Posted 2013) [#41]
Diddy works incorrect?

What doesn't work? Really good description there...
Diddy has been updated, the only thing not tested is the iOS native code.

I just tried to get v68b working and the only working targets

Sorry but got to ask... have you deleted your build folders?


Amon(Posted 2013) [#42]
To add to what therevills said, did you set everything up properly in your config files?


benmc(Posted 2013) [#43]
An Update:

Yes, I updated all my winnt config files with the correct paths like I've done with all other versions, and I always completely delete build folders.

1) For MinGW: I did find that I now have to include the #GLFW_USE_MINGW=True whereas it used to default to MinGW

2) For Android, the launchBrowserActivity appears to be a conflict with an existing Module I had running. Fortunately I haven't come across any other incompatibilities, so hopefully I can just switch over to the new open URL commands which this function appears related to.

NEW:

I am now trying to build for Windows phone and I get this error:

Error 19 The type or namespace name 'Forms' does not exist in the namespace 'System.Windows' (are you missing an assembly reference?) \Program.cs 1067 64 Windows Phone Copy of MonkeyGame

If I totally comment out the following function, I can build to my Windows Phone and I don't get errors, but I also don't know what it was for and I have to edit my Program.cs every time I want to deploy.

public virtual void FormClosing( object sender,System.Windows.Forms.FormClosingEventArgs e ){
if( _exit ) return;

KeyEvent( BBGameEvent.KeyDown,0x1b0 );
KeyEvent( BBGameEvent.KeyUp,0x1b0 );

e.Cancel=true;
}


Rex Rhino(Posted 2013) [#44]
When I am trying to deploy the project to the Xbox 360, I am getting the following error:

Error	1	The type or namespace name 'Windows' does not exist in the namespace 'System' (are you missing an assembly reference?)	C:\Users\Public\Documents\Game\game.build\xna\MonkeyGame\MonkeyGame\Program.cs	1056	56	Xbox 360 Copy of MonkeyGame


I went to the line where the error is, and if I remove the following function it all works ok:

public virtual void FormClosing( object sender,System.Windows.Forms.FormClosingEventArgs e ){
		if( _exit ) return;
		
		KeyEvent( BBGameEvent.KeyDown,0x1b0 );
		KeyEvent( BBGameEvent.KeyUp,0x1b0 );
		
		e.Cancel=true;
	}



marksibly(Posted 2013) [#45]
> I am now trying to build for Windows phone and I get this error:

> When I am trying to deploy the project to the Xbox 360, I am getting the following error:

Same problems - fixed for 68c!

You can manually fix this by enclosing the FormClosing function (near bottom of file) in targets/xna/modules/native/xnagame.cs in an #if block, ie:

#if WINDOWS
    public virtual void FormClosing(...){
       ...
    }
#endif



benmc(Posted 2013) [#46]
Thank you!


CopperCircle(Posted 2013) [#47]
Hi Mark, how is the back button handled in Windows Phone 8? it just seems to close the app, is there a way to stop that and check it via JOY_BACK or KEY_ESCAPE?

Thanks.