L3DT users' community
Large 3D terrain generator

Recent and future happenings

Important stuff.

Recent and future happenings

Postby Aaron » Wed Nov 08, 2006 12:56 am

Hello all,

Here's a little update on current developments:

What's coming in the next release?

If you've browsed the to-do list lately you'll have noticed that there doesn't appear to be much coming in v2.4c in the way of new features for end-users. This release is all about developers, and more specifically, extending the plugin API so that they can unleash their creativity upon the L3DT-using community.

Eating one's own dog food

To make sure the plugin API works as advertised, to make sure it has enough features to be useful, and to provide worthwhile examples of its use, I'm writing plugins to replace functions that are currently in the 'core' of L3DT. This is, as our friend Joel Spolsky would say, eating your own dog food (quite a good read, if you have a few minutes to spare.) As it stands with v2.4b build 10 (on the downloads page,) all map file formats are now handled by plugins, and L3DT can't load or save a map without them. The source code of some of these plugins may be downloaded from plugin examples page. Earlier I released the spherical distortion plugin, which provided an example of how to define plugin functions, add menu options, and generally manipulate maps with the API. Currently I'm working on a plugin to replace the code behind the 'file->export->selected area' menu option, which will demonstrate how to handle loading/saving maps, handling file format variables, and more general use of the API.

API wrapper classes

At the same time as I'm extending the API feature set, I'm simplifying the API syntax by adding some nice C++ wrapper classes. These classes, as I'm discovering whilst eating my dog food, really do make development much easier by allowing object-oriented programming and normal scoping rules. An example of using these wrappers will be provided in the atExportArea plugin when it is complete.

Ports to other languages

The provided API code is currently only compatible with MSVC++, for no reason other than that's what I use. With minimal changes, the API code should compile in other C++ environments, and in the near-ish future I will modify the supplied code to be completely MFC-free. Once the API is relatively stable, I will also write bindings for ANSI C (without the wrapper classes.) If I can find some Pascal mojo - which is not guaranteed - I'll also write a port for Pascal/Delphi based on the C version, and I'll leave it up to more experienced Pascal programmers than I to write nice OOP wrappers.

Plugin forum

There be a plugin development forum now, the purpose of which is explained in the read-me post.

Project pages

Logged-in users who browse their way back to the home page will notice that in their profile box at the top right there is a little link that says 'visit your projects page'. This link takes you directly to a page in the wiki on which you can describe your (L3DT-related!) projects for other users to see. If you've not created a page, and I know you probably haven't, you will have to click on the 'create this page' button when you first visit this page (and possibly 'login' also, depending on cookies.)

Whew! that's all

Cheers,
Aaron.
User avatar
Aaron
Site Admin
 
Posts: 3696
Joined: Sun Nov 20, 2005 2:41 pm
Location: Melbourne, Australia

Return to Announcements

Who is online

Users browsing this forum: No registered users and 11 guests

cron