Commit graph

1783 commits

Author SHA1 Message Date
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 626f2a6dbc Reset Current_level_name where needed 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 35bcb3c404 Centralize NGP strings 2014-12-20 04:36:11 +00:00
Kp 3864bff448 Write current_tmap_list carefully 2014-12-20 04:36:11 +00:00
Kp b68a403e41 Use partial_range to load textures 2014-12-20 04:36:11 +00:00
Kp 2b1ac84613 Remove unnecessary Auto_file 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 5aed22bfce Centralize Windows drive change text 2014-12-20 04:36:11 +00:00
Kp aef7dbad33 Move config.cpp strings to preprocessor constants
Some compilers only use string pooling for anonymous constants.  Make
these anonymous.
2014-12-20 04:36:11 +00:00
Kp 2766114959 Make PHYSFSX_gets_line_t::line_t be array<> 2014-12-20 04:36:10 +00:00
Kp 7c8c55b80c Clean PHYSFSX_fgets buffer uniformly 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 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 8d487b4883 Return unique_ptr from ui_add_gadget_icon 2014-12-20 04:36:09 +00:00
Kp bcfd6a77f0 Use unique_ptr for object_dialog 2014-12-20 04:36:09 +00:00
Kp cf5e5620aa Deduce input box text length 2014-12-20 04:36:09 +00:00
Kp 6735a94f3b Use unique_ptr for wall_dialog 2014-12-20 04:36:09 +00:00
Kp 63ee79d988 Use unique_ptr for robot_dialog 2014-12-20 04:36:08 +00:00
Kp 7e4e8f3501 Use unique_ptr for centers_dialog 2014-12-20 04:36:08 +00:00
Kp f0c8482b8b Use unique_ptr for trigger_dialog 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 6a00d387af Combine secret/non-secret level glitz 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 630f11945e Cache Viewer in digiobj 2014-12-18 04:12:38 +00:00
Kp 9ffd958d3d Create window_rendered_data locally 2014-12-18 04:12:38 +00:00
Kp b0b2704961 Allocate ND_EVENT_VIEWER_OBJECT objects from Objects 2014-12-14 21:02:40 +00:00
Kp 9916406d8f Fix debug-build abort on matcen triggers 2014-12-14 21:02:40 +00:00
Kp fddc8cedb4 Remove unused Debug_spew 2014-12-14 21:02:40 +00:00
Kp 2199bd4e25 Override PRIi64 for mingw/Win64 2014-12-14 21:02:40 +00:00
Kp 9ee9e176c8 Convert newdemo.cpp to use range_for 2014-12-14 05:23:01 +00:00
Kp 16113a2908 Propagate for variable in newdemo 2014-12-14 05:23:00 +00:00
Kp 227dab543c Combine shortpos scan loop 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 2af91c9a3a Pass automap_find_edge result by & 2014-12-14 05:22:59 +00:00
Kp e54c2c79df Use array<> for Sounds 2014-12-14 05:22:59 +00:00
Kp 1a96bf7f2f Use range_for for SoundObjects 2014-12-14 05:22:59 +00:00
Kp cf97b028b7 Pass digi_start_sound_object arg by & 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 657e7da49e Rework digi dispatch
Build function tables at compile time.  If !SDLMIXER, compile out the
pointer indirections.  If SDLMIXER && PIE, keep function pointers in
read-only memory.
2014-12-13 17:47:16 +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 3f52e3426a Skip unnecessary segment rendering phases
Make object rendering traverse only the subrange of segments with
objects.

Make alpha rendering traverse only the subrange of segments with alpha
blended textures.
2014-12-13 17:19:28 +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 6b56a3020a Fix crash playing credits with poison enabled 2014-12-13 04:11:41 +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 032332343d Pass do_render_object arg by & 2014-12-13 04:11:12 +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 1a204f61d8 Use range_for for SoundSlots 2014-12-11 02:36:01 +00:00
Kp 7b234da185 Make digi_max_channels const 2014-12-11 02:35:55 +00:00
Kp 664e8abaac Fix !SDLMIXER build
Fixes: bd1c6d8c5d
2014-12-11 02:35:03 +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 489c4e00a3 Store temporary rect locally 2014-12-11 02:33:55 +00:00
Kp cc60f765b3 Cache render lookups 2014-12-11 02:33:50 +00:00
Kp 84011e55d2 Use partial_range when searching HighestLevels 2014-12-08 04:49:20 +00:00
Kp 78cdb70959 Use partial_range on Triggers 2014-12-08 04:19:26 +00:00
Kp 7c24f6896f Stop briefing search on dot or null
Mission names are passed in without an extension.  Short mission names
read beyond the end of the buffer, causing AddressSanitizer to kill the
program.

