Kp
f2a0edfd35
Expand Boss_cloak_duration inline
2015-11-19 03:23:34 +00:00
Kp
66cbd4ae0a
Move shields/energy up another line in large games
2015-11-15 22:30:41 +00:00
Kp
0d68cb0aa4
Cache locals in explode_model
2015-11-15 22:30:41 +00:00
Kp
c0149be92a
Use enum class explosion_vclip_stage for get_explosion_vclip
2015-11-15 22:30:41 +00:00
Kp
f09635089e
Compact track_track_goal
2015-11-15 22:30:41 +00:00
Kp
59069a7bb6
Compact do_physics_align_object
2015-11-15 22:30:41 +00:00
Kp
02e1f293dd
Remove unused old-style floor levelling
2015-11-15 22:30:41 +00:00
Kp
ec70edcc65
Use operator= to copy vms_vector
2015-11-15 22:30:40 +00:00
Kp
7d22139334
Fix vulcan ammo drop loop
...
Fixes: 6037372cdf
("Move player vulcan_ammo to object.ctype.player_info")
2015-11-14 23:42:27 +00:00
Kp
5f5fd23060
Use enum class for HUD type
2015-11-14 18:17:22 +00:00
Kp
0b8a34d56d
Remove write-only sc_last_item
2015-11-14 18:17:22 +00:00
Kp
44753209d6
Move homing_object_dist to object.ctype.player_info
2015-11-14 18:17:22 +00:00
Kp
52051c427b
Move invulnerable_time to object.ctype.player_info
2015-11-14 18:17:21 +00:00
Kp
9eb8aba4c9
Move cloak_time to object.ctype.player_info
2015-11-14 18:17:21 +00:00
Kp
794e7ddece
Use reference_wrapper for cheat bits
2015-11-14 18:17:21 +00:00
Kp
af3241098b
Hide save/load game menu items for non-host
...
Only the host is allowed to save/load, so there is no reason to show the
items to non-hosts.
2015-11-14 18:17:21 +00:00
Kp
1fcffee1df
Cache draw_polygon_object simple model decision
2015-11-14 18:17:21 +00:00
Kp
4c5d4a36e5
Skip compute_object_light if overridden by bright players
2015-11-14 18:17:20 +00:00
Kp
cc80af87e8
Remove unnecessary save/restore of engine glow
2015-11-14 18:17:20 +00:00
Kp
7df905c1db
Fix weapon selection after respawn
...
Commit 7da64d3
added the ability to select a weapon when firing stops.
However, it did not take into account that
select_primary_weapon/select_secondary_weapon do not check whether the
selected weapon is available. The caller must perform that check. The
draft version proposed by Mako88 in the original feature request mostly
avoided the problem by clearing the delayed auto-select when it was
first applied. That version would only manifest the problem if the
player had a delayed auto-select and lost the weapon before resolving
it, whether due to death, a thief bot, or, in the case of mines,
direct-dropping the last mine by the "Drop Bomb" key.
The version that went in switched to using delayed==active to indicate
that no change was required. Under that design, the incorrect
auto-select appears if the player loses the active weapon even if no
delayed selection was pending.
Add a check that the player has the weapon before switching to it and
reset delayed=current if the delayed weapon is not available. This
fixes all known cases under which a spurious delayed selection could
activate a missing weapon and prevents repeated checks for weapon
availability.
Reported-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/issues/158 >
Fixes: 7da64d3782
("Add new autoselect-while-firing mode: "when firing stops"")
2015-11-12 02:57:45 +00:00
Kp
9a132977b9
Fix drop_player_eggs smart mine logic
...
The count of mines was not decremented, so a player who entered the loop
could continue to drop until (d_rand() < rthresh) became false. Halving
rthresh on each pass guaranteed that it would stop, but with the right
string of random numbers, the player could drop more mines than he had.
Remove the ==1 qualifier, so that mines can spawn whenever one will be
lost to rounding.
2015-11-12 02:57:45 +00:00
Kp
93888b4e37
Move collide_two_objects swap back to top
...
Fixes: 1d7418497e
("Condense collision table")
2015-11-09 02:33:49 +00:00
Kp
f5fc9cc324
Prevent selecting slider above maximum value
2015-11-08 18:55:51 +00:00
Kp
36716a9770
Add shift+page(up|down) to move autoselect entry to end
2015-11-08 18:55:51 +00:00
Kp
44c4eb9dc3
Combine exception paths
2015-11-08 18:55:51 +00:00
Kp
1d7418497e
Condense collision table
2015-11-08 18:55:50 +00:00
Kp
1a2e4205f6
Combine related call_object_create_egg calls
2015-11-07 21:56:00 +00:00
Kp
9c5b5b3e36
Start ammunition-driven autoselect at 0
2015-11-07 21:56:00 +00:00
Kp
899c335158
Factor out cloak duration lookup for draw_cloaked_object
2015-11-07 21:56:00 +00:00
Kp
6b353cb9ac
Move player powerup_flags to object.ctype.player_info
2015-11-07 21:55:59 +00:00
Kp
8a81e25ab0
Move player laser_level to object.ctype.player_info
2015-11-07 21:55:59 +00:00
Kp
b788d0b563
Move player primary_weapon_flags to object.ctype.player_info
2015-11-07 21:55:59 +00:00
Kp
8d6949efa6
Move player killer_objnum to object.ctype.player_info
2015-11-07 21:55:59 +00:00
Kp
6037372cdf
Move player vulcan_ammo to object.ctype.player_info
2015-11-07 21:55:59 +00:00
Kp
e227ef1b32
Move player secondary_ammo to object.ctype.player_info
2015-11-07 21:55:58 +00:00
Kp
6fd6436f14
Move player energy to object.ctype.player_info
2015-11-07 21:55:58 +00:00
Kp
2e28a491f2
Move player shields to struct object
2015-11-07 21:55:58 +00:00
Kp
6eb1676ada
Bulk clear secondary_ammo
2015-11-07 21:55:58 +00:00
Kp
a0a5aaef8d
Fix bogus "You have no" selecting missiles
...
Fixes: e130ea7b36
("Remove unnecessary secondary_weapon_flags")
2015-11-06 03:51:10 +00:00
Kp
4d2673594e
Fix placement of invulnerability timer
2015-11-06 03:51:10 +00:00
Kp
c0ca1248fd
Simplify hostage lost message
2015-11-06 03:51:10 +00:00
Kp
ccee595321
Remove Interpolation_method from OGL build
2015-11-06 03:51:10 +00:00
Kp
19e0a3041c
Fix -O0 build
...
Fixes: 9a6d027e63
("Factor out weapon cycling")
2015-11-06 03:51:10 +00:00
Kp
7d6ba1bb27
Fix objects disappearing in demos
...
As usual, demos break the rules. Redirect demo objects into a fixed
slot in the Objects array so that object linkage does not get trashed.
2015-11-03 03:08:11 +00:00
Kp
6111e5adbf
Allow configuring max joysticks at build time
2015-11-01 21:15:40 +00:00
Kp
add7a80bfc
Fix binding mouse button to arm fusion/omega cannon
...
Commit 3adc5fe77a
added the ability to
bind mouse buttons to change weapons, but a copying error bound the
fusion/omega entry to joystick instead of mouse. Switch it to mouse as
clearly intended.
This fix is needed for any commit with the underlying feature, but only
applies cleanly to 0.58.1 after applying cleanup commits:
00381b2652
("Abstract out weapon names")
d035fb258a
("Remove unused kc_item->id")
fc1e00dae6
("Pre-compute labelx+inputx")
a4f3c93247
("Separate mutable and const kconfig data")
953a1888d7
("Combine state pointer and count pointer")
2bd302cddd
("Move Controls ubyte values into substructure")
ff8db8d39e
("Reduce relocations for Controls members")
593d0b25ff
("Remove duplicate kconfig labels")
dc36ee3ab3
("Store kconfig labels separately")
Fixes: 3adc5fe77a
("Saving weapon keys in PLX like in D1X-Rebirth" ...)
2015-11-01 21:15:38 +00:00
Kp
3a4adbc917
Let kconfig skip zero-width kc_item cells
2015-11-01 21:15:38 +00:00
Kp
545b71c1cc
Use enum class for kconfig subtype
2015-11-01 21:15:38 +00:00
Kp
47ebd05bc3
Use ?: for homing warning gauge
2015-10-30 02:52:57 +00:00
Kp
df5e02aed0
Use macro get_local_player_invulnerable_time for player's invulnerable_time
2015-10-30 02:52:56 +00:00
Kp
0285efe49d
Use macro get_local_player_cloak_time for player's cloak_time
2015-10-30 02:52:56 +00:00
Kp
17b8b64980
Use macro get_local_player_flags for player's flags
2015-10-30 02:52:56 +00:00
Kp
92f78caf22
Use macro get_local_player_vulcan_ammo for player's vulcan_ammo
2015-10-30 02:52:56 +00:00
Kp
dc5dfb80e8
Use macro get_local_player_secondary_ammo for player's secondary_ammo
2015-10-30 02:52:56 +00:00
Kp
ea5b7a08c1
Use macro get_local_player_energy for local player's energy
2015-10-30 02:52:55 +00:00
Kp
3ffd207e44
Use macro get_local_player_shields for local player's shields
2015-10-30 02:52:55 +00:00
Kp
85ed489642
Use ?: for multi sounds
2015-10-30 02:52:55 +00:00
Kp
731e287329
Clean up trailing whitespace on rank strings
2015-10-30 02:52:55 +00:00
Kp
1af81af4ec
Reorder show_HUD_names bool tests
...
This improves the generated code by ~60 instructions.
2015-10-30 02:52:55 +00:00
Kp
f50189dc23
Factor out gauge box color computation
2015-10-30 02:52:55 +00:00
Kp
070444157e
Use type safe player flags
2015-10-30 02:52:55 +00:00
Kp
7ac2840bfe
Rename Netgame.player_flags to .net_player_flags
...
The simple name conflicts with an upcoming change.
2015-10-30 02:52:54 +00:00
Kp
cc345aa83d
Simplify demo cloak/invul processing
2015-10-30 02:52:54 +00:00
Kp
6b831b08ec
Update demo caching variables sooner
2015-10-30 02:52:54 +00:00
Kp
9a6d027e63
Factor out weapon cycling
2015-10-30 02:52:54 +00:00
Kp
ff2c88c498
Factor out cockpit/statusbar key gauges
2015-10-30 02:52:54 +00:00
Kp
64c161c4b2
Remove unnecessary zero of .invulnerable_time
2015-10-30 02:52:54 +00:00
Kp
4882558d6e
Remove unnecessary zero of .cloak_time
2015-10-30 02:52:54 +00:00
Kp
e130ea7b36
Remove unnecessary secondary_weapon_flags
2015-10-30 02:52:53 +00:00
Kp
ea3c4a8986
Switch const multi text to array<>
2015-10-29 03:01:43 +00:00
zico
bd391e2363
Reduced the level rendering from 3 passes to 2 while maintinaing the original function (may need optimization, tho); Rendering level parts with transparency effects (force fields, energy center sparks) in same pass as objects to prevent them from making objects invisible behind them; Changed object sorting to they render back to front to prevent rendering issues (robots disappearing behind explosions, further away powerup rendered over a closer one, etc)
2015-10-25 18:16:34 +01:00
Kp
2ac6c0e72b
Factor out red/gold/blue key messages
2015-10-24 03:13:11 +00:00
Kp
1c84b7ab9c
Use enum class for wall_hit_process_t
2015-10-24 03:13:11 +00:00
Kp
0c303bc539
Use ?: for drop_player_eggs flag
2015-10-24 03:13:11 +00:00
Kp
8b61b9f0db
Remove unused symbols
2015-10-24 03:13:11 +00:00
Kp
cf9f777187
Simplify select_tmap
...
Remove unreachable nullptr case. Use case-sensitive comparison. Remove
unsupported entry i386 from documentation.
2015-10-21 02:45:44 +00:00
Kp
48af374924
Reduce direct use of Segments[]
2015-10-21 02:45:43 +00:00
Kp
21057db809
Move DbgSafelog, DbgVerbose to CArg
2015-10-18 21:01:21 +00:00
Kp
b0541daf19
Remove dead code in D1 demo fixup
2015-10-18 21:01:21 +00:00
Kp
682b845b9d
Reorder gameseg distance tests
2015-10-18 21:01:20 +00:00
Kp
54e12654bb
Factor out side_pokes_out
2015-10-18 21:01:20 +00:00
Kp
f5abe5bc5e
Combine gameseg vm_dist_to_plane calls
2015-10-18 21:01:20 +00:00
Kp
6f94cc933c
Fold create_abs_vertex_lists into create_all_vertnum_lists
2015-10-18 21:01:20 +00:00
Kp
af2d8f7deb
Factor out create_vert*_lists switch
2015-10-18 21:01:20 +00:00
Kp
228dd75260
Switch Side_to_verts to unsigned
2015-10-18 21:01:20 +00:00
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
Kp
9ba1369d58
Remove useless do_powerup test
...
Remote player shields are not tracked. Remove the test on their value.
2015-10-03 17:17:49 +00:00
Kp
9d4a55ae47
Move fvi globals into anonymous namespace
2015-10-03 17:17:49 +00:00
Kp
e2c6e8449f
Factor out cloak/invul timer display
2015-10-03 17:17:49 +00:00
Kp
85d9f1f3b0
Fix various issues from splitting sensitivity
...
Remove redundant undefine/redefine of helper macros.
Clean up loop conditional.
2015-10-03 17:17:49 +00:00
Kp
aa1a1c5a6a
Fix regressions from changes to advanced host menu
...
Non-static globals were initialized at wrong scope, leading to netgame
duplicate options being forgotten across program restart.
Netgame.DuplicatePowerups is not initialized until well after global
initialization runs.
Literal strings were copied into a local buffer. Replace with a pointer
to the appropriate literal string.
Fixes: aa9a5df0d4
("Rearrange Advanced Hosting Menu")
2015-10-03 17:17:49 +00:00
Kp
271c465a7c
Use <algorithm> for adjust_segment_limit
2015-10-03 17:17:49 +00:00
Kp
d4df692d30
Use range_for in draw_all_edges
2015-10-03 17:17:49 +00:00
Kp
a6d6eceea3
Reduce indirection in automap drawingListBright
2015-10-03 17:17:48 +00:00
Kp
bf52ebf4cd
Skip do_weapon_n_item_stuff if Player_is_dead
...
Fixes: 29aa820dc0
("Only respawn when the player presses fire")
2015-09-30 02:41:55 +00:00
Christian
ab85c6f0e9
Merge pull request #144 from Mako88/new-menu
...
Rearrange Advanced Hosting Menu (by Mako88/A Future Pilot)
2015-09-29 13:41:12 +02:00
Christian
b09cb8f738
Merge pull request #145 from Mako88/calibration-menu
...
Split Sensitivity into Separate Menus (by Mako88/A Future Pilot)
2015-09-29 13:36:58 +02:00
zico
a96ceb2a46
Enabled multi_do_ranking() for D1X
2015-09-29 11:58:42 +02:00
Kp
edccaa91f6
Check return of pick_connected_segment before use
2015-09-29 02:41:22 +00:00
Kp
6224b53581
Use operator?: for flash_cursor gr_set_fontcolor
2015-09-29 02:41:22 +00:00
Kp
43d634a4aa
Use operator?: for newmenu_draw gr_string strings
2015-09-29 02:41:22 +00:00
Kp
50f672ba34
Reuse computed string length
2015-09-29 02:41:22 +00:00
Kp
3d37b01177
Refactor draw_numerical_display
2015-09-29 02:41:22 +00:00
Kp
af949820b6
Use ?: for show_bomb_count gr_set_fontcolor
2015-09-29 02:41:22 +00:00
Kp
574555029f
Simplify sb_show_score sprintf
2015-09-29 02:41:22 +00:00
Kp
78926b0aa8
Simplify con_draw while loop condition
2015-09-29 02:41:22 +00:00
Kp
d9cef82f81
Allow nullptr for gr_get_string_size
2015-09-29 02:41:22 +00:00
Kp
71ffbdf719
Replace fill(0) with ={}
2015-09-29 02:41:22 +00:00
Kp
c45a8a8427
Override PRIi64 on Win32 also
...
Some outdated mingw32 headers also set the POSIX value when used on
Windows. Expand the override to force the non-standard Microsoft format
for all Windows platforms.
2015-09-29 02:41:22 +00:00
John Ackerman
0e73b2a209
Revert "Change friendly fire wording"
...
This reverts commit 8128d68e3d
.
2015-09-27 12:40:14 -05:00
zico
9292431396
Merge branch 'unification/master' of github.com:dxx-rebirth/dxx-rebirth into unification/master
2015-09-27 10:52:04 +02:00
zico
cbe0b4ec69
Added Cloak and Invulnerability Timers to Cockpit and Statusbar and made this feature optional (defaults to off)
2015-09-27 10:51:37 +02:00
Kp
35cd1261df
Respect autoselect order for granted items
...
Additionally, improve handling of Primary_last_was_super. Previously,
it was cleared to 0, which made sense if the ship starts with only
lasers. Now that the ship can start with other weapons, clearing
Primary_last_was_super to 0 may override a player's choice. Preserve
player's last-was-super choice when the grant gives both the base and
super forms of a weapon.
Requested-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/issues/140 > [for the Primary_weapon part]
2015-09-26 21:17:14 +00:00
Kp
230bc630ed
Store FriendMissileView inside MissileViewEnabled
...
This allows it to persist silently when configuration files are read and
rewritten by versions of Rebirth which do not understand
FriendMissileView.
2015-09-26 21:17:14 +00:00
Kp
80e98ce2d3
Fix invalid access reading demos
2015-09-26 21:17:14 +00:00
Kp
ad14362db0
Simplify do_invulnerable_stuff
2015-09-26 21:17:13 +00:00
Kp
de3575a647
Shorten fuelcen_check_for_goal
2015-09-26 21:17:13 +00:00
Kp
39bf7c2206
Simplify apply_damage_to_controlcen time calculation
2015-09-26 21:17:13 +00:00
Kp
467c82ec31
Cache get_local_player in ai.cpp
2015-09-26 21:17:13 +00:00
Kp
d6059a3abf
Rework pickup of weapon powerups
2015-09-26 21:17:12 +00:00
zico
a175812000
Reworded text for Descent 1 bomb counter
2015-09-26 20:45:59 +02:00
zico
69353631f0
Made missile views from friendly players optional (off by default)
2015-09-26 20:28:49 +02:00
zico
db2ed6d766
Cleaned up options menu with clearer structure, added hud options under graphics menu and sorted existing items
2015-09-26 19:48:57 +02:00
John Ackerman
d5c580845e
Split Sensitivity into separate menus
2015-09-25 16:59:20 -05:00
John Ackerman
8128d68e3d
Change friendly fire wording
2015-09-25 16:52:41 -05:00
John Ackerman
aa9a5df0d4
Rearrange Advanced Hosting Menu
2015-09-25 15:31:42 -05:00
zico
f8f9843f35
Mouse overrun improvements: Reduced the range of Overrun (from 32 to 16) based on feedbach and restored original mouse base divisor for mouse X/Y axes (changed in 5a36ffdb17
)
2015-09-25 12:07:30 +02:00
zico
d3660207d2
Added Mouse Overrun Buffer option as proposed by kp
2015-09-24 16:31:10 +02:00
Kp
da4d1e0670
Remove bool SysNoHogDir on non-unix
2015-09-22 02:28:38 +00:00
Kp
f9469ffe18
Fix clang warning for powerup caps
2015-09-22 02:28:38 +00:00
Kp
c0e7f70638
Update reactor life text as slider moves
...
Reported-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/issues/125 >
2015-09-22 02:28:38 +00:00
zico
b984243d8e
Fixed a bunch of uninitialized object variables Valgrind complained about
2015-09-20 19:24:25 +02:00
Kp
7673bba50d
Factor out special handling of super laser
2015-09-19 23:04:36 +00:00
Kp
155cd3c928
Remove literal snprintf
2015-09-19 23:04:35 +00:00
Kp
69e3762933
Return joystick axis values by reference
2015-09-19 23:04:34 +00:00
zico
41983dc051
Reworked Advanced Netgame Menu to fit on all possible resolutions and added tracker address to seperate line as newmenu does not really like \n (yet)
2015-09-17 13:55:19 +02:00
Kp
2f927c68f9
Improve support for using exact_type with valptridx
2015-09-15 02:48:04 +00:00
Kp
1cdd4ac2ce
Pass object & to [gs]et_*_id
2015-09-15 02:48:04 +00:00
Kp
be62f446f1
Use range_for for clear_stuck_objects
2015-09-15 02:48:03 +00:00
Kp
ff8aab4694
Move guided missile logic to helper function
...
Fix original bug that tested wrong field for guided missile signature
check.
2015-09-15 02:48:03 +00:00
Kp
3823f0f414
Fix spelling errors in help text
...
keymoard -> keyboard
immedaitely -> immediately
2015-09-13 21:02:19 +00:00
Kp
cd0b3965a4
Use little endian for control center triggers
2015-09-13 21:02:19 +00:00
Kp
888cfddabd
Combine gauges left/right window boxes
2015-09-13 21:02:19 +00:00
Kp
83f77fbc48
Use fill_n to store runs of cockpitbuf TRANSPARENCY_COLOR
2015-09-13 21:02:19 +00:00
Kp
c4a8432081
Remove WORDS_NEED_ALIGNMENT memcpy src cast to const uint8_t*
...
The cast provokes a warning on systems that require alignment, so remove
it. memcpy takes const void* input, so the cast is unnecessary.
Reported-by: MattWatt <https://github.com/dxx-rebirth/dxx-rebirth/issues/119 >
2015-09-13 21:02:19 +00:00
Kp
204b608fa6
Normalize MACH&&APPLE vs APPLE&&MACH
2015-09-13 20:23:05 +00:00
zico
e0785251c4
Reset homing_object_dist along with d_homer_tick_step instead of every frame to make sure lock indicator is visible in frames where homers wait for a new chance to turn; Also moved call of calc_d_tick() to calc_frame_time() - shouldn't be nested in calc_d_homer_tick()
2015-09-10 14:11:30 +02:00
zico
cbaac96324
Fixed (hacked) homing missiles fired by bots that would not track players if player with lowest objnum is dead
2015-09-10 13:19:34 +02:00
zico
6ba89b5abd
If sending robot fire of a non-controlled robot, send fire packet immediately (as the comment suggests); also reformatted robot fire send/do functions to improve readability a bit
2015-09-10 13:05:10 +02:00
Kp
bdbd56c024
Use C++ <cinclude> style
2015-09-09 03:27:52 +00:00
zico
4a562bf098
Added multi_send_theif_frame() function to update thief bot more frequently (by PPS) and even if it is not controlled by a player to counter discrepancies caused by client side AI movement of the bot
2015-09-03 15:13:56 +02:00
zico
51049794ce
Break screenshot numbering on 9999 instead of 99999 due to formatting of the string (it's still enough)
2015-09-01 19:06:14 +02:00
zico
dcd91636d8
Do not duplicate objects for latecoming players as they will get dups from the host
2015-09-01 19:00:33 +02:00
zico
1aeb8505ee
Rearranged some calls of start_time() and stop_time() (+ limited usage to single functions) to make sure time_paused does not go out of balance
2015-08-30 14:04:59 +02:00
zico
818017398d
Added a little failsafe to screenshot function to make sure the game will not cause an endless loop if savenum ever rolls over
2015-08-30 12:47:47 +02:00
zico
b5ac86c4f0
Slightly modified keyboard pitch and heading sensitivity so highest setting matches the original game running at ~60 FPS
2015-08-29 15:46:03 +02:00
zico
15757d552f
Added STATE_MATCEN_VERSION for reading/writing matcen_info in savestates (equal to GAME_VERSION) instead of using STATE_VERSION
2015-08-27 18:55:14 +02:00
Kp
fd5d7b800d
Move reactor gun loop into calc_controlcen_gun_point
2015-08-26 03:15:10 +00:00
Kp
4434559e8e
Write old matcen_info to D1 savegames
...
Fixes: 92814475a9
("Use array<> for RobotCenters")
2015-08-26 03:15:10 +00:00
Kp
9ed4754009
Remove typedef valptridx<T>::array_managed_type managed_type##_array_t
2015-08-22 20:43:04 +00:00
Kp
cc0e29d7a2
Blank out non-robot AI on save
2015-08-22 20:43:04 +00:00
Kp
2155c417cb
Move array_managed_type into valptridx<T>
2015-08-22 20:43:04 +00:00
Kp
f8008ca34f
Only define object_array_t::object_array_t if VALGRIND
2015-08-22 20:43:04 +00:00
Kp
e976a823df
Shorten paging_touch_robot_maker
2015-08-22 20:43:03 +00:00
Kp
0f4d38ea6d
Shorten paging_touch_robot
2015-08-22 20:43:03 +00:00
Kp
6a50a904a3
Shorten paging_touch_weapon
2015-08-22 20:43:03 +00:00
Kp
9bf8b8212d
Shorten paging_touch_model
2015-08-22 20:43:03 +00:00
Kp
6265431fd9
Pass & to paging_touch_vclip
2015-08-22 20:43:03 +00:00
Kp
423c1c3f10
Use range_for for fuelcen.cpp
2015-08-22 20:43:03 +00:00
Kp
64ff1cda89
Only restore non-alpha when alpha was used
2015-08-21 03:12:35 +00:00
zico
30e909226f
Fixed Primary weapon info position in HiRes cockpit mode; Removed redundant vulcan ammo display in Fullscreen Alt HUD #1
2015-08-18 19:17:24 +02:00
Kp
66da9c136e
Cache do_explosion_sequence Robot_info lookups
2015-08-17 02:44:56 +00:00
Kp
080e052d65
Reorder fvi_sub object tests
...
Change to individual continue statements to reduce number of negations.
2015-08-17 02:44:56 +00:00
Kp
2eeca09ae1
Improve create_smart_children
...
Use accurate squared distance instead of quick non-squared distance.
Simplify target choice loop.
2015-08-17 02:44:56 +00:00
Kp
947145a194
Simplify player-got-hit sound check
2015-08-17 02:44:56 +00:00
zico
fb6ea072e4
Repositioned (non Release) HUD level time output and FPS counter to fixed positions across all cockpit modes; Slight reformat for FPS counter and added FrameTime display (in ms) if -verbose is given
2015-08-16 15:37:30 +02:00
zico
57b4bd0281
Community wish: If friendly fire is disabled, also protect players from explosion damage caused by friendly players. This also protects against splash damage caused by oneself.
2015-08-16 13:25:07 +02:00
Kp
655e7b6f72
Optimize clearing ConsoleObject anim_angles
2015-08-14 03:02:04 +00:00
Kp
e5683593ef
Expand ZERO_VECTOR inline
2015-08-13 03:15:53 +00:00
Kp
5922d3cf9e
Update endlevel !SHORT_SEQUENCE code
...
This rotted long ago, but the fixes are easy. Clean it up in case
someone wants to activate it.
2015-08-13 03:15:52 +00:00
Kp
c4118ee014
Improve caching when duplicating items
2015-08-13 03:15:52 +00:00
Kp
17b1943c5e
Mark various per-file structures as static
2015-08-12 03:11:46 +00:00
Kp
bc7c469ab2
Use array<> for more globals
2015-08-12 03:11:46 +00:00
Kp
f15116f2cb
Simplify multiplayer sound handling
2015-08-05 02:59:02 +00:00
Kp
6870b48710
Remove unused return value of digi_link_sound_to_object*
2015-08-05 02:59:02 +00:00
Kp
9fb9aef509
Remove unused return value of digi_link_sound_to_pos
2015-08-05 02:59:02 +00:00
Kp
c80d12319a
Use unqualified begin/end
...
Most call sites use unqualified begin/end and rely on using declarations
to pick an appropriate implementation. Fix the sites that explicitly
requested std::begin/std::end.
2015-08-03 03:11:25 +00:00
Kp
49b0868230
Fix ambiguous return when constructor inheritance is missing
...
gcc-4.7 (and, if constructor inheritance is suppressed, later versions)
reject
return objnum == object_none ? vcobjptr(static_cast<objnum_t>(object_first)) : objnum;
where objnum is a cobjptridx:
similar/main/digiobj.cpp: In lambda function:
similar/main/digiobj.cpp:564:85: error: operands to ?: have different types 'valptridx<object>::vcptr' and 'valptridx<object>::cptridx'
similar/main/digiobj.cpp:564:85: error: inconsistent types '<type error>' and 'valptridx<object>::vcptr' deduced for lambda return type
Fix it by removing the ternary operator and adding an appropriate
conversion cast.
2015-08-03 03:11:25 +00:00
Kp
555ff20ae9
Move render_state.h up for gcc-4.7 static_assert
...
In gcc-4.7, <bits/hashtable.h> uses static_assert in a way that the
preprocessor considers to have 3 arguments. Move render_state.h up to
ensure that <bits/hashtable.h> is included before
"compiler-static_assert.h" converts static_assert into a 2 argument
macro.
2015-08-03 03:11:25 +00:00
Kp
2fb03da475
Inline multi_send_endlevel_start secret for D2
2015-08-03 03:11:25 +00:00
Kp
84bd64a14c
Remove default argument for basic_ptridx(magic,array)
2015-07-29 03:05:28 +00:00
Kp
4d8ae44794
Add helper macro DXX_CONSTANT_TRUE
2015-07-29 03:05:28 +00:00
Kp
a2816617fe
Pass reactor& to read_model_guns
2015-07-25 23:10:48 +00:00
Kp
c9dff229f1
Remove dead AI fire leading code
2015-07-25 23:10:47 +00:00
Kp
c942d28197
Use accessor for grs_bitmap::bm_type
2015-07-25 23:10:47 +00:00
Kp
37a830f400
Switch AI key lookup
2015-07-25 23:10:46 +00:00
Kp
b8cc2f4172
Inline multi_i_am_master
2015-07-25 23:10:46 +00:00
Kp
81abf3666b
Reorder hoard kill tests
2015-07-25 23:10:46 +00:00
Kp
bda7fef3a0
Use get_local_player to compute reference to local player
2015-07-25 23:10:46 +00:00
Kp
f38e80c053
Use get_local_plrobj to compute reference to object of local player
2015-07-25 23:10:45 +00:00
Kp
f00725f740
Use forward-declaration header for player.h
2015-07-25 23:10:45 +00:00