Commit graph

242 commits

Author SHA1 Message Date
Kp 598a5e42a2 Allow granting items at player spawn 2015-03-28 17:18:02 +00:00
Kp da3cb31a0e Refactor powerup allow code 2015-03-28 17:18:02 +00:00
Kp 0707664ae1 Use enum for kmatrix_view result 2015-03-24 02:07:42 +00:00
zico 8d686ab23b implemented return value for kmatrix_view() so we can properly bail out of the game loop in AdvanceLevel() 2015-03-23 03:03:22 +01:00
Kp d63be36fb3 Fix bogus trap on remote_owner check
Some call sites pass a uint8_t to objnum_remote_to_local, which is
zero-extended up to an int.  The check for owner==-1 then fails, causing
the sanity check to trap to the debugger, even though the situation is
normal and harmless.  Switch the type to int8_t to ensure that the value
is not sign/zero-extended.
2015-03-22 22:48:47 +00:00
Kp 72a01bf56c Add indirection for player color lookup 2015-03-09 03:33:07 +00:00
Kp 7349a90cc8 Remove unused multi_send_message_dialog 2015-03-03 04:36:16 +00:00
Kp 5212daa4ad Fix seismic duration sync 2015-02-14 22:48:29 +00:00
Kp 29236f8668 Use array<> for multi_player_textures 2015-02-14 22:48:29 +00:00
Kp bbb9a23697 Convert {GET,PUT}_INTEL_{SHORT,INT} to C++ casts 2015-02-14 22:48:29 +00:00
Kp dc8b88eed4 Convert various loops to range_for 2015-02-14 22:48:27 +00:00
Bradley Bell 5a9b2497b1 remove #ifdef USE_UDP
even when compiling without USE_UDP, almost everything in this file is needed
2015-02-05 17:15:52 -08:00
Kp 6f15e46512 Use separate type for general purpose sockaddr 2015-01-18 01:58:34 +00:00
Kp fc30cdcc9b Use ntstring for NetworkMessageMacro name 2015-01-12 00:26:02 +00:00
Kp d5d416c62c Use ntstring for Netgame.mission_name 2015-01-03 23:44:32 +00:00
Kp 03370ed3e5 Use ntstring for Netgame.mission_name 2014-12-22 04:35:48 +00:00
Kp e166846dd1 Use ntstring for Netgame.game_name 2014-12-22 04:35:48 +00:00
Kp a0727f4f84 Throw on net_udp_read_sync_packet failure
Callers expect sane Player_num, but on failure, it is invalid.
Returning a failure status causes net_udp_level_sync to fault using
Players[Player_num].connected, so throw an exception instead.
2014-12-07 00:00:22 +00:00
Kp 9d700aab08 Make kill_matrix uint16_t, not short 2014-12-06 23:30:55 +00:00
Kp cfe0f89dae Use array<> for team_kills 2014-12-06 04:52:53 +00:00
Kp e90549d9a8 Use range_for on Orb_icons 2014-12-02 03:23:21 +00:00
Kp f206b3b127 Reduce inclusion of object.h 2014-11-23 04:36:58 +00:00
Kp 6024bf0369 Pass multi_send_controlcen_fire vector by & 2014-10-30 03:37:13 +00:00
Kp c0004cf4bd Pass pick_random_point_in_seg vector by & 2014-10-30 03:32:38 +00:00
Kp 5bb9c88979 Add vm_vec_sub that returns result 2014-10-29 03:24:31 +00:00
Kp 53aa70cecb Use vsegptridx_t 2014-10-28 03:08:51 +00:00
Kp 9a32e151ff Pass check_effect_blowup vms_vector arg by & 2014-10-26 21:36:35 +00:00
Kp 7c76c68255 Make unused_newmenu_userdata_t const 2014-10-16 02:13:09 +00:00
Kp a8f853aa7a Pass d_event arg by const& 2014-10-04 22:36:13 +00:00
Kp 59cacbd8ce Move Allow_marker_view, AlwaysLighting into DXX_BUILD_DESCENT_II 2014-09-28 21:09:22 +00:00
Kp 7b36462700 Pass multiplayer message type to multi_process_data 2014-09-21 22:10:21 +00:00
Kp e6b9f3f923 Use typedef for player number 2014-09-21 22:10:12 +00:00
Kp 44827606bc Use serialize for multi_claim_robot 2014-09-13 23:45:13 +00:00
Kp a02f78a171 Move saving window pointer into helper 2014-09-07 19:04:07 +00:00
Kp b95759aecc Propagate use of objptridx 2014-08-23 23:53:56 +00:00
Kp 66cb80c343 Propagate use of objptridx 2014-08-17 20:31:18 +00:00
Kp 1d16377d48 Change isyou to your_index and promote it out a layer
There is only ever one record for which isyou is true.
2014-08-16 21:56:46 +00:00
Kp 125d9257be Use special type names for segment/object numbers 2014-08-13 02:57:12 +00:00
Kp d0db98fe01 Use array<> for netgame_info members 2014-08-09 16:43:55 +00:00
Kp 4acbb40ad7 Use enum for window event result 2014-08-07 02:47:48 +00:00
Kp 7552ceb259 Remove unused arguments 2014-07-16 03:24:40 +00:00
Kp dd70a3f03d Use array<> for PowerupsInMine, MaxPowerupsAllowed 2014-07-12 19:23:37 +00:00
Kp 44d1924e96 Use special type for player callsign 2014-07-05 19:20:56 +00:00
Kp d5b55cf512 List initialize kill_matrix 2014-07-04 04:07:14 +00:00
Kp f1970ad129 Unpack netplayer_info 2014-06-26 03:17:23 +00:00
Kp 65fedf7b59 Unpack netgame_info 2014-06-26 03:17:23 +00:00
zico f6a18e05a6 Reworked packet loss prevention system to send and receive protected packets in correct order 2014-06-24 14:49:18 +02:00
Kp b9de0787ce Optimize multi_send_drop_marker 2014-06-22 20:59:04 +00:00
Kp c4b31f875f Use array<> for MarkerMessage 2014-06-22 18:53:42 +00:00
Kp e5673ae8ea Pass pnum to boss action 2014-06-08 00:05:33 +00:00
zico ad7cb106bc Changed custom D1X license to GPLv3 2014-06-01 19:55:23 +02:00
Kp 24706b50c8 Remove unused MP commands 2014-01-25 21:59:39 +00:00
Kp d4da8b1f1d Move multi_send_data type into template parameter 2014-01-25 21:44:34 +00:00
Kp a2427f58b5 Use special type to reduce pointer/index conversions 2014-01-12 19:32:12 +00:00
Kp 93db613176 Reduce includes in vclip.h 2014-01-11 22:47:38 +00:00
Kp 61ad220d42 Remove unused who_killed_controlcen 2014-01-08 03:54:44 +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 038bbad26a Rearrange headers to build under all test modes 2013-12-22 20:56:35 +00:00
Kp 403d412000 Remove BEFORE/AFTER arguments to for_each_multiplayer_command 2013-12-22 20:02:22 +00:00
Kp 1e8036bd24 Split compiler.h for PCH compatibility 2013-12-21 05:12:38 +00:00
Kp d2a2103cc2 Combine MULTI_PLAYER_EXPLODE and MULTI_PLAYER_DROP
Add a selector byte and use a common primary command code.
2013-12-20 03:11:23 +00:00
Kp 3ca5b4af47 Inline multi_send_quit 2013-12-20 03:11:06 +00:00
Kp c561c3d514 Move multi_send_data_direct type into template parameter
Optimizing compilers may now delete the size check.
2013-12-20 03:08:19 +00:00
zico 35266309d0 Made version mismatch screen spill out some explanatory information about Multi protocol version 2013-12-19 14:03:00 +01:00
zico 5f005baa3b Added MULTI_EFFECT_BLOWUP to remotely blast switches connected to triggers, ensuring sync and preventing misguided (i.e. delayed) player fire accidentially make puzzles or game progress impossible 2013-12-19 13:48:33 +01:00
Kp 0938e819e5 Advertise map-mode via overload of typing-mode
Tell other clients when map mode is active, for the same reason that
typing mode is advertised.
2013-12-18 04:51:46 +00:00
Kp 92e8cb7a31 Add type checking to newmenu subfunction userdata 2013-12-15 21:54:38 +00:00
Kp ddffec01c7 Use enum for multi_send_msgsend_state values 2013-12-15 01:52:13 +00:00
Kp 6779dc4991 Remove unused command MULTI_DROP_ORB 2013-12-15 01:45:19 +00:00
Kp 00a9ca2423 Remove unused MULTI_PLAY_BY_PLAY
The sending function has been disabled since Bazaar import.
2013-12-15 01:45:19 +00:00
zico ec516b5675 Disable powerup capping for cooperative game mode as it potentially deletes weapons carried over from another level 2013-12-14 02:53:45 +01:00
zico dae83f9edc Set PPS limits from 5 to 40 2013-12-09 14:25:32 +01:00
zico 2e407fa5a8 Removed short packets and added segment number to quaternion structure 2013-12-09 14:00:23 +01:00
Kp 9de54cfa74 Switch to C++ linkage
import fileinput
guard = 0
cxxguard = '#ifdef __cplusplus\n'
for line in fileinput.input(inplace=True):
	if line == cxxguard:
		guard = 1
		continue
	if guard:
		if line == 'extern "C" {\n':
			guard = 2
			continue
		if line == '}\n':
			guard = 0
			continue
		if guard == 2:
			assert(line == '#endif\n')
			guard = 0
			print cxxguard,
			continue
	print line,
