Today was all about research. I learned a couple of tricky things. The first is that Blitz is capable of doing a variety of windowsy applications using a gadget system. This doesn’t do me any real good though for the level editor, nor does it allow me to (yet) create a window that I can close for the main game, but I can figure that out later. Another is the command. Which means “if this variable is greater than OR less than this other variable.” So I can more easily check on that. The odd bit was that there is no C++ variation that I know of that does the same thing.
I also had a look around and found the MouseX and MouseY commands, which tell me the current X and Y locations of the mouse, relative to the window. So, it is not absolute and I can put the window in funny places. OR since my resolution is nice and high, I can create the level in 600×800 in a window, and have my widgets and buttons all around the outside.
My thinking is that I can set up “Sectors” that the system will check for collision on. After all, I’m building a platform game – I know all about how to set up a collision. If a click happens on one of the Sectors it will do stuff, like erase the rectangle or select a new one or change what the editor is doing. Otherwise, it will get the mouse and set the X and Y as a point. Then the next click will set another point. I will then subtract the second X from the first X to get the Width of the rectangle and do the same with the Y’s for the height. (I may have those confused though, I keep a compass in the system to help me keep track :P ) The system will then set the X,Y,H and W as the values for the Rectangle that I have selected. I’ll add other stuff to allow me to change where the rectangle is and adjust it for playability. That’s the basic system I will use for TheifEd.
The other major challenge is saving the variables when I am done, along with experimenting on importing them into the game proper. I’ll figure that out tomorrow.