Initial import of Red Planet v4.10 Win32 source
Imports the current Win32 source for the pod-racing game 'Red Planet', built on the MUNGA engine and its L4 (Win32/DirectX) platform layer: - MUNGA / MUNGA_L4: cross-platform engine core and Win32 backend - RP / RP_L4: Red Planet game logic and Win32 application - DivLoader, Setup1: asset loader and installer project - lib, MUNGA_L4/openal, MUNGA_L4/sos: third-party audio dependencies Removed stale Subversion metadata and added .gitignore/.gitattributes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,180 @@
|
||||
#pragma once
|
||||
|
||||
#include "node.h"
|
||||
#include "slot.h"
|
||||
#include "collorgn.h"
|
||||
|
||||
//##########################################################################
|
||||
//####################### CollisionAssistant #########################
|
||||
//##########################################################################
|
||||
|
||||
class Mover;
|
||||
|
||||
class CollisionAssistant:
|
||||
public Node
|
||||
{
|
||||
friend class CollisionAssistant__MovingEntityIterator;
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Public Types
|
||||
//
|
||||
public:
|
||||
typedef CollisionAssistant__MovingEntityIterator
|
||||
MovingEntityIterator;
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Construction, Destruction, Testing
|
||||
//
|
||||
public:
|
||||
CollisionAssistant(InterestZoneID interest_zone_ID);
|
||||
~CollisionAssistant();
|
||||
|
||||
Logical
|
||||
TestInstance() const;
|
||||
|
||||
static CollisionAssistant*
|
||||
Make(Mover *mover);
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Update
|
||||
//
|
||||
public:
|
||||
void
|
||||
Update(InterestZoneID interest_zone_ID);
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Private
|
||||
//
|
||||
private:
|
||||
void
|
||||
LinkToInterestZone(InterestZoneID interest_zone_ID);
|
||||
|
||||
InterestZoneID
|
||||
currentInterestZoneID;
|
||||
SlotOf<CollisionOrigin*>
|
||||
collisionOriginSocket;
|
||||
};
|
||||
|
||||
//~~~~~~~~~~~~~~~~~ CollisionAssistant__MovingEntityIterator ~~~~~~~~~~~~~~~
|
||||
|
||||
class CollisionAssistant__MovingEntityIterator:
|
||||
public CollisionOrigin__MovingEntityIterator
|
||||
{
|
||||
public:
|
||||
CollisionAssistant__MovingEntityIterator(
|
||||
CollisionAssistant *collision_assistant
|
||||
);
|
||||
~CollisionAssistant__MovingEntityIterator();
|
||||
};
|
||||
|
||||
#if 0
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CollisionAssistant ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
class CollisionAssistant:
|
||||
public Renderer
|
||||
{
|
||||
friend class CollisionAssistant__MovingEntityIterator;
|
||||
|
||||
public:
|
||||
//
|
||||
//--------------------------------------------------------------------
|
||||
// Public Types
|
||||
//--------------------------------------------------------------------
|
||||
//
|
||||
typedef CollisionAssistant__MovingEntityIterator
|
||||
MovingEntityIterator;
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------
|
||||
// Construction, Destruction, Testing
|
||||
//--------------------------------------------------------------------
|
||||
//
|
||||
CollisionAssistant(RendererRate render_rate);
|
||||
~CollisionAssistant();
|
||||
|
||||
Logical
|
||||
TestInstance() const;
|
||||
|
||||
static CollisionAssistant*
|
||||
Make(Mover *mover);
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------
|
||||
// LinkToEntity
|
||||
//--------------------------------------------------------------------
|
||||
//
|
||||
void
|
||||
LinkToMover(Mover *mover);
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------
|
||||
// NotifyOfNewInterestingEntity
|
||||
//--------------------------------------------------------------------
|
||||
//
|
||||
void
|
||||
NotifyOfNewInterestingEntity(Entity *interesting_entity);
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------
|
||||
// NotifyOfBecomingUninterestingEntity
|
||||
//--------------------------------------------------------------------
|
||||
//
|
||||
void
|
||||
NotifyOfBecomingUninterestingEntity(Entity *uninteresting_entity);
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------
|
||||
// GetCollisionRoot
|
||||
//--------------------------------------------------------------------
|
||||
//
|
||||
BoxedSolidTree*
|
||||
GetCollisionRoot();
|
||||
|
||||
protected:
|
||||
//
|
||||
//--------------------------------------------------------------------
|
||||
// ExecuteImplementation
|
||||
//--------------------------------------------------------------------
|
||||
//
|
||||
void
|
||||
ExecuteImplementation(
|
||||
RendererComplexity complexity_update,
|
||||
InterestOrigin::InterestingEntityIterator *iterator
|
||||
);
|
||||
|
||||
private:
|
||||
//
|
||||
//--------------------------------------------------------------------
|
||||
// Private methods
|
||||
//--------------------------------------------------------------------
|
||||
//
|
||||
void
|
||||
LoadMissionImplementation(Mission*) {}
|
||||
void
|
||||
ShutdownImplementation() {}
|
||||
void
|
||||
SuspendImplementation() {}
|
||||
void
|
||||
ResumeImplementation() {}
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------
|
||||
// Private data
|
||||
//--------------------------------------------------------------------
|
||||
//
|
||||
SChainOf<Entity*>
|
||||
movingEntitySocket;
|
||||
};
|
||||
|
||||
//~~~~~~~~~~~~~~~~~ CollisionAssistant__MovingEntityIterator ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
class CollisionAssistant__MovingEntityIterator:
|
||||
public SChainIteratorOf<Entity*>
|
||||
{
|
||||
public:
|
||||
CollisionAssistant__MovingEntityIterator(
|
||||
CollisionAssistant *collision_assistant
|
||||
);
|
||||
~CollisionAssistant__MovingEntityIterator();
|
||||
};
|
||||
#endif
|
||||
Reference in New Issue
Block a user