diff --git a/SConstruct b/SConstruct index 29c25d99b..0089fae85 100644 --- a/SConstruct +++ b/SConstruct @@ -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', diff --git a/common/main/cglobal.cpp b/common/main/cglobal.cpp new file mode 100644 index 000000000..e255e1aff --- /dev/null +++ b/common/main/cglobal.cpp @@ -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 Side_opposite{{{ + sidenum_t::WRIGHT, + sidenum_t::WBOTTOM, + sidenum_t::WLEFT, + sidenum_t::WTOP, + sidenum_t::WFRONT, + sidenum_t::WBACK +}}}; + +const per_side_array> 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 +}}}; + +} diff --git a/similar/main/mglobal.cpp b/similar/main/mglobal.cpp index eaa8a92da..2b509db41 100644 --- a/similar/main/mglobal.cpp +++ b/similar/main/mglobal.cpp @@ -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::array_managed_type Players; valptridx::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 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> 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);