Kp
5a69c09ec2
Move fuelcen_activate special assignment up
...
One caller uses fuelcen_activate when segp->special != station_type.
Every other caller passes the type that was already on the segment.
Move the assignment into the one caller that needs it, then remove the
argument.
2016-10-29 23:16:17 +00:00
Kp
65f9fd54f8
Use vcsegptr for build_object_lists
2016-10-29 23:16:17 +00:00
Kp
aa58e02337
Add consistency asserts in segment iterator
2016-10-29 23:16:17 +00:00
Kp
bc57d8d69b
Shrink partial_range error reporting code
2016-10-29 23:16:17 +00:00
Kp
e95db4c269
Fold move_away_from_player switch cases
2016-10-29 23:16:17 +00:00
Kp
33bba1fa61
Map boss-gated robots across players
2016-10-29 23:16:16 +00:00
Kp
2b9a86abe3
Factor out buddy hints about invulnerable boss
2016-10-29 23:16:16 +00:00
Kp
57196e8f9f
Look up robot type in multi_send_boss_create_robot
2016-10-29 23:16:16 +00:00
Kp
c45e441ecd
Move map_objnum... into multi_send_boss_create_robot
...
Whenever a robot is sent to peers, it needs to be added to the local
mapping also. Move the one use so far into multi_send_boss_create_robot
to simplify maintenance.
2016-10-29 23:16:16 +00:00
Kp
c2626ea488
Default poison to 'overwrite' in debug builds
2016-10-29 23:16:16 +00:00
Kp
c4cfe54010
Return literal object_none on object_none error path
...
gcc generates better code for:
if (variable == magic_constant)
return magic_constant;
than it does for:
if (variable == magic_constant)
return variable;
even though the two have the same result. Switch to the form which
generates slightly better code.
2016-10-29 23:16:15 +00:00
Kp
538b6e23fd
Convert check_warn_joy_support_limit to non-template
2016-10-29 23:16:15 +00:00
Kp
9cb24b0d4a
Use array<> for memdebug data
2016-10-29 23:16:15 +00:00
Kp
3081e69536
Pass grs_main_bitmap to gr_init_bitmap_alloc
2016-10-29 23:16:15 +00:00
Kp
19fd79d8ae
Shrink cockpit_decode_alpha::cockpitbuf
2016-10-29 23:16:15 +00:00
Kp
99114e643b
Move escort_menu_handler into escort_menu
2016-10-29 23:16:15 +00:00
Kp
499d0fbe6c
Remove excess Players elements
...
This was present in the Descent 2 source release with no explanation and
no apparent purpose. Its presence complicates various loops, so remove
it.
2016-10-29 23:16:14 +00:00
Chris Taylor
7ac820248c
Use new event_process_all() for event loops that check for window_event_result::deleted (which is most of them)
2016-10-29 20:06:01 +08:00
Chris Taylor
7845446e97
Disable window_exists function
...
This function is problematic in that another window could open with the same pointer value, causing a false positive to be returned.
2016-10-28 17:01:02 +08:00
Chris Taylor
a62ca93498
Use a tracking variable for newmenu_do2 (and simpler) polling loop
...
Add 'track' method to dcx::window, which takes a bool and will set it to 'false' when the window closes. Use for newmenu_do2 and simpler newmenu_do's, since there's the possibility of another window without its own polling loop opening on top - meaning window_event_result::deleted would be returned for that window, not the one we're polling on.
2016-10-28 16:49:53 +08:00
Chris Taylor
54dbe586ee
Check for window_event_result::deleted for do_briefing_screens polling loop
...
This is instead of using window_exists, which could give a false positive if a new window was allocated with the same pointer value as a deleted one.
2016-10-28 15:45:40 +08:00
Chris Taylor
f1548e075e
Check for window_event_result::deleted for show_title_screen polling loop
...
This is instead of using window_exists, which could give a false positive if a new window was allocated with the same pointer value as a deleted one.
2016-10-28 15:40:50 +08:00
Chris Taylor
abd6d4a052
Check for window_event_result::deleted for RunMovie polling loop
...
This is instead of using window_exists, which could give a false positive if a new window was allocated with the same pointer value as a deleted one.
2016-10-28 15:37:38 +08:00
Chris Taylor
49ce8dbb99
Check for window_event_result::deleted for gamebitmaps_viewer polling loop
...
This is instead of using window_exists, which could give a false positive if a new window was allocated with the same pointer value as a deleted one.
2016-10-28 15:30:58 +08:00
Chris Taylor
731777476f
Check for window_event_result::deleted for polygon_models_viewer polling loop
...
This is instead of using window_exists, which could give a false positive if a new window was allocated with the same pointer value as a deleted one.
2016-10-28 15:29:14 +08:00
Chris Taylor
b2513ab9a0
Check for window_event_result::deleted for kmatrix_view polling loop
...
This is instead of using window_exists, which could give a false positive if a new window was allocated with the same pointer value as a deleted one.
2016-10-28 15:27:45 +08:00
Chris Taylor
1c8ad24da3
Check for window_event_result::deleted for ui_get_filename polling loop
...
This is instead of using window_exists, which could give a false positive if a new window was allocated with the same pointer value as a deleted one.
2016-10-28 15:25:25 +08:00
Chris Taylor
7f7047063a
Check for window_event_result::deleted for credits polling loop
...
This is instead of using window_exists, which could give a false positive if a new window was allocated with the same pointer value as a deleted one.
2016-10-28 15:23:36 +08:00
Chris Taylor
21b0a7a48d
Pass the most significant window_event_result to the caller of event_process
...
This will allow checking for window_event_result::deleted, instead of relying on window_exists, which could return a false positive if a new window was allocated with the same pointer value as the deleted one.
2016-10-28 14:43:20 +08:00
Chris Taylor
e442bc6df5
Move window_event_result definition to event.h
...
The whole event system will need to know about window_event_result, because every event function will return one.
2016-10-28 13:32:24 +08:00
Kp
4faca3012c
Pass player_info to do_cloak_invul_secret_stuff
2016-10-28 03:39:42 +00:00
Kp
adaa596672
Cache player object in DoEndLevelScoreGlitz
2016-10-28 03:39:42 +00:00
Kp
d5d4517712
Pass player object to init_ammo_and_energy
2016-10-28 03:39:42 +00:00
Kp
df8f93d63e
Cache player object in FinalCheats
2016-10-28 03:39:41 +00:00
Kp
c8dda073ca
Pass player object to transfer_energy_to_shield
2016-10-28 03:39:41 +00:00
Kp
98839d1af6
Pass player position to automap_apply_input
2016-10-28 03:39:41 +00:00
Kp
65b649bc75
Pass player_info to ai_do_actual_firing_stuff
2016-10-28 03:39:41 +00:00
Kp
ca8fa9c3b6
Pass player_info to ai_move_relative_to_player
2016-10-28 03:39:41 +00:00
Kp
b787a641e1
Pass player_info to escort_create_path_to_goal
2016-10-28 03:39:41 +00:00
Kp
c31424dd3b
Pass player_info to do_invulnerable_stuff
2016-10-28 03:39:41 +00:00
Kp
c8801f73ad
Fold piggy_new_pigfile calls to gr_remap_bitmap_good
2016-10-28 03:39:40 +00:00
Kp
1c5718ba11
Fold read_extra_bitmap_iff call to gr_remap_bitmap_good
2016-10-28 03:39:40 +00:00
Kp
b362d67d84
Fold bm_load_sub call to gr_remap_bitmap_good
2016-10-28 03:39:40 +00:00
Kp
902e242194
Remove redundant store in kconfig_read_controls
...
Adjust the value as a local, then write it back when finished.
2016-10-28 03:39:40 +00:00
Kp
7e936df9c8
Mark PHYSFSX_read_helper_report_error cold
2016-10-28 03:39:40 +00:00
Chris Taylor
e44013ebcf
Kill window_exists call in show_menus
...
Hidden windows don't receive events, so the only way to close is outside its handler, which there should be no cases of here. The function window_exists could return a false positive if a new window was created with the same pointer value as a deleted one. Will later disable window_exists function.
2016-10-28 08:58:47 +08:00
Chris Taylor
917f079f02
Check for window_event_result::deleted in ui_dialog_do_gadgets
...
This is instead of using window_exists, which could give a false positive if a new window was allocated with the same pointer value as a deleted one.
2016-10-28 08:40:50 +08:00
Chris Taylor
57585171de
Check for window_event_result::deleted in event_process drawing loop
...
This is instead of using window_exists, which could give a false positive if a new window was allocated with the same pointer value as a deleted one.
2016-10-28 08:35:40 +08:00
Chris Taylor
9fbd86b0ce
Check for window_event_result::deleted in event_send
...
This is instead of using window_exists, which could give a false positive if a new window was allocated with the same pointer value as a deleted one.
2016-10-28 08:27:02 +08:00
Chris Taylor
c351588bba
Remove use of window_exists in newmenu_handler
...
Replace with a disabled check for window_event_result::deleted, which will be enabled when all newmenu subfunctions return a window_event_result. There are currently no instances of a subfunction closing the window itself (which is preferred).
2016-10-28 08:22:36 +08:00