Experimental v75a now up! [MONKEY NEWS]

Monkey Forums/Monkey Programming/Experimental v75a now up! [MONKEY NEWS]

marksibly(Posted 2013) [#1]
Hi,

Experimental v75a is now up!

The big change in this version is the addition of xaml to the winrt targets (and the renaming of the win8 target to winrt).

I haven't actually done anything with this new feature yet, but the idea is to use it for stuff like pubCenter ads, IAP etc. I've also had a few requests from Monkey devs for xaml-ized winrt targets.

It does however look suspiciously like pubCenter is dead/dying. The official developer's forum is strangely inactive...

http://community.bingads.microsoft.com/ads/en/publisher/f/63.aspx

...and threads like this would suggest all is not well in general...

http://community.bingads.microsoft.com/ads/en/publisher/f/63/t/76747.aspx

Anyway, I'll get back to winrt ads/iap eventually, but right now I think I need a bit of a break from winrt! Am finding it fairly, erm, 'challenging' to deal with...


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().




Snader(Posted 2013) [#2]
Nice work Mark.

I was hoping for 4 controller support on the OUYA target, but I also just installed Win8, so I will soon have a go to get my apps on Windows 8 and Windows Phone! Thank you for you hard work!


marksibly(Posted 2013) [#3]
> I was hoping for 4 controller support on the OUYA target,

I *think* that might be (mostly) in!

Try the new joytest banana...


Snader(Posted 2013) [#4]
I *think* that means even more thanks for your hard work!

Works almost. All gamepads on the OUYA output to port 0 at the moment.


computercoder(Posted 2013) [#5]
Definitely appreciate the release and update Mark! GREAT work getting this done. Likewise with what snader said, the OUYA 4 controller support is what I was *really* hoping for :) It would be awesome if we could distinguish the controller ports (0-3) so we can make multiplayer games using all 4 controllers at the same time on a single OUYA.


Neuro(Posted 2013) [#6]
Hoping for the Ouya 4 controllers too but eh, still awesome on the other stuff :)!


AdamRedwoods(Posted 2013) [#7]
as a reminder, the community Ouya target is here, which supports 4 controllers:
https://github.com/JochenHeizmann/monkey-ouya


computercoder(Posted 2013) [#8]
Thanks Adam, but unless I am missing something, I can't seem to get the individual controllers to work with it either. It does the same as the official version. I did, however branch out and make my own target based off Mark's and another based upon the community version. I was able to support 4 controllers separately working from each other within the CE version, but I totally threw away using the assignment of keys in the manner it uses. I wanted to use JoyHit and JoyDown where appropriate, and then the buttons. We can discuss it in the OUYA target instead of here though.

EDIT: After looking at the source to the joytest code, I believe Mark did support 4 controllers EXACTLY as I was looking for. Now, once I get home this evening, I will test it out on the OUYA with all 4 controllers :)


SLotman(Posted 2013) [#9]
Mark,

As your question went unanswered on MS forum, I have this link I found a while ago about ads on direct-x apps. Maybe this will help you?


dragon(Posted 2013) [#10]
I like to have extra key codes:

KEY_JOY1_LEFT / RIGHT / UP / DOWN ...
KEY_JOY2_LEFT / RIGHT / UP / DOWN ...
KEY_JOY3_LEFT / RIGHT / UP / DOWN ...


today, we have only 1 joystick key codes (port 0)


computercoder(Posted 2013) [#11]
After testing this on the OUYA, it still only returns port 0 on the android target. Although, it is encouraging that the JoyHit, JoyDown, JoyX, JoyY, and JoyZ support 4 devices. Gonna go back into the target and do some work there to get that support now for the OUYA :)


marksibly(Posted 2013) [#12]
> After testing this on the OUYA, it still only returns port 0 on the android target

Oops - that's because I forget to add the android_ouya target to the release!

Will add it to 75b soon, in the meantime you could try the android_ouya target here:

https://github.com/blitz-research/monkey/tree/develop/targets


Snader(Posted 2013) [#13]
Yeah, that works fine Mark! Thank you!


computercoder(Posted 2013) [#14]
Awesome! Thanks Mark :) I was thinking perhaps you did some cool trick to merge both OUYA and Android into a single target :P


Skn3(Posted 2013) [#15]
Hurrah excellent! Thanks for taking the stress inducing plunge of takling those SDK's!

Hopefully I will get some time soon to do some stuff with these targets :D


golomp(Posted 2013) [#16]
Thank you Mark...


EdzUp(Posted 2013) [#17]
Excellent will update for me star rogue game :)


SLotman(Posted 2013) [#18]
Can't compile to Win8 phone here...


I have deleted the old build folder, opened the template on VS2012 and save it... no changes.

Strangely sample apps do compile, so I'm lost here :(

Accordingly to VS, those are the offending code:


Commenting out all those "prints" and the game compiles and run fine.
Edit: Commenting out those prints also on httprequest.winrt.cpp enables my game to compile within monkey without errors.


SLotman(Posted 2013) [#19]
Another bug: changing the device Orientation on mainpage.xaml, I get a nullexception.



I can avoid the exception by testing for null _background, but then app won't rotate to landscape:



Temporary solution for this: move the _background init code to a custom function, and call it not only on initialization, but also before _background.DeviceRotation. Since the funcion checks if _background==null, it will only execute once, and the app will behave correctly.

Now if I only could make ads to work on this...