#uwadv@irc.freenode.net logs for 10 Sep 2002 (GMT)

Archive Today Yesterday Tomorrow
Underworld Adventures homepage

[11:46:44] <-- ryan has left IRC (capek.openprojects.net irc.openprojects.net)
[11:47:10] --> ryan has joined #uwadv
[13:32:27] --> vividos has joined #uwadv
[13:32:27] --- ChanServ gives channel operator status to vividos
[13:32:32] <vividos> hi
[15:15:13] --> wjp has joined #uwadv
[15:15:13] --- ChanServ gives channel operator status to wjp
[15:15:13] <-- vividos has left IRC (Connection reset by peer)
[16:47:57] <ryan> heh
[16:48:04] <ryan> wb wjp
[17:07:43] <wjp> hi
[17:13:23] <wjp> following up to last night...
[17:13:26] <wjp> do you have gdb?
[18:05:55] --> vividos has joined #uwadv
[18:05:55] --- ChanServ gives channel operator status to vividos
[18:06:11] <wjp> hi
[18:06:17] <vividos> hi!
[18:06:21] <wjp> vividos: did you read last night's logs?
[18:06:36] <vividos> about the texture sizes? yes
[18:06:54] <wjp> what exactly is the problem with voodoo 3 support?
[18:07:12] <vividos> the cards only support textures up to the size of 256x256
[18:07:45] <vividos> the splash screen graphics and the menu are done using a texture to hold the 320x200 images
[18:07:53] <wjp> and last weekend you changed things to use only <256x256, right?
[18:08:02] <wjp> (or to make it possible to use those?)
[18:08:15] <vividos> as opengl wants textures that are of size 2^n x 2^m, the texture used is of size 512x256
[18:08:40] <vividos> I changed the start splash screen and the ingame screen to use smaller textures
[18:09:09] <vividos> I didn't touch the cutscene view and the start menu screen yet
[18:09:48] <wjp> so it should at least show the splash screen now?
[18:09:57] <vividos> as Dominus has a voodoo3 too (I think), it only happens with older cards, I suppose
[18:10:00] <vividos> yes
[18:10:24] <ryan> gdb?
[18:10:34] * wjp nods
[18:10:35] <wjp> debugger
[18:11:14] <ryan> yeah i do
[18:11:25] <vividos> it is an automatic debugger that removes all bugs from the code, as well as adds the features on the feature list automatically :->
[18:11:31] <wjp> lol
[18:11:33] <vividos> scnr
[18:11:34] <ryan> ahaha
[18:11:39] <wjp> do we have a quotes file? :-)
[18:11:57] <vividos> not yet :)
[18:11:57] <ryan> i do
[18:12:07] <wjp> ryan: "gdb uwadv", and then "run" once in gdb
[18:12:09] <ryan> (iQ) [#admin] [04/22/02] [12:13] <@vash_> depends [12:13] <@vash_> kernel level or usermode [12:13] <@vash_> i run my rpc in usermode [12:14] <@vash_> some retards do it in colonel sanders' mode [12:14] <@vash_> but that's asking for it
[18:12:27] <vividos> hehe
[18:12:44] <wjp> :-)
[18:12:59] <vividos> would be a nice piece of software. only writing features list. a new era of "features list programming", as opposed to object oriented programming
[18:13:10] <ryan> Program received signal SIGSEGV, Segmentation fault.
[18:13:11] <ryan> [Switching to Thread 1024 (LWP 6564)]
[18:13:11] <ryan> 0x402ed2ac in __strtod_internal () from /lib/libc.so.6
[18:13:51] <vividos> please type "bt" and tell me what you see
[18:14:01] <ryan> paste it all?
[18:14:08] <ryan> its 13 lines
[18:14:21] <vividos> only the lines near the last call
[18:14:35] * vividos doesn't know if the call stack goes "up" or "down"
[18:14:36] <ryan> #8 0x0805d5c3 in ua_game::init_core ()
[18:14:37] <ryan> #9 0x080922b1 in ua_uwadv_menu_screen::init ()
[18:14:37] <ryan> #10 0x0805d688 in ua_game::push_screen ()
[18:14:37] <ryan> #11 0x0805cda0 in ua_game::init ()
[18:14:37] <ryan> #12 0x0807125a in main ()
[18:14:40] <ryan> #13 0x402d30bf in __libc_start_main () from /lib/libc.so.6
[18:14:51] <vividos> eerm, the other side :)
[18:15:17] <ryan> (gdb) bt
[18:15:17] <ryan> #0 0x402ed2ac in __strtod_internal () from /lib/libc.so.6
[18:15:17] <ryan> #1 0x080b0c12 in closestFit ()
[18:15:17] <ryan> #2 0x080b2df9 in gluBuild2DMipmaps ()
[18:15:17] <ryan> #3 0x08058665 in ua_texture::upload ()
[18:15:20] <ryan> #4 0x08058b0f in ua_texture_manager::prepare ()
[18:15:38] <vividos> hmm, error in OpenGL
[18:15:45] <ryan> ah.
[18:16:07] <vividos> wjp, how can I see the params of call stack #3
[18:16:09] <vividos> ?
[18:16:20] <wjp> it probably isn't compiled with debugging info
[18:16:39] <wjp> since it should give arguments and line numbers
[18:16:41] <vividos> hmm, should at least show the parameters
[18:16:57] <wjp> ryan: try typing 'up'
[18:17:19] <wjp> (3 times)
[18:18:44] <wjp> but this is in the menu screen, right?
[18:20:08] <vividos> should be before the menu screen
[18:20:35] <ryan> #1 0x080b0c12 in closestFit ()
[18:20:37] <ryan> (gdb) up
[18:20:37] <ryan> #2 0x080b2df9 in gluBuild2DMipmaps ()
[18:20:37] <ryan> (gdb) up
[18:20:37] <ryan> #3 0x08058665 in ua_texture::upload ()
[18:22:44] <wjp> it's somewhere in ua_uwadv_menu_screen::init, so wouldn't this just mean it's trying to upload a 512x256 texture?
[18:23:54] <wjp> anyway, let's get some debugging info:
[18:24:09] <vividos> no, the uwadv_menu_screen isn't written, it just calls init_core where the texture manager is init()ed
[18:24:17] <wjp> ryan, could you open source/Makefile.am, and put a ' -g' behind the -Wall in the CXXFLAGS= line?
[18:25:07] <ryan> kay
[18:25:08] <vividos> ryan, could you paste lines #5 through #7 of gdb output?
[18:25:20] <wjp> and a -g at the end of the LDFLAGS= too
[18:25:58] * vividos sees ryan rotating before his computer
[18:26:01] <ryan> #5 0x08054065 in ua_level::prepare_textures ()
[18:26:01] <ryan> #6 0x0805a0b3 in ua_underworld::change_level ()
[18:26:01] <ryan> #7 0x08059ef2 in ua_underworld::init ()
[18:26:11] <vividos> ah ok
[18:26:19] <wjp> hm, --enable-debug in configure.ac doesn't work currently; I'll have to fix that
[18:26:34] <ryan> heh
[18:26:36] <wjp> or maybe it does work... hmm... *tries*
[18:26:39] <ryan> i added the -g flags
[18:26:44] <ryan> and am recompiling
[18:28:42] <ryan> er
[18:28:51] <ryan> what all do i have to do after editing the makefile.am
[18:29:11] <ryan> what point do i have to start at heh
[18:29:22] <ryan> ./configure again or just make ?
[18:31:09] <wjp> make clean
[18:31:10] <wjp> make
[18:31:41] <vividos> ryan, do you use uw1 or the uw_demo to test?
[18:32:49] <ryan> uw1
[18:40:45] <ryan> okay
[18:40:46] <ryan> now what
[18:40:53] <ryan> (i've compiled the new binary)
[18:41:20] <vividos> just "gdb uwadv" and "run" again
[18:41:35] <ryan> (gdb) bt
[18:41:35] <ryan> #0 0x402ed2ac in __strtod_internal () from /lib/libc.so.6
[18:41:35] <ryan> #1 0x080b0c12 in closestFit ()
[18:41:35] <ryan> #2 0x080b2df9 in gluBuild2DMipmaps ()
[18:41:35] <ryan> #3 0x08058665 in ua_texture::upload (this=0xbfffd8e0, mipmaps=true)
[18:41:37] <ryan> at texture.cpp:138
[18:41:40] <ryan> #4 0x08058b0f in ua_texture_manager::prepare (this=0xbfffd8c8, idx=0)
[18:41:43] <ryan> at texture.cpp:208
[18:41:45] <ryan> #5 0x08054065 in ua_level::prepare_textures (this=0x8248798,
[18:41:48] <ryan> texmgr=@0xbfffd8c8) at level.cpp:42
[18:41:50] <ryan> #6 0x0805a0b3 in ua_underworld::change_level (this=0xbffff9a8, level=0)
[18:41:53] <ryan> at underworld.cpp:94
[18:41:55] <ryan> #7 0x08059ef2 in ua_underworld::init (this=0xbffff9a8, thecore=0xbfffd8a8)
[18:41:58] <ryan> at underworld.cpp:54
[18:42:00] <ryan> #8 0x0805d5c3 in ua_game::init_core (this=0xbfffd8a8) at uwadv.cpp:323
[18:42:03] <ryan> #9 0x080922b1 in ua_uwadv_menu_screen::init (this=0x8175d60)
[18:42:05] <ryan> at screens/uwadv_menu.cpp:66
[18:42:08] <ryan> #10 0x0805d688 in ua_game::push_screen (this=0xbfffd8a8, newscreen=0x8175d60)
[18:42:11] <ryan> at uwadv.cpp:339
[18:42:13] <ryan> #11 0x0805cda0 in ua_game::init (this=0xbfffd8a8) at uwadv.cpp:143
[18:42:16] <ryan> #12 0x0807125a in main (argc=1, argv=0xbffffb74) at linux/main.cpp:44
[18:43:00] <vividos> hmm hmm
[18:44:12] <vividos> could you do 3x "up" and then a "look this" (is this right wjp?)
[18:45:46] <wjp> "print *this", probably
[18:45:53] <vividos> ok
[18:46:03] <vividos> that was what I meant
[18:47:42] <vividos> btw: uwadv is the 6th hit when googling for "ultima underworld" :)
[18:48:10] <vividos> twistsoft is second because they change their website so often :)
[19:01:44] * vividos wonders if ryan is still alive :)
[19:03:03] <ryan> (gdb) up
[19:03:03] <ryan> #1 0x080b0c12 in closestFit ()
[19:03:04] <ryan> (gdb) up
[19:03:04] <ryan> #2 0x080b2df9 in gluBuild2DMipmaps ()
[19:03:04] <ryan> (gdb) up
[19:03:06] <ryan> #3 0x08058665 in ua_texture::upload (this=0xbfffd8e0, mipmaps=true)
[19:03:09] <ryan> at texture.cpp:138
[19:03:11] <ryan> 138 GL_UNSIGNED_BYTE, tex);
[19:03:14] <ryan> (gdb) print *this
[19:03:16] <ryan> $1 = {texmgr = 0xbfffd8c8, u = 1, v = 1, xres = 64, yres = 64,
[19:03:19] <ryan> last_used_tex_idx = 0,
[19:03:22] <ryan> texels = {<_Vector_base<unsigned int,allocator<unsigned int> >> = {<_Vector_alloc_base<unsigned int,allocator<unsigned int>,>> = {_M_start = 0x447be008,
[19:03:24] <ryan> _M_finish = 0x44b06008,
[19:03:27] <ryan> _M_end_of_storage = 0x44b06008}, <No data fields>}, <No data fields>},
[19:03:29] <ryan> texname = {<_Vector_base<unsigned int,allocator<unsigned int> >> = {<_Vector_alloc_base<unsigned int,allocator<unsigned int>,>> = {_M_start = 0x8184fb0,
[19:03:32] <ryan> _M_finish = 0x81852f8,
[19:03:35] <ryan> _M_end_of_storage = 0x81852f8}, <No data fields>}, <No data fields>}}
[19:03:37] <ryan> i need to go to work now guys sorry ;/
[19:03:42] * ryan ; work
[19:06:28] <vividos> ok, thanks for help anyway!
[19:07:08] <vividos> for me it seems like an error in the OpenGL library. maybe the driver/card doesn't like mipmap textures ...
[19:16:11] <vividos> btw, I think before anyone writes more Lua code for uwadv, we clearly need a nice visual debugging tool :)
[19:29:37] <-- vividos has left IRC ("restart")
[19:31:04] --> vividos has joined #uwadv
[19:31:04] --- ChanServ gives channel operator status to vividos
[19:31:46] <-- vividos has left IRC (Client Quit)
[19:33:46] --> vividos has joined #uwadv
[19:33:46] --- ChanServ gives channel operator status to vividos
[19:37:27] <vividos> strange, wxWindows install.txt says to set env variable WXWIN, but it needs WX
[19:43:58] <wjp> I guess their install.txt could use some updating then :-)
[19:45:57] <vividos> the wxbase_dll project doesn't build at all
[19:46:10] <vividos> but it seems I found the proper workspace to compile
[19:48:21] <vividos> I'm already asked myself how to "connect" a debugger onto uwadv
[19:49:12] <vividos> exult has sockets, but I think that's a bit too complex
[19:50:10] <wjp> hm, what would you use, then?
[19:50:39] <vividos> simply another thread with locked access to the ua_underworld object
[19:51:56] <vividos> if that's doable
[19:53:04] <wjp> how would you do this locking?
[19:53:17] <vividos> SDL has some locking stuff
[19:53:45] <wjp> but that would require wrapping all current uses of it with locking calls, wouldn't it?
[19:54:09] <vividos> uwadv and the debugger only have to exchange data at some points, e.g. a new lua source line is reached. I thought of a debug hook class that does all the locking and such
[19:54:48] <vividos> finished compiling wx.lib, with only 262 warnings :)
[19:54:55] <wjp> :-)
[19:58:14] <vividos> the debug hook class has to have some control over the whole main loop
[19:58:31] <vividos> to prevent modifying the underworld object
[20:02:46] <vividos> wx has some nice examples; a minesweeper and solitaire game; even a "fractal mountains" generator
[20:05:10] <vividos> even the game of life :)
[20:06:08] <wjp> brb, phone
[20:08:00] * vividos is captured by the game of life ...
[20:12:57] <wjp> b
[20:14:54] <vividos> back to more real things :)
[20:41:25] <vividos> ow, should not look at wxwindows code for an hour or so ...
[20:42:11] <wjp> ?
[20:42:37] <vividos> its full of pointers :)
[20:43:21] <vividos> hey, they have a channel here on OPN, #wxwindows
[20:44:04] <wjp> hm, looks like I even have wxwindows installed here
[20:44:11] <wjp> which version are you planning on using?
[20:45:14] <vividos> I downloaded and built 2.2.9. don't know what differences there are between different versions
[20:45:23] <wjp> good, that's the one I have too :-)
[20:53:07] <vividos> I'm looking through the various sites and tutorials, but most looks like references to me. I probably should start to code a simple "hello underworld" program first
[20:54:15] <vividos> I'm targetting for a Visual Studio-like appearance
[20:55:35] <wjp> http://www.math.leidenuniv.nl/~wpalenst/debugging5.png <-- my u7 usecode debugger
[20:56:01] <wjp> is that at all similar to visual studio?
[20:56:21] * wjp never used the debugger in msvc
[20:59:04] <vividos> a bit like that, but windows can be reordered as I like. I take a screenshot of msvc
[21:04:35] <wjp> I should really continue working on that debugger again sometime
[21:05:20] <vividos> http://www.asamnet.de/~finkm/msvc.png
[21:06:08] <vividos> you really have a big monitor :)
[21:06:22] <wjp> 19 inch (using 1600x1200)
[21:06:30] * wjp loves 1600x1200 :-)
[21:06:53] <vividos> refresh rate?
[21:06:59] <wjp> 85Hz
[21:07:56] <vividos> that's ok. my monitor at best can do 75Hz
[21:09:38] <vividos> do you get what I meant? there are many little windows that can display player attributes, conversation flags, etc., and the main window shows lua or conv. code
[21:10:02] * wjp nods
[21:14:39] <vividos> ok, have to go. maybe I find time tomorrow to do some experiments with wxWindows.
[21:14:42] <vividos> 'night!
[21:16:03] <-- vividos has left IRC ("Leaving")
[21:16:04] <wjp> night
[21:31:52] <-- wjp has left IRC ("Zzzz...")