Just added a TON of files to CVS and made a bunch of modifications.
*New Files:*
/backend
GLHeaders.h : Include to automatically grab the right opengl
headers.
GLRenderSystem.h : RenderSystem backend for straight OpenGL
Application.h : Abstract application, driven by glutApp at the
moment
RenderSystem.h : Base class for RenderSystem backend/abstraction
layer
/engine
BehaviorInstance.h : You know what it is
BehaviorTemplate.h : ditto
BehaviorTemplateTable.h : ditto
EntityInstance.cpp : ditto
EntityPool.h : ditto
EntityTemplateTable.h : ditto
GRunApplication.h : Subclass of backend/Application, will run
our engine
MessageInstance.h : You know what it is
MessageTemplate.h : ditto
MessageTemplateTable.h : ditto
*Modifications:
*
* Implemented new ClassNamePtr convention. All classes, except
for templated base classes, should have a typedef for a
shared_ptr to them, named ClassNamePtr, where "ClassName" is
the name of the class.
* Separated glutApp into the backend (glutApp) and the more
abstract engine (Application, with GRunApplication subclass).
* Created RenderSystem virtual base class, with a GLRenderSystem
subclass that can draw asteroids, ships, and bullets, set the
draw and clear colors, and start/finish the frame (by clearing
the buffer on starting the frame, and glFlush and glFinish on
leaving the frame.
* Modified the Makefile to make the grun application.
* modified /main/main.cpp to create a glutApp with a
GRunApplication using GLRenderSystem. grun now opens up a
blank glut window.
* Added an ERROR_ASSERT(cond, msg) macro in Error.h that throws
an error if (cond) is not true.
* Added /some/ functionality to BehaviorTemplate. It can set the
Key for the MessageTemplate of the kind of message that the
behavior responds to.
* Added /some /functionality to EntityTemplate. It can add
BehaviorTemplates to its list and retreive them, and get the
number of BehaviorTemplates in its list.
* GRunApplication creates TemplateTables for Entities,
Behaviors, and Messages, and creates an EntityPool, but
doesn't yet add any templates/instances, or process entities
at the moment.
So yeah, I've been a bit busy today :D
Let me know if any of these changes break anything on your system.
Regards,
Jeremy
|