Modified source engine (2017) developed by valve and leaked in 2020. Not for commercial purporses
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

108 lines
3.1 KiB

5 years ago
//-----------------------------------------------------------------------------
// SOURCE_XEX_X360_BASE.VPC
//
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$Include "$SRCDIR\vpc_scripts\version.vpc"
// 360 must have a xex load address
$Include "$SRCDIR\vpc_scripts\loadaddress.vpc"
$MacroRequired "LOADADDRESS_DEVELOPMENT"
$MacroRequired "LOADADDRESS_RETAIL"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME" "$PROJECTNAME"
$MacroRequired "OUTBINDIR"
$MacroRequired "DEVKITBINDIR" "."
$Include "$SRCDIR\vpc_scripts\source_xex_x360_debug.vpc"
$Include "$SRCDIR\vpc_scripts\source_xex_x360_release.vpc"
$IgnoreRedundancyWarning "ON"
// Common Configuration
$Configuration
{
$Compiler
{
$PreprocessorDefinitions "$BASE;_MEMTEST" [$MEMTEST]
}
$Xbox360ImageConversion
{
// General
$TitleID "0x4541080F"
$ProjectDefaults "$SRCDIR\common\hl2orange.xml"
}
$ConsoleDeployment
{
$ExcludedFromBuild "Yes"
$DeploymentRoot "xe:\Valve"
}
$PreBuildEvent
{
$CommandLine "if EXIST $OUTBINDIR\$(TargetName).xex for /f $QUOTEdelims=$QUOTE %%A in ('attrib $QUOTE$OUTBINDIR\$(TargetName).xex$QUOTE') do set valveTmpIsReadOnly=$QUOTE%%A$QUOTE" "\n" \
"set valveTmpIsReadOnlyLetter=%valveTmpIsReadOnly:~6,1%" "\n" \
"if $QUOTE%valveTmpIsReadOnlyLetter%$QUOTE==$QUOTER$QUOTE del /q $(TargetDir)$(TargetName).xex" "\n" \
"$CRCCHECK"
}
$PostBuildEvent
{
$CommandLine "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetName).xex $SRCDIR" "\n" \
"copy $(TargetDir)$(TargetName).xex $OUTBINDIR\$(TargetName).xex" "\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).xex $(RemoteRoot)\$DEVKITBINDIR\$(TargetName).xex" "\n"
$Description "Publishing to $OUTBINDIR"
$ExcludedFromBuild "No"
}
// this forces a dependency on the published directory
// when the dependency fails (the xex is deleted), the PostBuildEvent will run, thus causing the publish to re-occur
// this allows for faster debug/release flipping without having to recompile or relink
$CustomBuildStep
{
// General
$CommandLine "echo Checking Dependency $OUTBINDIR\$(TargetName).xex"
$Description " "
$Outputs "$OUTBINDIR\$(TargetName).xex"
}
}
// Skeleton Project
$Project
{
$Folder "Source Files"
{
$File "$SRCDIR\public\tier0\memoverride.cpp"
{
$Configuration
{
$Compiler
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
}
$Folder "Link Libraries"
{
$File "$SRCDIR\lib\public\tier0_360.lib"
$File "$SRCDIR\lib\public\tier1_360.lib"
$File "$SRCDIR\lib\public\vstdlib_360.lib"
}
$Folder "Resources"
{
$File "$ROOTSCRIPT"
}
}