Commit graph

10430 commits

Author SHA1 Message Date
Kp 20ecff4e4b Coerce RELEASE CT_SLEW to CT_NONE
Release builds should never have an object in CT_SLEW state.  If they
do, they abort the program.  This is an extreme reaction.  Change the
logic to report the problem, then coerce the type to CT_NONE and try to
resume operation.
2019-02-02 18:36:39 +00:00
Kp 84fa2cde4a Move Num_fuelcenters to d_level_unique_fuelcenter_state 2019-02-02 18:36:39 +00:00
Kp 943e0a8b5f Move Station to d_level_unique_fuelcenter_state 2019-02-02 18:36:39 +00:00
Kp 919580eaa9 Move RobotCenters to d_level_shared_robotcenter_state 2019-02-02 18:36:39 +00:00
Kp 7558795edd Fix sharepath confusion when building both targets
Processing sharepath in SConf is incorrect, because targets can share a
build directory (and therefore an SConf run), but not share a sharepath.
Move sharepath handling out of SConf.  Move DXX_USE_SHAREPATH handling
from CGameArg to GameArg, since one game can be built with a sharepath
while the other is built without.
2019-01-20 05:36:56 +00:00
Kp 0b319e2736 Print an error to the console when saving a game fails 2019-01-20 05:36:55 +00:00
Kp 5d12f62d77 Omit p3_{u,v,l} from OpenGL builds
These are write-only for OpenGL.  All reads are in SDL-only code.
Remove them to save 3 ints of space in every g3s_point.
2019-01-01 04:54:35 +00:00
Kp a472f04035 Only test warn_func when it can be nullptr 2019-01-01 04:54:35 +00:00
Kp f8cafd2e65 Pass context to switch functions 2019-01-01 04:54:35 +00:00
Kp cd243ad844 Flatten some uses of trigger_wall_op 2019-01-01 04:54:35 +00:00
Kp e864542862 Work around broken clang -Wuninitialized warning
clang warns for using an uninitialized array during the
member-initialization-list, before the union constructor would have done
nothing.  clang permits using the still-uninitialized array in the
constructor body, after the union constructor has done nothing.
The same code is generated both before and after this commit, but the
old code produces a warning and the new code is silent.

```
similar/main/physics.cpp:282:5: error: field 'a' is uninitialized when used here [-Werror,-Wuninitialized]
        e(a.begin())
```
2019-01-01 04:54:35 +00:00
Kp 0080a8b7c7 Remove unused object_intersects_wall 2019-01-01 04:54:35 +00:00
Kp 20c56cd50b Fix missing comma in SConstruct test
The comma was omitted to discourage putting anything after the last
element.  This was fine when there were multiple elements, but with only
one value, the missing comma causes this not to be a tuple as intended.
Add a comma to fix the test.  Add some additional comments on supported
C++ versions by gcc major version.
2019-01-01 04:54:34 +00:00
Kp bc666fb9e0 Require C++14 in SConstruct tests
Recent code changes require use of return type deduction, which is only
standard in C++14 and later.  Require C++14.  In practice, this changes
nothing, because the minimum supported compiler versions were already
choosing C++14.  This change rejects older compilers that were already
unsupported.
2018-12-31 04:46:16 +00:00
Kp 0d107b3ab6 Fix gcc-4.9 build of similar/main/wall.cpp
gcc-4.9 rejects defining a class with a reference member and no
constructor, even though the use of the class uses a
brace-initialization expression to set the reference at construction
time.

