Commit graph

905 commits

Author SHA1 Message Date
mazmazz
f4a574aba2 Support wide chars when searching for music tags (MP3) 2018-08-18 15:26:31 -04:00
mazmazz
6b35857ed1 I_GetMusicLength declarations for other interfaces 2018-08-18 14:18:49 -04:00
mazmazz
c6035f5956 I_GetMusicLength implementation 2018-08-18 14:18:29 -04:00
Monster Iestyn
364339e1ce Merge branch 'sdl_mixer_fixes' into 'master'
SDL Mixer fixes

Closes #31

See merge request STJr/SRB2!260
2018-08-16 16:57:14 -04:00
mazmazz
8452ec5c7c Checkpoint: Basic functions 2018-08-15 12:07:08 -04:00
mazmazz
0254f4f368 Fix merge errors 2018-08-15 02:42:50 -04:00
mazmazz
e0ab8c1ed0 Fix #6 #7 SDL looping and counter bugs when looping=false
# Conflicts:
#	src/sdl12/mixer_sound.c
2018-08-15 02:15:05 -04:00
mazmazz
11c6148d4b SDL: Fix looping bug when looping=false; reset bytes counter when non-looping
# Conflicts:
#	src/sdl12/mixer_sound.c
2018-08-15 02:11:17 -04:00
mazmazz
47423a69ed Refactor to SetMusicPosition, GetMusicPosition
# Conflicts:
#	src/lua_baselib.c
#	src/nds/i_sound.c
#	src/sdl12/mixer_sound.c
#	src/sdl12/sdl_sound.c
#	src/win32ce/win_snd.c
2018-08-15 02:10:46 -04:00
mazmazz
79531b9683 Another loop fix to resolve music_bytes not resetting on non-looppoint tracks
# Conflicts:
#	src/sdl12/mixer_sound.c
2018-08-15 02:03:04 -04:00
mazmazz
2e9dba352a SDL mixer: Fix no looping bug when changing song position
# Conflicts:
#	src/sdl12/mixer_sound.c
2018-08-15 02:02:33 -04:00
mazmazz
eb52a14433 Implement I_MIDIPlaying, I_MusicPlaying, I_MusicPaused in other targets
# Conflicts:
#	src/nds/i_sound.c
#	src/sdl12/sdl_sound.c
#	src/win32ce/win_snd.c
2018-08-15 01:59:01 -04:00
mazmazz
d39f804662 Use Mix_PausedMusic instead of our own music_paused flag in SDL2/SDL1.2 I_MusicPaused
# Conflicts:
#	src/sdl12/mixer_sound.c
2018-08-15 01:55:49 -04:00
mazmazz
2483c11cc4 Implement I_MusicPaused in SDL2, SDL1.2, and FMOD; console and lua commands
# Conflicts:
#	src/sdl12/mixer_sound.c
2018-08-15 01:55:03 -04:00
mazmazz
e4a6cb87d1 Fix SDL music counter pause issue 2018-08-15 01:54:17 -04:00
mazmazz
297a8d537a Add S_MidiPlaying and S_MusicPlaying via I_MIDIPlaying and I_MusicPlaying
# Conflicts:
#	src/sdl12/mixer_sound.c
2018-08-15 01:53:45 -04:00
mazmazz
d47d18998b Add S_MidiPlaying and S_MusicPlaying via I_MIDIPlaying and I_MusicPlaying
# Conflicts:
#	src/sdl12/mixer_sound.c
2018-08-15 01:43:51 -04:00
mazmazz
2cf364ab8b Fix SDL music position getting; dummy out position methods for MIDI
# Conflicts:
#	src/sdl/mixer_sound.c
#	src/sdl12/mixer_sound.c
2018-08-15 01:42:15 -04:00
mazmazz
aed388976c SDL fix for I_SetSongPosition
# Conflicts:
#	src/sdl12/mixer_sound.c
2018-08-15 01:40:54 -04:00
mazmazz
8981ef2cdc Change get/set music position to UINT32 parameter, milliseconds
# Conflicts:
#	src/d_netcmd.c
#	src/lua_baselib.c
#	src/nds/i_sound.c
#	src/sdl12/mixer_sound.c
#	src/sdl12/sdl_sound.c
#	src/win32ce/win_snd.c
2018-08-15 01:40:20 -04:00
mazmazz
a4f7b17389 Initial attempt for get/set song position
* Declared I_SetSongPosition, I_GetSongPosition
* Implemented S_PositionMusic and S_GetPositionMusic
* Exposed in console TUNES and lua
* Implemented set position in SDL, SDL12, WIN32
* Implemented get position in WIN32

# Conflicts:
#	src/nds/i_sound.c
#	src/sdl12/mixer_sound.c
#	src/sdl12/sdl_sound.c
#	src/win32ce/win_snd.c
2018-08-15 01:38:06 -04:00
Steel Titanium
d9c7334dea Fix white being treated as transparent. 2018-08-10 19:02:03 -04:00
Alam Ed Arias
3479310546 SDL: update IMG_xpm.c 2018-08-10 17:09:11 -04:00
Monster Iestyn
be5d0406bd Merge branch 'public_next'
# Conflicts:
#	src/hardware/hw_md2.c
2018-07-31 19:41:54 +01:00
Monster Iestyn
485d990949 Merge branch 'gme-lowvolume-fix' into 'master'
GME low volume fix

