Kp
84c638ed64
Move PHYSFS_list_t to separate header
2015-04-19 04:18:49 +00:00
Kp
150e2d2686
Convert local arrays to array<>
2015-04-19 04:18:49 +00:00
derhass
1c01698e88
GLES: fix use of uninitialized variables in ogl_texture_stats()
...
Querying GL_INDEX_BITS and GL_DOUBLEBUFFER is not allowed in GLES, so
just use a reasonable default values for both. This is only used to
estimate memory consumption by the framebuffer (which is a questionable
approach in itself, since all those are implementation details not exposed
by the GL, and the actual memory used is likely to be higher anyway).
2015-04-04 23:04:24 +02:00
derhass
49e7cfe37e
GLES: never declare the unused variable gl_draw_buffer
...
Move the declarition directly to the code part where it is used
(always in a #ifndef OGLES block).
2015-04-04 22:58:02 +02:00
Kp
6b6eaef226
Include polyobj.h from robot.h
...
Swap the inclusion order since all robots are polyobjects, but not all
polyobjects are robots.
2015-04-02 02:36:57 +00:00
Kp
16a1fcbb37
Cache g3_draw_bitmap constants
2015-04-02 02:36:56 +00:00
Kp
68241ffbad
Convert g3_draw_bitmap floats to structures
2015-04-02 02:36:56 +00:00
Kp
f71b3fb759
Make dark_lca,bright_lca array<>
2015-04-02 02:36:56 +00:00
Kp
5a4989c86d
Make cross_lva const array<>
2015-04-02 02:36:55 +00:00
Kp
1677d4159c
Make primary_lva const array<>
2015-04-02 02:36:55 +00:00
Kp
b712ae4603
Avoid unnecessary primary_lca initialization
2015-04-02 02:36:55 +00:00
Kp
27f50082f0
Avoid unnecessary cross_lca initialization
2015-04-02 02:36:55 +00:00
Kp
32d99ada2e
Make ret_rgba const array<>
2015-04-02 02:36:55 +00:00
Kp
2a1df52f71
Remove unused g3_draw_bitmap return value
2015-04-02 02:36:54 +00:00
Kp
72d349b0e0
Remove unused g3_draw_sphere return value
2015-04-02 02:36:54 +00:00
Kp
1125a751db
Remove unused g3_draw_poly return value
2015-04-02 02:36:54 +00:00
Kp
c3161d08d5
Remove unused g3_draw_line return value
2015-04-02 02:36:54 +00:00
Kp
0b20dea0ad
Remove unused jukebox functions
2015-03-28 17:18:02 +00:00
Kp
c645e5b477
Fix gcc-4.7 jukebox build
2015-03-28 01:16:10 +00:00
derhass
639b569496
Merge branch 'unification/master' into unification/syncgl_v2
...
Conflicts:
similar/arch/ogl/gr.cpp
similar/misc/args.cpp
2015-03-23 20:18:17 +01:00
Kp
b4eaa591c8
Fix crash when all sound channels are in use
...
If digi_mixer_find_channel returns -1, do not use that result to index
channels[].
2015-03-22 22:48:47 +00:00
derhass
6d41224638
move GL synchronization code into its own class
2015-03-22 21:19:06 +01:00
derhass
db267af6f2
add basic OpenGL extension handling
...
Currently only used for fence sync objects.
2015-03-22 20:32:14 +01:00
Kp
2b44a352ca
Remove redundant sc_mode
...
sc_mode is a packed copy of sc_w/sc_h. Switch to an accessor that uses
the copy.
2015-03-22 18:49:21 +00:00
Kp
fca381727c
Add wrappers for screen width/height
2015-03-22 18:49:21 +00:00
Kp
8daa014d53
Remove unused gr_check_mode
2015-03-22 18:49:21 +00:00
Kp
6c861b61cd
Move RPI variables to usage site
2015-03-22 18:49:21 +00:00
Kp
f098471e54
Make sdl_video_flags static
2015-03-22 18:49:21 +00:00
Kp
4afeba001a
Move gl_* variables to local scope
2015-03-22 18:49:21 +00:00
Kp
08c0c3768c
Remove unused gr_set_draw_buffer
2015-03-22 18:49:21 +00:00
Kp
7bf49fe551
Fix clang -Wmissing-braces warnings
2015-03-22 18:49:21 +00:00
derhass
2cd73b6dfe
Import the syncgl patch based on 0.58.1 into unification code base
...
I also changed the command line arguments a bit, gl_syncmethod and
gl_sycnwait are used now. Furthermore, I added the ew mode AUTO. This is
a conservative mode and the default for now: if GL_ARB_sync is available,
use the FENCE_SLEEP mode, otherwise, disable it completely.
Conflicts:
include/args.h
misc/args.c
similar/arch/ogl/gr.cpp
2015-03-22 18:17:11 +01:00
Kp
c5f6a115ec
Add <stdexcept> for files that throw std::runtime_error
2015-03-22 04:16:49 +00:00
derhass
b73407e791
Prevent digi_mixer_start_sound() from trying to play nonexisting sounds.
...
There is a an out-of-bounds access in digi_mixer_start_sound() when
soundnum is < 0. The bounds check I added here is already present in
digi_audio_start_sound().
This bug was triggered on the RPi d2x built when trying to show the
briefing screen because briefing_new_screen() tries to play
SOUND_BRIEFING_HUM, which digi_xlat_sound() translated to -1 in this
situation. The game finally crashed in mixdigi_convert_sound() because
GameSounds[-1] happened to contain some non-zero data (on my Linux desktop,
that memory seems to be always 0 by accident...). This was also the reason
why the pi version tried to allocate lots of memory before it crashed in
memcpy().
2015-03-21 23:45:42 +01:00
derhass
a8283a9d45
Merge branch 'unification/master' into unification/rpi
...
Kp already incorporated some small changes I made in my rpi branch into
unification/master. However, besides making the rpi helper functions
static as I did, he also changed the prototype from (void) parameters
to C++ style (). I've incorporated his version here.
Conflicts:
similar/arch/ogl/gr.cpp
2015-03-21 18:02:16 +01:00
derhass
f46e4a2a7c
RPi: use -isystem for the VideoCore library header path
...
Rebirth builds with -Werror=redundant-decls -Werror=undef, which are
triggered by the bcm_host.h. Making gcc treat those paths as
system headers avoids these issues. This was suggested by Kp.
2015-03-21 17:53:13 +01:00
Kp
cf687a9a0a
Make RPi OGL functions static
2015-03-20 03:30:20 +00:00
derhass
c1a38e4433
RPi: Use explicit type casts for DISPMANX_TRANSFORM_T
2015-03-18 21:30:50 +01:00
derhass
7ce066cb8b
GLES/RPi: Declare internal helper functions static
2015-03-18 21:07:57 +01:00
derhass
c23c98562b
GLES: Fix const correctness and for TestEGLError()
2015-03-18 21:05:34 +01:00
Bradley Bell
df3ce9953f
Merge branch 'unification/master' into command-line
2015-02-22 19:25:04 -08:00
Kp
f900d4a5ee
Remove RAIIdmem::operator pointer
...
Mac OS X defines uint_fast32_t to unsigned int, causing ambiguous
overloads between RAIIdmem::operator[](std::size_t) and
RAIIdmem::operator[](int). Adding a disambiguating overload for OS X
breaks Windows. Remove operator pointer and operator[]. Rely on the
inherited operator[] for indexing. Require users to call ->get() to
convert to a simple pointer.
First btb ambiguity reported: https://github.com/dxx-rebirth/dxx-rebirth/pull/34
Second btb ambiguity reported: https://github.com/dxx-rebirth/dxx-rebirth/pull/43
2015-02-17 03:52:59 +00:00
Kp
03576a28c2
Pass PHYSFSX_* file extensions as counted array
2015-02-14 22:48:28 +00:00
Bradley Bell
bbb32d0175
added cmd and cvar modules from d2x
2015-02-10 23:35:44 -08:00
Kp
91cc111295
Provide SndDisableSdlMixer=true if !USE_SDLMIXER
...
Accept -nosdlmixer as a no-op in !USE_SDLMIXER builds.
2015-02-08 17:43:29 +00:00
Kp
19eb73c182
Remove casts for SDL events
2015-02-08 17:43:29 +00:00
Kp
44dea8cd49
Remove unused event initialised
2015-02-08 17:43:29 +00:00
Kp
699e5d341d
Merge pull #34 into unification/master
...
Requested by btb: https://github.com/dxx-rebirth/dxx-rebirth/pull/34
2015-02-07 04:43:00 +00:00
Kp
bc761ad6ef
Use unique_ptr for m3u list storage
2015-02-07 04:37:37 +00:00
Bradley Bell
03d68f44c8
use size_t for indexing array
...
fixes ambiguous call to operator[]
2015-02-05 16:45:53 -08:00
Kp
99a4a0ed62
Capture range_for by-value temporaries as const
...
Modifying a by-value temporary does not affect the underlying container,
so modifying it is almost always a bug. Require use of a by-reference
capture when modification is desired.
sed -i -e 's/range_for\s*(\s*\(const\s\+\)\?auto\s\+\([[:alpha:]_]\)/range_for (const auto \2/g'
2015-02-05 03:03:49 +00:00
Kp
ae0a00a893
Return timer_query() from timer_update()
...
Most timer_update sites immediately query the timer, so return it to
save them the call.
2015-02-05 03:03:48 +00:00
Kp
ffc59c8172
Move timer_update static variables to bss
2015-02-05 03:03:48 +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
4a2c9325bb
Fix various uninitialized accesses
2015-01-28 03:42:52 +00:00
Kp
9794cfddc9
Move some local structs into anonymous namespaces
2015-01-24 19:16:34 +00:00
Kp
18a64e4281
Use RAII for PHYSFS_enumerateFiles result
2015-01-23 03:55:05 +00:00
Kp
977f1cfeb2
Use RAII for jukebox list
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
dd3d284e03
Make jukebox_songs::max_songs static const
2015-01-23 03:55:05 +00:00
Kp
06303f9406
Fix buffer overread parsing blank m3u file
2015-01-23 03:55:05 +00:00
Kp
966f51906c
Use destructor for jukebox_songs
2015-01-23 03:55:05 +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
bf3bb0b144
Pass uint_fast32_t nverts for texture drawers
2015-01-20 02:46:42 +00:00
Kp
84e3a03451
Remove unused parameters
2015-01-18 01:58:33 +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
9a3796d9d1
Pass window_get_next 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
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
c2b7990550
Pass window_get_canvas arg by &
2015-01-17 18:31:40 +00:00
Kp
c7ae54c62a
Use ntstring for CMLevelMusicPath
2014-12-22 04:35:47 +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
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
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
Bradley Bell
5d6e6dc2e4
check for GM_MULTI before trying to do network jobs
2014-12-06 22:14:22 -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
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
5eddc2c197
Make bitmap bm_data const where easy
2014-12-02 03:24:38 +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
9aa539c062
Return texmerge_get_cached_bitmap result 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
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
f89b57047a
Pass g3_draw_bitmap grs_bitmap by &
2014-11-30 22:09:17 +00:00
Kp
f206b3b127
Reduce inclusion of object.h
2014-11-23 04:36:58 +00:00
Kp
11769c5fc0
Pass draw_tmap* arg as const
2014-11-16 19:14:50 +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
8e0d85b666
Pass g3_draw_tmap arg by &
2014-11-13 03:44:04 +00:00
Kp
0a97f175df
Pass ogl_loadbmtexture arg by &
2014-11-13 03:43:12 +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
207dceba33
Pass g3_draw_sphere arg by &
2014-11-13 03:22:49 +00:00
Kp
aba13a0bd0
Pass g3_draw_line arg by &
2014-11-13 03:19:52 +00:00
Kp
18e4ca1b2c
Fix SDL build after for propagation
2014-11-11 04:21:57 +00:00
Kp
df6b4bd783
Add vm_vec_rotate that returns result
2014-11-04 01:31:22 +00:00
Kp
5bb9c88979
Add vm_vec_sub that returns result
2014-10-29 03:24:31 +00:00
Kp
fb641b3250
Wrap object iteration idiom
2014-10-12 23:05:46 +00:00
Kp
a8f853aa7a
Pass d_event arg by const&
2014-10-04 22:36:13 +00:00
Kp
8750b6a4ad
Switch d_event subclasses to C++ inheritance
2014-10-04 18:05:26 +00:00
Kp
2434b20445
Pass g3_draw_bitmap pos by const &
2014-10-02 03:02:35 +00:00
Kp
5af79382a5
Pass vm_vec_rotate arg by &
2014-10-01 02:28:42 +00:00
Kp
321bbe37d8
Pass vm_vec_sub arguments by &
2014-09-28 21:11:45 +00:00
Kp
cef8ab0cbd
Propagate for variables in similar/arch/sdl/mouse.cpp
2014-09-26 02:42:13 +00:00
Kp
f82835c7df
Propagate for variables in similar/arch/sdl/key.cpp
2014-09-26 02:42:13 +00:00
Kp
f6fc4d9797
Propagate for variables in similar/arch/sdl/gr.cpp
2014-09-26 02:42:13 +00:00
Kp
5ed9acb187
Propagate for variables in similar/arch/sdl/digi_mixer.cpp
2014-09-26 02:42:13 +00:00
Kp
ba70c83575
Propagate for variables in similar/arch/sdl/digi_audio.cpp
2014-09-26 02:42:13 +00:00
Kp
47bc7d9937
Propagate for variables in similar/arch/sdl/digi.cpp
2014-09-26 02:42:13 +00:00
Kp
917ca43524
Propagate for variables in similar/arch/ogl/gr.cpp
2014-09-26 02:42:13 +00:00
Kp
703f60ac3f
Fix -Wtype-limits warnings
2014-09-21 21:41:55 +00:00
Kp
5576a65dac
Check length of g3 tmap inputs
2014-09-04 03:02:21 +00:00
Kp
df3f2fe2fe
Simplify ogl/sdl texture mapping
2014-09-02 22:13:15 +00:00
Kp
94550355a8
Use make_unique instead of bare new
2014-08-24 18:28:09 +00:00
Kp
8d835f8e34
Reduce inclusion of compiler-begin.h
2014-08-24 03:36:35 +00:00
Kp
f0c927babd
Fix !OGL build break from gr_fade_table array change
2014-08-20 02:15:23 +00:00
Kp
cd9987968c
Fix bogus memory leak warning in digi_mixer.cpp
...
u_mem runs too early. Move the memory outside its view and rely on
Valgrind.
2014-08-20 01:28:12 +00:00
Kp
913a095be7
Remove unused return value of g3_draw_tmap
2014-08-16 17:35:44 +00:00
Kp
4acbb40ad7
Use enum for window event result
2014-08-07 02:47:48 +00:00
Kp
16d45909b4
Use unique_ptr for OGL texbuf
2014-08-05 02:33:10 +00:00
Kp
11c22409ad
Use unique_ptr for circle_array_init_2
2014-08-05 02:32:55 +00:00
Kp
be86e384b8
Use unique_ptr for circle_array_init
2014-08-05 02:32:35 +00:00
Kp
81cb86f2e3
Use unique_ptr for hmp_file
2014-08-05 02:29:43 +00:00
Kp
6abf37539e
Remove unused OGL variable pixels
2014-07-30 03:13:34 +00:00
Kp
bd1c6d8c5d
Reduce header includes of physfsx.h
2014-07-22 23:48:23 +00:00
Kp
b2f8088a75
Use find_if to traverse key_properties
2014-07-22 23:48:23 +00:00
Kp
d3d457cf19
Pass array<> to gr_list_modes to preserve size information
2014-07-17 03:29:57 +00:00
Kp
9f685a0d0a
List initialize unicode_frame_buffer
2014-07-16 03:14:04 +00:00
Kp
831ab8393d
Use move to reduce copies in unibuffer_shift
2014-07-05 03:48:57 +00:00
Kp
a48e3e421a
List initialize Mouse
2014-07-04 03:56:40 +00:00
Kp
f092095727
List initialize SDL_Event event
2014-07-04 03:56:40 +00:00
Kp
256e86b2b6
List initialize grd_curscreen
2014-07-04 03:56:40 +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
6222b58bbc
Move uvl_list into g3_draw_rod_tmap
2014-07-01 03:10:56 +00:00
Kp
3abc33d6cc
Optimize gr_rle_decode
2014-06-30 23:56:51 +00:00