Commit graph

782 commits

Author SHA1 Message Date
Kp bcb26678e2 Remove unused hitpt on check_volatile_wall 2014-10-10 02:29:47 +00:00
Kp a8f853aa7a Pass d_event arg by const& 2014-10-04 22:36:13 +00:00
Kp 3714c0c645 Use new serializer for writing segment side wall/tmap 2014-10-04 17:53:14 +00:00
Kp af26259158 Remove unnecessary padding in segment sides 2014-10-04 17:53:03 +00:00
Kp 2a63700d95 Use magic type for wall magic constants 2014-10-04 17:31:13 +00:00
Kp 6971dfbf4a Use symbolic *_none constants for -1 2014-10-04 17:31:13 +00:00
Kp 93113bc400 Pass player_is_visible_from_object arg by & 2014-10-02 03:02:38 +00:00
Kp 3d6d2d3f14 Pass make_random_vector arg by & 2014-10-02 03:02:38 +00:00
Kp 02fd23f6af Pass player_is_visible_from_object arg by const & 2014-10-02 03:02:37 +00:00
Kp 5b97433ce5 Make various ai functions take const vms_vector& 2014-10-02 03:02:36 +00:00
Kp 16b87b350f Pass const vms_vector* to ai_follow_path 2014-10-02 03:02:36 +00:00
Kp 586f9ec0ee Pass draw_polygon_model arg by const & 2014-10-02 03:02:35 +00:00
Kp ff37e54087 Change Vertices to array<vertex> 2014-10-02 03:02:34 +00:00
Kp 0d0297553e Simplify bm_free_extra_models 2014-09-28 21:55:59 +00:00
Kp 59cacbd8ce Move Allow_marker_view, AlwaysLighting into DXX_BUILD_DESCENT_II 2014-09-28 21:09:22 +00:00
Kp dc511d0a5c Pass array<> to iff_read_animbrush 2014-09-27 23:06:33 +00:00
Kp 78ad2adabf Write weapon_info carefully 2014-09-27 22:46:25 +00:00
Kp 382afad2b8 Refactor weapon_info_read_n
Fix potential for initializing .children to wrong value with old data
files.  Currently, this cannot be hit because no caller uses the right
combination of arguments to cause it.

