Subversion Repositories Games.Descent

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 pmbaty 1
/*
2
 * This file is part of the DXX-Rebirth project <https://www.dxx-rebirth.com/>.
3
 * It is copyright by its individual contributors, as recorded in the
4
 * project's Git history.  See COPYING.txt at the top level for license
5
 * terms and a link to the Git history.
6
 */
7
#pragma once
8
 
9
#include "dxxsconf.h"
10
 
11
#include "segment.h"
12
#include "editor/editor.h"
13
#include <array>
14
 
15
#if defined(DXX_BUILD_DESCENT_I) || defined(DXX_BUILD_DESCENT_II)
16
extern imsegptridx_t Cursegp;                           // Pointer to current segment in the mine, the one to which things happen.
17
 
18
#define New_segment     (Segments.back())
19
 
20
extern  int             Curside;                                        // Side index in 0..MAX_SIDES_PER_SEGMENT of active side.
21
extern  int             Curedge;                                        //      Current edge on current side, in 0..3
22
extern  int             Curvert;                                        //      Current vertex on current side, in 0..3
23
extern  int             AttachSide;                             //      Side on segment to attach
24
extern  int             Draw_all_segments;      // Set to 1 means draw_world draws all segments in Segments, else draw only connected segments
25
extern imsegptridx_t Markedsegp;                        // Marked segment, used in conjunction with *Cursegp to form joints.
26
extern std::array<segment *, MAX_GROUPS+1> Groupsegp;
27
#endif
28
extern  int             Markedside;                             // Marked side on Markedsegp.
29
 
30
// The extra group in the following arrays is used for group rotation.
31
extern std::array<group, MAX_GROUPS+1> GroupList;
32
extern std::array<int, MAX_GROUPS+1> Groupside;
33
extern  int             current_group;
34
extern unsigned num_groups;
35
extern  int             Current_group;
36
 
37
struct found_segment_array_t : public count_segment_array_t {};
38
 
39
extern found_segment_array_t Found_segs;                        // List of segment numbers "found" under cursor click
40
 
41
struct selected_segment_array_t : public count_segment_array_t {};
42
 
43
extern selected_segment_array_t Selected_segs;          // List of segment numbers currently selected
44
 
45
struct warning_segment_array_t : public count_segment_array_t {};
46
 
47
extern warning_segment_array_t Warning_segs;            // List of warning-worthy segments