First up is a simple test: can we run mods through the -mod switch. Because EB is an unwieldy collossus of a mod, we will use the MMS (Multi Mod Sampler) as a test case: it is small, it uses the -mod switch, and it was put together by people who know what they were doing --so it is unlikely to die on you just becaus of sloppy coding. In short: problems we will encounter will be of our own making.
I've installed the MMS using Wine (note: on this Linux machine I do not have RTW installed, and in any case it would not compare to your Mac version anyway because it'd be a Windows executable: a completely different creature altogether). You can download the MMS installer from here https://forums.totalwar.org/vb/showt...(MMS)-launched. Alternatively I can provide you with a tarball of the contents. If you choose to use the installer, do that similarly to this:
Code:
installdir="$HOME/mms"; # choose non-existing directory to install MMS
mkdir -p installdir; # make the directory for MMS
cd "/path/to/folder/with/downloaded/installer";
chmod u+x mms_v1-1.exe; # make MMS installer executable so you can run it
wine mms_v1-1.exe; # install MMS to $installdir: be sure to select this in the installer
You may need to check with winecfg how the file paths work out for the installer for it maintains a Windows-like logic to your Mac filesystem layout...
Next I've got a script which you can use to generate & install a script for running MMS on your Mac.
It takes care of the tedium of working out the correct value for your mod switch parameter and writing the wrapper script to $HOME/bin/$script so when you next log on you can run the mod as
$script. All you need to do is edit script, rtwPath, and modPath parameter. The first is the name of the script you want to generate (I suggest you use: "rtw-mms"). The second should be the exact place of the executable (use find, finder, ls, whatever to find it). The third is the path to your MMS directory as created by the installer; in that directory there should be a data directory as well as readme files etc.: contents of the mod.
Code:
#!/bin/sh
script="rtw-mms"; # name of script to generate and install
rtwPath="/opt/bin/test.exe"; # path of RTW executable
modPath="$HOME/mms/mms"; # where you installed/extracted mms
# installs a script in ~/bin, creating the directory if it doesn't exist yet.
install_script () {
if [ -f "$HOME/bin/$1" ] ;
then
# error: we don't want to overwrite already existing files
echo "Script already present: ~/bin/$1";
echo "Edit: '$0' to use a different script value.";
exit 1;
elif [ -d "$HOME/bin" ] ;
then
# generate script and make it executable
run_script > "$HOME/bin/$1";
chmod u+x "$HOME/bin/$1";
echo "Installed a script to run the mod at: '$HOME/bin/$1'";
echo "Typically this means you can simply run '$1' to run the mod.";
echo "If not: edit your '$HOME/.profile' or '$HOME/.bashrc' file to include: ";
echo '$PATH="$HOME/bin:$PATH"';
exit 0;
else
# recursive case: create directory, then try again
echo "Creating directory: '$HOME/bin'";
mkdir "$HOME/bin";
# no point continuing if unable to create the directory
if [ $? == 0 ];
then
echo "You will need to logout and log back in before you can run the mod with: '$1'.";
install_link "$1";
fi;
exit $?;
fi;
}
# finds relative path from <rtw> to <mod>
rel_path() {
cpath="`pwd`";
rpath=".";
cd "$1";
while [ "`pwd`" != "/" ];
do
rpath="$rpath/..";
cd ..;
done;
cd "$cpath";
echo "$rpath$2";
}
# echos a script suitable for running the mod
run_script () {
# get directory in which rtw resides
prog="`dirname $rtwPath`";
# get relative path from rtw directory to mod
modRPath="`rel_path $prog $modPath`";
# declare interpreter
echo '#!/bin/sh';
# this mimicks windows .lnk behaviour: cd line is akin to Start In
echo "cd \"$prog\";";
# template line to execute the rtw command with mod switch
echo "\"$rtwPath\" \"-mod:$modRPath\" -show_err -nm;";
# return exit code in generated script
echo 'exit $?;';
}
install_script "$script";
exit $?;
You can install the above script invoke it like "sh installer_script" (if you called it installer_script) and then examine its output. This should be in "$HOME/bin/$script" where "$script" is the name of the script you choose earlier (for instance: rtw-mms). If that looks ok, you can attempt to run it using its full path name "$HOME/bin/$script", so continuing the example: "$HOME/bin/rtw-mms".
Bookmarks