Rely on partial_range to report invalid custom files.
2014-09-27 21:21:58 +00:00
Kp 93bb883563 Use array<> for weapon_info fields 2014-09-27 17:15:17 +00:00
Kp afd995aa22 Centralize N_D2_* constants in bm.h 2014-09-27 15:42:45 +00:00
Kp 53035620d5 Fix clang build of wall constants 2014-09-22 03:35:34 +00:00
Kp 9eda412dff Use symbolic constant wall_none 2014-09-21 23:05:14 +00:00
Kp 7b36462700 Pass multiplayer message type to multi_process_data 2014-09-21 22:10:21 +00:00
Kp e6b9f3f923 Use typedef for player number 2014-09-21 22:10:12 +00:00
Kp 6d5b9e3004 Move MAX_BITMAPS_PER_BRUSH definitions to piggy.h 2014-09-21 21:53:54 +00:00
Kp 703f60ac3f Fix -Wtype-limits warnings 2014-09-21 21:41:55 +00:00
Kp ef42a7cdad Compact version number definition 2014-09-17 02:45:32 +00:00
Kp 5f8ede8d8f Remove state_save_old_game
Saving old player structure is broken since d9e2337 switched to saving
the pointer to sg_player instead of the value of sg_player.  No one
reported it in 6 years, so remove it.
2014-09-17 02:45:02 +00:00
Kp 191ecd2cdc Remove write-only field matcen_info::interval 2014-09-17 02:07:55 +00:00
Kp 4b2ad9e3df Remove write-only field matcen_info::hit_points 2014-09-17 02:07:50 +00:00
Kp f0a1146b29 Unify MULTI_ROBOT_EXPLODE
Derive thief state locally.  Remove unused player number.  Use new
serializer.
2014-09-14 01:14:33 +00:00
Kp 44827606bc Use serialize for multi_claim_robot 2014-09-13 23:45:13 +00:00
Kp f5ee5f8813 Use array<> for side 2014-09-13 22:05:52 +00:00
Kp 01638a7eb0 Move N_render_segs into render_state_t 2014-09-07 23:56:37 +00:00
Kp a02f78a171 Move saving window pointer into helper 2014-09-07 19:04:07 +00:00
Kp 73a0aee004 Use accessor for side::type 2014-09-06 22:36:58 +00:00
Kp 02e2e77ee6 Tighten processing of WALL_IS_DOORWAY flags 2014-09-06 22:26:11 +00:00
Kp d312248d45 Return int_fast32_t from find_connect_side 2014-09-06 04:06:18 +00:00
Kp 6af1b910df Short circuit ambient_mark_bfs test for child segments 2014-09-04 02:24:54 +00:00
Kp 3e8ec8932f Use array<> for player_config 2014-08-26 02:59:01 +00:00
Kp fea751bc62 Use std::string for mission path 2014-08-24 17:45:30 +00:00
Kp 8d835f8e34 Reduce inclusion of compiler-begin.h 2014-08-24 03:36:35 +00:00
Kp b95759aecc Propagate use of objptridx 2014-08-23 23:53:56 +00:00
Kp 66cb80c343 Propagate use of objptridx 2014-08-17 20:31:18 +00:00
Kp 83c6b60123 Use array<> for textures_list 2014-08-16 22:18:14 +00:00
Kp 1d16377d48 Change isyou to your_index and promote it out a layer
There is only ever one record for which isyou is true.
2014-08-16 21:56:46 +00:00
Kp 2a3176dc98 Use array<> for segment members 2014-08-16 18:14:00 +00:00
Kp 47d0ecee39 Use array<> for get_side_verts 2014-08-16 17:42:23 +00:00
Kp d945a95d47 Use std::default_delete<Mission> for Mission_ptr 2014-08-16 04:22:01 +00:00
Kp 8cd2cd216d Fix Player_num regression in multiplayer startup 2014-08-13 03:20:59 +00:00
Kp d6b81d2fe3 Deduce create_bfs_list max_segs 2014-08-13 03:19:13 +00:00
Kp c3086f0875 Split out boss action messages 2014-08-13 03:19:13 +00:00
Kp 9979302303 Change IS_CHILD to inline function 2014-08-13 03:19:12 +00:00
Kp 915b78b5e1 Add vvalptridx_t for always-valid valptridx values 2014-08-13 03:19:12 +00:00
Kp 125d9257be Use special type names for segment/object numbers 2014-08-13 02:57:12 +00:00
Kp 2764e3652a Propagate use of objptridx_t 2014-08-13 02:56:58 +00:00
Kp 81c6f27f44 Change point_seg::segnum to short 2014-08-13 02:56:58 +00:00
Kp bfda4c554e Inline med_get_vertex_list 2014-08-12 03:01:14 +00:00
Kp 7888c13b6b Write point_seg carefully 2014-08-12 02:55:23 +00:00
Kp cec32ce3f5 Move render state arrays onto stack 2014-08-12 02:28:03 +00:00
Kp d0db98fe01 Use array<> for netgame_info members 2014-08-09 16:43:55 +00:00
Kp 79d2c968a3 Use array<> for Players 2014-08-08 03:02:59 +00:00
Kp 597a55558f Use array<> for Segment_points 2014-08-08 03:02:43 +00:00
Kp 1c064b8efb Remove unused find_hitpoint_uv l parameter 2014-08-08 02:51:02 +00:00
Kp 4acbb40ad7 Use enum for window event result 2014-08-07 02:47:48 +00:00
Kp 553f17a3be Initialize MarkerObject properly 2014-08-05 03:10:04 +00:00
Kp d667772b21 Move valptridx operator- into DEFINE_VALPTRIDX_SUBTYPE 2014-08-02 00:46:56 +00:00
Kp b29f2ef7bd Replace hashtable with std::map 2014-08-02 00:46:56 +00:00
Kp 4fadbbc92c Replace render globals with const 2014-07-30 03:06:41 +00:00
Kp 0f7e561775 Add helper to iterate over objects in segment 2014-07-30 03:06:40 +00:00
Kp 13b233b7d7 Fix Windows build 2014-07-26 22:53:41 +00:00
Kp b37c295c59 Pick default extra_version from git tag 2014-07-26 22:53:41 +00:00
Kp 9e619f73d5 Inline polymodel_read_n 2014-07-26 04:18:06 +00:00
Kp 51fdeea84b Use unique_ptr for model_data 2014-07-26 04:01:35 +00:00
Kp ebb1b70350 Fix polymodel writing on x64
Packed writing a structure containing a pointer, but reading it as an
int, is wrong on x64.
2014-07-26 04:01:35 +00:00
Kp af912ea84d Use unique_ptr for level_names 2014-07-25 02:54:31 +00:00
Kp d1eaa1819c Use unique_ptr for secret_level_names 2014-07-25 02:54:31 +00:00
Kp 3bf30f9cf7 Use unique_ptr for secret_level_table 2014-07-25 02:54:31 +00:00
Kp 6020c9c013 Use d_fname for DOS filenames 2014-07-25 02:54:31 +00:00
Kp 2ddc37d804 Write tmap_info carefully 2014-07-25 02:54:31 +00:00
Kp 79708e14f4 Use unique_ptr for alternate_ham_file 2014-07-25 01:48:36 +00:00
Kp 6826e966a7 Use unique_ptr for Current_mission 2014-07-22 23:48:23 +00:00
Kp c1d184240d Use unique_ptr to manage fonts 2014-07-22 23:48:23 +00:00
Kp bd1c6d8c5d Reduce header includes of physfsx.h 2014-07-22 23:48:23 +00:00
Kp 3a35179e50 List initialize avg_color_rgb 2014-07-19 03:09:58 +00:00
Kp 6370292202 Pass array<> to create_*_vertex_lists 2014-07-17 03:29:57 +00:00
Kp 7552ceb259 Remove unused arguments 2014-07-16 03:24:40 +00:00
Kp 3946be044c Replace newmenu template specializations with free functions 2014-07-16 03:21:04 +00:00
Kp 41e016954a Remove unused add_flicker 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 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 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 44d1924e96 Use special type for player callsign 2014-07-05 19:20:56 +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 9f03076a58 Remove write-only variable Beam_brightness 2014-07-02 02:31:32 +00:00
Kp 8958a0dfbe Remove unnecessary typename usage 2014-06-30 03:25:47 +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 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 c4b31f875f Use array<> for MarkerMessage 2014-06-22 18:53:42 +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 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 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 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 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 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
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 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 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 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 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 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
Kp 7088720507 Use C++ array for Automap_visited 2013-12-15 18:46:42 +00:00
Kp 2ce15e5703 Remove unused extern object variables 2013-12-15 01:59:05 +00:00
Kp ddffec01c7 Use enum for multi_send_msgsend_state values 2013-12-15 01:52:13 +00:00
Kp 6779dc4991 Remove unused command MULTI_DROP_ORB 2013-12-15 01:45:19 +00:00
Kp 00a9ca2423 Remove unused MULTI_PLAY_BY_PLAY
The sending function has been disabled since Bazaar import.
2013-12-15 01:45:19 +00:00
zico ec516b5675 Disable powerup capping for cooperative game mode as it potentially deletes weapons carried over from another level 2013-12-14 02:53:45 +01:00
Kp cb4fd7c1b4 Compact known file extension storage 2013-12-13 03:58:01 +00:00
Kp 2bd302cddd Move Controls ubyte values into substructure 2013-12-13 03:47:57 +00:00
zico e195290fe4 Added quick load ability for savestates 2013-12-10 18:13:32 +01:00
zico dae83f9edc Set PPS limits from 5 to 40 2013-12-09 14:25:32 +01:00
zico 2e407fa5a8 Removed short packets and added segment number to quaternion structure 2013-12-09 14:00:23 +01:00
Kp 38e92ddce0 Remove useless __pack__ on PlayerCfg 2013-12-08 00:15:13 +00:00
Kp 141ead1830 Move ramped controls into template structure 2013-12-07 21:13:37 +00:00
Kp c3dd634cce Remove unused flag OF_HARMLESS 2013-12-07 18:41:35 +00:00
Kp 9de54cfa74 Switch to C++ linkage
import fileinput
guard = 0
cxxguard = '#ifdef __cplusplus\n'
for line in fileinput.input(inplace=True):
	if line == cxxguard:
		guard = 1
		continue
	if guard:
		if line == 'extern "C" {\n':
			guard = 2
			continue
		if line == '}\n':
			guard = 0
			continue
		if guard == 2:
			assert(line == '#endif\n')
			guard = 0
			print cxxguard,
			continue
	print line,
