Kp
8f1055ca6b
Use std::span for poison helper functions
2022-09-24 17:47:51 +00:00
Kp
f3d31a6d27
Use enum class for Difficulty_level_type
2022-07-16 15:26:12 +00:00
Kp
a70188e7a5
Move various static functions into anonymous namespace
2022-07-09 13:39:29 +00:00
Kp
6215ef8e06
Pass LevelSharedRobotInfoState to various functions that need it
2022-07-09 13:39:29 +00:00
Kp
fca59adb53
Split out creating OBJ_WEAPON objects
2022-07-02 18:10:45 +00:00
Kp
be7388a369
Enable repaircenter in D1
...
The code exists in D2, and the segment special is reserved for both
games. Include the repaircenter code in D1, also.
2022-06-05 17:44:52 +00:00
Kp
86a32dd0ff
Change enum sidenum_t
to enum class sidenum_t
2022-06-05 17:44:52 +00:00
Kp
cf51ac4ee0
Fix BUG on show-path cheat
...
Players are not robots, but the show-path cheat tried to pretend they
are, and triggered a BUG warning[1] when looking up robot information
from the player object. Fix this by passing in the robot_info when the
caller is providing a robot, and a named `nullptr` value (as
`create_path_unused_robot_info`) when the caller is providing a
non-robot object.
[1] As below, but repeated many times
```
similar/main/ai.cpp:1905: BUG: object 0x555555858550 has type 4, expected 2
similar/main/ai.cpp:1974: BUG: object 0x555555858550 has type 4, expected 2
```
2022-05-21 19:51:18 +00:00
Kp
6cdc181218
Use enum class for segment_relative_vertnum
2022-01-09 15:25:42 +00:00
Kp
4ac9845f07
Fix clang build of fuelcen.cpp
...
clang treats names introduced by structured bindings specially, and
refuses to capture them for a lambda, even when it should be capturing
an rvalue reference. gcc accepts this capture.
Switch to initializing a lambda local variable from the structured
binding in the outer scope, which works with both compilers.
Reported-by: Kreeblah <https://github.com/dxx-rebirth/dxx-rebirth/issues/609 >
2021-11-04 03:24:43 +00:00
Kp
795b0e9111
Use enum class for station_number
2021-11-01 03:37:20 +00:00
Kp
d463b4beba
Use enumerate when traversing Station
2021-11-01 03:37:20 +00:00
Kp
3e02f99bcd
Use enum class for materialization_center_number
2021-11-01 03:37:20 +00:00
Kp
3862edfb6c
Use enum class for segment_special
2021-11-01 03:37:19 +00:00
Kp
028f4f8a56
Use structured bindings to access enumerated ranges
2021-06-28 03:37:50 +00:00
Dmitry Grigoryev
fbd05a1592
optimize include files (include what you use)
2021-02-06 21:38:50 +01:00
Kp
2e398c02c7
Convert uses of vmsegptr_t to shared_segment& where possible
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
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
3f951cf45f
Use A.size() or std::size instead of sizeof(A)/sizeof(A[0])
2020-07-05 23:34:33 +00:00
Kp
a4f2edfaa9
Move LevelSharedVertexState into d_level_shared_segment_state
2020-05-17 23:35:25 +00:00
Kp
9cee93abb1
Require support for C++14 std::exchange
2020-05-02 21:18:42 +00:00
Kp
fd134851d1
Pass context to morph_start
2020-02-26 05:07:34 +00:00
Kp
c3265f6b90
Convert segment &
to susegment
where possible
2019-12-22 05:34:08 +00:00
Kp
28d9358b00
Expand local aliases to their target variables
...
This makes the code easier to read, at the price of a bit of churn.
2019-12-16 01:56:59 +00:00
Kp
600dac43d8
Only count a robot as dropped after the object is created
...
If object creation fails, the counter is not decreased. This creates an
imbalance by over counting the number of robots in existence. Avoid
this imbalance by deferring the counter update until after the robot is
created.
2019-11-16 23:14:41 +00:00
Kp
2ca2de6ee7
Move player::num_robots_total to d_game_unique_state
...
The number of robots accumulated in a game is a function of the the
game's levels, not any particular player. Move it to
d_game_unique_state and rename it to accumulated_robots.
2019-07-16 04:00:50 +00:00
Kp
a24de0c003
Move player::num_robots_level to d_level_unique_object_state
...
The number of robots accumulated on a level is a function of the level,
not any particular player. Move it to d_level_unique_object_state and
rename it to accumulated_robots.
2019-07-16 04:00:50 +00:00
Kp
1eaaff3016
Move Difficulty_level to GameUniqueState
2019-06-27 03:26:20 +00:00
Kp
3aed2a1719
Move Num_robot_centers to d_level_shared_robotcenter_state
2019-03-12 04:01:07 +00:00
Kp
8764cad457
Use unsigned
in more prototypes
2019-03-03 00:31:09 +00:00
Kp
1008ab397e
Move Objects to d_level_unique_object_state
2019-03-03 00:31:08 +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
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
1a5844e218
Move Vertices out of global 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
a0ed5cb283
Pass Vclip as context
2018-10-21 00:24:07 +00:00
Kp
9cedc53f52
Pass vertex factory to extract_orient_from_segment
2018-09-19 02:13:30 +00:00
Kp
01512015a8
Move Num_segments to new d_level_shared_segment_state
2018-09-19 02:13:29 +00:00
Kp
30a83eec41
Eliminate some uses of valptridx::operator->
2018-06-24 05:06:15 +00:00
Kp
53a1d5f9ce
Pass vertex factory to compute_segment_center
2018-03-12 03:43:47 +00:00
Kp
88832e3679
Use constexpr integral_constant for various magic numbers
2017-10-14 17:10:30 +00:00
Kp
4cf4ce38b0
Cache player references
2017-08-13 20:38:31 +00:00
Kp
aa56477742
Propagate objects_in arguments
2017-08-13 20:38:31 +00:00
Kp
5eec2a5ce5
Use valptridx for Vertices
2017-08-11 23:43:54 +00:00
Kp
e8d82d7d85
Pass valptridx factories to static functions
2017-07-26 03:15:59 +00:00