Commit graph

1585 commits

Author SHA1 Message Date
Kp 055f9593de Remove unused return value of vm_vec_scale2 2015-02-03 00:37:07 +00:00
Kp cca8fd65a1 Remove unused return value of vm_vec_scale_add2 2015-02-03 00:37:07 +00:00
Kp e0bf0be779 Remove unused return value of vm_vec_add2 2015-02-03 00:37:07 +00:00
Kp e14440b0e0 Remove unused return value of vm_vec_sub2 2015-02-03 00:37:07 +00:00
Kp cd7e99981b Remove unused return value of vm_vec_avg 2015-02-03 00:37:07 +00:00
Kp cf4a36aeff Optimize quad_sqrt masking 2015-02-01 23:07:18 +00:00
Kp 98afca20a9 Split and simplify partial_range check
Rely on T.size() instead of distance(T.begin(), T.end()) to get the
container size.  Add a special case for C-style arrays with known size.

In some cases, gcc-4.9 fails to optimize distance(...) on an array<T, N>
of unknown base address, leading to a bogus compile failure.  Switching
the object to have a known address prevents the problem, but requires
changing the calling code.  Switch to using T.size(), which gcc seems to
get right.
2015-02-01 23:07:18 +00:00
Kp 07501d2b94 Simplify gr_bitmap_rle_compress setting BM_FLAG_RLE_BIG 2015-01-29 04:27:37 +00:00
Kp 1985f7f295 Pass rle_swap_0_255 arg by & 2015-01-29 04:27:37 +00:00
Kp 27aeb6764d Pass rle_remap arg by & 2015-01-29 04:27:37 +00:00
Kp 912253ab00 Pass gr_bitmap_rle_compress arg by & 2015-01-29 04:27:37 +00:00
Kp 26544682e0 Cache COLOR 2015-01-29 04:27:37 +00:00
Kp e0529b06a7 Improve fixmul* readability 2015-01-29 04:27:37 +00:00
Kp 93589368c9 Move PHYSFSX_putc to the one file that uses it 2015-01-29 04:27:36 +00:00
Kp c1c028362e Fix clang build of fwdwall.h
Make WALL_IS_DOORWAY_FLAG::operator| const for C++14 conformance.  C++11
makes operator| implicitly const.  C++14 does not.
2015-01-29 04:27:36 +00:00
Kp d4117871a1 Use range_for for intro movies 2015-01-29 04:27:36 +00:00
Kp cd76870ecc Return find_hitpoint_uv u,v by value 2015-01-29 04:27:36 +00:00
Kp f4517dc0bd Reduce inclusion of segment.h 2015-01-29 04:27:36 +00:00
Kp 6b767c3a03 Remove various #include "gr.h" 2015-01-29 04:27:36 +00:00
Kp a2d32c2e6f Remove 3d.h #include "gr.h" 2015-01-29 04:27:36 +00:00
Kp e30df66462 Remove gauges.h #include "piggy.h" 2015-01-29 04:27:35 +00:00
Kp f31e9f76e0 Remove textures.h #include "piggy.h" 2015-01-29 04:27:35 +00:00
Kp 6baa2411a1 Remove polyobj.h #include "piggy.h" 2015-01-29 04:27:35 +00:00
Kp 46b6519890 Remove bm.h #include "piggy.h" 2015-01-29 04:27:35 +00:00
Kp f38aec1212 Remove string copying in GetKeyDescription 2015-01-29 04:27:35 +00:00
Kp b031e449de Make equal_space a preprocessor constant 2015-01-29 04:27:35 +00:00
Kp c2aa2c2e4b Rename space to space_tab
Name space is too simple and causes conflicts elsewhere.
2015-01-29 04:27:35 +00:00
Kp 71ec47b32e Refactor ui_pad_activate 2015-01-29 04:27:35 +00:00
Kp 9a36b82d5d Disallow implicit pointer conversion from rvalue smart pointers 2015-01-29 00:58:53 +00:00
Kp e25446a15a Fix Windows build for RAIIdmem index conversion 2015-01-28 03:42:53 +00:00
Kp ff4a0ccd70 Fix RAIIdmem array usage
Some RAIIdmem instances managed a T[], but were declared to manage a T.
2015-01-28 03:42:53 +00:00
Kp 3952c64ffc Fix PHYSFSX_check_* for RAIIdmem<T[]> 2015-01-28 03:42:53 +00:00
Kp d2f0bdc867 Exit cleanly on bad command line arguments 2015-01-28 03:42:53 +00:00
Kp faee7c7302 Ignore empty lines when parsing pads 2015-01-28 03:42:53 +00:00
Kp 0ea95e87e7 Pass array<> to create_bfs_list 2015-01-28 03:42:52 +00:00
Kp bb60f64001 Undefine object instances at construction 2015-01-28 03:42:52 +00:00
Kp 06142a6c80 Optimize gr_remap_bitmap_good integer handling 2015-01-25 05:32:45 +00:00
Kp fa73ca8a17 Pass gr_remap_bitmap_good arg by & 2015-01-25 05:32:45 +00:00
Kp 31450e4843 Pass iff_read_bitmap arg by & 2015-01-25 05:32:44 +00:00
Kp 922a7b7dc9 Pass grs_main_bitmap to iff_read_animbrush 2015-01-25 05:32:44 +00:00
Kp 3ca442cb33 Use arg_port_number for -udp_hostport 2015-01-25 05:32:44 +00:00
Kp 6bc48b7876 Add option -no-tracker to suppress tracker for one run 2015-01-24 19:16:35 +00:00
Kp 40fd988a0f Hide local classes in anonymous namespaces 2015-01-23 03:55:06 +00:00
Kp fd309ee728 Fix size truncation in mem_malloc 2015-01-23 03:55:05 +00:00
Kp 18a64e4281 Use RAII for PHYSFS_enumerateFiles result 2015-01-23 03:55:05 +00:00
Kp 705777db05 Reduce searches in locateOneElement 2015-01-23 03:55:05 +00:00
Kp 9c58fd23f4 Use RAIIdmem for jukebox_songs list_buf 2015-01-23 03:55:05 +00:00
Kp a6884e77db Unpack robot_info 2015-01-23 03:55:04 +00:00
Kp 1110bed7bb Use RAIIdmem for ITEM text 2015-01-23 03:55:04 +00:00
Kp d3e657222e Use RAIIdmem for height_array 2015-01-23 03:55:04 +00:00
Kp 7fccbe2d0d Use std::unique_ptr for RAIIdmem 2015-01-23 03:55:04 +00:00
Kp 492d6fd996 Remove draw_tmap from OGL build
It is only used as a placeholder.  Replace it with a number.

