Page 1 of 1

Exult on Linux

Posted: Sun Jun 25, 2017 9:54 pm
by Knight Captain
I'm setting up an older desktop with Linux. Is it better to use the Windows versions via Wine or use the native versions even if they are not as up-to-date as the Windows side?

Looking to use:
Exult
ES
UCC

Outside tools:
GIMP
ImageMagick
Git

Re: Exult on Linux

Posted: Mon Jun 26, 2017 1:22 am
by Dominus
Native versions but compile all things Exult from source!

Re: Exult on Linux

Posted: Tue Jun 27, 2017 6:55 am
by paulo
Just use my ppa if you're on ubuntu.

Re: Exult on Linux

Posted: Thu Jul 06, 2017 7:25 am
by Knight Captain
I tried the PPA but am not sure how to start ES nor Tools. Forgive my ignorance.

Re: Exult on Linux

Posted: Thu Jul 06, 2017 8:51 am
by Dominus
If the ppa is installing them correctly or rather as I expect them to you should be able to just run the commands (expack, ipack, ucxt...).
Exult Studio should just start when you enter mapedit mode in Exult.
Or try running mapedit from the command line.

Re: Exult on Linux

Posted: Fri Jul 07, 2017 9:55 am
by paulo
sudo apt-get install exult-studio
exult_studio


I haven't actually *used* them besides checking if it runs you understand, but it's there.

Re: Exult on Linux

Posted: Mon Jul 10, 2017 1:54 pm
by Knight Captain
I've got a different problem. Linux Mint is not playing nicely with my high resolution screen. It might be time to buy Windows after all.

Re: Exult on Linux

Posted: Thu Jul 20, 2017 2:58 am
by Knight Captain
The high resolution screen issue seemed to be hardware-specific. Using a native DisplayPort card fixed it.

Now I'm using the PPA but it does not hiccup on missing the proper mod installation paths. I forget to put conquests as a folder, and just had data and my config file. Exult claimed to be opening the mod but failed back to using mostly the stock game without any error message either graphically or in the terminal.

Re: Exult on Linux

Posted: Thu Jul 20, 2017 4:04 am
by Knight Captain
There also appears to be a fatal hang when trying to set the background color preference in Studio.

Re: Exult on Linux

Posted: Fri Jul 21, 2017 4:41 am
by paulo
The error is likely to be the same. Linux standard is to copy read-only data and exec files to a read only path structure. This works fine for playing the game, because the default path can be changed at compile time. Currently the config is:


dh_auto_configure -- --prefix=/usr \
--bindir=\$${prefix}/games \
--mandir=\$${prefix}/share/man \
--datadir=\$${prefix}/share/games \
--with-timidity=\$${prefix}/share/games/exult \
--enable-mods \
--enable-nxbr \
--enable-exult-studio \
--enable-exult-studio-support \
--enable-gimp-plugin \
--enable-compiler \
--enable-mt32emu \
--with-sdl=sdl2

