Kp
babfa9d8e7
Construct d_event_mousebutton
2015-05-28 03:08:39 +00:00
Kp
692038f284
Cache modifier keys
2015-05-28 03:08:38 +00:00
Kp
e98c679f06
Simplify key_flush
2015-05-28 03:08:38 +00:00
Kp
a991ff0d82
Remove write-only key_data
2015-05-28 03:08:38 +00:00
Kp
34fb7bde90
Test for !=SDL_RELEASED, not ==SDL_PRESSED
2015-05-28 03:08:38 +00:00
Kp
25186ca984
Remove write-only keyd_last_released
2015-05-28 03:08:38 +00:00
Kp
badad2ef33
Remove write-only keyd_last_pressed
2015-05-28 03:08:38 +00:00
Kp
a66da49cb6
Factor out mouse z button
2015-05-28 03:08:38 +00:00
Kp
821fefe145
Cache locals in mouse_button_handler
2015-05-28 03:08:38 +00:00
Kp
abfd8e4d83
Split mouse_toggle_cursor
2015-05-28 03:08:38 +00:00
Kp
83326e89e2
Factor out sending mouse clicks
2015-05-28 03:08:38 +00:00
Kp
44625e2617
Remove unnecessary Mouse::button_state
2015-05-14 02:23:13 +00:00
Kp
265ad59e9c
Remove set_default_handler
...
standard_handler is the only handler. Use it directly.
2015-05-14 02:23:13 +00:00
Kp
fa591d585a
Shorten event_toggle_focus
2015-05-14 02:23:13 +00:00
Kp
68d35d8e05
Move negation of mouse_toggle_cursor argument into callee
2015-05-14 02:23:13 +00:00
Kp
e50b0d479e
Inline event_mouse_get_delta
2015-05-14 02:23:13 +00:00
Kp
2a8b79f868
Inline event_mouse_get_button
2015-05-14 02:23:13 +00:00
Kp
0ece005dfa
Use screen_mode for screen resolution
2015-05-14 02:23:13 +00:00
Kp
e592f3a0bb
Inline call to gr_set_mode(0)
2015-05-14 02:23:13 +00:00
Kp
2d9af1e348
Propagate gr_init argument
2015-05-14 02:23:13 +00:00
Kp
38e8967fba
Split event_toggle_focus
2015-05-09 17:39:03 +00:00
Kp
67240cea48
Shorten mouse_get_delta
2015-05-09 17:39:03 +00:00
Kp
9151b7f300
Remove write-only old_delta_x, old_delta_y
2015-05-09 17:39:03 +00:00
Kp
7f00061f6f
Shorten mouse_flush
2015-05-09 17:39:03 +00:00
Kp
e111d6ec22
Shorten mouse_cursor_autohide
2015-05-09 17:39:03 +00:00
Kp
f248006df5
Remove unused mouse_get_btns
2015-05-09 17:39:03 +00:00
Kp
53036c593e
Use unsigned comparison in mouse_in_window
2015-05-09 17:39:03 +00:00
Kp
2e2c17669c
Shorten timer_delay
2015-05-09 17:39:01 +00:00
Kp
b1992b5e59
Shorten timer_delay2
2015-05-09 17:39:01 +00:00
Kp
fc4b686d9d
Store PHYSFS_list element count in list when needed
2015-05-09 17:38:57 +00:00
Kp
c3925353fd
Use null_sentinel_iterator for PHYSFS_list_t
2015-04-26 20:15:51 +00:00
Bradley Bell
844aad2639
Merge branch 'unification/master' into command-line
2015-04-24 20:54:35 -07:00
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
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
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
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
f098471e54
Make sdl_video_flags static
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
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
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
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
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
84e3a03451
Remove unused parameters
2015-01-18 01:58:33 +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
0790eda153
Use new/delete for grs_screen
2014-11-30 22:09:19 +00:00
Kp
18e4ca1b2c
Fix SDL build after for propagation
2014-11-11 04:21:57 +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
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
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
4acbb40ad7
Use enum for window event result
2014-08-07 02:47:48 +00:00
Kp
81cb86f2e3
Use unique_ptr for hmp_file
2014-08-05 02:29:43 +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
Kp
f7ceca974b
Add config.h inclusion for digi.cpp
...
Win32 builds fail without this.
2014-06-08 00:05:33 +00:00
zico
ad7cb106bc
Changed custom D1X license to GPLv3
2014-06-01 19:55:23 +02:00
Kp
094dfbf3d4
Reduce header inclusions
2013-12-31 03:22:03 +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
7fb4c6307f
Add debug option -no-grab to prevent window grabbing
2013-12-22 20:56:55 +00:00
Kp
e9693b5130
Clear SDL_Event before each poll
2013-12-22 20:02:42 +00:00
Kp
b1c5307eb1
Use array for palette_array_t
2013-12-22 00:37:36 +00:00
Kp
e9f9cb676f
Centralize palette utilities
2013-12-22 00:05:13 +00:00
Kp
a3d66a3b37
Add typedef palette_array_t for palette data
2013-12-22 00:05:13 +00:00
Kp
1ec8057d74
Fix at-exit memory leak in digi_mixer
2013-12-20 04:41:46 +00:00
Kp
cb4fd7c1b4
Compact known file extension storage
2013-12-13 03:58:01 +00:00
zico
a04aa340c5
Keep multi frame running during game idle events to decrease delay on packet forwarding
2013-12-09 16:28:34 +01:00
Kp
3b9b5ebfb0
Use RAII to manage function-local heap objects
2013-12-08 19:04:52 +00:00
Kp
60ecc60971
Move abspath onto read_m3u stack
2013-12-08 19:01:55 +00:00
Kp
75c229c6bf
Normalize con_printf newline usage
2013-12-07 21:13:37 +00:00
Kp
34cd26a187
Remove hud_msg_buf
2013-12-05 00:11:52 +00:00
Kp
d9c1f5425c
Simplify jukebox filename setup
2013-12-05 00:10:59 +00:00
Kp
8899120312
Remove SndDisableSdlMixer when mixer=0
2013-11-24 22:57:36 +00:00
Kp
2714679284
Mark private functions static
2013-11-02 04:23:55 +00:00
Kp
375fa1fa00
Rename digi_max_channels -> digi_mixer_max_channels
...
digi_audio.cpp has its own digi_max_channels
2013-10-26 03:50:28 +00:00
Kp
c58c4e4d06
Move declarations to headers
2013-10-03 03:11:52 +00:00
Kp
deb6fe9a91
Use MALLOC for mixdigi_convert_sound
2013-10-02 02:50:13 +00:00
Kp
c000949e3a
Move similar/arch/sdl/timer.c -> similar/arch/sdl/timer.cpp
2013-10-01 02:53:25 +00:00
Kp
e6d6d92b1a
Move similar/arch/sdl/mouse.c -> similar/arch/sdl/mouse.cpp
2013-10-01 02:53:25 +00:00
Kp
9c857c1fc8
Move similar/arch/sdl/key.c -> similar/arch/sdl/key.cpp
2013-10-01 02:53:25 +00:00
Kp
3ef32b16f5
Move similar/arch/sdl/init.c -> similar/arch/sdl/init.cpp
2013-10-01 02:53:25 +00:00
Kp
bc7429c912
Move similar/arch/sdl/event.c -> similar/arch/sdl/event.cpp
2013-10-01 02:53:25 +00:00
Kp
37b37aa08b
Move similar/arch/sdl/digi_audio.c -> similar/arch/sdl/digi_audio.cpp
2013-10-01 02:53:25 +00:00
Kp
e2b7b802e3
Move similar/arch/sdl/digi.c -> similar/arch/sdl/digi.cpp
2013-10-01 02:53:23 +00:00
Kp
fce2717e83
Move similar/arch/sdl/jukebox.c -> similar/arch/sdl/jukebox.cpp
2013-10-01 02:53:09 +00:00
Kp
ace3238790
Move similar/arch/sdl/digi_mixer.c -> similar/arch/sdl/digi_mixer.cpp
2013-10-01 02:53:09 +00:00
Kp
64c7bc80f0
Move similar/arch/sdl/gr.c -> similar/arch/sdl/gr.cpp
2013-10-01 02:53:09 +00:00
Kp
a881ee455e
Remove fix.h
2013-08-08 03:01:48 +00:00
Kp
d7b978c433
Remove unused functions digi_mixer_set_max_channels, digi_mixer_get_max_channels
2013-08-07 02:33:19 +00:00
Kp
78f3438c2b
Remove unused function digi_audio_get_max_channels
2013-08-07 02:33:19 +00:00
Kp
fa9a91a1ef
Remove unused function digi_audio_set_max_channels
2013-08-07 02:33:19 +00:00
Kp
d751b8f8ed
Remove unused function digi_audio_set_digi_volume
2013-08-07 02:33:18 +00:00
Kp
1fd8a91f45
Remove unused function digi_set_sample_rate
2013-08-07 02:33:18 +00:00
Kp
48c1b7a321
Fix const mismatch in digi_win32_play_midi_song
2013-08-03 20:32:48 +00:00
Kp
4577dd3977
Merge branch 'd2x-rebirth/master' into unification/master
2013-07-21 21:34:46 +00:00
Kp
c4f00d42f7
Fix sign mismatch in timer_delay2
2013-07-19 02:49:20 +00:00
Kp
05a8aaccaf
Move */arch/sdl/digi_audio.c -> similar/arch/sdl/digi_audio.c
2013-03-03 01:03:33 +00:00
Kp
b09f96b31f
Move */arch/sdl/digi.c -> similar/arch/sdl/digi.c
2013-03-03 01:03:33 +00:00
Kp
acbe1209e8
Move */arch/sdl/digi_mixer.c -> similar/arch/sdl/digi_mixer.c
2013-03-03 01:03:33 +00:00
Kp
e66b36de14
Move */arch/sdl/gr.c -> similar/arch/sdl/gr.c
2013-03-17 23:01:32 +00:00
Kp
6ef38884e1
Move */arch/sdl/key.c -> similar/arch/sdl/key.c
2013-03-17 23:01:31 +00:00