Commit graph

8821 commits

Author SHA1 Message Date
Bill Currie
0ce32a793e Return the correct size for set_bsp*_write().
Need to subtract the size of the bsp_t/bsp29_t struct. Now old and new
qfbsp produce identical bsps (so long as they're both unoptimized, or
(probably) both optimized).
2012-09-07 20:42:04 +09:00
Bill Currie
2d30cddc66 Implement bsp2/bsp29 writing.
It's ugly, inefficient, and untested, but it should work.
2012-09-07 18:27:20 +09:00
Bill Currie
3df85a6abe Fix reading bsp29 files. 2012-09-07 17:37:46 +09:00
Bill Currie
a37c5465e1 First step for BSP2 support. DOES NOT WORK!
All of the nastiness is hidden in bspfile.c (including the old bsp29
specific data types). However, the conversions between bsp29 and bsp2 are
implemented but not yet hooked up properly. This commit just gets the data
structures in place and the obvious changes necessary to the rest of the
engine to get it to compile, plus a few obvious "make it work" changes.
2012-09-07 16:09:24 +09:00
Bill Currie
69fb78278f Remove the redundant endian conversions from bsp loading.
It's obvious that it's been a very long time since anybody's tried playing
QF on a big-endian machine: double converting data isn't good :/
2012-09-07 15:45:59 +09:00
Bill Currie
6ba6959205 Allow any NxN or 2NxN sky texture for glsl.
Maps that specify a skybox often use a fake sky texture, sometimes 16x16.
Having a hardcoded requiredment of 256x128 is a tad inappropriate.
2012-09-05 14:02:44 +09:00
Bill Currie
d6a1daaf30 Force a refdef update when nearclip or farclip change. 2012-08-29 09:55:17 +09:00
Bill Currie
abc81cee85 Avoid building unneeded libs.
Having better dependency info in build_control.m4 would be nice, but this
works well enough for now.
2012-08-20 14:12:20 +09:00
Bill Currie
365f20bb95 Make the ps3 cross-build self-contained.
More or less.

This is a bit of an experiment (which seems to work nicely) in that qfcc
and pak are build natively in one build tree, then the full system is
cross-built in another tree using the natively build qfcc and pak. Both
trees are created by cross-configure.sh as sub-directories of the current
directory. However, cross-configure.sh still assumes it is being run in a
subdirectory of the main quakeforge directory.

cross-make.sh checks if the native tree is in the current directory and if
so, builds it, otherwise it just runs make for the cross-build tree (this
allows for running cross-make in a sub-directory for things like sorting
out build issues).
2012-08-20 10:56:09 +09:00
Bill Currie
0976ff8582 Nuke mentions of HOST_CC.
CC_FOR_BUILD is the recommended name these days (HOST_CC was from an old
gcc version, and is confusing anyway). Also, CC_FOR_BUILD should be set by
configure.
2012-08-20 10:51:46 +09:00
Bill Currie
54b4d589aa Split up mathlib.h into several smaller headers.
This should make maintaining them a little easier.