Compile out various non-OGL functions when building for OGL.
2015-01-22 03:34:20 +00:00
Kp c8b5fe5552 Pass find_vector_intersection arg by & 2015-01-20 02:46:42 +00:00
Kp bf3bb0b144 Pass uint_fast32_t nverts for texture drawers 2015-01-20 02:46:42 +00:00
Kp 1b43ee6bf8 Fix build when using make_unique emulation 2015-01-18 01:58:34 +00:00
Kp 6f15e46512 Use separate type for general purpose sockaddr 2015-01-18 01:58:34 +00:00
Kp 84e3a03451 Remove unused parameters 2015-01-18 01:58:33 +00:00
Kp c8022a1001 Abstract socket array/sockaddr dispatch 2015-01-18 01:58:33 +00:00
Kp 37afbb1f7e Pack ntstrings in transit 2015-01-18 01:58:32 +00:00
Kp c6664a45a6 Add newmenu_do helper for array<newmenu_item, N> 2015-01-18 01:58:32 +00:00
Kp 6e0464a58c Pass nm_set_item_slider arg by & 2015-01-18 01:58:32 +00:00
Kp 54ab069bb8 Pass nm_set_item_number arg by & 2015-01-18 01:58:32 +00:00
Kp 426fb16654 Pass nm_set_item_radio arg by & 2015-01-18 01:58:31 +00:00
Kp fa10e51999 Add helper nm_item_text 2015-01-18 01:58:31 +00:00
Kp 4705c3f2d8 Pass nm_set_item_checkbox arg by & 2015-01-18 01:58:31 +00:00
Kp f8163957ef Add helper nm_item_input 2015-01-18 01:58:31 +00:00
Kp 67e503b9b7 Add helper nm_item_menu 2015-01-18 01:58:31 +00:00
Kp 547193c591 Compile out unused bm_write_all
Unused since e2a2cc579a deleted caller
piggy_dump_all.
2015-01-17 18:31:43 +00:00
Kp bca8889695 Simplify Primary_ammo_max 2015-01-17 18:31:42 +00:00
Kp b3050a8aa1 Fix adding string to empty string_array_t 2015-01-17 18:31:42 +00:00
Kp 6cd8acab30 Refactor ntstring forwarding 2015-01-17 18:31:42 +00:00
Kp f7815810e8 Use RAIIPHYSFS_File to manage PHYSFS_File
Fixes a few leaks on error paths.
2015-01-17 18:31:42 +00:00
Kp 68d705a85a Use bool conversion to test PHYSFS_File pointer 2015-01-17 18:31:42 +00:00
Kp eb09eb4396 Refactor newmenu reordering 2015-01-17 18:31:41 +00:00
Kp 28a31a223f Centralize window_close calls 2015-01-17 18:31:41 +00:00
Kp 9a3796d9d1 Pass window_get_next arg by & 2015-01-17 18:31:41 +00:00
Kp 3bf1fd573c Pass window_select arg by & 2015-01-17 18:31:41 +00:00
Kp 4984f46ef4 Pass window_set_visible arg by & 2015-01-17 18:31:41 +00:00
Kp 88bc7454f5 Pass window_is_visible arg by & 2015-01-17 18:31:41 +00:00
Kp b2a8c4502e Pass window_set_modal arg by & 2015-01-17 18:31:41 +00:00
Kp e7c632b741 Pass window_is_modal arg by & 2015-01-17 18:31:40 +00:00
Kp 2027af6f85 Pass WINDOW_SEND_EVENT arg by & 2015-01-17 18:31:40 +00:00
Kp ee50d45e72 Pass window_send_event arg by & 2015-01-17 18:31:40 +00:00
Kp f2797ddf1e Pass gr_init_canvas arg by & 2015-01-17 18:31:40 +00:00
Kp fccb6814f8 Pass gr_create_sub_canvas arg by & 2015-01-17 18:31:40 +00:00
Kp c731558a94 Pass gr_init_sub_canvas arg by & 2015-01-17 18:31:40 +00:00
Kp c2b7990550 Pass window_get_canvas arg by & 2015-01-17 18:31:40 +00:00
Kp af16e4a2a3 Tighten grs_bitmap resource rules 2015-01-17 18:31:40 +00:00
Kp d185324a26 Use range_for in menubar 2015-01-17 18:31:39 +00:00
Kp 20edba1fd1 Use gr_init_canvas in gr_create_canvas 2015-01-17 04:31:17 +00:00
Kp 81d763476e Raise index_range_exception on bad index to valptridx 2015-01-17 04:31:17 +00:00
Kp 5775881de6 Refactor vm_vec_dot 2015-01-17 04:31:17 +00:00
Kp d443e28147 Reuse mle_path as Mission_path 2015-01-15 04:30:03 +00:00
Kp 61ba3d1ba2 Centralize buddy search 2015-01-12 00:26:04 +00:00
Kp 266814e975 Inline gr_set_current_canvas with constant inputs 2015-01-12 00:26:03 +00:00
Kp fd01d4c673 Reorder wall_is_doorway to favor likely results 2015-01-12 00:26:03 +00:00
Kp ddc40a6634 Copy level name without modification 2015-01-12 00:26:03 +00:00
Kp 8c27a7d68e Require known size for PHYSFSX_fgets 2015-01-12 00:26:03 +00:00
Kp 60576ce3e0 Generate fewer base_partial_range_error_t::prepare instances 2015-01-12 00:26:03 +00:00
Kp 484a2a705d Use strcasecmp when available 2015-01-12 00:26:03 +00:00
Kp b6a3735f53 Add convenience d_strnicmp for literal right side 2015-01-12 00:26:03 +00:00
Kp fc30cdcc9b Use ntstring for NetworkMessageMacro name 2015-01-12 00:26:02 +00:00
Kp 12770802ab Use ntstring for guidebot name 2015-01-12 00:26:02 +00:00
Kp 44d5ae69c6 Pack wall 2015-01-12 00:26:02 +00:00
Kp d7d6e5728d Use array<> for ReticleRGBA 2015-01-12 00:26:02 +00:00
Kp 6ccf6ae96b Use range_for in segment.cpp 2015-01-12 00:26:02 +00:00
Kp ff493fcfce Inline vm_vec_make 2015-01-12 00:26:02 +00:00
Kp f0b47829ef Add convenience ntstring::operator=(const char (&)[N])
OS X-specific configuration code assumes the ability to assign a literal
string to an ntstring.  Add an operator= overload to support that.

