Commit graph

159 commits

Author SHA1 Message Date
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 5f5fd23060 Use enum class for HUD type 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 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 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 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 070444157e Use type safe player flags 2015-10-30 02:52:55 +00:00
Kp e130ea7b36 Remove unnecessary secondary_weapon_flags 2015-10-30 02:52:53 +00:00
Kp a47c6e599d Shrink menu_bit_wrapper_t when B is empty 2015-10-09 02:46:11 +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 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
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
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 22de35cd1a Use valptr for gamecntl.cpp 2015-07-12 01:04:20 +00:00
Kp 06b453d617 Enable D1 weapon drops 2015-07-02 02:37:55 +00:00
Kp eeb644ad6f Require D1 cheat-unlock code before accepting cheats 2015-06-28 20:04:25 +00:00
Kp 29aa820dc0 Only respawn when the player presses fire
Only respawn when the player presses a fire key/button (primary,
secondary, or flare).  Only clear primary, second, flare, and bomb when
respawning.  This allows dead players to use the automap or change their
camera views.

This is a necessary step to flushing only the firing inputs on respawn,
as requested by Mako88 in
<https://github.com/dxx-rebirth/dxx-rebirth/issues/104>.  Currently,
inputs are flushed again by the activation of the game window, so
respawn still flushes all inputs.

	#1  0x00005555555cee19 in game_flush_inputs () at similar/main/game.cpp:374
	#2  game_handler (event=...) at similar/main/game.cpp:1114
	#3  0x0000555555576113 in window_send_event (wind=..., event=...) at common/arch/sdl/window.cpp:208
	#4  0x000055555557627b in WINDOW_SEND_EVENT (file=0x5555556dc126 "common/arch/sdl/window.cpp", e=0x5555556dc141 "EVENT_WINDOW_ACTIVATED", line=179, event=..., w=...) at common/include/window.h:111
	#5  window_set_visible (w=..., visible=visible@entry=1) at common/arch/sdl/window.cpp:179
	#6  0x00005555555e90f5 in window_set_visible (visible=1, wind=<optimized out>) at common/include/window.h:90
	#7  DoPlayerDead () at similar/main/gameseq.cpp:1479
	#8  0x000055555563ed65 in dead_player_frame () at similar/main/object.cpp:1486
	#9  0x00005555555cf4df in GameProcessFrame () at similar/main/game.cpp:1329
	#10 game_handler (event=...) at similar/main/game.cpp:1157
2015-06-20 16:16:43 +00:00
Kp 1bbfe3e830 Use valptr for gamecntl highest_valid 2015-06-13 22:42:17 +00:00
Kp 4cd329d2b4 Fix gcc-4.6 gamecntl build
gcc-4.6 chokes on constexpr operator int(); later gcc accepts this.
menu_fix_wrapper is never converted in constexpr context, so remove the
constexpr specifier.

Fixes: 12ad357b8d ("Move Wimp Menu to macro")
2015-05-22 03:33:20 +00:00
Kp 8d849b2b39 Wrap laser level in class
Move enum laser_level_t to weapon.h for the new class.
2015-04-26 20:15:56 +00:00
Kp 6792c1bc4b Enable -Wunused-parameter 2015-04-26 20:15:56 +00:00
Kp 10b9206a9b Split do_weapon_select 2015-04-26 20:15:51 +00:00
Kp c338862ad6 Reduce gauges.h includes 2015-04-19 04:18:51 +00:00
Kp f74f879145 Simplify do_weapon_select call 2015-04-19 04:18:50 +00:00
Kp 32b4b8f0bb Use enum class for level save/load 2015-04-19 04:18:49 +00:00
Kp 5ae5033fed Use enum for AIB constants 2015-04-02 02:36:57 +00:00
Kp 6b6eaef226 Include polyobj.h from robot.h
Swap the inclusion order since all robots are polyobjects, but not all
polyobjects are robots.
2015-04-02 02:36:57 +00:00
Kp 12ad357b8d Move Wimp Menu to macro 2015-03-28 17:18:02 +00:00
Kp 7bf49fe551 Fix clang -Wmissing-braces warnings 2015-03-22 18:49:21 +00:00
Kp c5bbaaaf87 Remove unused advance_sound 2015-03-11 02:19:15 +00:00
Kp 4ab72a4d9a Hide save/load game in non-coop multiplayer
Multiplayer non-coop cannot save, so offering the options is pointless.

