zico
0e3e020323
merge
2013-12-20 09:22:33 +01:00
zico
9efd5ecaef
Restrict bright players feature to OBJ_PLAYER
2013-12-20 09:21:42 +01:00
Kp
1ec8057d74
Fix at-exit memory leak in digi_mixer
2013-12-20 04:41:46 +00:00
Kp
f817a7e603
Fix array understep when mapping exit tunnel
2013-12-20 03:21:40 +00:00
Kp
3a8ca07132
Step powerup frame number carefully
...
Avoid relying on integer underflow when checking for moving the current
frame number outside the range of frames.
2013-12-20 03:20:05 +00:00
Kp
e4b091dd38
Make ogl_pal a ubyte (*)[256*3] to improve checking
2013-12-20 03:19:40 +00:00
Kp
3bf16e57dc
Remove PHYSFSX_gets, PHYSFSX_readString
...
They do not check for a buffer overflow.
2013-12-20 03:16:46 +00:00
Kp
4e7e3fa0c8
Remove get_parm_value use for type=anarchy mission loader
2013-12-20 03:16:32 +00:00
Kp
86a88bedbd
Use enum for CockpitMode
...
This makes the debugger output nicer.
2013-12-20 03:14:16 +00:00
Kp
8340463ef2
Warn when objects are deleted due to invalid segment
2013-12-20 03:13:21 +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
Kp
ad90c245b6
Improve interaction of Del+F with normal map usage
...
Refactor edge computation into helper.
Let Automap_visited always be exactly what the player mapped normally.
This allows reversing Del+F.
2013-12-20 03:06:59 +00:00
Kp
61ac9c31f3
Simplify automap key powerup color setup
2013-12-20 03:02:25 +00:00
Kp
1b79e5648c
Simplify kmatrix escape handling
2013-12-20 03:01:36 +00:00
Kp
f0bae2c8cd
Add EVENT_WINDOW_CREATED to centralize window init/deinit logic
2013-12-20 02:51:24 +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
d2c2dfe95c
Make Segments[] a C++ array
2013-12-19 03:31:24 +00:00
Kp
96bc008c72
Fix audio file matching broken by cb4fd7c1b4
2013-12-19 03:31:24 +00:00
Kp
a265792497
Remove DPMI-based DO_MEMINFO
2013-12-19 03:31:24 +00:00
Kp
022a5f8870
Fix array overstep in collide_weapon_and_wall
...
This is the same mistake as fixed in ca4f9e8b30
, but in a different
function.
2013-12-19 03:31:24 +00:00
Kp
8208ab9e53
Fix array underread when no glow is defined
...
ASan reports an access to array[-1].
2013-12-19 03:31:24 +00:00
Kp
aba6c2dfee
Pass glow_values as array<> to retain size information
2013-12-19 03:31:24 +00:00
Kp
a40c19f770
Fix con_puts buffer overread
...
ASan reports a 2K read from a small string literal.
Also, fix silly double copy in con_add_buffer_line and delete too-short
memset in con_add_buffer_line.
2013-12-19 03:31:24 +00:00
Kp
743893bd56
Assign per-type missile names in miniview
2013-12-18 05:01:00 +00:00
Kp
83f7427aad
Convert vsprintf to vsnprintf
2013-12-18 05:00:36 +00:00
Kp
49bcd3bb64
Use D1 reactor times when emulating D1
2013-12-18 04:53:07 +00: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
76b4a6c57e
Avoid memcpy on object
2013-12-18 04:51:46 +00:00
Kp
9776827a33
Make Objects[] a C++ array
2013-12-18 04:51:46 +00:00
Kp
2f18c5037d
Store group lists as countarray objects
2013-12-18 03:48:52 +00:00
Kp
8c649b677b
Optimize group deletion
2013-12-18 03:46:50 +00:00
Kp
2d0c64ffb8
Fix generation of demo filename
...
Broken in cb4fd7c1b4
by removal of dot from DEMO_EXT.
2013-12-18 03:43:40 +00:00
Kp
7fe542abc3
Simplify SubtractFromGroup cleanup
2013-12-17 04:43:38 +00:00
Kp
3381e5de52
Simplify group exhaustion test in med_move_group
2013-12-17 04:03:35 +00:00
Kp
51e328e538
Use score_rputs instead of score_rprintf where possible
2013-12-17 04:03:35 +00:00
Kp
11a0c44a3c
Use do_screen_message instead of do_screen_message_fmt where possible
2013-12-17 04:03:35 +00:00
Kp
2ebcd12147
Use warning_puts instead of warning_printf where possible
2013-12-17 04:03:35 +00:00
Kp
89652c010b
Use err_puts instead of err_printf where possible
2013-12-17 04:03:35 +00:00
Kp
be742f8848
Use powerup_basic_str instead of powerup_basic where possible
2013-12-17 04:03:34 +00:00
Kp
65657c6809
Use nm_messagebox_str instead of nm_messagebox where possible
2013-12-17 04:03:34 +00:00
Kp
d15347f16f
Use HUD_init_message_literal instead of HUD_init_message where possible
2013-12-17 04:03:34 +00:00
Kp
21de8bc8f6
Use buddy_message_str instead of buddy_message where possible
2013-12-17 04:03:34 +00:00
Kp
21cc89e2c8
Use ui_dputs_at instead of ui_dprintf_at where possible
2013-12-17 04:03:34 +00:00
Kp
c3c1695ba5
Use gr_ustring instead of gr_uprintf where possible
2013-12-17 04:03:34 +00:00
Kp
1bf3722670
Use gr_string instead of gr_printf where possible
2013-12-17 04:03:34 +00:00
Kp
3d79fe9b40
Use editor_status instead of editor_status_fmt where possible
2013-12-17 04:03:34 +00:00
Kp
335cabcc79
Use con_puts instead of con_printf where possible
2013-12-17 04:03:34 +00:00
Kp
2bad2375bb
Add type checking for select_file_recursive
2013-12-17 04:01:21 +00:00
Kp
38a5c03d5d
Add type checking for newmenu_listbox
2013-12-17 03:58:17 +00:00
Kp
be041a9cfc
Add type checking for ui_create_dialog
2013-12-17 03:49:24 +00:00
Kp
77c0b58591
Fix editor crash introduced in 47c00c712
...
glow_values may be NULL, so check before dereferencing it.
2013-12-17 03:48:31 +00:00
Kp
279f123f56
Simplify FADE_FLATPOLY logic
2013-12-17 03:46:35 +00:00
zico
47c00c7128
Added code which draws activated headlights or their absence to g3_draw_polygon_model. This was never implemented in D2X - probably because most of interp.c was adopted from D1X.
2013-12-16 08:37:51 +01:00
zico
45a39d7587
Fixed usage of nm_messagebox_str in net_udp_process_dump
2013-12-16 06:23:06 +01:00
zico
340af42d86
Due to increased calls of multi_do_frame introduced in 6bd9c2bfc1
net_udp_start_poll needed to be modified to see if a player joined or left; Also constantly refill the list in case players change but their numbers don't (i.e. one leaves and one joins at the same time)
2013-12-16 06:13:44 +01:00
Kp
92e8cb7a31
Add type checking to newmenu subfunction userdata
2013-12-15 21:54:38 +00:00
Kp
3908215e73
Add type checking to nm_messagebox format string
2013-12-15 21:54:17 +00:00
Kp
b7fda7ee15
Fix nm_messagebox usage to avoid redundant format string parse
2013-12-15 21:53:40 +00:00
Kp
5d306d06be
Switch endlevel message dialog not to use nm_messagebox1
2013-12-15 19:00:59 +00:00
Kp
55f67c72d1
Switch MP abort-game menu not to use nm_messagebox1
2013-12-15 18:59:25 +00:00
Kp
8f9015acd2
Switch manual join menu not to use nm_messagebox1
...
Fixes a remotely triggerable crash caused by parsing game names as a
format string.
2013-12-15 18:58:02 +00:00
Kp
3fb0ffa19b
Add typedef for newmenu subfunction
2013-12-15 18:57:54 +00:00
Kp
cea46651fc
Check type of window handler function
2013-12-15 18:51:26 +00:00
Kp
dc36ee3ab3
Store kconfig labels separately
2013-12-15 18:51:23 +00:00
Kp
f05b6f0008
Use on-stack bit array for tracking AI segment visits
2013-12-15 18:50:39 +00:00
Kp
2eb1128a76
Move Automap_full_depth into struct automap
...
It is only used when the map is open.
2013-12-15 18:46:42 +00:00
Kp
7088720507
Use C++ array for Automap_visited
2013-12-15 18:46:42 +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
027b6fd20a
Only build tables in debug builds
2013-12-15 05:20:37 +00:00
Kp
ddffec01c7
Use enum for multi_send_msgsend_state values
2013-12-15 01:52:13 +00:00
Kp
f8756b2c19
Combine composition of IFF name/indicator
2013-12-15 01:50:29 +00:00
Kp
14811b12d9
Format entire game description in a single call
2013-12-15 01:47:07 +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
c4f14f1044
Small change in ogl_ulinec to haround up right and bottom properly
2013-12-14 02:34:13 +01:00
Kp
cb4fd7c1b4
Compact known file extension storage
2013-12-13 03:58:01 +00:00
Kp
4dfceab50b
Factor out file extension filtering
2013-12-13 03:51:14 +00:00
Kp
593d0b25ff
Remove duplicate kconfig labels
...
import re, fileinput
which = 3
last = [None, None]
e = re.compile(r'(?P<left> \{(?:\s*\d+,){8})(?P<quote>"?)(?P<s>[^",]+)(?P=quote)(?P<right>,.*},)$')
for line in fileinput.input(inplace=True):
if line == '#if defined(DXX_BUILD_DESCENT_I)\n':
which = 1
elif line == '#elif defined(DXX_BUILD_DESCENT_II)\n':
which = 2
elif line == '#endif\n':
which = 3
else:
m = e.match(line)
if m:
s = m.group('s')
suppress = True
if (which & 1) and last[0] != s:
suppress = False
last[0] = s
if (which & 2) and last[1] != s:
suppress = False
last[1] = s
if suppress:
line = m.group('left') + ' NULL /* duplicate */' + m.group('right') + '\n'
print line,
2013-12-13 03:50:51 +00:00
Kp
ff8db8d39e
Reduce relocations for Controls members
2013-12-13 03:49:37 +00:00
Kp
2bd302cddd
Move Controls ubyte values into substructure
2013-12-13 03:47:57 +00:00
Kp
07877853ba
Use static_assert where available
2013-12-13 03:44:02 +00:00
Kp
02f4c007e3
Make scores_handler fades[] static const
2013-12-11 04:06:35 +00:00
Kp
5ba6917c30
Optimize Degroup not to use n² deletion algorithm
2013-12-11 04:05:58 +00:00
Kp
a3fa660d33
Remove casts in dxx_sendto calls
2013-12-11 04:05:24 +00:00
Kp
23e58e2deb
Use bitwise-not, not boolean-not, for texture masks
2013-12-11 04:03:04 +00:00
zico
e195290fe4
Added quick load ability for savestates
2013-12-10 18:13:32 +01:00
zico
5a36ffdb17
Reduced base divisor for mouse X and Y axes, doubling acceleration and base sensitivity
2013-12-10 16:26:37 +01:00
zico
dc2a7c6df0
Rearranged EVENT_KEY_RELEASE for automap_handler so it will not trigger automap_key_command and create a double input following EVEN_KEY_COMMAND
2013-12-10 02:58:56 +01:00
zico
6bd9c2bfc1
Rearranged game mode check so ANARCHY_ONLY_MISSION will not prohibit CTF, Hoard or Bounty
2013-12-10 01:52:19 +01:00
zico
a04aa340c5
Keep multi frame running during game idle events to decrease delay on packet forwarding
2013-12-09 16:28:34 +01:00
zico
4f56e3d9ca
Removed ancient multiplayer message header handling of D2X that broke communication between players.
2013-12-09 14:51:13 +01:00
zico
dae83f9edc
Set PPS limits from 5 to 40
2013-12-09 14:25:32 +01:00
zico
3e2fd4f74b
Improved pdata update sync when firing and not limiting general use of the force flag
2013-12-09 14:05:24 +01:00
zico
2e407fa5a8
Removed short packets and added segment number to quaternion structure
2013-12-09 14:00:23 +01:00
Kp
04fdf83298
Use helper to copy default key settings
2013-12-08 21:43:53 +00:00
Kp
322c61ef01
Remove use of heap-based splitword
2013-12-08 21:43:53 +00:00
Kp
0c712921b7
Simplify string search in playsave.cpp
2013-12-08 21:43:52 +00:00
Kp
b7fe431979
Use RAII for playsave strings
2013-12-08 21:02:10 +00:00
Kp
3b9b5ebfb0
Use RAII to manage function-local heap objects
2013-12-08 19:04:52 +00:00
Kp
60ecc60971
Move abspath onto read_m3u stack
2013-12-08 19:01:55 +00:00
Kp
dd6a89221b
Move demo file mount paths onto PHYSFSX_removeArchiveContent stack
2013-12-08 18:26:20 +00:00
Kp
11dc06b462
Move file search paths onto PHYSFSX_removeArchiveContent stack
2013-12-08 18:26:20 +00:00
Kp
04fb0c721c
Move demo file mount paths onto PHYSFSX_addArchiveContent stack
2013-12-08 18:26:20 +00:00
Kp
0b99c6abf6
Move file search paths onto PHYSFSX_addArchiveContent stack
2013-12-08 18:26:20 +00:00
Kp
9bb36c002a
Move object_rw onto state_restore_all_sub stack
2013-12-08 18:26:20 +00:00
Kp
938b9e4427
Move object_rw onto state_save_all_sub stack
2013-12-08 18:26:20 +00:00
Kp
f4ac8b34fe
Move grs_bitmap BBM onto piggy_new_pigfile stack
2013-12-08 18:26:20 +00:00
Kp
3b75f65359
Move callsign buf onto change_playernum_to stack
2013-12-08 18:26:20 +00:00
Kp
50d14ea3b0
Move ending tmp buffer onto load_mission stack
2013-12-08 18:26:20 +00:00
Kp
cebd52442b
Move briefing tmp buffer onto load_mission stack
2013-12-08 18:26:20 +00:00
Kp
af5ff85286
Move drive letter newmenu_item onto select_file_handler stack
2013-12-08 18:26:19 +00:00
Kp
fddcfc8e99
Fix technical buffer overrun in drive letter selection
...
Padding makes this safe, but moving onto the stack is cleaner.
2013-12-08 18:26:19 +00:00
Kp
d16dff3a16
Move kmatrix_screen onto kmatrix_view stack
2013-12-08 18:26:19 +00:00
Kp
4d877c5d67
Move ai_save_state *_rw onto stack
2013-12-08 18:26:19 +00:00
Kp
8e0e19cd27
Move medkey_init LispCommand onto stack
2013-12-08 18:26:19 +00:00
Kp
769c5bc837
Move autosave_mine savename onto stack
2013-12-08 18:26:19 +00:00
Kp
3a1d646dc8
Move close_autosave delname onto stack
2013-12-08 18:26:19 +00:00
Kp
4d261232c6
Remove useless allocation when saving screenshot
2013-12-08 18:26:19 +00:00
Kp
953a1888d7
Combine state pointer and count pointer
2013-12-08 00:12:45 +00:00
Kp
a4f3c93247
Separate mutable and const kconfig data
2013-12-08 00:10:29 +00:00
Kp
3e4884f499
Consolidate ramped keyboard input
...
This also fixes a copy-paste bug in bank handling.
2013-12-07 21:34:53 +00:00
Kp
65ef441f20
Fix copy-paste bug from 98bf17c0
change of keyboard sensitivity
...
Using different sensitivities for left-slide versus right-slide looks
like a bug. Fix it.
2013-12-07 21:32:03 +00:00
Kp
141ead1830
Move ramped controls into template structure
2013-12-07 21:13:37 +00:00
Kp
75c229c6bf
Normalize con_printf newline usage
2013-12-07 21:13:37 +00:00
Kp
76765624a0
Simplify calculation of buddy ouch_str
2013-12-07 20:37:24 +00:00
Kp
61d8fe7cc8
Remove unused return value of gr_*printf / gr_*string
2013-12-07 18:44:07 +00:00
Kp
60727dd7d5
Add missing va_end calls
2013-12-07 18:42:50 +00:00
Kp
f6125b5f2d
Fix array overstep on invalid PCX error number
2013-12-07 18:41:40 +00:00
Kp
c3dd634cce
Remove unused flag OF_HARMLESS
2013-12-07 18:41:35 +00:00
Kp
a2cec5d71f
Switch PHYSFSX_fgets to auto-sized variant where possible
2013-12-07 18:39:19 +00:00
Kp
7f5410cc8b
Use lengthof instead of sizeof(A)/sizeof(A[0])
...
The latter form can accept pointers, but the template lengthof cannot.
2013-12-07 18:38:10 +00:00
Kp
da70171db2
Mark various newmenu strings as const
2013-12-06 04:44:55 +00:00
Kp
70149044c1
Switch gr_printf(x,y,s) to gr_string(x,y,s)
2013-12-06 04:02:13 +00:00
Kp
ff35f946a9
Move char_bm into gr_internal_color_string
2013-12-06 03:58:38 +00:00
Kp
70caa4e7b6
Fix array understep in guidebot flare code
2013-12-06 03:36:07 +00:00
Kp
a899b9b945
Restrict ini arguments to 1024 char per line
2013-12-06 03:28:59 +00:00
Kp
320d22aae1
Move similar/main/collide.c -> similar/main/collide.cpp
2013-12-06 03:27:30 +00:00
Kp
fcf216474b
Move */main/collide.c -> similar/main/collide.c
2013-12-06 03:27:30 +00:00
Kp
517a8c1e37
Move similar/main/fireball.c -> similar/main/fireball.cpp
2013-12-06 03:27:30 +00:00
Kp
3620392f56
Remove unused nm_messagebox_fixedfont
2013-12-06 00:24:07 +00:00
Kp
2b88289d32
Make Hack_DblClick_MenuMode static
2013-12-06 00:24:07 +00:00
Kp
0726431030
Simplify preparing secret level text in MP game setup
2013-12-06 00:24:07 +00:00
Kp
1d3395cad1
Improve strlen usage
2013-12-06 00:24:07 +00:00
Kp
83843f32be
Reduce copying in colored MP message
2013-12-06 00:24:07 +00:00
Kp
993d240131
Move feedback_result into multi_message_feedback
2013-12-06 00:24:07 +00:00
zico
7b0bda3302
Merge branch 'unification/master' of github.com:dxx-rebirth/dxx-rebirth into unification/master
2013-12-05 13:39:53 +01:00
Drakona
04d84ae61d
Pass shot orientation with each weapon packet
2013-12-05 13:11:49 +01:00