Mazter wrote:One question here: does the current git version work with 1.1 servers ? if that's the case then maybe we can do this, but it would be better if you can point me to the commit that fixes this issue so I can create a patch to include with the packages. This would also help me to do an update for mageia 3 and 4.
Yes current git version works with 1.1 servers.
I'm not sure to understand what issue you're talking about ? My english is limited
But if you're talking about the
ERROR: opStack corrupted in compiled code issue, yes, this fixes it as ioQuake3 do. Remember, this branch is essentially to being synchronized with ioQuake3 upstream.
Mazter wrote:Currently I think this would be the best approach for us for now (until this issue is fixed). We have ioquake3 included, maybe I need to update it to a more recent version, but I tested the one we have with Smokin' Guns with no issues. If there is any patch that you would consider important to have in ioquake3 to improve Smokin' Guns support please let me know.
There are some diffs, and I think most in the engine are for some Smokin'Guns optimizations, but not only.
Mazter wrote:Tequila wrote:A point about packaging, you may not have read the Makefile.local where it is explained how to use DEFAULT_BASEDIR to specify where to search for the game datas.
hmmm this can be interesting, currently I do a default install and then on the launch script I do this:
- Code: Select all
%install
%make \
copyfiles USE_LOCAL_HEADERS=0 \
USE_INTERNAL_SPEEX=0 \
USE_INTERNAL_ZLIB=0 \
USE_INTERNAL_JPEG=0 \
COPYDIR=%{buildroot}%{gamelibdir}
binary=`basename %{buildroot}%{gamelibdir}/%{name}`
install -d %{buildroot}%{_gamesbindir}
cat > %{buildroot}%{_gamesbindir}/%{name} <<EOF
#!/bin/sh
# We run from ~/.smokinguns, using ~/.q3a is a bad idea as that will
# cause com_standalone to not get set if regular quake3 is also present
CVARS="+set com_basegame smokinguns"
CVARS="$CVARS +set com_homepath .smokinguns"
CVARS="$CVARS +set fs_basepath %{_gamesdatadir}"
CVARS="$CVARS +set com_hunkMegs 128"
exec %{gamelibdir}/%{name}.* "$CVARS" "$@"
EOF
chmod 755 %{buildroot}%{_gamesbindir}/%{name}
I'll do some tests with that target to see if it can improve the game launch.
Well, first point, you can look at code/sys/sus_unix.c file, around lines 125 to 147. You'll find by default our client is looking datas in :
- /usr/share/games/SmokinGuns, so sg_pak0.pk3 file would be at /usr/share/games/SmokinGuns/smokinguns/sg_pak0.pk3
- /usr/local/SmokinGuns
- /opt/SmokinGuns
- /opt/games/SmokinGuns
- /SmokinGuns
- /
You have 2 ways to change that: set PREFIX=<Mageia_SmokinGuns_parent_folder_path> define for the make command. For example:
- Code: Select all
make PREFIX=/usr/games
will build a binary that will search Smokin'Guns data in
/usr/games/SmokinGuns in place of
/usr/share/games/SmokinGunsIf you use DEFAULT_BASEDIR as in:
- Code: Select all
make DEFAULT_BASEDIR=/usr/share/games/SG
The binary will search in the specified folder before the default ones.
In fact, in your SPEC file, you can still set %{gamelibdir} to
/usr/share/games/SmokinGuns if this is a right place for Mageia and so you won't need to set PREFIX or DEFAULT_BASEDIR.
If you build the binary that way, you'll finaly won't need to set any of the CVAR you set in the launcher and you can even start from any folder. The CVAR you're using are only useful for ioquake3 binary. And so you can directly install
smokinguns binary under
/usr/bin and you won't need a launcher script.