Commit graph

1348 commits

Author SHA1 Message Date
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
Kp 33c118f999 Enable Int3 as d_debugbreak
Change Int3 from a no-op to a platform-specific trap to debugger.

Requested by btb: https://github.com/dxx-rebirth/dxx-rebirth/pull/18
2014-12-07 23:43:51 +00:00
Kp 6798c8410b Refactor callsign_t constants 2014-12-07 00:53:15 +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 9d700aab08 Make kill_matrix uint16_t, not short 2014-12-06 23:30:55 +00:00
Kp cfe0f89dae Use array<> for team_kills 2014-12-06 04:52:53 +00:00
Kp bb8445f70c Fix some -Wsign-compare warnings 2014-12-05 04:11:37 +00:00
Kp 0dfbe46318 Rewrite scale_line to use std::fill
Eliminate inline byte-by-byte store.
2014-12-05 04:11:37 +00:00
Kp 97718e9b9c Refactor gr_ubitmap012 2014-12-05 04:11:37 +00:00
Kp 58c9c98124 Rewrite gr_linear_rep_movsdm with std::transform
Eliminate deprecated register.
2014-12-05 04:11:37 +00:00
Bradley Bell fdf70b017e <string> required for std::string 2014-12-04 18:11:57 -08:00
Bradley Bell 0cc88280ba Simplify by using generic Info.plist, builtin substitions 2014-12-04 18:11:57 -08: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 8b3d9b9d31 Bypass NULL check copying valptr_t 2014-12-02 04:36:19 +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 5955bac683 Pass gr_bitmap_scale_to arg by & 2014-12-02 03:35:01 +00:00
Kp 6334327ccc Remove unused gr_bm_bitblt 2014-12-02 03:35:01 +00:00
Kp 0375876a08 Pass gr_bm_ubitbltm arg by & 2014-12-02 03:35:01 +00:00
Kp 25948a4b96 Pass gr_bm_ubitblt00m arg by & 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 31d6b151da Pass gr_bm_ubitblt arg by & 2014-12-02 03:35:01 +00:00
Kp 50e24ee0ef Pass gr_bm_ubitblt00 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 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 ec8738ca62 Merge branch 'btb/osx-fixes' into unification/master
Merge Mac OS X specific fixes from btb.  The Windows and Linux builds
are unaffected.  The OS X changes look sane, but cannot be tested here.

Changes not specific to OS X were previously committed separately.

Requested by btb: https://github.com/dxx-rebirth/dxx-rebirth/pull/12
2014-12-01 23:47:10 +00:00
Kp 690dec3342 Workaround compilers mishandling template-template arguments
Visual Studio 2013 Update 4 and Clang 3.4 fail to parse
valptridx_template_t related argument lists because they misinterpret
the unspecialized inner template name as a reference to the current
specialization.  This seems to be nonconforming in C++11.

All gcc versions supported by Rebirth parse this sample program
correctly, but neither Visual Studio nor clang accept it.

    template <template <typename> class>
    struct A
    {
    };

    template <typename>
    struct B
    {
	    B(A<B>);
    };

In <https://stackoverflow.com/questions/17687459/clang-not-accepting-use-of-template-template-parameter-when-using-crtp>, a user saw a similar failure and received the answer:
    Your code is legal.

    From the C++11 Standard, section 14.6.1:

	Like normal (non-template) classes, class templates have an injected-class-name (Clause 9). The injected-class-name can be used as a template-name or a type-name. When it is used with a template-argument-list, as a template-argument for a template template-parameter, or as the final identifier in the elaborated-type- specifier of a friend class template declaration, it refers to the class template itself.

    Looks like your version of clang is still implementing the old rule.

This failure was first seen with Visual Studio 2013, but ignored because
Visual Studio has so many other problems parsing Rebirth.  Now that it
has been reported to affect clang as well, a workaround is clearly
needed.  A fix was suggested by btb
<2f9543f981>,
but that fix breaks gcc.

Rewrite the valptridx_template_t parameter passing to avoid mentioning
unspecialized template names as template parameters while defining the
class used as the parameter.

