Dmitry Grigoryev
fbd05a1592
optimize include files (include what you use)
2021-02-06 21:38:50 +01:00
Kp
421959643c
Make get_level_name menu inherit from newmenu
2020-12-27 22:03:09 +00:00
Kp
834f009dd7
Use enum class for wallnum_t
2020-12-26 21:17:29 +00:00
Kp
fc63029833
Move more symbols into namespaces
2020-12-26 21:17:29 +00:00
Kp
faa4d2ce34
Use enum class for vertnum_t
2020-12-26 21:17:29 +00:00
Kp
4658abc87e
Remove Adam_level_names[]
...
These refer to the Miner levels, which were removed in the preceding
commit since support for them has been marked as broken for an extended
period, and no one has reported an issue.
2020-12-20 20:39:07 +00:00
Kp
6b3e78054c
Remove support for reading Miner's .LVL files
...
The Miner LVL files are not present in retail Descent 2 data. I know of
no way to obtain them. The code for loading them has been marked as
broken since 2018, and no one reported it. Remove this support to
simplify future work.
2020-12-20 20:39:07 +00:00
Kp
b1b2300c7d
Use enum class for wall_key
2020-12-19 16:13:26 +00:00
Kp
200952c3d9
Add type-specific tag wrappers for newmenu calls
...
Make the compiler check that title, subtitle, and filename are passed in
the right places.
2020-12-19 16:13:26 +00:00
Kp
d309c141e7
Switch non-format uses of nm_messagebox to nm_messagebox_str
2020-10-22 02:26:16 +00:00
Kp
61f186bc18
Use enum class for texture1_value
2020-09-11 03:08:02 +00:00
Kp
39cb42b878
Push partial_range construction to newmenu callers
...
In some cases, callers know the length of the range and can apply better
checks than the called code.
2020-09-11 03:08:02 +00:00
Kp
6d3dce4e16
Use enum class for tmap_num2
...
Define separate enum values for rotation data in both the high bits,
where it is usually kept, and the low bits, where it is sometimes used
for math or comparisons.
Define an enum value to represent the composite of the index and the
rotation, since the composite is not suitable for use as an array
subscript. Add helper functions to extract the component pieces.
2020-08-24 01:31:28 +00:00
Kp
c96671f763
Move Pof_names to d_level_shared_polygon_model_state
2020-08-24 01:31:28 +00:00
Kp
dca3c6cdca
Move savegame POF names to stack
...
They are only used while loading a savegame file. There is no need for
them to be global.
2020-08-24 01:31:28 +00:00
Kp
0eaabdb2fb
Move N_polygon_models into d_level_shared_polygon_model_state
2020-08-24 01:31:28 +00:00
Kp
de4efc4f46
Qualify more uses of shared_segment members
2020-08-24 01:31:28 +00:00
Kp
038c6aef4d
Move d_level_unique_object_state to a separate header
...
This is required to untangle the cross-inclusion of object.h and
morph.h.
2020-08-10 03:45:14 +00:00
Kp
7ad8d8c28b
Rename object::movement_type to movement_source
...
gcc and clang disagree about how to disambiguate when an identifier is
both a typename and a member. Avoid the disagreement by renaming the
member.
2020-08-10 03:45:13 +00:00
Kp
5245b1c4a3
Rename object::control_type to control_source
...
gcc and clang disagree about how to disambiguate when an identifier is
both a typename and a member. Avoid the disagreement by renaming the
member.
Reported-by: Kreeblah <https://github.com/dxx-rebirth/dxx-rebirth/issues/532 >
2020-08-10 03:45:13 +00:00
Kp
1c42f69ff2
Use enum class for object_signature_t
2020-08-10 03:45:13 +00:00
Kp
38cddb0289
Use enum class for object movement_type
2020-08-10 03:45:13 +00:00
Kp
9e2543ecbf
Use enum class for object control_type
2020-08-06 03:47:56 +00:00
Kp
b948da1a1f
Replace uses of enumerate with zip where appropriate
...
In some places, enumerate was used only to get an index value because
zip was not available. Switch those sites to use zip directly.
2020-07-05 23:34:33 +00:00
Kp
0a1f2ad55e
Tighten type for trigger action values
2020-07-05 23:34:32 +00:00
Kp
a4f2edfaa9
Move LevelSharedVertexState into d_level_shared_segment_state
2020-05-17 23:35:25 +00:00
Kp
399aee8d49
Use dedicated type for object render_type
...
Check conversions. On invalid input, coerce to RT_NONE and print a
warning.
2020-05-02 21:18:43 +00:00
Kp
53761500f1
Qualify uses of std::array
2020-05-02 21:18:42 +00:00
Kp
714c13b3c1
Move WallAnims into d_game_shared_state
2020-04-04 19:30:22 +00:00
Kp
c93e7f44c3
Move object::last_pos to LevelUniqueObjectState
...
Only the console player's last position needs to be remembered across
frames. Copy the console player's position out before processsing
object movement. For all other objects, retain a temporary for use by
the position recovery code.
2019-12-22 05:34:08 +00:00
Kp
c3265f6b90
Convert segment &
to susegment
where possible
2019-12-22 05:34:08 +00:00
Kp
9f0b455f6d
Move Reactor_strength to d_level_shared_control_center_state
2019-08-15 01:34:22 +00:00
Kp
9689a7f7d2
Move Base_control_center_explosion_time to d_level_shared_control_center_state
2019-08-15 01:34:22 +00:00
Kp
4b0f797d7e
Move Secret_return_orient to d_level_shared_segment_state
2019-08-06 02:59:41 +00:00
Kp
ad16d90dd5
Move Secret_return_segment to d_level_shared_segment_state
2019-08-06 02:59:41 +00:00
Kp
49fd1f358e
Eliminate unnecessary Gamesave_current_filename
...
It is only read in contexts where the initializing filename is still
available, so pass the filename down instead of copying it to a global.
2019-08-06 02:59:40 +00:00
Kp
d413a5da13
Initialize powerup flags at level load
2019-07-07 22:00:02 +00:00
Kp
01eb585c7a
Set matcen_creator on loaded robots
...
This avoids a Valgrind warning for use of an uninitialized field.
2019-07-07 22:00:02 +00:00
Kp
bfeca84bb8
Change object::signature to be a generation counter
...
This removes the need to walk all objects when creating a new one, since
each object can have a private generation counter, unaware of other
objects. For compatibility with demos, mix in the object's index when
writing the signature value.
2019-07-07 22:00:02 +00:00
Kp
2243cd7f58
Use xrange for loops with zero start and constant numerical end
...
s/for\s*(\s*\(\w\+\)\s\+\(\w\+\)\s*=\s*0\+u\?\s*;\s*\2\s*\(!=\|<\)\s*\([0-9]\+\)u\?\s*;\s*\(++\s*\2\|\2\s*++\s*\))/range_for (const \1 \2, xrange(\4u))/
2019-05-04 18:27:36 +00:00
Kp
3aed2a1719
Move Num_robot_centers to d_level_shared_robotcenter_state
2019-03-12 04:01:07 +00:00
Kp
1008ab397e
Move Objects to d_level_unique_object_state
2019-03-03 00:31:08 +00:00
Kp
919580eaa9
Move RobotCenters to d_level_shared_robotcenter_state
2019-02-02 18:36:39 +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
6ee28c3fe0
Move Triggers to d_level_unique_trigger_state
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
9be3c8e2e8
Move Walls into d_level_unique_wall_state
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