Dusty Engine Release 9 (Now 9-1)

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
Post Reply
roninmagus
Posts: 91
Joined: Fri Oct 31, 2003 5:03 am

Dusty Engine Release 9 (Now 9-1)

Post by roninmagus »

http://www.daveandrews.org/dustyengine

I've completed a new release of Dusty Engine! Release 9. Here's the news from my site:
After a bit of a break in development on Dusty Engine while I've been working on projects using Irrlicht and DE, I focused my energies back onto Dusty Engine development, and the result of that is Dusty Engine R9!

This release focused mostly on cleaning up and refining the Entity class, based upon experiences I've had while using it. A huge pausing bug was fixed, and the entities now create much less tasks on the task tree, greatly improving performance.

Thanks very much to Michael Taupitz for his help in ideas for this release. Download now and check out the changelog for new changes!
Here's a copy of the changelog:
Dusty Engine
A Task Engine for Irrlicht
by Dave Andrews

http://www.daveandrews.org

======================
Changes in Release 9
======================
- Thanks much to Michael Taupitz for inspiring many changes to the
Entity class.

Modifications:
--------------
* Rewrote the Entity and EntityParentTask classes. The interface for
Entity is exactly the same, except with some additions noted below.
In release 8, an entity would create 13 tasks on the task tree, and
pause/unpause them to use only the ones it needed. In this release,
the Entity only creates 4 tasks on the task tree: a parent, a movement
task, a scale task, and a rotate task, and it uses only the different
types of tasks as they are needed. The other unnecessary tasks are
created in memory but are only present on the tree when they are
needed. This change created a dramatic increase in entity performance.

* TaskTree will now grab() a task when it is added to the tree.
It still drop()s a task when it is destroying. This means that
when you add a task to the task tree, you must now call task->drop()
on that task:
DummyTask * myTask = new DummyTask();
taskTree->AddTask(myTask);
myTask->drop();
If you drop the task after adding it to the tree, then the task
will be deleted from memory when the tree no longer needs it.

* Added a new function to DustyDriver: GetEntityByNode(). This function will
return the entity that is associated with the given node. If it fails, it will
return NULL.

* Added a new ability to Entity class that will cause it to remove() the node
it is working with when the entity is destroyed. This allows the programmer
to set the node to an entity and not worry about removing it manually from
the scene when the enttiy is destroyed. The functions are SetRemoveOnDestroy()
and GetRemoveOnDestroy(). This will default to false.

* Added functions to Entity class that allow getting the current interpolation
value of waypoints. GetMoveWaypointInterpolatinoValue(),
GetScaleWaypointInterpolationValue(), and GetRotateWaypointInterpolationValue().

* Added functions to the Entity class which allows you to set the entity
to execute tasks multiple times to make up for time passed between the
last executions. (See docs for Task class, SetExecuteMultiple.)

* Added functions for controlling direction of interpolation in an
entity. ReverseMoveInterpolation(), IsMoveInterpolationReversed(),
ReverseScaleInterpolation(), IsScaleInterpolationReversed(),
ReverseRotateInterpolation(), IsRotateInterpolationReversed().

* Added functions to the Entity class that allow easy addition
and removal of non-default tasks to the entity. This can be
used in many situations where you want a task to be destroyed
or paused or unpaused with the entity. Those functions are
AddChildTask() and RemoveChildTask() in the Entity.

* Added functions to the Entity class that are accessors for the
move type, scale type, and rotate type. I was amazed to see that
I had SetMoveType(), SetScaleType() and SetRotateType() but not their
accessors, so I added GetMoveType(), GetScaleType(), and GetRotateType().

* Sometimes it is necessary to associate a "Tag" with a task.
I've added a field to the Task, which is a string called
tag. There are functions GetTag() and SetTag(), that allow
you to associate a string with a task. This is not used for
any purpose internally.

Bugs Fixed:
-----------
* Fixed a bug where a node that was being controlled by an entity
would become invisible when an entity or the task tree was paused
and then unpaused.
Last edited by roninmagus on Sat Apr 14, 2007 7:05 pm, edited 1 time in total.
daveandrews.org - A Christian Programmer's Weblog | Dusty Engine - A Task Engine for Irrlicht
Jan R
Posts: 1
Joined: Sat Apr 14, 2007 3:32 am

Post by Jan R »

Hi,
I thought I'd give the Dusty Engine a shot
however it crashes with an error on simply trying to start the engine.
Pherhaps it needs updating for the newest version of Irrlicht?
Or pherhaps I'm just doing something terribly wrong? :)

The error i get when running the prog is pretty noninformative"Unhandled exception at 0x100cfc2b in TstProg.exe: 0xC0000005: Access violation writing location 0x003915e4."

Is the Dusty Engine still beeing maintained?
BlindSide
Admin
Posts: 2821
Joined: Thu Dec 08, 2005 9:09 am
Location: NZ!

Post by BlindSide »

I remember trying to compile it a while back and I couldnt :(

Are you using a debugger? It should tell you what line it crashes on. There have been some changes to the irrlicht API so it should be as easy as modifying some functions calls or something.

Cheers
roninmagus
Posts: 91
Joined: Fri Oct 31, 2003 5:03 am

Post by roninmagus »

I have been slowly working on release 10. I have heard reports that in order to work with the new version of Irrlicht that Version 9 has to be recompiled from source. For now I think I will re-release version 9 recompiled, so people don't have this problem!
daveandrews.org - A Christian Programmer's Weblog | Dusty Engine - A Task Engine for Irrlicht
BlindSide
Admin
Posts: 2821
Joined: Thu Dec 08, 2005 9:09 am
Location: NZ!

Post by BlindSide »

Wow you are still working on this :D Now im interested...
roninmagus
Posts: 91
Joined: Fri Oct 31, 2003 5:03 am

Post by roninmagus »

I have posted up on Dusty's website version 9-1 which should fix the compilation with Irrlicht 1.3 problems!

There are no code changes from version 9, just a recompilation that is verified to work with Irrlicht 1.3 under Dev-C++, Linux, and Visual Studio.
daveandrews.org - A Christian Programmer's Weblog | Dusty Engine - A Task Engine for Irrlicht
Post Reply