Fixes: 7338bb2402 ("Extend in-game esc menu with options and saving")
Reported by: zicodxx @ https://github.com/dxx-rebirth/dxx-rebirth/issues/42
2015-02-15 17:24:54 +00:00
Bradley Bell e0b3f4f1b4 use <cstdlib> instead of <stdlib.h>
to use definitions in the std namespace
2015-02-05 16:54:15 -08:00
Kp 2ef26b3a41 Remove unnecessary multiplication in pause time 2015-02-05 03:03:49 +00:00
Kp 99a4a0ed62 Capture range_for by-value temporaries as const
Modifying a by-value temporary does not affect the underlying container,
so modifying it is almost always a bug.  Require use of a by-reference
capture when modification is desired.

sed -i -e 's/range_for\s*(\s*\(const\s\+\)\?auto\s\+\([[:alpha:]_]\)/range_for (const auto \2/g'
2015-02-05 03:03:49 +00:00
Kp 36cd5404d4 Avoid spamming flag changes on headlight cycling 2015-01-29 04:27:37 +00:00
Kp c8b5fe5552 Pass find_vector_intersection arg by & 2015-01-20 02:46:42 +00:00
Kp 84e3a03451 Remove unused parameters 2015-01-18 01:58:33 +00:00
Kp c6664a45a6 Add newmenu_do helper for array<newmenu_item, N> 2015-01-18 01:58:32 +00:00
Kp 54ab069bb8 Pass nm_set_item_number arg by & 2015-01-18 01:58:32 +00:00
Kp 426fb16654 Pass nm_set_item_radio arg by & 2015-01-18 01:58:31 +00:00
Kp fa10e51999 Add helper nm_item_text 2015-01-18 01:58:31 +00:00
Kp 4705c3f2d8 Pass nm_set_item_checkbox arg by & 2015-01-18 01:58:31 +00:00
Kp f8163957ef Add helper nm_item_input 2015-01-18 01:58:31 +00:00
Kp bca8889695 Simplify Primary_ammo_max 2015-01-17 18:31:42 +00:00
Kp 28a31a223f Centralize window_close calls 2015-01-17 18:31:41 +00:00
Kp fc30cdcc9b Use ntstring for NetworkMessageMacro name 2015-01-12 00:26:02 +00:00
Kp 12770802ab Use ntstring for guidebot name 2015-01-12 00:26:02 +00:00
Kp 030a811661 Pass nullptr for Descent 1 state_save_all filename_override 2014-12-30 02:09:23 +00:00
Kp fbac119095 Propagate use of objptridx_t 2014-12-23 04:20:27 +00:00
Kp 9ffd958d3d Create window_rendered_data locally 2014-12-18 04:12:38 +00:00
Kp fddc8cedb4 Remove unused Debug_spew 2014-12-14 21:02:40 +00:00
Kp 2199bd4e25 Override PRIi64 for mingw/Win64 2014-12-14 21:02:40 +00:00
Kp 7c98dea8be Pass render_frame arg by & 2014-12-13 04:11:21 +00:00
Kp 7338bb2402 Extend in-game esc menu with options and saving 2014-12-06 01:38:30 +00:00
Kp 6d61198130 Pass compute_segment_center vector by & 2014-10-30 03:32:51 +00:00
Kp 666dd75629 Return objptridx_t from find_escort 2014-10-25 16:40:20 +00:00
Kp 69f5e93382 Centralize game_render_frame_mono call to gr_flip 2014-10-16 02:44:43 +00:00
Kp 2acd037c21 Use move for cheat_buffer 2014-10-16 02:37:20 +00:00
Kp fb641b3250 Wrap object iteration idiom 2014-10-12 23:05:46 +00:00
Kp a8f853aa7a Pass d_event arg by const& 2014-10-04 22:36:13 +00:00
Kp b307e994d0 Propagate for variables in similar/main/gamecntl.cpp 2014-09-26 02:42:09 +00:00
Kp 9eda412dff Use symbolic constant wall_none 2014-09-21 23:05:14 +00:00
Kp 703f60ac3f Fix -Wtype-limits warnings 2014-09-21 21:41:55 +00:00
Kp a02f78a171 Move saving window pointer into helper 2014-09-07 19:04:07 +00:00
Kp ff052c4fa1 Wrap pause window message in structure 2014-09-07 19:04:07 +00:00
Kp 4acbb40ad7 Use enum for window event result 2014-08-07 02:47:48 +00:00
Kp 13b233b7d7 Fix Windows build 2014-07-26 22:53:41 +00:00
Kp 6020c9c013 Use d_fname for DOS filenames 2014-07-25 02:54:31 +00:00
Kp 7552ceb259 Remove unused arguments 2014-07-16 03:24:40 +00:00
Kp 9f03076a58 Remove write-only variable Beam_brightness 2014-07-02 02:31:32 +00:00
Kp 93e90b6f0b Unpack cheat_codes[] 2014-06-26 03:17:23 +00:00
Kp 2e95d8c0a8 Use array<> for Walls 2014-06-20 02:59:53 +00:00
zico ad7cb106bc Changed custom D1X license to GPLv3 2014-06-01 19:55:23 +02:00
Kp 0b529d16c7 Pass objptridx_t to do_controlcen_destroyed_stuff 2014-01-11 22:54:46 +00:00
Kp 9a5d0f6f09 Use symbolic values for segment/object first/none 2014-01-06 04:17:55 +00:00
Kp 094dfbf3d4 Reduce header inclusions 2013-12-31 03:22:03 +00:00
Kp 073f00974a Eliminate uses of the typedef struct X { ... } X; pattern
C++ does not require this pattern.