Reported by kreatordxx: https://github.com/dxx-rebirth/dxx-rebirth/issues/30
2015-01-11 18:19:13 +00:00
Kp 3ad422a4be Include <vector> in render.h
Some systems include <vector> as a side effect from other headers.  OS X
Yosemite is not such a system.

Reported by kreatordxx: https://github.com/dxx-rebirth/dxx-rebirth/issues/29
2015-01-11 18:10:40 +00:00
Kp 5402e8c546 Add unchecked_partial_range for ranges without end 2015-01-11 05:08:30 +00:00
Kp 205b533c67 Fix d_strnicmp with zero length input 2015-01-11 05:08:30 +00:00
Kp d5d416c62c Use ntstring for Netgame.mission_name 2015-01-03 23:44:32 +00:00
Kp 4be02cd9c5 Add support for poison=overwrite 2015-01-03 23:44:32 +00:00
Kp dc35b0ad88 Fix Win32 build 2015-01-03 23:44:32 +00:00
Kp 030a811661 Pass nullptr for Descent 1 state_save_all filename_override 2014-12-30 02:09:23 +00:00
Kp b86870f5ef Make d_debugbreak cold 2014-12-24 03:34:33 +00:00
Kp 78c3a6b770 Merge btb:pulls/21 into unification/master 2014-12-24 03:31:42 +00:00
Kp fbac119095 Propagate use of objptridx_t 2014-12-23 04:20:27 +00:00
Kp 499b1d3b66 Use range_for for NumNetPlayerPositions 2014-12-23 04:20:27 +00:00
Kp b96b6eb4cb Make do_ai_robot_hit_attack player vobjptridx_t 2014-12-23 04:20:27 +00:00
Kp 702ea40ade Move segment declarations to fwdsegment.h 2014-12-22 04:35:49 +00:00
Kp 2d8f8b5d4a Reduce inclusion of wall.h 2014-12-22 04:35:49 +00:00
Kp 754c5342f9 Move wall declarations to fwdwall.h 2014-12-22 04:35:48 +00:00
Kp 03370ed3e5 Use ntstring for Netgame.mission_name 2014-12-22 04:35:48 +00:00
Kp e166846dd1 Use ntstring for Netgame.game_name 2014-12-22 04:35:48 +00:00
Kp bf97634b27 Hide marker _ when buffer full 2014-12-22 04:35:48 +00:00
Kp a9998476a9 Use ntstring for UI_KEYPAD description 2014-12-22 04:35:48 +00:00
Kp 180999eed1 Fix crash loading player.ngp with bare equal 2014-12-22 04:35:48 +00:00
Kp 628156dbf7 Use array<ntstring> for CMMiscMusic 2014-12-22 04:35:48 +00:00
Kp c7ae54c62a Use ntstring for CMLevelMusicPath 2014-12-22 04:35:47 +00:00
Kp 1344fb2779 Fix crash choosing jukebox directory
newmenu_listbox1 returns immediately
2014-12-22 04:35:47 +00:00
Kp df46499f85 Fix buffer overrun reading UI pad 2014-12-22 04:35:47 +00:00
Kp 681a6b3a9d Fix crash loading descent.cfg with bare equal
Remove obsolete check for trailing newlines in strings.  Fix failure to
null terminate strings.  Refuse overlong strings.  Refuse integers with
trailing garbage.  Refuse integers out of range.
2014-12-22 04:35:47 +00:00
Kp 45af2bb137 Move d_fname helper methods to base class ntstring 2014-12-22 04:35:47 +00:00
Kp ba88926780 Fix potential null dereference parsing UI pad 2014-12-22 04:35:47 +00:00
Kp 0af323c24d Fix various buffer overruns parsing pad UI 2014-12-22 04:35:47 +00:00
Kp 0e45146202 Return unique_ptr from ui_gadget_add 2014-12-20 04:36:12 +00:00
Kp b68a403e41 Use partial_range to load textures 2014-12-20 04:36:11 +00:00
Kp 2b2da39d84 Fix unique invocation in string_array_t tidy 2014-12-20 04:36:11 +00:00
Kp 3f84b8e165 Move valptridx checks inline 2014-12-20 04:36:10 +00:00
Kp 2766114959 Make PHYSFSX_gets_line_t::line_t be array<> 2014-12-20 04:36:10 +00:00
Kp c53a8cc30f Initialize buttontext in UI_KEYPAD constructor 2014-12-20 04:36:10 +00:00
Kp 0bf2a6eb80 Return unique_ptr from ui_add_gadget_button 2014-12-20 04:36:10 +00:00
Kp c43feee61d Return unique_ptr from ui_add_gadget_listbox 2014-12-20 04:36:10 +00:00
Kp 1d363bbd5d Return unique_ptr from ui_add_gadget_scrollbar 2014-12-20 04:36:10 +00:00
Kp 3b4fbd0bd5 Return unique_ptr from ui_add_gadget_radio 2014-12-20 04:36:10 +00:00
Kp b16e8ecbec Return unique_ptr from ui_add_gadget_checkbox 2014-12-20 04:36:09 +00:00
Kp 413a316154 Return unique_ptr from ui_add_gadget_inputbox 2014-12-20 04:36:09 +00:00
Kp 89b1ff8795 Return unique_ptr from ui_add_gadget_userbox 2014-12-20 04:36:09 +00:00
Kp e1bb249176 Remove unused UI_GADGET_KEYTRAP 2014-12-20 04:36:09 +00:00
Kp 8d487b4883 Return unique_ptr from ui_add_gadget_icon 2014-12-20 04:36:09 +00:00
Kp f1885ee4d4 Pass creation context to new windows 2014-12-20 04:36:09 +00:00
Kp cf5e5620aa Deduce input box text length 2014-12-20 04:36:09 +00:00
Kp 80a21ab7d6 Remove obsolete hostage message support
This was never included in the game.  Editor support for it is
incomplete and does not allow text entry.  Remove it.
2014-12-20 04:36:09 +00:00
Kp f0c8482b8b Use unique_ptr for trigger_dialog 2014-12-20 04:36:08 +00:00
Kp cf1d08c1b6 Use unique_ptr for hostage_dialog 2014-12-20 04:36:08 +00:00
Kp dbe882ea42 Fix memory leak in ui_messagebox 2014-12-20 04:36:08 +00:00
Kp 7cbf3c1e0e Use unique_ptr for browser 2014-12-20 04:36:08 +00:00
Kp 6a62d3b49d Cache KeyPad[n] address 2014-12-20 04:36:08 +00:00
Kp b9ceceda3a Use array<char,100> for UI_KEYPAD::buttontext 2014-12-20 04:36:08 +00:00
Kp 5600cea3ac Use array<unique_ptr<UI_KEYPAD>> for KeyPad 2014-12-20 04:36:08 +00:00
Kp 0f30d4eb72 Use PHYSFSX_gets_line_t for Current_level_palette 2014-12-20 04:36:08 +00:00
Kp 90666ba19b Use PHYSFSX_gets_line_t for Current_level_name 2014-12-20 04:36:07 +00:00
Kp 9f44ccbbf3 Fix WORDS_NEED_ALIGNMENT build of interp.cpp 2014-12-19 02:19:29 +00:00
Kp c1dc352a16 Pack Mission 2014-12-18 04:12:39 +00:00
Kp 137746e442 List initialize credits to zero 2014-12-18 04:12:38 +00:00
Kp da6632a917 Use array<> for Robot_joints 2014-12-18 04:12:38 +00:00
Kp 9ffd958d3d Create window_rendered_data locally 2014-12-18 04:12:38 +00:00
Kp 9916406d8f Fix debug-build abort on matcen triggers 2014-12-14 21:02:40 +00:00
Kp 3423d94729 Disallow converting valptridx to void* 2014-12-14 05:23:00 +00:00
Kp c75ccc5791 Reduce includes in clipper.h 2014-12-14 05:23:00 +00:00
Kp e42b1f5b71 Return vertex_array_list_t from create_all_vertnum_lists 2014-12-14 05:23:00 +00:00
Kp 1960a2ebad Return vertex_array_list_t from create_abs_vertex_lists 2014-12-14 05:23:00 +00:00
Kp 601290e674 Return vertex_array_list_t from create_all_vertex_lists 2014-12-14 05:23:00 +00:00
Kp 51b6fb1c95 Return get_side_verts by value 2014-12-14 05:23:00 +00:00
Kp e54c2c79df Use array<> for Sounds 2014-12-14 05:22:59 +00:00
Kp 80aa48efb4 Pass digi_*_start_sound soundobj as sound_object* 2014-12-14 05:22:59 +00:00
Kp 9ea8c8d7f1 Mark digi variables static 2014-12-13 17:47:10 +00:00
Kp a622aecd58 Pass vcobjptridx_t to digi_ functions 2014-12-13 17:47:06 +00:00
Kp adbff232c5 Split seg/obj vars of find_seg_side_face 2014-12-13 17:47:01 +00:00
Kp 2c2b6c67d2 Use array<> for g3ds_tmap::verts 2014-12-13 17:46:55 +00:00
Kp 0b086b1b0d Optimize rendering
- Make Max_linear_depth_objects const
- Skip setup of object rendering if no objects to render
- Defer setting globals until after conditional confirms a segment will
  render
