V39b up! [MONKEY NEWS]

Monkey Forums/Monkey Programming/V39b up! [MONKEY NEWS]

marksibly(Posted 2011) [#1]
Hi,

New version V39b is now up!

If you are using V39, please switch to this versions ASAP as it fixes a major bug with C#, Java code generation.

Also, the mini server for html5/flash apps should now work with IE9, and have better performance in general.


Suco-X(Posted 2011) [#2]
Hi,

mini server got a better perfomance, good work. A small suggestion:
The user has to close the server manually after executing his HTML5 code. If he doesnīt, he canīt see any code changes after starting again. Wouldnīt it better to kill and restart the server automatically?

May you could explain how to use #Error, havenīt seen any docs about it.
Thanks.

Mfg Suco


dopeyrulz(Posted 2011) [#3]
Mark,

Can confirm the fix for XNA is fine and everything working now. Both IE9 and Chrome with mserver work fine here too.

Also it could be me but this version seems to be just a little bit faster with the gfx. Both HTML5 (in chrome) and XNA both seem to scroll smoother.


jalski(Posted 2011) [#4]
Hello,

It seems that Strict mode doesn't need Return statements at the end of a function. Is this now desired behaviour?


Xaron(Posted 2011) [#5]
It didn't need Return statements before that either - at least not for :Void functions.


therevills(Posted 2011) [#6]
Pirate Solitaire (PS) now compile fine on Android :)

But as I feared I now have lost 10FPS, due to the buffer changes... v38 PS runs around 40FPS and on V39b 30FPS (11FPS when touching the screen) :(


therevills(Posted 2011) [#7]
This fails to compile in V39b in Flash, XNA and GLFW, works for HTML5 and Android (havent tested iOS):



Flash Error:
Error: Method marked override must override another method.

	public override function bbm_Add2(bbt_o:Object):Boolean{


GLFW:
error C2259: 'bb_gen_ArrayList' : cannot instantiate abstract class [C:\BlitzMonkey\gen\gen.build\glfw\vc2010\MonkeyGame.vcxproj]


XNA:

error CS0115: 'bb__ArrayList.bbm_Add2(object)': no suitable method found to override [C:\BlitzMonkey\gen\gen.build\xna\MonkeyGame\MonkeyGame\Xbox 360 Copy of MonkeyGame.csproj]



It does work under V38 on all targets...

I notice that the generated code now has the underscores back too...


matt(Posted 2011) [#8]
Also, on my Mac at least, it's not possible to quit mserver by pressing Command+Q or choosing Quit from the dock icon menu.

As far as I can see you can only quit it by pressing the red "close" widget on the window...


ziggy(Posted 2011) [#9]
Shoudn't this be causing compilation errors?
Interface MyInterface
	Method Draw:String()
	Method DoThis:int()
end

Class MyClass Extends List<String> Implements MyInterface 

End

Function Main()
	Local A:=New MyClass	
End

We're instantiating a class that implements an interface, but does not implements the interface methods. Is this legal?


ziggy(Posted 2011) [#10]
This other code gives a very weird error message:
Interface MyInterface
	Method MyMethod:int()
end

Class MyClass Implements MyInterface
	
End


Function Main()
	Local a:=New MyClass
	DummyFunction(a)
End

Function DummyFunction:int(This:MyInterface)
	This.MyMethod()
End

It sais Int() must be implemented ??


Xaron(Posted 2011) [#11]
I guess you must write Int instead of int. Case sensitiveness you know?! ;)


ziggy(Posted 2011) [#12]

I guess you must write Int instead of int. Case sensitiveness you know?! ;)


No, that's not the issue. int and Int are the same in Monkey.

This produces the same issue:
Interface MyInterface
	Method MyMethod:Int()
end

Class MyClass Implements MyInterface
	
End


Function Main()
	Local a:=New MyClass
	DummyFunction(a)
End

Function DummyFunction:Int(This:MyInterface)
	This.MyMethod()
End



ziggy(Posted 2011) [#13]
Also, just in case, if you try to create an instance of an Interface, the error message sais: Can't create and instance of an abstract class, while it is not an abstract class, it is an interface. It looks very weird.


Richard Betson(Posted 2011) [#14]
Andriod is failing to compile here. Seems all demos have this compiler out put.

Mirror FX Demo



This line;
[apply] =C:\Users\Ricky was unexpected at this time.


is miss reporting the user directory. it should be C:\Users\Ricky Bobby.

Off to test,


Hima(Posted 2011) [#15]
@Richard Betson
If I'm not mistaken, there shouldn't be a space in your path. Try renaming it to RickyBobby or Ricky_Bobby.


therevills(Posted 2011) [#16]
@Richard - the issue is that you have got a space in the path "Ricky Bobby", move your project to another path with no spaces. (eg C:\MonkeyPro39b\)


Richard Betson(Posted 2011) [#17]
Well I'll fiddle with adding the underscore, but windows assigned that folder and it worked fine pre v.39


therevills(Posted 2011) [#18]
You sure? Ive had this since Monkey been released... Where are the rest of your Monkey installation folders?


dave.h(Posted 2011) [#19]
wow ive had a big hit in fps using setcolor in v39 still i suppose its taught me to program better, my game became almost unplayable on my experia x10.best to use it sparingly methinks.


Richard Betson(Posted 2011) [#20]
OK, moved it root/monkey. Fine now. Just "spaced it" I guess. Everything else was compiling fine from c:\users\Ricky Bobby, just Android had a problem.

L8r,


Richard Betson(Posted 2011) [#21]
Ignore:) all good


marksibly(Posted 2011) [#22]
Hi,

> It sais Int() must be implemented ??

I get this in Monk:


Method MyInterface.MyMethod:Int() must be implemented by class MyClass



Perhaps Jungle's error parsing is doing something with the ':'?

> Also, just in case, if you try to create an instance of an Interface, the error message sais

Will fix.