No no, I'm not talking about making tools for other people (even though I might now I think about it) I'm talking about tools for yourself.

Tools to do what?
Tools, to make your game/app production faster.

Eg. In my stick figure animation shop, I planned to have around 300 - 600 still figures that you would paste into the program. I thought about it and I realized it would take craploads of time to do it frame by frame in PSP or MS paint. So I whipped up a stick figure still maker which allowed me to move the limbs of my stick figure then create that as a frame.

Types of Tools
There are all sorts of tools you can make for yourself. I made an organizer for my dad; it held dates, appointments, a whiteboard, notepad, it also reminded him what he had on that day.

Make a mini notepad that minimizes into your toolbar like MSN, make a clipboard editor that allows you to copy heaps of things onto your clipboard, make your own browser with quicklinks to your favourite sites.

The possiblities are endless.

Where to start
MMF is a very powerfull programming langauge (if you know which buttons to press). Nobody has busted it's limits like alot of people did with K&P. I have made a fair few Apps which I like to make. eg.

http://create-gamescom.readyhosting.com/download.asp?id=2880

^ A Mp3 player I made because my Music match jukebox burned 30% of my memory and was boring.

Making a Tool Intro
I can only open the door... you have to walk through it

That's the truth, I am now going to show you how to program a notepad thing that will minimize into a icon that will sit in your toolbar. I am showing you this but I can't show you how to do everything. Test things, move things around.

K, let's roll. Open up MMF, This will probabley work in TGF though.

Before we start we need to do a Extention check these are the extentions that I will be using.

-Ini plus (Ini will do)
-Window Object (By Chris Lightfoot; File might do)
-Active System Box (dunno if TGF has it)
-Tray Icon Object (If you know how to use others then use them instead)
-Date and Time object

Making It
Create a new application, change the frame and window size to 320 x 200.Check the No maximize Button we won't be needing it.

Insert a Ini Plus, Tray Icon Object, Window object, a listbox, Date object (select date), counter, and an edit object. Place the edit object at 0,0 and set it's width to 320. Fill the remaining space with the list object.

Go to the event editor, we are going to insert some events so i'll list them:

Start of frame - (Tray Object) Enable Auto-hide.

If pressed delete - (List)Delete Line = List Select( List )

Long line
If you don't understand this next part it's not that hard read through it a few times and work out what it is saying.

If pressed enter (list) add a line:

Str$( day of month of( Date & Time ) ) + / + Str$( month of( Date & Time ) ) + / + Str$( year of( Date & Time ) ) + = + Edittext$( Edit )

Broken up it's saying, Day of the month/month/year = note
eg. 12/5/2003 = Hello
^^^^
If you run the app you should get a message like that one above.

Saving/Loading
We just need 3 more events so that the notes are saved and loaded every time we start the app/tool. You can add these to the existing events or create duplicates if you want it to be a bit neater. If you are uncomfortable with Inis check my Ini article.

http://create-gamescom.readyhosting.com/article.asp?id=658

Start of frame - (Ini +)Set file name = Appdrive$ + Appdir$ + note.dat

Start of frame - start loop add notes for groupitem( Ini Plus, info,number )

start of frame - set counter to groupitem( Ini Plus, info,number )

So far this runs a loop that will create a line for every note that we have.

If enter pressed - add one to counter, (ini) set group to info set item to number.

if enter pressed - set group to notes set item to Str$( value( Counter )), set string to (the long string above with the dates). Set text of edit to . Set group to info set item to number set value to value of counter.

That part adds to the total number of notes and stores notes.

(special conditions) on loop - (list) add a line:

groupitem$( Ini Plus, Notes, Str$( LoopIndex ( Add notes ) ) )

That last part adds a line depending on the Loop's index number and what data is stored in that note on the ini.

Round it up
This is a simple note storer but it was a long article so I am guessing that most of you are to lazy to make this so I will post the finished product (369kb) , get it at:

http://ccsoft.serveftp.net/group/news/upload/files/JDI.exe

The note holder doesn't eraser data from the ini, so eventually it will blow it's 64kb max. Which would take a damn lot of notes.

I hope you learned something today, and remeber: Make tools to help you develop your own games or tools. X)

-Andy (12, Ccsoft)