import re, fileinput
to = re.compile(r'^typedef struct ([a-z_A-Z]+)\s*{')
tc = re.compile(r'^}(.*?)\s*([a-z_A-Z]+);$')
osn = None
for line in fileinput.input(inplace=True):
	m = to.match(line)
	if m:
		osn = m.group(1)
		print 'struct %s\n{' % osn
		continue
	if osn:
		m = tc.match(line)
		if m:
			csn = m.group(2)
			if osn == csn:
				print '}%s;' % m.group(1)
				osn = None
				continue
			else:
				osn = None
	print line,
2013-12-28 22:48:07 +00:00
Kp b1c5307eb1 Use array for palette_array_t 2013-12-22 00:37:36 +00:00
Kp a3d66a3b37 Add typedef palette_array_t for palette data 2013-12-22 00:05:13 +00:00
Kp 92e8cb7a31 Add type checking to newmenu subfunction userdata 2013-12-15 21:54:38 +00:00
Kp cea46651fc Check type of window handler function 2013-12-15 18:51:26 +00:00
zico 804ed35d26 Slightly different but better handling for segment depth in Automap when having full map powerup or cheat so segment limits can be adjusted properly; In D2 draw unexplored areas blue when cheating and give HUD message when activating cheat; Added note in automap code to specify why grates in Descent1 fade 2013-12-15 13:11:14 +01:00
Kp 2bd302cddd Move Controls ubyte values into substructure 2013-12-13 03:47:57 +00:00
zico e195290fe4 Added quick load ability for savestates 2013-12-10 18:13:32 +01:00
Kp 70149044c1 Switch gr_printf(x,y,s) to gr_string(x,y,s) 2013-12-06 04:02:13 +00:00
Kp 9fd6cfd59d Move __STDC_FORMAT_MACROS to SConstruct for PCH compatibility
__STDC_FORMAT_MACROS is needed to enable PRIi64.  __STDC_FORMAT_MACROS
must be set before including any headers, so when PCH is used, it must
be set on the command line.
2013-12-01 00:54:23 +00:00
Kp fa496dc992 Avoid relocations for cheat codes 2013-11-28 02:16:05 +00:00