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 
25 
26 enum GIBTYPE {
27     GIBTYPE_0 = 0,
28     GIBTYPE_1,
29     GIBTYPE_2,
30     GIBTYPE_3,
31     GIBTYPE_4,
32     GIBTYPE_5,
33     GIBTYPE_6,
34     GIBTYPE_7,
35     GIBTYPE_8,
36     GIBTYPE_9,
37     GIBTYPE_10,
38     GIBTYPE_11,
39     GIBTYPE_12,
40     GIBTYPE_13,
41     GIBTYPE_14,
42     GIBTYPE_15,
43     GIBTYPE_16,
44     GIBTYPE_17,
45     GIBTYPE_18,
46     GIBTYPE_19,
47     GIBTYPE_20,
48     GIBTYPE_21,
49     GIBTYPE_22,
50     GIBTYPE_23,
51     GIBTYPE_24,
52     GIBTYPE_25,
53     GIBTYPE_26,
54     GIBTYPE_27,
55     GIBTYPE_28,
56     GIBTYPE_29,
57     GIBTYPE_30,
58     kGibMax
59 };
60 
61 class CGibPosition {
62 public:
63     int x, y, z;
CGibPosition(int _x,int _y,int _z)64     CGibPosition(int _x, int _y, int _z) : x(_x), y(_y), z(_z) {}
65 };
66 
67 class CGibVelocity {
68 public:
69     int vx, vy, vz;
CGibVelocity(int _vx,int _vy,int _vz)70     CGibVelocity(int _vx, int _vy, int _vz) : vx(_vx), vy(_vy), vz(_vz) {}
71 };
72 
73 void GibSprite(spritetype *pSprite, GIBTYPE nGibType, CGibPosition *pPos, CGibVelocity *pVel);
74 //void GibFX(int nWall, GIBFX * pGFX, int a3, int a4, int a5, int a6, CGibVelocity * pVel);
75 void GibWall(int nWall, GIBTYPE nGibType, CGibVelocity *pVel);
76 void gibPrecache(void);
77 
78