Updated gdc-psyfork with current (NPOTB).
- Added script support for Steam3 content (CS:GO, ND, etc.). - Removed script steam.inf temp-move hack now that DepotDownloader correctly handles checksums. - Updated symbols.txt. - Fixed gdc having issues with gamedata files that contain new or unknown sections ("Addresses").
This commit is contained in:
parent
2896e7bd4b
commit
b7ac61cbea
@ -153,6 +153,10 @@ SMCResult CGameConfig::ReadSMC_NewSection(const SMCStates *states, const char *n
|
|||||||
{
|
{
|
||||||
m_ParseState = PSTATE_GAMEDEFS_SIGNATURES;
|
m_ParseState = PSTATE_GAMEDEFS_SIGNATURES;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_IgnoreLevel++;
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,11 @@ SM_PATH=/home/gdc/sourcemod-central
|
|||||||
ENGINE_BIN=${ENGINE_PATH}/bin/engine
|
ENGINE_BIN=${ENGINE_PATH}/bin/engine
|
||||||
GAME_BIN=${ENGINE_PATH}/${GAME_DIR}/bin/server
|
GAME_BIN=${ENGINE_PATH}/${GAME_DIR}/bin/server
|
||||||
STEAMINF=${ENGINE_PATH}/${GAME_DIR}/steam.inf
|
STEAMINF=${ENGINE_PATH}/${GAME_DIR}/steam.inf
|
||||||
BIN_EXT=""
|
|
||||||
|
if [ "${GAMEDATA_DIR}" == "" ] ; then
|
||||||
|
GAMEDATA_DIR=${GAME_DIR}
|
||||||
|
fi
|
||||||
|
|
||||||
if [ $MOD == 1 ] ; then
|
if [ $MOD == 1 ] ; then
|
||||||
BIN_EXT="_i486"
|
BIN_EXT="_i486"
|
||||||
fi
|
fi
|
||||||
@ -15,12 +19,12 @@ fi
|
|||||||
echo -e "Checking game ${GAME_DIR}...\n"
|
echo -e "Checking game ${GAME_DIR}...\n"
|
||||||
|
|
||||||
if [ $MOD == 0 ] && [ "$1" == "auto" ] ; then
|
if [ $MOD == 0 ] && [ "$1" == "auto" ] ; then
|
||||||
./updatecheck.pl "${STEAMINF}"
|
UPDATE_RES=`./updatecheck.pl "${STEAMINF}"`
|
||||||
if [ $? -ne 0 ] ; then
|
if [ $? -ne 0 ] ; then
|
||||||
exit 1
|
exit 1
|
||||||
elif [ ! -e ${STEAMINF}.new ] ; then
|
|
||||||
echo -e "Update (maybe) available but no steam.inf.new written!\n"
|
|
||||||
fi
|
fi
|
||||||
|
EXPECTED_VER=`echo ${UPDATE_RES} | egrep -o '([0-9]+)$'`
|
||||||
|
echo Expecting version ${EXPECTED_VER}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export RDTSC_FREQUENCY="disabled"
|
export RDTSC_FREQUENCY="disabled"
|
||||||
@ -36,24 +40,43 @@ fi
|
|||||||
if [ ${UPDATE} -eq 1 ] ; then
|
if [ ${UPDATE} -eq 1 ] ; then
|
||||||
cd ${DD_PATH}
|
cd ${DD_PATH}
|
||||||
|
|
||||||
if [ $MOD == 0 ] ; then
|
if [ "${DD_GAME}" != "" ] ; then
|
||||||
#workaround for DD1 "bug" (won't redownload file of same name/size)
|
DD_OPT_AUTH=`tr '\r\n' ' ' < dd-login-info.txt`
|
||||||
rm -f ${STEAMINF}.old
|
elif [ "${DD_APP}" != "" ] ; then
|
||||||
mv ${STEAMINF} ${STEAMINF}.old
|
DD_OPT_AUTH=`tr '\r\n' ' ' < dd-login-info.txt`
|
||||||
|
else
|
||||||
|
echo "Error: neither DD_GAME nor DD_APP are set!"
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for i in 1 2 3 4 5
|
for i in 1 2 3 4 5
|
||||||
do
|
do
|
||||||
|
if [ "${DD_GAME}" != "" ] ; then
|
||||||
mono DepotDownloader.exe \
|
mono DepotDownloader.exe \
|
||||||
-game "${DD_GAME}" \
|
-game "${DD_GAME}" \
|
||||||
-dir ${DD_DIR} \
|
-dir ${DD_DIR} \
|
||||||
-filelist server.txt \
|
-filelist server.txt \
|
||||||
-all-platforms
|
-all-platforms \
|
||||||
|
-no-exclude \
|
||||||
|
${DD_OPT_CELL} \
|
||||||
|
${DD_OPT_AUTH}
|
||||||
|
else
|
||||||
|
mono DepotDownloader.exe \
|
||||||
|
-app "${DD_APP}" \
|
||||||
|
-dir ${DD_DIR} \
|
||||||
|
-filelist server.txt \
|
||||||
|
-all-platforms \
|
||||||
|
-no-exclude \
|
||||||
|
${DD_OPT_CELL} \
|
||||||
|
${DD_OPT_AUTH}
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo
|
||||||
|
|
||||||
if [ $? == 0 ] ; then
|
if [ $? == 0 ] ; then
|
||||||
break
|
break
|
||||||
elif [ $i == 5 ] ; then
|
elif [ $i == 5 ] ; then
|
||||||
echo -e "Update failed five times; giving up ¯\(º_º)/¯\n"
|
echo Update failed five times; welp
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -64,14 +87,21 @@ fi
|
|||||||
|
|
||||||
if [ "$1" == "auto" ] ; then
|
if [ "$1" == "auto" ] ; then
|
||||||
DOWNLOADED_VER=`grep -E "^(Patch)?Version=(([0-9]\.?)+)" ${STEAMINF} | grep -Eo "([0-9]\.?)+" | sed s/[^0-9]//g`
|
DOWNLOADED_VER=`grep -E "^(Patch)?Version=(([0-9]\.?)+)" ${STEAMINF} | grep -Eo "([0-9]\.?)+" | sed s/[^0-9]//g`
|
||||||
EXPECTED_VER=`cat ${STEAMINF}.new`
|
|
||||||
|
|
||||||
if [ ${DOWNLOADED_VER} != ${EXPECTED_VER} ] ; then
|
if [ ${DOWNLOADED_VER} != ${EXPECTED_VER} ] ; then
|
||||||
echo -e "Download resulted with version ${DOWNLOADED_VER}, but expected ${EXPECTED_VER}. Exiting.\n"
|
echo Download resulted with version ${DOWNLOADED_VER}, but expected ${EXPECTED_VER}. Exiting.
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# update game-specific
|
||||||
|
cd ${SCRIPT_PATH}
|
||||||
|
GAME_SCRIPT_NAME=`echo $0 | sed s/\.sh$//`
|
||||||
|
echo checking to see if ${GAME_SCRIPT_NAME}_repos.sh exists
|
||||||
|
if [ -e ${GAME_SCRIPT_NAME}_repos.sh ] ; then
|
||||||
|
./${GAME_SCRIPT_NAME}_repos.sh
|
||||||
|
fi
|
||||||
|
|
||||||
# update sourcemod
|
# update sourcemod
|
||||||
cd ${SM_PATH}/tools/gdc-psyfork
|
cd ${SM_PATH}/tools/gdc-psyfork
|
||||||
hg pull -u
|
hg pull -u
|
||||||
@ -88,15 +118,6 @@ do
|
|||||||
-w ${GAME_BIN}.dll \
|
-w ${GAME_BIN}.dll \
|
||||||
-y ${ENGINE_BIN}.dll
|
-y ${ENGINE_BIN}.dll
|
||||||
echo -e "------------------------------------------------------\n"
|
echo -e "------------------------------------------------------\n"
|
||||||
echo -e "\n"
|
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ ! -e ${STEAMINF} ] ; then
|
|
||||||
mv ${STEAMINF}.old ${STEAMINF}
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$1" == "auto" ] && [ -e ${STEAMINF}.new ] ; then
|
|
||||||
rm ${STEAMINF}.new
|
|
||||||
fi
|
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
35
tools/gdc-psyfork/example-scripts/gdc_csgo.sh
Normal file
35
tools/gdc-psyfork/example-scripts/gdc_csgo.sh
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Path to DepotDownloader
|
||||||
|
DD_PATH=/home/gdc/dd
|
||||||
|
|
||||||
|
# Path for DepotDownloader to download to, relative to DD_PATH
|
||||||
|
DD_DIR=csgo
|
||||||
|
|
||||||
|
# AppId to use for DepotDownloader for Steam3 content (steamcmd app_update number)
|
||||||
|
DD_APP=740
|
||||||
|
|
||||||
|
# Absolute path to game's engine directory
|
||||||
|
ENGINE_PATH=${DD_PATH}/${DD_DIR}/
|
||||||
|
|
||||||
|
# Game's directory name
|
||||||
|
GAME_DIR=csgo
|
||||||
|
|
||||||
|
# SM gamedata engine name
|
||||||
|
ENGINE_NAME=csgo
|
||||||
|
|
||||||
|
# List of gamedata files to run checks on
|
||||||
|
gamedata_files=(
|
||||||
|
"sdktools.games/engine.csgo.txt"
|
||||||
|
"sm-cstrike.games/game.csgo.txt"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Is game a 2006/2007 "mod" ?
|
||||||
|
# If so, bin names are adjusted with _i486 suffix and no update check will be done
|
||||||
|
MOD=0
|
||||||
|
|
||||||
|
# DO NOT EDIT BELOW THIS LINE
|
||||||
|
|
||||||
|
source ./gdc_core.sh $1 $2 $3 $4
|
||||||
|
|
||||||
|
exit $?
|
@ -6,7 +6,7 @@ DD_PATH=/home/gdc/dd
|
|||||||
# Path for DepotDownloader to download to, relative to DD_PATH
|
# Path for DepotDownloader to download to, relative to DD_PATH
|
||||||
DD_DIR=source
|
DD_DIR=source
|
||||||
|
|
||||||
# Game to use for DepotDownloader -game param
|
# Game to use for DepotDownloader for Steam2 content (hldsupdatetool -game param)
|
||||||
DD_GAME="Counter-Strike Source"
|
DD_GAME="Counter-Strike Source"
|
||||||
|
|
||||||
# Absolute path to game's engine directory
|
# Absolute path to game's engine directory
|
||||||
|
@ -40,6 +40,7 @@
|
|||||||
"GroundEntChanged" "_ZN11CBaseEntity35NetworkStateChanged_m_hGroundEntityEv"
|
"GroundEntChanged" "_ZN11CBaseEntity35NetworkStateChanged_m_hGroundEntityEv"
|
||||||
"OnTakeDamage" "_ZN11CBaseEntity12OnTakeDamageERK15CTakeDamageInfo"
|
"OnTakeDamage" "_ZN11CBaseEntity12OnTakeDamageERK15CTakeDamageInfo"
|
||||||
"PreThink" "_ZN11CBasePlayer8PreThinkEv"
|
"PreThink" "_ZN11CBasePlayer8PreThinkEv"
|
||||||
|
"PostConstructor" "_ZN11CBaseEntity15PostConstructorEPKc"
|
||||||
"PostThink" "_ZN11CBasePlayer9PostThinkEv"
|
"PostThink" "_ZN11CBasePlayer9PostThinkEv"
|
||||||
"Reload" "_ZN17CBaseCombatWeapon6ReloadEv"
|
"Reload" "_ZN17CBaseCombatWeapon6ReloadEv"
|
||||||
"SetTransmit" "_ZN11CBaseEntity11SetTransmitEP18CCheckTransmitInfob"
|
"SetTransmit" "_ZN11CBaseEntity11SetTransmitEP18CCheckTransmitInfob"
|
||||||
@ -72,14 +73,24 @@
|
|||||||
"GetSoundEmissionOrigin" "_ZNK11CBaseEntity22GetSoundEmissionOriginEv"
|
"GetSoundEmissionOrigin" "_ZNK11CBaseEntity22GetSoundEmissionOriginEv"
|
||||||
"GetServerClass" "_ZN11CBaseEntity14GetServerClassEv"
|
"GetServerClass" "_ZN11CBaseEntity14GetServerClassEv"
|
||||||
"StudioFrameAdvance" "_ZN14CBaseAnimating18StudioFrameAdvanceEv"
|
"StudioFrameAdvance" "_ZN14CBaseAnimating18StudioFrameAdvanceEv"
|
||||||
"ShouldGib" "_ZN20CBaseCombatCharacter9ShouldGibERK15CTakeDamageInfo"
|
"ShouldGib" "_ZN9CTFPlayer9ShouldGibERK15CTakeDamageInfob"
|
||||||
"GetRadius" "_ZN13CTFBaseRocket9GetRadiusEv"
|
"GetRadius" "_ZN13CTFBaseRocket9GetRadiusEv"
|
||||||
"DeflectPlayer" "_ZN13CTFWeaponBase13DeflectPlayerEP9CTFPlayerS1_R6VectorS3_S3_"
|
"DeflectPlayer" "_ZN13CTFWeaponBase13DeflectPlayerEP9CTFPlayerS1_R6VectorS3_S3_"
|
||||||
|
|
||||||
|
// CSSDM
|
||||||
|
"IPointsForKill" "_ZN14CTeamplayRules14IPointsForKillEP11CBasePlayerS1_"
|
||||||
|
"RemoveAllItems" "_ZN11CBasePlayer14RemoveAllItemsEb"
|
||||||
|
"GiveAmmo" "_ZN20CBaseCombatCharacter8GiveAmmoEiib"
|
||||||
|
|
||||||
|
// NapalmLagFix
|
||||||
|
"RadiusDamage" "_ZN10CGameRules12RadiusDamageERK15CTakeDamageInfoRK6VectorfiP11CBaseEntity"
|
||||||
}
|
}
|
||||||
|
|
||||||
"Options"
|
"Options"
|
||||||
{
|
{
|
||||||
"CreateGameRulesObject" "allowmultiple,allowmidfunc"
|
"CreateGameRulesObject" "allowmultiple,allowmidfunc"
|
||||||
|
"TakeOverBot" "allowmidfunc"
|
||||||
|
"OnVersusRoundStart" "allowmidfunc"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -116,12 +127,26 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"#default"
|
||||||
|
{
|
||||||
|
"#supported"
|
||||||
|
{
|
||||||
|
"engine" "css"
|
||||||
|
"engine" "orangebox_valve"
|
||||||
|
}
|
||||||
|
|
||||||
|
"Keys"
|
||||||
|
{
|
||||||
|
"TraceAttack" "_ZN11CBaseEntity11TraceAttackERK15CTakeDamageInfoRK6VectorP10CGameTraceP15CDmgAccumulator"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
"#default"
|
"#default"
|
||||||
{
|
{
|
||||||
"#supported"
|
"#supported"
|
||||||
{
|
{
|
||||||
"engine" "left4dead"
|
"engine" "left4dead"
|
||||||
"game" "left4dead2"
|
"engine" "left4dead2"
|
||||||
}
|
}
|
||||||
|
|
||||||
"Keys"
|
"Keys"
|
||||||
|
Loading…
Reference in New Issue
Block a user