Reported by btb: https://github.com/dxx-rebirth/dxx-rebirth/issues/20
2014-12-08 03:54:11 +00:00
Kp cf9675c505 Fix uninitialized variable in render reprocess 2014-12-08 01:02:08 +00:00
Bradley Bell 5d6e6dc2e4 check for GM_MULTI before trying to do network jobs 2014-12-06 22:14:22 -08:00
Kp 0c8191db94 Fix player clear range 2014-12-07 00:49:18 +00:00
Kp a0727f4f84 Throw on net_udp_read_sync_packet failure
Callers expect sane Player_num, but on failure, it is invalid.
Returning a failure status causes net_udp_level_sync to fault using
Players[Player_num].connected, so throw an exception instead.
2014-12-07 00:00:22 +00:00
Kp 2b627f0158 Pass net_udp buffers as const 2014-12-06 23:59:34 +00:00
Kp 9d700aab08 Make kill_matrix uint16_t, not short 2014-12-06 23:30:55 +00:00
Kp 1b924c5dd3 Truncate pilot name at null 2014-12-06 23:13:38 +00:00
Kp 73b0a016a8 Fix loading robots-?.mvl
Rework movie loading to fix loading built-in robot movies.  The previous
code always ignored loading the last entry in the movie array, which was
blank until 18f6919b33.  The last entry
was unused after d38a3d1362, so it was
removed, which caused the code to skip the robots entry.

Commit d38a3d1362 broke unloading add-on
movies by removing the strcpy which saved their name.  Add code to save
the name to extra_robot_movie_mission and call it when switching
missions.

