Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

worldpropsrvr.h

Go to the documentation of this file.
00001 // ----------------------------------------------------------------------- //
00002 //
00003 // MODULE  : worldpropsrvr.h
00004 //
00005 // PURPOSE : CWorldPropSrvr - Definition and constants
00006 //
00007 // CREATED : 02/14/01
00008 //
00009 // (c) 2001 LithTech, Inc.  All Rights Reserved
00010 //
00011 // ----------------------------------------------------------------------- //
00012 
00013 #ifndef __WORLDPROP_SRVR_H__
00014 #define __WORLDPROP_SRVR_H__
00015 
00016 
00017 // Engine includes
00018 #include <ltbasedefs.h>
00019 #include <ltengineobjects.h>
00020 #include <iobjectplugin.h>
00021 #include <autoview/autoview.h>
00022 
00023 
00025 enum EGameType
00026 {
00027     GT_FFA_DM = 0,
00028     GT_CTF,
00029     GT_UNITY_vs_HARM,
00030 
00031     GT_NUM_TYPES
00032 };
00033 
00034 const char g_aszGameTypes[GT_NUM_TYPES][16] = 
00035 {
00036     "FFA DM",
00037     "CTF",
00038     "UNITY vs HARM"
00039 };
00040 
00041 
00043 class CWorldPropSrvr : public BaseClass
00044 {
00045   public:
00046     // Construction / destruction
00047     CWorldPropSrvr();
00048     virtual ~CWorldPropSrvr();
00049 
00050     distr_class(CWorldPropSrvr);
00051 
00052     uint32      EngineMessageFn(uint32 messageID, void *pData, float fData);
00053 
00054   private:
00055     // EngineMessageFn handlers
00056 
00057     uint32      PreCreate(void *pData, float fData);
00058     void        ObjectCreated();
00059     void        Update();
00060 
00061     // Other functions
00062 
00063     void        ReadProps(ObjectCreateStruct* pStruct);
00064     void        PostReadProps();
00065 
00066     // Members
00067 
00068     distr_uint32(   m_nFarZ,            AVITEM_REG, 2, 10000);
00069     distr_vector(   m_vBackgroundColor, AVITEM_REG, 2, LTVector3f(0, 0, 0));
00070 
00071     distr_bool(     m_bFogEnable,       AVITEM_REG, 2, false);
00072     distr_vector(   m_vFogColor,        AVITEM_REG, 2, LTVector3f(0, 0, 0));
00073     distr_uint32(   m_nFogNearZ,        AVITEM_REG, 2, 0);
00074     distr_uint32(   m_nFogFarZ,         AVITEM_REG, 2, 2000);
00075 
00076     distr_bool(     m_bSkyFogEnable,    AVITEM_REG, 2, false);
00077     distr_uint32(   m_nSkyFogNearZ,     AVITEM_REG, 2, 0);
00078     distr_uint32(   m_nSkyFogFarZ,      AVITEM_REG, 2, 2000);
00079 
00080     distr_bool(     m_bSkyPanEnable,    AVITEM_REG, 2, false);
00081     distr_string(   m_szSkyPanTexture,  AVITEM_REG, 2, "");
00082     distr_int32(    m_nSkyPanAutoPanX,  AVITEM_REG, 2, 0);
00083     distr_int32(    m_nSkyPanAutoPanZ,  AVITEM_REG, 2, 0);
00084     distr_float(    m_fSkyPanScaleX,    AVITEM_REG, 2, 1.0f);
00085     distr_float(    m_fSkyPanScaleZ,    AVITEM_REG, 2, 1.0f);
00086 
00087     distr_float(    m_fSkyScale,        AVITEM_REG, 2, 1.0f);
00088 
00089     // FIXME: m_szServerConString should only be distributed to other servers, 
00090     // not the client.
00091     distr_string(   m_szServerConString, AVITEM_REG, 2, "");
00092     distr_string(   m_szClientConString, AVITEM_REG, 2, "");
00093     distr_uint32(   m_eGameType,        AVITEM_REG, 2, GT_FFA_DM);
00094 
00095     distr_bool(     m_bApply,           AVITEM_REG, 1, false);
00096 };
00097 
00098 
00099 
00102 class CWorldPropPlugin : public IObjectPlugin
00103 {
00104   public:
00105 
00106     virtual LTRESULT    PreHook_EditStringList(
00107                             const char* szRezPath, 
00108                             const char* szPropName, 
00109                             char** aszStrings, 
00110                             uint32* pcStrings, 
00111                             const uint32 cMaxStrings, 
00112                             const uint32 cMaxStringLength);
00113 };
00114 
00115 
00116 #endif  // __WORLDPROP_SRVR_H__

Generated on Mon Mar 4 08:42:23 2002 for Aria by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002