Commit graph

2111 commits

Author SHA1 Message Date
Kp ed668b611f Record start time in demo 2015-10-18 21:01:20 +00:00
Kp 1f63bfeee5 Reduce lifetime of returned get_seg_masks result 2015-10-18 21:01:19 +00:00
Kp 4163510b09 Move compare_func into render_compare_context_t 2015-10-18 21:01:19 +00:00
Kp c172d2c4c4 Omit OBJ_PLAYER from window.rendered_robots
The only user of rendered_robots filters for type OBJ_ROBOT.
2015-10-18 21:01:19 +00:00
Kp 6d714520ee Skip rendering Viewer sooner
Move the skip-Viewer check from render_object up to build_object_lists
so that, instead of skipping the viewer, the viewer is not scheduled
to be rendered.
2015-10-18 21:01:19 +00:00
Kp f4f451606b Pass vobjptridx_t to compute_light_emission 2015-10-18 21:01:19 +00:00
Kp ae338abdc7 Make compute_seg_dynamic_light static 2015-10-18 21:01:19 +00:00
Kp c5f6878f72 Use bitset for set_dynamic_light vertex visit tracking 2015-10-18 21:01:19 +00:00
Kp 6259e80206 Remove useless Omega blob light hack
The code immediately overwrites the computed value with a standard
value.  Optimizing compilers deleted the `light_intensity=0` store as
dead.  Delete the entire block to save a d_rand call.
2015-10-18 21:01:19 +00:00
Kp c0d45ab0d4 Compact compute_light_emission OBJ_FIREBALL path 2015-10-18 21:01:19 +00:00
Kp 5d79694584 Cache rotate_list global references 2015-10-18 21:01:18 +00:00
Kp faf698703e Make rotate_list result anonymous 2015-10-18 21:01:18 +00:00
Kp d767f7cd5e Pass vcsegptridx to render_face 2015-10-18 21:01:18 +00:00
Kp 309426e024 Use enum class for descent_version 2015-10-18 21:01:18 +00:00
Kp f46a2802aa Simplify object_nearby_aux return 2015-10-18 21:01:18 +00:00
Kp 533f1cb3bb Qualify references to primary weapons 2015-10-18 21:01:18 +00:00
Kp 7da64d3782 Add new autoselect-while-firing mode: "when firing stops"
Mako88 reports that some users want not to autoselect while firing, but
do not notice when a new weapon is added to the HUD, and end up never
activating a preferred weapon.  Add a new autoselect mode that remembers
what would be selected and switches to it once the player ceases firing.

Changes since Mako88's proposed version:
- Use `enum class` for autoselection mode and a radio button to
  represent the decision of Immediate/Never/Delayed.
- Handle delayed autoselect for vulcan ammo.
- Set Delayed_primary == Primary_weapon to indicate no change is needed,
  rather than Delayed_primary==-1.  This lets some paths use
  Delayed_primary without checking for a magic value.
- Likewise Delayed_secondary / Secondary_weapon.
- Update Delayed_primary/Delayed_secondary when changing active
  primary/secondary weapon, so that a player who changes weapons while
  firing will automatically clear any deferred change.