Reported by btb: https://github.com/dxx-rebirth/dxx-rebirth/pull/17
2014-12-06 17:56:56 +00:00
Kp cfe0f89dae Use array<> for team_kills 2014-12-06 04:52:53 +00:00
Kp a55028d5b4 Fix crash on UDP initialization 2014-12-06 02:16:28 +00:00
Kp 7338bb2402 Extend in-game esc menu with options and saving 2014-12-06 01:38:30 +00:00
Kp bb8445f70c Fix some -Wsign-compare warnings 2014-12-05 04:11:37 +00:00
Kp 241b3140fd Use range_for in light rendering 2014-12-05 04:11:37 +00:00
Kp 99f826d14d Pack listbox better 2014-12-05 04:11:37 +00:00
Bradley Bell 3daa0f63b1 Add search SDL_mixer framework paths for headers instead of using <Framework/Header.h> notation 2014-12-03 15:14:18 -08:00
Kp 6dc36deb74 Pass get_font_total_width arg by & 2014-12-02 03:35:01 +00:00
Kp 3097a5b247 Pass gr_bitblt_find_transparent_area arg by & 2014-12-02 03:35:01 +00:00
Kp c990701d87 Pass show_fullscr arg by & 2014-12-02 03:35:01 +00:00
Kp c89e3b7452 Pass gr_bitmapm arg as & 2014-12-02 03:35:01 +00:00
Kp 355df375a0 Pass gr_bitmap arg as & 2014-12-02 03:35:01 +00:00
Kp 95539512d5 Pass pcx_read_bitmap arg by & 2014-12-02 03:35:01 +00:00
Kp 15f9d5d3f5 Pass ogl_ubitblt arg by & 2014-12-02 03:35:01 +00:00
Kp e7aae37c8d Pass ogl_ubitblt_i arg by & 2014-12-02 03:35:01 +00:00
Kp 130d7a6e52 Pass ogl_loadtexture arg by & 2014-12-02 03:35:01 +00:00
Kp 5e03871f81 Pass tex_set_size arg by & 2014-12-02 03:35:01 +00:00
Kp 818b2c61ed Pass tex_set_size1 arg as & 2014-12-02 03:35:01 +00:00
Kp 7031c809fc Pass gr_ubitmapm arg by & 2014-12-02 03:35:01 +00:00
Kp 5eddc2c197 Make bitmap bm_data const where easy 2014-12-02 03:24:38 +00:00
Kp e90549d9a8 Use range_for on Orb_icons 2014-12-02 03:23:21 +00:00
Kp cf31cc4a5d Switch Laser_render to vobjptr_t 2014-11-30 22:09:23 +00:00
Kp d79287e368 Use partial_range for delete_curve 2014-11-30 22:09:23 +00:00
Kp 5dd4ebaa81 Optimize swap_0_255 2014-11-30 22:09:22 +00:00
Kp 0e63b3c300 Pass pcx_encode_line input as const 2014-11-30 22:09:22 +00:00
Kp 2697918223 Pass gr_bm_pixel arg by & 2014-11-30 22:09:22 +00:00
Kp 26f4aaa51b Pass gr_set_transparent arg by & 2014-11-30 22:09:21 +00:00
Kp e5acd8056d Pass gr_set_bitmap_flags arg by & 2014-11-30 22:09:21 +00:00
Kp efa7566821 Pass colormap as array<> 2014-11-30 22:09:21 +00:00
Kp d0abc13c94 Pass gr_create_sub_bitmap arg by & 2014-11-30 22:09:21 +00:00
Kp ef539be1ab Pass gr_init_bitmap_data arg by & 2014-11-30 22:09:21 +00:00
Kp f6dde1c593 Pass gr_init_bitmap_alloc arg by & 2014-11-30 22:09:21 +00:00
Kp 53ce29e789 Pass gr_init_bitmap arg by & 2014-11-30 22:09:20 +00:00
Kp 594c597621 Pass gr_init_bitmap_data arg by & 2014-11-30 22:09:20 +00:00
Kp 0672cdff1b Pass gr_set_bitmap_data grs_bitmap by & 2014-11-30 22:09:20 +00:00
Kp 97332b848c Pass gr_free_bitmap_data arg by & 2014-11-30 22:09:20 +00:00
Kp 281aed868a Use range_for on ogl_texture_list 2014-11-30 22:09:20 +00:00
Kp 0236c237ed Pass ogl_freebmtexture arg by & 2014-11-30 22:09:20 +00:00
Kp 7775b5d7d4 Pass ogl_freetexture arg by & 2014-11-30 22:09:20 +00:00
Kp 486e753a84 Pass ogl_reset_texture arg by & 2014-11-30 22:09:19 +00:00
Kp a86313e746 Pass ogl_init_texture arg by & 2014-11-30 22:09:19 +00:00
Kp 93565a2d1e Pass ogl_init_texture_stats arg by & 2014-11-30 22:09:19 +00:00
Kp 0790eda153 Use new/delete for grs_screen 2014-11-30 22:09:19 +00:00
Kp ad35ff421e Use new/delete for title_screen 2014-11-30 22:09:19 +00:00
Kp 9aa539c062 Return texmerge_get_cached_bitmap result by & 2014-11-30 22:09:19 +00:00
Kp b4acc5b858 Pass gr_ubitmap arg by & 2014-11-30 22:09:19 +00:00
Kp 166f15617d Pass ogl_ubitmapm_cs arg by & 2014-11-30 22:09:18 +00:00
Kp 4cadc18e52 Pass merge_textures_new arg by & 2014-11-30 22:09:18 +00:00
Kp ca04d8830f Use range_for in texmerge 2014-11-30 22:09:18 +00:00
Kp bed046af17 Store texmerge least_recently_used as pointer, not index 2014-11-30 22:09:18 +00:00
Kp 968f7ddc97 Pass gr_gpixel arg by & 2014-11-30 22:09:18 +00:00
Kp ad3a240958 Pass ogl_ugpixel arg by & 2014-11-30 22:09:18 +00:00
Kp 634f97e8d2 Pass tmap drawer grs_bitmap by & 2014-11-30 22:09:18 +00:00
Kp dd4a0db47f Pass rle_expand_texture arg as const & 2014-11-30 22:09:17 +00:00
Kp f89b57047a Pass g3_draw_bitmap grs_bitmap by & 2014-11-30 22:09:17 +00:00
Kp 06b384e349 Pass scale_bitmap arg by & 2014-11-30 22:09:17 +00:00
Kp 962045b911 Include <cstdlib> in render.cpp for std::abs
Reported by btb: https://github.com/dxx-rebirth/dxx-rebirth/pull/12
Fixed by btb: f80c4c17b6
2014-11-30 17:03:00 +00:00
Kp f9a339dfc8 Pass bash_to_shield arg as vobjptr_t 2014-11-26 04:02:08 +00:00
Kp 5aaf847c41 Fix various -Wnarrowing errors 2014-11-26 03:39:21 +00:00
Kp 1559ebbe9e Use range_for in pae_aux 2014-11-25 04:04:51 +00:00
Kp 2e59c6f80a Improve loops in font handling 2014-11-25 04:03:13 +00:00
Kp 388dfb98a0 Move valptridx helpers out of macro 2014-11-25 04:02:01 +00:00
Kp 0fa93d2e56 Track render window by & 2014-11-23 21:53:46 +00:00
Kp 2ddbdd6f11 Move processed into render_seg_map 2014-11-23 21:53:45 +00:00
Kp c495f48ccd Move Seg_depth into render_seg_map 2014-11-23 21:53:45 +00:00
Kp cd6e8bc8b8 Fix error checking in debug build 2014-11-23 21:53:45 +00:00
Kp d9a4fc56b3 Split gate_in_robot for individual callers 2014-11-23 21:45:08 +00:00