Kp
67741cf603
Remove unused multi_explode_robot_sub parameter killer
2014-01-04 22:04:34 +00:00
Kp
d5aaf8af0e
Remove unused return value of explode_badass_object
2014-01-04 18:03:10 +00:00
Kp
3ca0a6aca6
Remove unused return value of explode_badass_player
2014-01-04 18:03:10 +00:00
Kp
8218af34b5
Add special type to let obj_*link take either pointer or index
2014-01-03 04:04:04 +00:00
Kp
ec4317fef2
Fix variable overread when leaving hole for MarkerOwner
2014-01-03 02:55:20 +00:00
Kp
f894ad92d0
Use correct player index for dropping markers
...
Fixes a bug where each players sees markers dropped with the orientation
matrix of the local player.
2014-01-01 23:38:06 +00:00
Kp
67e1c7fef4
Require integral types to newdemo_read
2014-01-01 03:47:37 +00:00
Kp
a7d87134db
Only use newdemo_write on integral types
2014-01-01 03:46:08 +00:00
Kp
888f44336f
Use segment array for render visited[]
2014-01-01 03:42:00 +00:00
Kp
164001d977
Use 3 instead of 255 for third mode in rendering
2014-01-01 03:41:58 +00:00
Kp
40e90fea22
Move Light_subtracted[] to Segments[].light_subtracted
2014-01-01 03:33:27 +00:00
Kp
89a5450bfc
Fix memory overread when saving Boss_dying_sound_playing
...
AddressSanitizer reports that Boss_dying_sound_playing is saved as an
int, but occupies only one byte.
2014-01-01 03:30:36 +00:00
Kp
094dfbf3d4
Reduce header inclusions
2013-12-31 03:22:03 +00:00
Kp
d7d052857a
Use bitmask for hitobj_list
...
Reduces sizeof(laser_info) from 392 to 80.
2013-12-31 03:22:03 +00:00
Kp
510fe02825
Use on stack array<> for New_awareness
2013-12-31 00:12:08 +00:00
Kp
549d7ea261
Use correct size for flickering_light mask
2013-12-31 00:11:05 +00:00
Kp
745633eabe
Use vector to allow rendering unlimited robots
2013-12-29 04:54:08 +00:00
Kp
7cf6877e2a
Rename D1 ai_local::wait_time to ::next_action_time to match D2
2013-12-29 04:33:30 +00:00
Kp
cf5343db18
Move ai_local into ai_static
...
Eliminates a global and some pointer math.
2013-12-29 03:59:21 +00:00
Kp
64e2ab55a0
Combine control_center_triggers_read and _swap variant
2013-12-29 03:56:41 +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
67ad7811bd
Remove unused physics_info::brakes
2013-12-28 22:47:46 +00:00
Kp
3563bfb85a
Enable Descent II divide-by-zero check in Descent too
2013-12-28 22:45:27 +00:00
Kp
fbd35de5f0
Remove bogus fvi assertion
2013-12-28 22:40:11 +00:00
Kp
8a83c93c8c
Move ai_local_read_n_swap loop into caller
2013-12-28 22:21:00 +00:00
Kp
94ce68f556
Color code weapon gauges
2013-12-28 22:21:00 +00:00
Kp
16f1044930
Switch init_ai_objects to range_for to eliminate a variable
2013-12-28 22:10:24 +00:00
Kp
38b2dbe639
Move object* -> objnum conversion into init_ai_object
2013-12-28 22:10:24 +00:00
Kp
7acd98949f
Remove reliance on layout of control_center_triggers
2013-12-28 22:10:24 +00:00
Kp
79fe1d899c
Simplify control_center_triggers_read_n
2013-12-28 22:04:47 +00:00
Kp
0aba1b9d76
Use correct SWAP for wall segnum
2013-12-28 22:02:54 +00:00
Kp
75ce83098d
Write log message when local player escapes the mine
...
For consistency with messages that other players have escaped, also log
the local player escaping.
2013-12-28 18:17:09 +00:00
Kp
aa16a01fec
Mark control_center_triggers_write input as const
2013-12-25 23:51:28 +00:00
Kp
bdf55f907b
Use assignment instead of memcpy
2013-12-25 23:50:26 +00:00
Kp
8c63ad4d09
Use dedicated type for Objects[] array
2013-12-25 23:49:04 +00:00
Kp
46f97e9f41
Reduce sprintf usage in kmatrix
2013-12-25 04:41:42 +00:00
Kp
93ce29f88d
Simplify test for exit tunnel with wrong final child
2013-12-25 04:39:54 +00:00
Kp
25e95936d5
When pursuing player, avoid segment_none instead of segment 1
...
Avoiding segment 1 makes no sense, and appears to be a bug.
2013-12-25 04:39:16 +00:00
Kp
f9269b0fb4
Show failed hostname when DNS lookup fails
2013-12-25 03:22:06 +00:00
Kp
f6ea0815cd
Remove unread player structure from savefile
2013-12-25 03:22:06 +00:00
Kp
7fb4c6307f
Add debug option -no-grab to prevent window grabbing
2013-12-22 20:56:55 +00:00
Kp
456c2d0bb0
Scrub control codes from stdout/file, but not HUD/console
2013-12-22 20:56:55 +00:00
Kp
6cb6faf5ce
Switch fvi to use a local visited_segment_bitarray_t
2013-12-22 20:56:55 +00:00
Kp
4460b16d0e
Simplify visited check in sphere_intersects_wall
...
Non-segments can never be visited, so check for existence first.
2013-12-22 20:56:55 +00:00
Kp
a7bd19a7ca
Convert fvi to use countarray for segment list
...
Also fixes a bug where seglist could receive wrong elements when
fvi_sub recursive call returns a type other than HIT_NONE. Bug caused
by badly named variables:
int ii;
for (ii=0;i < temp_n_segs && *n_segs < MAX_FVI_SEGS-1;)
seglist[(*n_segs)++] = temp_seglist[ii++];
The wrong counter is used for first part of the conditional, so
uninitialized elements of temp_seglist could be read back if i
(==n_segs_visited) is smaller than temp_n_segs or elements could be
skipped if i is greater than temp_n_segs.
2013-12-22 20:56:53 +00:00
Kp
fe7c9fa444
Use countarray for HUD_messages
2013-12-22 20:56:33 +00:00
Kp
dce285fdb1
Pass computed message length from err_printf to con_puts
2013-12-22 20:13:05 +00:00
Kp
7ea8507470
Move warning_printf newline handling into the function
2013-12-22 20:03:27 +00:00
Kp
80344777b0
Move err_printf newline handling into the function
2013-12-22 20:03:05 +00:00
Kp
44f1814b45
Store boss gate/teleport segments in countarray objects
2013-12-22 20:02:42 +00:00