code logs -> 2007 -> Thu, 04 Jan 2007< code.20070103.log - code.20070105.log >
--- Log opened Thu Jan 04 00:00:25 2007
00:32 * McMartin adds multiple-oriented-bounding-box collision detection to the SVAF reference implementation
00:36 * McMartin also rewrites bits of Sable to use it.
00:36
< Reiver>
When you add this reference implementation, is this stuff that you're actually coding, or just telling everyone else how to code?
00:37
< McMartin>
Actually coding.
00:37
< Reiver>
Aha. OK.
00:37
< McMartin>
A reference implementation is the thing that you run to make sure your own implementation (if any) actually is doing the right thing.
00:37
< Reiver>
Ahhhh
00:37
< Reiver>
OK.
00:38
< McMartin>
In practice, most reference implementations are good enough to just use directly.
00:38
< McMartin>
But if someone were to write, say, a Direct3D renderer for it, the ref. impl would be what you'd compare it against.
00:39 * Reiver nod.
00:39
< Reiver>
I'm assuming it's thus importaint that the reference implementation is well-written and well documented?
00:39
< McMartin>
First, I have to actually write it~
00:39
< McMartin>
http://svaf.svn.sourceforge.net/viewvc/svaf/trunk/svaf/
00:40
< McMartin>
Though by now the only bit missing for use is the texture stuff, which I need to respecify.
00:40
< Reiver>
Right. But in general?
00:40
< McMartin>
It's more important that it be correct than anything else.
00:40
< McMartin>
The "documentation" is really the standard.
00:41 * McMartin has the file standard basically in shape, and once he finishes it and it works he'll document the C and Python APIs for actually Doing Stuff.
00:43 Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has joined #Code
00:56
< McMartin>
It would also be Kind Of Nice to have the Lightwave converter scripts actually work in general, instead of Just The Stuff AB Made.
01:25 * Reiver raises an eyebrow.
02:21 MyCatSchemes [~mycatownz@Nightstar-379.dsl.in-addr.zen.co.uk] has quit [Connection reset by peer]
02:22 MyCatSchemes [~mycatownz@Nightstar-379.dsl.in-addr.zen.co.uk] has joined #code
02:37
< ToxicFrog>
Aah, sweet lemony-fresh FUSE-flavoured goodness is mine at last.
02:37 * ToxicFrog bounces around
02:37
< Reiver>
?
02:41
< ToxicFrog>
Reiver: I now have the NTFS partition mounting via /etc/fstab using the ntfs-3g FUSE driver, and I have SMB mounting to ~/smb on login using the fusesmb driver.
02:43
< ToxicFrog>
The latter required /etc/profile.d/ wackiness.
02:43
< ToxicFrog>
(because fusesmb has permissions issues and I'm too lazy to fix it)
02:43
< Reiver>
Wow.
02:43
< Reiver>
Shiny!
02:45
< ToxicFrog>
if [[ -d "$HOME/smb" \
02:45
< ToxicFrog>
&& ! `mount | grep fusesmb | grep "on $HOME/smb"` \
02:45
< ToxicFrog>
&& ! `ls "$HOME/smb"` ]]; then
02:45
< ToxicFrog>
fusesmb "$HOME/smb"
02:45
< ToxicFrog>
fi
02:46
< ToxicFrog>
On login, mounts SMB on ~/smb if (1) ~/smb exists and is an empty directory and (2) ~/smb is not already mounted.
02:48
< ToxicFrog>
Actually.
02:48 * ToxicFrog revises line two to && ! `mount | grep "on $HOME/smb"` \ to avoid carnage if someone, say, mounts an empty non-smb filesystem on ~/smb
02:55 EvilDarkLord [althalas@Nightstar-15301.a88-115-211-62.elisa-laajakaista.fi] has quit [Ping Timeout]
03:06 EvilDarkLord [althalas@Nightstar-15301.a88-115-211-62.elisa-laajakaista.fi] has joined #code
03:13 Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has quit [Quit: Jouets de Dieu, jouets de jouets, les jouets de me, naĆ®tre Clair enfant voire.]
03:16 MyCatSchemes [~mycatownz@Nightstar-379.dsl.in-addr.zen.co.uk] has quit [Connection reset by peer]
03:17 MyCatSchemes [~mycatownz@Nightstar-379.dsl.in-addr.zen.co.uk] has joined #code
03:18 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
03:18 mode/#code [+o Chalcedon] by ChanServ
03:58 Chalcedon is now known as ChalcyOut
04:01 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
04:01 mode/#code [+o Chalcy] by ChanServ
04:02 ChalcyOut [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
04:35 Serah [~-@87.72.36.ns-26407] has quit [Ping Timeout]
04:37 MyCatSchemes [~mycatownz@Nightstar-379.dsl.in-addr.zen.co.uk] has quit [Connection reset by peer]
04:38 MyCatSchemes [~mycatownz@Nightstar-379.dsl.in-addr.zen.co.uk] has joined #code
04:42 Serah [~-@87.72.36.ns-26407] has joined #Code
04:50 AnnoDomini [~farkoff@Nightstar-29077.neoplus.adsl.tpnet.pl] has joined #Code
05:00 Serah [~-@87.72.36.ns-26407] has quit [Ping Timeout]
05:26 Serah [~-@87.72.36.ns-26407] has joined #Code
06:58 MyCatSchemes is now known as MyCatVerbs
07:12 [0]ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has joined #code
07:14 [0]ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has quit [Quit: Leaving]
07:17 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
08:49 You're now known as TheWatcher
12:03 Stephenie is now known as Stephenie|SleepZzzz
13:56 Reiver is now known as ReivZzz
15:57 AnnoDomini [~farkoff@Nightstar-29077.neoplus.adsl.tpnet.pl] has quit [Quit: Back promptly.]
15:59 AnnoDomini [~farkoff@Nightstar-29077.neoplus.adsl.tpnet.pl] has joined #Code
17:22 AnnoDomini [~farkoff@Nightstar-29077.neoplus.adsl.tpnet.pl] has quit [Connection reset by peer]
17:22 You're now known as TheWatcher[afk]
17:23 AnnoDomini [~farkoff@Nightstar-29667.neoplus.adsl.tpnet.pl] has joined #Code
17:58
< AnnoDomini>
What's the maximum length of the border of a square fit into a circle?
18:07
< ToxicFrog>
As in, what's the maximum width of a square that fits into a circle, expressed in terms of the radius of the circle?
18:07
< AnnoDomini>
Yes.
18:07
< ToxicFrog>
sqrt(2r^2)
18:08
< AnnoDomini>
Thank you!
18:08
< ToxicFrog>
Simply pythagorean theorem.
18:11
< ToxicFrog>
You could also figure it using a cartesian coordinate system and basic trig, but this is simpler.
18:22
< AnnoDomini>
Hmm. I've found another way to do what I wanted, since this was a circle.
18:23
< AnnoDomini>
Basically, this thing halves or doubles the radius of a circle, depending on where the user double-clicks (inside, or out).
18:24 * AnnoDomini hmms and gets about thinking of how the hell to generate a flat image of a cube mathematically. Or how exactly to draw straight lines with CDC.
18:27 Stephenie|SleepZzzz is now known as Stephenie
18:29 You're now known as TheWatcher
18:35 Stephenie is now known as Stephenie|shower
18:51 You're now known as TheWatcher[afk]
19:03 AnnoDomini [~farkoff@Nightstar-29667.neoplus.adsl.tpnet.pl] has quit [Connection reset by peer]
19:03 AnnoDomini [~farkoff@Nightstar-29667.neoplus.adsl.tpnet.pl] has joined #Code
19:06 You're now known as TheWatcher
19:19 EvilDarkLord [althalas@Nightstar-15301.a88-115-211-62.elisa-laajakaista.fi] has quit [Ping Timeout]
19:29 Stephenie|shower is now known as Stephenie
19:30 EvilDarkLord [althalas@Nightstar-15301.a88-115-211-62.elisa-laajakaista.fi] has joined #code
19:30 AnnoDomini [~farkoff@Nightstar-29667.neoplus.adsl.tpnet.pl] has quit [Connection reset by peer]
19:30 AnnoDomini [~farkoff@Nightstar-29667.neoplus.adsl.tpnet.pl] has joined #Code
19:43 MyCatVerbs [~mycatownz@Nightstar-379.dsl.in-addr.zen.co.uk] has quit [Connection reset by peer]
19:43 MyCatVerbs [~mycatownz@Nightstar-379.dsl.in-addr.zen.co.uk] has joined #code
19:48 MyCatVerbs [~mycatownz@Nightstar-379.dsl.in-addr.zen.co.uk] has quit [Connection reset by peer]
19:49 MyCatVerbs [~mycatownz@Nightstar-379.dsl.in-addr.zen.co.uk] has joined #code
20:44 Stephenie is now known as Stephenie|Away
21:12 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
21:12 mode/#code [+o Chalcedon] by ChanServ
21:23 Serah [~-@87.72.36.ns-26407] has quit [Connection reset by peer]
21:25 Serah [~-@87.72.36.ns-26407] has joined #Code
21:43 * ToxicFrog eyes C++
21:43
< ToxicFrog>
Ok. Does anyone here have varargs-fu?
21:43
< McMartin>
Some.
21:43
< jerith>
Not me. :-/
21:43
< ToxicFrog>
And, specifically, know why:
21:43
< ToxicFrog>
static int eel_get_argsv(int argc, struct eel_data_t *argv,
21:43
< ToxicFrog>
const char *fmt, va_list args)
21:43
< ToxicFrog>
{
21:43
< ToxicFrog>
/* ... */
21:43
< ToxicFrog>
va_list args_tipple_start;
21:44
< ToxicFrog>
args_tipple_start = args;
21:44
< ToxicFrog>
Is an "incompatible types in assignment" error?
21:44
< McMartin>
Because varargs are an abomination unto the LORD, mainly.
21:44
< McMartin>
Also, if I had to guess, because "va_list" is a macro of some sort in gcc's implementation of it.
21:45
< ToxicFrog>
(furthermore, [[args = args_tipple_start;]] is not)
21:45
< McMartin>
Hmm. That's more interesting, then.
21:45
< McMartin>
(UQM had an entertaining feat where depending on version of gcc, it was legal or illegal to cycle through the arglist twice.)
21:46
< ToxicFrog>
(for those following along at home, this is KoboDeluxe-0.4pre8:eel/e_getargs.c in eel_get_argsv())
21:46
< McMartin>
Try using the pre10 source instead?
21:46
< ToxicFrog>
The pre10 source fails to build on the first file.
21:47
< ToxicFrog>
The struct foo<anonymous> stuff I pasted yesterday.
21:47
< McMartin>
Ah.
21:47
< McMartin>
That's why ScummVM failed to compile, incidentally.
21:47
< ToxicFrog>
Which is why I'm trying pre8, which at least makes it through several files before falling over.
21:47
< McMartin>
Downgrade to gentoo's version of gcc~
21:47
< ToxicFrog>
Oh. Hey.
21:47
< ToxicFrog>
pre8 also fails in the same way as pre10, it just builds in a different order. ;.;
21:48
< ToxicFrog>
scenes.h:58: warning: non-local variable ?const _scene scene []? uses anonymous type
21:48
< ToxicFrog>
scenes.h:56: warning: ?typedef const struct<anonymous> _scene? does not refer to the unqualified type, so it is not used for linkage
21:48
< ToxicFrog>
gamestate.h:32: error: ISO C++ forbids declaration of ?gamestatemanager_t? with no type
21:48
< ToxicFrog>
gamestate.h:32: error: expected ?;? before ?*? token
21:48
< McMartin>
I'll have some time in the airport. I'll take a look at the code then.
21:48
< McMartin>
Templates changed semantics recently. =P
21:49
< ToxicFrog>
Motherfuck!
21:49
< McMartin>
But I think this is the same change that broke ScummVM. Failing that, this makes five times C++ has changed incompatibly underneath me. =P
21:49
< ToxicFrog>
scenes.h doesn't actually appear to be using templates, though.
21:50
< ToxicFrog>
It is, however, using C-style "typedef struct {} name" rather than C++-style "struct name {}" or "class name { public: }"
21:50
< McMartin>
... struct name {} is also C.
21:50
< McMartin>
As is typedef struct name {} real_name.
21:50
< ToxicFrog>
Yes, but IIRC it declares an instance, not a type.
21:51
< McMartin>
Well, yes.
21:51
< ToxicFrog>
Whereas "struct name {}" in C++ declares a type.
21:51
< ToxicFrog>
And thus more closely matches the semantics of "typedef struct {} name" in C.
21:51
< McMartin>
But after doing that once you can say "struct name" at will.
21:51
< ToxicFrog>
And get a new instance?
21:51
< McMartin>
struct name {} in C declares the type "struct name". Yeah.
21:51
< McMartin>
It's just that they need marking with struct.
21:51 * ToxicFrog tried that once, and it DFW, after which he returned to using typedef struct {} name, which did.
21:52
< McMartin>
Most of UQM is typedef struct _name {} name.
21:52
< ToxicFrog>
Hmm.
21:52
< McMartin>
Which uses struct _name * internally if it's a recursive type, since otherwise you can't declare recursive types.
21:52
< ToxicFrog>
Ok, the specific decoration causing it to barf:
21:52
< McMartin>
Since the typedef hasn't happened yet
21:52
< ToxicFrog>
typedef const struct { ... } _scene;
21:52
< ToxicFrog>
Remove the const and it builds fine.
21:53
< ToxicFrog>
(until it includes gamestate.h a few lines later, anyways)
21:53
< McMartin>
Hmm, yes.
21:54
< McMartin>
I think that should be typedef struct { ... } _internal_scene; typedef const _internal_scene _scene;
21:56
< ToxicFrog>
Yep, that solves it.
21:56
< ToxicFrog>
Now to fix gamestate.h...
21:56
< ToxicFrog>
The issue here is:
21:56
< ToxicFrog>
class gamestate_t {
21:56
< ToxicFrog>
friend class gamestatemanager_t;
21:56
< ToxicFrog>
private: gamestatemanager_t * manager;
21:56
< ToxicFrog>
gamestate.h:32: error: ISO C++ forbids declaration of ?gamestatemanager_t? with no type
21:56
< ToxicFrog>
gamestate.h:32: error: expected ?;? before ?*? token
21:57
< ToxicFrog>
And simply putting "class gamestatemanager_t;" in front solves it.
22:01
< ToxicFrog>
And of course make install doesn't work, so it can't create player profiles, and it won't let you play without one.
22:01
< ToxicFrog>
DEATH
22:02 You're now known as TheWatcher[T-2]
22:06 You're now known as TheWatcher[zZzZ]
22:35 AnnoDomini [~farkoff@Nightstar-29667.neoplus.adsl.tpnet.pl] has quit [Quit: No fighting in the War Room!]
22:47 ReivZzz is now known as Reiver
22:52 MyCatVerbs [~mycatownz@Nightstar-379.dsl.in-addr.zen.co.uk] has quit [Connection reset by peer]
22:54 MyCatVerbs [~mycatownz@Nightstar-379.dsl.in-addr.zen.co.uk] has joined #code
22:54 MyCatVerbs [~mycatownz@Nightstar-379.dsl.in-addr.zen.co.uk] has quit [Connection reset by peer]
22:59 MyCatVerbs [~mycatownz@Nightstar-379.dsl.in-addr.zen.co.uk] has joined #code
23:34 Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has joined #Code
23:45 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
23:47 Stephenie|Away is now known as Stephenie
--- Log closed Fri Jan 05 00:00:25 2007
code logs -> 2007 -> Thu, 04 Jan 2007< code.20070103.log - code.20070105.log >