See merge request STJr/SRB2!248
2018-07-31 14:35:32 -04:00
Steel Titanium
c02ee9a502 Re-did this fix. 2018-07-28 01:58:25 -04:00
Monster Iestyn
6b1fa399dc Use plain malloc instead of Z_Malloc to allocate sound buffers in mixer_sound.c's I_GetSfx.
This should prevent I_FreeSfx making a mess of things later, hopefully.
2018-07-14 18:15:59 +01:00
Steel Titanium
46aa4c3503 Merge remote-tracking branch 'upstream/master' into gme-lowvolume-fix 2018-07-05 01:20:32 -04:00
Steel Titanium
8aee862ff8 Merge remote-tracking branch 'upstream/master' into gme-pause 2018-07-05 01:16:43 -04:00
Steel Titanium
5c8c35e773 Deallocate when I_Quit() is called instead. 2018-06-23 15:09:11 -04:00
Monster Iestyn
14d49b8bf1 Merge branch 'public_next'
# Conflicts:
#	src/d_main.c
#	src/d_netfil.c
#	src/p_setup.c
2018-06-09 19:35:36 +01:00
Steel Titanium
77362c45cc Fix pausing on gme 2018-06-03 18:15:20 -04:00
Steel Titanium
e394f7992d Removed CONS_Printf line. That wasn't meant to be commited. 2018-05-29 22:12:36 -04:00
Steel Titanium
0248fcecd4 Some small change
Really this is just to prevent the music end up being disorted at max
volume
2018-05-29 20:31:28 -04:00
Monster Iestyn
41e9c20c04 Ignore mouse button events if the mouse's focus is not actually on the window at the moment.
This should hopefully kill the F12 getting stuck issue once and for all.
2018-05-28 21:29:46 +01:00
Steel Titanium
0b6d6c3363 GME low volume fix 2018-05-24 16:24:09 -04:00
Monster Iestyn
a3b86a737e Merge branch 'public_next'
# Conflicts:
#	src/f_finale.c
#	src/hardware/hw_draw.c
#	src/hardware/hw_main.c
#	src/hardware/r_opengl/r_opengl.c
#	src/sdl12/hwsym_sdl.c
#	src/sdl12/i_video.c
2018-04-06 18:42:07 +01:00
Steel Titanium
d446f3420e Merge remote-tracking branch 'upstream/master' into dedicated-nosoundinit 2018-04-03 16:16:20 -04:00
Sryder
f3d63b82ce Revert "Fix screenshot functionality in fullscreen in SDL2"
This reverts commit 121fcd8369.

