Kp
ddb5f1c6ce
Pass canvas to draw_secondary_ammo_info
2017-02-19 19:33:41 +00:00
Kp
e4848e09ef
Pass canvas to draw_ammo_info
2017-02-19 19:33:41 +00:00
Kp
51488e446f
Pass canvas to show_bomb_count
2017-02-19 19:33:41 +00:00
Kp
b45de8592a
Pass canvas to hud_show_homing_warning
2017-02-19 19:33:41 +00:00
Kp
0e1a670694
Pass canvas to sb_show_score_added
2017-02-19 19:33:41 +00:00
Kp
1ebfb6c6e5
Cache canvas in draw_keys_state
2017-02-19 19:33:40 +00:00
Kp
4b1c0f4198
Combine draw_keys_state subtypes
2017-02-19 19:33:40 +00:00
Kp
205b9ddae4
Pass multires_gauge_graphic to HUD_SCALE_X_AR, HUD_SCALE_Y_AR
2017-02-19 19:33:40 +00:00
Kp
e3699252f7
Pass multires_gauge_graphic to HUD_SCALE_X, HUD_SCALE_Y
2017-02-19 19:33:40 +00:00
Kp
c64152fe79
Pass multires_gauge_graphic to BASE_WIDTH, BASE_HEIGHT
2017-02-19 19:33:40 +00:00
Kp
463fe1f643
Pass canvas to sb_show_score
2017-02-19 19:33:40 +00:00
Kp
7c25caafa6
Pass canvas to hud_show_score_added
2017-02-19 19:33:39 +00:00
Kp
19318b7e74
Pass canvas to hud_show_timer_count
2017-02-19 19:33:39 +00:00
Kp
960ba8a9d2
Pass canvas to hud_show_score
2017-02-19 19:33:39 +00:00
Kp
530856f909
Pass canvas to hud_gauge_bitblt
2017-02-19 19:33:39 +00:00
Kp
d0bc9c1703
Pass canvas to hud_bitblt
2017-02-19 19:33:39 +00:00
Kp
d98a18583b
Pass canvas to hud_bitblt_free
2017-02-19 19:33:39 +00:00
Kp
1e13617c3e
Pass canvas to hud_show_afterburner
2017-02-19 19:33:39 +00:00
Kp
4947779952
Pass canvas to hud_show_energy
2017-02-19 19:33:38 +00:00
Kp
fbd02b5fbe
Factor out template functor of create_vertex_lists_by_predicate
2017-02-19 19:33:38 +00:00
Kp
b918760b3f
Move find_connect_side body to dcx
2017-02-19 19:33:38 +00:00
Kp
b82d9d2b51
Move get_side_verts body to dcx
2017-02-19 19:33:38 +00:00
Kp
9821a77372
Simplify use of get_num_faces
2017-02-19 19:33:38 +00:00
Kp
cdb193c053
Use unsigned for sides/verts in more places
2017-02-19 19:33:38 +00:00
Kp
0f00cf51b0
Make segment vertices unsigned
2017-02-19 19:33:37 +00:00
Kp
3e51705de6
Shorten get_verts_for_normal
2017-02-19 19:33:37 +00:00
Kp
0202765322
Simplify create_walls_on_side
2017-02-19 19:33:37 +00:00
Kp
c0fc6aa419
Factor out side normal initialization
2017-02-19 19:33:37 +00:00
Kp
b2ca2e35df
Fold add_side_as_2_triangles temporaries
2017-02-19 19:33:37 +00:00
Kp
a815541ef5
Fix check_header_includes=1 poison.h
2017-02-19 19:33:36 +00:00
zico
b36c6f20c7
Made scrape_player_on_wall() based on a timer. Due to the player being pushed away from the lava/water surface in every frame in a random vector (wrong, too), player movement per frame was not enough to counter this on FPS rates > ~120 which made damage scaling per frame nonsensical in these situations. Instead, execute scrape results in intevals based on DESIGNATED_GAME_FRAMETIME (or per frame if FrameTime>DESIGNATED_GAME_FRAMETIME) which fixes the issues and generally works much better for the purpose of this function.
2017-02-13 11:00:21 +01:00
Kp
569d64e927
Propagate Hack_DblClick_MenuMode
2017-02-11 21:42:47 +00:00
Kp
3de4a0b3e0
Cache canvas in show_netplayerinfo
2017-02-11 21:42:46 +00:00
Kp
b116939ace
Cache canvas in con_draw
2017-02-11 21:42:46 +00:00
Kp
aadf18e694
Cache canvas in draw_automap
2017-02-11 21:42:46 +00:00
Kp
fb53bc9257
Pass canvas to player_dead_message
2017-02-11 21:42:46 +00:00
Kp
00492073d2
Pass canvas to render_countdown_gauge
2017-02-11 21:42:45 +00:00
Kp
2ee8e31f9f
Pass canvas to draw_window_label
2017-02-11 21:42:45 +00:00
Kp
1327dd7de6
Pass canvas to show_framerate
2017-02-11 21:42:45 +00:00
Kp
6c83d56219
Pass canvas to game_draw_marker_message
2017-02-11 21:42:45 +00:00
Kp
5fcbc44c7f
Pass canvas to game_draw_multi_message
2017-02-11 21:42:45 +00:00
Kp
5736804a23
Fold gr_set_curfont calls in credits_handler
2017-02-11 21:42:45 +00:00
Kp
5f855437ed
Pass canvas to name_frame
2017-02-11 21:42:45 +00:00
Kp
a23f33a34d
Pass canvas to draw_player
2017-02-11 21:42:44 +00:00
Kp
9ad724f32f
Pass canvas to DrawMarkers
2017-02-11 21:42:44 +00:00
Kp
24c4a030a1
Pass canvas to DrawMarkerNumber
2017-02-11 21:42:44 +00:00
Kp
0fd80b12df
Prevent out-of-bounds read when sorting segment sides
...
GCC 6 `std::sort` sometimes compares an element to itself. For a normal
implementation of comparison, this is useless, but not harmful. The
render comparison predicate relies on accessing A[B[a][b]] when
comparing `a` and `b`. Array `B` has `-1` in positions where `a == b`,
which causes an access to `A[-1]`, which is undefined behavior. This
crashes when using _GLIBCXX_DEBUG:
Error: attempt to subscript container with out-of-bounds index -1, but
container only holds 8 elements.
Objects involved in the operation:
sequence "this" @ 0x0x335adf0 {
type = std::__debug::array<int, 8ul>::_Array_check_subscript<8ul>;
}
Since this is undefined behavior, non-debug builds might also misbehave.
Current data layouts make it likely that the failure would not have
externally observable consequences.
Prevent the invalid access by short-circuiting the result if `a == b`.
2017-02-11 21:42:43 +00:00
Kp
ceb510566f
Avoid passing reference to null weapon_object
...
Rebirth built with `gcc -fsanitize=undefined` warns when binding a
reference to nullptr, even if that reference is never followed. This
could be reproduced using a guided missile against the first PIG in
Descent 2: Counterstrike level 1.
This object pointer is used only to test for address equality, so
nullptr is safe here. Switch to pass it as a pointer to prevent the
warning.
2017-02-11 21:42:43 +00:00
Kp
40f5ad42d1
Use PUT_INTEL_INT to handle alignment when updating bitmap size
2017-02-11 21:42:43 +00:00
Kp
17208cca79
Disallow int for vm_distance_squared
2017-02-11 21:42:43 +00:00