Bill Currie
75ec6bf244
Clean out some unnecessary types from the progs engine and clean up the mess.
...
This is a nasty commit, sorry, but 99% of the commit is interdependent.
2011-01-10 12:25:31 +09:00
Jeff Teunissen
d764ef80d0
write "color" PCX files (stupid bug)
2011-01-09 04:34:35 -05:00
Jeff Teunissen
68b5db87b2
Document PCX read/write functions & struct
2011-01-09 04:06:50 -05:00
Jeff Teunissen
4090674fa5
LoadPCX(): Turn convert argument into a qboolean.
2011-01-09 04:05:57 -05:00
Jeff Teunissen
af8c1e4cc2
Enable RLE coding for PCX output
...
Pulled from DarkPlaces's lmp2pcx tool, which I have just been made aware
of.
2011-01-09 03:06:25 -05:00
Jeff Teunissen
e819ea3b7f
QFimage: Don't use qfs_filesize when loading images
...
Use Qfilesize() to get the size of a read file, don't count on quakefs's
global qfs_filesize variable pointing at the right file.
2011-01-09 01:36:40 -05:00
Bill Currie
a85c0713aa
Nuke libQFbuiltins.
...
The gib and "common" builtins are now part of libQFruamoko.
2011-01-04 21:21:19 +09:00
Jeff Teunissen
999252c07a
Fix the same (ancient!) bug in ipv4 code...
...
Don't read the address of the peer until we know we've actually read
a packet.
2010-12-30 07:15:22 -05:00
Jeff Teunissen
1b23c470cb
Fix unknown family msgs
...
Found the source of all the bogus "unknown address family" messages --
reading the returned address of an errored read. D'oh!
2010-12-30 06:38:20 -05:00
Jeff Teunissen
9e0575313e
Net debugging
...
Add a SYS_NET developer mask for debugging network, and use it.
2010-12-30 05:01:58 -05:00
Jeff Teunissen
e96cbbdbd9
Captain Whitespace(tm) is back.
...
Don't judge me... :)
2010-12-30 04:58:49 -05:00
Jeff Teunissen
5cfce584c9
ipv4 formatting changes
...
IPv4 addresses should be formatted identically to how we're used to seeing
them, without the brackets that denote an IPv6 address and separate it from
the port specification.
2010-12-30 04:46:44 -05:00
Jeff Teunissen
e7462d025f
Call freeaddrinfo() when done with the address info.
2010-12-30 04:34:15 -05:00
Jeff Teunissen
e89fb3a868
Nuke a structure I didn't need.
2010-12-30 04:30:16 -05:00
Jeff Teunissen
0a21f6a6df
Move a comment where it belongs
2010-12-30 03:43:46 -05:00
Jeff Teunissen
87dd61a6f8
Fix IPv4 interaction
...
Can now talk to IPv4 hosts again.
2010-12-30 03:42:22 -05:00
Jeff Teunissen
878a9cfb6a
ipv6: builds and works now, still can't interact with ipv4 clients/servers
2010-12-29 07:47:15 -05:00
Jeff Teunissen
fdb4d885ae
ipv6: start cleaning up strict-aliasing problems.
2010-12-29 06:58:14 -05:00
Jeff Teunissen
cdf5ef2565
ipv6: Fix glibc defines
2010-12-29 06:36:43 -05:00
Bill Currie
3090a64faa
Use the correct param for the full_new path.
...
This fixes the broken downloads.
*taniwha dons a brown paper bag.
2010-12-28 14:44:26 -05:00
Bill Currie
6e18c3df85
Make qfs developer prints a little more controllable.
2010-12-28 09:08:51 +09:00
Bill Currie
1f0851cc61
Fix QFS_FilelistFill for pak files.
...
Forgot to ensure the path separator was included in the fnmatch param. This
fixes the broken *list commands.
2010-12-27 10:31:54 +09:00
Bill Currie
70783e4bd5
Disable all sound calls if jack could not be contacted.
...
This fixes the file handle leak when jack is unavailable.
2010-12-25 20:31:14 +09:00
Bill Currie
14480fd1b4
Move the call to R_ClearEnts to the renderer.
...
This fixes the hang on certain maps in qw-client.
2010-12-25 19:59:34 +09:00
Bill Currie
e65d1a7ccf
Remove a redundant assignment.
2010-12-25 19:59:34 +09:00
Jeff Teunissen
9defba8d92
Get rid of plugin versioning (again).
...
automake needs -avoid-version to be in Makefile.am, otherwise it doesn't
make libtool do the right thing...or something. My head hurts. ;)
2010-12-25 04:45:39 -05:00
Jeff Teunissen
bbc8154ec7
joystick fixes
...
Make /dev/input/js0 the default joy_device, and temporarily bump max
buttons to 18 (until I kill the maximums entirely)
2010-12-24 05:03:32 -05:00
Bill Currie
ce64227a71
Fix for debian wildmidi.
...
This might break lenny :/
2010-12-24 17:33:09 +09:00
Bill Currie
de04e1b602
Lots of win32 (mingw cross) build fixes.
...
HTTP (curl) support is missing, but everything else builds.
2010-12-23 11:40:16 +09:00
Bill Currie
889bbd364e
Explicitly link testsound against libQFutil.
2010-12-18 22:21:55 +09:00
Bill Currie
23d3407622
Change a few defaults as suggested by bigfoot.
...
in_dga -> 0 (until X is fixed)
gl_multitexture -> 1 (why was this 0? not enough support back then?)
cl_usleep -> 1 (seems to be ok)
host_mem_size -> 40 (even 32 isn't enough these days)
rate -> 10000 (we're not in the modem era any more)
cl_mem_size -> 32 (16 is not enough, 32 sounds better than 24)
2010-12-16 11:34:39 +09:00
Bill Currie
765807def0
Make sdl's sound parameters easy to tweak.
2010-12-15 18:48:25 +09:00
Bill Currie
d265bbf011
Support any sample rate.
2010-12-15 18:48:25 +09:00
Bill Currie
df65679028
Remove support for alsa 0.9.
...
It's way obsolete and I doubt we'll ever need it again. I do wonder what to
do abut sun, sgi etc.
2010-12-15 18:48:25 +09:00
Bill Currie
9b9a60aa89
Make the -mem suggestion a little more realistic.
...
16M hasn't been enough for a long time.
2010-12-13 19:11:48 +09:00
Bill Currie
774f049646
Fix garbage at edges of conchar characters.
...
Move the texture coordinates in 1/4 of a pixel. To avoid unnecessary
calculations, pre-caclulate the character cell texture coordinates and
blast them into the the texture coordinate array.
2010-12-11 12:09:30 +09:00
Bill Currie
8919aec663
Get global fog working in mtex mode.
2010-12-10 21:40:36 +09:00
Bill Currie
ce96e6b055
The beginnings of fog support.
...
gl_fog.c is taken from fitzquake with only minor modifications to get it
into QF. Other than worldspawn/network parsing, it's not used yet.
2010-12-10 17:17:30 +09:00
Bill Currie
6114495870
Don't try to load skys named "".
...
This makes 'loadsky ""' and 'loadsky none' equivalent.
2010-12-10 17:17:30 +09:00
Bill Currie
c4f71c0cda
Move r_skyname handling from R_NewMap to R_LoadSkys.
...
r_skyname now acts as the default sky to use when no sky name is specified
by other means ("none" is still no sky). 'loadsky foo' will load the
"foo*" sky textures, 'loadsky none' gives the default sky, and 'loadsky
""' causes uses r_skyname.
2010-12-10 17:17:30 +09:00
Bill Currie
8e557e81b6
Break out the guts of Ed_LoadFromFile into ED_Parse.
...
ED_Parse does not support progs privided parsing (at this stage, anyway),
but this will allow clients to easily get at the entities in a map.
2010-12-10 17:17:29 +09:00
Ragnvald Maartmann-Moe IV
843823de84
testsound depends on libQFutil
2010-12-10 17:07:06 +09:00
Bill Currie
981622f969
Make MOD_TraceLine behave "correctly".
...
MOD_TraceLine now behaves the same as id's SV_RecursiveHullCheck (from
WinQuake). This means that even if the trace would escape from solid space
into non-solid space, the trace is treated as allsolid if it crosses from
one solid space to another before hitting the empty space.
trace-id.c is used only for establishing the behaviour of id's code.
2010-12-06 15:30:56 +09:00
Bill Currie
c2af7896bd
Revert "make droptofloor continue the trace if it starts solid"
...
This reverts commit 10232acdfe
.
The problem was really in the trace code, but it got fixed by "accident"
when I had similar problems in hipnotic a couple of years later. Now to
figure out just what the trace could really should be doing.
2010-12-05 14:56:32 +09:00
Bill Currie
31640dd1b9
Clean out the last traces of my boxclip code.
...
I've been experiencing funny trace issues while playing Soul of Evil. While
I think the boxclip dregs shouldn't be causing problems, it's probably best
to clean them out properly before trying to fix anything.
2010-12-05 14:52:20 +09:00
Bill Currie
b1b1a02c6c
Get entity allocation and freeing working correctly.
...
This fixes the missing static entities.
2010-12-04 23:37:58 +09:00
Bill Currie
a4b97e9e2e
Dynamic entity allocation. Unlimited static entities.
...
Entities can now be allocated dynamically. They are freed whenever a new
map is loaded.
Use the dynamic entities for static entities.
2010-12-03 21:01:52 +09:00
Bill Currie
a6941e27ef
Eliminate MAX_VISEDICTS. Unlimited visible entities.
...
The renderer can now render as many entities as can be crammed into the
currently visible set of nodes.
2010-12-03 14:59:02 +09:00
Bill Currie
f98b002f9e
Make R_StoreEfrags const-correct.
...
R_StoreEfrags does not need to modify its parameter or anything to which
it directly refers, so make the pointer single-level and constant.
2010-12-03 13:30:49 +09:00
Bill Currie
085b0f4448
Remove R_SplitEntityOnNode2
...
When R_AddEfrags is used (as is the case in nq), this function is
redundant. Brush models in qw are currently broken (invisible), but that's
just a matter of getting qw to use R_AddEfrags instead of R_NewEntity.
This removal should speed up the software renderers a little bit.
2010-12-02 08:31:48 +09:00
Bill Currie
8831a109a4
Create and use mclipnode_t.
...
I didn't realize this was a critical part of fitzquake's large map
support. This should fix the non-solid brush entities in Conflagrant
Rodent.
2010-11-29 09:36:21 +09:00
Jeff Teunissen
b0217bf0cf
Merge branch 'master' into forge
2010-11-28 03:05:30 -05:00
Bill Currie
98a5d591d5
Don't read past the end of a sub-file.
...
This fixes a libvobis streaming problem with vorbis files within pak files.
2010-11-28 11:28:44 +09:00
Bill Currie
341726afb9
Reimplement Qgets using Qgetc.
2010-11-28 11:18:07 +09:00
Bill Currie
185e21e4e4
Tweak some developer cvar usage.
2010-11-27 16:53:17 +09:00
Bill Currie
9900aa3d02
Fix vid_fullscreen for modern X window managers.
...
We are now compliant with wm-spec 1.4, so fullscreen toggling should always
work.
2010-11-27 16:19:04 +09:00
Bill Currie
e53ff2a36d
A bit of house keeping.
2010-11-27 15:10:34 +09:00
Bill Currie
dd87274027
DGA mouse tweaks.
...
o Check the return value of XF86DGADirectVideo.
o Use input_grabbed instead of in_grab for checking whether to enable dga
mouse and other grabbed actions.
2010-11-27 09:25:29 +09:00
Bill Currie
f31595781c
Add and used SYS_VID for video/targets masked prints.
2010-11-27 08:48:00 +09:00
Bill Currie
cacd2fb895
FiztQuake's lerping system.
...
Seems to be mostly working. I get some funny results for zombies, but that
might be moving and turning at the same time causing issues.
2010-11-26 16:20:05 +09:00
Bill Currie
31c13d92a2
Protocol 666/large map support from FitzQuake.
...
Alpha and lerping aren't implemented yet, but things seem to be working. I
can load and play oms2.bsp (Conflagrant Rodent).
2010-11-26 16:20:05 +09:00
Bill Currie
8c4fe2f844
Rename Sys_DPrintf to Sys_MaskPrintf.
...
We now have finer runtime control over what gets printed. Need to do a
SYS_DEV audit, creating new masks as apropriate.
2010-11-26 16:19:26 +09:00
Bill Currie
92f84e97a4
Unlimited loaded models.
2010-11-26 16:19:25 +09:00
Bill Currie
abc17c1d91
New cvar commands from fitzquake.
2010-11-26 16:19:25 +09:00
Bill Currie
d6ceaef7d2
Whee, 64bit cpus and sizeof.
2010-11-24 20:42:07 +09:00
Bill Currie
addbcaa09c
Add PL_GetFromFile builtin.
...
This is an extension "wrapper" (no such C function). This allows ruamoko
programs to read property lists without worrying about the memory required
to store the string for the property list being read.
2010-11-24 17:01:19 +09:00
Bill Currie
defc2a264b
Add QFile_GetHandle()
...
This allows other rua builtins to make use of ruamoko files.
2010-11-24 17:01:19 +09:00
Bill Currie
fc2a6e0fb7
Don't be so spammy with file errors.
...
Record a file even if it could not be found. This way, the error message
gets printed once per file rather than every time.
2010-11-24 17:01:18 +09:00
Bill Currie
3878b76cc5
Start using autorelease.
...
Much more testing is required (oh, but for qc-valgrind), but there is now
a ~945kB block of free data in the menu progs heap :).
Also, correct the printed size of the memory block to not include the
block header size.
2010-11-24 17:01:18 +09:00
Bill Currie
4518e6af91
First stab at implementing autorelease.
...
It's probably nowhere near right, but probably ok for now (I need to study
the GNUStep code). I'm unhappy with the menu code hook, but it will have
to do for now.
2010-11-24 17:01:18 +09:00
Bill Currie
5fc4ef63f6
Rewrite ruamoko plist support to use handles.
...
The plist code was written long before I thought of resource handles, and
then it was forgotten. This is much nicer and safer than storing C
pointers in progs memory space (*shudder*).
2010-11-24 17:01:18 +09:00
Bill Currie
763cec3838
Some spelling/grammar corrections.
2010-11-24 17:01:18 +09:00
Bill Currie
d4ae231f34
sezero's NET_SendToAll fix
...
Here's a patch to NET_SendToAll() which was always
broken: it never skipped non-connected clients.
Depending on the compiler, it would wait the whole
5 seconds of its blocktime before it gave up.
While there, changed its blocktime argument to
double (the comparison is against a double.)
2010-11-21 14:27:43 +09:00
Bill Currie
1dfb914c46
fix an oopsie (rebase!!)
2010-11-21 14:25:32 +09:00
Bill Currie
4cec187465
zixthree's wav file patch
...
Wav file were not read correctly when encoutering most chunk type beside the ones used by QuakeForge.
This patch will fix the riff loader code so that unused but defined chunk are skipped. Most wav files should now be loaded correctly fixing some silent sound effect.
Also fixed a typo in wav loader and reordered wav validity check so that format is checked first. The data chunk could be inexistant on some weird format and so an invalid format is a more helpful error text.
! Fix: Skip unsupported chunk in riff loader instead of rejecting riff file.
! Fix: typo in Microsoft name.
! Fix: ordering of wav validity to enable more helpful error text.
2010-11-21 14:18:15 +09:00
Bill Currie
99e87b092b
zixthree's stereo swap patch.
...
Modified slightly for formatting and cleaner swapping.
2010-11-21 14:09:23 +09:00
Bill Currie
6771e7b8b5
sezero's win32 Sys_ConsoleInput patch.
2010-11-21 13:55:03 +09:00
Bill Currie
204c509a43
sezero's "Bad old_size value in Z_Realloc()" patch.
2010-11-21 10:06:56 +09:00
Bill Currie
15b423cbe7
Track 0 is used to stop the BGM
2010-11-20 14:32:27 +09:00
Bill Currie
3309f483b6
Don't require pr_boundscheck for quoth.
...
I don't know about other FTEqcc compiled progs, but quoth doesn't try to do
anything clever (all its denormals are either vars of the wrong type, or
-0.0).
2010-11-20 14:12:40 +09:00
Bill Currie
9d6fd32206
Ensure the the progs data is aligned.
...
Some QuakeC compilers (eg, FTE) insert a data chunk between the progs
header and the rest of the progs data. Unfortunately, FTE does not maintain
the assumed 32-bit alignment.
2010-11-20 09:02:56 +09:00
Bill Currie
2f504709dd
Print data being loaded from an entity.
2010-11-20 00:31:34 +09:00
Bill Currie
232d2f7e18
Fix an undefined operation thanks to spirit of the domain quaddicted.com.
2010-11-16 17:13:22 +09:00
Bill Currie
6260130ae5
Fix borked autoconf of dga/vidmode headers.
2010-11-16 00:58:19 +09:00
Bill Currie
37fb8d22da
Don't open a streamed sfx when there's no sound driver.
...
This happens when qf fails to connect to jackd (possibly other times).
There is probably a better solution to the problem, but not opening a
stream when the sample rate is reported as 0 definitely fixes the inifinite
recursion in read_samples().
2010-11-14 20:46:29 +09:00
Bill Currie
824e33c82b
Fix a sizeof braino.
...
Somebody (probably me) got a little over-happy with sizeof.
2010-11-14 19:22:47 +09:00
Bill Currie
f63e505c92
Don't realloc the string pointer table.
...
This causes a bit of memory waste, but avoids breaking the pointers in the
string hash table.
2010-11-14 19:21:16 +09:00
Bill Currie
e6b783a616
Don't touch the watchpoint conditional when printing.
2010-11-13 14:36:33 +09:00
Bill Currie
ff49239500
Fix shared config files.
...
We've allowed a single level of parent directy access in quake path names
for a long time, but this got broken by qfs_expand_path. Thus, make
qfs_expand_path allow a certain number of parent directory levels (usually
0 or 1).
2010-10-16 14:17:09 +09:00
Bill Currie
ef7958d680
Lots of const correctness.
2010-10-13 20:52:08 +09:00
Bill Currie
9a30968c87
type size correctness
2010-10-13 20:52:06 +09:00
Bill Currie
cd159e1cc1
Use LoadBSPMem to load brush models.
...
Now that Mod_LoadBrushModel uses bspfile.[ch], the engine uses the same
code as the tools to work with bsp files.
2010-10-13 20:52:05 +09:00
Bill Currie
db898655d1
make LoadBSPFile own the memory for the bsp data
2010-10-13 20:52:05 +09:00
Bill Currie
719ca15516
make LoadBSPMem work in-place
...
LoadBSPMem now modifies the passed in buffer rathern than allocating new
memory. One step closer to cleaning up brush model loading.
2010-10-13 20:52:05 +09:00
Bill Currie
56fb4d9a22
allow safe bsp freeing
...
any memory the bsp thinks it does not own will not be freed
2010-10-13 20:52:05 +09:00
Bill Currie
1d86e71404
make WriteBSPFile take a const bsp_t *
...
This means that the supplied bsp can now be reused, as it should be.
2010-10-13 20:52:05 +09:00
Bill Currie
f4042c5b91
Make the bsp disk data structures type size independent.
...
However, this assumes float is always 32 bits.
Also use size_t for the *size fields in bsp_t and clean up the mess.
2010-10-13 20:52:05 +09:00
Bill Currie
3f08268038
Make sure unterminated lump names don't cause propblems when comparing.
2010-10-10 18:31:14 +09:00
Bill Currie
1902ca6159
Ensure the string to be hashed is terminated.
2010-10-10 18:21:30 +09:00
Bill Currie
7dc1ccdbea
Add a function for retreiving the parsed token.
...
Saves having to reach into the token's dstring (script->token->str was
getting annoying).
2010-09-26 13:50:17 +09:00
Bill Currie
827d0d0ad6
Scripts now treat {}()': as single character tokens.
2010-09-26 13:50:17 +09:00
Bill Currie
f666f8d27a
Get the lib dependency for testsound right.
...
No need for $(top_builddir) when the lib is in the same directory. Fixes
parallel builds.
2010-09-25 23:07:06 +09:00
Bill Currie
42faad9015
Move expand_squiggle() from quakefs to sys, and rename to Sys_ExpandSquiggle.
...
Hopefully the final resting place of this function.
2010-08-25 14:00:04 +09:00
Bill Currie
e9bd9a4baa
Move QFS_CreatePath() to Sys_CreatePath().
2010-08-25 13:52:24 +09:00
Bill Currie
4f620655be
Document quakefs.h
2010-08-25 13:40:22 +09:00
Bill Currie
f1943ebaab
Fix some path compression bugs.
2010-08-25 13:38:45 +09:00
Bill Currie
550b094b93
Unit testing for QFS_CompressPath
2010-08-25 13:38:30 +09:00
Bill Currie
05c57f219d
Nuke a comment.
2010-08-25 13:38:24 +09:00
Bill Currie
c6be3c469a
Make the names of static functions canonical.
2010-08-25 13:38:24 +09:00
Bill Currie
bbf2ac0204
Avoid creating // in path names.
2010-08-25 13:38:18 +09:00
Bill Currie
ba8ca132a9
Change QFS_Gamedir()'s parameter from dir to gamedir.
2010-08-25 13:31:24 +09:00
Bill Currie
745bdfafdf
Eliminate QFS_LoadHunkFile().
...
It is unused, and part of the group of functions I wish to remove from QF.
2010-08-25 13:31:23 +09:00
Bill Currie
cbee789fe1
Change ProgPath to ModelPath and dir.progs to dir.models.
...
The default is still $path/progs, as that is what is expected by the
game-code.
2010-08-25 13:31:13 +09:00
Bill Currie
cf40f5073d
Nuke QFS_WriteBuffers.
...
This function is too dangerous for my liking, and it's now unnecessary
since qfs has been locked down.
2010-08-25 13:31:13 +09:00
Bill Currie
031055a91f
Move the qfs_* cvars out of quakefs.h
...
The qfs cvars are all private.
2010-08-25 13:31:13 +09:00
Bill Currie
0cc4bc8c69
Move searchpath out of quakefs.h.
...
It's not needed, nor should it be used, anywhere else.
2010-08-25 13:31:13 +09:00
Bill Currie
478394ef81
Nuke MAX_GAMEDIR_CALLBACKS
...
The number of gamedir callbacks is now unlimited.
2010-08-25 13:31:08 +09:00
Bill Currie
a51e888a1b
Nuke MAX_OSPATH and clean up the mess.
2010-08-25 13:31:08 +09:00
Bill Currie
baede61f4f
New function: dstring_strdup
...
I got tired of always doing dstring_newstr/dstring_copy, so I thought it
was time to wrap it. dstring_strdup is the dstring equivalent of strdup.
2010-08-25 13:31:00 +09:00
Bill Currie
5a6e66b23e
hopefully, correct plugin linking options
...
how we got away with this for so long is beyond me, but it seems libtool
really wants -rpath even for plugins (otherwise it refuses to install them)
2010-08-21 13:01:35 +09:00
Bill Currie
2185a3dcd0
Remove almost all of my boxclip developement.
...
This is to prevent others accidently getting headaches from my code.
2010-08-20 14:13:23 +09:00
Bill Currie
fd24170b32
get the behavior or PL_NewData correct
...
It taking ownership of the data was the correct behavior, so go back to that.
2010-08-20 13:21:22 +09:00
Bill Currie
a744caa421
The public api of qfplist is now fully documented.
...
Evertyhing that can or should be private now is, and all public functions
are documented.
2010-08-20 13:10:37 +09:00
Bill Currie
1442273a8f
more opaque correctness
2010-08-20 12:58:37 +09:00
Bill Currie
f55c203c5e
use the plist api correctly
...
don't work directly with the plist data. the structs that enabled that will
go away shortly.
2010-08-20 11:57:47 +09:00
Bill Currie
669771681a
split up and modernize configure.ac
...
Most of the guts of configure.ac have been moved to config.d and are then
brought in by m4_include. This will make maintaining configure.ac much easier.
Also drop use of PROGRAM and VERSION, using PACKAGE_NAME, PACKAGE_VERSION, and
on occasion, PACKAGE_STRING instead, and clean out some old files we no longer
need.
2010-08-19 15:01:43 +09:00
Bill Currie
4449f10c0a
get alsa and sdl working, though sdl seems to be mono only
2010-08-15 05:15:47 +00:00
Bill Currie
bc4a3e79dc
d'oh, bogus $
2010-08-14 02:48:53 +00:00
Bill Currie
81ac779b7f
forgot to add libsamplerate to the default renderer
2010-08-14 02:38:19 +00:00
Bill Currie
cc697236e5
bah, forgot that libsamplerate doesn't check for errors
2010-08-13 01:48:48 +00:00
Bill Currie
54fc922f6c
better error checking while reading streamed data
2010-08-13 01:48:20 +00:00
Bill Currie
ce5658416d
add support for up to 8 channels in sound effect files
...
The sounds are down-mixed to 2 channels (qf does not (yet) support more than
2 channel output), but this allows pretty much anything to be used for a
source of music. Only 5.1 (6 channel), stereo and mono have been tested, but
the others should work (any issues would be mis-interpretation/implementation
of the channel layout).
2010-08-12 02:28:27 +00:00
Bill Currie
b1620616b9
reset the "resampler" when seeking
2010-08-11 23:47:31 +00:00
Bill Currie
22e8698827
resampling now works
...
However, no fallback for when libsamplerate is missing.
2010-08-11 23:47:03 +00:00
Bill Currie
1c985bc925
bah, forgot these
2010-08-11 23:46:28 +00:00
Bill Currie
3499f5257f
add a test app and a workaround for the clicking in the resamled stream
...
the proper fix for the clicking is to either use SRC's callback resampler or
fix snd_mem.c to handle not getting the samples it expects, but I think the
callback will be better in the long run.
2010-08-11 23:45:56 +00:00
Bill Currie
0e3b395943
ok, non-resampled flacs now work beautifully
2010-08-11 23:45:32 +00:00
Bill Currie
7502cd9ec5
making slow progress on sound quality
...
streamed oggs playback cleaning when not resampling, but flacs are still crap
2010-08-11 23:45:09 +00:00
Bill Currie
65a748fc3c
floating point mixer now working
...
the resampler is being badly abused for streams, and it's not yet properly
autoconfiscated, but things are working. Better yet, at the correct pitch and
speed.
2010-08-11 23:44:34 +00:00
Bill Currie
2bb2d14b89
make "sample counts" frame based rather than mono sample based
...
that was always horribly confusing
2010-08-11 23:43:35 +00:00
Bill Currie
d0906f1453
conditionally build the sound format support files
...
Rather than using an ifdef around the entire code, get autoconf to do the work
for us. For one thing, this allows doxygen to produce decent docs. It also
makes for less compalation when building without support for various formats.
2010-08-11 23:42:42 +00:00
Bill Currie
c0a8c6c695
properly prefix all functions, static or not
...
makes doxygen produce better docs
2010-08-11 23:41:04 +00:00
Bill Currie
ac44950a69
sanitize the code by using defines for old flac libs
2010-08-11 23:40:35 +00:00
Bill Currie
46a067b2f6
Do proper error handling when loading sound files.
...
This fixes the segfault grg got when trying to play a 5.1 channel file.
2010-08-08 03:02:55 +00:00
Bill Currie
0bbb805b94
fix a case&paste error pointed out by grg
2010-08-08 01:58:17 +00:00
Bill Currie
0dfff8fd58
ignore stuff
2010-08-07 10:42:09 +00:00
Bill Currie
adee45d22b
add a comment about the valid range of samples
2010-08-06 01:58:12 +00:00
Bill Currie
98a0da742a
Prefill the sfx stream buffer to ensure the decoders have allocated any memory they might need. Problem found using jack_interposer ( http://repo.or.cz/w/jack_interposer.git ).
2010-08-06 00:41:42 +00:00
Bill Currie
dabb720fd1
be a little more honest (don't say "Playing" until we actually can)
2010-08-05 07:23:06 +00:00
Bill Currie
6e2a8f1e3d
Do not allow sounds to start when we have no connection to the jack server. This fixes the shutdown hang when the connection to the server is lost.
2010-08-05 07:20:50 +00:00