Chris Taylor
4cc801f42f
Remove calls to window_close(Game_wind) when game finished or over
...
Replace calls to window_close(Game_wind) with returning window_event_result::close to game handler. Applies to when DoEndGame() is called, DoGameOver() is called, aborting in the kmatrix screen (multiplayer game) during AdvanceLevel() and playing one demo frame causes playback to stop in GameProcessFrame(). Closing a window within its handler is problematic - it can result in an unstable state.
2017-01-08 21:08:50 +08:00
Kp
fe04c3fef6
Initialize obsolete fields
...
Valgrind warns when writing uninitialized data to a file. The Descent
savegame format requires writing certain fields that are no longer used.
Set those fields to 0 to prevent leaking stack data into the file.
2017-01-01 23:19:21 +00:00
Kp
879070f814
Fix uninitialized value usage during init_player_stats_new_ship
...
init_player_stats_new_ship used select_primary_weapon and
select_secondary_weapon to assign the player's weapons. However, those
functions read the current weapon and jumped according to its value. A
new ship has no defined value for current weapons, so the jump triggered
an uninitialized value warning from Valgrind.
Add new functions set_primary_weapon, set_secondary_weapon that work
like the previous select_* functions, but always take the path used
for weapons not equal, without checking. This prevents the warnings
from Valgrind, as well as a theoretical risk of initializing the ship
improperly.
2016-12-25 00:33:25 +00:00
Kp
fa1f8488f0
Use uint8_t for sidenum
2016-12-24 22:44:08 +00:00
Kp
47eae7176d
Split valptridx declarations
...
The declaration of valptridx_specialized_types needed to be found by
Argument Dependent Lookup, but this was inconvenient for some types.
Split the declaration of valptridx_specialized_types out from the
definition of valptridx global subtype.
2016-12-24 18:12:17 +00:00
Kp
012238ba14
Fold segnum.h into fwd-segment.h
2016-12-24 18:12:17 +00:00
Kp
29b9c255fa
Remove unnecessary FuelCenter operator-
2016-12-22 05:21:16 +00:00
Kp
10aa2e5106
Move some kconfig symbols into namespace dsx
2016-12-22 05:21:16 +00:00
Kp
bb6b548540
Remove unused listbox_get_window
2016-12-22 05:21:16 +00:00
Kp
17a50272f0
Pass player_info to more gauges functions
2016-12-11 01:56:43 +00:00
Kp
6fbcef75b1
Pass player object to draw_hud
2016-12-10 17:51:10 +00:00
Kp
442af298cb
Pass player_info to allowed_to_fire_missile
2016-12-10 17:51:10 +00:00
Kp
7e6c9fb172
Pass player_info to allowed_to_fire_flare
2016-12-10 17:51:10 +00:00
Kp
fe0c97ebb9
Move Player_eggs_dropped to player_info
2016-12-10 17:51:09 +00:00
Kp
c7634a1923
Move Auto_fire_fusion_cannon_time to player_info
2016-12-10 17:51:09 +00:00
Kp
51b06f6cdc
Move Fusion_charge to player_info
...
This eliminates some ugly hacks regarding remotely generated fusion
shots.
2016-12-10 17:51:09 +00:00
Kp
117e205ff0
Fold spreadfire calls to Laser_player_fire_spread
2016-12-10 17:51:09 +00:00
Kp
4cec1910e2
Propagate scores_maybe_add_player argument
2016-12-10 17:51:08 +00:00
Kp
1f434f98ad
Use valptridx for ActiveDoors
2016-12-10 17:51:08 +00:00
Kp
65b05638cc
Switch MAX_REACTORS from #define to constexpr
2016-12-10 17:51:08 +00:00
Kp
6c85086a43
Pass vcsegptridx to multi_send_light_specific
2016-12-10 17:51:07 +00:00
Kp
515476f02b
Propagate constant third parameter of call_object_create_egg
2016-12-05 00:26:11 +00:00
Kp
19528a85d0
Fix various check_header_includes=1 failures
2016-12-05 00:26:11 +00:00
Kp
0fb59c225c
Move add_points_to_score into namespace dsx
2016-12-05 00:26:10 +00:00
Kp
e0f6077afa
Pass vcsegidx to render_mine
2016-12-05 00:26:10 +00:00
Kp
d7ea84aa36
Pass vcsegidx to multi_send_boss_teleport
2016-12-05 00:26:10 +00:00
Kp
31f330c0ff
Pass vcsegidx to multi_send_door_open_specific
2016-12-05 00:26:10 +00:00
Kp
fe44705d2d
Pass vcsegidx to multi_send_effect_blowup
2016-12-05 00:26:10 +00:00
Kp
6bffe9949e
Pass vcsegidx to multi_send_create_powerup
2016-12-05 00:26:09 +00:00
Kp
82b068bf9c
Pass vsegidx to multi_send_door_open
2016-12-05 00:26:09 +00:00
Kp
b5be5f2099
Pass vcwallptridx to multi_send_hostage_door_status
...
Avoid recomputing the wall pointer that the caller already had.
2016-12-05 00:26:09 +00:00
Kp
3fc128607c
Pass vsegidx_t to disable_flicker
2016-12-05 00:26:09 +00:00
Kp
c035f5e93f
Pass segidx_t to create_path_points
2016-12-05 00:26:09 +00:00
Kp
c60d93326c
Propagate constant third parameter of create_n_segment_path_to_door
2016-12-05 00:26:08 +00:00
Kp
b696d8cf22
Pass segidx_t to create_n_segment_path
2016-12-05 00:26:08 +00:00
Kp
d8a1428f13
Pass segidx_t to init_ai_object
2016-12-05 00:26:08 +00:00
zico
ffb68756e3
Changed handling of scrape_player_on_wall(), preventing it to occur multiple times per frame.
2016-12-02 13:37:08 +01:00
Kp
f8cc32a4af
Merge pull #272 into master
2016-11-26 22:51:49 +00:00
Kp
6153fc6f8d
Recharge omega cannon on entering new level
2016-11-26 22:51:49 +00:00
Kp
6226e5fbbf
Remove obsolete operator-(wall *, array<wall, N> &)
2016-11-26 22:51:49 +00:00
Kp
329ff67718
Raise D1 MAX_DOORS to match D2
2016-11-26 22:51:49 +00:00
Kp
ac5ccf0c08
Pass active_door &to wall_close_door_num
2016-11-26 22:51:48 +00:00
Kp
1acee2d4f4
Remove unused wall_close_door
2016-11-26 22:51:48 +00:00
Kp
64ac7028e6
Pass active_door &to do_door_{open,close}
2016-11-26 22:51:47 +00:00
Kp
a129a0d570
Add ID for robot earthshaker secondary missile
...
Reported-by: kreatordxx <https://github.com/dxx-rebirth/dxx-rebirth/issues/273 >
2016-11-26 22:51:47 +00:00
Chris Taylor
2995cb628c
Never set Current_level_num to 0
...
This will be required when proper game state editing is implemented. Also remove hacks that check Current_level_num == 0.
2016-11-21 15:22:11 +08:00
Kp
0c219e596e
Use enum for object movement type
2016-11-20 23:12:00 +00:00
Kp
4497812674
Use enum for object type
2016-11-20 23:12:00 +00:00
Kp
a70d1ac646
Pass player_info &to omega_charge_frame
2016-11-19 18:09:26 +00:00
Kp
dc881ec12d
Merge pull #266 into master
2016-11-19 18:09:26 +00:00