Move global constants from mglobal.cpp to cglobal.cpp

These constants can be useful in unit tests, so move them out to their
own file.
This commit is contained in:
Kp 2023-03-12 10:40:25 +00:00
parent 6add766bb3
commit 89e89c8afb
3 changed files with 47 additions and 32 deletions

View file

@ -4546,6 +4546,7 @@ class DXXArchive(DXXCommon):
'common/arch/sdl/mouse.cpp',
'common/arch/sdl/timer.cpp',
'common/arch/sdl/window.cpp',
'common/main/cglobal.cpp',
'common/main/cli.cpp',
'common/main/cmd.cpp',
'common/main/cvar.cpp',

46
common/main/cglobal.cpp Normal file
View file

@ -0,0 +1,46 @@
/*
* Portions of this file are copyright Rebirth contributors and licensed as
* described in COPYING.txt.
* Portions of this file are copyright Parallax Software and licensed
* according to the Parallax license below.
* See COPYING.txt for license details.
THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS
AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
*/
/*
* Global constants for main directory
*/
#include "segment.h"
namespace dcx {
// Translate table to get opposite side of a face on a segment.
constexpr per_side_array<sidenum_t> Side_opposite{{{
sidenum_t::WRIGHT,
sidenum_t::WBOTTOM,
sidenum_t::WLEFT,
sidenum_t::WTOP,
sidenum_t::WFRONT,
sidenum_t::WBACK
}}};
const per_side_array<enumerated_array<segment_relative_vertnum, 4, side_relative_vertnum>> Side_to_verts{{{
{{{segment_relative_vertnum::_7, segment_relative_vertnum::_6, segment_relative_vertnum::_2, segment_relative_vertnum::_3}}}, // left
{{{segment_relative_vertnum::_0, segment_relative_vertnum::_4, segment_relative_vertnum::_7, segment_relative_vertnum::_3}}}, // top
{{{segment_relative_vertnum::_0, segment_relative_vertnum::_1, segment_relative_vertnum::_5, segment_relative_vertnum::_4}}}, // right
{{{segment_relative_vertnum::_2, segment_relative_vertnum::_6, segment_relative_vertnum::_5, segment_relative_vertnum::_1}}}, // bottom
{{{segment_relative_vertnum::_4, segment_relative_vertnum::_5, segment_relative_vertnum::_6, segment_relative_vertnum::_7}}}, // back
{{{segment_relative_vertnum::_3, segment_relative_vertnum::_2, segment_relative_vertnum::_1, segment_relative_vertnum::_0}}}, // front
}}};
}

View file

@ -60,7 +60,6 @@ d_level_unique_automap_state LevelUniqueAutomapState;
d_level_unique_fuelcenter_state LevelUniqueFuelcenterState;
d_level_unique_robot_awareness_state LevelUniqueRobotAwarenessState;
d_level_unique_segment_state LevelUniqueSegmentState;
// Global array of vertices, common to one mine.
valptridx<player>::array_managed_type Players;
valptridx<segment>::array_managed_type Segments;
}
@ -73,37 +72,6 @@ fix64 GameTime64 = 0; // Time in game, in seconds
int d_tick_count = 0; // increments every 33.33ms
int d_tick_step = 0; // true once every 33.33ms
// This is the global mine which create_new_mine returns.
//lsegment Lsegments[MAX_SEGMENTS];
// Number of vertices in current mine (ie, Vertices, pointed to by Vp)
// Translate table to get opposite side of a face on a segment.
constexpr per_side_array<sidenum_t> Side_opposite{{{
sidenum_t::WRIGHT,
sidenum_t::WBOTTOM,
sidenum_t::WLEFT,
sidenum_t::WTOP,
sidenum_t::WFRONT,
sidenum_t::WBACK
}}};
#define TOLOWER(c) ((((c)>='A') && ((c)<='Z'))?((c)+('a'-'A')):(c))
const per_side_array<enumerated_array<segment_relative_vertnum, 4, side_relative_vertnum>> Side_to_verts{{{
{{{segment_relative_vertnum::_7, segment_relative_vertnum::_6, segment_relative_vertnum::_2, segment_relative_vertnum::_3}}}, // left
{{{segment_relative_vertnum::_0, segment_relative_vertnum::_4, segment_relative_vertnum::_7, segment_relative_vertnum::_3}}}, // top
{{{segment_relative_vertnum::_0, segment_relative_vertnum::_1, segment_relative_vertnum::_5, segment_relative_vertnum::_4}}}, // right
{{{segment_relative_vertnum::_2, segment_relative_vertnum::_6, segment_relative_vertnum::_5, segment_relative_vertnum::_1}}}, // bottom
{{{segment_relative_vertnum::_4, segment_relative_vertnum::_5, segment_relative_vertnum::_6, segment_relative_vertnum::_7}}}, // back
{{{segment_relative_vertnum::_3, segment_relative_vertnum::_2, segment_relative_vertnum::_1, segment_relative_vertnum::_0}}}, // front
}}};
// Texture map stuff
//--unused-- fix Laser_delay_time = F1_0/6; // Delay between laser fires.
static void reset_globals_for_new_game()
{
reconstruct_global_variable(LevelSharedBossState);