2014-12-13 17:18:07 +00:00
Kp 84e3721ef0 Use partial_range for render list 2014-12-13 16:57:09 +00:00
Kp 69bc81681a Move render_windows to per_segment_state_t::render_window 2014-12-13 16:54:16 +00:00
Kp 7c98dea8be Pass render_frame arg by & 2014-12-13 04:11:21 +00:00
Kp b79e432a3e Pass render_mine arg by & 2014-12-13 04:11:16 +00:00
Kp 4bcf451745 Pass wake_up_rendered_objects arg by & 2014-12-13 04:11:07 +00:00
Kp e027c821c9 Pass update_rendered_data arg by & 2014-12-13 04:11:04 +00:00
Kp 6e24954a97 Mark warn_printf static 2014-12-13 04:10:58 +00:00
Kp c6043419e9 Use std::abort in Error
Error is called for fatal errors.  Use std::abort to get a core dump.
2014-12-11 02:38:19 +00:00
Kp 7b234da185 Make digi_max_channels const 2014-12-11 02:35:55 +00:00
Kp 307ad30433 Remove unused digi_*_is_sound_playing 2014-12-11 02:34:54 +00:00
Kp 53366488ac Remove unused digi_set_volume 2014-12-11 02:34:38 +00:00
Kp 6d2b707c3e Move debug-only digi functions into !RELEASE 2014-12-11 02:34:32 +00:00
Kp 4d17f4e208 Remove unused r/g/b members of g3ds_vertex 2014-12-11 02:34:20 +00:00
Kp f91a378f6e Remove write-only per2_flag 2014-12-11 02:34:13 +00:00
Kp a2703177b9 Move Error Int3 to after printing the message 2014-12-09 01:10:24 +00:00
Kp 84011e55d2 Use partial_range when searching HighestLevels 2014-12-08 04:49:20 +00:00
Bradley Bell 73690ed525 always_inline d_debugbreak() so that debugger stops in the source instead of dxxerror.h 2014-12-07 19:03:41 -08:00
Kp bd6b9489c1 Fix off-by-one end causing memory corruption 2014-12-08 00:41:03 +00:00