1 /* ResidualVM - A 3D game interpreter 2 * 3 * ResidualVM is the legal property of its developers, whose names 4 * are too numerous to list here. Please refer to the AUTHORS 5 * file distributed with this source distribution. 6 * 7 * Additional copyright for this file: 8 * Copyright (C) 1999-2000 Revolution Software Ltd. 9 * This code is based on source code created by Revolution Software, 10 * used with permission. 11 * 12 * This program is free software; you can redistribute it and/or 13 * modify it under the terms of the GNU General Public License 14 * as published by the Free Software Foundation; either version 2 15 * of the License, or (at your option) any later version. 16 * 17 * This program is distributed in the hope that it will be useful, 18 * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 * GNU General Public License for more details. 21 * 22 * You should have received a copy of the GNU General Public License 23 * along with this program; if not, write to the Free Software 24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 25 * 26 */ 27 28 #ifndef ICB_GLOBAL_OBJECTS_PSX_H 29 #define ICB_GLOBAL_OBJECTS_PSX_H 30 31 #include "engines/icb/common/px_rcutypes.h" 32 #include "engines/icb/surface_manager.h" 33 #include "engines/icb/gfx/psx_light.h" 34 #include "engines/icb/gfx/psx_tman.h" 35 #include "engines/icb/gfx/psx_camera.h" 36 #include "engines/icb/gfx/psx_pxactor.h" 37 #include "engines/icb/gfx/rlp_api.h" 38 39 namespace ICB { 40 41 // The texture manager for the actor textures 42 extern TextureManager *tman; 43 44 // The 3 directional lights and the ambient light 45 extern psxLight Lights[4]; 46 47 // Camera and animation structures 48 extern psxCamera *g_camera; 49 50 // Actor structure 51 extern psxActor *g_av_actor; 52 53 // Lighting structure and coordinates, colour components 54 extern PSXLamp *g_av_Light; 55 56 // Colour of the actors bounding box 57 extern int32 bboxRed; 58 extern int32 bboxGreen; 59 extern int32 bboxBlue; 60 61 // Colour of the actors screen outline 62 extern int32 slineRed; 63 extern int32 slineGreen; 64 extern int32 slineBlue; 65 66 // Colour of the z-fragments outlines 67 extern int32 zfragRed; 68 extern int32 zfragGreen; 69 extern int32 zfragBlue; 70 71 // Colour of the z-layers outlines 72 extern int32 zoverRed; 73 extern int32 zoverGreen; 74 extern int32 zoverBlue; 75 76 // Colour of the wire-frame man 77 extern int32 wfrmRed; 78 extern int32 wfrmGreen; 79 extern int32 wfrmBlue; 80 81 // Drawing options 82 extern int32 _normalScale; 83 extern int32 _useWindingOrder; 84 extern int32 _removeBackface; 85 extern int32 _drawWfrm; 86 extern int32 _drawTxture; 87 extern int32 _drawLit; 88 extern int32 _drawGouraud; 89 extern int32 _drawPolys; 90 extern int32 _drawNormals; 91 92 extern int32 _drawActor; 93 extern int32 _drawBbox; 94 extern int32 _drawShadowBbox; 95 extern int32 _drawSolidBbox; 96 extern int32 _drawSline; 97 extern int32 _drawShadowSline; 98 extern int32 _drawZfragEdge; 99 extern int32 _drawZLayerEdge; 100 extern int32 _drawZfragImg; 101 extern int32 _drawBG; 102 extern int32 _drawProps; 103 extern int32 _drawSemiTrans; 104 105 extern int32 _drawText; 106 extern int32 _drawCompass; 107 108 extern int32 _drawDebugMesh; 109 110 } // End of namespace ICB 111 112 #endif // #ifndef _GLOBAL_OBJECTS_PSX_H 113