Feature Requests

Monkey Forums/Monkey Programming/Feature Requests

Uncle(Posted 2011) [#1]
Hi Mark,

Is it possible to add some native commands to Monkey to make it just a little more perfect :)

1) Splash Screen

In GLBasic they have simple method for this. You provide an image file and its simply loaded and displayed before anything else. Of course its static, but its much better than a black screen. I see several other people have experienced the same problem with Monkey...

http://monkeycoder.co.nz/Community/posts.php?topic=1027#8866

http://monkeycoder.co.nz/Community/posts.php?topic=1084#9368

http://monkeycoder.co.nz/Community/posts.php?topic=1080

2) Anti Alias on / off

Seems like a solution for each platform has been found by therevills. It would be great to have this feature without having to hack the final source code.

http://monkeycoder.co.nz/Community/posts.php?topic=993

Cheers,


Unc


Beaker(Posted 2011) [#2]
I'd really like to see a native textbox/keyboard combo for iOS and Android. It would really plug a large gap. Monkey is mostly unusable for me without them.


therevills(Posted 2011) [#3]
For the splash screen Im doing this using Diddy:

1. Display splash screen
2. Load resources
3. Move onto the next screen



@Beaker, Ive got the Keyboard to show... but I cant get the bloody output out :(


dave.h(Posted 2011) [#4]
Is it possible to have some sort of grabimage from the backbuffer.That way we could do some nice screen effects like shrinking the screen and all the sprites that were being displayed on it.Or taking a snapshot of the playing area and doing effects on it like melting the screen.


matty(Posted 2011) [#5]
You already can shrink the screen with the scale command.


Uncle(Posted 2011) [#6]
@therevills I saw Diddy handled splash screens, and its a very nice work around. However I didn't like the idea of having the OnUpdate method loading the resources. It's sort of makes having OnCreate quite pointless other than setting up the screen resolution. I think we should have an out of the box solution for splash screens as pretty much every mobile app will want one.

Definitely agree with the Keyboard. It would be nice to access to the native keyboards in Android and iOS.


dave.h(Posted 2011) [#7]
yes ive seen the scale but what i was thinking was a snapshot of the game playing with the sprites and explosions and everything then mainipulating that image to do whatever you wanted


Shinkiro1(Posted 2011) [#8]
@Uncle
If you want more than one level, you are practically forced to load ressources in OnUpdate (or all your ressources fit in ram).

I think there is nothing wrong with loading in OnUpdate.


anawiki(Posted 2011) [#9]
First of all, iOS has built in splash screen. It will display even before your app is loaded. As Shinkiro1 says, there is nothing wrong with loading things in on update and if you think different you're not pro enough ;)

At the moment the keyboard is the main missing feature for me (except performance on some targets). Each target supports some kind of keyboard... Even xbox 360.


Uncle(Posted 2011) [#10]
You're probably right that Im not pro enough yet :) I also appreciate I would need to load levels etc in the OnUpdate, I just didnt expect to have to load all the sprite sheets, backgrounds, music etc there.

When I tried loading things using in the onUpdate I noticed that there was a slight lag between the loading and the displaying the load image. It was probably about 1/2 a second by it was noticeable. Half of my menu was showing and then finally the logo would popup, even though everything was loaded on the same block of code, and draw in the same block. I didnt experience this when I load everything in OnCreate.


Xaron(Posted 2011) [#11]
+1 for the native keyboard.

@therevills: I guess you don't have to show the keyboard but just add a simple text box which will let pop up the keyboard. Showing the keyboard itself only doesn't make sense.


anawiki(Posted 2011) [#12]
@Uncle, post in new thread asking on how you should do it more pro then :)


Aman(Posted 2011) [#13]
The most important thing to me is for accelerometer to work in HTML5 and Flash

This 4 months old post suggest a way to implement accelerometer to HTML5
http://www.monkeycoder.co.nz/Community/posts.php?topic=82#10703

and I found this Action Script code that uses accelerometer:


Sadly, I don't have enough experience to implement it myself.


AdamRedwoods(Posted 2011) [#14]
better debugging info from all targets to the IDE.


slenkar(Posted 2011) [#15]
+1 for optional anti-aliasing


clevijoki(Posted 2011) [#16]
So one thing I did is modify trans to do some code generation based on resources. In my resource manager I create a list of images to load, and I also store the width/height/filesize of the image at the same time. Then I can do stuff like layout windows without the image loaded because I know the dimensions of elements. I eventually want to run some automatic magic on my images to pack them into texture sheets so it will also store rect offsets in larger textures and remap the paths.

This is not something I wanted to manage manually, so I modified trans where when it finds IMAGE_INFO("path.png") as a function argument it will 'replace' that in the tree form to be "path.png", 128, 128, 2034 which I can then do whatever I want with.

Obviously now I have to maintain this feature, and it's too specific to my system to really be beneficial to anybody else (unless they really want this same image info).

What I think would be nice is some way to automate 'plugins' for trans like this, where we could have a 'plugins' folder in our project folder and in monkey, which would be .exe files that corresponded to custom keywords for monkey. If it found these keywords it would run that .exe with the parameters, and use the stdout from that program as code replacement. Then it would modify the token stream and continue to parse that.

So I would create a IMAGE_INFO.exe in the plugins directory, and it would be run with "path.png" as a parameter, and it would just output whatever I wanted. I would need some environment variables setup so I could figure out where path.png was.


Qcat(Posted 2011) [#17]
+1 for the native keyboard.


slenkar(Posted 2011) [#18]
clevijoki
I needed image dimensions for something i was doing ,
so I used blitzmax to write the image dimensions to a text file-(executed from trans)
, then trans could read the text file


AdamRedwoods(Posted 2011) [#19]
@clevijoki
Mods to TRANS without having to recompile = +1
(options for mingw)
(options for where to find config.txts, manifest.xmls in case you need to delete the build folder)