#exult@irc.freenode.net logs for 25 Jul 2002 (GMT)

Archive Today Yesterday Tomorrow
Exult homepage


[00:04:10] * wjp should be going
[00:04:12] <wjp> bye
[00:04:17] <-- wjp has left IRC ("Zzzz...")
[03:44:46] <-- matto has left IRC (Remote closed the connection)
[05:03:50] --> Kirben has joined #exult
[05:03:50] --- ChanServ gives channel operator status to Kirben
[07:59:18] --- Darke|afk is now known as Darke
[08:48:07] <Kirben> hmm could a code change is exult 1.1.0cvs be causing it not to run on this system ?
[08:48:42] <Kirben> exult 0.99.2cvs still runs fine, along with other recent mingw compiled programs.
[08:49:10] <Darke> Yes, it's not only possible, but likely probable. *grin*
[10:59:07] --> wjp has joined #exult
[10:59:07] --- ChanServ gives channel operator status to wjp
[10:59:16] <wjp> hi
[10:59:27] <Darke> Hi.
[11:10:40] <wjp> Kirben: hm, with or without opengl compiled in?
[11:10:47] <Kirben> both
[11:11:01] <wjp> weird
[11:59:20] * Darke yawns. Sleep time. Night all. *grin*
[11:59:27] --- Darke is now known as Darke|zzZ
[12:08:44] --> Colourless has joined #Exult
[12:08:44] --- ChanServ gives channel operator status to Colourless
[12:08:57] <Colourless> hi
[12:09:46] <wjp> hi
[12:09:51] --- wjp is now known as wjp|work
[12:18:11] --> Dominus has joined #exult
[12:18:31] --- ChanServ gives channel operator status to Dominus
[12:18:37] <Dominus> hi
[12:18:44] <Dominus> Kirben: so Exult unstable doesn't run for you?
[12:19:01] <Dominus> I'm just compiling to see if mine works
[12:19:05] <Colourless> hi
[12:23:43] <Kirben> yes, http://members.optusnet.com.au/wormmon/error.jpg
[12:24:57] <Dominus> compile should be done in a moment...
[12:25:20] <Kirben> It seems very system specific
[12:25:38] <Kirben> The binary I sent you the other day had that problem
[12:26:48] <Colourless> sounds like a dll related problem
[12:27:27] <Colourless> if one of the calls to any of the dllmain's in any of the dll files used fails, you get that message
[12:28:47] <Kirben> What is easiest way to find all the dlls used by exult.exe ?
[12:29:02] <Colourless> depends :-) (that's the name of the program btw :-) )
[12:29:13] <Kirben> exult 0.99.2cvs still works
[12:29:19] <Dominus> http://www.koeltzsch.com/
[12:29:25] <Colourless> i'll see if i can find what error 0xC0000018 means
[12:29:33] <Dominus> http://www.koeltzsch.com/Software/killprocess.asp
[12:30:03] <Colourless> i should be able to give you a copy of depends
[12:30:48] <Colourless> what you can also do with depends is profile the program
[12:30:57] <Colourless> it will tell you exactly where a dll screws up
[12:31:10] <Dominus> at that link you get killprocess, which shows you on a right click all the dlls a program uses (and their location)
[12:31:41] <Dominus> of course Exult still works for me :-)
[12:32:50] <Dominus> I'm sending you the exe (it's easier than getting it from there)
[12:33:08] <Dominus> damn, I'm stupid
[12:33:20] <Dominus> of course it only shows you it, when it's running
[12:33:28] <Dominus> sorry
[12:33:32] <Dominus> stupid of me
[12:35:26] <Dominus> this is a list of all the dlls Exult unstable uses on my system
[12:35:49] <Kirben> killprocess works
[12:35:55] <Dominus> along with their version numbers
[12:36:09] <Kirben> since exult.exe is running to produce the error but isn't using all dlls
[12:38:38] <Dominus> this is with sound enabled
[12:38:45] <Dominus> 4 dlls more
[12:39:05] <Dominus> maybe by comparing with your dlls you find the problem
[12:39:19] <Colourless> try using depends
[12:39:30] <Colourless> run depends, open exult.exe
[12:39:42] <Kirben> weird
[12:39:44] <Colourless> then go 'Profile'
[12:39:50] <Colourless> Start Profiling
[12:39:59] <Kirben> spots two missing dlls straight off, odd ones though:
[12:40:09] <Kirben> efsadu.dll and gdiplus.dll
[12:40:13] <Colourless> Make sure that that "Hook the process to gather more..." isn't set
[12:40:25] <Colourless> yeah, depends can't find those dll (winxp stuff)
[12:43:41] <Colourless> when exult comes up with the error message, you 'should' be able to see where the problem was in the log
[12:44:11] <Dominus> happy bug hunting, I have to go
[12:44:13] <Dominus> bye
[12:44:16] <wjp|work> bye
[12:44:18] <Colourless> cya
[12:44:21] <-- Dominus has left IRC ("Exult! Exult! Exult!")
[13:21:32] <Kirben> I don't get profiling options, just these errors:
[13:21:33] <Kirben> Error: At least one required implicit or forwarded dependency was not found.
[13:21:33] <Kirben> Warning: At least one delay-load dependency module was not found.
[13:21:33] <Kirben> Error: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
[13:22:23] <Colourless> so when you do "Start Profiling" that is what you get?
[13:23:17] <Kirben> I run depend, open exult.exe in depend and that option is greyed out, not available.
[13:23:39] <Colourless> strang
[13:23:40] <Colourless> e
[13:23:49] <wjp|work> does it work if you open a working exult.exe?
[13:24:45] <Kirben> no
[13:25:31] <Colourless> can you get 'profile' to work on any program?
[13:26:57] <Kirben> no
[13:30:57] <Kirben> would dccing depend output help ?
[13:31:45] --> Fingolfin has joined #exult
[13:33:22] <Colourless> if you wan
[13:33:23] <Colourless> t
[13:33:53] <Fingolfin> yo
[13:33:55] --- ChanServ gives channel operator status to Fingolfin
[13:34:00] <Colourless> as far as output goes, that's huge :-)
[13:34:02] <wjp|work> hi
[13:34:19] <Colourless> i'm gussing picture? :-)
[13:36:41] <Kirben> no saved file from depend
[13:38:57] <Kirben> for pic http://members.optusnet.com.au/wormmon/error2.jpg
[13:39:39] <wjp|work> ack, I was trying to use the scrollbars :-)
[13:39:49] <Colourless> i think i've got a newer version of depends here...
[13:40:04] <Colourless> just got to 'find' where it is on my hd
[13:40:16] <wjp|work> does it give any details when you click on that 'invalid' node?
[13:40:48] <wjp|work> hm, btw, that tree looks like imm32.dll has broken dependencies?
[13:41:03] <Kirben> Is it same one from http://www.dependencywalker.com/ ?
[13:41:34] <Kirben> yes but don't know what...
[13:41:59] <Colourless> yeah, it's the same program
[13:42:05] <Colourless> try downloading the newest version
[13:42:35] <wjp|work> what's imm32.dll?
[13:43:10] <Kirben> the imm32.dll and gdiplus.dll errors disappear with this version.
[13:43:17] <Kirben> profiling works now too:
[13:43:19] <Kirben> LDR: SizeOfBlock : 0x630000
[13:43:19] <Kirben> Unloaded "Unknown" at address 0x00630000.
[13:43:19] <Kirben> Second chance exception 0xC0000018 (Unknown) occurred in "NTDLL.DLL" at address 0x77FA7412.
[13:43:19] <Kirben> Exited "EXULT.EXE" (process 0x6BC) with code 128 (0x80).
[13:43:27] <Kirben> thats last few lines
[13:45:37] <Colourless> that 'might' be an 'invalid page fault' exception...
[13:46:32] <Colourless> really, i just don't know
[13:47:08] <wjp|work> does profiling a working exult.exe work now?
[13:47:58] <Kirben> yes
[13:51:36] <wjp|work> what's a second chance exception?
[13:54:09] <Colourless> it's related to debugging
[13:54:26] <Colourless> a second chance exception is one that the debugger wouldn't normally know about
[13:54:39] <Colourless> http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q105675&
[13:59:50] <Colourless> do you want to send me the full output from depends once you have profiled exult and it crashes?
[14:08:03] <Kirben> ok
[14:15:07] <Colourless> try running it with the 'hooks' enabled for LoadLibrary and GetProcessAddress
[14:15:23] <Colourless> send me the output for them
[14:15:39] <Colourless> s/them/it/
[14:15:47] <Colourless> (enable both and just run once)
[14:18:24] <wjp|work> time for me to go home
[14:18:24] <wjp|work> bye
[14:18:27] <-- wjp|work has left IRC ("[x]chat")
[14:22:25] <Colourless> yay, didn't give me any more info :-)
[14:23:07] <Kirben> I thought output looked the same, even with hooks
[14:24:36] <Colourless> i am 99% sure the problem is with the sdl mixer dll
[14:26:02] <Kirben> eeek, you right
[14:26:14] <Kirben> sdl-mixer was corrupt some how..
[14:26:51] <Kirben> just download again in case and old one has 20k missing
[14:28:29] <Kirben> Now I remember, I stripped all dlls in directory with mingw awhile ago. Which corrupted all dlls produce with ms vc+.. sorry to waste your time.
[14:29:03] <Kirben> I was experimenting with studio at time and didn't think to restore sdl dlls
[14:29:05] <Colourless> :-)
[14:29:23] <Colourless> msvc dll's normally already are stripped
[14:29:39] <Colourless> debugging info isn't kept in the dll's
[14:30:03] <Kirben> ok, won't attempt that again for sure.
[14:31:49] <Kirben> Should I enable opengl in snapshots ? since its not enabled by default and could use some testing.
[14:32:18] <Colourless> imo, it's a little 'too' buggy to be used
[14:32:36] <Kirben> ok
[14:32:54] <Colourless> like how i said, no opengl snapshots for pentagram.
[14:33:03] <Colourless> though you can always ask jeff
[15:09:20] <-- Kirben has left IRC (Connection reset by peer)
[16:04:49] --> wjp has joined #exult
[16:04:49] --- ChanServ gives channel operator status to wjp
[16:04:51] <wjp> hi
[16:05:20] <Colourless> wb
[16:20:33] <Colourless> hmm, why is phorum now showing all of our host addresses/ip's...
[16:21:00] <wjp> because you're a mod
[16:21:49] <wjp> if you're not logged in as a mod it'll only show (partial) IPs on the not-logged-in messages
[16:22:29] <Colourless> ah ok :-)
[16:22:49] <Colourless> before it never gave me full addresses even when i was logged in
[16:23:29] <wjp> yeah
[16:23:42] <wjp> I kind of like the new way :-)
[16:24:13] <Colourless> as long as we're the only ones getting full addresses, then yeah, all is good :-)
[16:48:18] --> Blobbart has joined #exult
[16:48:31] <Blobbart> anybody home
[16:48:32] <Blobbart> ?
[16:48:37] <wjp> hi
[16:48:58] <Blobbart> i was wondering if you knew if there is a way to pause u7 when in inventory mode
[16:49:09] <Blobbart> i believe it did this in the dos version
[16:49:50] <wjp> hm, that's a touchy subject :-)
[16:50:16] <Blobbart> i guess they should put it in the options menu or something
[16:50:17] <Blobbart> :)
[16:50:42] <wjp> 'they'? :-)
[16:50:52] <Blobbart> the devs or the makers of exult
[16:50:58] <Blobbart> i don't know whats goin on with it
[16:50:59] <Blobbart> heh
[16:51:00] <wjp> that would be us ;-)
[16:51:39] <Blobbart> the only reason why im complaining about it is because sometimes im organizing my pack and time flies by
[16:51:53] <Blobbart> also it's hard to targer some monsters with sleep potions if they're runnin around :)
[16:52:08] <wjp> it's rather tricky to implement at this stage, I'm afraid
[16:52:15] <wjp> it's still somewhere on our todo-list, though
[16:52:22] <Blobbart> ohh i thought you just didn't want to do it
[16:52:30] <Blobbart> thanks for the info
[16:53:44] <wjp> I'm kind of wondering how we should implement it...
[16:54:02] <wjp> we already fully pause the game when Exult loses focus
[16:54:22] <Blobbart> well in the options menu you can change how fast time goes by
[16:54:24] <wjp> that mechanism might be able to be used for inventory-pausing too, but it might have some interesting consequences
[16:54:41] <Blobbart> couldn't you make time go to a screeching halt
[16:54:46] <Blobbart> i mean in the cheat menu you can do that
[16:54:50] <Blobbart> i believe
[16:55:49] <Colourless> wjp: i really can't foresee any problems using the lost focus code to do pausing while gumps are open
[16:56:08] <wjp> Colourless: what about trying to interact with the world while in gump mode?
[16:56:50] <Colourless> i don't think the code stops that
[16:56:58] <Blobbart> and still have it pause when the target thing comes up
[16:56:59] <Blobbart> i guess
[16:57:26] <wjp> what exactly does the time queue do when paused?
[16:57:41] <Blobbart> i dunno
[16:57:44] <Blobbart> never tried it
[16:57:58] <wjp> Blobbart: sorry, was talking to Colourless :-)
[16:58:01] <Blobbart> maybe you can't make it go to 0
[16:58:04] <Blobbart> :(
[16:58:04] <Colourless> wjp: um, nothing in the world gets executed
[16:58:29] <wjp> let me rephrase it:
[16:58:54] <wjp> what happens when Exult is paused on a different event loop, like with 'T', and the time queue continues afterwards?
[16:59:50] <wjp> I think what I'm basically wondering is is how ticks are measured
[17:00:02] <Colourless> nothing much really. exult's time queue is only time limited, it wont attempt to catch up on lost time
[17:00:13] <Colourless> (if that makes any sense)
[17:01:33] <Colourless> most (if not all) things work on the idea of time_to_activate = current_time + period not time_to_activate = time_to_activate + period
[17:02:03] <wjp> hm, but the time queue works with SDL_GetTicks(), doesn't it?
[17:02:14] <Colourless> yes it does
[17:02:22] <wjp> oh, wait, I see... after a pause it adds the time paused to all entries
[17:02:55] <wjp> ...but it doesn't do that when 'paused' on other event handlers, such as modal gumps or 't'
[17:02:58] <Colourless> such things are the reason why I do not want pentagram running on a ms time system
[17:03:28] <wjp> yes, the unit used in the time queue should be a 'tick' that we can define ourselves
[17:03:39] <Colourless> i want pentagram running strict frame based timing system
[17:03:48] <wjp> something updated a fixed number of times per second, and not updated while paused
[17:04:11] <Colourless> yeah there will be a clock object that determines when a tick occurs
[17:04:18] <wjp> I wonder how weird Exult would behave if you press 't' and come back an hour later
[17:04:37] <Colourless> exult's running of the world will catch up a bit of time in some places
[17:04:50] <wjp> anyway, using the out-of-focus code doesn't have this problem
[17:04:52] <Colourless> it might mess up animations a tad
[17:05:12] <Colourless> what about conversations and usecode?
[17:05:19] <Colourless> i'm thinking they have the same problem as with target
[17:05:30] <wjp> hm, what event handler do conversations use?
[17:05:36] <Colourless> their own
[17:06:27] <wjp> hm, really?
[17:06:53] <wjp> probably uses a get_click or something?
[17:07:02] <-- Blobbart has left IRC ()
[17:07:18] <Colourless> it should be somewhere int Usecode_internal::get_user_choice_num
[17:07:28] <Colourless> char chr; // Allow '1', '2', etc.
[17:07:29] <Colourless> int result=Get_click(x, y, Mouse::hand, &chr, false, conv);
[17:07:39] <wjp> hm, I think we scared Blobbart away :/
[17:08:24] <wjp> we should really only be advancing the internal clock in the main event loop
[17:09:17] <Colourless> i agree, and have somewhat known about the problem for ages, but it would require a restructure of the way exult does thing
[17:10:06] <wjp> well, as long as we keep the unit used in the clock the same (ms?), it would be limited, I think
[17:10:33] <Colourless> well, in theory it should be fairly simple to change
[17:11:10] <Colourless> from memory i even half started to change things in places
[17:11:33] <Colourless> Game::set_ticks(ticks);
[17:12:12] <Colourless> the stupid thing is, exult has mutiple loops where it wants to update the game clock and repaint the entire world
[17:12:28] <Colourless> examples:
[17:12:29] <Colourless> Wait_for_arrival
[17:12:35] <Colourless> Handle_events
[17:12:42] <wjp> wait for arrival is a separate loop? ugh
[17:12:44] <Colourless> Wizard_eye
[17:13:31] <Colourless> from what I can tell, those should be the only cases
[17:15:54] <Colourless> imo it's too difficult to reliably fix every case, which why I left it as it.
[17:17:14] * wjp nods
[17:17:44] <wjp> I once started implementing the pause in gump mode using out of focus
[17:17:52] <wjp> can't quite remember why I stopped, though
[17:18:06] <Colourless> i wanted to get rid of calls to SDL_GetTicks() in as many places as possible but there were just some cases where i didn't know what to actually do.
[17:19:58] <wjp> bbl, dinner
[17:20:04] <Colourless> k
[17:26:08] <Colourless> now to see if I can reduce the latency on this fmopl midi driver
[17:41:05] <wjp> how bad is it?
[17:42:07] <wjp> (the latency, I mean)
[17:42:51] <wjp> hm, artaxerxes asked me to put the zaurus package on SF somewhere
[17:43:06] <wjp> snapshots dir would be best I guess
[17:43:18] <Colourless> at least 250 ms
[17:44:25] --> artaxerxes has joined #exult
[17:44:30] <artaxerxes> gentlemen, good afternoon
[17:44:37] <Colourless> i really doubt i'll actually be able to get it much lower though. the buffer that sdl_mixer wants to fill is just too big
[17:44:55] <wjp> hm, none of us are 'afternoon' here ;-)
[17:45:00] <wjp> hi :-)
[17:45:09] <artaxerxes> :)
[17:45:28] <wjp> 5 seconds left on file upload
[17:45:38] <Colourless> i should be able to get the latency to exactly 250ms in the worst case, and 'better than 250ms' in the best case.
[17:46:05] <wjp> can't you reduce the buffer size?
[17:46:11] <Colourless> at the moment the code is pretty much a hacked up version of my win32 midiout code, which isn't exactly the best for this
[17:46:18] <artaxerxes> I've been playing on the z for a little while and it works almost flawlessly.
[17:46:27] <wjp> artaxerxes: cool :-)
[17:46:30] <Colourless> uh, i don't think so. the sdl_mixer docs doesn't say anything about it
[17:46:58] <wjp> hm, this a recurring topic on the SDL ML; I'll see if I can find anything
[17:47:01] <Colourless> it basically just says "fill this buffer with music for me"
[17:47:17] <Colourless> "the buffer is x bytes big"
[17:47:26] <artaxerxes> some weird stuff though: once in a while, after I save a game, the savegame dialog is not erased although I can move the avatar etc. After about 1 second it goes
[17:47:44] * wjp grumbles
[17:47:49] <wjp> no write permission in the snapshots dir
[17:48:04] * wjp wakes up Kirben :-)
[17:49:31] <artaxerxes> did my post about the order in shapes.vga make sense ?
[17:49:45] <Colourless> yeah it made sense, but i don't think it's true
[17:50:06] <artaxerxes> too bad
[17:50:16] <artaxerxes> that would have been easy!
[17:50:20] <Colourless> the order of things in the chunks file makes even less sense
[17:52:12] <wjp> hm, the Mix_OpenAudio call has a buffer size parameter I think
[17:52:35] <Colourless> yeah, changing it didn't have any effect
[17:53:14] <artaxerxes> Colourless: for the toolbar, would you put every single shortcut in it?
[17:53:36] <Colourless> artaxerxes: no idea.
[17:54:05] <artaxerxes> w, t, p, s, f, j, k, l, z, c, b, m ? + the F?? and the shift + ?? ....
[17:54:35] <Colourless> z = not required
[17:54:52] <Colourless> hell if i can remember what the other keys do
[17:54:57] <artaxerxes> :)
[17:54:58] <Colourless> no F?? keys
[17:55:06] <artaxerxes> F2, F3 etc
[17:55:21] <Colourless> i am not putting cheats in the tool bar
[17:55:24] <artaxerxes> ah
[17:55:44] <Colourless> especially not f2
[17:55:48] <Colourless> you crazy?
[17:55:56] <artaxerxes> why not?
[17:56:22] <wjp> Colourless: you should rewrite F2 with mouse support :-)
[17:56:22] <Colourless> have you 'looked' at the way you are meant to interface with f2 :-)
[17:56:30] <artaxerxes> ahhh
[17:56:31] <artaxerxes> I see
[17:56:37] <artaxerxes> oups!
[17:56:50] <artaxerxes> I forgot you don't have a keyboard... ;-)
[17:57:11] <artaxerxes> wjp: true :)
[17:57:34] <wjp> artaxerxes: I'll put the ipk online as soon as I see Kirben
[17:57:38] <artaxerxes> k
[17:57:49] <Colourless> maybe i'll make a 'cheat' toolbar, but it's not going to be the 'default'
[17:58:16] <artaxerxes> could you tell me more about those patches to reduce memory usage
[17:58:24] <Colourless> i somewhat intend for it (the toolbars) to actually be customizable
[17:58:36] <artaxerxes> definately
[17:58:40] <wjp> yeah, toolbar should be customizable :-)
[17:59:15] <artaxerxes> part of .exult.cfg even... or defaultkeys.txt
[18:03:19] <Colourless> neither
[18:03:28] <Colourless> they would be in their own files
[18:03:39] <Colourless> similar to the key binding files
[18:03:42] <artaxerxes> that's good too :)
[18:03:49] <Colourless> the format would be similar to the key binding files
[18:04:40] <artaxerxes> is there any documentation about this file btw? Like how could I know that putting "1" after "walk_east" would make me walk in this direction faster than without a "1".
[18:05:36] <Colourless> instead of being "keycode action extra_info" the format would be "icon action extra_info" or similar
[18:06:40] <artaxerxes> make sense
[18:06:50] <artaxerxes> makes sense, even
[18:07:24] <wjp> artaxerxes: source code :-)
[18:07:40] <artaxerxes> yup
[18:07:45] <artaxerxes> best place to look at
[18:09:22] <artaxerxes> brb (need coffee)
[18:10:56] <artaxerxes> back
[18:12:15] <artaxerxes> wjp: how come you don't have write access to the snapshot directory?
[18:12:27] <wjp> because it's 2755 :-(
[18:12:53] * wjp wants it to be 2775
[18:14:16] <artaxerxes> you guys should put the same rights for group members as for owner.
[18:14:27] <Colourless> you don't say :-)
[18:14:32] <wjp> that's the idea, yes :-)
[18:14:41] <wjp> we even have a script that does that automatically
[18:15:00] <artaxerxes> well, I can see a file of yours that does not wjp
[18:15:12] <artaxerxes> phorum-3.3.tar.bz2
[18:15:30] <wjp> that's not in the htdocs dir
[18:15:40] <artaxerxes> no, it's not
[18:15:56] <artaxerxes> /home/groups/e/ex/exult
[18:31:25] <artaxerxes> hello?
[18:31:36] <wjp> hi :-)
[18:31:46] <artaxerxes> I've got a piece of news to announce
[18:31:57] <artaxerxes> now that it's official! :)
[18:32:45] <artaxerxes> I'm officially part of the Exult Dev Team! Merci Jeff!
[18:33:26] <wjp> yay :-)
[18:35:31] <artaxerxes> which means I'll stop bugging you about addind a feature or correcting a bug... I'll have to do it myself!
[18:35:35] <artaxerxes> :)
[18:35:39] --> matto|wookin has joined #exult
[18:35:52] <artaxerxes> hi
[18:36:06] <Colourless> hi
[18:36:53] <artaxerxes> It feels really weird to be associated with the elite though... I don't feel as skilled as you are.
[18:37:33] <Colourless> there jeff goes on about the secret decoder ring
[18:38:02] <artaxerxes> ?
[18:38:12] <Colourless> wjp 'knows' :-)
[18:38:31] <Colourless> call it an 'in' joke
[18:39:08] <artaxerxes> ok! :)
[18:43:10] <-- matto|wookin has left IRC (Remote closed the connection)
[18:44:54] <wjp> lol
[18:45:10] <wjp> no! not the secret decoder ring! we must guard it! precioussss.... ;-)
[18:45:34] <Colourless> :-)
[18:52:47] <artaxerxes> just by curiousity, when you guys commit a change, do you type: "cvs commit -m 'list of changes' -F ChangeLog" ?
[18:52:54] <-- Fingolfin has left IRC ("42")
[18:54:06] <Colourless> no
[18:54:20] <artaxerxes> ah... what do you type ?
[18:54:41] <Colourless> cvs commit -F message.txt list of files modified including ChangeLog
[18:54:55] <Colourless> message.txt is just a file that contains the commit message
[18:55:26] <artaxerxes> you create that one beforehand?
[18:55:30] <Colourless> yeah
[18:55:41] <artaxerxes> and you change the ChangeLog manually?
[18:55:53] <Colourless> for simplicity i just update the changelog with the same stuff i put into message.txt
[18:55:58] <Colourless> yeah, it's manual
[18:56:28] <Colourless> remember, we use GMT times in changelog
[18:56:50] <artaxerxes> there is no time in ChangeLog, just date
[18:57:09] <Colourless> date is still gmt :-)
[18:57:22] <artaxerxes> :)
[18:58:47] <artaxerxes> I am about to write this in ChangeLog:
[18:58:49] <artaxerxes> 2002-07-25 Aurelien Marchand <artaxerxes@users.sourceforge.net>
[18:58:49] <artaxerxes> * README.Qtopia: updated
[19:00:44] <artaxerxes> that's what you expect ?
[19:01:13] <Colourless> well, yeah pretty much
[19:01:26] <Colourless> just base what you write on what everyone else does
[19:20:34] <artaxerxes> do you know where are defined stuff like __linux__ or __macos__ ?
[19:20:53] <Colourless> what do you mean?
[19:21:31] <artaxerxes> I need to add a few #ifndef but I can't find what is defined when I use the cross-compiler
[19:21:53] <Colourless> ah, sorry, can't help you there
[19:28:25] <wjp> ah, let me look up the command
[19:28:36] <wjp> g++ -E -dM - < /dev/null
[19:29:25] <artaxerxes> awesome!
[19:29:55] <wjp> is there an 'arm' in there?
[19:30:17] <artaxerxes> yup
[19:30:28] <artaxerxes> #define __linux__ 1
[19:30:28] <artaxerxes> #define __ARM_ARCH_4__ 1
[19:30:28] <artaxerxes> #define __arm_elf 1
[19:30:28] <artaxerxes> #define arm_elf 1
[19:30:28] <artaxerxes> #define __arm__ 1
[19:30:29] <artaxerxes> #define linux 1
[19:30:31] <artaxerxes> #define __arm 1
[19:30:33] <artaxerxes> #define __arm_elf__ 1
[19:30:35] <artaxerxes> #define __GNUC_MINOR__ 95
[19:30:37] <artaxerxes> #define arm 1
[19:30:39] <artaxerxes> #define __CHAR_UNSIGNED__ 1
[19:30:41] <artaxerxes> #define __unix 1
[19:30:43] <artaxerxes> #define __unix__ 1
[19:30:45] <artaxerxes> #define __APCS_32__ 1
[19:30:47] <artaxerxes> #define __GNUC__ 2
[19:30:49] <artaxerxes> #define __linux 1
[19:30:51] <artaxerxes> #define __ELF__ 1
[19:30:53] <artaxerxes> #define unix 1
[19:30:55] <artaxerxes> I guess I'll use the __ARM_ARCH_4__
[19:31:27] <wjp> hm, or maybe defined(__linux) && defined(arm something)
[19:31:45] <wjp> or you could let configure define your own symbol
[19:32:04] <Colourless> some of the ultima 7 music sounds really terrible with the opl synth
[19:32:24] <artaxerxes> I can also modify the configure.in so that you can pass a host parameter that exports __Zaurus__. What do you think ?
[19:32:43] <artaxerxes> which is what you said wjp
[19:33:18] <wjp> what is host set to for the Z?
[19:33:45] <artaxerxes> arm-unknown-linux-gnu
[19:34:16] <artaxerxes> I think
[19:34:18] <wjp> ok, so you should probably add an if to the linux*) case
[19:34:28] <artaxerxes> that's what I've done on my tree
[19:34:51] <wjp> hm, you should try to get rid of the unknown
[19:35:24] <wjp> (that's the 'vendor' part of the host, btw)
[19:35:45] <artaxerxes> actually, here are the changes I made on my tree:
[19:35:51] <artaxerxes> case "$host_os-$host_vendor" in
[19:35:51] <artaxerxes> linux*Embeddix*)
[19:35:51] <artaxerxes> WINDOWING_SYSTEM="-DXWIN"
[19:35:51] <artaxerxes> AC_MSG_RESULT(X11 (GNU/Linux))
[19:35:51] <artaxerxes> ;;
[19:35:52] <artaxerxes> linux*)
[19:36:13] <artaxerxes> it could be tuned though
[19:36:30] <wjp> hm, better use '$host' if you plan to use both os and vendor in a single string
[19:36:54] <wjp> ($host = '$host_cpu-$host_vendor-$host_os')
[19:38:10] <wjp> hm, why is the code for linux*Embeddix*) exactly the same as the normal linux*) code?
[19:39:02] <artaxerxes> I actually made more changes but I discarded them as it caused errors. However I need to put changes that will not cause issues, like -D__ZAURUS__
[19:39:17] <artaxerxes> I'm not done with it, in short... :)
[19:39:20] <wjp> hm, you should probably put that in acconfig.h
[19:39:43] <wjp> or I think there's also a command to get a #define in config.h without going through acconfig.h in the recent autoconf versions
[19:40:28] <wjp> *sigh*.. I really don't like the current system specific defines
[19:40:51] <wjp> this might be a good time to clean it up
[19:41:16] <wjp> (i.e., separate the 'unix' and 'xwin' parts)
[19:42:19] <artaxerxes> can I put #ifndef PARAM1 || PARAM2 ?
[19:42:38] <artaxerxes> or I should put 2 #ifndefs
[19:42:40] <wjp> no, you need to use defined(PARAM1)
[19:42:52] <wjp> #if !(defined(PARAM1) || defined(PARAM2))
[19:43:39] <artaxerxes> ok
[19:44:40] <artaxerxes> is it tolerated that in order to compile exult for the zaurus, you'd have to pass the host parameter to the ./configure script, or should I make it automatic ?
[19:45:07] <wjp> hm, that's normal for crosscompiling
[19:57:16] <artaxerxes> can I use the windowing part to export -D__ZAURUS__ or is there a better place to do that ?
[19:57:31] <artaxerxes> (from configure.in)
[19:57:58] <wjp> might as well use that, yes :-)
[20:10:25] <artaxerxes> just tried my new configure.in and a few files... it works.. can I commit the changes, even though it touches configure.in ?
[20:11:03] <wjp> sure
[20:15:16] <artaxerxes> btw, we should have an additional option for ./configure --disable-freetype
[20:16:03] <artaxerxes> freetype is used only for exult-studio IIRC and --disable-exult-studio and --disable-exult-studio-support does not remover the HAVE_FREETYPE2
[20:16:05] <wjp> isn't freetype only used for exult studio?
[20:16:15] <Colourless> yeah freetype is es only
[20:16:47] <wjp> what exactly is the problem?
[20:16:55] <artaxerxes> it get defined as long as you have freetype-config somewhere, no matter your configure parameters
[20:17:17] <wjp> so it's just broken when cross-compiling?
[20:17:23] <artaxerxes> yup
[20:18:10] <wjp> hm, the check is broken then
[20:18:22] <artaxerxes> but I believe I shouldn't touch this file. HAVE_FREETYPE2 should be defined only if es is opted in
[20:18:46] <wjp> no, HAVE_FREETYPE2 should be defined if you have freetype :-)
[20:18:50] <artaxerxes> :)
[20:18:53] <artaxerxes> true
[20:18:59] <wjp> the problem is that it wrongly detects that you have freetype
[20:19:02] <wjp> since you don't
[20:19:21] <artaxerxes> well, I do, for the normal compiler... but not for the cross-compiler
[20:28:29] <artaxerxes> let me explain more clearly: the ./configure checks to see if there is a /usr/bin/freetype-config file, which is the case. But its includes are /usr/include/freetype2. However, the cross compiler does not know of this path... so there is conflict
[20:28:45] <wjp> yeah, I know
[20:28:49] <artaxerxes> and the compiler barks
[20:29:14] <wjp> the freetype check is broken
[20:29:19] <artaxerxes> ok
[20:33:40] <wjp> hm, I'd go with a --disable-freetype for now
[20:34:04] * wjp sighs
[20:34:52] <artaxerxes> how about a #if (defined(HAVE_FREETYPE2) && defined(HAVE_EXULT_STUDIO)) or sth like that ?
[20:35:35] <wjp> hm? what kind of errors do you get exactly?
[20:36:32] <artaxerxes> fontgen.cc:31: ft2build.h: No such file or directory
[20:36:32] <artaxerxes> fontgen.cc:32: `#include' expects "FILENAME" or <FILENAME>
[20:36:35] <wjp> oh, I see, the HAVE_FREETYPE2 stuff is in shapes
[20:37:11] <wjp> hm, cross-compiling and configure is annoying
[20:37:31] <wjp> you can detect if you're cross compiling in configure
[20:37:43] <artaxerxes> yes
[20:37:44] <wjp> maybe we should automatically switch to a minimal set of options then?
[20:37:52] <artaxerxes> I've got a list!
[20:37:57] <wjp> :-)
[20:38:12] <artaxerxes> --disable-exult-studio-s
[20:38:12] <artaxerxes> upport --disable-exult-studio --disable-gimp-plugin --disable-kmid --disable-sdltest --disable-tools
[20:38:12] <artaxerxes> --prefix=/opt/QtPalmtop --enable-debug --disable-timidity
[20:39:10] --> Fingolfin has joined #exult
[20:39:16] <wjp> hi
[20:39:29] <Fingolfin> yo
[20:39:31] <artaxerxes> question: since I've put enable_kmid="no" and enable_timidity="no" in the configure.in, should I still mention --disable-kmid and --disable-timidity ?
[20:39:31] --- ChanServ gives channel operator status to Fingolfin
[20:39:33] <wjp> Fingolfin: any experience with writing a configure for cross-compiling?
[20:39:34] <artaxerxes> hi
[20:39:44] <wjp> no, I guess not
[20:40:05] <Fingolfin> wjp: nope, not really :-)
[20:40:10] <wjp> pity :-)
[20:41:11] * wjp looks at the 2nd /. story... the MPAA wants _what_?!
[20:41:39] <artaxerxes> crazy, isn't it?
[20:42:19] <Colourless> interesting.... it looks like the data in static/xmidi.ad is the same type as the midi_fm_instruments_table in fmopldrv.cc
[20:42:23] <wjp> how can anyone in any kind of government position even consider that?
[20:42:35] <wjp> I wonder what their definition of "copyright owner" is...
[20:43:44] <Colourless> i wonder if i use the data from xmidi.ad in midi_fm_instruments_table and disable the mt32->gm conversion whether it will sound correctly
[20:44:13] <Colourless> s/correctly/correct/
[20:50:58] <artaxerxes> why in configure.in line 394, the test is: if test x$enable_exult_studio_support = xyes ; then
[20:51:04] <artaxerxes> instead of:
[20:51:10] <artaxerxes> if test $enable_exult_studio_support = yes ; then
[20:58:06] <wjp> hm, I think it'll go wrong when $enable_exult_studio_support is empty otherwise
[20:58:18] <artaxerxes> wjp: adding stuff in WINDOWING_SYSTEM breaks the test for enable_studio_support. Is there any other place I could define those add'l parameteres?
[20:58:53] <wjp> try adding quotes arround the $WINDOWING_SYSTEM there
[20:59:04] <artaxerxes> been there.. done that! :)
[20:59:23] <artaxerxes> checking whether to enable support for Exult Studio... ./configure: test: too many arguments
[20:59:23] <artaxerxes> no
[20:59:30] <artaxerxes> (on one line)
[20:59:45] <artaxerxes> WINDOWING_SYSTEM="-DXWIN -DDISABLE_X11 -DQWS -D__zaurus__"
[20:59:59] <Fingolfin> artaxerxes: you are a Zaurus guy, right?
[21:00:05] <artaxerxes> yup
[21:00:18] <wjp> artaxerxes: hm, works for me with the quotes
[21:00:20] <artaxerxes> what can I do for you ?
[21:00:22] <Fingolfin> artaxerxes: OK. We have this patch which supposedly makes it possible to run ScummVM on Zaurus
[21:00:28] <wjp> did you run autoconf?
[21:00:48] <artaxerxes> cool.. got a friend who ported scummvm to the zaurus already! :)
[21:00:50] <Fingolfin> artaxerxes: do you know how to debug stuff on the Zaurus by chance?
[21:01:05] <Fingolfin> artaxerxes: hehe it wasN#t really hard it seems (why should it be after all)
[21:01:08] <artaxerxes> wjp: ./autogen.sh
[21:01:20] <Fingolfin> there is only one oddness, he has to comment out some stuff that works anywhere else, I just wonder why, supposedly it segfaults
[21:01:41] <artaxerxes> Fingolfin: I connected the zaurus to the cradle and telnet into it. Then I run the prog on the z and attached to it gdb from the telnet session
[21:02:05] <Fingolfin> artaxerxes: muy bien, I take that as a "yes"? :-)
[21:02:10] <artaxerxes> I think that guy told me it worked for him.. he even made packages for scummvm
[21:02:53] <artaxerxes> try: http://www.gnurou.org/feed/Packages
[21:03:12] <artaxerxes> try: http://www.gnurou.org/zaurus/feed/Packages
[21:03:21] <Fingolfin> well as I said, it does work with that patch, but in one place a change is made, where we wonder *why* it was made, and we got no answer so far
[21:04:49] <wjp> sounds weird
[21:04:52] <artaxerxes> you wonder why Alexandre made a certain change?
[21:04:52] <wjp> what place was that?
[21:05:00] <wjp> s/was/is/
[21:05:28] <Fingolfin> well, basically, he commented out some calls to xfree (a macro: #define xfree(p) {if (p) free(p);}
[21:05:49] <artaxerxes> the "he" refers to Alexandre Courbot ?
[21:06:04] <Fingolfin> sec
[21:06:12] <wjp> isn't free(0) allowed? but that's besides the point I guess
[21:06:38] <Fingolfin> wjp: delete 0 is allowed, I don't think free(0) is
[21:06:58] <wjp> If ptr is NULL, no operation is performed.
[21:07:08] <wjp> from free(3)
[21:07:11] <artaxerxes> I'm in touch with him, so I can ask him why...
[21:07:28] <Fingolfin> dewt (mncl) did submit the patch (mncl is the SF name), don't know more, but he said it was based on work by ...
[21:07:33] * Fingolfin tries to find the name
[21:07:38] <Fingolfin> wjp: ok
[21:07:44] <Fingolfin> wjp: but indeed, it's besides the point =)
[21:08:21] <wjp> maybe they were double frees?
[21:08:31] <artaxerxes> let's take a step at a time. You've got a scummvm package from somewhere and it segfault. If you remove a comment though, it works... is that it?
[21:09:06] <Fingolfin> no I am one of the ScummVM maintainers and I got a patch that I want to checkin that adds Zaurus build support, and it comments out some stuff with and #ifdef QTOPIA
[21:09:17] <Fingolfin> hashconfig::~hashconfig () {
[21:09:17] <Fingolfin> #ifndef QTOPIA
[21:09:18] <Fingolfin> // i dont know what this does but it appears to be needed
[21:09:18] <Fingolfin> xfree(domain);
[21:09:18] <Fingolfin> #endif
[21:09:18] <Fingolfin> }
[21:09:39] <wjp> hm, that doesn't really look like a double free
[21:09:40] <Fingolfin> hm, maybe we should change xfree to set p to 0...
[21:09:56] * wjp nods; can't hurt
[21:09:59] * Fingolfin checks all places where xfree(domain) is called
[21:10:15] <artaxerxes> I can contact the guy if you want. He's a friend
[21:10:27] <artaxerxes> I bet it's from Alexandre Courbot though
[21:10:31] <Fingolfin> all places it is called, domain is changed immediatly thereafter, except in the destructor. The only guess would be that the C++ object is freed twice
[21:10:47] <wjp> is it initialized properly?
[21:10:48] <Fingolfin> artaxerxes: sure, why not. We are always happy to add support for new stuff
[21:11:39] <Fingolfin> BTW, I recently wrote cubic audio interpolation code for ScummVM, it can only output 16 bit data, but it can process 8 or 16 bit, mono/stereo, signed/unsigned. I figure it might be nice for SDL/SDL_mixer/exult, too
[21:11:42] <Fingolfin> wjp: yes
[21:11:57] <Fingolfin> hashconfig::hashconfig (const char *dom) : domain(dom ? strdup(dom) : 0),
[21:11:58] <Fingolfin> keys(0), values(0), nkeys(0)
[21:11:58] <Fingolfin> {
[21:11:58] <Fingolfin> }
[21:12:10] <wjp> strdup? :-)
[21:12:50] <wjp> but that's besides the point again :-)
[21:13:05] <Fingolfin> wjp: I didn't write that code :-)
[21:13:07] <artaxerxes> email sent.
[21:13:47] * Fingolfin was forced to implement a List & String classes from scratch, since we can't use stdc++ lib currently. Besides the fact that Endy, the lead, is opposed to it, it's also a portability problem apparently GBA has issues with stdc++ lib
[21:13:50] <Fingolfin> artaxerxes: thanks
[21:14:01] <wjp> Fingolfin: yeah, I saw them
[21:14:07] * Fingolfin will check in the stuff that looks OK into CVS now, except for that config-file stuff
[21:14:11] <artaxerxes> have you tried to contact him directly though?
[21:14:22] <Fingolfin> artaxerxes: I have no contact information
[21:14:26] <artaxerxes> ahh..
[21:14:32] <Fingolfin> all I have is this: https://sourceforge.net/tracker/index.php?func=detail&aid=585204&group_id=37116&atid=418822
[21:14:35] <artaxerxes> weird...
[21:15:28] <Fingolfin> I need to whip up that patch though, since it does some weird stuff (author can't distinguish && and || it seems :-)
[21:15:54] <wjp> hehe :-)
[21:15:57] --- Darke|zzZ is now known as Darke
[21:16:08] <wjp> morning
[21:16:12] * Darke bows. Morning.
[21:16:19] <Fingolfin> hi Darke
[21:16:25] <Fingolfin> artaxerxes: uh, and any clue on this one:
[21:16:26] <Fingolfin> #if defined(QTOPIA)
[21:16:26] <Fingolfin> i dont know what this does it's just needed
[21:16:26] <Fingolfin> extern "C" int main(int argc, char *argv[]);
[21:16:26] <Fingolfin> #endif
[21:16:38] <Fingolfin> (comments *not* by me :-)
[21:16:50] <wjp> I hope there's slashes in front of it? :-)
[21:17:12] <Fingolfin> yes
[21:17:15] <artaxerxes> it's because you're obliged to define -Dmain=SDL_main with qtopia
[21:17:18] <Fingolfin> stupid IRC app swallowed them :-)
[21:17:42] <Fingolfin> interesting. So the #define in SDL.h doesn't work?
[21:17:48] <artaxerxes> btw, the style does not look like anything of Alexandre.. sorry
[21:18:01] <wjp> I asked in #sdl... but they had no idea... (Yorick I think)
[21:18:04] <Fingolfin> it's rather poor quality :-)
[21:18:30] <wjp> it's defined in SDL.h, but also return by sdl-config --cflags
[21:19:02] <artaxerxes> basically, by defining -Dmain=SDL_main, you are forced to link with libSDLmain which initialise the zaurus framebuffer AT THE CONDITION that you also defined -DQWS
[21:19:10] <wjp> lol, lots of "i dont know what this does but it appears to be needed" comments
[21:19:30] <Fingolfin> There are quite some thing in our build system that I don't like much anyway.. like the distinction between UNIX and UNIX_X11 <shudder>
[21:19:40] <wjp> yes... I know
[21:19:44] <Fingolfin> wjp: the patch was made by person A, person B modified it and submitted it :-)
[21:19:57] <wjp> now would be a good time to clean it up a bit...
[21:20:02] <artaxerxes> ah, also you need to -DDISABLE_X11
[21:20:27] <wjp> +#if defined(MACOSX) && defined(UNIX) && defined(QTOPIA) <-- eh?
[21:20:37] <wjp> that's the ||/&& thing you mentioned? :-)
[21:20:42] <artaxerxes> lol
[21:20:53] <artaxerxes> that's call multiple personality
[21:21:05] <Fingolfin> wjp: yes =)
[21:21:13] <Fingolfin> wjp: you should have seen the first revision of that patch =)
[21:21:17] <wjp> -
[21:21:20] <wjp> what a useful line :-)
[21:21:24] <wjp> whitespace removal?
[21:21:34] <wjp> Fingolfin: I think I'll pass :-)
[21:21:54] <artaxerxes> may I suggest something: contact Alexandre Courbot. He already has a working version of Scummvm on the zaurus. I'll give you his public email if you want.
[21:22:15] <artaxerxes> and his code should be clean
[21:22:33] <wjp> weird... he removes both the Config destructor and the hash_config destructor?
[21:23:00] <wjp> but the hash_config destructor is only called from the Config destructor, isn't it?
[21:23:40] <artaxerxes> he has ported PrBoom too.
[21:23:54] <artaxerxes> and he made the SDL packages I use for Exult on zaurus
[21:27:04] <artaxerxes> alexandrecourbot at linuxgames.com
[21:54:16] <wjp> hm, I should be going
[21:54:20] <wjp> g'night
[21:54:21] <artaxerxes> bye
[21:54:26] <-- wjp has left IRC ("Zzzz...")
[21:59:04] <artaxerxes> btw, compiling with --disable-data causes the exult_flx.h from not being there which kills the compiling of Gamemenu_gump.o
[22:00:41] <Darke> IIRC it's because expack or something isn't being built, so it can't make the exult.flx and it's associated header exult_flx.h.
[22:01:01] <artaxerxes> indeed... but that's no good! :)
[22:02:39] * Darke must go. Work and such. *grin* Bye!
[22:02:41] --- Darke is now known as Darke|afk
[22:03:10] <artaxerxes> bye darke
[22:45:38] <artaxerxes> I'm leaving too
[22:45:42] <-- artaxerxes has left IRC ("using sirc version 2.211+KSIRC/1.1")
[23:03:47] <-- Colourless has left IRC ("time for me to go")
[23:22:11] --> Guss has joined #exult
[23:22:15] <Guss> hi
[23:22:39] <-- Guss has left #exult ()
[23:24:06] <Fingolfin> bye