The reason I am reverting this is because the last commit actually fixes the *old* screenshot functionality, as the screen is being drawn back onto the buffer after they're swapped in the "real" size. Meaning the old function actually works perfectly fine now.
2018-03-18 18:33:53 +00:00
Sryder
a984d979d1 Fix wipes in low resolutions 2018-03-18 17:12:12 +00:00
Sryder
121fcd8369 Fix screenshot functionality in fullscreen in SDL2 2018-03-08 22:28:38 +00:00
Sryder
77af3a8f95 Optimise the screen texture setup for SDL2, Post-processor, and wipes.
Only use glCopyTexImage2D when first creating the screen texture, use glCopyTexSubImage2D anytime after that as it does not define a new texture each time.
Flushing of the screen textures has been implemented for when the screen size changes (so that the screen textures don't stay at a wrong size) and the game is closed, I believe they would leave a memory leak before.
2018-03-07 22:55:21 +00:00
Monster Iestyn
61923f3b1f Merge branch 'public_next'
# Conflicts:
#	src/sdl/i_system.c
2018-03-04 19:18:13 +00:00
Monster Iestyn
4a0305eec8 more I_GetFreeMem fixes: don't attempt to set *total to 0L if total itself is NULL 2018-02-23 20:40:19 +00:00
Monster Iestyn
1216c9da18 Use __linux__ instead of LINUX/LINUX64
Turns out compiling for Linux 32-bit using the Makefiles never actually defines LINUX! Apart from that, most of the existing Linux-specific code in SRB2's source code (except for tmap.s) actually uses __linux__ instead anyway
2018-02-23 20:21:16 +00:00
Steel Titanium
36d1259ceb Removed some redundant checks 2018-02-17 00:37:17 -05:00
Monster Iestyn
03020036d4 Merge branch 'master' into file-loading-cleanup 2018-01-04 20:17:19 +00:00
Alam Ed Arias
5cce6101cc Merge branch 'public_next' into private 2018-01-04 14:32:27 -05:00
Alam Ed Arias
82f2f2f2f9 SDL: disable check for noreturn 2018-01-04 14:29:29 -05:00
Monster Iestyn
8d07e2f8be Merge branch 'master' into file-loading-cleanup 2018-01-02 18:46:02 +00:00
Alam Ed Arias
75abd428fc MSVC2015: fixup 2018-01-02 13:22:10 -05:00
Monster Iestyn
61176ee736 Merge branch 'public_next'
# Conflicts:
#	src/doomdef.h
#	src/sdl12/macosx/Srb2mac.xcodeproj/project.pbxproj
#	src/win32/win_vid.c
2018-01-02 17:32:24 +00:00
Monster Iestyn
d937f6fc8b Merge branch '2.1.20-preparation' into 'next'
2.1.20 preparation

See merge request STJr/SRB2!215
2017-12-27 16:53:43 -05:00
Alam Ed Arias
a29203acd8 Disable win_dbg 2017-12-26 20:24:08 -05:00
Monster Iestyn
75bc76e9b4 Remove all traces of "srb2.wad" support, since it is no longer needed now that srb2.pk3 is the IWAD (...IPK3?). srb2.wad cannot exactly be a pk3 file after all.
Additionally, rename any remaining "srb2.srb" to "srb2.pk3" in the main source code files. Not sure whether to bother dealing with srb2.srb/srb2.wad mentions in project files for now.
2017-12-07 18:26:12 +00:00
Monster Iestyn
7cb0138293 Change version number to 2.1.20 2017-11-08 15:06:42 +00:00
toaster
49a1266ccc Merge branch 'sal-misc-stuff' into 'master'
Sal misc stuff (state overwriting, gamepad tweaks)

See merge request STJr/SRB2Internal!116
2017-11-02 16:35:12 -04:00
toasterbabe
ead8fd6bf7 Update some strings that say "joystick". 2017-10-30 23:23:52 +00:00
Steel Titanium
799a819ee9 Merge remote-tracking branch 'upstream/master' into window_center_fix 2017-10-29 00:00:11 -04:00
toasterbabe
50d6208913 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into FileManagement 2017-10-21 14:28:44 +01:00
wolfy852
93584f6811 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal into FileManagement 2017-10-07 14:52:40 -05:00
Monster Iestyn
52620ac9b1 Obliterated OS/2 2017-10-07 18:11:14 +01:00
Monster Iestyn
49542cdaa1 Remove XBOXSTATIC and FILESTAMP, since only the XBOX port needed them 2017-09-29 19:46:23 +01:00
Monster Iestyn
de4ea022c0 Merge branch 'public_next' 2017-09-29 17:23:47 +01:00
Monster Iestyn
c90ddbca36 Merge branch 'makefile-ports-tweaks-cleanup-etc' into 'master'
Makefile ports tweaks cleanup etc

See merge request !211
2017-09-28 17:31:33 -04:00
Alam Ed Arias
f1a347e55f Merge branch 'public_next' into master 2017-09-28 11:01:20 -04:00
Alam Ed Arias
2ccd397d11 Build: kill GCC 7's implicit-fallthrough warning 2017-09-28 09:39:47 -04:00
Monster Iestyn
b040113246 Removed the wrong endif by mistake 2017-09-16 20:59:35 +01:00
Monster Iestyn
a33bb70a0c Removed all support for Dreamcast, XBox, PSP, PS3, GP2X, Wii, and WinCE from files in the sdl/ folder. If you wanted these ports, use the SDL 1.2 code in sdl12
Also removed GP2X setup from sdl/MakeNIX.cfg, use sdl12 for that too
2017-09-16 20:26:04 +01:00
Monster Iestyn
dcb23e01c0 SDL_INIT_NOPARACHUTE does nothing in SDL 2.0, so don't use it anymore 2017-09-15 21:22:28 +01:00
Monster Iestyn
5fb551dd75 Removed 1.2.x version checks in these files, SDL 2.0.x should always have these files 2017-09-15 17:15:06 +01:00
Monster Iestyn
d2a76ca269 Removed references to console ports and WinCE in sdl/Makefile.cfg 2017-09-15 17:12:53 +01:00
Steel Titanium
cf41a11770 Fix for window being offcenter 2017-09-11 16:36:30 -04:00
Nevur
f61755dd67 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into FileManagement 2017-09-04 22:32:38 +02:00
Monster Iestyn
d65e23f3ec Merge branch 'public_next' 2017-09-04 20:19:47 +01:00
Monster Iestyn
36977a5eda SDL_SetRelativeMouseMode(SDL_TRUE) already does what HalfWarpMouse does
Also, don't post an ev_mouse event_t if not in relative mouse mode, so the camera doesn't jerk when the mouse enters the window
2017-08-22 22:53:18 +01:00
Monster Iestyn
821a1810f7 Moved lrounding of mouse motion events to the actual point an event is made
Also did some cleanup and moving around, as well as adding comments
2017-08-21 21:38:29 +01:00
Monster Iestyn
10cbe2c82b Turns out the issue was with fullscreen! All I have to do is factor in the resolution/real window size ratio apparently (which was already done before)
Also changed movemousex/y to INT32
2017-08-19 22:54:30 +01:00
Monster Iestyn
758e9c4558 Merge all (relative) mouse motion events into one mouse event
This fixes SDL2_RelMouse's weaker sensitivity for me on Windows (but apparently not for others??)
2017-08-19 21:39:04 +01:00
Nevur
8b64a6eef3 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into FileManagement 2017-08-08 10:41:33 +02:00
Nevur
bb3365a904 We use srb2.pk3 instead. 2017-08-08 10:39:25 +02:00
Monster Iestyn
2d661fef18 Turns out we don't need to use SDL_SetWindowTitle on its own, since SDL_CreateWindow already deals with the window title anyway. So I've disabled everything related to Impl_SetWindowName for now
Also what were you thinking Fury?!? window shouldn't be NULL for SDL_SetWindowTitle, you backwards person you
2017-08-07 16:44:29 -04:00
Alam Ed Arias
35404be1e0 SDL: y input is flipped 2017-08-07 16:37:03 -04:00
Alam Ed Arias
c25b2eb37f Merge remote-tracking branch 'origin/master' into SDL2_RelMouse 2017-08-07 16:33:39 -04:00
Monster Iestyn
c653289121 Turns out we don't need to use SDL_SetWindowTitle on its own, since SDL_CreateWindow already deals with the window title anyway. So I've disabled everything related to Impl_SetWindowName for now
Also what were you thinking Fury?!? window shouldn't be NULL for SDL_SetWindowTitle, you backwards person you
2017-06-25 20:22:01 +01:00
Monster Iestyn
e3f627120f Merge branch 'public_next'
# Conflicts:
#	src/doomdef.h
#	src/p_mobj.c
2017-06-23 17:19:06 +01:00
Monster Iestyn
3f9bebd05e Merge branch 'public_next'
# Conflicts:
#	src/doomdef.h
#	src/lua_thinkerlib.c
2017-05-31 15:18:05 +01:00
Alam Ed Arias
6be7693ecb OpenGL: Load the GLU and OpenGL 1.3 multitexturing functions during runtime 2017-05-29 22:52:51 -04:00
Alam Ed Arias
877e9510f7 Update version number to v2.1.19 2017-05-26 21:38:49 -04:00
Monster Iestyn
21d29c8550 Merge branch 'public_next' 2017-05-17 16:19:01 +01:00
Monster Iestyn
17a06dd6c4 I_GetConsoleEvents: Split KEY_EVENT code into a function of its own, like with I_GetEvent's event types
One benefit of this is that event_t data need only be created if KEY_EVENT is found, since the other event types never do anything anyway
2017-05-15 18:39:59 +01:00
Monster Iestyn
87085f2475 SDLSetMode: merge wasfullscreen/windowed mode code into one block 2017-05-15 16:35:32 +01:00
Monster Iestyn
a340f2c8ed Impl_CreateWindow: re-use "flags" for SDL_RENDERER_* flags, remove unnecessary curly braces 2017-05-15 16:19:28 +01:00
Monster Iestyn
4979ab6b8e Not really important or anything, but checking render_soft == rendermode rather than rendermode == render_soft always bugged me. And it's not consistent with the rest of the source code (or at least most of it) anyway. 2017-05-15 15:43:31 +01:00
Monster Iestyn
d1bbd1261e VID_SetMode: SDLSetMode should use vid.width/vid.height, not windowedModes[modeNum].
If modenum was < 0 or >= MAXWINMODES, that would make windowedModes[modeNum] be out of bounds and possibly crash the game.
2017-05-15 15:36:51 +01:00
Monster Iestyn
093800cb06 I_FinishUpdate: OglSdlFinishUpdate should never run for render_soft, even if screens[0] somehow is NULL 2017-05-15 15:24:40 +01:00
Monster Iestyn
635789c1ec Merge branch 'public_next'
# Conflicts:
#	src/doomdef.h
2017-05-12 23:03:38 +01:00
Monster Iestyn
b8ffeeb59f Update version number to v2.1.18
Don't worry, I remembered to update MODVERSION as well this time :)
2017-05-12 16:06:27 +01:00
toasterbabe
3e29ee3f01 Closed captioning!
* Provides a helpful description for the hearing impaired, whether permanent, temporary or situational.
* Consvar "closedcaptioning", with on/off values available.
* Only works if sounds are on. This is frustrating. I will see what I can do to allow it to work with sounds off in future, but for now it's dependent in order to properly accept or decline sounds.
* Thanks to MI for making that wiki page a lot more comprehensive a few days ago.

* Weapon ring is now a seperate sfx_wepfir instead of doubling up on sfx_thok.

* Also, made V_StringWidth work with V_NOSCALESTART.
2017-04-17 01:09:47 +01:00
toasterbabe
a23da9ae43 * Level Platter system added to Record/NiGHTS Attack modes.
* Made quality-of-life improvement for starting the player off on the "right" map more reliable.
2017-01-28 13:13:03 +00:00
Monster Iestyn
1935a2ffa6 Merge branch 'public_next'
# Conflicts:
#	src/d_clisrv.c
#	src/doomdef.h
#	src/p_map.c
2017-01-19 16:54:47 +00:00
Monster Iestyn
e59fb38802 Update version number 2017-01-15 18:49:33 +00:00
Alam Ed Arias
94025ae947 Merge branch 'master' into lua-additions 2017-01-13 16:47:57 -05:00
Monster Iestyn
ae3e11369e Revert "(Messiness warning) attempt to start using SDL_SetRelativeMouseMode instead of the old hacks of making the mouse do movement without leaving the window and be hidden"
This reverts commit 347b531881.

(Too experimental, may end up adding new bugs; let's just keep it to clean up for now)
2016-11-30 17:21:28 +00:00
Monster Iestyn
347b531881 (Messiness warning) attempt to start using SDL_SetRelativeMouseMode instead of the old hacks of making the mouse do movement without leaving the window and be hidden
Seems to work so far though
2016-11-25 21:13:39 +00:00
Monster Iestyn
73b8790946 Merge branch 'master' into lua-additions 2016-11-24 19:35:06 +00:00
Monster Iestyn
8bbbeff2a9 Make Impl_SDL_Scancode_To_Keycode look a bit neater
This way it's easier by eye to see from the list which SDL scancode maps to which SRB2 key code
2016-11-23 17:08:37 +00:00
Monster Iestyn
5cf4767aed Clearing away lots of disabled code (some of it would no longer work on SDL2 anyway) 2016-11-23 16:51:37 +00:00
Monster Iestyn
153ba39f19 Remove remnants of SDLK_ stuff, we use scancodes now not keycodes
(Apparently SDLK_LMETA/SDLK_RMETA don't exist anymore in SDL2 anyway?)
2016-11-22 22:41:02 +00:00
Monster Iestyn
1606a45b18 Some cleanup/reorganisation in SDLSetMode and Impl_CreateWindow 2016-11-21 22:07:05 +00:00
Monster Iestyn
208546165b Comment out SDL2STUB from Impl_SetWindowIcon 2016-11-21 20:59:44 +00:00
Monster Iestyn
168f8d5c5e Un-stub Surfaceinfo and just print the parts that still work in SDL2
This means the console command vid_info also works properly too now (well, it does nothing in OpenGL mind)
2016-11-21 20:40:02 +00:00
Monster Iestyn
f4705b01f4 Don't call SDLESSet
Turns out sdl12's version of this function only did stuff for DC/GP2X ports; support for them have been cut out for SDL2, so for now let's just not use the function at all
2016-11-21 19:42:39 +00:00
Inuyasha
e245cdfcbf Console with moving cursor, selections, etc 2016-11-03 17:30:30 -07:00
Inuyasha
bb20cfd6be Clipboard copy/paste testing
(unfinished, but basics work)
2016-11-03 01:43:57 -07:00
Monster Iestyn
dc1e7165f7 Created lua_blockmaplib.c, for Lua's blockmap library
my P_SearchBlockmap_* functions are now a single searchBlockmap function, you can choose between "objects" and "lines" with the first arg to decide what to iterate through. I also rearranged the argument order a bit for easy stack cleanup etc

I'll remove the old stuff later, don't worry, it's disabled for now
2016-10-27 18:10:30 +01:00
Monster Iestyn
54b35c3975 Fix GME library path, consider 64-bit systems for png/zlib/SDL2 paths/libraries 2016-09-26 21:58:25 +01:00
Monster Iestyn
27acd8c3ac Added SRB2_CONFIG_USE_INTERNAL_LIBRARIES option (defaults to off right now), some WIP work on making it ...actually do what it says on the tin.
Basically, it manually sets *_FOUND, *_INCLUDE_DIRS and *_LIBRARIES instead of using find_package. Frankly I have no idea how well what I've done works currently though, not even sure if I've set the _LIBRARIES variables correctly. Again, it's WIP work, this can probably be fixed eventually I suppose.
2016-09-25 20:33:07 +01:00
ilag11111
c977d17416 Prevent truncation when resampling sounds with non-multiples of 11250. 2016-09-11 09:41:18 -07:00
Alam Ed Arias
5c234a817a Merge branch 'master' into next 2016-07-21 18:49:33 -04:00
Alam Ed Arias
9301344003 Merge branch 'macosx-hacking' into 'master'
OS X Makefile build setup

This merge request:

* Cleans up the OS X bundle resource location code and fixes a SIGSEGV and memory leak
* Simplifies and fixes the OS X desktop alert code, closing more leaks
* Adds the MACOSX build flag to the Makefiles, to allow building a binary (but not Mac app yet) of SRB2.

This is intended to make it easier for developers to build on Mac OS X, without having to pull in all of XCode. You can keep using CMake if you prefer.

To test, use `make -C src MACOSX=1 NONX86=1 SDL=1 NOASM=1` for a release build.

Left to do:

* Add a content bundling script to be run after building, and a flag to trigger doing that.
  `MACOSX_BUNDLE` maybe?
* Somehow get access to a Mac running PowerPC and figure out how to build a multi-platform binary.
* Add the proper magic to compile using gcc if requested. (Right now, compilation is done via LLVM/Clang)

See merge request !72
2016-07-21 15:38:46 -04:00
Alam Ed Arias
1a0fcbd8dc Revert "Merge branch 'RemoveINetC' into 'master'"
This reverts commit 8607f5247c, reversing
changes made to 11d76a6562.
2016-07-21 14:42:00 -04:00
Alam Ed Arias
8607f5247c Merge branch 'RemoveINetC' into 'master'
Remove i_net.c

The code in i_net.c doesn't actually seem to be used in SRB2. I was able to compile a build without it, and hosting and joining netgames worked just fine (well, as fine as they can with the current state of the netcode...).

The vast majority of code in the file seems to be contained in HAVE_SDLNET ifdefs, and I'm pretty sure SRB2 has never used SDLNET in a public build. The only bit not contained in that block is I_InitNetwork(), which just prints an error and returns false.

Do we really need to keep it around? If not, I say get rid of it. It seems like useless clutter that is just going to confuse people who are trying to understand the source code.

See merge request !73
2016-07-21 14:15:58 -04:00
Alam Ed Arias
c5fe08dcd2 Merge branch 'aatree-refactor' into 'next'
Re-factoring AA tree code from m_misc.c/m_misc.h into its own files

What the title says. The AA tree-related code now lives in the files m_aatree.c and m_aatree.h. Part of why I did this was to solve this m_misc.h/w_wad.h cyclic dependency problem (involving MAX_WADPATH and AA trees themselves) mentioned in the now-removed comments, another reason was ...only OpenGL uses AA trees at all, why include the relevent structs/functions/otherwise anywhere except where is necessary (which is very few files as it turns out)?

Otherwise, it just looked better on its own rather than mixed with all the other stuff already in the m_misc files. Not really important or anything affecting gameplay at all I guess.

See merge request !82
2016-07-21 14:13:38 -04:00
Alam Ed Arias
7126d57fd7 whitespace cleanup 2016-06-19 20:25:09 -04:00
Alam Ed Arias
4d6a3e3398 FUNCMATH fun 2016-06-12 16:08:48 -04:00
Alam Ed Arias
366e870b0e SDL2: check Rel Mouse Mode directly 2016-06-07 17:16:11 -04:00
Alam Ed Arias
246e0c21be SDL2: do not use silly math in rel mode 2016-06-07 16:59:32 -04:00
Alam Ed Arias
70ce9421e4 SDL2: fixup ambiguous else in I_StartupMouse() 2016-06-07 16:21:15 -04:00
Alam Ed Arias
e4d57ad72c SDL2: try out relative mouse mode 2016-06-07 15:57:37 -04:00
Monster Iestyn
69f556d40a Split AA trees code from m_misc.c/.h into m_aatree.c/.h
Also updated any relevant project files that I can think of to include the new files, as well as the makefile of course. Some of the other project files haven't been touched in years so I'll leave those alone ...unless someone objects
2016-06-05 21:29:40 +01:00
Alam Ed Arias
f21c72b889 debug: always load exchndl.dll 2016-05-31 21:30:18 -04:00
Alam Ed Arias
d9aa430817 use memmove in D_MD5PasswordPass() and drop noreturn 2016-05-28 19:42:38 -04:00
Alam Ed Arias
35f36e1bba travis-ci: set v of nulK to 0 2016-05-28 19:28:37 -04:00
Alam Ed Arias
02e67a4a95 travis: add gcc 4.4, 4.6 and 4.7 2016-05-28 19:15:37 -04:00
Alam Ed Arias
ad6c2e634f travis: disable xcode6.3 2016-05-28 19:08:50 -04:00
Alam Ed Arias
f4a84c916e travis: Fixedup gcc 5 error and allow gcc 6 to fail 2016-05-28 18:41:08 -04:00
Hank Brannock
f94d3a1fb0 The code in i_net.c doesn't actually seem to be used in SRB2. I was able to compile a build without it, and hosting and joining netgames worked just fine (well, as fine as they can with the current state of the netcode...).
Do we really need to keep it around? If not, I say get rid of it. It seems like useless clutter that is just going to confuse people who are trying to understand the source code.
2016-05-22 22:38:16 -04:00
Alam Ed Arias
b96b999c1e MSVC: Move x86/x64 settings into commons props 2016-05-22 21:55:55 -04:00
Alam Ed Arias
79f3d6e072 MSVC: Tidy up project files by hand 2016-05-22 11:54:32 -04:00
Alam Ed Arias
f45feb77fc MSVC: kill level 3 warnings 2016-05-22 00:44:12 -04:00
Alam Ed Arias
57091261d9 MSVC: fixed up MSVC project 2016-05-21 23:53:04 -04:00
Alam Ed Arias
e2a5783521 Merge branch 'master' into next 2016-05-19 01:39:45 -04:00
yoshibot
bb90c8366a Fixed bugs in OS X alert code and simplified; added more NULL checks in OS X resource code 2016-05-18 22:13:53 -05:00
Alam Ed Arias
6aa1aeb838 build: include own copy of SDL2main 2016-05-18 22:25:06 -04:00
Alam Ed Arias
ef488d2b03 MSVC: link to SDL2main, then SDL2 2016-05-18 21:41:27 -04:00
Alam Ed Arias
7193df7f75 MSVC: turn off SAFESEH for SDL release builds 2016-05-18 21:28:53 -04:00
Alam Ed Arias
ab9f2ea831 MSVC: fixup Debug build linked 2016-05-18 21:11:30 -04:00
yoshibot
df89563882 Add a way to build OS X binaries (not .app) through Makefiles 2016-05-18 19:14:53 -05:00
Alam Ed Arias
7058baed44 Merge branch 'master' into next 2016-05-18 20:07:27 -04:00
Alam Ed Arias
205d16e3af added unsaved project changed 2016-05-18 20:05:24 -04:00
Alam Ed Arias
a4b0f89caf MSVC: fixedup SDL2 build 2016-05-18 20:01:50 -04:00
Alam Ed Arias
5aa48cf7ca fixed up old VS 2010 project to work with VS 2015, tested with FMOD/DirectX 2016-05-18 01:35:35 -04:00
yoshibot
928c6acf4b Simplify OS X bundle resource discovery, fix a sigsegv 2016-05-17 22:56:49 -05:00
Alam Ed Arias
a529dca69f SDL: in the SDL 2.0 interface code, we use a fake surface as our vidsurface, so we should be freeing it 2016-05-10 18:20:14 -04:00
Inuyasha
a9be5ba867 fixed memory issues Alam running valgrind found 2016-05-08 20:34:43 -07:00
Inuyasha
e91cfa7110 Fixed frustrating MIDI stuff
Until we use something besides Native MIDI to play
back MIDI music, MIDI volume changing is disabled
since it causes way too much of a damn headache.
(It's not even our fault, it's fucking MS.)
2016-04-06 08:16:13 -07:00
Alam Ed Arias
51aa7692d8 Merge branch 'master' into next 2016-03-30 20:15:08 -04:00
Alam Ed Arias
d90536967d removed/remline ununsed code 2016-03-30 14:05:07 -04:00
Alam Ed Arias
c23d971bcb Merge branch 'master' into next 2016-03-25 22:37:48 -04:00
Alam Ed Arias
0f853640e2 macosx: We need CoreFoudation for SDLMain 2016-03-25 22:23:47 -04:00
Alam Ed Arias
077781cc56 macosx: drop CoreFoundation linking 2016-03-25 22:11:39 -04:00
Alam Ed Arias
2c4a27c7c6 macosx: let fix linking to SDL frameworks 2016-03-25 22:07:34 -04:00
Alam Ed Arias
dadf8e1260 cmake: remove fixed HWRENDER define 2016-03-25 20:21:56 -04:00
Alam Ed Arias
0c9081f762 cmake: try to fixup mac build 2016-03-25 20:10:14 -04:00
Alam Ed Arias
81fc9df8d3 Merge branch 'master' into next 2016-03-10 18:02:23 -05:00
Monster Iestyn
4ab2c336e7 Possibly fixed the issues with LibGME mentioned in issue #14.
Not even the HAVE_LIBGME macro was defined apparently, huh.
2016-03-06 19:32:07 +00:00
Alam Ed Arias
2b12e5ff20 Merge branch 'next' into backport_unslot-music 2016-02-26 02:11:29 -05:00
Alam Ed Arias
b3b5521e1b Merge branch 'master' into next 2016-02-25 18:33:29 -05:00
Alam Ed Arias
8a369d969b whitespace clean 2016-02-25 18:31:40 -05:00
Inuyasha
6dda71bef7 I guess this is becoming the "try to make SDL_mixer work" branch
Move InitSubSystem calls into proper places,
don't use AUDIO_S16LSB (bad according to SDL_mixer docs)
Add error checking
2016-02-22 23:08:35 -08:00
Inuyasha
b258b9b503 remove cpuaffinity code from SDL
still exists in DD (while it exists) but no longer saves.
No reason whatsoever for affinity to be settable by the game itself.
2016-02-22 23:08:34 -08:00
Alam Ed Arias
6000b5c980 Merge branch 'master' into next 2016-02-09 14:13:50 -05:00
Inuyasha
8c17dac589 The concept of "music slots" doesn't exist anymore.
Use whatever names you want for your music. So long as you prefix the lumps with O_ or D_, it doesn't matter anymore.
DISCLAIMER: Linedef type 413 (change music) and Lua scripting is not tested.

(cherry picked from commit 025ca413a2)

# Conflicts:
#	src/p_user.c
2016-02-09 02:48:33 -08:00
Alam Ed Arias
985b9a11cc Merge branch 'travis-ci' into 'master'
Travis-CI builds

Merge support to build SRB2 for Linux system via Travis-Ci
This will build SRB2 with GCC and Clang to make sure we do not break Linux/GNU builds

See merge request !41
2016-02-07 21:57:26 -05:00
Alam Ed Arias
2dc9a4b34a Merge branch 'master' into next 2016-02-07 21:22:28 -05:00
Alam Ed Arias
6b626f1b27 build: cmake is messly 2016-02-07 20:53:27 -05:00
Alam Ed Arias
864baeda05 cmake: fixed up to handle Clang and AppleClang 2016-02-05 21:49:24 -05:00
Inuyasha
e49f531ba1 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2 into pub_next 2016-01-29 18:27:33 -08:00
Alam Ed Arias
e8cf4cdaac SDL2: compile SDL with SDL_main for Win32 2016-01-29 00:33:11 -05:00
Alam Ed Arias
c47ff7b3c6 let make the main() entry point noreturns 2016-01-28 21:37:41 -05:00
Alam Ed Arias
050ce857c4 let not care for main() being noreturn 2016-01-28 21:31:18 -05:00
Alam Ed Arias
181c875016 SDL: config.h.in is pre source tree, config.h for each cmake build 2016-01-22 17:25:19 -05:00
Alam Ed Arias
106287aca5 SDL: config.h.in is pre source tree, config.h for each cmake build 2016-01-14 12:32:04 -05:00
Monster Iestyn
22cf800f2f Fixed implicit declaration of some functions if compiling without OpenGL support
Not related to Wolfy's problems afaik... this branch seems to be turning into a misc compiling fixes branch now
2016-01-12 15:42:40 +00:00
Monster Iestyn
997ae7dcc9 Fixed what appears to be a minor including error in sdl/i_system.c
Basically, Wolfy's linux (non-CMake) compiling apparently fails here, and config.in.h actually lives outside of the sdl folder. Blame a particular someone for blindly copy+pasting these includes in this file without considering the consequences when adding support for CMake everywhere.
2016-01-12 15:42:25 +00:00
Monster Iestyn
a8e4234d74 Fixed implicit declaration of some functions if compiling without OpenGL support
Not related to Wolfy's problems afaik... this branch seems to be turning into a misc compiling fixes branch now
2016-01-11 14:51:55 +00:00
Monster Iestyn
146011937a Fixed what appears to be a minor including error in sdl/i_system.c
Basically, Wolfy's linux (non-CMake) compiling apparently fails here, and config.in.h actually lives outside of the sdl folder. Blame a particular someone for blindly copy+pasting these includes in this file without considering the consequences when adding support for CMake everywhere.
2016-01-10 18:24:58 +00:00
Alam Ed Arias
83461f49c5 Merge branch 'public_todo_next' into next
All commits that was in private that are not SRB2 2.2 had moved to public's next
2015-04-01 12:32:34 -04:00
Ronald Kinard
a2af7ba305 Merge branch 'master' into next
Synchronize with master for STJr/SRB2!4.
2015-03-24 23:12:01 -05:00
Ronald Kinard
53680903e5 Fix compilation and debugging on Windows.
Core code has too many #define dependencies on interface-specific
defines. This means that it's currently not possible to safely
separate the core and interface code into different contexts. The
core code should be refactored to accomadate for this because we
should not have any interface-specific code in core in the first
place.

This reverts the static library SRB2Core from a7135094 and instead
adds the core sources to the SRB2SDL2 target directly.

So frustrating...
2015-03-24 19:32:58 -05:00
Ronald Kinard
ad6535ca51 Merge branch 'master' into next
Synchronizing STJr/SRB2!3
2015-03-08 21:50:21 -05:00
Ronald Kinard
a713509493 Refactor CMake to allow source grouping and separation of interfaces.
Core and SDL2 are two separate targets now. Core is a static library
that is linked into SRB2SDL2. The sources for both are separated.
When using an IDE like Visual Studio or Xcode, the source code
organized into groups that explain what that group of sources does.

In the future, "Main" could be split into a few more groups based on
file prefixes, but I think the way it is set up works for now.

Makefile targets are not affected by source_groups and typing `make`
will automatically compile both the "Core" library and SRB2SDL2
itself.
2015-03-08 03:26:54 -05:00
JTE
0dff0d84de New HD SRB2 icon by VAdaPEga.
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@8994 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-01 20:07:56 -05:00
Alam Ed Arias
6513954789 whitespace cleanup 2015-03-01 19:30:22 -05:00
Alam Ed Arias
3d498fe894 VERSIONSTRINGW is funny 2015-02-02 15:21:58 -05:00
Alam Ed Arias
7cf1a1aab8 fixup cmake merge 2015-02-02 14:58:51 -05:00
Ronald Kinard
e08bd45227 cmake: Separate debug symbols on gcc
Only when actually making the debug target though!
2015-02-01 22:14:52 -06:00
Ronald Kinard
d7015d1492 cmake: Fix nasm/add yasm support
Tested to work on MSVC, mingw-gcc
2015-02-01 21:25:02 -06:00
Ronald Kinard
194ce626e1 cmake: Add nasm support
Enables ASM-NASM and adds tmap*.nas to sdl target.

No idea if this actually works.
2015-02-01 19:18:25 -06:00
Ronald Kinard
ec79756c42 cmake: copy DLLs to build directory in MSVC
this is done as a POST_BUILD step
2015-01-31 22:40:36 -06:00
Ronald Kinard
4d3a7dd8fb cmake: fix NDEBUG on Debug
wow i'm stupid
2015-01-29 00:17:47 -06:00
Ronald Kinard
70f046a320 cmake: on mac, check Resources in bundle first.
on non debug, check assets folder in src as well
2015-01-28 23:38:40 -06:00
Ronald Kinard
e54338ef01 cmake: fix Windows linking 2015-01-28 23:20:21 -06:00
Ronald Kinard
57037e4124 cmake: fixes to enable linux compilation
string.c, capitalization, find fixes
2015-01-28 20:15:24 +00:00
Ronald Kinard
68f8a5b0f9 cmake: build bundle and dmg on install/package 2015-01-28 19:29:16 -06:00
Ronald Kinard
53799eb390 cmake: Add CPack Package Generation
Generates zips only at the moment
2015-01-28 16:42:05 -06:00
Ronald Kinard
1c9de50ad2 cmake: Search SDL2_main separately for MSVC 2015-01-28 15:33:29 -06:00
Ronald Kinard
20d6a7e675 cmake: exe icon on windows 2015-01-28 02:12:14 -06:00
Ronald Kinard
2f1367aab6 cmake: Fixes to allow MSVC to compile
running is another story
2015-01-28 02:09:03 -06:00
Ronald Kinard
495ea65cc5 Add GME and SDL2_mixer
Also support dynamic/static opengl switching
2015-01-28 01:20:43 -06:00
Ronald Kinard
479ebc3f94 Add Xcode target support
It is really messy at the moment. There is no support for copying the
necessary frameworks and dylibs out to the bundle for distribution, and
it is a frankenstein of manual find_library and find_package which can
sometimes pick up Homebrew dylibs.
2015-01-28 00:58:30 -06:00
Ronald Kinard
05f5ec664a Initial CMake support pass
Compiles the SDL2 target on Windows successfully
2015-01-27 23:46:39 -06:00
Alam Arias
0c106a4ccc I await the rise of AltimitOS because seriously, fuck this nonsense 2015-01-09 23:56:00 -05:00
Alam Arias
7535bb261f Account for the separation of F11 and F12 in the keycodes list 2015-01-09 23:55:52 -05:00
Alam Ed Arias
73b3287b19 SRB2 2.1.14 release 2015-01-01 14:50:31 -05:00
Ronald Kinard
3fd2a705ee Maybe this is the last warning related commit? 2014-11-14 00:04:54 -06:00
Ronald Kinard
98c3c3a3ae More warning squashing 2014-11-13 23:09:57 -06:00
Ronald Kinard
3eafca0dc1 Fix compile errors on win32, warnings elsewhere 2014-11-13 22:58:08 -06:00
Ronald Kinard
2feda0b560 Fix second joystick in sdl 2014-11-13 22:34:47 -06:00
Ronald Kinard
869c4241eb Restrict mouse to window when in focus 2014-11-13 19:18:24 -06:00
Ronald Kinard
d8484a86e0 Virtual resolutions in OpenGL
Also made fades use core functions if they are available.
2014-11-13 18:06:38 -06:00
Ronald Kinard
5d0eafb26a Fix MOUSE4/MOUSE5
MOUSE6-8 will not be supported on SDL2 as there is no interface for them.
2014-11-13 15:31:32 -06:00
Ronald Kinard
80891e916d Use scancodes instead of keycodes for locale independence.
ONLY US KEYBOARDS SUPPORTED! THAT'S HOW WE DO IT IN AMURRICA
2014-11-13 15:19:39 -06:00
Ronald Kinard
0913bd44af Fix mouse warping
In some cases, the warp back to center was being detected as a mouse motion, causing all sorts of silliness with the mouse. The workaround is by only using the first motion event and ignoring every event after that, until the next call to I_GetEvent.
2014-11-13 03:51:33 -06:00
Ronald Kinard
b82f64dea5 Display error window on crash 2014-11-13 01:51:29 -06:00
Ronald Kinard
4c55b5db20 Center only on display 1. No more multimonitor span. 2014-11-13 01:36:06 -06:00
Ronald Kinard
b7e8d7d044 Fix -nomouse 2014-11-13 01:04:17 -06:00
Alam Ed Arias
404b5f666c SRB2 2.1.12 release 2014-11-11 19:55:07 -05:00
Alam Ed Arias
6d773c54a5 Use OpenGL 1.3 in static builds and on SDL interfaces 2014-11-02 01:11:59 -05:00
Ronald Kinard
5b07cf8ff0 SDL2: Add 1600x1200 mode 2014-09-05 20:25:06 -04:00
Ronald Kinard
399eddefe6 SDL2: Do not use xinput, force directinput
Fixes axes issue with xinput controllers.
2014-09-05 20:24:57 -04:00
Ronald Kinard
31abd19f75 SDL2: Reimplement some stubbed commands
Also remove some unnecessary functions.
2014-09-05 20:24:39 -04:00
Ronald Kinard
eece38609e SDL2: Fix 320x200 mode 2014-09-05 20:24:25 -04:00
Alam Ed Arias
7cb77075d1 SRB2 2.1.11 release 2014-08-26 23:56:30 -04:00
Alam Ed Arias
d6c29e19ab SRB2 2.1.10 release 2014-08-05 19:59:40 -04:00
Ronald Kinard
8eef7239b2 Change mixer panning to make sense
This makes positional audio in sdl work correctly (things to the left
play sounds in the left speaker)
2014-08-04 02:48:18 -05:00
Alam Ed Arias
c028c83235 SRB2 2.1.9 release 2014-08-03 23:49:33 -04:00
Ronald Kinard
03fe3bdad2 Replace sdl with sdl2
SDL1.2 is dead, long live SDL
2014-07-26 02:06:00 -05:00
Alam Ed Arias
f03e591f64 change SDL into HAVE_SDL 2014-07-25 19:10:24 -04:00
ilag11111
b21d5c55c9 Uses fixed-point math to properly calculate the exact amount of space needed. 2014-04-25 13:17:05 -07:00
ilag11111
f7bbf8c6d0 Improved fix by changing the formula for how memory is allocated to arbitrary sample rate conversion. 2014-04-25 12:42:43 -07:00
ilag11111
60a115b0a7 Fix (Linux) 64-bit crash in CEZ3 (playback of sfx_litng3). 2014-04-25 00:37:13 -07:00
Alam Ed Arias
8a9759a3e4 SRB2 2.1.8 release 2014-04-19 13:41:29 -04:00
Alam Ed Arias
537ad47d00 Will the real 2.1.7 release please stand up? 2014-04-15 22:20:13 -04:00
Alam Ed Arias
32de698f5e SRB2 2.1.6 release 2014-03-24 22:17:59 -04:00
Alam Ed Arias
bb6688107b bump Srb2mac project 2014-03-23 12:06:07 -04:00
Alam Ed Arias
15bd266cac SRB2 2.1.5 release 2014-03-23 12:00:29 -04:00
Alam Arias
5e24fe8937 Fixup Srb2Mac to exclude srb2.srb from Lite pack 2014-03-22 16:09:41 -04:00
Alam Ed Arias
2b781d82d5 Quartz is evil, we need to ask for a new modeList 2014-03-22 15:54:46 -04:00
Alam Arias
dcaac56f9a bump SRB2Mac version 2014-03-21 16:05:12 -04:00
Ronald Kinard
eb70242fd0 Fix -dedicated under sdl 2014-03-17 22:37:56 -05:00
Alam Ed Arias
a03da73115 SRB2 2.1.2 release 2014-03-17 08:13:16 -04:00
Alam Ed Arias
3e0b5ef1cd SRB2 2.1.1 release 2014-03-15 18:55:07 -04:00
Alam Ed Arias
b93cb1b65a SRB2 2.1 release 2014-03-15 13:11:35 -04:00