Kp
91496e1d4a
Use enum class for properties_init result
2023-01-07 22:17:31 +00:00
Kp
e3553586c1
Use enum class for bitmap_index
2022-12-31 16:21:47 +00:00
Kp
0fd5ea2972
Inline PHYSFSX_fseek(..., SEEK_SET)
...
When using SEEK_SET, the call passed through to PhysFS after truncating
the offset. Call PhysFS directly in this case, bypassing the wrapper.
2022-12-18 23:10:39 +00:00
Kp
4257391a47
Use enum class for polygon_model_index
2022-12-18 18:32:14 +00:00
Kp
43e1c841f0
Pass polymodel& to polymodel_read
2022-10-09 23:15:20 +00:00
Kp
9716d42ea0
Use enum class for pig_hamfile_version
2022-10-09 23:15:20 +00:00
Kp
0ebcc64ac5
Test whether change_filename_extension succeeded before using its output
2022-10-09 23:15:20 +00:00
Kp
a9142bb65a
Use std::span for change_filename_extension arguments
2022-10-09 23:15:20 +00:00
Kp
38adcc7729
Simplify change_filename_extension
...
The called function skipped over a leading dot in the extension. Remove
that logic and change all callers not to supply a leading dot.
2022-10-09 23:15:20 +00:00
Kp
b1da47a34b
Compare d1 extra pig in place
...
Instead of creating a copy, modifying the copy, and comparing to it, use
std::span to pass down the maximum allowed length for comparison.
2022-09-24 17:47:52 +00:00
Kp
6215ef8e06
Pass LevelSharedRobotInfoState to various functions that need it
2022-07-09 13:39:29 +00:00
Kp
8be306efa7
Use enum class for cockpit_mode_t
2022-02-12 18:57:12 +00:00
Kp
d2478d0708
Require support for C++17 attribute [[fallthrough]]
2022-01-09 15:25:42 +00:00
Kp
2fbddf7a5a
Use enum class for tmapinfo_flags
2021-11-01 03:37:20 +00:00
Kp
1c13d3c8d3
Improve error reporting for PHYSFSX_openReadBuffered
...
Return the PHYSFS error code on failure, so that callers can report why
the open failed.
2021-07-25 23:00:56 +00:00
Dmitry Grigoryev
fbd05a1592
optimize include files (include what you use)
2021-02-06 21:38:50 +01:00
Kp
fc63029833
Move more symbols into namespaces
2020-12-26 21:17:29 +00:00
Arne de Bruijn
1d55bc7746
always init extra_bitmap_num in load_exit_models
...
Commit cb2b844
and subsequent commits changed load_exit_models to only
call bm_free_extra_objbitmaps if EMULATING_D1. The variable
extra_bitmap_num is initialized as a side effect of
bm_free_extra_objbitmaps, so it wasn't initialized anymore if
not EMULATING_D1. This broke the exit sequence with the
D2 Mac Demo data and add-on missions with custom exit sequences.
This commit adds initialization of extra_bitmap_num if not EMULATING_D1
to fix the exit handling.
2020-11-29 22:24:13 +01:00
Kp
a6abf76d0a
Use enum class for index into ObjBitmaps
2020-10-07 03:59:14 +00:00
Kp
24497fa085
Use enum class for bmread mode selector
2020-10-07 03:59:14 +00:00
Kp
ab44115aa4
Move N_robot_joints to d_level_shared_robot_joint_state
2020-08-24 01:31:28 +00:00
Kp
636978db4b
Move Marker_model_num to d_level_shared_polygon_model_state
2020-08-24 01:31:28 +00:00
Kp
cb33b04521
Pass output grs_bitmap to read_extra_bitmap_iff
2020-08-24 01:31:28 +00:00
Kp
9c3fc7523c
Make extra_bitmap_num static
...
Modify read_extra_bitmap_d1_pig to take the bitmap-to-write as a
parameter, instead of computing it from extra_bitmap_num.
2020-08-24 01:31:28 +00:00
Kp
faf37e3c14
Always allocate D2-sized sound array
...
This makes other code simpler, and the extra elements will simply be
ignored in D1.
2020-08-24 01:31:28 +00:00
Kp
514c63efad
Expose both MAX_SOUNDS in both games
2020-08-24 01:31:28 +00:00
Kp
8a1bc7f318
Move Exit_models_loaded into d_level_shared_polygon_model_state
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
7b52b1fe1d
Move grs_bitmap::avg_color into #if !DXX_USE_OGL
...
This field is used in the SDL build for rendering. In the GL build, its
only purpose is for the editor to write it to a PIG file. Change that
one use to compute the value as needed. Move all other references
behind a preprocessor test for !DXX_USE_OGL. This shrinks the size of
grs_bitmap by 1 pointer, since the compiler added padding after
avg_color up to the size of the next aligned pointer.
2020-05-22 02:40:26 +00:00
Kp
db7b4b3f88
Refer to <memory> directly, not through "compiler-make_unique.h"
2020-05-02 21:18:43 +00:00
Kp
cc38cdf4b8
Qualify uses of std::make_unique
2020-05-02 21:18:42 +00:00
Kp
53761500f1
Qualify uses of std::array
2020-05-02 21:18:42 +00:00
Kp
9cee93abb1
Require support for C++14 std::exchange
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
99356e0cdb
Use enum for include/exclude anarchy mode
2020-01-18 21:57:39 +00:00
ziplantil
4cb06c43f7
revert to old load behavior when emulating D1
2019-12-21 23:42:04 +02:00
ziplantil
e5c7d47199
adjust exit bitmap indexes for hatch models
2019-12-19 15:33:58 +02:00
ziplantil
0a21784aa7
some changes as per comments in #479
2019-12-18 13:44:43 +02:00
ziplantil
341c622e69
that verbose one is no longer needed
2019-12-12 17:42:53 +02:00
ziplantil
ed88836e9d
make sure there is enough space to load exit data
2019-12-12 17:34:42 +02:00
ziplantil
cb2b844af3
do not free extra models when loading exit stuff on D2
2019-12-12 17:25:11 +02:00
Kp
3bd10610fc
Use xrange for loops with zero start and simple identifier end
...
s/for\s*(\s*\(\w\+\)\s\+\(\w\+\)\s*=\s*0\+u\?\s*;\s*\2\s*!=\s*\([A-Za-z_0-9]\+\)u\?\s*;\s*\(++\s*\2\|\2\s*++\s*\))/range_for (const \1 \2, xrange(\3))/
2019-05-04 18:27:37 +00:00
Kp
15ac8a5ac6
Add utility xrange for range-based loops with precomputed bounds
...
Utility xrange, inspired by the Python2 feature of the same name,
provides an object that returns successive values from [start, end). It
is useful when the end index is known in advance, and is particularly
helpful when that index is expensive to recompute.
2019-05-04 18:27:36 +00:00
Kp
063bf29225
Enable -Wimplicit-fallthrough=5; fix resulting breaks
...
This enables using -Wimplicit-fallthrough with ccache+distcc, which
strip the fallthrough comments, but do not strip the attribute
annotationns.
2019-04-04 04:29:03 +00:00
Kp
699030606e
Move Effects to d_level_unique_effects_clip_state
2019-03-03 00:31:09 +00:00
Kp
fec16daca4
Generate unique starfield per level
2019-02-02 18:36:39 +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
12c06e59aa
Move N_robot_types into LevelSharedRobotInfoState
2018-12-30 00:43:59 +00:00