code logs -> 2009 -> Wed, 18 Feb 2009< code.20090217.log - code.20090219.log >
--- Log opened Wed Feb 18 00:00:19 2009
00:32 * Derakon starts uploading beta5.
00:33
<@Derakon>
http://www.aegis-soft.com/games/fusillade/download/fusillade-beta5-osx.tgz
00:42 You're now known as TheWatcher[t-2]
00:47 You're now known as TheWatcher[zZzZ]
00:51
<@Derakon>
http://www.aegis-soft.com/games/fusillade/download/fusillade-beta5-win.zip
00:52
<@Derakon>
See http://www.aegis-soft.com/forum/viewtopic.php?f=3&t=2 for change details.
00:52 * TheWatcher[zZzZ] starts that dowloading so he can try it tomorrow
00:52
<@Derakon>
Not bad for a four-day turnaround time, if I do say so myself.
01:00 gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has quit [Quit: Z?]
01:30
< simontwo>
what's up with the emo server notices?
02:20 * Derakon eyes his code.
02:20
<@Derakon>
I'm working on setting up the codebase for Selene, by copying wholesale from the codebase for Fusillade (codename: BulletML).
02:21
<@Derakon>
In Fusillade, I had a main script bulletml.py, which among other things acted as a global access point for various managers (e.g. for accessing config values, getting the Pygame screen surface, etc.). I set these up by doing "bulletml.foo = bar" in initialization.
02:22
<@Derakon>
When I try to do "selene.foo = bar" in selene.py, I get the error "global name 'selene' is not defined"
02:22
<@McMartin>
Is . in your PYTHONPATH?
02:23
<@Derakon>
I thought that simply having a file named "foo.py" would create, in that file, the object "foo" as the module?
02:23
<@Derakon>
I'm using the same Python for both of them.
02:23
<@McMartin>
Also, is there a module-local named "selene"?
02:23
<@McMartin>
Becuase then it would be assigning to selene.selene.foo, not selene.foo
02:23
<@Derakon>
Define "module local"?
02:24
<@Derakon>
Local variable in the module?
02:24
<@McMartin>
Like, is there a variable named "selene" inside selene.py
02:24
<@Derakon>
No.
02:24
<@Derakon>
Just like there isn't in bulletml.py.
02:24
<@Derakon>
As a simple repro, I made foo.py, which has one line: "foo.bar = 1". That fails in the same manner.
02:25
<@Derakon>
I remember having some issues with this when I did the original BulletML refactor.
02:25
<@Derakon>
I just wish I could remember how I fixed it...
02:27
<@Derakon>
Wouldn't having a module local named "selene" break access, not assignment?
02:44 Tarinaky [~Tarinaky@88.83.110.ns-10776] has quit [Quit: Leaving]
02:45 Tarinaky [~Tarinaky@88.83.110.ns-10776] has joined #code
02:47
<@Derakon>
Ah hah. Figured it out.
02:48
<@Derakon>
The code that assigns to selene was being run before the selene module was finished loading.
02:48
<@Derakon>
Slapping "import selene" at the top of selene.py fixes this, but augh. ;.;
03:28
< Serah>
??
03:29
< Serah>
Why is it called Selene?
03:29
<@Derakon>
Because the game it's based on is called Lunatic Fringe.
03:30
<@Derakon>
Selene is the project name.
03:36 Serah [~Z@130.227.16.ns-12529] has quit [Quit: ]
03:47 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has quit [Ping Timeout]
03:49 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has joined #code
03:49 mode/#code [+o ToxicFrog] by ChanServ
03:53 Alek [~omegaboot@Nightstar-27127.dsl.emhril.sbcglobal.net] has quit [Quit: ]
03:56 Alek [~omegaboot@Nightstar-27127.dsl.emhril.sbcglobal.net] has joined #code
04:10 * McMartin trades vicious strikes with C++
04:10 Searh [~Z@87.72.35.ns-26506] has joined #code
04:12
<@McMartin>
Some destructor is being called twice for some reason. >_<
04:17
<@Derakon>
Yay automatic garbage collection.
04:18
<@McMartin>
THis is in the collector's implementation, for added fun.
04:18
<@McMartin>
AUTOMATIC MYSTERIOUS USE AFTER FREE
04:26
<@McMartin>
OK, that's probably a bug in MSVC++.
04:26
<@McMartin>
It better be.
04:27
<@McMartin>
But I can't be sure, because it would be just like C++ to have incorrect behavior be mandated by one of its constructs. =P
04:27
<@Derakon>
Heh.
04:27
<@McMartin>
(This being the foo::foo() try : bar(x), baz(y) { ... } construct)
04:31 * Vornicus wonders why C++ is so fucked up about a lot of things.
04:31
<@Derakon>
Because it's an extension on a nearly forty-year-old language.
04:32
<@McMartin>
No, because said nearly-forty-year-old language is still going strong.
04:33
<@McMartin>
It's fucked up because by the time it got standardized, large numbers of powerful business interests relied on all compilers being bug-compatible with Stroustrup's half-assed preprocessor-based thing he'd whipped up in his spare time at AT&T.
04:33
<@McMartin>
That said, this is probably a bug in MSVC, since the observed behavior would also break the standard library.
04:47
<@Derakon>
McM -- do you remember offhand where APPDATA is?
04:47
<@Derakon>
I need to find and excise my config files on Windows. >.
04:47
<@Derakon>
>.<
04:53
<@Derakon>
Ahh, found 'em. C:/Users/Username/AppData/Roaming.
05:15 Searh is now known as Serah
05:44
<@McMartin>
Yeah, that's not where it is on XP. =P
06:02 Syloqs-AFH [Syloq@ServicesAdmin.Nightstar.Net] has quit [Connection reset by peer]
07:19 Derakon is now known as Derakon[AFK]
07:30 UndeadAnno [~farkoff@Nightstar-192.neoplus.adsl.tpnet.pl] has joined #Code
07:30 mode/#code [+o UndeadAnno] by ChanServ
09:08 Vornicus [~vorn@Admin.Nightstar.Net] has quit [Quit: ]
09:19 You're now known as TheWatcher
09:53 Serah [~Z@87.72.35.ns-26506] has quit [Ping Timeout]
10:47 KarmaBot [AnnoDomini@Nightstar-192.neoplus.adsl.tpnet.pl] has quit [Connection reset by peer]
10:47 KBot [AnnoDomini@Nightstar-192.neoplus.adsl.tpnet.pl] has joined #Code
10:49 Rhamphoryncus [~rhamph@Nightstar-7184.ed.shawcable.net] has quit [Quit: Rhamphoryncus]
10:50 KBot is now known as KarmaBot
11:30 NSGuest-471 is now known as EvilDarkLord
11:51 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code
11:51 mode/#code [+o Attilla] by ChanServ
11:59 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Connection reset by peer]
12:11 Serah [~Z@87.72.35.ns-26506] has joined #code
12:11 mode/#code [+o Serah] by ChanServ
12:29 Tarinaky [~Tarinaky@88.83.110.ns-10776] has quit [Ping Timeout]
12:37 Tarinaky [~Tarinaky@88.83.110.ns-10776] has joined #code
13:45 gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code
13:45 mode/#code [+o gnolam] by ChanServ
14:27 Serah [~Z@87.72.35.ns-26506] has quit [Ping Timeout]
15:00 Serah [~Z@130.227.16.ns-12529] has joined #code
15:00 mode/#code [+o Serah] by ChanServ
15:09 KBot [AnnoDomini@Nightstar-29579.neoplus.adsl.tpnet.pl] has joined #Code
15:10 KarmaBot [AnnoDomini@Nightstar-192.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
15:11 UndeadAnno [~farkoff@Nightstar-192.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
15:12 KBot is now known as KarmaBot
15:18 UndeadAnno [~farkoff@Nightstar-29579.neoplus.adsl.tpnet.pl] has joined #Code
15:18 mode/#code [+o UndeadAnno] by ChanServ
15:34 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has quit [Operation timed out]
15:34 Serah [~Z@130.227.16.ns-12529] has quit [Ping Timeout]
15:51 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has joined #code
15:51 mode/#code [+o ToxicFrog] by ChanServ
16:03 Syloqs_AFH [Syloq@Admin.Nightstar.Net] has joined #code
16:04 Syloqs_AFH is now known as Syloqs-AFH
16:18 * gnolam curses the lack of a decent open source graphics editor.
16:19
<@UndeadAnno>
Why does it need to be open source?
16:21
<@TheWatcher>
What's wrong with gimp, anyway? I've 2.6.4 and photoshop on here, and the only time I use photoshop is when I need to use my tablet
16:21 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has quit [Operation timed out]
16:22
<@TheWatcher>
(or when I need one of photoshop's features that maybe 2% of people ever go near)
16:23
<@gnolam>
It doesn't actually /need/ to be open source, but that's about the only way you can be sure to get it working in Linux.
16:23
<@gnolam>
As for what's wrong with GIMP... well... I don't even know where to begin.
16:23
<@gnolam>
No, wait, I know: the absolutely godawful UI.
16:24
<@gnolam>
The lack of basic drawing functionality.
16:24
<@gnolam>
The instability.
16:24
<@TheWatcher>
hah, photoshop crashes more than gimp, y'know?
16:25
<@gnolam>
Not for me.
16:25
<@TheWatcher>
and once you get past the whole "no single root window" thing, gimp's UI isn't really that drastically different
16:26 * TheWatcher shrug
16:38 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has joined #code
16:38 mode/#code [+o ToxicFrog] by ChanServ
17:12 You're now known as TheWatcher[afk]
18:24 You're now known as TheWatcher
18:37
<@McMartin>
TheWatcher: The fact that the devs and support communities treated the critique "YOU DO NOT HAVE A MOTHERFUCKING LINE TOOL" with derision and contempt, because otherwise-undocumented hotkeys let you have the same result.
18:38
<@gnolam>
And not actually the same result, unless it's changed since the last time I threw my hands up in disgust and uninstalled the bloody thing.
18:39
<@gnolam>
Because then it was "click somewhere, hold shift (?) and click somewhere else", which works if and only if you're not using transparency in any way.
18:39
<@McMartin>
Well, shift was involved, becuase they did a howto for lines.
18:40
<@gnolam>
("Transparency in any way" includes antialiasing BTW)
18:40
<@McMartin>
It was 15 pages long, all of it pointing out where Shift keys are.
18:40
<@McMartin>
Since, you know, it is deeply unreasonable to expect that there might be specialized tools for drawing graphics primitives, particularly when there are for the other primitives!
18:42
<@McMartin>
(And particularly when every piece of software you're trying to make an OSS version of has such a tool)
18:42 Derakon[AFK] is now known as Derakon
18:43
<@Derakon>
I get the impression that the GIMP is what you get when a bunch of OSS junkies decide to make a tool for making art, when none of them are themselves artists and in fact they don't want anything to do with artists.
18:45
<@TheWatcher>
Derakon: alas, suck is my experience of pretty much every art package since TVPaint 3.6
18:45
<@TheWatcher>
*such
18:45
<@TheWatcher>
(with the notable exception of Aura, which... yeah, you don't want to know how much that costs)
18:45 * gnolam hugs Deluxe Paint 3.
18:45
<@TheWatcher>
Hee
18:46
<@TheWatcher>
I still have DP3, 4, and TVPaint installed in a UAE setup :D
18:55 Bobsentme [~Bobsentme@Nightstar-14642.lightspeed.livnmi.sbcglobal.net] has joined #code
18:55 * Bobsentme sighs and asks for help with an awk line
18:55
< Bobsentme>
I've got a data file called "cars". I'm trying to print it out in a different format (ie, $3, $1, $2, $4).
18:56
< Bobsentme>
I can get it to print, but I'm trying to figure out how to preserve the tab spacing, instead of it all coming out jumbled together
18:56
< Bobsentme>
This is what I've got so far: awk '{print ($3\$1\$2\$4)}' 'cars'
18:56
< Bobsentme>
err...that's the incorrect one.
18:57
< Bobsentme>
replace the \'s with ,'s and you've got the line.
19:01
< Bobsentme>
awk '{print ($3, $1, $2, $4)}' 'cars'
19:04
<@Derakon>
What happens if you tell awk to print "\t"?
19:05
<@Derakon>
Seems to do what you'd want.
19:05
<@Derakon>
So do awk '{print ($3, "\t", $1, "\t", etc.
19:06
< Bobsentme>
that worked...though I thought I had tried every invocation of \t.
19:06
< Bobsentme>
ty
19:06
<@Derakon>
The important thing is the difference between '\t' and "\t".
19:06
<@Derakon>
Things in single quotes are string literals.
19:06
<@Derakon>
Things in double quotes may have their contents interpreted.
19:08
< Bobsentme>
ah
19:11
<@Derakon>
...heh. I just thought of an amusing way to tweak the difficulty of Selene.
19:11
<@Derakon>
Change the universe size!
19:11
<@Derakon>
Tiny universes would be annoyingly difficult, I suspect.
19:11
< Bobsentme>
ye gods!
19:11
< Bobsentme>
feeling evil today, I see?
19:12
<@Derakon>
(Selene being a 2D freerange scrolling shmup I'm working on)
19:20
< Bobsentme>
awk '{ total=$4+$3; print ($1"\t" $2"\t" $3"\t" $4 "\t" $total) }' 'cars'
19:22
< Bobsentme>
that line isn't printing my total of $3 and $4. Any ideas?
19:22
<@Derakon>
Don't you need commas between terms?
19:23
< Bobsentme>
no idea. This awk stuff is all new to me, and the web isn't clear on these things.
19:33
< Bobsentme>
heh, well, got the total to print. Now none of the other fields are.
19:41 Rhamphoryncus [~rhamph@Nightstar-7184.ed.shawcable.net] has joined #code
19:44
< Bobsentme>
awk '{($total=$3+$4); print ($3, $1, $2, $4, $total)}' 'cars' ARGH!
19:45
< Bobsentme>
All that does is print the totals
19:46
<@TheWatcher>
hm, try awk '{($total=$3+$4); print $3, $1, $2, $4, $total}' 'cars' ?
19:47
<@Derakon>
You don't want "$total".
19:47
<@Derakon>
You want "total".
19:47
<@Derakon>
awk '{t = $3 + $4; print $3,$1,$2,$4,t}' < /tmp/u.txt
19:48
<@Derakon>
Just because the numbered variables have dollarsigns doesn't mean other variables should. Fun!
19:48
< Bobsentme>
Derakon wins.
19:49 * Bobsentme hands you all of his internets
19:49
<@Derakon>
Thanks, but they don't match my decor.
19:49
< Bobsentme>
So, I'm not the only one who is confused by whatever logic awk uses?
19:49 * TheWatcher eyes
19:49
<@TheWatcher>
oh, yeah. That's why I just use perl >.>
19:49
<@Derakon>
Heh.
19:49
< Bobsentme>
heh
19:50
<@Derakon>
It wasn't until I reduced "total" to "t" that I remembered the glyph thing.
19:50
<@Derakon>
I used to use awk for running totals all the time to figure out e.g. order counts.
20:09 Derakon is now known as Derakon[AFK]
20:37 Derakon[AFK] is now known as Derakon
21:06 Bobsentme [~Bobsentme@Nightstar-14642.lightspeed.livnmi.sbcglobal.net] has quit [Quit: Leaving]
22:36 Serah [~Z@130.227.16.ns-12529] has joined #code
22:36 mode/#code [+o Serah] by ChanServ
23:03
<@Derakon>
Okay!
23:03
<@Derakon>
I now have a game field larger than the screen, which scrolls and loops properly as the camera moves.
23:03
<@Derakon>
Complete with starfield.
23:13
<@Derakon>
Hmm...EventManager class. You call it, providing a set of UI objects; it gets Pygame's events, maps those events to keyboard actions (e.g. player ship moving), and also does interaction with the UI objects.
23:14
<@Derakon>
So for example, if the up arrow is pressed and the user has clicked on the Quit button, calling EventManager::processEvents([quitButton]) would get you [PLAYER_ACTION_THRUST, GLOBAL_ACTION_QUIT], or something like that.
23:14
<@Derakon>
Sound plausible?
23:27 Derakon is now known as Derakon[AFK]
23:36 * gnolam slowly goes insane from Source.
23:37 * gnolam pulls a the bottle of scotch.
23:37
<@gnolam>
It might not actually help me design this thing, but it'll make the actual process so much nicer.
23:40
<@UndeadAnno>
The blood alcohol content versus programming efficiency is a gauss curve. :P
23:41
<@UndeadAnno>
+chart
23:52
<@gnolam>
Mmm, single malt.
23:52 Derakon[AFK] is now known as Derakon
--- Log closed Thu Feb 19 00:00:30 2009
code logs -> 2009 -> Wed, 18 Feb 2009< code.20090217.log - code.20090219.log >