2013-12-06 03:35:32 +00:00
Kp 3620392f56 Remove unused nm_messagebox_fixedfont 2013-12-06 00:24:07 +00:00
Drakona 04d84ae61d Pass shot orientation with each weapon packet 2013-12-05 13:11:49 +01:00
Kp 18aea17f9e Move */main/fireball.c -> similar/main/fireball.c 2013-12-02 00:21:31 +00:00
Kp 2ac98f7269 Move */main/gamemine.c -> similar/main/gamemine.c 2013-12-01 23:55:29 +00:00
Kp 38832fd1af Restructure gamemine.c for merge 2013-12-01 23:52:27 +00:00
Kp 2d01f3a649 Optimize references to player ship 2013-12-01 22:53:25 +00:00
Kp 74ac85076f Store joystick button text in one allocation 2013-12-01 22:42:47 +00:00
Kp 5354d05fbf Store joystick axis text in one allocation 2013-12-01 22:42:47 +00:00
Kp 08efe14586 Remove unused Laser_player_fire parameter harmless_flag 2013-11-28 02:12:13 +00:00
Kp 3e2c0b5e1b Switch multi_allow_powerup_text to [][] from *[] 2013-11-28 02:09:30 +00:00
Kp 5d1769cd2c Switch RankStrings to be [][14] instead of *[]
Saves 10 .rel.ro entries and 6 bytes on x86 / 46 bytes on x64.
2013-11-28 02:08:54 +00:00
Kp 541961a2f7 Make Object_type_names const 2013-11-28 00:27:43 +00:00
Kp 68732756e8 Make Wall_names const 2013-11-28 00:27:43 +00:00
Kp cbc46e343d Remove unused MULTI_ANGER 2013-11-24 23:11:30 +00:00
Kp a65d774c83 Improve packing of struct segment
Shrinks Segments[] by 36000 bytes.
2013-11-24 23:08:32 +00:00
Kp c70c6c98b3 Remove obsolete segment::degenerated flag
Shrinks Segments[] by 36000 bytes.
2013-11-24 23:08:32 +00:00
Kp 6be79cadce Unify ai_follow_path 2013-11-23 22:41:01 +00:00
Kp 7a9db6716a Make ready_to_fire static 2013-11-18 04:51:33 +00:00
Kp f4cbfca8e2 Use helper to test for thief flag 2013-11-18 04:51:33 +00:00
Kp dc72fb5932 Use player_awareness_type_t for create_awareness_event 2013-11-18 04:51:33 +00:00
Kp 6becfdacca Remove NUM_DXX_REBIRTH_CONTROLS 2013-11-18 00:54:59 +00:00
Kp a842b31a20 Remove NUM_MOUSE_CONTROLS 2013-11-18 00:54:59 +00:00
Kp 04b0bd892d Remove NUM_JOYSTICK_CONTROLS 2013-11-18 00:54:59 +00:00
Kp bf7063080e Remove NUM_KEY_CONTROLS 2013-11-18 00:54:59 +00:00
Kp c3d328ea5c Use helper to test for guidebot flag 2013-11-16 23:24:12 +00:00
Kp d0514455b3 Use automap_state instead of automap_count 2013-11-16 23:24:12 +00:00
Kp 321e240744 Use rear_view_state instead of rear_view_count 2013-11-16 23:24:12 +00:00
Kp cda0b60687 Remove unused fire_secondary_count 2013-11-16 23:24:12 +00:00
Kp 494c380abb Switch automap to use fire_primary_state
Counting is unnecessary here.
2013-11-16 23:24:12 +00:00
Kp 1312369c94 Restructure ai.c for merging 2013-11-16 23:20:30 +00:00
Kp e2a2cc579a Remove unused piggy_dump_all 2013-11-10 19:08:12 +00:00
Kp 6e6b480082 Use enum for weapon types 2013-11-02 04:26:51 +00:00
Kp 6fc8d110f3 Only give secondaries that exist 2013-11-02 04:25:33 +00:00
Kp 58958e091b Only give primaries that exist 2013-11-02 04:24:14 +00:00
Kp 765f34eb0a Remove unused function med_check_all_vertices 2013-10-29 03:24:42 +00:00
Kp aa7f36e3b7 Provide HUD prototypes in Descent 1 2013-10-29 03:24:42 +00:00
Kp 68e936b809 Disable Parallax AI path debug printing 2013-10-29 03:24:41 +00:00
Kp 4fcf34fdbb Make create_weapon_object static 2013-10-28 04:16:45 +00:00
Kp 19fef0a51d Simplify full_palette_save calls 2013-10-28 04:16:44 +00:00
Kp 8ed99faf5c Make headers freestanding 2013-10-26 03:50:28 +00:00
Kp fdd2dd65c7 Use underlying type for state_game_id
This avoids the need for a header to declare it.
2013-10-26 03:50:27 +00:00
Kp 3693743d41 Move similar/main/mission.c -> similar/main/mission.cpp 2013-10-20 22:49:12 +00:00
Kp e663767201 Move similar/main/menu.c -> similar/main/menu.cpp 2013-10-20 22:49:12 +00:00
Kp cf2c153c77 Move similar/main/kmatrix.c -> similar/main/kmatrix.cpp 2013-10-20 22:49:11 +00:00
Kp 1d073475e7 Mark various headers for C linkage 2013-10-20 22:49:11 +00:00
Kp 5b0c4b10ac Use accessor for most get/set object->id accesses 2013-10-20 22:49:09 +00:00
Kp 852a4c7f4d Use enum weapon_type_t in more places 2013-10-19 17:06:16 +00:00
Kp 14d7c8cef4 Match MAX_SECRET_LEVELS_PER_MISSION type to N_secret_levels 2013-10-19 17:03:11 +00:00
Kp 2bcc7bb371 Only create lasers for known weapon types 2013-10-09 01:54:12 +00:00
Kp a8050a462f Only fire valid level lasers 2013-10-09 01:54:12 +00:00
Kp 553dc95b05 Use helper to check for laser type weapons 2013-10-09 01:54:12 +00:00
Kp 798774294f Use weapon_type_t for Laser_create_new* weapon type 2013-10-08 02:10:18 +00:00
Kp bd46b7ea73 Make CONTROLCEN_WEAPON_NUM a weapon_type_t member 2013-10-08 02:07:39 +00:00
Kp 00f0fddabc Centralize handling of SysUsePlayersDir 2013-10-06 21:04:29 +00:00
Kp 7dd7d6704b Make write_player_file void 2013-10-06 17:56:37 +00:00
Kp fa1b1a1217 Restructure dumpmine.c for merging 2013-10-06 16:20:00 +00:00
Kp e73205faac Use enum for player awareness types 2013-10-05 21:35:58 +00:00
Kp bd467b4140 Move similar/main/inferno.c -> similar/main/inferno.cpp 2013-10-05 21:35:58 +00:00
Kp 9c65aa3cc5 Move similar/main/gauges.c -> similar/main/gauges.cpp 2013-10-05 21:35:58 +00:00
Kp 4db024f953 Move similar/main/gamesave.c -> similar/main/gamesave.cpp 2013-10-05 21:35:58 +00:00
Kp 06c83c9393 Move similar/main/gamecntl.c -> similar/main/gamecntl.cpp 2013-10-05 21:35:58 +00:00
Kp d656bd4115 Move similar/main/game.c -> similar/main/game.cpp 2013-10-05 21:35:58 +00:00
Kp 782372d6b8 Move similar/main/effects.c -> similar/main/effects.cpp 2013-10-05 21:35:58 +00:00
Kp c7e34f5330 Move similar/main/digiobj.c -> similar/main/digiobj.cpp 2013-10-05 21:35:58 +00:00
Kp f4393ca1b6 Move similar/main/credits.c -> similar/main/credits.cpp 2013-10-05 21:35:58 +00:00
Kp ba4b87d44a Move similar/main/controls.c -> similar/main/controls.cpp 2013-10-05 21:35:58 +00:00
Kp b1dbeb6199 Move similar/main/config.c -> similar/main/config.cpp 2013-10-05 21:35:58 +00:00
Kp 64350f83b8 Move similar/main/cntrlcen.c -> similar/main/cntrlcen.cpp 2013-10-05 21:35:58 +00:00
Kp 584fc93f34 Move similar/main/automap.c -> similar/main/automap.cpp 2013-10-05 21:35:58 +00:00
Kp e5ee9b72f1 Move similar/main/aipath.c -> similar/main/aipath.cpp 2013-10-05 21:35:58 +00:00
Kp b4107e6526 Remove duplicate declarations 2013-10-03 03:11:52 +00:00
Kp c58c4e4d06 Move declarations to headers 2013-10-03 03:11:52 +00:00