Requested-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/issues/97>
Based-on-patch-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/pull/147>
2015-10-18 18:11:57 +00:00
Kp 5f29170702 Move valptridx error reporting out of main header 2015-10-13 02:43:25 +00:00
Kp 8f656c40db Use range_for for validate_path 2015-10-13 02:43:24 +00:00
John Ackerman a606caa2b4 Improve .ini files and help message output 2015-10-11 22:21:00 +00:00
Kp a37bae4b4f Track output size for PHYSFSX_getRealPath 2015-10-11 22:21:00 +00:00
Kp ddf1ded74c Simplify add_missions_to_list 2015-10-11 22:21:00 +00:00
Kp ad8c64d7ff Remove unnecessary extension strip in promote 2015-10-11 22:21:00 +00:00
Kp 61f6c81f74 Use std::replace for rewriting count to wide 1s 2015-10-10 03:44:14 +00:00
Kp 4585faa461 Cache reference to secondary_ammo 2015-10-10 03:44:14 +00:00
Kp 36c52f7437 Reduce pointer->int->pointer conversions for thief 2015-10-10 03:44:14 +00:00
Kp 48b7416433 Factor out gauge width string 2015-10-09 02:46:11 +00:00
Kp a47c6e599d Shrink menu_bit_wrapper_t when B is empty 2015-10-09 02:46:11 +00:00
Kp 927618e650 Remove useless PHYSFS_eof tests
Each test triggers a system seek call.  EOF will be signalled by
PHYSFSX_fgets returning nullptr.
2015-10-09 02:46:11 +00:00
Kp 1ecbeb6bf9 Remove redundant use of PHYSFSX_exists 2015-10-09 02:46:11 +00:00
Kp 61fe046ba2 Reuse show_first_found_title_screen for Descent 1
This avoids an Error call if none of the titles are available.
2015-10-09 02:46:11 +00:00
Kp 1d99084026 Use UserError when main hog is missing
Error traps to the debugger and then aborts, which is not appropriate
for a user setup error.
2015-10-09 02:46:11 +00:00
Kp 5fc3e44bee Simplify setup of linked ham 2015-10-09 02:46:11 +00:00
Kp ffd6c113ae Move fwdwall.h -> fwd-wall.h for consistency 2015-10-09 02:46:10 +00:00
Kp 78de0ac119 Add fwd-event.h with forward declarations of event.h 2015-10-09 02:46:10 +00:00
Kp 72400b1a4c Remove unused read_player_dxx return value 2015-10-09 02:46:10 +00:00
Kp 8032aee461 Enable ammo-based auto-select for Gauss
Autoselect from pick_up_vulcan_ammo only ever armed the Vulcan cannon,
even if the user has and prefers a Gauss cannon.  This is probably an
oversight from when D2 weapons were added.  Rework the pickup logic in
D2 so that the more desirable of Vulcan or Gauss is picked.
2015-10-09 02:46:10 +00:00
Kp 29f79f0a6b Enable -notitles for Descent 2 2015-10-09 02:46:09 +00:00
Kp 71bde6f35f Use range_for for properties_read_cmp 2015-10-09 02:46:09 +00:00
Kp 8d2d69d663 Always run mini-autoselect for bombs
Autoselect events are gated on the player having none of the item prior
to this pickup, so making the mini-autoselect more aggressive should not
cause unwanted switches.

Since the main autoselect is complicated, requiring the mini-autoselect
to happen only when the main autoselect is skipped makes it complicated
for players to reason about whether the mini-autoselect will happen.
2015-10-09 02:46:09 +00:00
Kp 7034b68357 Manage world time automatically where possible
For all cases where world time nests, use automatic management.  Some
sites disable time in one function and enable it elsewhere.  These are
untouched.
2015-10-09 02:46:09 +00:00
Kp 8dd1f7c2cf Move texture_list_index into local scope 2015-10-09 02:46:09 +00:00
Kp 745161a2d1 Tighten alt_textures test 2015-10-09 02:46:09 +00:00
Kp 75104b80f0 Fix operand ordering for team kills
Fixes: 4a0a2b7da5 ("Use team_kills in team games")
2015-10-04 22:30:02 +00:00
Kp 9da2a938d8 Make team_kills signed
Suicides can make kill counts negative.
2015-10-03 22:15:17 +00:00
Kp 4a0a2b7da5 Use team_kills in team games 2015-10-03 22:15:17 +00:00
Kp b447adcce1 Initialize all vertices in create_abs_vertex_lists
Some compiler configurations warn that vertices[4] and vertices[5] may
be used uninitialized.  Initialize them to a bogus value so that any
actual use will trap, but the comparisons will be well defined.
2015-10-03 17:17:50 +00:00
Kp 111fc56b00 Return objptridx from maybe_drop_primary_weapon_egg 2015-10-03 17:17:50 +00:00
Kp 3d2591f1ad Remove unnecessary scores_rprintf macro 2015-10-03 17:17:50 +00:00
Kp 9df40a86cb Use uint8 for secondary ammo counts
Maximum non-cheating is 40 missiles, which fits in a signed 8 bit value.
Maximum cheating is 200 missiles, which fits in an unsigned 8 bit value.
2015-10-03 17:17:49 +00:00