Fixes: fa654324ad ("Pass context to wall.cpp:cwframe, cw_removal_predicate")
2018-12-31 04:46:16 +00:00
Kp a02ad8b164 Move Robot_joints to d_level_shared_robot_joint_state 2018-12-30 00:43:59 +00:00
Kp 1e549a02d4 Move Num_tmaps to d_level_unique_tmap_info_state 2018-12-30 00:43:59 +00:00
Kp 1f18db3c39 Move TmapInfo to d_level_unique_tmap_info_state 2018-12-30 00:43:59 +00:00
Kp ad8c80b0c4 Unify D1/D2 set_sound_sources eclip lookup 2018-12-30 00:43:59 +00:00
Kp 12c06e59aa Move N_robot_types into LevelSharedRobotInfoState 2018-12-30 00:43:59 +00:00
Kp e84a65edc6 Move Robot_info into LevelSharedRobotInfoState 2018-12-30 00:43:59 +00:00
Kp 03fe3a6696 Move Polygon_models into LevelSharedPolygonModelState 2018-12-30 00:43:59 +00:00
Kp 027cdaf568 Add debug log when sharepath is not used 2018-12-30 00:43:58 +00:00
Kp df0692bbea Move morph_objects into LevelUniqueMorphObjectState 2018-12-30 00:43:58 +00:00
Kp 4c7555216a Move Dynamic_light into LevelUniqueLightState 2018-12-30 00:43:58 +00:00
Kp 69c02efe1d Simplify g3s_codes 2018-12-30 00:43:58 +00:00
Kp 6ee28c3fe0 Move Triggers to d_level_unique_trigger_state 2018-12-30 00:43:58 +00:00
Kp bc78afc3a2 Remove write-only D1 trigger::link_num 2018-12-30 00:43:58 +00:00
Kp 4b125af449 Move ActiveDoors to d_level_unique_active_door_state 2018-12-30 00:43:58 +00:00
Kp 865bad8607 Move CloakingWalls to d_level_unique_cloaking_wall_state 2018-12-30 00:43:58 +00:00
Kp 9be3c8e2e8 Move Walls into d_level_unique_wall_state 2018-12-30 00:43:58 +00:00
Kp ac476be19b Pass wall &to blast_blastable_wall 2018-12-30 00:43:58 +00:00
Kp b3cd7588ef Move Delta_lights into d_level_shared_destructible_light_state 2018-12-30 00:43:58 +00:00
Kp 46644b4e91 Move Dl_indices into d_level_shared_destructible_light_state 2018-12-30 00:43:58 +00:00
Kp b08dac2971 Simplify handling warning function 2018-12-30 00:43:58 +00:00
Kp 82f2f17c66 Add comment to SConstruct __preferred_win32_linker_options 2018-12-30 00:43:58 +00:00
Kp 4ea1041600 Add more distributions to ISSUE_TEMPLATE.md 2018-12-30 00:43:58 +00:00
Kp 25baa1fbba Remove visited2
It is debug-only, and has never triggered.
2018-12-30 00:43:58 +00:00
Kp 40adccd56b Move subtitles into movie 2018-12-30 00:43:58 +00:00
Kp 040de5b10e Rename ObjectState to LevelUniqueObjectState for consistency 2018-12-30 00:43:57 +00:00
Kp e7e4970ba5 Move Vertex_active out of global scope 2018-12-30 00:43:57 +00:00
Kp 1a5844e218 Move Vertices out of global scope 2018-12-30 00:43:57 +00:00
Kp 696551a966 Drop editor-specific object fixups
If these are needed, they need to be done at edit time, not when the
game starts.
2018-12-30 00:43:57 +00:00
Kp 5873ccb71e Pass vcvertptr as context 2018-12-30 00:43:57 +00:00
Kp 317c56d683 Expand Highest_vertex_index inline
This will make future conversions easier.
2018-12-30 00:43:57 +00:00
Kp 65225680c1 Move Num_vertices into d_level_shared_vertex_state 2018-12-30 00:43:57 +00:00
Kp f87c503618 Move Viewer_eye to local scope 2018-12-30 00:43:57 +00:00
Kp 045afc2c56 Prefer const shared_segment & over vcsegptr_t 2018-12-30 00:43:57 +00:00
Kp 2f537133e8 Use vcobjidx_t for fvi ignore_obj_list
Enforce that callers provide vcobjidx_t, instead of permitting any type
compatible with objnum_t.
2018-12-30 00:43:57 +00:00
Kp aa9e6da297 Pass Dl_indices as context 2018-12-30 00:43:57 +00:00