/* * PVVMUD a 3D MUD * Copyright (C) 1998-1999 Programvareverkstedet (pvv@pvv.org) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ifndef _MSGGOS_H #define _MSGGOS_H #include "geometry.H" #include "material.H" #include "texture.H" #include "msgvarlength.H" #define GOSREQUEST_GEOMETRY 0 #define GOSREQUEST_MATERIAL 1 #define GOSREQUEST_TEXTURE 2 class CMsgGOSError : public CMessage { BYTE error; public: CMsgGOSError(); CMsgGOSError(BYTE error); BYTE getError(); }; class CMsgGOSRequest : public CMessage { public: CMsgGOSRequest(); CMsgGOSRequest(BYTE requestType,WORD objectId); BYTE getRequestType(); WORD getObjectId(); }; class CMsgGeometry : public CMsgVarLength { public: CMsgGeometry(); CMsgGeometry(CGeometry & geometry); DWORD getGeometryId(); CGeometry * getGeometry(); virtual CGeometry * newGeometry(int geometryId, int numVertices, int numNormals, int numTexCoords, int numPolygons); }; class CMsgMaterial : public CMessage { public: CMsgMaterial(); CMsgMaterial(CMaterial & material); int getMaterialId(); int getTextureId(); BYTE getAmbientByte(int num); BYTE getDiffuseByte(int num); BYTE getSpecularByte(int num); BYTE getEmissionByte(int num); BYTE getShininessByte(); CMaterial * getMaterial(); virtual CMaterial * newMaterial(int materialId); }; class CMsgTexture : public CMsgVarLength { public: CMsgTexture(); CMsgTexture(CTexture & texture); WORD getTextureId(); WORD getMapWidth(); WORD getMapHeight(); CTexture * getTexture(); virtual CTexture * newTexture(int textureId); }; #endif // _MSGGOS_H