#pentagram@irc.freenode.net logs for 5 May 2003 (GMT)

Archive Today Yesterday Tomorrow
Pentagram homepage


[00:08:02] --> sbx has joined #pentagram
[00:16:05] <-- Dark-Star has left IRC ("ZZZzzz")
[00:40:49] --> Kirben has joined #pentagram
[00:40:49] --- ChanServ gives channel operator status to Kirben
[01:35:06] --> SB-X has joined #pentagram
[01:47:20] <-- sbx has left IRC (Read error: 104 (Connection reset by peer))
[01:50:44] <-- Kirben has left IRC ("System Meltdown")
[02:32:47] --> Kirben has joined #pentagram
[02:32:47] --- ChanServ gives channel operator status to Kirben
[03:08:52] <-- Kirben has left IRC ("System Meltdown")
[03:37:37] --> CashZzz has joined #pentagram
[03:37:49] <CashZzz> hey sbx
[03:38:21] <CashZzz> what up!! everyones sure been excited lately with the sudden cvs updates!
[03:39:24] <CashZzz> you seen the screenys sbx?
[03:39:27] --- CashZzz is now known as Cashman
[03:59:02] <Cashman> sbx are you asleep!
[04:00:14] <Cashman> hmmm when colourless comes online he better think about adding a link to pentagram screeny's on his website!!
[04:00:24] <Cashman> instead of the random link being addressed on irc
[04:06:18] <Cashman> *Cash* updates his copy of the cvs and starts hunting for things to change to that it compiles under dev c++ again!
[04:18:24] <SB-X> hi
[04:18:30] <SB-X> i saw the screenshot at the exult phorum
[04:28:41] <Cashman> nice aye!
[04:28:55] <Cashman> hehe I'm recompiling pentagram at the moment
[05:07:52] <Cashman> does anyone else have to make alterations to ucprocess.h or is it just me!! ok nothing serious - just header file path information contained in ucprocess!
[05:08:13] <Cashman> eg. ../kernel must be inserted!
[05:08:22] <Cashman> must be a dev c++ thing
[05:09:30] <SB-X> is this bloodshed dev c++ ?
[05:11:04] <Cashman> yeah
[05:11:25] <Cashman> I use to battle to get pentagram to compile but fine now
[05:11:29] <SB-X> is there a linux version of that?
[05:11:37] <Cashman> this time around I only had to alter 2 more paths
[05:11:56] <Cashman> no hmm I think there might be a unix based source! ummm
[05:12:15] <Cashman> I'll check
[05:14:33] <SB-X> its looks like on on the sf page
[05:14:44] <SB-X> unusable beta
[05:14:53] <Cashman> yeah its a sf project
[05:16:48] <Cashman> wow! pentagram.exe is now 1.1 megs under ms win
[05:17:22] <SB-X> what size is the msvc binary?
[05:17:42] <Cashman> I havnt tried compiling under msvc as I dont currently have it installed!
[05:17:55] <Cashman> but it doesnt take much so I've heard and it will be similar
[05:18:04] <SB-X> wow how did i manage a typo like that... "it looks like it on the sf page" i meant
[05:18:11] <Cashman> I mean you can tweak the compiler switches for optmization etc
[05:18:13] <SB-X> i see
[05:18:22] <SB-X> did you optimize?
[05:18:36] <Cashman> no I did standard
[05:19:05] <Cashman> you can compile small .exe's and optimize bla bla bla but Its safe with standard! I might experiment though
[05:19:23] <Cashman> I'm using release and not debug!
[05:19:35] <Cashman> although its different under dev compared to msvc
[05:20:29] <Cashman> now I wonder if I can use the same .cfg files
[05:21:07] <Cashman> oh hmm the object files are only 100 kb bigger than the final exe now!
[05:22:34] <SB-X> why are the object files bigger?
[05:24:00] <DarkeZzz> Linking removes stubs of inlined functions and uncalled functions, among other things.
[05:24:03] <Cashman> well the generally are! it depends - there is always some optimization in the final .exe
[05:24:35] <Cashman> I mean there's no point in containing the same info over and over again in the .exe - "info from the headers" when you can do with a cut down version
[05:24:42] <SB-X> DarkeZzz: are you talking in your sleep or answering me?
[05:24:53] <DarkeZzz> SB-X: Both. *Zzzzz...*
[05:25:30] <Cashman> yeah and what darke said! about unused crap
[05:25:51] <SB-X> makes sense
[05:25:58] <SB-X> i don't know anything about the object format
[05:26:06] <Cashman> *Cash* hides as he used the word crap!
[05:26:18] <SB-X> most of the programs i have lying around here have smaller object files
[05:26:31] <Cashman> neither do I really! but its machine code
[05:26:39] <SB-X> hmm
[05:26:48] <SB-X> are you talking about all the object files taken together?
[05:27:02] <SB-X> compared to the exe
[05:27:19] <Cashman> get a book or info on the net! they show a tree diagram of what happens! the code gets converted from the higher language into machine code
[05:27:37] <Cashman> and the the mc .obj files get linked with the linker plus and other libs etc. into a final .exe
[05:27:37] <SB-X> i think i was confused for a moment
[05:27:42] <Cashman> thats to put it simply!
[05:28:02] <Cashman> remembering that this isn't old basic interpreted stuff I'm talking about!
[05:28:09] <SB-X> your saying all of pentagram's object filesizes added together is 100kb bigger than the exe?
[05:28:23] <Cashman> for those who once started out on gwbasic qbasic 1.1 etc like me!
[05:28:31] <SB-X> take a breath
[05:28:32] <SB-X> hehe
[05:28:37] <Cashman> yeah 1.2 mb
[05:28:44] <SB-X> oooh!
[05:28:46] <SB-X> sorry
[05:28:46] <Cashman> and bin = 1.1 mb
[05:28:48] <SB-X> damn
[05:28:59] <SB-X> i read what you said as each object file is 100kb bigger!
[05:29:03] <SB-X> how stupid am i
[05:29:15] <SB-X> but i knew i probably got confused about that
[05:29:27] <SB-X> ... i must be tired right now
[05:29:30] <Cashman> hehe thats ok
[05:29:57] <Cashman> ok
[05:30:31] <Cashman> tot=100kb bigger yeah and there is plenty of info on the net! even an old turbo c compiled/linker uses the same principles
[05:30:58] <Cashman> hehe compiled dah! compiler
[05:31:19] <SB-X> i know
[05:31:47] <SB-X> total size of objects is bigger, that is normal to me, but not each file being bigger than the exe :)
[05:32:32] <Cashman> sorry am I confusing you!
[05:32:43] <Cashman> the total size of the obj dir is bigger!
[05:33:16] <Cashman> not each file size
[05:33:34] <Cashman> I was just saying how the gap's been closed! its closer now!
[05:33:44] <SB-X> whats the goal?
[05:33:59] <Cashman> the .exe and obj used to be very diff in size! no goal! I was just babbling hehe
[05:34:46] <Cashman> I think from all the talk on irc fps is a goal - optimization although we have plenty of fps on all the peoples machines that have tested it so far
[05:35:04] <Cashman> have you compiled and tested it?
[05:35:08] <SB-X> no
[05:35:39] <Cashman> ok
[05:35:42] <SB-X> my copy of pentagram dates back to 2002-11-04
[05:35:52] <SB-X> according to ChangeLog
[05:36:32] <SB-X> Darke was being pedantic then too
[05:36:41] <SB-X> according to ChangeLog
[05:37:54] <Cashman> hehe ok
[05:39:24] <Cashman> nice talking to ya sb-x
[05:39:37] <Cashman> tea time
[05:39:52] <SB-X> have fun
[05:41:41] <Cashman> hehe I will
[05:42:00] <Cashman> must get my ultima 8 cd out again and get those data files bacl
[05:42:19] --- Cashman is now known as CashAway
[05:42:19] <CashAway> cash teleports out on the 5x5 grid!
[05:42:44] <-- CashAway has left IRC ()
[05:49:49] --> Darke has joined #pentagram
[05:50:44] <-- Darke has left IRC (Client Quit)
[05:56:18] * SB-X nods.
[06:17:24] --> Darke has joined #pentagram
[06:17:56] <Darke> Hmm... xchat really doesn't seem to like 8bit displays for some reason. Randomly weird colours that you can't seem to directly change.
[06:18:33] <SB-X> is another application using the colormap?
[06:19:11] <Darke> Only blackbox. I'm messing around trying to see if I can get it to *not* dither the menus and everything random shades of blue. I'm guessing that's the problem. *grin*
[06:20:23] <SB-X> there is an image dithering option
[06:20:26] <SB-X> thats all i know about it
[06:24:13] <SB-X> it also says to set session.colorsPerChannel to 4
[06:24:44] <SB-X> (it == blackbox manual page)
[06:25:51] <Darke> Thanks. Any idea where to set that? Doesn't look like there's many config options in it's menus. *grin*
[06:26:03] * Darke suspects 'man blackbox' will help with that. *grin*
[06:26:20] <SB-X> ~/.blackboxrc
[06:26:29] <SB-X> you have to exit blackbox first to edit it
[06:26:35] <SB-X> thats going to be changed in future versions
[06:27:17] <Darke> Hmm... looks like it was autoset.
[06:28:00] * Darke will restart the wm to make sure it clears colourmaps 'n such. Back in a moment.
[06:28:02] <-- Darke has left IRC ("[BX] The name's X. BitchX.")
[06:31:39] --> darke has joined #pentagram
[06:32:51] <darke> Hmm... still stuffed rather badly. Looks like gtk is trying to play non-8bit too. Any idea which package the gnome-config stuff might be in, so I can just install that rather then dragging the entire gnome2 install onto this poor box? *grin*
[06:33:13] <-- darke has left IRC (Remote closed the connection)
[06:33:54] --> darke has joined #pentagram
[06:34:24] <SB-X> i dont have gentoo
[06:34:26] <SB-X> on slackware its gnomelibs
[06:34:48] <darke> Always fun. I'm *so* used to having alt-f2 pull up a single line 'run' type command. Any idea how to do that under blackbox?
[06:35:10] * darke just closed a xterm thinking he didn't need it anymore, the problem was he'd started xchat in it...
[06:35:19] <SB-X> hehe
[06:35:24] <SB-X> blackboxwm doesnt do that
[06:35:29] <SB-X> but you can get a tool called bbrun
[06:35:39] <SB-X> and bind it to a key with bbkeys
[06:35:59] <SB-X> bind any run-tool to a key actually
[06:37:28] * darke installs.
[06:39:09] <darke> Why the heck do I need about 60 packages to install gnome ontop of a base X install?!? This is even after installing xchat and mplayer which drag a large chunk of them in. Even KDE (bloated that it is) only wants me to install about 20 new packages, and 10 of those are it's own.
[06:40:22] <SB-X> i think i had to install about 20
[06:40:36] <SB-X> 20 for the entire thing (gnome)
[06:40:36] * darke finds what dependancies gnome-themes has. Hopefully it should be in those somewhere. *grin*
[06:42:49] <darke> This just a wm+baselibs+nothing else install?
[06:44:05] <SB-X> the what huh?
[06:44:38] <SB-X> the entire thing
[06:45:07] <SB-X> most of the apps were in categorized packages
[06:45:22] <darke> Install of gnome. This install includes nautilus among other things.
[06:45:32] <SB-X> then there were core apps, and libs
[06:46:03] <darke> Also recompiles gdb, presuably for support for the gnome frontend.
[06:46:10] <SB-X> eh
[06:46:10] <SB-X> hehe
[06:46:12] <SB-X> :\
[06:46:39] <SB-X> i have a seperate nautilus pkg
[06:46:53] <SB-X> since i dont have ebuilds nothing gets recompiled
[06:47:26] <darke> *nod* It looks like gentoo's ebuild tries to install gnome up to the 'completeness' of kde. Or something.
[06:48:03] * darke is surprised it doesn't try to drag evolution in as a dependancy.
[06:48:14] <SB-X> nautilus is a "core" part of gnome but i dont think you need it
[06:49:14] <SB-X> you can browse files with "rox" and thats all i'd use nautilus for anyway
[06:49:32] <SB-X> or even run the kde apps in gnome
[06:49:39] <SB-X> konqueror
[06:49:50] <darke> Ok, apparently I've got the gnome-control-center installed... so where are they hiding them?
[06:50:45] * darke uses a real mishmash of applications. Some tcl/tk, gtk+, kde, X, he's glad he's got enough ram on his machine to drag all the libraries into memory. *grin*
[06:51:54] <SB-X> what is being hidden?
[06:52:39] <darke> The various panels that allow you to alter things, like your theme. *grin*
[06:52:58] <SB-X> gtk+ theme?
[06:53:16] <SB-X> gnome-control-center is `gnomecc'
[06:53:29] <SB-X> under Desktop section is Theme Selector
[06:53:40] * darke ahhs and understands. They weren't where he was expecting them, since he only has the gnome 1 install of the things. Not the v2 which he's used to.
[06:54:01] <SB-X> i dont even know what version i have as i done use it :)
[06:54:13] <SB-X> s/done/dont/
[06:55:01] <darke> I only went to the effort of finding it 'cause xchat2 looks Just Plain Ugly without changing the theme to something nicer looking. *grin* You may have noticed the running commentary in the #exult logs a while back.
[06:55:56] <SB-X> is xchat2 better than xchat < 2?
[06:56:07] <SB-X> ...much better i mean
[06:56:19] <darke> I like it better. *grin*
[06:58:54] * darke upgraded his windows copy of xchat to v2 as well. The default theme looks much nicer on 'doze.
[07:00:47] <SB-X> is gtk+ for windows as stable and as functional as linux version now?
[07:01:06] <DarkeZzz> Haven't really used it enough to tell. *grin*
[07:01:11] <DarkeZzz> Apparently it is.
[07:08:55] <darke> Of course, xchat2 needs the obligatory hours worth of fiddling to set all the various configuration options right again, but that's like any good program. *grin*
[07:30:55] <DarkeZzz> ?date
[07:30:55] <exultbot> It is now Mon May 5 07:30:55 2003 (GMT).
[07:54:59] --> Kirben has joined #pentagram
[07:54:59] --- ChanServ gives channel operator status to Kirben
[08:17:13] <-- Kirben has left IRC ("System Meltdown")
[08:36:43] <-- darke has left IRC ("BitchX-1.0c19 -- just do it.")
[08:41:34] --> Darke has joined #pentagram
[08:52:10] * Darke clears his throat and probably should start rambling on about this usecode-script stuff he's been writing. *grin*
[08:53:24] <SB-X> Must be nice to have two of you so one can sleep while the other has to ramble on about usecode-script stuff.
[08:54:21] <Darke> Nah. I'm asleep *and* rambling about usecode stuff at the same time. Admittedly, that's my usual state of things, it's just a little more explicit this time. *grin*
[08:55:49] <Darke> Besides, my work desks are downstairs and my desk upstairs doesn't have space for anything after it's got two monitors dumped on it. *grin*
[08:58:20] <SB-X> Are you inside or outside a fastArea?
[08:59:39] <Darke> It doesn't matter, overloadable [leaveFastArea] isn't defined for my process. *grin*
[09:01:26] <Darke> Hmm... this poor machine's compiling both the prereqs for the gnome2 configuration *and* mozilla, whilst running links, bitchx, X, blackbox and a screen session or two, with 64Meg of memory...
[09:01:57] <Darke> brb.
[09:01:58] <-- Darke has left IRC ("[BX] Reserve your copy of BitchX-1.0c19 for the PalmPilot today!")
[09:02:39] --> Darke has joined #pentagram
[09:09:41] <Darke> Anyway... as Colourless/wjp/myself (hereby replaced with the royal 'we') have probably commented in here previously, the language is essentially going to by dynamicaly linked. So no header files/imports/etc are going to be needed in the language, this will also have other random interesting side effects in other places too.
[09:11:00] --> wjp has joined #pentagram
[09:11:00] --- ChanServ gives channel operator status to wjp
[09:13:15] <Darke> On a macro scale, we'll have one 'class' per file, no global variables (but since everything'd dynamically linked, it's easy enough to just go TheAppropriateClass::TheVariableIWant anyway). The files will be compiled to .o files at some point in time (once I've finished the compiler anyway *grin*) and then we'll probably have a tool to run over them to check all the interclass function/variable referrences are correct and possibly do the static li
[09:13:26] <Darke> otherwise we'll have the runtime linker take care of that.
[09:18:22] <Darke> Basic structure inside a file is similar to c++/java.
[09:18:57] <Darke> class Foo { ... all relevant functions/variables... }
[09:20:06] <Darke> Since unk lacks any way of storing variables inside an instance of a class, all variables not defined in a function are as if they were declared 'static' in C++. And as a result they are 'promoted' to globals.
[09:20:37] <Darke> (What unk calls 'globals' anyway, with similar storage critera, etc.)
[09:26:30] --> Kirben has joined #pentagram
[09:26:30] --- ChanServ gives channel operator status to Kirben
[09:28:31] <Darke> The logical extension: `class Bar inherits class Foo { ... all relevant functions/variables... }` would also be possible.
[09:31:15] <Darke> But given that class variables are effectively globals, we'd probably have to give consideration as to what exactly that *means* in terms of them (are they duplicated like C++? That is if Bar::Variable exists, then Foo::Variable would exist seperately? Or because they're technically globals, would Foo::Variable point to the same data as Bar::Variable?).
[09:32:33] <Darke> Also with overloaded functions (such as look() etc,) do they automatically replace the derived classes (absent) overloaded functions if they don't exist?
[09:33:51] <Darke> Or is the entire point of inheriting classes just to bring their other functions in 'scope' so that you don't have to reference them as externs?
[09:34:16] <Darke> Probably need to examine the usecode for this and it'll tell us. *grin*
[09:35:02] <Darke> It's quite obvious that quite a few items (in crusader anyway) use inheretance to cut down on the coding.
[09:35:28] <Darke> Anyway, back to simpler stuff. *grin*
[09:40:04] <SB-X> You don't need a larger screen area in Crusader. To avoid gunfire from off-screen you're supposed to hide behind a high-voltage power transformer, or a drum of volatile liquids.
[09:40:24] <SB-X> (to reference something from the #pentagram logs)
[09:41:47] <Darke> SB-X: The problem with that is said devices don't tend to last long under fire, for obvious reasons. *grin*
[09:44:35] <Darke> At least not long enough to toss a few shots of high explosive in the direction of the firer anyway. *grin*
[09:45:11] <SB-X> The hardest enemies for me were the fast, giant, cannon-wielding robots.
[09:45:39] <SB-X> You can't find a place to hide long enough before they get to you.
[09:46:04] <SB-X> And they can walk up and down steps.
[09:46:44] <Darke> Ick. Those.
[09:47:41] <SB-X> The good thing about them is when you get to control them remotely. :-)
[09:50:54] <DarkeZzz> I never got around to using many robots. Was way too efficient at eliminating them before I found the control panels. *grin*
[09:53:11] <DarkeZzz> It was mostly the guys/turrets that camped in one particular area and didn't move that were my problem. Most fpses (for example) allow you to drag a couple away from the bunch to kill them, since they follow you. But most of the guys in crusader were scripted to do set things (like kneel behind a pipe and roll out and shoot, then roll back), so you couldn't drag one or two off and kill them, then come back and grab another one or two to kill.
[09:53:11] <DarkeZzz> *grin*
[09:55:05] <SB-X> Most difficult of those guys would have to be the ones that toss grenades at you, sometimes before you even notice they are there.
[09:55:17] <SB-X> Strangely enough, the grenades flew like rockets.
[09:55:38] * DarkeZzz nodnods!
[10:31:44] <-- Kirben has left IRC ("System Meltdown")
[10:38:53] --> CashAway has joined #pentagram
[10:39:00] --- CashAway is now known as Cashman
[10:47:13] <Cashman> *Cash* patches u8 again! the win patch...
[10:48:06] <Cashman> hey sb-x
[10:54:51] <Cashman> the ultima reconstruction have been around a while now and I think they are doing very well!
[10:56:03] <Cashman> http://reconstruction.voyd.net/
[10:58:27] <SB-X> hello again
[11:01:51] <SB-X> do they mention remakes?
[11:01:56] <SB-X> hehe
[11:01:57] --> Kirben has joined #pentagram
[11:01:58] --- ChanServ gives channel operator status to Kirben
[11:02:16] <SB-X> i mean pentagram
[11:02:36] <Cashman> yeah they do mention an older ver of the pentagram tools! thats how I first found out about pentagram
[11:02:56] <Cashman> I just applied the win9x patch again! as I had u8 uninstalled.
[11:03:07] <Cashman> so that I could run my compiled ver of pentagram
[11:04:27] <Cashman> anyone want some more fps statistics
[11:07:09] <Cashman> I get a amx of 15 fps!
[11:07:11] <Cashman> max
[11:09:50] <Cashman> 15 fps; sort 16ms; paint 20ms; render 70ms
[11:10:37] <Cashman> hmmm not bad - you guys have faster machines than me - including the video card! but its not bad considering its not fully optimized
[11:11:32] <Cashman> cpu useage for process is average 82 and max 91%
[11:15:08] <Darke> Colourless: Is it possible to add a 'null' output device for pentagram so it would be possible for me to script a console regression tester just to make sure our future changes don't break any one of the 9 or so variations of pagan we support? *grin*
[11:15:33] <Darke> Colourless: Actually, it might be able to be done by sdl, I think they might have support for output to a null device.
[11:15:56] <wjp> I seem to remember that yes
[11:16:37] <wjp> but I think it just means that you don't get any video subsystem
[11:16:51] <wjp> (so you may not be able to create surfaces)
[11:17:33] --> neo-weg has joined #pentagram
[11:17:46] <Cashman> welcome neo-weg
[11:17:54] <-- neo-weg has left #pentagram ()
[11:18:28] <Darke> Ick. Basically, I'd want to be able to do all the rendering stuff invisibly, and not have any output window, etc. Actually, even having an output window wouldn't be too bad, I suppose. Just wouldn't be able to run it though a terminal session onto a machine, would have to run from a console in an X window.
[11:19:50] <Cashman> Darke? and DarkeZzz! are you somewhere else or are you networked at ur place
[11:20:07] <wjp> their hostmasks are the same
[11:20:29] <Darke> Networked. I'm downstairs eating food at my work table, DarkeZzz is upstairs guarding my bed. *grin*
[11:20:35] <Cashman> oohh ok! *Cash* taps DarkeZzz on the shoulder
[11:20:40] <wjp> Darke: just subclass RenderSurface into NullRenderSurface?
[11:20:44] <Cashman> ehhehe
[11:21:03] * wjp tries to steal Darke's bed while Cashman is distracting DarkeZzz
[11:21:47] <Cashman> bugger *Cash* trips on rope trap
[11:21:54] <Darke> wjp: I think I'll notice that. I'm lacking a computer chair since my rabbit-stool died in a spectacular manner, thus I'm using my bed as a replacement chair until I get a chance to replace it. *grin*
[11:21:57] <Cashman> and falls down stairs!
[11:22:17] <Cashman> hehe
[11:22:20] * wjp puts some more skill points into his Steal skill and tries again ;-)
[11:22:40] <wjp> (I may have been playing too much Fallout lately :-) )
[11:22:51] <Darke> A little too much. *grin*
[11:23:11] <Cashman> *Cash* steals some cheese from Darkes Fridge! icky its off!
[11:23:34] <wjp> Cashman: ever tried the "/me" command? ;-)
[11:23:45] * Darke suggests to Cashman the '/me' commant. It's useful. *grin*
[11:24:00] <Darke> wjp: Oi! Out of my mind! That was *my* suggestion!
[11:24:03] <Cashman> no! I'm not a irc wizz!
[11:24:14] * Cashman hello
[11:24:20] <Cashman> hehe
[11:24:25] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[11:24:27] <wjp> that's how you do actions :-)
[11:24:44] * Cashman says thanks!
[11:24:56] <Darke> wjp: Obviously your extra skill points in 'steal' were enough for you to steal my suggestions without me noticing. *grin*
[11:25:18] <wjp> steal? I planted that suggestion in your mind ;-)
[11:25:29] <Cashman> what about ur --> *grin* is that scripted!
[11:25:39] <Darke> wjp: Suuuuuuuure you did! *grin*
[11:25:47] * Cashman hides next to Darkes fridge
[11:26:01] <Darke> Cashman: Nope. That's me being able to type quickly, and most of the time correctly. *grin*
[11:26:16] <Cashman> eh nice
[11:26:41] * Darke suggests standard emoticons for most people, less flexible but apparently easier to type.
[11:27:09] --> Kirben has joined #pentagram
[11:27:09] --- ChanServ gives channel operator status to Kirben
[11:27:21] <Darke> Though given Colourless' ability to break his nose on a regular basis, I've never really been convinced of that. *grin*
[11:27:25] * Cashman suggests that someone inform "ultima reconstruction" of the happenings
[11:27:33] <Cashman> maybe thats kirbens job!?
[11:28:05] <Cashman> hehe yeah colourless and the duck tape you spend on him!!
[11:28:22] <wjp> wouldn't that be dragon tape, if any kind of animal-type? ;-)
[11:28:29] <wjp> s/type/tape/
[11:28:30] <wjp> *sigh* :-)
[11:28:35] <SB-X> hehe
[11:28:39] <Cashman> hmmm yeah
[11:28:45] * wjp makes a mental note not to typo when commenting on typos :-)
[11:28:55] <Cashman> http://reconstruction.voyd.net/index.php?page=project&type=tools -- outdated!
[11:29:19] * Darke has never, *ever* used duct tape on a duck. On a dragon, and a rabbit, yes, but for completely different reasons. Never on a duck though.
[11:29:46] <Cashman> on the dragon! how is that feasible
[11:30:06] <Darke> wjp: There's a rule that requires you to typo when commenting on typos, and make spelling mistakes when complaining about other's. I usually have to force a typo/spelling mistake in there though. *grin*
[11:30:39] <Cashman> hehe
[11:30:43] <Darke> Muzzle repairing. Doesn't seem to work very well though, Colourless keeps breaking it.
[11:31:23] <Cashman> just stick a hose down his throat - that will put the fire out
[11:31:48] * SB-X wonders what Darke uses duct tape on rabbits for.
[11:32:17] <Cashman> rabbits! dragons! - Darkes a hopping rabbit
[11:33:21] * Cashman runs up the stairs and hides under Darkes bed
[11:33:31] <DarkeZzz> SB-X: *innocentpreen* No comment.
[11:34:01] <SB-X> You've already proven you're not innocent. ;-)
[11:34:24] <SB-X> I can think of a lot of interesting duct tape applications, the least of which is taping ducts.
[11:34:47] <Cashman> hehe
[11:35:00] * DarkeZzz has actually used duct tape on a duct before!
[11:35:21] <SB-X> Yeah but you've used duct tape on a rabbit so who knows what else you use it for.
[11:35:57] <Cashman> what are you implying sb-x - or shouldn't I go there!
[11:36:57] <SB-X> I don't know, I have to go to sleep. Ask Darke. :-)
[11:37:06] * DarkeZzz notes duct tape is *really* painful to get off fur. He decided against better judgement to stick strips of it temporarially to his arm whilst he was taping things up one time, and... well... owie!
[11:37:10] <Cashman> eh
[11:37:32] <Cashman> nite Sb-x
[11:37:41] * SB-X grins.
[11:37:43] <SB-X> cya
[11:37:48] <wjp> night
[11:37:54] * DarkeZzz doesn't know *what* SB-X is talking about.
[11:37:58] <DarkeZzz> Night!
[11:38:02] * SB-X boggles.
[11:38:03] <-- SB-X has left IRC ("X-Chat [1.6.4]")
[11:38:06] <Cashman> hehe Night!
[11:39:02] <Cashman> exultbot are you Zzzing Zzzing
[11:39:29] <Cashman> ?date
[11:39:29] <exultbot> It is now Mon May 5 11:39:29 2003 (GMT).
[11:39:31] <Cashman> date
[11:39:32] <Cashman> ?
[11:39:48] <Cashman> thankyou pleb!
[11:41:09] <DarkeZzz> wjp: In reguards to handling multiple versions with commandline flags. I guess we should look in config/paths/u8 if none is specified, but where shall we look if say '--game u8 --version 2.13' is specified? config/paths/u8 is taken for the default variable, maybe we should shift everything to something like game/pagan/version/$vars, then if nothing is specified, just grab the first version found in the game/pagan directory?
[11:41:13] * Cashman slaps Darke around a bit with a large trout
[11:41:51] <wjp> I really don't want to make the config file more complicated to support multiple versions
[11:41:53] * DarkeZzz slices Cashman's trout to shredded-trout with his claws.
[11:42:07] <wjp> It's going to be a support nightmare that way :-)
[11:42:21] <DarkeZzz> Hmm... yeah.
[11:42:26] * Cashman hate nightmares
[11:42:47] <Cashman> likely for /me he doesnt have to deal with pentagram nightmares
[11:42:49] <DarkeZzz> Any other suggestions then? One config file per game/version? *grin*
[11:42:56] <Cashman> heheh
[11:42:59] <Cashman> shame on me!
[11:43:17] <Cashman> bugger
[11:43:41] * Cashman teleports out on the 5x5 grid - wec section #8420
[11:43:41] <-- Cashman has left IRC ()
[11:43:59] <DarkeZzz> Specifiying '--game u8 --version 2.13' looks for a config file called ~/.pentagram/u8-2.13.cfg for instance, rather then the default ~/.pentagram/pentagram.cfg
[11:44:05] <wjp> hm, some kind of auto-detection of game language/version would be nice
[11:44:18] --> Colourless has joined #Pentagram
[11:44:18] --- ChanServ gives channel operator status to Colourless
[11:44:18] --> pleb has joined #pentagram
[11:44:30] <wjp> hi
[11:44:44] <Colourless> hi
[11:44:48] <wjp> Cashman: any reason for that change of nick? :-)
[11:45:00] --- pleb is now known as Cashman
[11:45:15] <Cashman> use to be one of my old nicknames
[11:45:25] <DarkeZzz> *nod* I'm more thinking if someone (like us!) has multiple versions installed. How can we easily swap between versions, without having to shuffle ~/.pentagram/pentagram.cfg files around. *grin*
[11:47:20] <wjp> you want to be able to specify multiple games in a single config file, I would say
[11:47:31] <Colourless> wjp, i've solved our pid and objid allocation problems. No need to search through to find a unused PID. I've made a small class that uses a type of linked list to automate getting and clearing of ids with great speed
[11:47:50] <wjp> Colourless: cool :-)
[11:47:51] <Cashman> are you supporting different languages - I dont think there is any need right?!
[11:48:00] <wjp> Cashman: yes there is need :-)
[11:48:11] <Colourless> i've updated both world and kernel to use it
[11:48:17] <Cashman> there arnt many different vers of u8 and anyways is there much diff between the usecodes of each
[11:48:27] <Cashman> ok there is need then!
[11:48:30] <Colourless> it will also avoid reusing ids if possible
[11:48:37] <wjp> Colourless: does it keep recently-released objIDs free for a relatively long time?
[11:48:41] <DarkeZzz> Four languages and three different versions of three, English/French/German/Spanish, versions 2.10, 2.12, 2.13.
[11:48:42] <wjp> k :-)
[11:48:46] <Colourless> regardless of order they were cleared in
[11:49:15] <Colourless> it uses a LILO (last in last out) structure. When a id is cleared it's placed at the end
[11:49:16] <Cashman> 2.13 in english! I've never seen that patch before
[11:49:33] <Cashman> I thought 2.12 of eng was the latest
[11:49:49] <Colourless> 2.12 and 2.13 are strictly the same
[11:49:56] <Cashman> ok
[11:49:57] <DarkeZzz> IIRC, the order of some of the shapes has changed between versions, and there's been significant changes in the usecode class order and intrinsic numbering.
[11:50:40] <Cashman> thats interesting DareZzz
[11:50:50] <wjp> possibly idea: support multiple game sections in pentagram.cfg, with a user-choosable name
[11:50:59] <wjp> then auto-detect which game it is exactly
[11:51:13] <wjp> also let this be overridable in the .cfg file
[11:52:02] <wjp> so you could have a <games><u8><path>...</path></u8><u8fr><path>...</path></u8fr><crusader>....</crusader>
[11:52:21] <Cashman> auto detect sounds like a good option! - its probably the safest! I personally dont think gamers should have to manually select the game ver
[11:52:27] <wjp> where the u8,u8fr,crusader names have no real influence over pentagram other than being a selection mechanism
[11:52:59] <DarkeZzz> wjp: That would work fine for me. I was only using the game/version in an identical manner. I expected things to autodetect or whatever. *grin*
[11:53:11] <wjp> and you could have asomething like <gametype>U8</gametype><gameversion>2.13</gameversion>
[11:53:17] <Cashman> yeah using xml sounds like a nice simple way of putting things - no need for multiple .cfgs? if thats what ur getting at
[11:53:27] <Colourless> committed my changes. As always, I don't do makefiles
[11:53:46] <wjp> as always, I do do makefiles ;-)
[11:53:50] <Cashman> hehe
[11:53:56] <Cashman> thats Darkes job mainly right!?
[11:54:04] <Cashman> or Kirben/.
[11:54:06] <wjp> just idMan, right?
[11:54:10] <Colourless> yeah
[11:54:33] <Cashman> not much of a peep out of Kirben lately
[11:54:53] * DarkeZzz does do makefiles too, but wjp gets them into the cvs quicker then he does. *grin*
[11:55:11] <Cashman> heh
[11:55:50] <Cashman> oh by the way I just remembered I should congratulate you guys on the faq - the bit at the bottom, new part on tgwds / tguds!
[11:56:10] <Cashman> its original and very well done!
[11:56:22] <wjp> we have a FAQ?
[11:56:38] <Cashman> hehe probably Darkes messing around
[11:56:47] <Cashman> root of the cvs - fag file!
[11:56:50] * DarkeZzz blames Colourless actually. *grin*
[11:56:54] <Cashman> faq ooops!
[11:57:12] <wjp> oh, that one
[11:57:17] <Cashman> "fag file" that doesnt sound nice!
[11:57:26] <wjp> that file is about half a year old :-)
[11:57:33] <Cashman> yeah that one!
[11:58:04] <Cashman> ? what about the end part! isnt that new or is it just me
[11:58:20] <Cashman> seeing as though people are asking about tgwds
[11:59:22] <Cashman> stupid spam! congratulations, you have won a virtual reality casino!
[11:59:30] <wjp> Colourless: ah, you went with the 'very large array' approach
[11:59:51] <wjp> might be possible to make it a bit smaller by using ranges
[12:00:28] <Colourless> eh, too fidly
[12:00:44] <Colourless> 192 kb of memory aint much to be wasting
[12:00:54] <wjp> true, I guess :-)
[12:01:43] <wjp> or even only 160Kb I think (process IDs are only up to 32K)
[12:02:12] <Colourless> yeah but *2 for uint16s
[12:02:26] <Colourless> 128 kb + 64 kb = 192 kb :-)
[12:02:44] <wjp> hm, we only have 2 of these things?
[12:03:06] <Colourless> we have more than 2? :-)
[12:03:20] <Colourless> objs, pids? what else would there be
[12:03:21] <wjp> the usecode machine heap has some
[12:03:27] <wjp> strings, lists, ..
[12:03:39] <Colourless> ah, it's easy enough to use. i think you can work out the 'api' :-)
[12:04:34] <Colourless> Cashman with the 1.1 mb pentagram.exe, you should use a release build. pentagram.exe is 300kb for me
[12:04:51] <wjp> 5.2Mb here :-)
[12:05:04] <wjp> (of course stripped it's only 220Kb)
[12:05:46] * DarkeZzz 's a little larger, but that's 'cause of profiling info. *grin*
[12:06:14] <Colourless> debug exe is 1.2 mb, pdb file (program database for edit and continue among other things) is 2.7 mb
[12:10:40] <Cashman> yeah I'll look into that - its a lot diff where the options are in dev from msvc
[12:11:18] --- Cashman is now known as CashAway
[12:39:52] --- CashAway is now known as Cashman
[12:42:30] <Cashman> everyone sleeping!
[12:42:43] --- Cashman is now known as CashZzz
[12:44:46] * CashZzz teleports out one more final time for a while on the 5x5
[12:44:58] <-- CashZzz has left IRC ()
[13:42:07] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[13:45:41] --> Kirben has joined #pentagram
[13:45:41] --- ChanServ gives channel operator status to Kirben
[13:48:54] <Darke> Mozilla, of all things, doesn't seem to have much of a problem running on this machine either. Of course running is one thing, running well is another matter entirely. *grin*
[13:52:08] <Darke> More rambling. This time on variables, types and all that neat stuff.
[13:53:14] <Colourless> oooh
[13:53:28] <Darke> Variable declarations are either within the class scope, in which case they're treated as if they're global variables. Or within a function, in which case their lifetime is the lifetime of the function execution.
[13:53:54] * Darke muffles Colourless' sarcasm with duct tape. *grin*
[13:54:22] <Colourless> mmm..mm.mm...mmm.mmm.m.mm
[13:54:51] <Darke> Variables are initialised as 'null' (that is 0, or "", or <<>>. or whatever), not just 'cause I think this is a good idea, but because it's kindof mandated by the original engine. *grin*
[13:55:11] * Darke de-ducts, and de-tapes the d-ragon.
[13:57:31] <Darke> Basic types are 'Bool', 'Integer'/'Number' (which I believe would have originally been a sint16, but we 'might' want to use the default int size to be 32), 'Word' (sint16), 'DWord' (sint32), 'String' (duh), and maybe a 'Char' if someone can think of a good reason for it. I can't.
[13:58:15] <Colourless> Byte be better
[13:58:19] <Darke> We can always add multiple synonyms for them, or other types as time passes, but they're the basic ones I can think of. *grin*
[13:58:40] * Darke probably deserved *that* pun after his last one. *grin*
[13:58:55] <Darke> Works for me.
[14:01:59] <Darke> Then you've got modifiers to the basic type (semi-basic types?), turning a basic type into a 'List' (such as 'String List') or to a 'Pointer' (such as 'Byte Pointer'). I'm not sure if the 'Pointer' stuff would have been explicity instantiated by the original code, but it's obvious that there are pointers floating around in the bytecode, so it's a case of being on the safe side.
[14:02:55] <Darke> BTW, yes these are verbose, I'm trying for 'ease of learning by non-programmer', the more... compact syntax can be added later if needed. *grin*
[14:03:31] <Colourless> long long pointer
[14:04:29] <Darke> usecode doesn't support 64bit types. Next! *grin*
[14:04:43] <Colourless> so would that be a long pointer to a long, a long long pointer, or a pointer to a long long :-)
[14:04:52] * Darke gives Colourless a meter-long ruler, just in case that was what he wanted.
[14:05:08] <Darke> 'QWord Pointer'
[14:05:29] <Darke> Or just 'ReallyLong Pointer', which is what they should have used in the first place. *grin*
[14:06:05] <Colourless> yeah, i want a language that has the data type ReallyLong :-)
[14:06:43] <Colourless> or a ReallyShort :-)
[14:07:00] <Colourless> or how about a LongShort or a ShortLong :-)
[14:07:30] <Darke> Variable names are as per C/C++/Java/most-other-languages standard. [A-Za-z_] followed by any combination of [A-Za-z0-9_], and any other funky characters we can be bothered adding.
[14:07:44] <Colourless> ReallyShort would be a byte and a LongShort or ShortLong would be 24 bit :-)
[14:07:50] <Darke> Colourless: Add 64bit support to usecode and you'll have your ReallyLong. *grin*
[14:08:18] <Colourless> a ReallyLongHuge?
[14:08:35] <Darke> Don't remind me of those. *shudderick*
[14:08:55] <Darke> So you want me to add a 'Really' prefix to the datatypes then? *grin*
[14:09:45] <Colourless> I know, each extra Really prefix adds an extra byte to the data type :-)
[14:09:56] <Colourless> except if it's short
[14:10:19] <Colourless> But then what to do wiht at ReallyLongReallyReallyShortReallyReallyReallyReallyLong
[14:11:24] <Darke> Terminate with a "That's Just Plain Stupid" error message.
[14:11:47] <Colourless> or Error(1): KISS
[14:12:51] * Darke thinks we'll end up with an '--accept-insane-stuff' flag on the compiler so we can mess around with this sort of insantiy, without confusing everyone else. *grin*
[14:13:24] <Colourless> well, programmers should be allowed to write obfuscated code
[14:14:39] * Darke figures the basic logic would be that 'Really's prefixing a long add one to the type, prefixing a short subtract one, then add the last typesize to the total, and around to the nearest acceptable size.
[14:14:51] <Darke> s/around/round/
[14:15:43] <Darke> Which would be 8/4/2/1 provided you added qword support. *grin*
[14:16:25] <Colourless> :-)
[14:16:32] <Darke> The basic variable declaration looks like: "type Foo : Bool;" or "type Bar : Really Really Short Long List;" or whatever.
[14:16:48] <Colourless> a reallylongshort would be a long and a reallyshortlong would be a short
[14:16:55] <Colourless> or something
[14:17:30] <Colourless> no it would be reallyreallylongshort and reallyreallyshortlong
[14:17:31] <Darke> You can only have one 'type' and one dimension of 'List' ('Word List List' isn't acceptable), since usecode doesn't support two dimensional arrays.
[14:19:20] <Darke> Adding to the rule "A long prefixing a variable without any reallys between them doubles the length of the variable, a short prefixing a variable without any spaces between them halves the size of the variable. Doing a 'Short Byte' is undefined."
[14:19:31] <Darke> s/spaces/reallys/
[14:20:01] <Colourless> a short byte is a void :-)
[14:20:53] <wjp> or a nibble?
[14:21:03] <Darke> Of course, given the wordyness of the language, we could also have as a synonym of the above being, "type Foo is a Bool;" and "type Bar is a Really Really Short Long List;"
[14:21:05] <wjp> or a 7bit byte?
[14:21:42] <Darke> There Is No Void. At least usecode doesn't support it anyway, except seemingly as a return type. *grin*
[14:21:58] <Colourless> or as args
[14:22:09] <Darke> Hmm... yup.
[14:22:25] * Darke gives wjp a 7bit byte to nibble on.
[14:23:01] <Colourless> a short byte is what you do when you don't have time for lunch, correct?
[14:23:11] <wjp> no, that's a quick byte
[14:23:29] * Darke makes a mental note to add that as an error message.
[14:24:15] <Darke> Hmm... actually, prefixing it with a 'type' is actually the syntax for something like a C typedef I was planning. You just drop it to define a 'normal' variable.
[14:24:55] * Darke yawns. Shouldn't be writing programming languages when half asleep. *grin*
[14:25:32] <Colourless> sure you should
[14:25:45] <Colourless> makes them more interesting
[14:25:45] <wjp> otherwise you'll never have time for it :-)
[14:26:10] <Darke> You can also define multiple variables simultaneously, like: "Foo, Bar : DWord List;" which defines both Foo and Bar to be type 'DWord List'.
[14:26:16] <Darke> Makes sense. *grin*
[14:26:28] <Colourless> sort thing that people will look back at from the future and say, gee, they must have been really inspired to create a language like this
[14:27:18] <Darke> Of course, you've got the logical, wordy extension to write, "Foo and Bar are DWord Lists;" but that would require the compiler to understand plurals, which would make my head hurt.
[14:28:24] <Darke> (Thankfully, they're all 'append s' to pluralise, which isn't as bad as you could get...)
[14:30:41] <Darke> (Sometime in the year 2020) "For some reason between April and May 2003, these guys were inspired to re-create COBOL... ... ... What are they, nuts?!?"
[14:30:41] <Colourless> good thing latin is avoided by programmers
[14:31:12] <wjp> latin? :-)
[14:31:18] <wjp> hm, Greek might be nice...
[14:31:20] <Colourless> or you'll have all sorts of interesting plurals you'll need to cope with
[14:31:29] <wjp> would be a good incentive to add unicode support too :-)
[14:31:44] <Darke> Pity I don't know german well enough, then I could design a language where you could write an entire program in one word. *flee!*
[14:33:33] <wjp> eh?
[14:35:08] <Darke> Relatively standard joke as to the german language among english speakers, due to the compound noun feature of the language. I admittely think it's quite cool. *grin*
[14:35:29] <wjp> it doesn't go that far :-)
[14:35:39] <wjp> (dutch compounds nouns too, btw)
[14:36:48] <DarkeZzz> Oh sure, it's an obvious exageration. *grin*
[15:15:23] <-- Darke has left IRC ("*fluff*")
[15:22:18] * DarkeZzz sleeps. Having to be up in 5 or so hours for work is a pain. *grin* Night!
[15:22:44] <Colourless> cya
[16:12:03] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[17:02:58] <-- Colourless has left IRC ("casts invisibility")
[20:04:27] --> falso has joined #pentagram
[20:04:38] <falso> hello
[20:05:45] <wjp> hi
[20:06:00] <falso> i was wondering
[20:06:10] <falso> is theres any source of this available?
[20:06:11] <falso> :)
[20:06:15] <falso> i dont see any on sf.net
[20:06:20] <wjp> of course
[20:06:30] <wjp> but you'll have to get it from CVS at this point
[20:06:40] <falso> ok :>
[20:06:46] <falso> is it somewhat playlable?
[20:06:51] <wjp> not at all
[20:07:30] <wjp> the only thing it really does right now is display part of the map
[20:07:45] <wjp> (but there's a lot more already done behind the scenes)
[20:08:11] <falso> nice :D
[20:08:18] <falso> i really love this game..
[20:08:22] <falso> and its musics :D
[20:08:54] <wjp> music was pretty good, yes :-)
[20:10:41] <falso> i really loved those mid's
[21:00:07] --> Dark-Star has joined #pentagram
[21:03:10] --> Dominus has joined #pentagram
[21:12:00] <Dominus> I'm only getting 30-37 FPS...
[21:12:36] <Dominus> and full screen even less
[21:13:31] <DarkeZzz> Latest cvs? What's your machine spec/memory?
[21:13:58] <Dominus> 1 GHz, 512 MB
[21:14:05] <Dominus> latest CVS
[21:14:47] * Dark-Star wonders if it will be possible to play pentagram on his old 900MHz PC once it's finished...
[21:15:32] <DarkeZzz> Dominus: Sounds like you're hitting the vsync rate.
[21:15:38] <Dominus> using gcc 3.2
[21:16:02] <Dominus> hm, that is disabled
[21:16:08] <DarkeZzz> What's your monitor refresh rate? 60hz?
[21:16:22] <Dominus> 75
[21:16:40] <DarkeZzz> In which case, that's a little weird. Unless gcc is generating some serious pessimal code on win32 somewhere.
[21:17:37] <DarkeZzz> (Which is, admittedly, possible, but still, one would think there wouldn't be *that* much of a difference between platforms.)
[21:18:16] <Dominus> fullscreen it is 25 fps
[21:19:30] <Dominus> and it is taking about 97 % of my CPU
[21:19:43] <DarkeZzz> Very weird. Does mingw have a compiled version of 'gprof'? Or can you compile one?
[21:19:47] <DarkeZzz> That's about right.
[21:20:16] <DarkeZzz> Pentagram tries to run as absolutely-the-max-speed at the moment. *grin*
[21:20:25] <DarkeZzz> What's your video card?
[21:20:49] <Dominus> voodoo 5 with drivers not written for this OS
[21:22:13] <Dominus> there is a gprof
[21:22:34] <Dominus> what to do with it?
[21:22:40] <DarkeZzz> Presuming all other important things being equal, which they do seem to be, it looks like it's either gcc producing junk code, or the 2d rendering of your card really slowing things down.
[21:23:25] <DarkeZzz> Just a moment. I need to look up some compile flags for you to recompile with to turn profiling on. *grin*
[21:24:40] <DarkeZzz> Append this to the CXXFLAGS and CFLAGS sections of Makefile.mingw: -pg -fprofile-arcs
[21:24:56] <DarkeZzz> (around lines 18-20)
[21:25:09] <DarkeZzz> Then do a make clean && make.
[21:25:25] <Dominus> CXXFLAGS=-O2 -pg -fprofile-arcs (like this?)
[21:25:38] <DarkeZzz> Yep. That's the way.
[21:25:56] <Dominus> k, compiling
[21:26:48] <DarkeZzz> Then run pentagram for a while, just leave it on the screen with the performance numbers running. Probably for a minute or two, without doing anything else.
[21:27:49] <Dominus> whenever it is done...
[21:28:25] <Dominus> that program does nothing much (at least to see) and takes already long to compile
[21:29:03] <DarkeZzz> After that, some sort of 'gmon' file should have been created in your pentagram directory, IIRC. You then run `gprof >random-output-text.txt', which if you open it up contains lots of timings for all the functions.
[21:29:12] <DarkeZzz> That sounds like pentagram at the moment, yes. *grin*
[21:31:25] <Dominus> conf/Configuration.o(.text+0xc):Configuration.cpp: undefined reference to `mcount'
[21:31:39] <Dominus> conf/Configuration.o(.text+0x56b):Configuration.cpp: more undefined references to `mcount' follow
[21:31:43] <Dominus> error
[21:31:46] <DarkeZzz> The first block of data should be titled 'Flat profile' and have percentages going from large, quickly dropping to under a percent going down the left column, and function names going down the right most. The first 5 or 6 should be the most significant, since the rest after that drop down to under a percent.
[21:32:00] <DarkeZzz> Eh? Will look.
[21:32:31] <Dominus> must be the flags, it compiled earlier
[21:33:18] <DarkeZzz> Yeah. I was wondering if I'm missing a library to link to. Is that at the final linker stage, or right at the beginning?
[21:33:41] <Dominus> final
[21:34:13] <DarkeZzz> Ahh. Add it to LDFLAGS too.
[21:34:47] <DarkeZzz> Hmm.. you don't have it in mingw.
[21:34:54] <Dominus> to LFlags?
[21:35:01] <DarkeZzz> Yep, that should be it.
[21:35:31] <DarkeZzz> I think just adding a -pg should be fine, but the other one's ignored at linking anyway.
[21:38:36] <DarkeZzz> Anyway, if that works, just cut&paste the first 5 or 6 lines of that file I indicated above into the channel and I'll see if I can look at them before rushing off to work, need to disappear real soon. *grin*
[21:38:59] <Dominus> k
[21:44:17] <Dominus> gprof complains about a.out not being there and renaming gnom.out doesn't fix that
[21:44:31] <Dominus> it then complains about a.out not being in a.out format
[21:44:41] <DarkeZzz> Hopefully I'll have some documentation on the usecode that you can lament over soon in true artiste' fashion. *grin*
[21:45:01] <DarkeZzz> Ahh. Try 'gprof pentagram'.
[21:45:49] <Dominus> oh it says pentagram has no symbols, I guess I need to copy the unstripped exe
[21:45:52] <DarkeZzz> "No! Zis coloring is all wrong. Wrong! And zis vording, is crap too! Ahh! Why iz everyone lacking true artistic talent!" Kinda thing. *grin*
[21:46:08] <DarkeZzz> Yep.
[21:46:25] <Dominus> ok, that produced something
[21:47:09] <Dominus> Flat profile:
[21:47:09] <Dominus>
[21:47:09] <Dominus> Each sample counts as 0.01 seconds.
[21:47:09] <Dominus> % cumulative self self total
[21:47:09] <Dominus> time seconds seconds calls Ts/call Ts/call name
[21:47:10] <Dominus> 32.35 33.89 33.89 ItemSorter::AddItem(Item*)
[21:47:12] <Dominus> 24.33 59.38 25.49 SoftRenderSurface<unsigned>::PaintNoClip(Shape*, unsigned, int, int)
[21:47:15] <Dominus> 15.53 75.65 16.27 SoftRenderSurface<unsigned>::Fill32(unsigned, int, int, int, int)
[21:47:18] <Dominus> 8.55 84.61 8.96 SoftRenderSurface<unsigned>::Paint(Shape*, unsigned, int, int)
[21:47:21] <Dominus> 7.27 92.23 7.62 SoftRenderSurface<unsigned>::Blit(Texture*, int, int, int, int, int, int)
[21:47:24] <Dominus> 3.15 95.53 3.30 _mcount
[21:47:26] <Dominus> 2.41 98.05 2.52 Item::setupLerp(int, int, int)
[21:47:28] <Dominus> 1.15 99.25 1.20 mcount
[21:47:30] <Dominus> 0.95 100.25 1.00 Application::paint()
[21:47:32] <Dominus> 0.76 101.05 0.80
[21:49:21] <DarkeZzz> The mcount stuff is the profiler itself, that can be ignored. However the AddItem stuff seems to be taking a really hefty chunk of cpu compared to what it 'should' now.
[21:51:46] <Dominus> just checked now and I do have really truly the up-to date source
[21:52:32] <Dominus> next step would be trying out Ryan's exe
[21:52:45] <DarkeZzz> That's a bit weird. You're getting profile numbers that 'look' like they're using two day old source, before Colourless optimised the AddItem sorting path.
[21:52:53] <DarkeZzz> Yep.
[21:52:54] <Dominus> if he hasn't done too much ATI-specific hacks :-)
[21:53:09] <DarkeZzz> Nah, they're mostly msvc hacks. *grin*
[21:54:34] <DarkeZzz> What's your sort/paint numbers btw? That's generally a better indication of where the problem might lie then the raw fps.
[21:55:59] <Dominus> 0.76 101.05 0.80 ItemSorter::PaintSortItem(SortItem*)
[21:55:59] <Dominus> 0.66 101.74 0.69 SoftRenderSurface<unsigned>::PrintCharFixed(Texture*, int, int, int)
[21:55:59] <Dominus> 0.44 102.20 0.46 Console::DrawConsole(RenderSurface*, int, int, int, int)
[21:55:59] <Dominus> 0.42 102.64 0.44 BaseSoftRenderSurface::CheckClipped(Rect const&) const
[21:55:59] <-- Dominus has left IRC (Excess Flood)
[21:56:54] --> Dominus has joined #pentagram
[21:57:23] <Dominus> oops
[21:57:28] <Dominus> that was before I realized you meant in the display :-)
[21:57:58] <DarkeZzz> Ahh, oops. Yep. *grin*
[21:58:21] <Dominus> with that profiling pentagram I get 25-30 FPS, 13ms and 11ms
[22:00:06] <Dominus> got to go now :-( or my gf will have my hide...
[22:00:08] <DarkeZzz> Cool. Which pretty much agrees with the profiling, with profiling turned on on my machine, I get about 9/11 there.
[22:00:17] <DarkeZzz> No problem. Must go too. Bye! *grin*
[22:01:21] <Dominus> Colourless: could you upload your msvc hacked optimised exe somewhere for me to try? I'll try to be here in the late morning my time
[22:01:24] <Dominus> bye
[22:01:28] <-- Dominus has left IRC (Client Quit)
[22:09:08] <DarkeZzz> Odds are the problems going to be 1) Slower memory, basically anything under PC133 SDRAM, like PC100, 2) Compiler bug, 3) Video card drivers. Can't think of anything else.
[22:09:15] <DarkeZzz> In any event, off to work now. Bye!
[22:10:46] <wjp> unoptimized STL?
[22:10:59] <wjp> bye
[22:16:04] <Dark-Star> well PC100 vs. PC133 shouldn't make _that_ much a difference I guess...
[22:46:10] <-- Dark-Star has left IRC ()
[23:01:06] <-- wjp has left IRC ("Zzzz...")
[23:29:16] --> Cashman has joined #pentagram
[23:29:30] <Cashman> I've just been reading the logs and yeah well I get 15 fps under win2k
[23:29:56] <Cashman> I have an overclocked duron from 800mhz to 920mhz with a 32mb second gen vcard! pc133 512mb
[23:30:23] <Cashman> I know what my full screen limits are in 640x480x16bit at monitor 75 hz refresh and thats 75fps
[23:30:36] <Cashman> so yeah there has still to be some optimization..
[23:31:12] <Cashman> 15fps - anyone get this low! or are you all running higher end machines anyways
[23:31:28] <Cashman> gtg to uni
[23:31:37] * Cashman teleports out on 5x5 gird
[23:31:46] <-- Cashman has left IRC (Client Quit)