Monkey
Store
Community
Apps
Contact
Login or Signup

Experimental update V52 now available!

Monkey Programming Forums/Monkey Programming/Experimental update V52 now available!

marksibly(Posted 1+ years ago) 
Hi,

[edit]Ok, 52b up already![/edit]

Ok, there are quite a few changes to targets and how data dirs are handled so this update is definitely experimental! Note: You WILL need to delete your .build dir...

The first major change is the unification of 'config' file handling for each target.

To date, this has been done via ad-hoc config.h or config.cs etc files in the .build target dir. Now, config files are still in the .build target dir, but they are all called CONFIG.TXT and are all parsed the same way, ie: simple KEY=VALUE pairs.

I've also added ther ability to define 'data file filters' in CONFIG.TXT files. This is done via settings that control what sort of data gets copied into a target project's data dir, and what the data is used for.

These settings are called TEXT_FILES, IMAGE_FILES, SOUND_FILES and MUSIC_FILES, and their entries in a CONFIG.TXT file will look something like this:

TEXT_FILES=*.txt|*.xml|*.json
IMAGE_FILES=*.png|*.jpg
SOUND_FILES=*.wav
MUSIC_FILES=*.mp3|*.wma

(this example taken from the xna target).

The values of these settings are simple file filters (not full on regexs) and are used when copying data from your projects '.data' dir to the actual target project - files that match are copied, files that don't, aren't. This should allow you to minimize what data is copied to what targets, and what preprocessors (in the case of xna) are used on the data.

Not sure this is the best way of doing this, but it's simple yet reasonably flexible so let's give it a whirl.

Some other 'hidden' features in this update that are pretty raw and I'm not totally sure about yet:

* CONFIG.TXT settings are available for #If preprocessing.

* You can also create CONFIG settings via trans using +key=value, eg: "trans -target=html5 +MY_CONFIG=1 myapp.monkey"

Anyway...


Modules

android mojo.input - added blind kludge for EnableKeyboard.

os - Changed CopyFile to use os copyfile/CopyFileW.

html5 mojo - Removed cookie hack from LoadState/SaveState.

opengl.gles11 - Added LoadImageData for use with glTexImage2D etc.

android mojo.graphics - changed gl calls to use GLES11 class instead of GL11 object.

mojo.audio - added PauseChannel, ResumeChannel, PauseMusic, ResumeMusic.

mojo.graphics - added support for IMAGE_FILTERING_ENABLED to appropriate targets. See CONFIG.TXT files.


Targets:

xna - text files no longer embedded.

xna - data dir now created directly to xna Content dir.

ios, glfw - INCREMENTAL_GC now defaults to 1.

html5 - loadString now uses XMLHttpRequest.

flash - added type="..." to <embed> tag

glfw, flash, android, xna, glfw, android - added IMAGE_FILTERING_ENABLED setting to config files.


Trans (1.28)

bin/makemeta app gone.

Text files no longer embedded in html5.

Added 'data file filters' to CONFIG.TXT files.

Added support for per-target CONFIG.TXT config files.