Commit graph

904 commits

Author SHA1 Message Date
Kp bd1c6d8c5d Reduce header includes of physfsx.h 2014-07-22 23:48:23 +00:00
Kp a6dcfa2e30 Simplify audio CD discovery 2014-07-22 23:48:23 +00:00
Kp b4a778ed9d Use DXX_ALWAYS_ERROR_FUNCTION for printf check
Enable printf check without relying on embedded compound statements.
2014-07-19 21:15:01 +00:00
Kp eec1cfdc34 Add <cstdint> to gr.h for old compilers 2014-07-19 18:01:15 +00:00
Kp 3a35179e50 List initialize avg_color_rgb 2014-07-19 03:09:58 +00:00
Kp a4f7f607db List initialize input to vm_vec_zero 2014-07-19 03:09:26 +00:00
Kp 6370292202 Pass array<> to create_*_vertex_lists 2014-07-17 03:29:57 +00:00
Kp d3d457cf19 Pass array<> to gr_list_modes to preserve size information 2014-07-17 03:29:57 +00:00
Kp 7552ceb259 Remove unused arguments 2014-07-16 03:24:40 +00:00
Kp 07036e7962 Use consistent static on process_buffer(message) 2014-07-16 03:21:04 +00:00
Kp 3946be044c Replace newmenu template specializations with free functions 2014-07-16 03:21:04 +00:00
Kp cf75bb6699 Define away printf %s check if __builtin_constant_p not available 2014-07-16 03:14:57 +00:00
Kp 5f9b981380 Move cstring_tie.p init to member initialization 2014-07-16 03:14:51 +00:00
Kp 9f685a0d0a List initialize unicode_frame_buffer 2014-07-16 03:14:04 +00:00
Kp dc87c78fd2 Mark grs_bitmap as prohibit_void_ptr 2014-07-16 03:14:04 +00:00
Kp b97ff9d496 Simplify cstring_tie 2014-07-14 02:27:11 +00:00
Kp 166253f4c2 Compact grs_canvas 2014-07-14 02:17:40 +00:00
Kp 41e016954a Remove unused add_flicker 2014-07-14 02:17:40 +00:00
Kp 2a8e0a78c6 Use partial_range with RBAudio 2014-07-14 02:17:40 +00:00
Kp afeaa09e9a Replace vm_copy_transpose_matrix with vm_transposed_matrix
Also, delete obsolete broken inlining support.
2014-07-14 02:17:40 +00:00
Kp 4c7249a016 Return vms_matrix from vm_matrix_x_matrix 2014-07-14 02:17:40 +00:00
Kp 08d72ae525 Mark find_connected_distance vms_vector const 2014-07-13 22:57:45 +00:00
Kp 03574d0f5e Change vm_vec_* macros to inline functions 2014-07-13 03:43:32 +00:00
Kp e765fd74fc Move Highest_segment_index into Segments 2014-07-13 03:43:32 +00:00
Kp b2a7195643 Remove unused multi_dump_robots 2014-07-13 03:43:32 +00:00
Kp 082bb43ede Fold valptridx_t features into template 2014-07-13 03:43:32 +00:00
Kp dd70a3f03d Use array<> for PowerupsInMine, MaxPowerupsAllowed 2014-07-12 19:23:37 +00:00
Kp c1aebe6771 Remove unused OBJ_FLARE 2014-07-12 16:38:33 +00:00
Kp d94139c79d Remove redundant partial_range iterator specification 2014-07-06 03:34:43 +00:00
Kp fa24a40033 Move Highest_object_index into Objects[] 2014-07-06 03:34:43 +00:00
Kp 08546489c3 Require integral index to Objects[] 2014-07-06 03:34:43 +00:00
Kp 229dbe1b47 Add runtime exception reporting to valptridx 2014-07-05 22:00:08 +00:00
Kp 44d1924e96 Use special type for player callsign 2014-07-05 19:20:56 +00:00
Kp 689c2496d0 Unify IFF palette handling 2014-07-05 03:48:57 +00:00
Kp e259857fea List initialize UDP mdata pkt_num array 2014-07-04 04:12:45 +00:00
Kp d5b55cf512 List initialize kill_matrix 2014-07-04 04:07:14 +00:00
Kp a07376fe05 List initialize hmp event 2014-07-04 03:43:38 +00:00
Kp 5339c4873a Use assignment to clear Joystick 2014-07-04 03:43:01 +00:00
Matt Vandermeulen 28f307eb85 Fixes #5 - Byteswap header renamed to byteutil, plus sed magic
[Kp: switch to #pragma for byteutil.h]
2014-07-03 02:03:08 +00:00
Kp 7a1b103ed1 Reduce template recursion in serializer 2014-07-02 03:08:44 +00:00
Kp 9f03076a58 Remove write-only variable Beam_brightness 2014-07-02 02:31:32 +00:00
Kp 6222b58bbc Move uvl_list into g3_draw_rod_tmap 2014-07-01 03:10:56 +00:00
Kp d8a1971769 Decode transparent RLE in pieces 2014-07-01 02:30:39 +00:00
Kp b6033c49f2 Use unsigned transparent bitmap bounds 2014-07-01 01:34:16 +00:00
Kp 3abc33d6cc Optimize gr_rle_decode 2014-06-30 23:56:51 +00:00
Kp 8958a0dfbe Remove unnecessary typename usage 2014-06-30 03:25:47 +00:00
Kp d35b021ac6 Fix misspelled C++ guard in loadgl.h 2014-06-28 03:57:57 +00:00
Kp 39a56ae244 Unpack UDP_mdata_store 2014-06-27 03:11:39 +00:00
Kp 6091496b28 Unpack UDP_mdata_info 2014-06-26 03:17:23 +00:00
Kp c7b161cf2d Unpack UDP_frame_info 2014-06-26 03:17:23 +00:00
Kp f1970ad129 Unpack netplayer_info 2014-06-26 03:17:23 +00:00
Kp 291d11d17e Unpack UDP_sequence_packet 2014-06-26 03:17:23 +00:00
Kp 65fedf7b59 Unpack netgame_info 2014-06-26 03:17:23 +00:00
Kp e99b496d72 Unpack game_cheats 2014-06-26 03:17:23 +00:00
zico f6a18e05a6 Reworked packet loss prevention system to send and receive protected packets in correct order 2014-06-24 14:49:18 +02:00
Kp da1bd2fd08 Precompute collision tables 2014-06-24 03:40:31 +00:00
Kp 90300d54d9 Precompute fix_recip table 2014-06-23 04:46:07 +00:00
Kp 7836562a24 Switch serial pad constants to static const 2014-06-22 22:12:17 +00:00
Kp 77ba463614 Compile out unneeded pad initialization 2014-06-22 22:04:23 +00:00
Kp b3c953375c Read lines in blocks 2014-06-22 21:56:03 +00:00
Kp ad3e540b62 Simplify lengthof header 2014-06-22 21:05:08 +00:00
Kp 599520fabb Add operator bool to exact_type<T> 2014-06-22 21:03:23 +00:00
Kp b9de0787ce Optimize multi_send_drop_marker 2014-06-22 20:59:04 +00:00
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