so, games data get read by default on /usr/share/games/exult/*

However, you should still be able to change this with the cfg file in ~/.exult.cfg (not the dir, the file exists too).

The hang is likely to be something trying to write where it shouldn't. If true, this is a upstream problem.

Re: Exult on Linux

Posted: Fri Jul 21, 2017 4:54 am
by paulo
Ah i think i misunderstood something, the first i also had some problems with.


In linux, filenames are case sensitive, so one of the default filenames for the mod configuration files. For a while, the ppa was not running the keyring mod and i hadn't noticed (because again, no error notification). It was caused by the default name of 'Keyring.cfg'. I had to lower case it to 'keyring.cfg' during install (probably because all game files were lower cased when copied to prevent those same errors, and the game was finding the cfg and trying to find the game dir from its name but failing).

So yes, i'm almost certain upstream is saying the mod exists if the cfg file exists, regardless if it can find the dir.

I haven't found other problems with the case of the files while playing though, i think the exult upstream is fairly disciplined about refering to files lowercase, this must be because the name comes direct from the filesystem (the cfg filename).

Re: Exult on Linux

Posted: Fri Jul 21, 2017 4:55 am
by paulo
Wish i could edit replies. Disregard the second part of the first phrase above please.

Re: Exult on Linux

Posted: Fri Jul 21, 2017 8:47 am
by paulo
In the first phrase of the second paragraph doh.

Re: Exult on Linux

Posted: Sat Jul 22, 2017 10:53 pm
by Knight Captain
Is Tools available as a package in your PPA as well?

How do I compile from source?

Re: Exult on Linux

Posted: Sun Jul 23, 2017 1:13 am
by Knight Captain
For getting this installed, I followed the instructions here:
https://launchpad.net/~exult-team/+arch ... xult-daily

sudo add-apt-repository ppa:exult-team/exult-daily
sudo apt-get update

Then:
apt install exult
apt install exult-studio
apt install exult-audiopack

Re: Exult on Linux

Posted: Sun Jul 23, 2017 1:24 am
by Knight Captain
Looking for 'serpentbeta' at '/usr/share/games/exult/serpentbeta'... found game with identity 'SERPENT ISLE'
Looks like the detection of the Beta is a bit off in the PPA build. Studio also seems to have this problem.

Re: Exult on Linux

Posted: Sun Jul 23, 2017 9:16 am
by paulo
I didn't really change the detection from upstream except changing the default path on the ./configure above. So if that is happening in the ppa it should happen in upstream.

However, one thing comes to mind: the install process has a script to copy both game files into /usr/share/games/exult/ dir (the new default dir) (you can always change the default cfg file ofc, but this is to make easy for the users).

It has no option to install the beta. It *will* if you just provide the 'wrong' beta dir to one of the intended serpent isle or blackgate dirs though i don't advise that even if it works. I'm curious about how you managed to make it create the dir, unless you sudo copied it after install.

Also a correction now that i looked at the scripts after some years: they just copy the game files direct, and don't lowercase them; i was confused because mine were already lowercase because of my paranoia about linux paths. No one complained about errors and the games play fine so it seems linux adapts fine to variant cases at runtime though (except that one case on the mod directory that i explained above).

Re: Exult on Linux

Posted: Sun Jul 23, 2017 1:58 pm
by Dominus
That‘s what you get when you make assumptions about paths and cases and copy game files...
I‘d suggest building it on your own:
- dl the source from guthub
- in terminal cd to the source and run ./autogen.sh and ./configure --enable-exult-studio and then make

Re: Exult on Linux

Posted: Sun Jul 23, 2017 10:36 pm
by Knight Captain
I use the stock names that the detection uses:

blackgate
forgeofvirtue
serpentisle
silverseed
serpentbeta

There's others per-language, but I am not having luck locating the .cfg file that is actually used.

Re: Exult on Linux

Posted: Mon Jul 24, 2017 12:14 am
by Dominus
Unless the ppa changed that to it should be in the root of your home folder as .exult.cfg. The dot before exult.cfg is important. It means that it is „invisible“

Re: Exult on Linux

Posted: Mon Jul 24, 2017 1:25 am
by Knight Captain
That's there, but it doesn't update to reflect the changes. Say, video resolution.

Re: Exult on Linux

Posted: Mon Jul 24, 2017 2:28 am
by Dominus
Delete $HOME/.exult.cfg („rm $HOME/.exult.cfg“), start Exult again. If nothing changed you must have looked at the wrong cfg.

Re: Exult on Linux

Posted: Wed Aug 09, 2017 11:50 pm
by Knight Captain
I ran into a different bug that also seems to only happen on Linux. When Shamino rejoins the party and creates the list of new exchanged items, his items do not appear on the list. The same Usecode does not have this issue on Windows.

For my own sanity I gave up on using Linux for this and am using Linux to run a VM for Windows.

Re: Exult on Linux

Posted: Thu Aug 10, 2017 3:32 am
by Dominus
This is not possible. You must have made some error with the files.

Re: Exult on Linux

Posted: Thu Aug 10, 2017 12:27 pm
by paulo
Honestly, the ppa doesn't change anything about the cfg file paths except the compilation option for the default path of the games (that get filled into that cfg file).

I opted to install the game files to the system dirs during the package install because that was already happening for the SIFixes and Keyring mods, where the most up-to-date code is in the repository and is built during compilation and so need to have a 'system install path'.

So, what is *probably* happening to you is that you kept your old version of the games on ~/.exult/blackgate ~/.exult/serpentisle etc and it's overriding the new path with the user path. Ie: you aren't getting or using the last version of the mods.

Everything, including settings changes works fine here. To prove it here is a image i took right now with Shamino with the items and the scroll having them appended at the end.

https://snag.gy/C1hMUc.jpg

Re: Exult on Linux

Posted: Thu Aug 10, 2017 11:52 pm
by Knight Captain
This is happening with both the stock SS and my mod, both starting a new game. Nothing particularly interesting in the terminal output.

Re: Exult on Linux

Posted: Fri Aug 11, 2017 11:07 am
by Dominus
I can not think of any way how this is not working on linux while working on Windows. It’s highly unlikely that our code is executing usecode differently on the OS‘.
You will need to make sure that nothing is overriding the usecode on your Windows install (patch or mod).
According to the SI Fixes readme.txt only SI Fixes makes Shamino add his items to the list. So stock SS is working „correctly“ when he doesn’t add them.
If a patched or modded SS on Linux is not doing that, it’s likely that the SI Fixes patch usecode is not found (or there was an error with creating the usecode).

If a stock SS on Windows is adding Shaminos items, it is likely that it is parched/modded somehow.

Re: Exult on Linux

Posted: Fri Aug 11, 2017 11:45 am
by Dominus
Oh and no need for a full fledged VM, Exult + Exult Studio work fine in Wine ;)

Re: Exult on Linux

Posted: Sun Aug 13, 2017 5:17 am
by Knight Captain
The SIFixes readme.txt may be outdated then, because Shamino does add his items to the list in the original.

Is there a debug mode logging switch? It would be useful to prove this as well as troubleshooting my mod.

Re: Exult on Linux

Posted: Sun Aug 13, 2017 9:42 am
by Dominus
I tested with current Git of Exult on OS X, Wine on OS X, Windows 7.

In all these Shamino prepares the list but he doesn't add his items (pink slippers, bear skull, hand, hairbrush). This was with an unmodified SI+SS.

If he adds his items to the list in your game then you might have looked at the list after Iolo or Dupre joined OR you have a patched usecode running.
See https://github.com/exult/exult/blob/mas ... s.txt#L124