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
dd583e9c2b
Add packed *_rw versions of object subfields
2013-12-29 00:32:58 +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
cc9f7f669d
Tighten definition of SWAPSHORT
2013-12-28 22:36:59 +00:00
Kp
38b2dbe639
Move object* -> objnum conversion into init_ai_object
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
aa16a01fec
Mark control_center_triggers_write input as const
2013-12-25 23:51:28 +00:00
Kp
8c63ad4d09
Use dedicated type for Objects[] array
2013-12-25 23:49:04 +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
038bbad26a
Rearrange headers to build under all test modes
2013-12-22 20:56:35 +00:00
Kp
c28d0c984c
Combine nearby d1/d2 guard in powerup.h
2013-12-22 20:56:35 +00:00
Kp
44f1814b45
Store boss gate/teleport segments in countarray objects
2013-12-22 20:02:42 +00:00
Kp
403d412000
Remove BEFORE/AFTER arguments to for_each_multiplayer_command
2013-12-22 20:02:22 +00:00
Kp
99626b2f34
Clear visited segment array in constructor
2013-12-22 05:27:46 +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
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
Kp
86a88bedbd
Use enum for CockpitMode
...
This makes the debugger output nicer.
2013-12-20 03:14:16 +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
f0bae2c8cd
Add EVENT_WINDOW_CREATED to centralize window init/deinit logic
2013-12-20 02:51:24 +00:00
Kp
985972186f
Use separate type for ai_static_rw in Descent, too
2013-12-19 15:11:41 +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
aba6c2dfee
Pass glow_values as array<> to retain size information
2013-12-19 03:31:24 +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
8c74708ad4
Improve layout of D2 powerup_info
2013-12-18 04:51:46 +00:00
Kp
9776827a33
Make Objects[] a C++ array
2013-12-18 04:51:46 +00:00
Kp
7caf9bbcd4
Unify WALL_IS_DOORWAY
...
Both games used the same meaning, but called values by different names.
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
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
38a5c03d5d
Add type checking for newmenu_listbox
2013-12-17 03:58:17 +00: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
5d306d06be
Switch endlevel message dialog not to use nm_messagebox1
2013-12-15 19:00:59 +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
f05b6f0008
Use on-stack bit array for tracking AI segment visits
2013-12-15 18:50:39 +00:00