Commit graph

6464 commits

Author SHA1 Message Date
Bill Currie
d6ceaef7d2 Whee, 64bit cpus and sizeof. 2010-11-24 20:42:07 +09:00
Bill Currie
7ce1fc3be5 Break out all the classes into their own files. 2010-11-24 17:01:19 +09:00
Bill Currie
2b3ba0633e Break out the menu plist parser into its own file. 2010-11-24 17:01:19 +09:00
Bill Currie
e471ddff47 Use the new file based property list API.
Also eleminate the menu_plist global (the plist does not hang around).
2010-11-24 17:01:19 +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
857f8eb6e4 Get the plist controls menu mostly working.
The bindings menu is currently inaccessible.
2010-11-24 17:01:19 +09:00
Bill Currie
9c3c1b9ac1 Use @param instead of id to pass objects within the menu parser.
This allows mixed types (eg, objects and Rects). To be passed around. This
sorts out the changes needed for the conversion of Rect from object to
struct.
2010-11-24 17:01:19 +09:00
Bill Currie
730082a393 Make Group set its position (and those of its subviews) correctly. 2010-11-24 17:01:19 +09:00
Bill Currie
e9fea12e47 Must return self in -autorelease 2010-11-24 17:01:19 +09:00
Bill Currie
023d3c89ec Source formatting. 2010-11-24 17:01:18 +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
7acf8c0570 Must retain before release. 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
9a3f4d5a01 Handle method parameters that use incomplete types.
Compare the method's type pointers rather than the type strings as the pointer
won't change with the struct is completed.
2010-11-24 17:01:18 +09:00
Bill Currie
e28ee0378f Gracefully handle returning NIL though a bad type. 2010-11-24 17:01:18 +09:00
Bill Currie
c460e3c979 Fix setBasePos to get the pos from a view.
This fixes Group for the Point/Size/Rect change.
2010-11-24 17:01:18 +09:00
Bill Currie
67beaf4487 Nil is a constant, so allow it in global initializers. 2010-11-24 17:01:18 +09:00
Bill Currie
b0879ba255 Convert Point, Size and Rect to structs.
Group and the menu plist parser are currently broken.
2010-11-24 17:01:17 +09:00
Bill Currie
799d46f83d Check for incomplete types and better param/return size checking. 2010-11-24 17:01:17 +09:00
Bill Currie
a623fb53a7 Proper support for empty structs and unions.
They now have a single private, void, unnamed member, resulting in a size of
1 word. This makes empty structs useful for typed opaque handles.
2010-11-24 17:01:17 +09:00
Bill Currie
e5e560cbaf Ensure struct params are small enough to fit in the param slots. 2010-11-24 17:01:17 +09:00
Bill Currie
624a1630f3 Make bootstrap clean a little smarter.
It doesn't delete config.h[.in] or Makefile in the directories in which
they are not generated.
2010-11-24 15:47:33 +09:00
Bill Currie
d0370f7cf5 zixthree's Microsoft Visual C++ 2005 Express Support
+ Support for VC++ 2005 Express.
- MFC dependency for quakeforge.rc.
+ VC++ 2005 compatible icon, choose Vista or XP icon depending on SDK target OS.
! Renamed E_POINTER macro to E_PTR (was in conflict with Windows macro).
! Fixed HAVE_SNPRINTF and HAVE__SNPRINTF macros.
! Fixed HAVE_VSNPRINTF and HAVE__VSNPRINTF config macros.
+ Added explicit dependency to gdi32.lib and user32.lib when using Express.
! Changed -0x80000000 to INT_MIN
! Added return value when running *_Error for Visual C++ compiler.
! Function method_free wasn't freeing _meth parameter.
+ Added a Visual Studio solution specific to Express to remedy unsupported features.
! Renamed solution files to reflect their associated Visual Studio flavor.
! Updated vc2005/readme.txt to reflect changes and notify incompatibility with Wave preprocessor.
2010-11-21 15:29:57 +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
9b5277fca9 Merge branch 'master' of git://git.quakeforge.net/gitroot/quake/quakeforge 2010-11-21 09:57:59 +09:00
Bill Currie
49ea878ad9 Slightly more informative progress.
Display per-thread current portal number. Will get messy if there are more threads than the screen width can handle.
2010-11-21 09:56:31 +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
3b26777985 Get qf debian stable compatible again.
Had to backtrack on the libtool version, (and the init line), but I might be
able to make it a little nicer later.
2010-11-16 00:59:58 +09:00
Bill Currie
f8f54fa910 Update the build dependencies. 2010-11-16 00:59:52 +09:00
Bill Currie
82687d19db Update for git (vs cvs?!?) 2010-11-16 00:59:40 +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
2ef291bf46 Make mdl.py work on 64 bit machines. 2010-10-18 17:53:04 +09:00
Bill Currie
0c4b2f9e19 Add the default extension when no output file is specified. 2010-10-16 22:09:18 +09:00