Kp
0fe724b229
Adjust multiplayer kill handling
2015-11-27 03:56:13 +00:00
Kp
bb41075adb
Add preprocessor guards around types that vary by game
2015-11-26 02:56:55 +00:00
Kp
0fbccd609c
Ignore lifetime kills/killed in cooperative games
2015-11-21 18:12:13 +00:00
Kp
f07e08fa2f
Move netgame_info::players to end
...
This saves ~200 bytes of text.
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
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
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
Kp
2196008178
Move fwdobject.h -> fwd-object.h for consistency
2015-10-10 03:44:14 +00:00
Kp
9da2a938d8
Make team_kills signed
...
Suicides can make kill counts negative.
2015-10-03 22:15:17 +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
d971cf7702
Wrap game-specific types in game-specific preprocessor guards
...
These types are not used in common code, and in some cases would provoke
a -Wodr warning if they were used.
2015-09-26 21:17:12 +00:00
Kp
f15116f2cb
Simplify multiplayer sound handling
2015-08-05 02:59:02 +00:00
Kp
2fb03da475
Inline multi_send_endlevel_start secret for D2
2015-08-03 03:11:25 +00:00
Kp
b8cc2f4172
Inline multi_i_am_master
2015-07-25 23:10:46 +00:00
Kp
f00725f740
Use forward-declaration header for player.h
2015-07-25 23:10:45 +00:00
Kp
70c4cc87ab
Use forward-declaration header for weapon.h
2015-07-25 23:10:45 +00:00
Kp
e54b550c59
Pass only vobjptr_t to multi_reset_player_object
2015-07-12 01:04:17 +00:00
Kp
fe360b18e3
Implement secluded spawns
2015-07-04 21:01:18 +00:00
Kp
d73e5a24c3
Reduce scope of ifdef(D1||D2)
2015-07-04 21:01:17 +00:00
Kp
06b453d617
Enable D1 weapon drops
2015-07-02 02:37:55 +00:00
zico
cd27af9e41
Made MULTI_POSITION and MULTI_ROBOT_POSITION use quaternion packets to increase precision of powerup drops, robot movement and their firing; Also decreased priority of the first iteration of MULTI_POSITION from 2 to 1 as the first packet does not need to be protected but just serves as a convinient excuse to flush the multi data buffer
2015-06-28 19:20:46 +02:00
Kp
9125ae32cd
Make objnum unsigned
2015-06-13 22:42:15 +00:00
Kp
39b705b352
Use integral_constant for grant masks
2015-06-05 02:34:40 +00:00
Kp
73300a285d
Merge "change u_int*_t to C99 standard uint*_t"
...
Requested-by: btb <https://github.com/dxx-rebirth/dxx-rebirth/pull/67 >
Acked-by: Matt1360 <https://github.com/dxx-rebirth/dxx-rebirth/pull/67#issuecomment-104806115 >
2015-05-23 17:36:29 +00:00
Kp
cc2a5e9790
Use gr_free_bitmap_data for Orb_icons
2015-05-22 03:33:19 +00:00
Bradley Bell
bdacd2f7d7
change u_int*_t to C99 standard uint*_t
2015-05-18 17:12:53 -07:00
Kp
a51a7110e8
Pass vobjptridx_t to multi_send_position
2015-05-09 17:38:59 +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
b46ecbb3e9
Add netgame parameter to duplicate powerups
2015-04-19 04:18:53 +00:00
Kp
4381b81497
Pack spawn granted items in D1
2015-04-19 04:18:53 +00:00
Kp
b32298df5a
Rewrite powerup cap code to centralize logic
2015-04-19 04:18:53 +00:00
Kp
90fbebf8fd
Convert most global arrays to array<>
2015-04-02 02:36:52 +00:00
Kp
6e96ff3e00
Fix ambiguous use of INTEL_SHORT/INTEL_INT
2015-04-02 02:36:52 +00:00
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