#exult@irc.freenode.net logs for 13 Nov 2016 (GMT)

Archive Today Yesterday Tomorrow
Exult homepage

[00:12:47] --> frob has joined #exult
[00:29:51] <-- frob has left IRC (Remote host closed the connection)
[01:29:26] --> GitHub has joined #exult
[01:29:26] <GitHub> [exult] marzojr pushed 1 new commit to master: https://git.io/vX6OL
[01:29:26] <GitHub> exult/master a3b1df1 Marzo Sette Torres Junior: Updating FMOpl from ScummVM (mostly formatting).
[01:29:26] <-- GitHub has left #exult
[01:32:50] --> GitHub has joined #exult
[01:32:50] <GitHub> [exult] marzojr pushed 1 new commit to master: https://git.io/vX6OR
[01:32:50] <GitHub> exult/master c37f91c Marzo Sette Torres Junior: Enabling background tracks with FMOpl midi as well, even though it...
[01:32:50] <-- GitHub has left #exult
[01:38:58] <-- Marzo has left IRC (Ping timeout: 256 seconds)
[02:40:31] <-- Dominus has left IRC (Ping timeout: 252 seconds)
[02:41:06] --> Dominus has joined #exult
[02:41:07] <-- Dominus has left IRC (Changing host)
[02:41:07] --> Dominus has joined #exult
[02:41:07] --- ChanServ gives channel operator status to Dominus
[05:25:10] <-- amatecha has left IRC (Ping timeout: 252 seconds)
[05:41:35] --> amatecha has joined #exult
[06:20:53] <-- RadoS has left IRC (Remote host closed the connection)
[08:37:06] <-- Lightkey has left IRC (Ping timeout: 258 seconds)
[08:50:08] --> Lightkey has joined #exult
[10:43:43] --> Marzo has joined #exult
[11:20:53] <Dominus> arrrgghhh- applying the latest git changes to the exult-ios git... annoying because of file case changes
[12:38:11] <Marzo> I hated that munt did that too
[12:38:31] <Marzo> On the plus side, it is very easy to update munt again now
[12:38:46] <Marzo> Just have to be careful with the #ifdef HAVE_CONFIG_H
[12:46:32] <Dominus> Yes, being able to sync Munt is great! Thanks a lot for taking that on
[12:47:47] <Dominus> I'll have to see how to make that git patch work on the iOS git. case insensitive file system makes it a problem.
[12:50:26] <Marzo> My suggestion: do a 'git rm' on all files on the mt32emu directory on iOS port; copy all files from mt32emu dir from Exult and do a 'git add' on them all
[12:50:37] <Marzo> Then copy over the other changes
[12:56:50] <Dominus> Yes that would work, I'd just wish I could use git patch to add the commit "directly" to keep it visually better in sync with main Exult
[12:58:24] <Dominus> As you can see at https://github.com/litchie/exult-ios/commits/master I've tried to make it look good and honor committer names
[12:59:19] <Marzo> Another thing you can try: add an 'upstream' remote, and do a git fetch on the remote
[12:59:42] <Marzo> After the git fetch, you can cherry-pick the commits
[13:00:01] <Marzo> And hopefully it will go in without issues
[13:01:07] <Dominus> I'm going to try things. Adding an upstream remote is something new that I haven't looked at yet. Since the exult-
[13:01:34] <Dominus> Ios git was a different SVN concersion
[13:02:35] <Marzo> So: git remote add upstream git@github.com:exult/exult.git ; git fetch upstream; git cherry-pick <commit sha1s>
[13:02:50] <Marzo> If it works, a lot of work will be saved
[13:03:27] <Marzo> Oh, and do it on a new branch to test
[13:03:45] <Marzo> If it does not, you checkout master again, delete the branch, and remove the upstream remote
[13:05:31] <Dominus> Yes indeed. Currently I convert exult commits to git patches, then apply them(often with manual work)
[13:42:53] <-- Marzo has left IRC (Quit: Leaving)
[14:29:56] <Dominus> Marzo: that worked fine with some bumps :)
[14:30:26] <Dominus> now I'm having problems with the iOS build because of the moved sha1.cpp I think
[19:17:03] * Dominus thinks we could shorten the console output of the mt32emu... all that LLMD:bla bla could be under #ifdef debug
[19:39:20] <-- Rottingbeef has left IRC ()
[19:43:51] --> Rottingbeef has joined #exult
[20:04:59] <-- crb has left IRC (Ping timeout: 245 seconds)
[20:05:11] --> crb has joined #exult
[21:23:06] --> Marzo has joined #exult
[21:59:25] <Dominus> Marzo, it is something with the exult.flx in the bundle
[21:59:37] <Marzo> I think it might be, yes
[21:59:50] <Marzo> I just tried reverting the commit and building and it worked flawlessly
[22:00:00] <Marzo> In Linux, anyway
[22:00:31] <Marzo> We can try some remote debugging, if you would like to try
[22:00:48] <Dominus> I tested this: exult.app bundle with "broken" exult.flx in a semi clean OS X VM -> crash
[22:01:11] <Dominus> moved the flx files to the default data folder on OS X -> no crash
[22:01:20] <Dominus> copied, not moved
[22:01:47] <Marzo> Does the crash happen if you start a game directly? As in exult --fov and start the game?
[22:05:13] <Dominus> yes, that too
[22:07:45] <Dominus> Marzo: I do have time for some remote debugging, yes
[22:08:07] <Marzo> I wonder what would the best way for me to see what is on your screen
[22:10:18] <Marzo> Anyway, you can start by setting up a breakpoint in Midi.cc:418
[22:10:40] <Marzo> Make that Midi.cc:415
[22:10:58] <Marzo> Want to confirm if the issue is on opening the bundle
[22:12:33] <Marzo> Oh
[22:12:35] <Marzo> OF COURSE
[22:12:41] <Dominus> I've set it on ds = new ExultDataSource(filename,index); but then it breaks before the loading timbre messages
[22:12:57] <Marzo> I think I know what the issue may be
[22:13:11] <Marzo> Do a "p filename"
[22:13:42] <Marzo> It should be "<DATA>/exult.flx"
[22:13:59] <Marzo> But that is actually wrong, we want "<BUNDLE>/exult.flx"
[22:14:53] <Dominus> where should I do p?
[22:15:05] <Marzo> At the breakpoint I gave
[22:16:04] <Marzo> It is only exult.flx, exult_bg.flx and exult_si.flx which are int he bundle, right?
[22:16:40] <Dominus> ah, yes, I see filename const char * "<DATA>/exult.flx"
[22:16:49] <Marzo> And exult_iphone.flx
[22:16:54] <Dominus> in the xcode debugger
[22:17:02] <Marzo> Basically, anything in <DATA>
[22:17:13] <Marzo> Oh, you are not using gdb
[22:17:14] <Dominus> actually exult_iphone.flx got nuked
[22:17:15] <Marzo> My bad
[22:17:44] <Marzo> I see an entry for it and one for exult_pocketpc.flx in fnames.h
[22:17:47] <Dominus> no, my bad, I have no idea how to use gdb beyond getting a backtrace
[22:18:49] <Dominus> yes, it's just not getting used anymore for the iOS build
[22:22:38] <Dominus> so, the problem is that it looks in the DATA folder first and then the bundle but gets corrupted by looking in DATA first?
[22:23:22] <Marzo> The problem is that it looks in the DATA folder
[22:23:41] <Marzo> It does not find the correct file, and doesn't check the bundle at all
[22:23:56] <Marzo> When Exult tries to read from the nonexistant file, problems happen
[22:29:09] <Marzo> Dominus: try this: http://pastebin.com/RqRS3Njm
[22:29:16] <Marzo> Apply with git apply --stat <filename>
[22:29:41] <Marzo> Err... remove the --stat
[22:30:06] <Marzo> Hm, I need to read more on git
[22:30:27] <Marzo> It is actually git am < <filename>
[22:30:59] <Marzo> Hm, my new IDE likes to strip off trailing whitespace
[22:31:28] <Marzo> The important stuff is in lines 136-144 of the patch
[22:32:29] <Marzo> And the patch has an error, of course
[22:33:12] <Marzo> Dominus: it should read 'is_system_path_defined("<BUNDLE>")' instead of 'is_system_path_defined(BUNDLE_EXULT_FLX)'
[22:36:02] <Dominus> looks good
[22:36:08] <Dominus> on OS X
[22:37:12] <Marzo> Not crashing anymore? Yay
[22:39:34] <Dominus> need a moment to test on iOS and since I'm being daft atm, I need a bit
[22:39:41] <Marzo> k
[22:49:03] <Dominus> Marzo, that works
[22:49:11] <Dominus> but I found one caveat on OS X
[22:49:55] <Dominus> if you have the MT32 Roms in the default DATA folder but no flx there, Exult will not look beyond the bundle for them
[22:49:57] <Marzo> Oh?
[22:50:07] --> GitHub has joined #exult
[22:50:07] <GitHub> [exult] marzojr pushed 1 new commit to master: https://git.io/vXiv4
[22:50:07] <GitHub> exult/master 5e893d2 Marzo Sette Torres Junior: Fixing issue #1 "Crash when Music is set to CoreMidi and MT32".
[22:50:07] <-- GitHub has left #exult
[22:50:14] <Marzo> Ah, so it is another bug
[22:50:18] <Dominus> yes
[22:51:00] <Marzo> Did that work before or did it fail as well?
[22:51:45] <Dominus> that failed as well
[22:52:03] <Dominus> but there was a whole clusterf... of things being wrong on my end...
[22:52:29] <Dominus> I had old flx files in the default data folder so these were always found
[22:52:33] <Marzo> Hm, that is odd
[22:52:38] <Marzo> The code reads like it should work
[22:52:46] <Marzo> Unless you have the ROMs in the bundle
[22:53:14] <Marzo> Exult checks for the ROMs in the bundle first, then on the data dir
[22:54:55] <Marzo> Can you confirm that the ROMs are not found in data dir if they are not present in the bundle?
[22:56:13] <Dominus> ok, sorry the problem is different
[22:56:22] <Dominus> it works when you start the bundle
[22:57:00] <Dominus> but when you start the compiled exult binary in the source it has a problem with the double DATA folders
[22:57:20] <Dominus> the on in the source and the default one
[22:57:50] <Marzo> Exult never checked on the data dir on the source tree
[22:58:24] <Dominus> but it seems to fall back to that when the default DATA folder does not have the flx files
[22:59:18] <Dominus> but yes, that was always a problem I guess and I'm getting confused...
[23:03:19] <Dominus> the funny effect: place old flx files in the default data folder (for which the crc is wrong) and start exult from the source.
[23:04:18] <Dominus> it will start without complaining that the crc is wrong and will use the source tree data folder but will find the ROMs in the default DATA folder
[23:04:59] --> GitHub has joined #exult
[23:04:59] <GitHub> [exult] marzojr pushed 1 new commit to master: https://git.io/vXifq
[23:04:59] <GitHub> exult/master 44b415f Marzo Sette Torres Junior: Redoing the previous commit in a better way.
[23:04:59] <-- GitHub has left #exult
[23:05:19] <Dominus> delete the old flx files from the default data folder and Exult will use the source tree data folder but will not find the ROMs in the default DATa folder
[23:06:10] <Marzo> Yeah, I am trying to figure out why Exult even finds the flx files from the source tree
[23:07:10] <Marzo> It is not supposed to
[23:13:46] <Dominus> but isn't that what is happening in https://github.com/exult/exult/blob/master/files/utils.cc#L718
[23:13:50] <Marzo> Hm, Exult is defaulting to a wrong data dir
[23:14:23] <Marzo> So it is
[23:14:35] <Marzo> That makes more sense, actually
[23:14:57] <Marzo> Exult uses the flx files to determine the data dir
[23:16:14] <Marzo> So we can't really do what you want regarding the ROMs — not easily, anyway
[23:17:10] <Marzo> Because if Exult finds the flexes in a dir, it will expect the ROMs to be in that same dir
[23:17:16] <Marzo> Only the bundle is special
[23:17:57] <Marzo> FYI: https://trello.com/c/veob4v5v
[23:18:36] <Marzo> I had written this earlier today
[23:19:31] <Dominus> ok, then
[23:20:15] <Dominus> I accept the messiness and will keep flx files in the default data folder to keep Exult confused enough to work
[23:20:43] <Marzo> That overhaul would allow merging the bundle, ./data, system data and config data
[23:21:15] <Marzo> You can always set the data dir to your source dir and add stuff there to make Exult work
[23:21:16] <Dominus> and zipped mods?
[23:21:45] <Marzo> And zipped mods, that is a case I didn't think off but which would work nicely
[23:22:04] <Marzo> The zip would just be another virtual directory in the path
[23:22:33] <Dominus> we talked about this before (years ago) how great that would be :)
[23:23:14] <Dominus> I think I filed a feature request in our "never-to-be-looked-at" feature request tracker
[23:23:20] <Marzo> That overhaul would fix the issue of having /usr/local/share/exult/forgeofvirtue/StAtIc/ShApEs.VGA
[23:23:45] <Dominus> he he, yes, that is also a great bug
[23:24:31] <Marzo> The way Exult currently tries to handle files case-insensitively is not very good
[23:24:44] <Marzo> Anyways, off to bed now
[23:24:55] <Dominus> now?
[23:24:56] <Marzo> Have a long day tomorrow
[23:25:04] <Dominus> all right :)
[23:25:24] <Dominus> I'm *just* adding the fix to the ios git...
[23:25:45] <Dominus> before going to bed!
[23:25:46] <Dominus> sleep well and thanks for finding this
[23:57:04] <-- Marzo has left IRC (Ping timeout: 245 seconds)