Reported by btb (clang): https://github.com/dxx-rebirth/dxx-rebirth/pull/12
2014-11-30 23:44:52 +00:00
Kp cf31cc4a5d Switch Laser_render to vobjptr_t 2014-11-30 22:09:23 +00:00
Kp ea535b0e38 Pass gr_rle_expand_scanline arg as const 2014-11-30 22:09:22 +00:00
Kp 706782b275 Pass gr_rle_getsize arg as const 2014-11-30 22:09:22 +00:00
Kp 87b8721f0a Replace gr_linear_stosd with macro 2014-11-30 22:09:22 +00:00
Kp fd0b7acf53 Pass gr_bm_ubitblt0x_rle arg by & 2014-11-30 22:09:22 +00:00
Kp 9b2ef9cfa4 Pass gr_rle_expand_scanline_generic arg by & 2014-11-30 22:09:22 +00:00
Kp 63cbff3b82 Pass gr_bm_ubitblt00m_rle arg by & 2014-11-30 22:09:22 +00:00
Kp 96acf9edec Pass gr_ubitmap00 arg by & 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 0b1aa34c43 Pass gr_set_super_transparent arg by &
Flip name of the boolean to match its function.
2014-11-30 22:09:21 +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 cb939f32e0 Simplify decode_data 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 0236c237ed Pass ogl_freebmtexture arg by & 2014-11-30 22:09:20 +00:00
Kp a86313e746 Pass ogl_init_texture arg by & 2014-11-30 22:09:19 +00:00
Kp bba9d90347 Use subscript notation in grs_bitmap bm_data 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 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 a035d813ea Pass gr_ubitmapGENERIC arg by & 2014-11-30 22:09:19 +00:00
Kp d2ce12c616 Pass gr_ubitmap012 arg by & 2014-11-30 22:09:18 +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 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 6ac655ec53 Pass various texture mapping args by & 2014-11-30 22:09:17 +00:00
Kp 2c07191681 Pass ntexture_map_lighted_linear arg by const & 2014-11-30 22:09:17 +00:00
Kp 62ebfe9626 Pass rle_expand_texture_sub arg by & 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 e7c0c639aa Include <memory>, not <utility> for std::addressof
Including utility works on Linux, but apparently fails on OS X 10.10.
Switch to <memory>, which also works on Linux, and which btb reports
works on OS X.

