#exult@irc.freenode.net logs for 31 Dec 2012 (GMT)

Archive Today Yesterday Tomorrow
Exult homepage


[00:20:04] --> i30817_ has joined #exult
[00:21:41] <-- i30817 has left IRC (Ping timeout: 245 seconds)
[00:21:44] --- i30817_ is now known as i30817
[00:40:10] <-- Malignant_Manor has left IRC (Quit: ChatZilla 0.9.89 [Firefox 17.0.1/20121128204232])
[01:05:40] --> Marzo1 has joined #exult
[01:05:40] <-- Marzo has left IRC (Disconnected by services)
[01:14:00] --> i30817_ has joined #exult
[01:15:02] <-- i30817 has left IRC (Ping timeout: 265 seconds)
[01:15:10] --- i30817_ is now known as i30817
[01:51:44] <Marzo1> Ugh... Dominus, remember that horseshit above the horse issue? I just checked, and as it turns out, the original does the same
[01:54:32] <Marzo1> The good news is that I think I may be able to do something about some of the other rendering issues by using the underused occludes flag, if my theory is right
[01:54:44] <Marzo1> Anyway, going to bed now
[02:01:55] <-- Marzo1 has left IRC (Ping timeout: 265 seconds)
[02:17:03] <-- i30817 has left IRC (Ping timeout: 252 seconds)
[02:21:02] --> i30817 has joined #exult
[03:08:19] <-- i30817 has left IRC (Quit: ChatZilla 0.9.89 [Firefox 17.0.1/20121129151842])
[03:28:43] <-- Dominus has left IRC (Read error: Connection reset by peer)
[03:28:44] --> DominusExult has joined #exult
[03:28:44] --- ChanServ gives channel operator status to DominusExult
[03:47:11] <-- Morde has left IRC (*.net *.split)
[03:47:26] --> Morde has joined #exult
[08:50:40] <-- DominusExult has left IRC (Read error: Connection reset by peer)
[08:50:46] --> Dominus has joined #exult
[08:50:46] --- ChanServ gives channel operator status to Dominus
[09:10:10] <-- Sevalecan has left IRC (Excess Flood)
[09:10:17] --> Sevalecan has joined #exult
[11:39:48] <-- Kirben has left IRC ()
[12:08:29] --> Marzo has joined #exult
[12:24:06] <Dominus> Marzo: your example on LB's courtyard you gave i30817 explained the rednering issue good for me as well
[12:24:58] <Dominus> and I could have sworn I looked at the original and watched the horse at the trinsic stables. But probably memory failed me there :)
[12:26:16] <Dominus> and do you remember the intro speech missing issue reported two years ago? I wonder if that could have been caused by the wrong files kept in memory http://exult.sourceforge.net/forum/read.php?f=1&i=335588&t=335532
[12:26:39] <Dominus> but probably not. I think Colourless didn't yet change the main menu back then...
[13:14:29] <-- Dominus has left IRC (Read error: Connection reset by peer)
[13:14:31] --> DominusExult has joined #exult
[13:14:31] --- ChanServ gives channel operator status to DominusExult
[13:53:32] <-- DominusExult has left IRC (Read error: Connection reset by peer)
[13:54:07] --> Dominus has joined #exult
[13:54:08] --- ChanServ gives channel operator status to Dominus
[15:52:25] --> i30817 has joined #exult
[15:54:13] --> DominusExult has joined #exult
[15:54:14] --- ChanServ gives channel operator status to DominusExult
[15:54:25] <i30817> seems like there's no setting to set sample rate anymore in mt32emu:
[15:54:26] <i30817> https://github.com/munt/munt/commit/f00bcbd5b0d8abc728c6ad966db74355e36fab99
[15:56:33] <-- Dominus has left IRC (Ping timeout: 276 seconds)
[15:56:34] --- DominusExult is now known as Dominus
[16:38:48] <-- Dominus has left IRC (Read error: Connection reset by peer)
[16:39:01] --> Dominus has joined #exult
[16:39:01] --- ChanServ gives channel operator status to Dominus
[16:47:29] <-- i30817 has left IRC (Quit: ChatZilla 0.9.89 [Firefox 17.0.1/20121129151842])
[17:38:05] --> i30817 has joined #exult
[17:38:36] <i30817> Tis building with the mt32 emulator.
[17:38:37] <i30817> Not sure but I think it sounds better maybe.
[17:41:11] <i30817> As usual haven't tested the option to put the roms in the mac bundle (don't have a mac and the build is only ubuntu anyway).
[17:41:13] <i30817> The a patch is here:
[17:41:14] <i30817> http://bazaar.launchpad.net/~exult-team/exult-engine/packaging/view/head:/debian/patches/staticMt32Emu.diff
[17:45:29] <i30817> maybe you want to replace those 'mt32 = 0' lines after the deletes.
[17:45:51] <i30817> I don't really know C++ well, so maybe there's a good reason to do that.
[17:46:32] <i30817> In fact, going to put them in again. Better safe than sorry.
[17:49:07] <i30817> And here it is http://bazaar.launchpad.net/~exult-team/exult-engine/packaging/view/head:/debian/patches/staticMt32Emu.diff
[17:49:08] <i30817> Notice that the props.sampleRate = sample_rate assignment went away.
[17:49:10] <i30817> There doesn't seem to be a equivalent.
[17:51:35] <wjp> typically =0's after deletes are either because the pointer is also used to determine if something is initialized, or alternatively to make it easier to debug cases where the pointer is used after deletion
[17:51:41] <wjp> haven't looked at this specific case
[17:51:50] <wjp> but it's a very common thing
[17:53:19] <i30817> i think the api Rom reading is inferior to the old version now
[17:54:53] <i30817> The old allowed to just give a function to search the rom however the library wanted, by giving their names. It could do all the checks it wanted.
[17:54:55] <i30817> Now the users have to do that (and in the code i copied from the dosbox patch, i already see some weird corner cases if the user doesn't copy both rom times, or only one of both)
[17:55:22] <i30817> I hope the library still checks pre-conditions, or at least plans to.
[18:00:05] <i30817> The sound of the emulator sounds muted in comparison to the other options (for the music). But maybe that's for the best, since you can now hear the birds and sound effects.
[18:00:57] <wjp> do we use the right volume scale for the emulator?
[18:02:33] <i30817> I very much doubt it, unless you are playing with the input directly somehow.
[18:02:55] <i30817> Funny thing, i think the mt32 has a volume knob.
[18:03:35] <i30817> This use of the emu seems really basic (why i though it could be replaced by the upstream)
[18:03:59] <i30817> Unless you had had modified the source of the embedded version.
[18:04:19] <wjp> yes, it has a volume knob
[18:04:30] <i30817> (more than those weird '#include pentagram.h' things)
[18:04:45] <wjp> those are not weird. Midi code is shared with pentagram
[18:05:11] <wjp> and what more complex usage were you expecting?
[18:05:33] <i30817> the dosbox patch is doing things i don't understand.
[18:08:36] <i30817> Like a custom reverb based on dosbox options or a Digital to analog converter mode setting
[18:09:00] <i30817> A option to reverse stereo (which isn't really needed in exult)
[18:09:07] <i30817> since it's only one game
[18:10:33] <i30817> and some kind of circular buffer/threading i avert my eyes from.
[18:11:36] <i30817> Is it really possible to manipulate the sound volume independently in the other drivers?
[18:23:22] <i30817> Looking at mt32emu-qt, yes, it looks like it's possible to change both volume (i think):
[18:23:24] <i30817> synthRoute->setOutputGain((float)value / 100.0f);
[18:23:25] <i30817> and reverb volume (i think):
[18:23:27] <i30817> synthRoute->setReverbOutputGain((float)value / 100.0f);
[18:27:49] <i30817> No; here it is. It's a sysex message actually:
[18:27:50] <i30817> void QSynth::setMasterVolume(int masterVolume) {
[18:27:52] <i30817> if (!isOpen) {
[18:27:53] <i30817> return;
[18:27:55] <i30817> }
[18:27:56] <i30817> Bit8u sysex[] = {0x10, 0x00, 0x16, (Bit8u)masterVolume};
[18:27:58] <i30817> synthMutex->lock();
[18:27:59] <i30817> synth->writeSysex(16, sysex, 4);
[18:28:01] <i30817> synthMutex->unlock();
[18:28:02] <i30817> }
[18:57:44] <-- i30817 has left IRC (Quit: ChatZilla 0.9.89 [Firefox 17.0.1/20121129151842])
[22:03:54] --> Malignant_Manor has joined #exult
[22:05:21] <Malignant_Manor> Marzo: usecode function 08dd (BG) is called during the fade in failures but not in my fade successes.
[22:09:31] --> Kirben has joined #exult
[22:09:31] --- ChanServ gives channel operator status to Kirben
[22:17:25] <Marzo> Malignant_Manor: that function halts scheduled usecode for the caller item and, if the avatar does not have the protection flag set, for all NPCs near item
[22:17:46] <Marzo> It also displays some animation for all these NPCs and causes an earthquake
[22:17:54] <Marzo> So the animation is probably stumbling
[22:18:50] <Malignant_Manor> I think I also had the fade in issue in SI too after dieing but can't remember for sure.
[22:19:42] <Marzo> The function is called by Iolo's usecode at the starting cutscene (the rumble after the avatar arrives at Britannia) and by function 0x6FB (thrice)
[22:19:46] <Malignant_Manor> Marzo: That file has the stdout messages.
[22:21:02] <Marzo> Now where did I put that file with egg locations and functions...
[22:22:09] <Marzo> Function 0x6FB is called by several eggs
[22:22:12] <Malignant_Manor> Disabling the earthquake call doesn't help.
[22:22:28] <Marzo> The problem is not the earthquake call
[22:22:36] <Marzo> It is the ending of scheduled usecode
[22:23:02] <Malignant_Manor> I didn't think so but it would have been nice to have an easy fix.
[22:23:31] <Marzo> Hah
[22:24:05] <Marzo> If you open the save you sent and turn on egg display, there is an egg just below the moongate
[22:24:30] <Marzo> If you look at it in ES, guess what function it calls
[22:31:56] <Marzo> Malignant_Manor: the reason why it is rare is that the egg only calls the earthquaking function 0x8DD in 1 in 10 times
[22:32:23] <Marzo> (in the case at hand)
[22:34:35] <Marzo> As a hack, we could disable function 0x6FB if the screen is faded out
[22:35:09] <Malignant_Manor> What determines the must_finish parameter?
[22:40:50] <Eviltar> Happy new year guys
[22:41:18] <Malignant_Manor> Marzo, Exult seems to ignore must_finish when calling halt_scheduled
[22:41:56] <Malignant_Manor> I'm not sure if it is the issue though.
[22:46:25] <-- SHODAN has left IRC (*.net *.split)
[22:46:31] --> SHODAN has joined #exult
[22:51:24] <Marzo> Malignant_Manor: it isn't, the teleport script does not use it
[22:51:42] <Marzo> Also, halt_scheduled only cares about nohalt
[22:51:50] <Marzo> Which also is not present
[22:54:34] <Marzo> Seems to be a case of: start teleport, screen fades; for some reason, an earthquake egg triggers with the screen faded, halts the avatar's usecode which prevents the screen from fading back
[23:02:33] <Marzo> Hrm. Now, which egg is being triggered is the issue
[23:17:55] <-- ParuNexus has left IRC (Ping timeout: 248 seconds)
[23:18:48] --> ParuNexus has joined #exult
[23:25:57] <Marzo> Malignant_Manor: found the guilty party
[23:26:10] <Marzo> A cached-in egg a ways out
[23:27:11] <Marzo> It triggers when you step through the gate, and has a 1 in 10 chance of halting the avatar's usecode, preventing the screen from fading back
[23:28:24] <Marzo> A possible solution would be to prevent cached-in eggs from triggering if the screen is faded and the egg would be off-screen
[23:28:36] <Marzo> But I have no idea what side-effects this might have
[23:28:51] <Malignant_Manor> I tried a quick hack in Usecode_script::terminate to fade in when is_faded_out.
[23:29:12] <Malignant_Manor> This caused it to fade in when not needed.
[23:30:36] <Marzo> I will take a better look next year
[23:31:17] <Malignant_Manor> Maybe if it halts scipts that have UI_fade_palette (ones that fade in).
[23:40:26] <-- Marzo has left IRC (Ping timeout: 245 seconds)
[23:41:42] <Malignant_Manor> Then fade it in