Yamagi Burmeister
d8e35b82c7
Reformat the sound system code
...
caedes and some other people will probably kill me for this, but I'm the
idiot who has to maintain the code. And that's much easier if it's in a
readable und writeable state.
2012-06-06 11:13:07 +02:00
Yamagi Burmeister
51cc3369b1
Provide an optimized case for mixing 16 bit / 2 chan sound
...
With sound quality "high" nearly all sound is provided as 16 bit PCM
with 2 channels. Since most players use this setting, provide an optimed
case for it. This should also solve the cracking due to overshot
soundbuffers, which was especially noticeable on Windows. This changes
only effects the old SDL soundbackend and not OpenAL.
2012-06-06 10:34:36 +02:00
Yamagi Burmeister
15400b2133
Use memset() instead of array magic
2012-06-06 10:02:55 +02:00
Yamagi Burmeister
272b897919
Reformat snd_mix.c
2012-06-06 09:58:06 +02:00
Yamagi Burmeister
f5233db0b2
Add IPv6 support for Windows
...
This is essentially a port of unix/network.c to windows.
2012-06-06 09:48:48 +02:00
Yamagi Burmeister
0c74a1af75
Create profile in Documents instead of AppData
2012-06-05 14:28:34 +02:00
Yamagi Burmeister
d17d996dc5
Import Sys_Mkdir() into the refresher
2012-06-05 14:19:29 +02:00
Yamagi Burmeister
7715592aaa
Write config data in AppData
...
Under Windows all config data is written to %USERPROFILE%\AppData\
Local\YamagiQ2. To archive this code was added that translates Windows
pathes with backslashes into Unix pathes with normal slashes.
2012-06-05 12:52:44 +02:00
Yamagi Burmeister
0b9ec45eb7
Remove leftovers from the softrenderer
2012-06-05 10:54:47 +02:00
Yamagi Burmeister
de3e53069f
Remove Alt-Tab handling. It's done by SDL
2012-06-05 10:50:24 +02:00
Yamagi Burmeister
a55d717a80
Replace atoi() with strtol() in Windows code
2012-06-05 10:46:15 +02:00
Yamagi Burmeister
af83f80dff
Add header guards to new headers
2012-06-05 10:42:30 +02:00
Yamagi Burmeister
28be8cda8e
Work around the missing _controlfp prototypes in MinGW
2012-06-05 10:29:20 +02:00
Yamagi Burmeister
58c3b22c8a
Add platform defines for Windows
2012-06-05 10:17:01 +02:00
Yamagi Burmeister
ca18af254e
Remove Sys_AppActivate()
...
This code is unnecessary because SDL handles all activation events,
brings the Window into foreground, etc.
2012-06-05 10:11:29 +02:00
Yamagi Burmeister
21ab0de692
Remove support for the Windows clipboard
...
This was just broken and rewriting it is not worth the efford
2012-06-05 10:09:24 +02:00
Yamagi Burmeister
d1008a564d
Port OpenAL to Windows and enable it by default
2012-06-05 09:57:30 +02:00
Yamagi Burmeister
4021087a38
Make the SDL sounddriver selectable via s_sdldriver
...
This is necessary since the default "waveout" driver on windows is
incompatible to Quake II (due to too big output buffers) and "dsound"
can't be forced since it's not available on some installations. The
default driver is choosen by platform:
Windows -> dsound
FreeBSD -> dsp
Linux -> alsa
2012-06-05 09:03:46 +02:00
Yamagi Burmeister
2629f908ae
Initialize randk() and startup
2012-06-04 16:24:37 +02:00
Yamagi Burmeister
ea02b14ca7
Poke the input subsystem at every frame to process events
2012-06-04 13:51:46 +02:00
Yamagi Burmeister
6b650e9ea7
Initialize the input backend
2012-06-04 13:40:23 +02:00
Yamagi Burmeister
6b7bc06074
opengl32.dll is the default gldriver on Windows
2012-06-04 13:13:14 +02:00
Yamagi Burmeister
27de5f3a6f
Fall back to opengl32.dll if the gldriver couldn't be loaded
2012-06-04 13:10:12 +02:00
Yamagi Burmeister
5523cc8de2
Use correct name to query the refresher
2012-06-04 12:52:54 +02:00
Yamagi Burmeister
51869fbc9d
Add qgl.c for Windows
...
This file was taken from ioQuake2 and altered for inclusion in Yamagi
Quake II.
2012-06-04 12:42:55 +02:00
Yamagi Burmeister
0d46fed529
Add Windows stuff
...
This code was taken from ioQuake2 and altered for inclusion in Yamagi
Quake II
2012-06-04 12:41:29 +02:00
Yamagi Burmeister
d0146dc4d5
Hide native JPEG and TGA loading functions behind RETEXTURE
2012-06-04 12:40:58 +02:00
Yamagi Burmeister
b42f208fd0
Include windows.h in refresh/header/local.h
2012-06-04 12:26:49 +02:00
Yamagi Burmeister
0365c93138
Add glwindow.h for Windows
...
This file was taken from ioQuake2 and altered to work with Yamagi Quake
II
2012-06-04 12:08:18 +02:00
Yamagi Burmeister
b8792c7fc0
Use correct SDL include path under Windows and hide X11 stuff
2012-06-04 11:52:07 +02:00
Yamagi Burmeister
51ca0ca673
Define missing OpenGL extensions for Windows
...
While this is not the 100% correct way, it's much cleaner than just
importing th whole header files.
2012-06-04 11:46:08 +02:00
Yamagi Burmeister
86f89fce22
Implement vid.c for Windows
...
This file was taken from ioQuake2 and modified to work with Yamagi Quake
II. It may not be perfect yet, but should be good enough to the client
up and running.
2012-06-04 11:09:43 +02:00
Yamagi Burmeister
5d272eeab8
strsep() is a FreeBSDism. Switch over to strtok().
2012-06-04 10:53:55 +02:00
Yamagi Burmeister
a4609fc42b
Use correct include pathes to SDL under Windows
2012-06-04 10:02:01 +02:00
Yamagi Burmeister
7d3b9a5c00
Ignore errors of AllocConsole()
...
This errors are harmless and thrown when the process is already attached
to a console. Since the dedicated server is a console application the
console is created by Windows at startup...
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
4e37958b63
Stub Sys_Init() for Unix and call it while initializing
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
32dc525124
Stub NET_Init() for Unix and call it while initializing
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
d2177bb618
Open binary files in mode "rb" instead of "r"
...
This subtile bug didn't show on unixoid platforms, but led to problems
on Windows.
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
991ff17f1b
Implement Sys_GetCurrentDirectory()
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
1a3b54b27e
Move glob.c and glob.h to common
...
We need glob_match() for Windows
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
280a432161
Comment Sys_AppActivate() since cl_hwnd will be ported later
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
f3bead4f6b
Add Windows network functions in network.c
...
This file was taken from ioQuake2 and refactored to match Yamagi Quake
II. It would be nice to have IPv6 support and to remove the old IPX
cruft, but that happen now.
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
0b226ce838
Include ctype.h and silence some warnings
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
263156bda7
Implement system depended file handling
...
Those functions were taken from ioQuake2 and refactored to match Yamagi
Quake II.
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
bd1070eff2
Remove FS_DeletePath() and Sys_Rmdir()
...
Thise functions where added with the filesystem rewrite but never used.
Removing them saves us from implementing Sys_Rmdir() for Windows.
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
a6f22f0f5a
Implement Sys_Milliseconds
...
This function was taken from ioQuakeII and refactored to match Yamagi
Quake II
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
05f7e37c77
Add memory handling functions in mem.c
...
This code was taken from ioQuake2, refactored into an own file and
altered for the inclusion in Yamagi Quake II.
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
e8d44459a4
Use correct types and remove unused variables
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
d9560b4020
Hide calls to CL_Shutdown() behind !DEDICATED_ONLY
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
8ca30adf46
Do not set the FPU state
...
This is a workaround for a MinGW bug and should be resolved before the
first CFT is released. A TODO item was added in a preceding commit.
2012-06-04 09:13:30 +02:00