UFO: Alien Invasion
Loading...
Searching...
No Matches
map.h
Go to the documentation of this file.
1
4
5/*
6All original material Copyright (C) 2002-2025 UFO: Alien Invasion.
7
8Copyright (C) 1997-2001 Id Software, Inc.
9
10This program is free software; you can redistribute it and/or
11modify it under the terms of the GNU General Public License
12as published by the Free Software Foundation; either version 2
13of the License, or (at your option) any later version.
14
15This program is distributed in the hope that it will be useful,
16but WITHOUT ANY WARRANTY; without even the implied warranty of
17MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
19See the GNU General Public License for more details.
20
21You should have received a copy of the GNU General Public License
22along with this program; if not, write to the Free Software
23Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24
25*/
26
27#pragma once
28
31#include "common/polylib.h"
32
33typedef struct brush_texture_s {
38 uint32_t surfaceFlags;
39 int value;
41
42typedef struct face_s {
43 struct face_s* next;
44
48 struct face_s* merged;
49 struct face_s* split[2];
50
51 struct portal_s* portal;
53 uint16_t planenum;
54 uint32_t contentFlags;
58} face_t;
59
60typedef struct side_s {
61 uint16_t planenum;
64 struct side_s* original;
65 uint32_t contentFlags;
66 uint32_t surfaceFlags;
67 bool visible;
68 bool tested;
69 bool bevel;
71
72 struct mapbrush_s* brush;
73} side_t;
74
75typedef struct mapbrush_s {
78
79 uint32_t contentFlags;
80
82
84 struct side_s* original_sides;
85
89 struct mapbrush_s** nearBrushes;
91
93
96
98typedef struct plane_s {
105 int type;
107 struct plane_s* hash_chain;
108} plane_t;
109
110typedef struct portal_s {
112 struct node_s* onnode;
113 struct node_s* nodes[2];
114 struct portal_s* next[2];
116
118 struct side_s* side;
120} portal_t;
Definition aabb.h:42
Defined CONSTANTS (Macros are elsewhere).
#define MAXEDGES
Definition defines.h:49
#define MAX_TEXPATH
Definition defines.h:95
vec2_t shift
Definition map.h:34
vec2_t scale
Definition map.h:36
char name[MAX_TEXPATH]
Definition map.h:37
int value
Definition map.h:39
vec_t rotate
Definition map.h:35
uint32_t surfaceFlags
Definition map.h:38
Definition map.h:42
uint16_t planenum
Definition map.h:53
struct face_s * merged
Definition map.h:48
int vertexnums[MAXEDGES]
Definition map.h:57
winding_t * w
Definition map.h:55
uint32_t contentFlags
Definition map.h:54
struct portal_s * portal
Definition map.h:51
struct face_s * next
Definition map.h:43
int numpoints
Definition map.h:56
struct face_s * split[2]
Definition map.h:49
int texinfo
Definition map.h:52
struct mapbrush_s ** nearBrushes
Definition map.h:89
struct side_s * original_sides
Definition map.h:84
bool finished
Definition map.h:94
int brushnum
Definition map.h:77
bool skipWriteBack
Definition map.h:92
int numsides
Definition map.h:83
uint32_t contentFlags
Definition map.h:79
AABB mbBox
Definition map.h:81
int entitynum
Definition map.h:76
int numNear
Definition map.h:90
Definition map.h:98
struct plane_s * hash_chain
Definition map.h:107
vec3_t planeVector[3]
Definition map.h:106
int type
Definition map.h:105
vec_t dist
Definition map.h:100
vec3_t normal
Definition map.h:99
struct node_s * nodes[2]
Definition map.h:113
bool sidefound
Definition map.h:117
struct side_s * side
Definition map.h:118
winding_t * winding
Definition map.h:115
struct node_s * onnode
Definition map.h:112
face_t * face[2]
Definition map.h:119
plane_t plane
Definition map.h:111
struct portal_s * next[2]
Definition map.h:114
Definition map.h:60
uint16_t planenum
Definition map.h:61
winding_t * winding
Definition map.h:63
uint32_t surfaceFlags
Definition map.h:66
int texinfo
Definition map.h:62
bool visible
Definition map.h:67
bool isCompositeMember
Definition map.h:70
uint32_t contentFlags
Definition map.h:65
struct mapbrush_s * brush
Definition map.h:72
bool tested
Definition map.h:68
struct side_s * original
Definition map.h:64
bool bevel
Definition map.h:69
for storing the vertices of the side of a brush or other polygon
Definition polylib.h:30
float vec_t
Definition ufotypes.h:37
vec_t vec3_t[3]
Definition ufotypes.h:39
vec_t vec2_t[2]
Definition ufotypes.h:38