The copyright block in most of the new headers (execpt vector.h) reflect
when the functions in the relevant header were first created.
2012-08-19 17:39:09 +09:00
Bill Currie
a2f2d4d949 "Check" for the availability of pthreads.
Unfortunately, just because the header is there doesn't mean anything will
actually work :(. Also, the check is based on the host vendor/os for now.
Yes, it's rather lame but it will do for now.

With this, QF will build on an almost fresh ps3toolchain install. Only two
"fixes" are needed:
 o  In $PS3DEV/ppu/powerpc64-ps3-elf: ln -s ../include sys-include
 o  libsamplerate cross-built and installed.
2012-08-19 13:40:42 +09:00
Bill Currie
9bfcdad35a Fix some type-size safety issues.
Expecting int to be 32 bits is a little dangerous, and the function
versions of swap/noswap should be unsigned rather than signed.
2012-08-19 13:37:06 +09:00
Bill Currie
358ea4ef9a Fall back to execve/wait when execvp and waitpid are unavailable. 2012-08-19 13:18:38 +09:00
Bill Currie
ceea60059a Sort the checked functions. 2012-08-19 13:07:18 +09:00
Bill Currie
0bd613b73d Disable vorbisfile's static callbacks.
Since we use callbacks anyway, they're not needed, and this fixes the
warnings/errors when using ps3toolchain.
2012-08-19 08:05:50 +09:00
Bill Currie
5684347088 Some fixes for mingw cross-builds.
The fixes came to light while getting ps3toolchain cross-building working.
2012-08-18 22:12:02 +09:00
Bill Currie
bf41851bd9 Check for ioctl availability.
This gets networking compiling. Now the build gets all the way to qfcc,
where it dies with waidpid/execvp errors :P
2012-08-18 22:02:02 +09:00
Bill Currie
60596038d2 Half-disable pthread for ps3toolchain.
I can't find anything for pthread other that pthread.h, but this lets nq
and qw stuff build (minus the pending networking issues).
2012-08-18 21:51:04 +09:00
Bill Currie
575693e4a0 A bunch of networking compile fixes.
This isn't everything needed to get networking compiling, but it's pretty
close.
2012-08-18 21:49:30 +09:00
Bill Currie
78f7604efc Evil hack to handle duplicated sdl key syms. 2012-08-18 21:44:51 +09:00
Bill Currie
68feab89f9 Avoid PATH_MAX.
Not available in ps3toolchain, and this avoids a stack buffer :)
2012-08-18 21:44:02 +09:00
Bill Currie
9250eb83bf Yet more char index issues.
Should be getting near the end of these as qfcc tries to link in my hacked
up tree :)
2012-08-18 21:42:49 +09:00
Bill Currie
7f805c2527 Use pkg-config for zlib.
Helps cope with zlib being in weird places (eg, ps3toolchain)
2012-08-18 21:41:33 +09:00
Bill Currie
3b047a3cc1 Check for getuid and cope when it's not there.
The ps3toolchain doesn't have getuid or getpwent. Nor does it have
timeGetTime, so use Sys_DoubleTime instead.
2012-08-18 21:37:54 +09:00
Bill Currie
6200d35109 Don't include SDL_byteorder.h
We don't need it and it's not always available.
2012-08-18 21:35:24 +09:00
Bill Currie
cd1e3e5b6f Cross configure/make scripts for ps3toolchain based builds. 2012-08-18 21:33:58 +09:00
Bill Currie
6f484ee757 Add support and tests for 3x3 matrices. 2012-08-18 16:29:57 +09:00
Bill Currie
cc35209f86 Yet more char index issues :P 2012-08-18 12:20:08 +09:00
Bill Currie
ee27c49e70 Separate the checks for building dirent.c and fnmatch.c.
ps3's libc has opendir and friends, but not fnmatch.
2012-08-18 12:12:45 +09:00
Bill Currie
5613b272da Whee, another char index issue. 2012-08-18 11:50:35 +09:00
Bill Currie
d074f4a983 Hack in a fake version of "access".
It seems access is unimplemented in the ps3 toolchain.
2012-08-18 11:45:26 +09:00
Bill Currie
836215357a Use the correct type for alloca's size parameter.
Well, hopefully: it at least agrees with gcc's builtin version.
2012-08-18 11:20:48 +09:00
Bill Currie
62face768f Fix some char index issues. 2012-08-18 11:02:52 +09:00
Bill Currie
7928274b6e Test for and include sys/select.h. 2012-08-18 10:57:42 +09:00
Bill Currie
6e1f043719 Clean up some unused or local functions. 2012-08-18 09:36:43 +09:00
Bill Currie
ae81b79390 Remove a long dead field. 2012-08-18 09:36:43 +09:00
Bill Currie
a1a2060583 Yet another ps3 plugin fix.
Returning an uninitialized pointer... ouch. Hopefully the last one.
2012-08-17 10:24:41 +09:00
Bill Currie
cbaad33638 Fix a couple more ps3 plugin related warnings.
Whee :P
2012-08-17 10:20:35 +09:00
Bill Currie
41876e8c37 Some compile fixes for when dlopen is not available.
It seems the ps3 gameos build env is... not what we've come to take for
granted.
2012-08-17 09:18:00 +09:00
Bill Currie
af0db29981 Add support for meshes with multiple UV maps.
One common use for a mesh having multiple UV maps is when combining several
mesh objects into one: the base UV map is the result of joining the meshes
(and will be a right mess of overlapping UV islands), but an additional UV
map is then setup as a copy of the first but with the islands re-packed so
nothing overlaps. The export script now searches for the active UV map and
uses that for both UV coordinates and the skin texture (when none is
specified).
2012-08-12 13:38:12 +09:00
Bill Currie
5b054dd98b Add "slow grav" for smoke.
Removes one more set of hard codings from particle types.
2012-08-12 11:42:18 +09:00
Bill Currie
f8f01fc9fb Change glx to x11 in the examples. 2012-08-12 09:20:20 +09:00
Bill Currie
5a5b31bae4 Correct the direction of pt_fire particles.
sub_grav() was accelerating the particle in the wrong direction. Down being
+ve gravity caused a bit of confusion (though it was a c&p error).
2012-08-10 13:56:01 +09:00
Bill Currie
31dead3dcd Fix 16-bit mdl loading for glsl.
The extra precision verts are offset by numverts, not numposes :P
2012-08-07 17:06:01 +09:00
Bill Currie
971e689d3d Fix a slew of whitespace issues. 2012-08-07 13:25:44 +09:00
Bill Currie
a3c8209bdf Handle missing frame information a little more usefully.
If there's no export script, or the export script has no frame information,
animation data will be collected by running through blender frames 1 to the
current frame (inclusive). Each frame will be exported as a single frame
rather than as members of a frame group.
2012-08-07 13:23:19 +09:00
Bill Currie
39b2e80207 Optionally apply the object's transform to the mesh.
The default is to apply.
2012-08-07 11:49:08 +09:00
Bill Currie
634b3b043d Export non-triangular faces as triangle clusters.
It turns out this behavior is preferable (by at least one artist, anyway).
2012-08-07 10:49:32 +09:00
Bill Currie
a4da11cdb5 Correctly handle multiple vertices sharing a UV coordinate.
Need to use both UV coordinate and vertex index to find unique
combinations. This should fix leileilol's broken meshes.
2012-08-07 10:26:35 +09:00