//----------------------------------------------------------------------------- // SOURCE_DLL_X360_BASE.VPC // // Base Settings for Source(TM) Projects //----------------------------------------------------------------------------- $Include "$SRCDIR\vpc_scripts\version.vpc" $MacroRequired "SRCDIR" $MacroRequired "OUTBINNAME" "$PROJECTNAME" $MacroRequired "OUTBINDIR" $MacroRequired "DEVKITBINDIR" "bin" // 360 must have a dll load address $Include "$SRCDIR\vpc_scripts\loadaddress.vpc" $MacroRequired "LOADADDRESS_DEVELOPMENT" $MacroRequired "LOADADDRESS_RETAIL" $MacroRequired "LOADADDRESSNAME" $Macro DLLDEMOSUFFIX "_demo\" [$DEMO] $MacroEmptyString DLLDEMOSUFFIX "empty" [!$DEMO] $Macro PLATSUBDIR "\." $Macro LIBPUBLIC "$SRCDIR\lib\public" $Macro LIBCOMMON "$SRCDIR\lib\common" $Include "$SRCDIR\vpc_scripts\source_dll_x360_debug.vpc" $Include "$SRCDIR\vpc_scripts\source_dll_x360_release.vpc" $IgnoreRedundancyWarning "ON" // Common Configuration $Configuration { $Compiler { $PreprocessorDefinitions "$BASE;_MEMTEST" [$MEMTEST] $PreprocessorDefinitions "$BASE;_LOWVIOLENCE" [$LV] $PreprocessorDefinitions "$BASE;_X360DEMO" [$X360DEMO] $PreprocessorDefinitions "$BASE;COMPILER_MSVC;COMPILER_MSVCX360;MEMOVERRIDE_MODULE=$PROJECTNAME;_DLL_EXT=$_DLL_EXT" } $Linker { // This ignores the linker error "export '' specified multiple times; using first specification $AdditionalOptions "$BASE /IGNORE:4197" } $Xbox360ImageConversion { // All X360 DLLs must be signed with a special XML containing only version field // the version of the DLL must match the version of default.xex that is signed // with another XML including more settings (privileges, ratings, memory, etc.) // DLLs must NOT be signed with the XML used for XEX $TitleID "0x5841125A" $ProjectDefaults "$SRCDIR\common\xlast_$VPCGAME$DLLDEMOSUFFIX\$VPCGAME""_dll.xml" } $ConsoleDeployment { $ExcludedFromBuild "Yes" $DeploymentRoot "xe:\$VPCGAME$DLLDEMOSUFFIX" } $PreBuildEvent { $CommandLine "if EXIST $OUTBINDIR\$(TargetFileName) for /f $QUOTEdelims=$QUOTE %%A in ('attrib $QUOTE$OUTBINDIR\$(TargetFileName)$QUOTE') do set valveTmpIsReadOnly=$QUOTE%%A$QUOTE" "\n" \ "set valveTmpIsReadOnlyLetter=%valveTmpIsReadOnly:~6,1%" "\n" \ "if $QUOTE%valveTmpIsReadOnlyLetter%$QUOTE==$QUOTER$QUOTE del /q $(TargetDir)$(TargetName)_converted.dll" "\n" \ "$CRCCHECK" "\n" } $PostBuildEvent { $CommandLine "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetFileName) $SRCDIR" "\n" \ "copy $(TargetDir)$(TargetName)_converted.dll $OUTBINDIR\$(TargetFileName)" "\n" \ "if exist $(TargetDir)$(TargetName).map copy $(TargetDir)$(TargetName).map $OUTBINDIR\$(TargetName).map" "\n" \ "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetName).pdb $SRCDIR" "\n" \ "copy $(TargetDir)$(TargetName).pdb $OUTBINDIR\$(TargetName).pdb" "\n" \ "copy $(TargetDir)$(TargetName).xdb $OUTBINDIR\$(TargetName).xdb" "\n" \ "call $SRCDIR\vpc_scripts\valve_xbcp_wrapper.cmd $(TargetDir)$(TargetName)_converted.dll $(RemoteRoot)\$DEVKITBINDIR\$(TargetFileName)" "\n" \ "call $SRCDIR\..\game\bin\CSSVersionNumber.exe $SRCDIR\..\game\platform\resource\css_code_version_local.txt quiet" "\n" $CommandLine "$BASE" \ "echo LoadAddressName=$LOADADDRESSNAME > $(TargetDir)$(TargetName).vpcinfo" "\n" \ "call $SRCDIR\vpc_scripts\valve_xbcp_wrapper.cmd $(TargetDir)$(TargetName).vpcinfo $(RemoteRoot)\$DEVKITBINDIR\$(TargetName).vpcinfo" "\n" [$VPCINFO] $Description "Publishing to $OUTBINDIR" $ExcludedFromBuild "No" } } // Skeleton Project $Project { $Folder "Source Files" { $File "$SRCDIR\public\tier0\memoverride.cpp" { $Configuration { $Compiler { $Create/UsePrecompiledHeader "Not Using Precompiled Headers" } } } } $Folder "Xbox" { $File "xbox\xbox.def" } $Folder "Link Libraries" { $ImpLib "$LIBPUBLIC\tier0" $Lib "$LIBPUBLIC\tier1" $Implib "$LIBPUBLIC\vstdlib" $Lib "$LIBPUBLIC\interfaces" } }