#exult@irc.freenode.net logs for 13 Mar 2010 (GMT)

Archive Today Yesterday Tomorrow
Exult homepage

[00:00:14] <Marzo> Got it, found the problem
[00:00:22] <Dominus> woot woot!!!
[00:00:28] <Dominus> you are fast
[00:00:40] <Malignant_Manor> Of course, at that size, OpenGL is pretty darn slow.
[00:00:51] <Marzo> It was blindlingly obvious when I did the math
[00:01:11] * Dominus puts on his sunglasses
[00:01:58] <wjp> speaking of slow... it just took svn 10 minutes to download the shapeinf dir...
[00:02:08] <Marzo> It should even slightly (but *very* slightly) improve performance
[00:02:23] <Marzo> That one is kind of large, yes
[00:02:30] <Malignant_Manor> SVN was really slow for me when I checked out last.
[00:03:02] <Marzo> It was a rather large change, you all have to admit -- even if it didn't change *that* much code
[00:03:12] <Marzo> (relocations are expensive on SVN...)
[00:03:22] <Marzo> Dominus: SVN should have the fix
[00:03:34] <Malignant_Manor> It copies the entire thing, doesn't it.
[00:03:49] <Dominus> on it
[00:03:55] <Malignant_Manor> and without history?
[00:04:47] <Marzo> Actually, it keeps all of the history
[00:05:04] <wjp> only on the server though
[00:05:06] <Marzo> e.g., http://exult.svn.sourceforge.net/viewvc/exult/exult/trunk/shapes/shapeinf/ammoinf.cc?view=log
[00:05:19] <Marzo> Yes, that is true
[00:05:40] * wjp should set up git-svn for exult locally
[00:05:54] <Marzo> :-)
[00:05:55] <Malignant_Manor> I had a download.
[00:06:41] <Dominus> marzo, working fine
[00:06:47] <Malignant_Manor> It's out of date because I forgot to update the names list and used the Sourceforge names.
[00:07:26] <Dominus> could the opengl problem be of similar cause? because journey onward works for 512x384 but doesn't on 640x480
[00:07:50] <Marzo> Doubtful
[00:07:55] <Dominus> but I can't check if opengl fullscreen works in the smaller res :)
[00:08:15] <Marzo> The cause of the crash in Scale2x is that I set up a triple-line decompression buffer to increase speed
[00:08:29] <Malignant_Manor> here's an Exult clone at 6121 http://www.filefront.com/14241261/exult_git_6121.exe/
[00:08:41] <Marzo> When it got to the last line, it was making a copy of something that wasn't there, which caused the crash on your end
[00:09:15] <Dominus> I *think* I even understood you a bit :)
[00:09:34] <Marzo> Hehe
[00:09:37] <Dominus> seems like I can make a snapshot now
[00:10:04] <Malignant_Manor> That's similar to the Exult Studio crash in windows.
[00:10:30] <Marzo> While I haven't run benchmarks, I think this version of Scale2x it might even be faster than Pentagram's when input and output are of different formats
[00:13:31] <Marzo> Colourless: would you mind too much if I were to synch-up your branch with SVN? It may cause some compilation issues with MSVC because many files (in the shapes dir) changed locations, though; but since I already merged it locally, it would not be a problem (all the 'heavy-lifting' was all done by svnmerge.py anyway).
[00:14:22] <Dominus> does svn need some kind of flag for the /shapes/shapeinf/.deps folder? my svn gui app shows me that folder as "unversioned" all other .deps are ok
[00:15:03] <Marzo> Ah, that one needs an 'ignore' flag
[00:15:12] <Marzo> Let me set it up
[00:15:37] <Colourless> marzo, sync away
[00:15:48] <Colourless> was going to suggest it would be nice if you did
[00:15:54] <Dominus> :)
[00:16:38] <Marzo> Dominus: if you update from SVN, the flag should be set now and .deps no longer should be marked as unversioned
[00:16:44] <Colourless> particularly you made some audio related changes, those at a minimum should be synced across
[00:17:09] <Marzo> Let me just synch the changes from today and I will start the commit
[00:17:19] <Dominus> Colourless: quick question, you mentioned that you had a hard time setting up Exult on an old mac, the other day. Did you compile Exult yourself or were you using the snapshot I made?
[00:17:22] <Colourless> cool
[00:17:35] <Colourless> i was just using the snapshot.
[00:17:46] <Colourless> was just curious
[00:17:48] <Dominus> and I presume it worked
[00:17:56] <Colourless> yeah it worked well
[00:18:19] <Dominus> good to know, thanks (since I only got feedback from two others)
[00:19:33] <Colourless> the machine is our network print server
[00:19:42] <Dominus> he he
[00:19:51] <Colourless> is an ancient ppc macmini
[00:20:21] <Dominus> I remember being surprised about you mentioning a mac waaayyyy back after you and your gf got together
[00:20:24] <Colourless> is also useful for me to test various code platform portability code issues.
[00:20:49] <Dominus> (btw. congrats on the offspring)
[00:21:23] <Colourless> this audio patch i'm doing, i need to test it on the PPC mac cause of endian issues.. though i haven't gotten round to doing that yet, been a bit busy with work
[00:21:33] <Colourless> 1 offspring and another on the way
[00:21:58] <Dominus> how soon on the way and what is the one already here? boy/girl?
[00:23:13] * Dominus has to keep watch on the OS X 10.5 VM
[00:23:24] <Marzo> Commit just started; lets see how long it takes
[00:23:32] <Colourless> soon is july
[00:23:54] <Dominus> if I don't watch it, it sometimes goes to a kind of sleep and I can only reset it
[00:24:05] <Dominus> nice
[00:24:14] <Colourless> the little trouble running around is a girl. the one yet to come is supposed to be a boy
[00:24:31] <Dominus> perfect match then :)
[00:40:04] <Dominus> ok, done, sleep now :)
[00:40:51] <Marzo> Commit finished
[00:40:56] <Marzo> Only 17 minutes
[00:41:05] <Dominus> maybe I'll have time to play with that tomorrow
[00:41:58] <Dominus> if someone wants to play makefile magic, maybe it can be done that not everything pulls in the ogg vorbis libs as dependency… :)
[00:41:59] <Malignant_Manor> SVN is horribly slow.
[00:42:18] <Dominus> but now i'm really gone :)
[00:42:31] <Marzo> Good night
[00:42:37] <-- Dominus has left IRC (Quit: Leaving.)
[01:02:09] <Malignant_Manor> wjp, I have my git-svn clone updated if you want me to upload it?
[02:58:41] --> shazza has joined #exult
[03:44:38] <-- shazza has left IRC ()
[04:02:50] --> julien has joined #exult
[04:02:55] <-- julien- has left IRC (Ping timeout: 265 seconds)
[04:48:44] <Marzo> Colourless: what kind of gaps do you mean?
[05:01:39] <Marzo> In any event, the sounds that obey the following condition can probably loop indefinitely: sfxinf->get_sfx_range() == 1 && sfxinf->get_chance() == 100 && !sfxinf->play_horly_ticks();
[05:05:36] <Colourless> in trinsic, if i go to the fountains, the sfx get gaps when it 'repeats'
[05:07:27] <Colourless> the code should set the SFX to play repeated and stop it if the criteria is no longer met. rather than set it to play once and then restart it once it stops which is what the code does at the moment
[05:07:41] <Colourless> which the code you posted above will probably fix
[05:07:56] <Marzo> It does in some cases, but not in others
[05:08:33] <Marzo> But I think the other cases may be due to the oggs themselves
[05:08:33] <Colourless> in Shape_sfx::update() it has
[05:08:33] <Colourless> int rep[2] = {0, 0};
[05:08:38] <Colourless> rep[0] is never set to true at the moment
[05:08:56] <Marzo> (e.g., teleport to 0x6a2, 0x1d9 and listen to the watermill)
[05:08:56] <Colourless> and rep[1] is only set true in circumstances i don't yet understand. the code isn't immediately obvious to me what its doing
[05:09:13] <Colourless> its a race condition
[05:09:18] <Marzo> The rep[1] is for the grandfather clock, basically
[05:09:35] <Marzo> Every hour, there are bongs
[05:09:52] <Colourless> ah, thsat makes sense noe
[05:09:55] <Marzo> (equal to the current hour)
[05:10:08] <Marzo> I discovered that one quite by accident in DOSBox
[05:10:41] <Marzo> (but given the attention to detail of the U7 devs, I wasn't entirely surprised)
[05:16:24] <Marzo> To be fair, I have been thinking of partially undoing the shape sfx for this group of sound effects
[05:16:41] <Marzo> 'environmental' sound effects, as it were
[05:17:08] <Marzo> Only the more random or sequential sonud effects really need one instance per object
[05:17:23] <Marzo> (and it would fix the frequent 'surfs are too loud' complaint)
[05:19:36] <Marzo> (by the way: using that condition to set reps[0] to -1, and setting variable play to true in line 195 if that same condition is true eliminates the gap for water fountains)
[05:21:08] <Marzo> But it also makes surfs loop too fast
[05:21:31] <Colourless> hah
[05:21:33] <Colourless> can't win
[05:22:50] <Marzo> Actually, I just looked in DOSBox and it works the same way
[05:23:09] <Marzo> (the surfs aren't synchronized to the animation, apparently)
[05:24:03] <Colourless> maybe we could put a hack in for the surfs if we want them synced
[05:25:23] <Marzo> Hm
[05:25:40] <Marzo> We can do something of the sort, yes
[05:26:24] <Marzo> You see, Exult already supports sound synched to animations; so this could be used for surfs
[05:26:31] <Marzo> With some minor tweaking
[05:27:11] <Marzo> We add the time-synch flag to surfs, and pass a parameter to Shape_sfx that disables the looping for these shapes alone
[05:27:18] <Marzo> (or something like that)
[05:27:23] <Colourless> yeah
[05:27:44] <Colourless> sounds about right
[05:29:19] <-- Malignant_Manor has left IRC (Quit: ChatZilla 0.9.86 [Firefox 3.6/20100115144158])
[05:36:51] <Marzo> Hrm. It will be a little more complex than I thought
[05:37:08] <Colourless> whats the problem?
[05:37:58] <Marzo> The default animation info already assumes sfx synchronization with the animation
[05:39:51] <Colourless> you cursing me now for finding this 'difference' exult has from the original....
[05:40:18] <Marzo> :-)
[05:41:33] <Marzo> (actually, as I said above, the difference from the original was that Exult *was* synchronizing the surf sfx to the animation, which the original does not)
[05:42:20] <Colourless> just looking at the code myself, this looks more complicated than I would have initially thought. I don't think i've ever looked at this code
[05:42:29] <Marzo> :-)
[05:43:05] <Marzo> To be honest, removing the forced-play to true if looping, the surf goes back to time-synched without affecting the water fountain
[05:44:29] <Marzo> Let me reverse everything I just said about surfs
[05:44:36] <Marzo> There is no problem either way
[05:45:02] <Marzo> I just compared Exult before and after the changes, and surf sounds exactly the same
[05:45:54] <Marzo> The wave sound is too long to allow synchronization with the animation
[05:48:40] <Marzo> I know it will probably be a lot of work; but is it possible to add some sort of smooth transition of volume?
[05:48:56] <Marzo> Like, the volume climbs from current volume to the destination?
[05:49:26] <Colourless> yeah (partial) fade-ins and (partial) fade-outs should be quite possible to implement
[05:49:53] <Marzo> It would alleviate some crackles and pops I hear when moving around sound sources
[05:50:23] <Colourless> i want to generally improve sound positioning. its far far too coarse at the moment
[05:50:36] <Marzo> That would help, yes
[05:50:58] <Marzo> And I am thinking that the sound distance function is not very good for it either
[05:53:32] * Colourless thinks about things
[05:53:59] <Colourless> sound effects are played in various placed in the code. in quite a few places positioning information is completely disregarded
[05:54:07] <Marzo> Aye
[05:55:17] <Marzo> It is usually with objects that the sound effect has positioning
[05:55:30] <Colourless> ideally all object associated sound effects should auto update their positioning but thinking we could probably get away with fire and forget sounds being statically positioned after they've been started.
[05:56:12] <Marzo> Indeed
[05:56:35] <Marzo> Although sounds played through Object_sfx do update their position
[05:56:47] <Marzo> (some throwaway sounds, I mean)
[05:57:01] <Marzo> Such as those from UI_play_sound_effect2
[05:58:05] <Colourless> i just don't want to change things too much so we don't have to hvae all code that plays a sound track the sound, or change things so the mixing thread calls into the engine to update the position.
[05:59:58] <Marzo> I am not entirely sure I follow where you are going
[06:00:39] <Colourless> nowhere :-)
[06:01:02] <Marzo> And here I was thinking you had a point :-p
[06:02:38] <Colourless> i think i'll add two new functions. Audio::play_sfx that takes an object pointer to position a sound, Audio::update_sfx that also takes an object pointer to update the position of an already playing sound to reflect the current relative position
[06:04:18] <Marzo> That is probably a good idea
[06:18:05] <Marzo> Anyway, I committed the fix to the SFX gaps
[06:18:18] <Colourless> okies thanks
[06:18:32] <Marzo> But I think I will do nothing else than go to bed now; it is 3:20 here
[06:18:59] <Marzo> (3 AM, in case you think this is 12-hour format :-p)
[06:19:18] <Marzo> So good night
[06:19:32] <Colourless> night
[06:24:08] <-- Marzo has left IRC (Ping timeout: 258 seconds)
[10:04:27] --> Dominus has joined #exult
[10:04:27] --- ChanServ gives channel operator status to Dominus
[10:23:54] <Dominus> gooood timing colourless, I started make about half a minute before your comitt
[10:23:57] <Dominus> :)
[10:26:37] <Colourless> yay for me!
[10:27:02] <Colourless> my branch is actually almost finished now
[10:27:30] <Dominus> woot woot
[10:27:32] <Colourless> just a few little things that I want to look into
[10:40:13] <Dominus> oookayy, crashed after the logo
[10:40:20] <Dominus> with a static build, though
[10:42:41] <Dominus> colourless, when audio is set to disabled Exult crashes on choosing a game in the menu
[10:46:05] <Colourless> interesting
[10:46:07] <Colourless> will look
[10:46:38] <Dominus> also in game, when you disable audio, sfx still gets played
[10:47:10] <Colourless> as i said, my branch is almost finished :-)
[10:47:16] <Dominus> :)
[10:51:52] <Colourless> committed crash fixes
[10:52:24] <Dominus> thanks, that was fast :)
[10:53:28] <Colourless> i'm not getting any sfx playing after disabling audio, other than sfx that were already playing
[10:53:33] <Colourless> (which obviously is a bug)
[10:53:45] <Dominus> yeah, most likely I meant those
[10:54:22] <Dominus> probably similar bug that when you switch sfx pack, already played sfx will remain from the pack you had chosen before
[10:55:09] <Colourless> ah, found the problem...
[11:01:39] <Dominus> found another problem as well
[11:01:51] <Dominus> but caused by Marzo's default path fixes
[11:02:04] <Dominus> Choosing Mt32emu fails
[11:02:31] <Dominus> Trying config specified Midi driver: `MT32Emu'
[11:02:31] <Dominus> Failed to initialize midi player (code: 1)
[11:02:31] <Dominus> Failed!
[11:02:32] <Dominus> Trying: `Co
[11:02:44] <Dominus> probably not finding the Roms
[11:04:38] <Dominus> colourless, also FMOpl is not playing audio in your branch, but does on trunk (just tested to make sure that it generally works)
[11:07:11] <Colourless> yeah noticed fmopl was borked
[11:07:18] <Colourless> quite curious why
[11:10:29] <Dominus> sfx is still not functioning 100% it seems (or I need to do a more thorough recompile)
[11:11:20] <Dominus> when you disable sfx WHILE an effect is playing it will keep on playing until you are gone from the source
[11:11:55] <Dominus> that is with continously playing sfx, like the spring behind the town hall in Trinsic
[11:12:40] <Dominus> same when switching sfx pack (which can be funny at that spot, with the two springs playing different sfx, if I'm not mistaken :))
[11:12:46] <Colourless> just committed a change that should fix the problem when switching
[11:12:58] <Colourless> (and disabling)
[11:14:56] <Dominus> if you mean Revision: 6252 than I'm already on this and I described my problem with that
[11:15:20] <Colourless> hmm
[11:17:03] <Dominus> curiosly it stopped the sfx on first switch but following switches did not stop it anymore
[11:18:24] <Dominus> yes it seems it's only working ONCE and then not anymore
[12:41:38] <Colourless> ok, i know whats going wrong now
[13:03:20] <-- Kirben has left IRC ()
[13:03:38] <wjp> hm, parallel build just blew up with something about ucparse.h
[13:05:06] <Colourless> make probably has insufficent dependency information about the generated file
[13:05:15] <wjp> yes
[13:10:01] <wjp> hm, weird things are happening with ucparse
[13:20:59] --> Marzo has joined #exult
[13:36:29] <wjp> fixed in the automake system now; it might have to be changed in Makefile.common too
[13:51:30] <Marzo> SFX is soundign great; nice work!
[14:00:14] <Colourless> :-) have fun. i'm going to bed now :-)
[14:00:22] <Marzo> Sleep well
[14:00:30] <-- Colourless has left IRC (Quit: casts improved invisibility)
[14:03:01] <Dominus> we are all not really good synchronized :)
[14:03:31] <Dominus> otoh, it seems like when one is sleeping the others are working on it :)
[14:04:05] <Dominus> Marzo: I need to check with trunk, but it seems that the Roland Roms for mt32emu are not found
[14:05:39] <Dominus> nope, it's only happening in no-sdl_mixer
[14:09:00] <Dominus> then it's probably not the roms location at issue :)
[14:09:55] <Marzo> Looking into it
[14:10:13] <Marzo> (but strangely, the MT32Emu source files seem identical)
[14:11:22] <Dominus> but you see it failing as well, don't you?
[14:11:59] <Marzo> (first, I have to copy the ROMS over from my Windows computer)
[14:13:14] <Dominus> :)
[14:17:27] <Marzo> It is finding the rom in the correct location, but seems to be hanging afterwards
[14:21:27] <Marzo> Hm
[14:21:51] <Marzo> Starting with MT32Emu on seems to hang Exult, but switching to it yields great playback
[14:22:31] <Dominus> does it? for me it fails to switch and then uses the default midi driver
[14:22:55] <Marzo> For me, it was failing to switch until I placed the ROMS in the data folder
[14:22:57] <Marzo> Hm
[14:23:04] <Marzo> Are you running from the bundle?
[14:23:12] <Dominus> no
[14:23:37] <Marzo> There goes a theory
[14:24:42] <Marzo> So, with the same cfg, the No-SDl branch fails MT32Emu playback but the trunk does not?
[14:24:52] <Dominus> yes
[14:25:16] <Marzo> Hm
[14:25:31] <Dominus> interestingly it will still show me mt32emu as the chosen driver but doesn't use it
[14:26:07] * Marzo wonders if we should synch the MT32Emu driver with Munt
[14:26:17] <Marzo> (it has been updated after many years)
[14:29:05] <Dominus> maybe, I think Colourless has done some custom work on the mt32emu
[14:32:40] <Dominus> and mt32emu has some scratching in it on my machine on high notes it seems
[14:33:24] <Dominus> Some wish for handling driver/conversion Mt32 and fakemt32 = less output on the console :)
[14:33:47] <Dominus> and for the mt32emu print which romset loaded from which location
[15:00:18] <Marzo> brb
[15:05:00] <-- Marzo has left IRC (Ping timeout: 252 seconds)
[15:05:57] --> Marzo has joined #exult
[15:28:27] <Marzo> Well, I have one bug for Colourless I am unable to find the cause for
[15:34:14] <Dominus> :)
[15:36:01] <Dominus> marzo, if you feel like it over the next month, could you do some more makefile magic? when configured for Exult Studio support, it seems the libs for glade, gtk and zlib are also bound in all over the place and makes trying to build it static a hell, too
[15:36:54] <Marzo> k
[15:37:01] <Dominus> thanks
[15:37:36] <Dominus> it's really nothing urgent and I'll only be able to play with building ES static in a month or so
[15:38:28] <Dominus> (and maybe you have an idea how to make static building more easy than editing the makefile by hand - at least for the non-ES configure
[15:39:54] <Marzo> Give me a list of the edits you have to make and I will see about adding options to make them
[15:40:53] <Dominus> I'll write a feature request with the list in it
[15:40:59] <Marzo> k
[15:43:22] <Marzo> Hm
[15:44:01] <Marzo> Only Makefile.am and mapedit/Makefile.am reference Glade, GTK+ and zlib libraries
[15:44:29] <Marzo> And Makefile.am doesn't even reference Glade/GTK+ libs
[15:44:54] <Dominus> Hmm. I think there was more screwing with me, but I'll need to check...
[15:44:56] <Dominus> one moment
[15:46:33] <Marzo> If you mean the Makefile.in files, the only places that have to be edited would be those similar to $(ZLIB_LIBS)
[15:47:17] <Dominus> yeah, maybe it was just zlib, when I normally built Exult static it was enough to make Zlib_libs point to the static file.
[15:47:52] <Dominus> with ES support somewhere else the dynamic zlib was pulled in (and I even edited the freetype_libs line)
[15:52:28] <Dominus> https://sourceforge.net/tracker/?func=detail&aid=2969889&group_id=2335&atid=352335 the feature request
[15:53:31] <Dominus> It's tailored for the no-sdl_mixer branch, since with SDL_Mixer I have to resort to linking to the SDL&SDL_mixer framework which seems to be not easily picked up by ./configure
[16:06:15] <Dominus> I added a note to the request that /opt/local/lib is thelocation for macports users, for fink it would be /sw/lib, sot it might be good for that to be picked up, or be a lonely line that needs to be edited whether you use macports or fink
[16:45:40] <-- Dominus has left IRC (Remote host closed the connection)
[16:49:59] --> shazza has joined #exult
[18:35:26] <Marzo> Uff, I give up: my knowledge of autotools is not yet up to the task
[18:35:58] <Marzo> wjp: if you could give a hand with the feature request Dominus posted a little while ago, I'd appreciate greatly
[18:36:55] <wjp> hi
[18:37:06] <Marzo> Hi :-)
[18:37:09] <wjp> hm, which one?
[18:37:23] <Marzo> This: https://sourceforge.net/tracker/?func=detail&aid=2969889&group_id=2335&atid=352335
[18:38:10] <wjp> hmm
[18:38:26] <wjp> I wonder if a well-placed -static would help too
[18:39:22] <Marzo> I think so too; but unless Ubuntu explicitly disables all static building (which I doubt), the SDL, vorbis and ogg tests fail to run
[18:43:24] <wjp> tests? from configure?
[18:43:43] <wjp> missing symbols I guess? does config.log give specifics?
[18:49:07] <Marzo> By "tests" I meant AM_PATH_SDL, XIPH_PATH_VORBIS and XIPH_PATH_OGG
[18:49:47] <Marzo> They have compile some sanity-test programs to check if everything works fine
[19:04:03] <wjp> yes, but why do they fail? missing symbols?
[19:05:10] <Marzo> Let me check
[19:09:00] <Marzo> config.log: http://pastebin.com/NiKmbMRj
[19:09:09] <Marzo> Console output: http://pastebin.com/nvDmpJvm
[19:09:47] <Marzo> (in this case, I added LDFLAGS="-static $LDFLAGS" right before the libvorbis test)
[19:10:13] <Marzo> (that is, right before XIPH_PATH_VORBIS)
[19:10:33] <Marzo> Without the -static, it works correctly
[19:16:47] <Marzo> Oh, damn... I just noticed that XIPH_PATH_VORBIS and XIPH_PATH_OGG should be swapped in configure.ac
[19:17:32] <Marzo> This means that I had gotten it right the first time around and wasted 4 hours trying to figure out what I was doing wrong when it failed
[19:18:08] <Marzo> Thanks for the suggestion to look in config.log :-)
[19:22:24] <wjp> np :-)
[19:23:20] <Marzo> Now to figure a way to beat SDL into submission
[19:27:30] <-- matt_o has left IRC (Remote host closed the connection)
[19:28:27] <-- shazza has left IRC (Ping timeout: 252 seconds)
[19:53:53] <Marzo> And it is done
[20:45:44] --> Malignant_Manor has joined #exult
[21:54:53] <-- Malignant_Manor has left IRC (Quit: ChatZilla 0.9.86 [Firefox 3.6/20100115144158])
[23:07:40] --> Kirben has joined #exult
[23:07:40] --- ChanServ gives channel operator status to Kirben
[23:16:57] --> fwiffo has joined #exult
[23:48:20] <-- fwiffo has left IRC (Quit: leaving)