#uwadv@irc.freenode.net logs for 28 May 2003 (GMT)

Archive Today Yesterday Tomorrow
Underworld Adventures homepage


[00:05:07] <pestix> OK, seems to work flawlessly now, thanks wjp, nice dreams... Now, off to bed...
[00:05:15] <-- pestix has left IRC ("Client Exiting")
[04:59:57] --> servus has joined #uwadv
[04:59:59] <servus> h'lo
[05:00:42] <servus> ?log
[05:00:42] <exultbot> Logs are available at http://www.math.leidenuniv.nl/~wpalenst/uwadvlog.php
[15:32:33] --> wjp has joined #uwadv
[15:32:33] --- ChanServ gives channel operator status to wjp
[15:55:19] --> Dark-Star has joined #uwadv
[18:43:56] --> vividos has joined #uwadv
[18:43:56] --- ChanServ gives channel operator status to vividos
[18:50:50] <vividos> hi
[18:51:39] <wjp> hi
[18:54:09] <vividos> did you read the uwadv-devel mail? any guess?
[18:55:06] <wjp> the solaris one?
[18:55:26] <vividos> yes
[18:55:50] <wjp> well, the "./libtool: ./install-sh: cannot execute" error sounds quite clear
[18:56:20] <vividos> no x flag?
[18:56:23] <wjp> no idea
[18:56:34] <wjp> but it should be very easy to solve
[18:56:56] <vividos> with access to a solaris machine
[18:57:05] <wjp> no, with access to his solaris machine :-)
[18:57:15] <vividos> yeah I meant that :)
[18:57:47] <vividos> be back in 5 minutes
[18:57:51] <-- vividos has left IRC ("Leaving")
[19:15:02] --> vividos has joined #uwadv
[19:15:08] --- ChanServ gives channel operator status to vividos
[19:16:19] <wjp> wb
[19:16:20] <vividos> re
[19:21:02] <vividos> I'm currently optimizing the critter frame loading. in debug mode it takes 25 seconds. when I take out inserting the loaded ua_image into a pre-resize()d std::vector, it only takes 7 seconds
[20:50:02] <vividos> there obviously are situations where it's better to not use STL classes :)
[20:50:31] <vividos> using plain arrays alloc'ed by new it takes 1 second now
[20:50:58] <wjp> hm, what exactly does that vector look like?
[20:51:08] <wjp> vector<ua_image> or vector<ua_image*> ?
[20:51:15] <vividos> the first one
[20:51:17] <wjp> ouch
[20:51:20] <wjp> don't resize that one
[20:51:35] <wjp> it'll actually construct all images then
[20:51:39] <vividos> and don't resize it with the second parameter
[20:51:40] <wjp> unless you want that, of course
[20:51:45] <vividos> of course
[20:52:09] <vividos> I store the plain bytes in an array now
[21:01:05] * wjp hmms
[21:01:16] <wjp> I don't really get what you're doing while loading images
[21:01:43] <vividos> do you mean critter frames or images in general?
[21:01:47] <wjp> critter frames
[21:01:53] <wjp> allframes_list is going to contain the images?
[21:01:56] <vividos> critloader.cpp I guess
[21:01:57] <vividos> yes
[21:02:15] <wjp> does this code even work in debug mode?
[21:02:18] <vividos> yes
[21:02:46] <vividos> but it just loads frame 0
[21:02:46] <wjp> but allframes_list is resized to 1 if HAVE_DEBUG
[21:02:49] <wjp> ah, ok
[21:02:54] <wjp> that would be why :-)
[21:03:01] <vividos> yes :)
[21:03:05] <wjp> you're copying an awful lot of data around there
[21:03:13] <vividos> that should be gone soon :)
[21:03:29] <wjp> first you resize allframes_list, meaning you construct a lot of ua_images
[21:03:47] <vividos> that is ok, since I want that many ua_images
[21:03:54] <wjp> and then later you assign a new ua_image to all of them, meaning you constructed them for nothing
[21:04:16] <wjp> I think it would go a lot faster if you do:
[21:04:30] <wjp> ua_image& img_temp = allframes_list[frame_offset+n]
[21:04:47] <wjp> and then skip the assignment to allframes_list[frame_offset+n] later on
[21:05:00] <vividos> yes
[21:05:18] <vividos> I really don't know why I didn't put that code in
[21:05:22] <wjp> did you overload operator= for ua_image, btw? (or is ua_image a shallow object?)
[21:05:59] <wjp> ok, it doesn't contain any pointers or anything so the '=' should work properly
[21:06:05] <vividos> ua_image just has a std::vector<Uint8> member, so the default assignment operator does the needed things
[21:06:05] <vividos> yes
[21:06:06] <wjp> (but it just does a lot of double work, I guess)
[21:08:15] <vividos> I guess I sometimes get too excited about using all those neat STL classes :-)
[21:08:59] <wjp> :-)
[21:09:12] <wjp> I usually store pointers in STL containers
[21:09:39] <vividos> I usually store smart pointers in them
[21:09:44] <vividos> :)
[21:09:48] <wjp> :-)
[21:12:52] <vividos> do you thing gcc gets precompiled header support soon?
[21:13:08] <wjp> heh, I doubt it :-)
[21:13:16] <wjp> it's been "soon" for ages now :-)
[21:13:32] <wjp> the apple version of gcc actually already has them, though
[21:14:19] <vividos> really?
[21:14:31] <wjp> yeah, for quite a while too
[21:15:13] <vividos> is apple's gcc open source?
[21:15:34] <wjp> gcc is GPL, so it would have to be
[21:15:42] <vividos> they could patch it back into gnu's gcc
[21:16:11] <wjp> well, I think the code for mainstream gcc is actually already done
[21:16:15] <wjp> ("done")
[21:16:28] <wjp> but I'm not sure of the details
[21:18:39] <vividos> well ok
[21:18:49] <vividos> did you install wxWindows yet?
[21:19:15] <wjp> not sure
[21:19:26] <wjp> I've been having some version-incompatibilities with it
[21:19:34] <wjp> so I may have just uninstalled it
[21:19:40] <vividos> ah ok
[21:19:42] <vividos> I recently got a project to compile using mingw32, msys and msys-dtk using wxWindows
[21:19:56] <wjp> I have wx-gtk 2.4.0
[21:20:08] <vividos> want to try the project?
[21:21:22] <wjp> depends on what the project is :-)
[21:21:24] <vividos> (I later want to do the --with-uadebug switch, which in turn has to use wxWindows)
[21:21:46] <vividos> just a small one, I'm just doing the dist
[21:22:06] --> Dominus has joined #uwadv
[21:22:17] <Dominus> hi vividos
[21:22:51] <vividos> hi Dominus"!
[21:23:21] <Dominus> vividos: I got a new computer and get insane frame rates with uwadv now :-)
[21:23:42] <vividos> heh, good to hear
[21:24:46] <Dominus> between 219 and 890 at times
[21:25:00] <vividos> frames per second? wow!
[21:25:27] <Dominus> but it is mostly around 290 and 380
[21:26:14] <vividos> nice. now we can turn on lighting to decrease that number again :)
[21:26:25] <Dominus> yeah, I quite like to show off my system atm :-)
[21:26:34] <Dominus> yep, I don't mind
[21:26:42] <Dominus> throw at me what you want :-)
[21:27:14] <vividos> heh
[21:27:39] <vividos> I also thought about limiting fps at a point, since my cpu temperature goes up when running uwadv
[21:28:02] <Dominus> how is it progressing? I do update cvs from time to time but without a changelog I can't tell what's happening
[21:28:32] <Dominus> yeah, at a certain amount it is just not worth having more fps
[21:28:57] <Dominus> how much fps does uwadv need anyway? 20? 30?
[21:29:43] <vividos> the game ticks at 20 ticks per second, so nothing can be faster than 20 fps
[21:30:25] <Dominus> well, then cap it
[21:30:52] <wjp> Dominus: http://uwadv.sourceforge.net/index.php?page=devlog
[21:31:04] <wjp> vividos: congrats on getting a job, btw :-)
[21:31:08] <Dominus> yeah, I know
[21:31:12] <vividos> thanks
[21:32:50] <Dominus> what job o you have?
[21:33:16] <vividos> software developer at a local firm
[21:33:32] <Dominus> nice
[21:37:18] <Dominus> grr, my headache is killing me
[21:42:50] <Dominus> time to leave
[21:42:53] <Dominus> bye
[21:42:56] <-- Dominus has left IRC ("enough for now")
[22:41:04] <-- Eldron has left IRC (Read error: 60 (Operation timed out))
[22:41:39] <vividos> wjp, what about adding the debian build files to the dist package?
[22:47:57] <wjp> not sure
[22:54:25] <vividos> I think we'll leave them out
[23:32:16] <vividos> should go to be. night!
[23:32:27] <servus> youre capping at 20fps? *gasps* ick! aghhh!
[23:33:25] <vividos> :) first look if I can implement it decently
[23:33:31] <servus> how vile, don't hardcode it at least :-p
[23:33:50] <servus> ive done a lot of work on that sort of thing...
[23:34:30] <servus> perhaps ticks should be for the game physics/interactions/ai, not for movement, especially "looking around"... are you using frustum culling?
[23:35:43] <vividos> frustum culling: yes
[23:36:16] <vividos> ticks are for movement, too
[23:36:18] <servus> frustum culling based on position (simple culling) or viewpoint (advanced culling )
[23:36:34] <servus> well thats gross, quite frankly:P
[23:36:36] <vividos> both I would say
[23:37:10] <vividos> a player cannot move faster than a given "tile per second" speed
[23:38:19] <servus> 20fps is choppy. you should not limit the player to that... at least make frame limiting an option
[23:38:52] <servus> 24.9FPS is considered the bare minimum to create an immersive environment, though 29.9/30 is what you should like to see, and 70fps is what i require :)...
[23:38:56] <vividos> when I figured out how to do it, ok
[23:39:09] <servus> this game is not complicated; if it struggles to go past 20fps with hardware acceleration, then something is being done wrong.
[23:39:40] <vividos> do you think walking is choppy at the moment?
[23:40:53] <servus> yes
[23:41:22] <vividos> hmm
[23:41:30] <vividos> didn't experience that yet
[23:41:39] <servus> the choppiness is further pronounced by how movement is based on a very simple "press a key, walk a step forward" system; the only variables are position and velocity... you need position, velocity and acceleration to create a smooth gait
[23:41:52] <servus> im at 200FPS, but it's choppy
[23:42:23] <vividos> that's how the original game handled it
[23:42:25] <servus> this is mainly because of the way that walking is currently implemented... let me get uwadv up in my compiler:)
[23:42:45] <vividos> I wanted to go to bed now ..
[23:42:52] <servus> i think not :) in the original game, if you walk forward a bit, you got momentum and it took a little while to "slow down"
[23:43:14] * wjp nods; that's what I remember too
[23:43:19] <wjp> might've been UW2, though
[23:43:34] <vividos> of course that's how it should behave like
[23:43:45] <servus> it's subtle... it takes 1 to 2 ticks to slow down entirely, but its a big factor
[23:44:29] <servus> is there a good commandline CVS client for windows?
[23:44:48] <vividos> cvs.exe :) why not trying out tortoisecvs?
[23:45:37] <servus> well i dont have cvs.exe, that's the issue :P
[23:45:50] <wjp> then get it :-)
[23:46:05] * servus is
[23:46:20] <servus> i had looked before and all i found was this terrible WinCVS program... *shivers*
[23:46:31] <servus> i will implement accelerated walking, then...
[23:46:32] <wjp> wincvs has a commandline cvs bundled with it
[23:47:04] <servus> so it does
[23:47:05] <wjp> (at least, that's what I think someone said)
[23:48:13] <vividos> ok have to go. night!
[23:48:18] <servus> now to figure it out; night vividos
[23:48:18] <wjp> night
[23:48:33] <vividos> (all code should be in physics.cpp)
[23:48:37] <-- vividos has left IRC ("Leaving")
[23:48:59] <wjp> http://sourceforge.net/cvs/?group_id=50987
[23:50:18] <servus> it asks for a password, how odd... didnt for exult
[23:50:43] <servus> there we go
[23:51:15] <servus> ive just about finished "a friendly outcast" -- the first human you see in uwadv:)
[23:51:31] <servus> http://4.60.125.19/images/uwadv/Male%20Fighter%20Rough01.jpg
[23:51:52] <servus> (week old pic)
[23:52:27] <wjp> slightly bright, but looks good :-)
[23:52:44] <servus> when modelling, i turn brightness up all the way so i can see edges.
[23:54:34] <servus> ugh, i have to install lots of crappy little libraries a la zlib :)