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

Archive Today Yesterday Tomorrow
Exult homepage

[00:35:13] --> i30817 has joined #exult
[00:36:43] <i30817> Dominus: but do the scripts inside the mods write to their dir besides the saves? Or is it 'reading only'.
[00:36:44] <i30817> I might implement using a zip as a mod file with physicsfs. Doesn't look too tough, expect if you'd like writing support
[00:43:34] <-- Malignant_Manor has left IRC (Quit: ChatZilla 0.9.89 [Firefox 17.0.1/20121128204232])
[00:45:15] <-- Kirben has left IRC ()
[00:52:03] <i30817> OR MAYBE NOT. just looked at modmgr.cc
[00:53:12] <i30817> brrrr
[00:55:06] <i30817> Wait wat?
[00:55:08] <i30817> #ifdef HAVE_ZIP_SUPPORT
[00:55:10] <i30817> #include "files/zip/unzip.h"
[00:55:12] <i30817> #include "files/zip/zip.h"
[00:55:14] <i30817> #endif
[00:55:16] <i30817>
[00:55:18] <i30817> You already have zip support?
[00:57:28] <i30817> Oh, it's only for saves.
[01:35:30] <i30817> What's the diff between mods and patch?
[01:38:10] <-- ParuNexus has left IRC (*.net *.split)
[01:38:10] <-- Eviltar has left IRC (*.net *.split)
[01:38:10] <-- Dominus has left IRC (*.net *.split)
[01:38:11] <-- Rottingbeef has left IRC (*.net *.split)
[01:38:12] <-- SugarCube has left IRC (*.net *.split)
[01:38:13] <-- ettin has left IRC (*.net *.split)
[01:38:14] <-- sh4rm4 has left IRC (*.net *.split)
[01:50:12] --> Dominus has joined #exult
[01:59:22] --> ettin has joined #exult
[02:03:29] --> sh4rm4 has joined #exult
[02:04:09] <i30817> It seems that both exult's code and the mods cfg assume that the mods will be placed on a writable dir.
[02:04:16] --> Kirben has joined #exult
[02:04:19] --- ChanServ gives channel operator status to Kirben
[02:04:26] --> ParuNexus has joined #exult
[02:04:26] --> Eviltar has joined #exult
[02:04:37] <i30817> The mods cfgs have this:
[02:04:38] <i30817> <savegame_path>
[02:04:40] <i30817> __MOD_PATH__/saves
[02:04:41] <i30817> </savegame_path>
[02:05:05] <i30817> Which would only work if the calculated __MOD_PATH__/saves was writable.
[02:05:10] --> Rottingbeef has joined #exult
[02:05:10] --> SugarCube has joined #exult
[02:10:06] <i30817> Also placing a directory with the mods at /usr/share/games/exult/mods/ didn't work, they are not automatically picked up there.
[02:11:35] <i30817> The /usr/share/games/exult/serpentisle dir is a symbolic link to the location where the game is on the user HD.
[02:11:37] <i30817> I can't use that.
[02:12:22] <i30817> This : /usr/share/games/exult/serpentisle/mods/sifixes
[02:13:06] <i30817> since it would cause apt-get to 'install' stuff in the user stomping grounds, which is very bad form.
[02:13:45] <i30817> And wouldn't work well anyway due to permissions and stuff.
[02:27:52] <i30817> The modmgr class is obscenely complex.
[04:10:05] <i30817> Ah here we go.
[04:10:07] <i30817> // <mods> setting: default is "$game_path/mods".
[04:10:08] <i30817> config_path = base_cfg_path + "/mods";
[04:10:10] <i30817> default_dir = game_path + "/mods";
[04:10:11] <i30817> config->value(config_path.c_str(), mods_dir, default_dir.c_str());
[04:10:13] <i30817> add_system_path("<" + path_prefix + "_MODS>", mods_dir);
[04:10:14] <i30817> Have to change default_dir to the "DATA/exult/"+gamename+"/mods" folder
[04:10:16] <i30817> Or something like that.
[04:13:44] <i30817> Then again, maybe it's worthwhile to see if apt-get can install the mods to the user home itself with the right permissions. And make sure the stuff is not removed or fails on remove if the user moved the game dir
[04:14:04] <i30817> If this happens i do not need to change code...
[04:16:18] <i30817> Which should be much less brittle
[04:16:48] <i30817> Needs to warn the user / check for already installed mods thou.
[04:17:15] <i30817> But since i only plan to do this for keyring and sifixes, looks doable
[04:17:23] <i30817> if it behaves
[04:25:02] <i30817> A symlink as /usr/share/games/exult/serpentisle/mods/sifixes would work better... if the saves work
[04:56:47] --> Matt_O has joined #exult
[05:45:23] --> DominusMobile has joined #exult
[05:46:29] <DominusMobile> i30817: usr/share/games/exult/serpentisle/mods/sifixes is the correct folder to use. Don't know why you wanted to use usr/share/games/exult/mods, no one suggested that
[05:46:56] <DominusMobile> Mods do not neeed write access to their folder when you play
[05:47:35] <DominusMobile> Only when you develop a mod with exult studio does it need write access to its folder
[05:47:56] <DominusMobile> Which should make sense ;)
[05:48:03] <-- DominusMobile has left IRC (Client Quit)
[05:52:25] <i30817> Because; in usr/share/games/exult/serpentisle/mods/sifixes
[05:52:27] <i30817> serpentisle is actually a symlink to the games.
[05:53:06] <i30817> So 'putting' it in usr/share/games/exult/serpentisle/mods/sifixes is *actually* installing it in the user game dir
[05:53:57] <i30817> Now i'm exploring putting a symlink there and see if it will work.
[06:00:01] <i30817> Could also actually *copy* the game dir instead of symlinking it. Would probably be safer even... ummm
[06:00:31] <i30817> without exultstudio support obviously.
[06:01:07] <i30817> makes sense really.
[06:01:39] <i30817> So there won't be broken symlinks if the user moves the game dir.
[06:02:46] <i30817> that is if exult really never needs gamefolder write access.
[06:07:37] <i30817> Think i will do that.
[06:59:55] --> Serel has joined #exult
[07:00:15] <Serel> Any way to check what sigils and etc you have in Ultima IV?
[07:03:01] --> DominusMobile has joined #exult
[07:04:35] <DominusMobile> i30817: the whole point of making the defaults of the games be in /usr/... was that allusers can play the game, hence the save defaults are in ~/.exult/...
[07:05:16] <DominusMobile> Using symlinks from the user to /usr/... is really not the way to go.
[07:05:23] <i30817> cool. It's decided then, copy it will be
[07:06:04] <DominusMobile> If the user has no access to usr then it is futile anyway and exult.cfg needs to be edited.
[07:06:40] <DominusMobile> One question though, how do you plan to do this automatic for thegames?
[07:07:39] <DominusMobile> It's not as if you can legally put them somewhere for automatic download and install
[07:07:50] <DominusMobile> Legally
[07:09:26] <DominusMobile> Because the games can come from various sources, floppy,CD Rom or gog.com but that's asking for different approaces to script that
[07:10:03] <DominusMobile> Or were you just thinking of the mods?
[07:10:55] <DominusMobile> Anyway I'm gone again. Preparing to raid vienna city diaguised as a santa with 50 other santas ;)
[07:11:02] <-- DominusMobile has left IRC (Quit: Rooms • iPhone IRC Client • http://www.roomsapp.mobi)
[07:17:01] <-- Eviltar has left IRC (Ping timeout: 265 seconds)
[07:17:28] --> Eviltar has joined #exult
[07:19:09] <-- Matt_O has left IRC (Quit: Leaving)
[07:23:28] --> ParuCodex has joined #exult
[07:25:27] <i30817> I copied the base of the package from Dannel Wilson repository (troll bag o'tricks)
[07:25:28] <i30817> which asks the user for the game dir on package install
[07:25:36] <i30817> He symlinked it
[07:29:27] <-- ParuNexus has left IRC (*.net *.split)
[08:31:28] <-- ParuCodex has left IRC (Quit: ERROR: IRC ADDICT dejected!)
[08:31:37] --> ParuNexus has joined #exult
[08:38:11] <-- Dominus has left IRC (Ping timeout: 255 seconds)
[08:39:43] --> Dominus has joined #exult
[08:39:44] --- ChanServ gives channel operator status to Dominus
[09:24:52] <i30817> Forgot how much bash sucks as a language. 'forgot the space' ? What is this stone age, parser-less crap?
[09:26:06] <i30817> [! -d "$dir]
[10:14:39] <i30817> BTW, what is the patches folder for? Currently, i'm copying everything from the dir the user gives as the game except the mods folder (case insensitive)
[10:15:02] <i30817> But i'm unsure if i should forbid the patches folder or not
[10:15:13] <i30817> patches -> patch
[10:20:45] <-- i30817 has left IRC (Quit: ChatZilla [Firefox 17.0.1/20121129151842])
[11:24:27] <-- Rottingbeef has left IRC ()
[11:26:45] --> Rottingbeef has joined #exult
[12:27:25] <-- Kirben has left IRC ()
[12:49:21] --> Marzo has joined #exult
[13:11:15] <Marzo> i30817: if you read the logs: __MODS__ and __MOD_PATH__ in mod paths are replaced by different things depending on whether the path needs to be writable (like save games) or not (mod data)
[13:12:51] <Marzo> So even if a mod specifies it for saving and game data, the result will be sane
[15:55:00] <-- Dominus has left IRC (Ping timeout: 248 seconds)
[15:56:09] --> Dominus has joined #exult
[15:56:09] --- ChanServ gives channel operator status to Dominus
[17:49:33] <Marzo> Dominus: regarding this bug: https://sourceforge.net/tracker/?func=detail&aid=3587112&group_id=2335&atid=102335
[17:49:46] <Marzo> I can't seem to get Exult to crash
[17:50:12] <Marzo> Does it happen whenever you provide a valid path or only if you provide an incorrect path?
[17:52:45] <Dominus> yeah, sorry I forgot the invalid in th text
[17:53:28] <Dominus> incorrect path will crash exult since there is no if path not exist go to default...
[17:53:39] <Dominus> (I don't like the default to begin with...)
[17:53:59] <Dominus> that it needs to be written (default) i mean
[17:54:48] <Marzo> There aren't many ways to specify an object inside a flex file in the config file
[17:55:02] <Marzo> But I will add a branch to default
[18:01:18] <-- Dominus has left IRC (Ping timeout: 264 seconds)
[18:02:08] --> Dominus has joined #exult
[18:02:08] --- ChanServ gives channel operator status to Dominus
[18:02:41] <Marzo> Dominus: in case of an invalid file name for keys or autonotes, should the cfg value be reset to default or should it be left alone?
[18:02:54] <Marzo> Currently, I am leaving it alone
[18:17:24] --> i30817 has joined #exult
[18:18:34] <Dominus> marzo, maybe, if it isn't too much trouble, add a "invalid path:" in front of it :)
[18:18:41] <i30817> Hey. I think the --with-timidity configure option is broken. I did a patch that did the same thing, but noticed the configure option so removed in it's favor. It doesn't seem to work
[18:18:52] <Marzo> i30817: saw my message on the logs?
[18:19:06] <Dominus> or leave it alone, people who mess with this probably want to edit it againand not rewrite the whole path
[18:19:51] <Dominus> i30817: you really need to check our documentation AND ./configure options :)
[18:20:05] <Dominus> what doesn't work with timidity enabled?
[18:20:23] <i30817> Marzo: yes i saw. Handy, the mods are already working here.
[18:21:02] <Dominus> ah, you mean the path to timidity cfg?
[18:21:17] <i30817> Dominus:
[18:21:19] <i30817> dh_auto_configure -- --prefix=/usr \
[18:21:21] <i30817> --bindir=\$${prefix}/games \
[18:21:22] <i30817> --mandir=\$${prefix}/share/man \
[18:21:24] <i30817> --datadir=\$${prefix}/share/games \
[18:21:25] <i30817> --with-timidity=\$${prefix}/share/games/exult/timidity.cfg <-- i think this was supposed to change a define but it isn't right now
[18:21:38] <i30817> At timidity.h
[18:21:39] <i30817> #define CONFIG_FILE "timidity.cfg"
[18:21:56] <i30817> For whatever you put in, only it didn't actually work
[18:22:19] <Dominus> did you trace it where the --with-timidity is changing stuff?
[18:22:34] <i30817> It's on the configure.ac, a sed
[18:22:53] <i30817> I'm not a sed wizard so i don't know what's up (haven't debugged)
[18:23:15] --> Malignant_Manor has joined #exult
[18:23:21] <i30817> if test ! -d $with_timidity; then
[18:23:23] <i30817> with_timidity=`echo "$with_timidity" | sed 's/timidity.cfg//'`
[18:23:24] <i30817> fi
[18:23:43] <Dominus> that's only an echo
[18:25:27] <i30817> The next line; sorry;
[18:25:29] <i30817> if test ! -d $with_timidity; then
[18:25:30] <i30817> with_timidity=`echo "$with_timidity" | sed 's/timidity.cfg//'`
[18:25:32] <i30817> fi
[18:25:34] <i30817> AC_DEFINE_UNQUOTED(DEFAULT_TIMIDITY_PATH, "$with_timidity", [Default timidity path])
[18:25:48] <Dominus> check where the source uses "DEFAULT_TIMIDITY_PATH"
[18:27:45] <Dominus> hi Malignant_Manor : did you notice i30817's patch for adding the munt lib? quite handy in getting up to date munt development in :)
[18:28:04] <Dominus> http://bazaar.launchpad.net/~exult-team/exult-engine/packaging/view/head:/debian/patches/staticMt32Emu.diff
[18:28:52] <Malignant_Manor> I didn't look at it yet.
[18:29:18] <Malignant_Manor> Marzo, that expack change works for Windows XP too.
[18:29:42] <Marzo> Well, set it to closed then :-p
[18:30:08] <Malignant_Manor> I just did
[18:34:17] <Malignant_Manor> I can't test North part of bread on table considered over the avatar head bug in the original game because the innkeeper removes the plate and bread during the cutscene.
[18:34:36] <Dominus> i30817: I added your static mt32emu patch to our tracker for keeping it safe https://sourceforge.net/tracker/?func=detail&aid=3596306&group_id=2335&atid=302335
[18:34:44] <Malignant_Manor> I cannot manually place the bread in the same position either.
[18:35:57] <Malignant_Manor> The bread is at 3 z so it would probably make sense for it to be rendered above the Avatar.
[18:36:45] <Dominus> so another original bug, except our bartender doesn't remove the bread
[18:37:31] <Malignant_Manor> I have no idea. It is probably more to do with the weird perspective than a bug.
[18:38:58] <Malignant_Manor> Yes, at z 0, the bread is on the ground.
[18:44:26] <Malignant_Manor> I marked the bug as invalid.
[18:48:44] <Dominus> i30817: looking at timidity.h you need to set the path where timidity.cfg is, not timidity.cfg itself
[18:48:58] <i30817> Ah, ok
[18:49:00] <Dominus> so --with-timidity=\$${prefix}/share/games/exult should work
[18:49:13] <Dominus> but not --with-timidity=\$${prefix}/share/games/exult/timidity.cfg
[18:49:25] <Malignant_Manor> That patch isn't really something for me to look at. I'm not good with the technical stuff.
[18:50:03] <Dominus> Malignant_Manor: in this case I just wanted to point you at ti because I had the feeling you like to play with mt32emu
[18:50:48] <Malignant_Manor> You said it caches on the fly with the patch. Is that in memory or on the hard disk?
[18:51:04] <i30817> It's a bit hard ATM, since you have to have the library installed. And it isn't in any repos
[18:51:05] <Dominus> in memory as far as I understood
[18:51:09] <i30817> It''s memory
[18:51:31] <i30817> Mt32emu removed the caches a while ago
[18:51:48] <i30817> A LONG while ago IIRC
[18:52:31] <i30817> I'm curious, did you have the library (old version) with that 'write mode' stuff?
[18:52:31] <Malignant_Manor> So, when adding the patch and in the release notes, we need to tell people to delete the files or do it for them (which could screw up things like Dosbox).
[18:52:53] <Dominus> it still needs the roms
[18:53:09] <Dominus> but the cache files it made in the data folder are gone
[18:53:20] <i30817> You need to find a way to build the library. It's a static library so it has no runtime dependency, just compile time.
[18:53:30] <Dominus> don't see how that can screw dosbox
[18:53:51] <Malignant_Manor> the waveform cache is used by Dosbox.
[18:53:59] <i30817> I could swear that scummvm used libmt32emu a while ago.
[18:54:25] <Dominus> Malignant_Manor: how and why does dosbox use the waveform cache?
[18:54:43] <Malignant_Manor> It might write to a different folder though.
[18:54:49] <Dominus> normal dosbox has no mt32emu and special builds have switched to current munt as well
[18:54:54] <i30817> Yeah? Not anymore: https://code.launchpad.net/~i30817/+recipe/dosbox-daily
[18:55:39] <i30817> That's a mt32emu build, and it doesn't require a cache.
[18:55:40] <Dominus> i30817: you are not doing a straight SVN
[18:56:13] <Malignant_Manor> NVM, Exult writes in local_app/exult/data
[18:56:23] <Dominus> yup
[18:56:52] <Malignant_Manor> It should be safe to add deletion to the patch, you would need to have the proper path on all systems.
[18:57:24] <Dominus> i30817: you should make it clear that you are not building straight dosbox svn, dosbox support doesn't like helping with modified builds
[18:58:10] <Dominus> Malignant_Manor: do we really need to delete the files? when they are not used anymore they could just live there. It'd make the code less complicated.
[18:58:29] <i30817> Dominus: better :)
[18:58:34] <Malignant_Manor> Does switching sample rate and speaker type in game work properly with the patch?
[18:58:45] <Dominus> better?
[18:59:02] <i30817> edited the description that it's unsupported in the forum
[18:59:55] <Dominus> Malignant_Manor: haven't tested, I must say. can test tomorrow when everyone is out of the house and I can have loud music playing
[18:59:55] <Malignant_Manor> So then remember to tell people to manually remove the files.
[19:00:04] <i30817> Malignant_Manor: If it does, it's only because of the super class. It probably doesn't because the super class only manipulates input, not output
[19:00:29] <Dominus> i30817: yes, better :)
[19:00:53] <i30817> If i understant it, which i probably don't. BTW, the sysex bugs and others are probably in the super class.
[19:00:56] <Malignant_Manor> The current code allows switching in game.
[19:01:30] <Dominus> i30817: I'm thinking of adding mt32emu and openglide to my daily dosbox builds as well, but when I do I will keep on doing both, straight and modified build
[19:02:29] <i30817> Malignant_Manor: The old mt32emu integration had private edits to allow switching sample rate and speaker type?
[19:03:22] <Malignant_Manor> I don't remember the code, but I know it works, and I just did it.
[19:03:38] <Dominus> Marzo: we do have a compiler warnings patch for revision that also concerns expack, btw https://sourceforge.net/tracker/?func=detail&aid=3591998&group_id=2335&atid=302335
[19:03:48] <i30817> Dominus: i could have done that, but i was interested in the mt32emu (which annoyed me a lot because the old 'support' involved starting munt everytime i wanted to play)
[19:04:12] <Dominus> yeah
[19:07:53] <i30817> Only bug which is annoying me majorly in exult now is something Marzo says doesn't happen to him in gnome 3
[19:07:55] <i30817> (the top panel not being hidden in fullscreen)
[19:08:24] <Dominus> and that is working with dosbox?
[19:08:54] <i30817> Nope; it's general. Happened with wine too, but it appears to have been fixed there.
[19:09:05] <i30817> So it's not SDL
[19:09:51] <Marzo> Strangely, I see it with full-screen flash videos, but nothing much else
[19:10:32] <Dominus> perhaps you are not on the same gnome 3 version?
[19:13:09] <Malignant_Manor> I have a linking error when building tools. (I forgot to mention it earlier.) http://pastebin.com/VBeFu3jz
[19:15:10] <i30817> There is also a exult-studio error on -O3 here.
[19:15:20] <i30817> compilation error
[19:17:14] <Malignant_Manor> That MT32 patch on the tracker didn't work. All it did was add a b/audio/midi_drivers folders.
[19:17:40] <Dominus> then your patcher did something wrong
[19:18:04] <Malignant_Manor> --- a/audio/midi_drivers/MT32EmuMidiDriver.cpp
[19:18:05] <Malignant_Manor> +++ b/audio/midi_drivers/MT32EmuMidiDriver.cpp
[19:18:17] <Dominus> you need to supply -p1 to the patch
[19:18:39] <Dominus> patch -p1 -i staticmt32emu.diff
[19:19:12] <i30817> It will only output sound if you have the library to link against handy.
[19:19:14] <Dominus> seems the patch program you use is a bit on the stupid side
[19:20:18] <Malignant_Manor> You now need an external library?
[19:20:31] <Dominus> when you make the mt32emu lib only use cmake on the munt/mt32emu folder or you will need to supply glib2
[19:20:32] <Dominus> yes
[19:20:44] <Dominus> same as fluidsynth
[19:21:09] <Dominus> it does away with the internal emu but uses the mt32emu lib
[19:21:23] <Dominus> when it is found in our prefix
[19:21:28] <Dominus> your prefix
[19:22:38] * Dominus is gone for a bit
[19:22:53] <i30817> I'm not imagining that there was a mt32emu library in the ubuntu repositories before am i?
[19:22:55] <i30817> Was it removed by Roland 'request'?
[19:23:04] <i30817> *paranoia*
[19:40:02] <-- i30817 has left IRC (Quit: ChatZilla [Firefox 17.0.1/20121129151842])
[19:51:38] <-- Malignant_Manor has left IRC (Quit: ChatZilla 0.9.89 [Firefox 17.0.1/20121128204232])
[20:36:18] <Dominus> Marzo: thanks for the crash fix
[20:40:29] <Marzo> Dominus: np; also, I just applied that patch you linked to
[20:40:38] <Dominus> yeah, I noticed
[20:43:32] <Dominus> all that stuff you just removed in rev 7213 wasn't needed?
[20:48:50] <Marzo> It isn't, no; some were variables that were unused, some were leftovers from when wjp removed the Exult text in the intros
[20:49:31] <Dominus> thanks for clarifying.
[21:16:06] --> Malignant_Manor has joined #exult
[21:18:10] <Malignant_Manor> Marzo, would you be willing to run cppcheck and fix some of the errors and warning? https://sourceforge.net/projects/cppcheck/
[21:33:12] <-- Dominus has left IRC (Ping timeout: 264 seconds)
[21:34:08] --> Dominus has joined #exult
[21:34:08] --- ChanServ gives channel operator status to Dominus
[22:03:28] <Dominus> 1716 closed bugs in our tracker :)
[22:21:40] <-- Malignant_Manor has left IRC (Quit: ChatZilla 0.9.89 [Firefox 17.0.1/20121128204232])