Kp
362f0a5d23
Use array<> for Point_segs
2014-06-22 20:56:47 +00:00
Kp
794572b771
Enable using count_array_t<T,S> with prohibit_void_ptr<T>
2014-06-22 19:06:52 +00:00
Kp
c4b31f875f
Use array<> for MarkerMessage
2014-06-22 18:53:42 +00:00
Kp
dc42dad15a
Check that types passed to PHYSFS_read are POD
...
More is needed to trap some misuses, but those traps flag existing code.
2014-06-22 18:52:00 +00:00
Kp
e6a691c5c7
Check that types passed to PHYSFS_write are POD
...
More is needed to trap some misuses, but those traps flag existing code.
2014-06-22 03:54:35 +00:00
Kp
f6631ce742
Unpack various structures
...
Prohibit conversion to void* to avoid accidental use with memcpy
2014-06-21 23:56:27 +00:00
Kp
78143eb045
Read walls carefully
2014-06-21 23:56:27 +00:00
Kp
b3dc2a1bc0
Move D1X trigger read out of line
2014-06-21 23:56:27 +00:00
Kp
57a3541424
Fix serial::pad for gcc 4.5
2014-06-21 23:21:30 +00:00
Kp
c016ace90b
Fix partial_range.h for gcc 4.5
2014-06-21 23:21:03 +00:00
Kp
993f778e61
Write active_door carefully
2014-06-20 02:59:53 +00:00
Kp
5af9e8d5b2
Use array<> for ActiveDoors
2014-06-20 02:59:53 +00:00
Kp
2e95d8c0a8
Use array<> for Walls
2014-06-20 02:59:53 +00:00
Kp
176525cf71
Read cloaking_wall structures carefully
2014-06-20 02:59:53 +00:00
Kp
0ef949ab9e
Use array<> for CloakingWalls
2014-06-20 02:59:53 +00:00
Kp
d3ecca360c
Read matcen_info structures carefully
2014-06-20 02:59:53 +00:00
Kp
2d26de003a
Read trigger structures carefully
2014-06-20 02:59:53 +00:00
Kp
3c6f787e15
Use array<> for Polygon_models
2014-06-20 02:59:53 +00:00
Kp
58350edab7
Convert polymodel_read_n to call polymodel_read
2014-06-20 02:59:53 +00:00
Kp
7b33018cb5
Use array<> for Textures
2014-06-20 02:59:53 +00:00
Kp
3200823a8b
Use array<> for TmapInfo
2014-06-20 02:59:53 +00:00
Kp
be8c9d5d2d
Split out trigger_write
...
Conditional trigger_write is hard to read.
2014-06-20 02:59:53 +00:00
Kp
8cc3e2c9e9
Use array<> for Triggers
2014-06-20 02:59:53 +00:00
Kp
cb498b3b38
Make padding value customizable
2014-06-20 02:59:53 +00:00
Kp
fa77105084
Simplify D2X trigger upgrade code
2014-06-20 02:59:53 +00:00
Kp
952fc31449
Simplify d1_matcen_info_read
2014-06-20 02:59:53 +00:00
Kp
92814475a9
Use array<> for RobotCenters
2014-06-20 02:59:52 +00:00
Kp
958f452d2e
Improve UDT static_assert messages
2014-06-15 22:19:26 +00:00
Kp
d510438fd4
Use array<> for WallAnims
2014-06-15 03:35:21 +00:00
Kp
bd35eb7469
Use array<> for wclip arrays
2014-06-14 23:13:38 +00:00
Kp
1cf1373fb2
Use array<> for control_center_triggers members
2014-06-14 23:13:38 +00:00
Kp
9ab8a587b8
Write FuelCenter structures carefully
2014-06-14 23:13:38 +00:00
Kp
4bc9475076
Use array<> for Station
2014-06-14 23:13:37 +00:00
Kp
93ec327a10
Write powerup_type_info structures carefully
2014-06-14 23:13:37 +00:00
Kp
7c62bf98ef
Use array<> for Powerup_info
2014-06-14 01:15:33 +00:00
Kp
488e46b562
Return reasonable type from deleted partial_range
...
Avoid secondary errors related to binding void as a range.
2014-06-14 01:15:33 +00:00
zico
1136619786
merge
2014-06-12 10:42:26 +02:00
zico
c96aece6d2
Removed PARALLAX banner from source files that were not released by PARALLAX; most importantly C source code translated from Assembler and args.cpp which was rewritten from scratch
2014-06-12 10:41:03 +02:00
Kp
743cb49ed8
Make cockpit_decode_alpha static
2014-06-08 00:05:33 +00:00
Kp
6f9cdcd01c
Pass player number to multibot functions
2014-06-08 00:05:33 +00:00
Kp
e5673ae8ea
Pass pnum to boss action
2014-06-08 00:05:33 +00:00
Kp
b7a9701564
Get rid of MarkerPoint
...
Hope MT's ambiguous "horrible bug" is long gone since he never said what
it was.
2014-06-08 00:05:33 +00:00
Kp
41dc39c64c
Remove unused v19_door
2014-06-08 00:05:33 +00:00
Kp
b5701bf202
Add __attribute__((warn_unused_result)) to partial_range
2014-06-08 00:05:33 +00:00
Kp
5c14cf870f
Add optional offset to partial_range
2014-06-08 00:05:33 +00:00
Kp
20164b0639
Use symbolic constants for trigger types
2014-06-08 00:05:33 +00:00
Kp
6f84624f4c
Remove write-only D1X trigger field type
2014-06-08 00:05:32 +00:00
Kp
ebfb559fe1
Add dummy parameter version to D2 matcen_info_read
2014-06-08 00:05:32 +00:00
Kp
0257b9ca1c
Disallow using signed offsets with partial_range
2014-06-08 00:05:32 +00:00
zico
ad7cb106bc
Changed custom D1X license to GPLv3
2014-06-01 19:55:23 +02:00
zico
8a4ac70541
Reverted commit ec709efaa3
.
2014-06-01 19:08:29 +02:00
Kp
72b7ff6720
Write vclip structures carefully
2014-02-01 19:26:16 +00:00
Kp
9b0fb5da0a
Write eclip structures carefully
2014-02-01 18:55:18 +00: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
6ba95cb83b
Use objptridx_t for detect_escort_goal_accomplished
2014-01-25 18:06:54 +00:00
Kp
e7d16f095e
Remove redundant FuelCenter::Center
2014-01-25 17:21:56 +00:00
Kp
b9764fb45e
Use array<> for Effects
2014-01-25 17:21:56 +00:00
Kp
917ef39258
Use array<> for Vclip
2014-01-23 03:48:25 +00:00
Kp
a2427f58b5
Use special type to reduce pointer/index conversions
2014-01-12 19:32:12 +00:00
Kp
da8e5459d6
Return objptridx_t from obj_create_copy
2014-01-12 19:32:10 +00:00
Kp
599af3e1ba
Return objptridx_t from obj_allocate
2014-01-12 19:14:16 +00:00
Kp
89a383e6a9
Pass objptridx_t in newdemo.cpp
2014-01-12 01:44:07 +00:00
Kp
e402b0ee51
Pass objptridx_t to draw_powerup
2014-01-12 00:33:33 +00:00
Kp
e2afc332ac
Pass objptridx_t to explode_object
2014-01-12 00:33:28 +00:00
Kp
9d2c847b02
Pass objptridx_t to do_debris_frame
2014-01-12 00:33:19 +00:00
Kp
3a889b5825
Pass objptridx_t to apply_damage_to_robot
2014-01-12 00:33:14 +00:00
Kp
d246005c7e
Move object_create_explosion_sub pointer into loop
2014-01-12 00:33:08 +00:00
Kp
b17bafa29f
Pass objptridx_t to apply_damage_to_controlcen
2014-01-12 00:33:03 +00:00
Kp
27c9bea1a8
Pass objptridx_t to object_create_badass_explosion
2014-01-12 00:32:46 +00:00
Kp
9d0cc8324e
Pass objptridx_t to net_destroy_controlcen
2014-01-12 00:32:30 +00:00
Kp
a8aa9965e8
Pass objptridx_t to collide_*_and_*
2014-01-12 00:19:12 +00:00
Kp
8cffd14b8c
Pass objptridx_t to collide_two_objects
2014-01-11 23:19:44 +00:00
Kp
c0ae10a0d6
Pass objptridx_t to explode_badass_weapon
2014-01-11 23:11:04 +00:00
Kp
1c7f58b448
Pass objptridx_t to collide_object_with_wall
2014-01-11 23:07:51 +00:00
Kp
377626541d
Pass objptridx_t to render_object
2014-01-11 23:06:33 +00:00
Kp
24570e2726
Pass objptridx_t to compute_object_light
2014-01-11 22:58:58 +00:00
Kp
a3dd2ea963
Pass objptridx_t to create_player_appearance_effect
2014-01-11 22:57:55 +00:00
Kp
2effc847aa
Pass objptridx_t to create_path_points
2014-01-11 22:55:21 +00:00
Kp
0b529d16c7
Pass objptridx_t to do_controlcen_destroyed_stuff
2014-01-11 22:54:46 +00:00
Kp
70b8a2bb6d
Disallow using operator-(objptridx_t,Objects)
...
Implicit conversions made this work, but it just does extra work for no gain.
2014-01-11 22:50:07 +00:00
Kp
e06f53feb8
Pass objptridx_t to draw_weapon_vclip
2014-01-11 22:47:38 +00:00
Kp
93db613176
Reduce includes in vclip.h
2014-01-11 22:47:38 +00:00
Kp
7af7f60ffb
Pass objptridx_t to add_stuck_object
2014-01-11 22:47:38 +00:00
Kp
f9c7311214
Pass objptridx_t to do_physics_sim
2014-01-11 22:47:37 +00:00
Kp
85b95efc70
Fix ugly hack of using -4 for fuelcen reached
2014-01-11 22:24:55 +00:00
Kp
21c9aa6c16
Remove unused ESCORT_GOAL_EXIT2
2014-01-11 22:20:48 +00:00
Kp
09767b933f
Pass objptridx_t to player_is_visible_from_object
2014-01-11 21:54:44 +00:00
Kp
8e6e450df6
Pass objptridx_t to do_controlcen_frame
2014-01-11 21:54:44 +00:00
Kp
cc6d72b9ee
Unpack player to fix build on old compilers
2014-01-11 21:53:09 +00:00
Kp
8cbd85a77d
Unpack laser_info to fix build on old compilers
2014-01-11 21:51:29 +00:00
Kp
aac0ab26d7
Refactor _DEFINE_VALPTRIDX_SUBTYPE_USERTYPES
2014-01-11 18:20:33 +00:00
Kp
fca105e95d
Pass objptridx_t to create_small_fireball_on_object
2014-01-11 17:25:26 +00:00
Kp
a0ac77569b
Pass objptridx_t to obj_delete
2014-01-11 17:22:11 +00:00
Kp
0b820e1e7b
Pass objptridx_t to object_move_one
2014-01-11 17:19:22 +00:00
Kp
813bbb079f
Pass objptridx_t to do_ai_frame
2014-01-11 17:14:20 +00:00
Kp
1296662e96
Pass objptridx_t to object_create_badass_explosion
2014-01-10 04:02:53 +00:00
Kp
07a23cbaf2
Detect always-invalid valptridx indexes
2014-01-10 03:58:03 +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
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
Kp
a748065fe5
Explicitly delete valptridx subtype default constructors
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
67741cf603
Remove unused multi_explode_robot_sub parameter killer
2014-01-04 22:04:34 +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
888f44336f
Use segment array for render visited[]
2014-01-01 03:42:00 +00:00
Kp
40e90fea22
Move Light_subtracted[] to Segments[].light_subtracted
2014-01-01 03:33:27 +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
549d7ea261
Use correct size for flickering_light mask
2013-12-31 00:11:05 +00:00
Kp
cf7a3edee3
Move object::rtype up to improve packing
2013-12-29 04:54:22 +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
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
dfbe78c214
Remove useless 'unused' field in grs_bitmap
...
Saves a realignment to pointer boundary.
2013-12-28 22:38:02 +00:00
Kp
2d274dba8b
Tighten SWAPINT
2013-12-28 22:37:00 +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
1694eed536
Match PHYSFSX_readSXE?? return types to the internal type
2013-12-28 22:03:50 +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
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
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
58e740c0bd
Remove unused declaration of Center_names
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
fe7c9fa444
Use countarray for HUD_messages
2013-12-22 20:56:33 +00:00
Kp
7894647bc9
Let PHYSFSX_puts receive optional string length
2013-12-22 20:13:22 +00:00
Kp
314950d0b2
Pass computed message length from Error to con_puts
2013-12-22 20:12:56 +00:00
Kp
84a0dcba27
Rename con_puts length template
2013-12-22 20:12:41 +00:00
Kp
44f1814b45
Store boss gate/teleport segments in countarray objects
2013-12-22 20:02:42 +00:00
Kp
6de986d39c
Print file offset on read error
2013-12-22 20:02:26 +00:00
Kp
403d412000
Remove BEFORE/AFTER arguments to for_each_multiplayer_command
2013-12-22 20:02:22 +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