Kp
b4cd091412
Combine D1/D2 gamedata_close
2015-12-04 03:36:32 +00:00
Kp
954d473d47
Remove unused Do_ai_flag
2015-12-04 03:36:32 +00:00
Kp
e77a6ea923
Remove write-only variable r_upixelc
2015-12-04 03:36:32 +00:00
Kp
9231cfb853
Remove write-only D1 variable Boss_been_hit
2015-12-04 03:36:32 +00:00
Kp
bc204403ba
Remove write-only variable Ai_initialized
2015-12-04 03:36:31 +00:00
Kp
9b8a956431
Make palette_save static for D2
2015-12-04 03:36:31 +00:00
Kp
a9b82e3f7f
Make vlighting static
2015-12-04 03:36:31 +00:00
Kp
ed55763603
Remove unused symbols
2015-12-04 03:36:31 +00:00
Kp
1adf34403e
Compile out unused wclip_write
...
Unused since 547193c591
("Compile out unused bm_write_all") disabled caller bm_write_all.
2015-12-04 03:36:31 +00:00
Kp
edfd337c50
Compile out unused weapon_info_write
...
Unused since 547193c591
("Compile out unused bm_write_all") disabled caller bm_write_all.
2015-12-04 03:36:31 +00:00
Kp
a49fc821a0
Restrict listbox_get_window to _WIN32
2015-12-04 03:36:31 +00:00
Kp
143612df6a
Make multi_send_message static
2015-12-04 03:36:30 +00:00
Kp
a245ff8130
Mark multi_who_is_master static
2015-12-04 03:36:30 +00:00
Kp
111ac7f7f3
Fix player/marker confusion due to sorting
...
Fixes: 1d7418497e
("Condense collision table")
2015-12-03 03:26:49 +00:00
Kp
01c0280e82
Optimize marker map drawing
2015-12-03 03:26:49 +00:00
Kp
708dc0a7e1
Use vobjptr/vcobjptr for more Objects[] access
2015-12-03 03:26:49 +00:00
Kp
b683b4cc68
Scope weapon type
2015-12-03 03:26:49 +00:00
Kp
31d538ebe2
Use helper for robot weapon type
2015-12-03 03:26:48 +00:00
Kp
c45f93b503
Short out apply_damage_to_player friendly fire check
2015-11-27 03:56:13 +00:00
Kp
0fe724b229
Adjust multiplayer kill handling
2015-11-27 03:56:13 +00:00
Kp
0c75aecc45
Check most uses of object id
2015-11-27 03:56:13 +00:00
Kp
0a3d4cd711
Defer robot parent check in object_create_explosion_sub
2015-11-27 03:56:13 +00:00
Kp
1226731ffa
Propagate OBJ_POWERUP into segment_contains_object
2015-11-27 03:56:12 +00:00
Kp
bdbc129d14
Optimize out some object type warnings
2015-11-26 02:56:56 +00:00
Kp
9f26e2211e
Warn on invalid object ID access
2015-11-26 02:56:56 +00:00
Kp
8fe9261aaf
Treat hoard non-player kills as bad kills
2015-11-26 02:56:56 +00:00
Kp
90fdcfe846
Inline parameter to digi_select_system
2015-11-26 02:56:56 +00:00
Kp
f72e739732
Defer initializing UDP bind address
2015-11-26 02:56:55 +00:00
Kp
b59f5d091e
Remove SDL stub gr_set_attributes
2015-11-26 02:56:55 +00:00
Kp
5782d3c604
Remove unused digi_debug
2015-11-26 02:56:55 +00:00
Kp
b1ec69a3a2
Move CtlNoJoystick to CArg
2015-11-26 02:56:55 +00:00
Kp
fee144261f
Add if-D2 to Dont_start_sound_objects
...
Dont_start_sound_objects is defined for D1, but never set. Restrict it
to D2 and let D1 skip the test.
2015-11-26 02:56:55 +00:00
Kp
40588aaa0a
Remove unnecessary key.cpp Installed
2015-11-26 02:56:55 +00:00
Kp
db77622f0e
Move array_size into valptridx_specialized_types
2015-11-26 02:56:55 +00:00
Kp
dad504cfef
Fix some -Wshadow warnings
2015-11-26 02:56:54 +00:00
Kp
954f0f8603
Remove unused SOUND_3D_THRESHHOLD
2015-11-24 04:05:36 +00:00
Kp
7153ec69a9
Move SndNoSound to CGameArg
2015-11-24 04:05:36 +00:00
Kp
a579f75d05
Move SndDisableSdlMixer to CGameArg
2015-11-24 04:05:36 +00:00
Kp
ed2fa6f76a
Remove unused PHYSFSX_getFreeDiskSpace
2015-11-24 04:05:35 +00:00
Kp
e33f7f751b
Move SysShowCmdHelp to CGameArg
...
Both games support SysShowCmdHelp. Move it to the common structure.
2015-11-24 04:05:35 +00:00
Kp
d4511b3128
Move SysNoHogDir to CGameArg
...
Both games support SysNoHogDir. Move it to the common structure.
2015-11-24 04:05:35 +00:00
Kp
9981dc622e
Move SysMissionDir to CGameArg
...
Both games support SysMissionDir. Move it to the common structure.
2015-11-24 04:05:35 +00:00
Kp
64dee5d52a
Move SysMaxFPS to CGameArg
...
Both games support SysMaxFPS. Move it to the common structure.
2015-11-24 04:05:35 +00:00
Kp
0d7809439c
Make char copyright[] const
2015-11-24 04:05:35 +00:00
Kp
63ca0eb87b
Make respawn-on-fire configurable
...
Requested-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/issues/162 >
2015-11-21 18:12:13 +00:00
Kp
0fbccd609c
Ignore lifetime kills/killed in cooperative games
2015-11-21 18:12:13 +00:00
Kp
90e3c29464
Fix visual off-by-one in energy bar
...
Reported-by: Ryusei117 <http://www.dxx-rebirth.com/frm/index.php/topic,2075.0.html >
2015-11-21 18:12:13 +00:00
Kp
472c492ac4
Prevent selecting secondaries with ammo==0
...
derhass reported that using demo content allows the user to select
non-demo weapons, which then render incorrectly. derhass observed the
problem when the game automatically changed weapons, but affected users
can also select the missing weapon by hand. Demo data sets non-demo
weapons to have zero ammo_usage, so a player has "enough" rounds even
when he has none. Past releases blocked this through the dedicated
secondary_weapon_flags field. Add an explicit check for non-zero ammo.
Reported-by: derhass <https://github.com/dxx-rebirth/dxx-rebirth/issues/165 >
2015-11-19 03:23:35 +00:00
Kp
ceafa62d64
Use enum class for CLI_insert_mode
2015-11-19 03:23:35 +00:00
Kp
82d0c2ed96
Make some implicit uses of ptridx construction explicit
2015-11-19 03:23:34 +00:00
Kp
bae81b79d7
Defer computing cloak_end_time
2015-11-19 03:23:34 +00:00
Kp
62061b7988
Remove unnecessary cloak fadein/fadeout switch
2015-11-19 03:23:34 +00:00
Kp
edc4015c97
Compute Boss_cloak_end_time as needed
2015-11-19 03:23:34 +00:00
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
f509073b65
Move font allocdata pointer to grs_font
2015-11-14 18:17:21 +00:00
Kp
74290b5150
Add some error checking to font loader
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
3ea0470aa7
Fix eobject to use an in-array object
2015-10-30 02:52:54 +00:00
Kp
c1f8497b33
Simplify editor group print
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
5def3b0733
Fix Valgrind warning in PHYSFSX init
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