Tuesday, April 15, 2008

Reconstruction

There is some major reconstruction going on.

No paging terrain yet but I'm working on it.

I've got things going in a more document/view direction now.

Too busy to tell more!

Monday, April 14, 2008

Paging Terrain

This is going to be a pain.

Alright then. I created GridPage and GridPageVu classes that take over the functionality that the Scene class was providing.

This means it's possible to have multiple pages right now.

I just need to figure out how caching and indexing is going to work.

Hmmm.....

Designology

Wow, I've got a full head of steam going now!

I reworked the GUI code where it's starting to look like a real widget framework.

We now have a catalog with multiple pages.

All the zoom issues have been worked out, there just remains a problem with tiling where you see hairline fractures between the tiles when the scale is not 1:1. There's a rounding problem afoot. Maybe I'm supposed to tile to a framebuffer first, and then blit?

When it came time to write classes for all of these new items in the catalog, I thought 'There has got to be a better way!'

So instead of writing a class for each item, there will exist only one class for multiple items of a similar category. For the blocks, landscape and treasure this really makes sense.

As you can see, I decided to go the spreadsheet route again to define the catalog. It works pretty well, just property/value pairs in a row.

The catalog reader is able to instantiate a class, pass the item that was used to create it and also assign attributes on the fly!

This means that it will be possible to create new catalog items by mixing and matching different classes. Say, you want the Boy with a different brain, or with a different image, or whatever.

Okay, I have got stop putting off committing this darn thing to SVN. If you download it just realize it's only two weeks old!

Sunday, April 13, 2008

Selectionology

This is a lot of fun but it's also a lot of work. If it weren't for Python and pyglet, I'd probably have thrown in the towel by now.

As you can see in the image I have multi-select working now. You can add to the selection with the Ctrl key and create selection ranges via the Shift key.

I still need to work on clearing selections, I guess using the escape key. Since I'm using escape for exiting the program I need to write code to change that behavior.

I modified the way catalog pages are displayed. I decided to scale the original images using OpenGL instead of manually creating thumbnails. Now I need to rewrite the code that calculates the page height taking the scaling into account. Centering also needs to be fixed.

Hopefully, I can pound this into some consistent form and then I'll commit to SVN.

Saturday, April 12, 2008

Zoom, Zoom, Zoom - Part 2

That was pretty simple to fix. I only had to upgrade the culling and the camera code. Other stuff like mouse picking works through OpenGL via unproject so no changes there. Sweet!

Zooming works through plus and minus on the numeric keypad.

I'm thinking it's time to do a commit to SVN even though this is in a haphazard state between 'Is it a game?' or 'Is it a game editor?'.

Zoom, Zoom, Zoom

It occurred to me that editing on a 1:1 scale would be impractical. So I inserted glScale(.5, .5, .5) into the pipeline as a test.

Looks sweet! Or, it will after I add all the necessary code to handle scaling properly.

I think it's probably time to look into rendering to a frame buffer also. This is really going to kill my frame rate!

Selector is Working

Five minutes after I made the last post I realized what was happening. I was repeating the same Cell across. The bug was in the spreadsheet reader.

As you can see I have the code rigged to where clicking an image deposits a block where the Selector is.

Work, work, work.