1 //------------------------------------------------------------------------- 2 /* 3 Copyright (C) 2010-2019 EDuke32 developers and contributors 4 Copyright (C) 2019 Nuke.YKT 5 6 This file is part of NBlood. 7 8 NBlood is free software; you can redistribute it and/or 9 modify it under the terms of the GNU General Public License version 2 10 as published by the Free Software Foundation. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 16 See the GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with this program; if not, write to the Free Software 20 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 21 */ 22 //------------------------------------------------------------------------- 23 #pragma once 24 #include "build.h" 25 #include "common_game.h" 26 #include "blood.h" 27 28 enum SurfaceType { 29 kSurfNone = 0, 30 kSurfStone, 31 kSurfMetal, 32 kSurfWood, 33 kSurfFlesh, 34 kSurfWater, 35 kSurfDirt, 36 kSurfClay, 37 kSurfSnow, 38 kSurfIce, 39 kSurfLeaves, 40 kSurfCloth, 41 kSurfPlant, 42 kSurfGoo, 43 kSurfLava, 44 kSurfMax 45 }; 46 47 extern char surfType[kMaxTiles]; 48 extern signed char tileShade[kMaxTiles]; 49 extern short voxelIndex[kMaxTiles]; 50 51 extern int nPrecacheCount; 52 extern char precachehightile[2][(MAXTILES+7)>>3]; 53 54 extern int32_t MAXCACHE1DSIZE; 55 56 void qloadvoxel(int32_t nVoxel); 57 void CalcPicsiz(int a1, int a2, int a3); 58 int tileInit(char a1, const char *a2); 59 #ifdef USE_OPENGL 60 void tileProcessGLVoxels(void); 61 #endif 62 char * tileLoadTile(int nTile); 63 char * tileAllocTile(int nTile, int x, int y, int ox, int oy); 64 void tilePreloadTile(int nTile); 65 void tilePrecacheTile(int nTile, int nType = 1); 66 char tileGetSurfType(int hit); 67