dxx-rebirth/common/include/editor/esegment.h

49 lines
2 KiB
C
Raw Normal View History

2014-06-01 17:55:23 +00:00
/*
* This file is part of the DXX-Rebirth project <http://www.dxx-rebirth.com/>.
* It is copyright by its individual contributors, as recorded in the
* project's Git history. See COPYING.txt at the top level for license
* terms and a link to the Git history.
*/
2013-03-16 03:10:55 +00:00
#pragma once
2015-04-02 02:36:52 +00:00
#include "dxxsconf.h"
#include "compiler-array.h"
2013-03-16 03:10:55 +00:00
#include "segment.h"
2013-10-26 03:40:50 +00:00
#include "editor/editor.h"
2013-03-16 03:10:55 +00:00
#if defined(DXX_BUILD_DESCENT_I) || defined(DXX_BUILD_DESCENT_II)
2015-07-12 01:04:18 +00:00
extern segptridx_t Cursegp; // Pointer to current segment in the mine, the one to which things happen.
2013-03-16 03:10:55 +00:00
#define New_segment (Segments[MAX_SEGMENTS-1])
extern int Curside; // Side index in 0..MAX_SIDES_PER_SEGMENT of active side.
extern int Curedge; // Current edge on current side, in 0..3
extern int Curvert; // Current vertex on current side, in 0..3
extern int AttachSide; // Side on segment to attach
extern int Draw_all_segments; // Set to 1 means draw_world draws all segments in Segments, else draw only connected segments
2015-07-12 01:04:18 +00:00
extern segptridx_t Markedsegp; // Marked segment, used in conjunction with *Cursegp to form joints.
extern array<segment *, MAX_GROUPS+1> Groupsegp;
#endif
2013-03-16 03:10:55 +00:00
extern int Markedside; // Marked side on Markedsegp.
2015-02-14 22:48:28 +00:00
extern array<uint8_t, MAX_VERTICES> Vertex_active; // !0 means vertex is in use, 0 means not in use.
2013-03-16 03:10:55 +00:00
// The extra group in the following arrays is used for group rotation.
2015-04-02 02:36:52 +00:00
extern array<group, MAX_GROUPS+1> GroupList;
extern array<int, MAX_GROUPS+1> Groupside;
2013-03-16 03:10:55 +00:00
extern int current_group;
2015-01-12 00:26:02 +00:00
extern unsigned num_groups;
2013-03-16 03:10:55 +00:00
extern int Current_group;
struct found_segment_array_t : public count_segment_array_t {};
extern found_segment_array_t Found_segs; // List of segment numbers "found" under cursor click
2013-03-16 03:10:55 +00:00
struct selected_segment_array_t : public count_segment_array_t {};
extern selected_segment_array_t Selected_segs; // List of segment numbers currently selected
2013-03-16 03:10:55 +00:00
struct warning_segment_array_t : public count_segment_array_t {};
extern warning_segment_array_t Warning_segs; // List of warning-worthy segments