mirror of
https://github.com/thug1src/thug.git
synced 2025-01-22 05:43:47 +00:00
60 lines
1.8 KiB
C
60 lines
1.8 KiB
C
|
///////////////////////////////////////////////////////////////////////////////
|
||
|
// p_NxScene.h
|
||
|
|
||
|
#ifndef __GFX_P_NX_SCENE_H__
|
||
|
#define __GFX_P_NX_SCENE_H__
|
||
|
|
||
|
#include "Gfx/nxscene.h"
|
||
|
|
||
|
namespace NxPs2
|
||
|
{
|
||
|
class CGeomNode;
|
||
|
}
|
||
|
|
||
|
namespace Nx
|
||
|
{
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////////////
|
||
|
// Private classes
|
||
|
//
|
||
|
// Here's a machine specific implementation of the CScene
|
||
|
class CPs2Scene : public CScene
|
||
|
{
|
||
|
public:
|
||
|
CPs2Scene();
|
||
|
virtual ~CPs2Scene();
|
||
|
|
||
|
NxPs2::CGeomNode * GetEngineScene() const;
|
||
|
void SetEngineScene(NxPs2::CGeomNode *p_scene);
|
||
|
|
||
|
NxPs2::CGeomNode * GetEngineAddScene() const;
|
||
|
void SetEngineAddScene(NxPs2::CGeomNode *p_scene);
|
||
|
|
||
|
NxPs2::CGeomNode * GetEngineCloneScene() const;
|
||
|
void SetEngineCloneScene(NxPs2::CGeomNode *p_scene);
|
||
|
|
||
|
private:
|
||
|
virtual void plat_post_load();
|
||
|
virtual void plat_post_add();
|
||
|
virtual bool plat_load_textures(const char *p_name); // load textures
|
||
|
virtual bool plat_load_collision(const char *p_name); // load collision data
|
||
|
virtual bool plat_add_collision(const char *p_name); // add collision data
|
||
|
virtual bool plat_unload_add_scene(); // unloads previous add scene
|
||
|
virtual CSector * plat_create_sector(); // empty sector
|
||
|
virtual void plat_set_majority_color(Image::RGBA rgba); // set the most common sector color
|
||
|
virtual Image::RGBA plat_get_majority_color() const; // get the most common sector color
|
||
|
|
||
|
|
||
|
void create_sectors(NxPs2::CGeomNode *p_node);
|
||
|
void add_sectors(NxPs2::CGeomNode *p_node);
|
||
|
void delete_sectors(NxPs2::CGeomNode *p_node);
|
||
|
|
||
|
NxPs2::CGeomNode * mp_plat_scene; // Platform-dependent data
|
||
|
NxPs2::CGeomNode * mp_plat_clone_scene;
|
||
|
NxPs2::CGeomNode * mp_plat_add_scene;
|
||
|
};
|
||
|
|
||
|
} // Namespace Nx
|
||
|
|
||
|
#endif
|