Reported by btb: https://github.com/dxx-rebirth/dxx-rebirth/pull/12
Fixed by btb: 2f4b2f031c
2014-11-30 17:04:49 +00:00
Kp 3cbb73c1f2 Fix prototype of Mac msgbox_warning
Reported by btb: https://github.com/dxx-rebirth/dxx-rebirth/pull/12
Fixed by btb: 2f4b2f031c
2014-11-30 17:03:54 +00:00
Kp d149b9b9e8 Include <string> in partial_range.h for std::string
Reported by btb: https://github.com/dxx-rebirth/dxx-rebirth/pull/12
Fixed by btb: 93a80e56cd
2014-11-30 17:00:03 +00:00
Kp 5f38c85e02 Improve compiler error messages on failed const T* -> T* conversions 2014-11-27 03:25:21 +00:00
Kp f9a339dfc8 Pass bash_to_shield arg as vobjptr_t 2014-11-26 04:02:08 +00:00
Kp 327fe23586 Fix -Wnarrowing in valptridx operator- 2014-11-26 03:00:58 +00:00
Kp 388dfb98a0 Move valptridx helpers out of macro 2014-11-25 04:02:01 +00:00
Bradley Bell 7f10bb28bf use NSAlert for cocoa. Carbon support totally deprecated 2014-11-23 19:53:02 -08:00
Bradley Bell 1adb29da37 Revert "stub. CreateStandardAlert is dead"
This reverts commit f8761b0d11.
2014-11-23 19:40:11 -08: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 d0090225b3 Fix segment_first/object_first mismatch 2014-11-23 21:41:30 +00:00
Bradley Bell 2f4b2f031c message is constant 2014-11-23 04:26:58 -08:00
Bradley Bell f8761b0d11 stub. CreateStandardAlert is dead 2014-11-23 04:12:29 -08:00
Bradley Bell 2f9543f981 fix for: template argument for template template parameter must be a class template or type alias template 2014-11-23 04:10:54 -08:00
Bradley Bell 93a80e56cd basic_string is in <string> 2014-11-23 04:10:36 -08:00
Bradley Bell 47bc015972 addressof is part of <memory> 2014-11-23 04:09:26 -08:00
Kp d63be88eb0 Propagate use of vsegptridx_t 2014-11-23 04:58:45 +00:00
Kp 80f3f83577 Use range_for for Delta_lights 2014-11-23 04:36:59 +00:00
Kp 80bbc9c69c Use range_for on Dl_indices 2014-11-23 04:36:58 +00:00
Kp 1649fc791c Use partial_range on Flickering_lights 2014-11-23 04:36:58 +00:00
Kp f206b3b127 Reduce inclusion of object.h 2014-11-23 04:36:58 +00:00
Kp 88101f8f57 Move object declarations to fwdobject.h 2014-11-23 04:36:58 +00:00
Kp 4ad784028b Pass scale_bitmap points in array<grs_point, 3> 2014-11-21 03:34:50 +00:00
Kp c2544fe0d9 Move scale decoding array to local scope 2014-11-21 03:33:10 +00:00
Kp 0c76e47f59 Move rle decoding pointers to local scope 2014-11-21 03:32:25 +00:00
Kp 1d0ba034a5 Store rendered objects in vector 2014-11-21 03:16:00 +00:00
Kp e56fe128e0 Remove DosShell 2014-11-19 04:19:43 +00:00
Kp 4eaf0ac4c3 Pass scale_up* bitmap arg by & 2014-11-19 04:18:12 +00:00
Kp 8c4fd12a82 Pass decode_row arg by & 2014-11-19 04:16:02 +00:00
Kp ee8da79953 Simplify rle_remap offset setup 2014-11-19 04:14:33 +00:00
Kp 60d4b91782 Simplify rle_swap_0_255 offset setup 2014-11-19 04:14:10 +00:00
Kp 317fffe5da Move #endif to cover functions that need trigger 2014-11-17 04:02:26 +00:00
Kp 57ed5c24fd Add developer option to test header completeness 2014-11-17 04:02:25 +00:00
Kp c72ec87296 Redirect g3_end_frame->ogl_end_frame 2014-11-16 19:14:51 +00:00
Kp cdf0d887f6 Move temporary points onto stack 2014-11-16 19:14:51 +00:00
Kp 855b249555 Make g3s_point const only in OGL 2014-11-16 19:14:51 +00:00
Kp 177c935b9d Move 3d/clipper.cpp to SDL-only build 2014-11-16 19:14:51 +00:00
Kp cec58664ed Return get_temp_point by & 2014-11-16 19:14:51 +00:00
Kp c3ce8fe9e6 Move Mike's temporary texture onto stack 2014-11-16 19:14:50 +00:00
Kp 82467a49c9 Use array<> for polygon clipping points 2014-11-16 19:14:50 +00:00
Kp 11769c5fc0 Pass draw_tmap* arg as const 2014-11-16 19:14:50 +00:00
Kp 456158fe52 Fix SDL-only crash due to double Vbuf0 2014-11-16 19:14:50 +00:00
Kp 84fd2b027a Clip tmap p3_z locally 2014-11-16 19:14:50 +00:00
Kp b11069bc45 Use indexing in clip_plane 2014-11-16 19:14:50 +00:00
Kp 501f5e8557 Narrow some graphics parameters 2014-11-15 03:31:41 +00:00
Kp 2df4bea9b5 Use range_for in rle 2014-11-15 03:10:09 +00:00
Kp c2d308807c Make various g3s_point * const 2014-11-15 03:10:06 +00:00
Kp 3a73f2c9d0 Pass g3_draw_line as const 2014-11-15 03:10:04 +00:00
Kp b456370291 Move Vbuf0/Vbuf1 into local scope 2014-11-13 04:07:06 +00:00
Kp 8e0d85b666 Pass g3_draw_tmap arg by & 2014-11-13 03:44:04 +00:00
Kp 841e037e15 Pass ogl_loadbmtexture_f arg by & 2014-11-13 03:42:41 +00:00
Kp 9baeb31162 Pass rle_end arg by & 2014-11-13 03:41:38 +00:00
Kp baa39fe8f7 Add g3_rotate_point that returns result 2014-11-13 03:41:29 +00:00
Kp d9e42e6bf3 Pass g3_draw_rod_tmap arg by & 2014-11-13 03:34:42 +00:00
Kp e305bf8ebd Pass calc_rod_corners arg by & 2014-11-13 03:34:35 +00:00
Kp 207dceba33 Pass g3_draw_sphere arg by & 2014-11-13 03:22:49 +00:00
Kp ff13155fc2 Pass g3_project_point arg by & 2014-11-13 03:21:33 +00:00
Kp aba13a0bd0 Pass g3_draw_line arg by & 2014-11-13 03:19:52 +00:00
Kp c49880c8c6 Pass clip_line arg by *&, not ** 2014-11-13 03:19:45 +00:00
Kp c5fd8cb859 Pass g3_code_point arg by & 2014-11-13 03:16:17 +00:00
Kp dc772c693d Remove unused gr_bitblt_double mode 2014-11-12 03:48:22 +00:00
Kp e756f37b0f Trap bitmap coordinate overflow 2014-11-12 03:43:44 +00:00
Kp fa136e7812 Drop redundant gr_set_bitmap_data in gr_init_bitmap_alloc 2014-11-12 03:22:20 +00:00
Kp fda3fc33f3 Skip unnecessary sqrt for omega cannon 2014-11-11 04:25:47 +00:00
Kp 18e4ca1b2c Fix SDL build after for propagation 2014-11-11 04:21:57 +00:00