Commit graph

286 commits

Author SHA1 Message Date
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