Synced gdc-psyfork (NPOTB).
Synced gdc-psyfork (NPOTB).
1.1 --- a/tools/gdc-psyfork/example-scripts/gdc_auto.sh Thu Apr 25 11:41:49 2013 -0400
1.2 +++ b/tools/gdc-psyfork/example-scripts/gdc_auto.sh Mon Apr 29 20:51:54 2013 -0400
1.3 @@ -34,7 +34,7 @@
1.4 filename=$(date +%Y-%m-%d-%H%M%S)-${lcgame}.log
1.5 fullfilename=log/$filename
1.6
1.7 - ./gdc_${lcgame}.sh auto | tee -a ${fullfilename}
1.8 + ./gdc_${lcgame}.sh auto 2>&1 | tee -a ${fullfilename}
1.9
1.10 if [ ${PIPESTATUS[0]} -ne 0 ] ; then
1.11 echo -e "No change. Removing useless log.\n"
2.1 --- a/tools/gdc-psyfork/example-scripts/gdc_core.sh Thu Apr 25 11:41:49 2013 -0400
2.2 +++ b/tools/gdc-psyfork/example-scripts/gdc_core.sh Mon Apr 29 20:51:54 2013 -0400
2.3 @@ -1,9 +1,18 @@
2.4 #!/bin/bash
2.5
2.6 +SCRIPT_PATH=/users/psychonic/gdc
2.7 +
2.8 +# with trailing slash or undefined for system default
2.9 +MONO_BIN_PATH=/apps/mono-2.10.9/bin/
2.10 +
2.11 +DD_PATH=${SCRIPT_PATH}/dd
2.12 +ENGINE_PATH=${DD_PATH}/${ENGINE_PATH_FROM_DD}
2.13 +
2.14 +SM_PATH=${SCRIPT_PATH}/sourcemod-central
2.15 +SMRCON_PATH=${SCRIPT_PATH}/SMRCon
2.16 +
2.17 # Do not run this file directly. It is meant to be called by other scripts
2.18
2.19 -SM_PATH=/home/gdc/sourcemod-central
2.20 -
2.21 ENGINE_BIN=${ENGINE_PATH}/bin/engine
2.22 GAME_BIN=${ENGINE_PATH}/${GAME_DIR}/bin/server
2.23 STEAMINF=${ENGINE_PATH}/${GAME_DIR}/steam.inf
2.24 @@ -31,7 +40,7 @@
2.25 fi
2.26
2.27 export RDTSC_FREQUENCY="disabled"
2.28 -export LD_LIBRARY_PATH=".:${ENGINE_PATH}/bin:$LD_LIBRARY_PATH"
2.29 +export LD_LIBRARY_PATH="${ENGINE_PATH}:${ENGINE_PATH}/bin:$LD_LIBRARY_PATH"
2.30
2.31 UPDATE=0
2.32 if [ "$1" == "update" ] ; then
2.33 @@ -43,19 +52,28 @@
2.34 if [ ${UPDATE} -eq 1 ] ; then
2.35 cd ${DD_PATH}
2.36
2.37 - if [ "${DD_GAME}" != "" ] ; then
2.38 - DD_OPT_AUTH=`tr '\r\n' ' ' < dd-login-info.txt`
2.39 - elif [ "${DD_APP}" != "" ] ; then
2.40 - DD_OPT_AUTH=`tr '\r\n' ' ' < dd-login-info.txt`
2.41 - else
2.42 - echo "Error: neither DD_GAME nor DD_APP are set!"
2.43 - exit 1
2.44 + if [ "${DD_NEEDS_AUTH}" != "" ] ; then
2.45 + if [ "${DD_GAME}" != "" ] ; then
2.46 + DD_OPT_AUTH=`tr '\r\n' ' ' < dd-login-info.txt`
2.47 + elif [ "${DD_APP}" != "" ] ; then
2.48 + DD_OPT_AUTH=`tr '\r\n' ' ' < dd-login-info.txt`
2.49 + else
2.50 + echo "Error: neither DD_GAME nor DD_APP are set!"
2.51 + exit 1
2.52 + fi
2.53 + fi
2.54 +
2.55 + if [ "${DD_BETA}" != "" ] ; then
2.56 + DD_OPT_BETA="-beta ${DD_BETA}"
2.57 + if [ "${DD_BETA_PASSWORD}" != "" ] ; then
2.58 + DD_OPT_BETA_PASSWORD="-betapassword ${DD_BETA_PASSWORD}"
2.59 + fi
2.60 fi
2.61
2.62 for i in 1 2 3 4 5
2.63 do
2.64 if [ "${DD_GAME}" != "" ] ; then
2.65 - mono DepotDownloader.exe \
2.66 + ${MONO_BIN_PATH}mono DepotDownloader.exe \
2.67 -game "${DD_GAME}" \
2.68 -dir ${DD_DIR} \
2.69 -filelist server.txt \
2.70 @@ -64,16 +82,18 @@
2.71 ${DD_OPT_CELL} \
2.72 ${DD_OPT_AUTH}
2.73 else
2.74 - mono DepotDownloader.exe \
2.75 + ${MONO_BIN_PATH}mono DepotDownloader.exe \
2.76 -app "${DD_APP}" \
2.77 -dir ${DD_DIR} \
2.78 -filelist server.txt \
2.79 -all-platforms \
2.80 -no-exclude \
2.81 ${DD_OPT_CELL} \
2.82 - ${DD_OPT_AUTH}
2.83 + ${DD_OPT_AUTH} \
2.84 + ${DD_OPT_BETA} \
2.85 + ${DD_OPT_BETA_PASSWORD}
2.86 fi
2.87 -
2.88 +
2.89 echo
2.90
2.91 if [ $? == 0 ] ; then
2.92 @@ -106,7 +126,8 @@
2.93 fi
2.94
2.95 # update sourcemod
2.96 -cd ${SM_PATH}/tools/gdc-psyfork
2.97 +echo Updating SourceMod repo
2.98 +cd ${SM_PATH}
2.99 hg pull -u
2.100
2.101 echo -e "\n"
3.1 --- a/tools/gdc-psyfork/example-scripts/gdc_csgo.sh Thu Apr 25 11:41:49 2013 -0400
3.2 +++ b/tools/gdc-psyfork/example-scripts/gdc_csgo.sh Mon Apr 29 20:51:54 2013 -0400
3.3 @@ -1,17 +1,13 @@
3.4 #!/bin/bash
3.5
3.6 -# Path to DepotDownloader
3.7 -DD_PATH=/home/gdc/dd
3.8 -
3.9 # Path for DepotDownloader to download to, relative to DD_PATH
3.10 DD_DIR=csgo
3.11
3.12 # AppId to use for DepotDownloader for Steam3 content (steamcmd app_update number)
3.13 DD_APP=740
3.14
3.15 -# Absolute path to game's engine directory
3.16 -ENGINE_PATH=${DD_PATH}/${DD_DIR}/
3.17 -
3.18 +# Relative path to game's engine directory from DD
3.19 +ENGINE_PATH_FROM_DD=${DD_DIR}/
3.20 # Game's directory name
3.21 GAME_DIR=csgo
3.22
4.1 --- a/tools/gdc-psyfork/example-scripts/gdc_cstrike.sh Thu Apr 25 11:41:49 2013 -0400
4.2 +++ b/tools/gdc-psyfork/example-scripts/gdc_cstrike.sh Mon Apr 29 20:51:54 2013 -0400
4.3 @@ -4,24 +4,31 @@
4.4 DD_PATH=/home/gdc/dd
4.5
4.6 # Path for DepotDownloader to download to, relative to DD_PATH
4.7 -DD_DIR=source
4.8 +DD_DIR=css
4.9 +
4.10 +# App ID
4.11 +DD_APP=232330
4.12
4.13 -# Game to use for DepotDownloader for Steam2 content (hldsupdatetool -game param)
4.14 -DD_GAME="Counter-Strike Source"
4.15 +# Beta name
4.16 +DD_BETA=prerelease
4.17
4.18 -# Absolute path to game's engine directory
4.19 -ENGINE_PATH=${DD_PATH}/${DD_DIR}/css
4.20 +# Beta passowrd, if applicable
4.21 +#DD_BETA_PASSWORD=passwordhere
4.22
4.23 +# Relative path to game's engine directory from DD
4.24 +ENGINE_PATH_FROM_DD=${DD_DIR}
4.25 # Game's directory name
4.26 GAME_DIR=cstrike
4.27
4.28 +BIN_EXT="_srv"
4.29 +
4.30 # SM gamedata engine name
4.31 -ENGINE_NAME=orangebox_valve
4.32 +ENGINE_NAME=css
4.33
4.34 # List of gamedata files to run checks on
4.35 gamedata_files=(
4.36 "sdktools.games/game.cstrike.txt"
4.37 - "sdktools.games/engine.ep2valve.txt"
4.38 + "sdktools.games/engine.css.txt"
4.39 "sm-cstrike.games/game.css.txt"
4.40 )
4.41
5.1 --- a/tools/gdc-psyfork/symbols.txt Thu Apr 25 11:41:49 2013 -0400
5.2 +++ b/tools/gdc-psyfork/symbols.txt Mon Apr 29 20:51:54 2013 -0400
5.3 @@ -91,6 +91,82 @@
5.4 "CTFFlameThrower::FireFlameRocket" "_ZN16CTFWeaponBaseGun15FireFlameRocketEP9CTFPlayer"
5.5 "CTFPlayer::GetMaxHealth" "_ZNK11CBaseEntity12GetMaxHealthEv"
5.6 "CBaseEntity::GetBaseEntity" "_ZN11CBaseEntity13GetBaseEntityEv"
5.7 + "RocketTouch" "_ZN13CTFBaseRocket11RocketTouchEP11CBaseEntity"
5.8 + "SRocketTouch" "_ZN13CTFBaseRocket11RocketTouchEP11CBaseEntity"
5.9 +
5.10 + // V V
5.11 + "CBaseEntity::GetModelIndex" "_ZNK11CBaseEntity13GetModelIndexEv"
5.12 + "CBaseEntity::SetModelIndex" "_ZN11CBaseEntity13SetModelIndexEi"
5.13 + "CBaseEntity::GetServerClass" "_ZN11CBaseEntity14GetServerClassEv"
5.14 + "CBaseEntity::GetDataDescMap" "_ZN11CBaseEntity14GetDataDescMapEv"
5.15 + "CBaseEntity::ShouldCollide" "_ZNK11CBaseEntity13ShouldCollideEii"
5.16 + "CBaseEntity::ShouldTransmit" "_ZN11CBaseEntity14ShouldTransmitEPK18CCheckTransmitInfo"
5.17 + "CBaseEntity::UpdateTransmitState" "_ZN11CBaseEntity19UpdateTransmitStateEv"
5.18 + "CBaseEntity::SetTransmit" "_ZN11CBaseEntity11SetTransmitEP18CCheckTransmitInfob"
5.19 + "CBaseEntity::Spawn" "_ZN11CBaseEntity5SpawnEv"
5.20 + "CBaseEntity::SetModel" "_ZN11CBaseEntity8SetModelEPKc"
5.21 + "CBaseEntity::KeyValue" "_ZN11CBaseEntity8KeyValueEPKcS1_"
5.22 + "CBaseEntity::Activate" "_ZN11CBaseEntity8ActivateEv"
5.23 + "CBaseEntity::SetParent" "_ZN11CBaseEntity9SetParentEPS_i"
5.24 + "CBaseEntity::AcceptInput" "_ZN11CBaseEntity11AcceptInputEPKcPS_S2_9variant_ti"
5.25 + "CBaseEntity::Think" "_ZN11CBaseEntity5ThinkEv"
5.26 + "CBaseEntity::GetResponseSystem" "_ZN11CBaseEntity17GetResponseSystemEv"
5.27 + "CBaseEntity::OnTakeDamage" "_ZN11CBaseEntity12OnTakeDamageERK15CTakeDamageInfo"
5.28 + "CBaseEntity::Event_Killed" "_ZN11CBaseEntity12Event_KilledERK15CTakeDamageInfo"
5.29 + "CBaseEntity::ChangeTeam" "_ZN11CBaseEntity10ChangeTeamEi"
5.30 + "CBaseEntity::Use" "_ZN11CBaseEntity3UseEPS_S0_8USE_TYPEf"
5.31 + "CBaseEntity::Touch" "_ZN11CBaseEntity5TouchEPS_"
5.32 + "CBaseEntity::Blocked" "_ZN11CBaseEntity7BlockedEPS_"
5.33 + "CBaseEntity::UpdateOnRemove" "_ZN11CBaseEntity14UpdateOnRemoveEv"
5.34 + "CBaseEntity::Teleport" "_ZN11CBaseEntity8TeleportEPK6VectorPK6QAngleS2_"
5.35 + "CBaseEntity::CreateVPhysics" "_ZN11CBaseEntity14CreateVPhysicsEv"
5.36 + "CBaseEntity::ForceVPhysicsCollide" "_ZN11CBaseEntity20ForceVPhysicsCollideEPS_"
5.37 + "CBaseEntity::VPhysicsDestroyObject" "_ZN11CBaseEntity21VPhysicsDestroyObjectEv"
5.38 + "CBaseEntity::VPhysicsUpdate" "_ZN11CBaseEntity14VPhysicsUpdateEP14IPhysicsObject"
5.39 + "CBaseEntity::VPhysicsTakeDamage" "_ZN11CBaseEntity18VPhysicsTakeDamageERK15CTakeDamageInfo"
5.40 + "CBaseEntity::VPhysicsCollision" "_ZN11CBaseEntity17VPhysicsCollisionEiP21gamevcollisionevent_t"
5.41 + "CBaseEntity::VPhysicsFriction" "_ZN11CBaseEntity16VPhysicsFrictionEP14IPhysicsObjectfii"
5.42 + "CBaseEntity::VPhysicsGetObjectList" "_ZN11CBaseEntity21VPhysicsGetObjectListEPP14IPhysicsObjecti"
5.43 + "CBaseEntity::PhysicsSolidMaskForEntity" "_ZNK11CBaseEntity25PhysicsSolidMaskForEntityEv"
5.44 + "CBaseAnimating::StudioFrameAdvance" "_ZN14CBaseAnimating18StudioFrameAdvanceEv"
5.45 + "CBaseAnimating::GetBoneTransform" "_ZN14CBaseAnimating16GetBoneTransformEiR11matrix3x4_t"
5.46 + "CBaseAnimating::SetupBones" "_ZN14CBaseAnimating10SetupBonesEP11matrix3x4_ti"
5.47 + "CBaseAnimating::DispatchAnimEvents" "_ZN14CBaseAnimating18DispatchAnimEventsEPS_"
5.48 + "CBaseAnimating::HandleAnimEvent" "_ZN14CBaseAnimating15HandleAnimEventEP11animevent_t"
5.49 + "CBaseAnimating::GetAttachment" "_ZN14CBaseAnimating13GetAttachmentEiR11matrix3x4_t"
5.50 + "CBasePlayer::PlayScene" "_ZN9CTFPlayer9PlaySceneEPKcfP11AI_ResponseP16IRecipientFilter"
5.51 + "CBasePlayer::GiveAmmo" "_ZN9CTFPlayer8GiveAmmoEiib"
5.52 + "CBasePlayer::Weapon_Equip" "_ZN11CBasePlayer12Weapon_EquipEP17CBaseCombatWeapon"
5.53 + "CBasePlayer::Weapon_Switch" "_ZN9CTFPlayer13Weapon_SwitchEP17CBaseCombatWeaponi"
5.54 + "CBasePlayer::RemovePlayerItem" "_ZN11CBasePlayer16RemovePlayerItemEP17CBaseCombatWeapon"
5.55 + "CBasePlayer::ForceRespawn" "_ZN9CTFPlayer12ForceRespawnEv"
5.56 + "CBasePlayer::PreThink" "_ZN9CTFPlayer8PreThinkEv"
5.57 + "CBasePlayer::PostThink" "_ZN9CTFPlayer9PostThinkEv"
5.58 + "CTFPlayer::EquipWearable" "_ZN11CBasePlayer13EquipWearableEP13CEconWearable"
5.59 + "CTFPlayer::RemoveWearable" "_ZN11CBasePlayer14RemoveWearableEP13CEconWearable"
5.60 + "CBasePlayer::PlayerRunCommand" "_ZN9CTFPlayer16PlayerRunCommandEP8CUserCmdP11IMoveHelper"
5.61 + "CBasePlayer::CalculateTeamBalanceScore" "_ZN9CTFPlayer25CalculateTeamBalanceScoreEv"
5.62 + "CTFBaseRocket::GetWeaponID" "_ZNK13CTFBaseRocket11GetWeaponIDEv"
5.63 + "CBaseCombatWeapon::ItemPostFrame" "_ZN17CBaseCombatWeapon13ItemPostFrameEv"
5.64 + "CBaseCombatWeapon::Reload" "_ZN17CBaseCombatWeapon6ReloadEv"
5.65 + "CBaseCombatWeapon::PrimaryAttack" "_ZN17CBaseCombatWeapon13PrimaryAttackEv"
5.66 + "CBaseCombatWeapon::SecondaryAttack" "_ZN17CBaseCombatWeapon15SecondaryAttackEv"
5.67 + "CBaseCombatWeapon::GetViewModel" "_ZNK17CBaseCombatWeapon12GetViewModelEi"
5.68 + "CBaseCombatWeapon::GetWorldModel" "_ZNK17CBaseCombatWeapon13GetWorldModelEv"
5.69 + "CBaseCombatWeapon::GetMaxClip1" "_ZNK17CBaseCombatWeapon11GetMaxClip1Ev"
5.70 + "CBaseCombatWeapon::GetMaxClip2" "_ZNK17CBaseCombatWeapon11GetMaxClip2Ev"
5.71 + "CBaseCombatWeapon::GetDefaultClip1" "_ZNK17CBaseCombatWeapon15GetDefaultClip1Ev"
5.72 + "CBaseCombatWeapon::GetDefaultClip2" "_ZNK17CBaseCombatWeapon15GetDefaultClip2Ev"
5.73 + "CBaseCombatWeapon::GetEncryptionKey" "_ZN17CBaseCombatWeapon16GetEncryptionKeyEv"
5.74 + "CGameRules::CanHaveAmmo" "_ZN10CGameRules11CanHaveAmmoEP20CBaseCombatCharacterPKc"
5.75 + "CGameRules::GetNextLevelName" "_ZN15CMultiplayRules16GetNextLevelNameEPcib"
5.76 + "CGameRules::ChangeLevel" "_ZN15CMultiplayRules11ChangeLevelEv"
5.77 + "CGameRules::GoToIntermission" "_ZN12CTFGameRules16GoToIntermissionEv"
5.78 + "CGameRules::PlayerMayCapturePoint" "_ZN12CTFGameRules21PlayerMayCapturePointEP11CBasePlayeriPci"
5.79 + "CTeamplayRoundBasedRules::SetWinningTeam" "_ZN24CTeamplayRoundBasedRules14SetWinningTeamEiibbb"
5.80 + "CTeamplayRoundBasedRules::SetStalemate" "_ZN24CTeamplayRoundBasedRules12SetStalemateEibb"
5.81 + "CTeamplayRoundBasedRules::SetScrambleTeams" "_ZN14CTeamplayRules16SetScrambleTeamsEb"
5.82 + "CTeamplayRoundBasedRules::CleanUpMap" "_ZN12CTFGameRules10CleanUpMapEv"
5.83 }
5.84
5.85 "Options"
5.86 @@ -106,6 +182,7 @@
5.87 "#supported"
5.88 {
5.89 "engine" "orangebox_valve"
5.90 + "engine" "css"
5.91 "engine" "left4dead2"
5.92 "engine" "alienswarm"
5.93 "engine" "csgo"