Ok, after an initally promising start with the android target (I can compile/build/link stuff now…but it’s all very hacky) I decided to suspend work on that for a while in order to finish up the module manager system, which is IMO only really half-finished right now – pretty much like every other module manager I’ve ever attempted.

Android is still happening, but it will be a Big Job and right now I think getting a useful module manager system togther is more important, as people are starting to write some really cool stuff in mx2.

The current module upload system works fine IMO, but without some way of being able to update/install modules ‘in’ Ted2 as easily as possible, it’s all kind of redundant – users may as well just download the zip from the project repos if they are required to unzip/install/updatemods etc manually.

So I set about adding a module manager dialog to ted2, which really needs some come of TableView – something mojox (the micro-gui used by ted2) didn’t have. And things kind of snowballed from there – since I was tweaking mojox I decided I might as well clean it up a bit and turn it into a standalone module, given that a few people have shown some interest in actually using it. And I may have got a bit carried with that…

I also ended up making some tweaks to Ted2 using some of the new mojox features as I added them, eg: draggable/closable tabs, right-click popup menu in the file tree to create/delete files/dirs (miss that so much from ted1!), and a tidy up of the secret-no-longer helptree so it works like the online searchable treeview. F1 now also attempts to bring up some meaningful help for the current keyword – nothing fancy, basically just an index search.

I also moved the html help view to the same pane as the console (which is now tabbed) which I thinks works pretty well. You have to drag the splitter up to see the whole page, but that can go on a hot key and it’s definitely nice having docs/code visible at the same time some. You frequently only want to see a declaration anyway, and having that pop up in a little window at the bottom of the page works well I think.

Anyway, the actual module manager is now going quite nicely I think. You can select modules to update/install from a module manager dialog in ted2, and the download/unzip/copy/updatemods/updatedocs stuff is all done for you. It also makes a backup of the modules you are modifying before making any changes in case something goes wrong (mostly I’m thinking updatemods here…).

It’s pretty simple – no update depedancy checking yet, and it’d be nice to be able to rollback multiple times not just once, but IMO it’s a good start.

I hope to commit this work early next week. I did plan on commiting more as I went, but given some of changes I was making, getting mojo+mojox+ted2 working together sweetly has been a bit of a volatile process and I didn’t want to commit too much stuff that could well disappear tomorrow or break something I haven’t tested with. Perhaps I was overly cautious here? Or perhaps I should have done all this work on a branch…




9 thoughts to “Sidetracked!”

  1. Looks great – sounds like NuGet in Visual Studio which is awesome.  The dependency stuff sounds goods for your base monkey mods staying in sync.

    Nice work!!



  2. @mark

    What I don’t understand is that your choose Android first and then iOS.
    I and guess others prefer iOS first, because that are the people that can/will spend more in buying monkey2 apps/games.

    I hope that you change your mind about Android first.
    And if you choose Android first, than please not full support for the old android < 4


  3. > What I don’t understand is that your choose Android first and then iOS.

    Mainly because android is available to far more users than ios, as you can development for it on windows/mac/linux, just like mx2.

    Plus, it doesn’t require any fees to publish for, and you can freely share apk’s with other developers etc. It’s just a more ‘hacker’ (in the old sense) friendly target.






  4. > Ted2 looks great!  Curious to see if it ever makes it to the browser

    Alas, it’s unlikely as ted2 makes extensive use of fibers (lightweight threads) which are not supported on emscripten.



  5. Mark,

    Just re-reading this again.  Do you envisage that eventually the core Monkey2 system will be quite small (ie. say just Ted2 and compilers etc) and that modules will eventually be the way to update the program?

    Do you see things such as the platform templates (ie. Android, iOS) and even the compilers could be delivered this way?

    Looking forward to the new changes!


    1. > Do you envisage that eventually the core Monkey2 system will be quite small (ie. say just Ted2 and compilers etc) and that modules will eventually be the way to update the program?

      In the short term at least, I’m sticking with what’s easiest for me and that’s github for my stuff (with the occasional ‘binary release’) and the module manager for 3rd party stuff. If the module manager ends up with a more automated way to upload, this might change, but right now it’d just be too much of a grind to use the MM for all updates. I’m also taking a rest from the MM stuff for a while. Turns out you can spend as long as you want on anything, but it always means there’s something else you’re NOT doing!

      > Do you have a road map for the the targets ?

      No ETA right now.


  6. Mark, Ted 2 is looking great, I can’t wait to get the latest.


    Regarding Android and iOS targets, I agree Android has a bigger user base than iOS, but it is important as well.

    Do you have a road map for the the targets ?


    Great job !