2013-12-06 03:35:32 +00:00
Drakona 04d84ae61d Pass shot orientation with each weapon packet 2013-12-05 13:11:49 +01:00
Kp 3e2c0b5e1b Switch multi_allow_powerup_text to [][] from *[] 2013-11-28 02:09:30 +00:00
Kp 5d1769cd2c Switch RankStrings to be [][14] instead of *[]
Saves 10 .rel.ro entries and 6 bytes on x86 / 46 bytes on x64.
2013-11-28 02:08:54 +00:00
Kp 584fc93f34 Move similar/main/automap.c -> similar/main/automap.cpp 2013-10-05 21:35:58 +00:00
Kp b4107e6526 Remove duplicate declarations 2013-10-03 03:11:52 +00:00
Kp c58c4e4d06 Move declarations to headers 2013-10-03 03:11:52 +00:00
Kp 1ff627f85e Move multi_send_got_flag declaration to header 2013-09-21 23:34:05 +00:00
Kp f4b21088a0 Track vulcan ammo explicitly 2013-09-20 23:12:54 +00:00
Kp 9d2d8bb552 Scrub netgame flags on load/save/send/recv 2013-09-01 21:09:01 +00:00
Kp 3226a57848 Remove unused MULTI_ACTIVE_DOOR 2013-08-11 20:43:08 +00:00
Kp de6422d58f Remove unused multi_send_audio_taunt 2013-08-11 20:43:08 +00:00
zico 27a4a62b19 To compensate the change between D2's to D1's tracking code base, increased HOMING_MAX_TRACKABLE_DOT, making homing projectiles track a bit more agressivly than D1 to pose more of a challenge while not making them useless when having Afterburner 2013-08-09 17:50:11 +02:00
zico a527348681 Added MULTI_FIRE_BOMB as alteration of MULTI_FIRE to keep bombs mapped in a Multiplayer match for later Host authority and to make their chaff ability work correctly. Additionally added MULTI_FIRE_TRACK to only send Network_laser_track if > -1. On the way I made laser.c a bit more similar between D1X and D2X 2013-08-09 17:21:03 +02:00
zico 40c5f10e20 Added definition of DESIGNATED_GAME_FPS as 30 and DESIGNATED_GAME_FRAMETIME based on the former. We use those for d_tick_count intervals and to scale other parts that have never been properly aligned to FrameTime before. In that regard, Release builds will take DESIGNATED_GAME_FPS as MINIMUM_FPS for -maxfps argument 2013-08-08 22:07:29 +02:00
zico bbaa3c21f3 HAMERS! Wait 33ms between each turn of a homing missile projectile, only scale turns if FPS are below 30 2013-08-08 00:29:56 +02:00
zico 2b632008b2 Cleaned code for homing projectiles a bit and reverted to state of Descent 1 source release; Added ticks to rule target aquisition and adjusted turn rate scaling accordingly 2013-08-06 21:04:44 +02:00
Kp 90cd2f4938 Move */main/multi.h -> common/main/multi.h 2013-07-24 01:43:01 +00:00
Renamed from d2x-rebirth/main/multi.h (Browse further)