Kp
799fc04805
Use objptridx_t in create_gated_robot
2014-01-11 17:09:39 +00:00
Kp
201cc2c8ac
Use consistent semantics for gate_in_robot
...
Fixes an ancient bug where the wrong object would be mapped to a remote
object number if the gate_in_robot call failed.
2014-01-11 17:08:58 +00:00
Kp
087c5261ac
Remove unused return value of object_create_debris
2014-01-10 04:13:16 +00:00
Kp
392206c378
Use objptridx_t in object_create_debris
2014-01-10 04:09:52 +00:00
Kp
8d2945accd
Pass objptridx_t to object_create_explosion_sub
2014-01-10 04:05:24 +00:00
Kp
1296662e96
Pass objptridx_t to object_create_badass_explosion
2014-01-10 04:02:53 +00:00
Kp
0776e692a7
Use objptridx_t in obj_create
2014-01-10 04:00:34 +00:00
Kp
f0aad4dcd6
Remove unnecessary double conversion in explode_badass_object
2014-01-10 03:40:43 +00:00
Kp
ed218f1893
Pass objptridx_t to explode_badass_object
2014-01-10 03:40:16 +00:00
Kp
0d49f5b55a
Use objptridx_t for object_create_badass_explosion
2014-01-10 03:23:57 +00:00
Kp
58ed12ffce
Use objptridx_t for create_morph_robot
2014-01-10 03:20:11 +00:00
Kp
ab3806af83
Use objptridx_t for object_create_explosion
2014-01-10 03:20:11 +00:00
Kp
a76e088df4
Use objptridx_t for object_create_explosion_sub
2014-01-10 03:20:11 +00:00
Kp
f1a6757693
Use objptridx_t for obj_create
2014-01-10 03:20:11 +00:00
Kp
9843406588
Remove unused return value of explode_badass_weapon
2014-01-10 03:17:55 +00:00
Kp
d6fab53199
Remove unused return value of object_create_muzzle_flash
2014-01-10 03:14:14 +00:00
Kp
61ad220d42
Remove unused who_killed_controlcen
2014-01-08 03:54:44 +00:00
vobject
9529f60d5d
Use correct type for diskid. The *_DISKID defines are larger than a 32bit signed integer.
2014-01-07 22:04:23 +01:00
vobject
bb38e8232f
Use correct unsigned format specifier for sprintf
2014-01-07 22:01:33 +01:00
vobject
455c46aff0
Remove redundant assignment
2014-01-07 22:00:07 +01:00
vobject
c28a0c5dfa
Remove unnecessary null check
2014-01-07 21:59:22 +01:00
vobject
1b54c54c58
Fix uninitialized valiable when compiling DEMO_ONLY
2014-01-07 21:58:47 +01:00
vobject
a7099aa63a
Fix copy&paste error in AI
2014-01-07 21:57:27 +01:00
vobject
35ada6e8d9
Fix copy&paste error in UI debugging info
2014-01-07 21:56:05 +01:00
Kp
5dcf833da6
Remove useless NULL test on robot pointer
2014-01-06 04:17:57 +00:00
Kp
9a5d0f6f09
Use symbolic values for segment/object first/none
2014-01-06 04:17:55 +00:00
Kp
f4a7b23bf5
Fix incorrect use of assignment in assert statements
2014-01-05 01:51:22 +00:00
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
facb6a3598
Add console prints of PhysFS search path changes
2013-12-28 18:16:19 +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
f9fca1c9bd
Fix editor crash introduced by bad use of globals
2013-12-25 23:48:39 +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
Kp
e9693b5130
Clear SDL_Event before each poll
2013-12-22 20:02:42 +00:00
Kp
00a9fd7ac2
Split extra-view loop into helper function
2013-12-22 20:02:36 +00:00
Kp
88ec115c38
Show cloak/invulnerability time remaining on HUD
2013-12-22 20:02:23 +00:00
Kp
403d412000
Remove BEFORE/AFTER arguments to for_each_multiplayer_command
2013-12-22 20:02:22 +00:00
Kp
958100d676
Use visited_segment_bitarray_t for blast_nearby_glass
2013-12-22 05:33:18 +00:00
Kp
a14d729e2f
Use visited_segment_bitarray_t for set_segment_depths
2013-12-22 05:32:46 +00:00
Kp
6e1e9d0b24
Use visited_segment_bitarray_t for find_connected_distance
2013-12-22 05:32:29 +00:00
Kp
0de7bdc24c
Use visited_segment_bitarray_t in trace_segs
2013-12-22 05:32:19 +00:00
Kp
edc1f9e471
Use visited_segment_bitarray_t for pick_connected_segment
2013-12-22 05:30:44 +00:00
Kp
0978fcdab4
Use visited_segment_bitarray_t for create_path_points
2013-12-22 05:30:23 +00:00
Kp
f269ed7374
Make Been_visited a local bit array
2013-12-22 05:29:25 +00:00
Kp
99626b2f34
Clear visited segment array in constructor
2013-12-22 05:27:46 +00:00
Kp
9a7185f770
Store warning segments in countarray object
2013-12-22 05:27:16 +00:00
Kp
a8e9f9f624
Store found segments in countarray object
...
Raise MAX_FOUND_SEGS to MAX_SEGMENTS to ease code reuse.
2013-12-22 01:54:15 +00:00
Kp
c31c67c587
Store selected segments in countarray object
2013-12-22 01:54:15 +00:00
Kp
4fb6990b6c
Make Stolen_items[] a C++ array
2013-12-22 01:53:26 +00:00
Kp
5b5c8a3c6a
Remove write-only variable TmapList
2013-12-22 01:16:16 +00:00
Kp
0c30fa7cf3
Whitelist MAX flash missiles as valid laser type
2013-12-22 01:15:40 +00:00
Kp
b1c5307eb1
Use array for palette_array_t
2013-12-22 00:37:36 +00:00
Kp
e9f9cb676f
Centralize palette utilities
2013-12-22 00:05:13 +00:00
Kp
a3d66a3b37
Add typedef palette_array_t for palette data
2013-12-22 00:05:13 +00:00
Kp
50b1717ae3
Use common helper to copy and bound palettes
2013-12-22 00:05:13 +00:00
Kp
11f7bc51ee
Use unsigned count of frames in a vclip
2013-12-22 00:05:13 +00:00
Kp
1e8036bd24
Split compiler.h for PCH compatibility
2013-12-21 05:12:38 +00:00
Kp
c2f6e9f999
Remove obsolete setjmp/longjmp
2013-12-21 01:40:56 +00:00
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