aboutsummaryrefslogtreecommitdiff
path: root/mp/src/vpc_scripts/loadaddress.vpc
diff options
context:
space:
mode:
authorJoe Ludwig <[email protected]>2013-07-04 11:20:31 -0700
committerJoe Ludwig <[email protected]>2013-07-04 11:20:31 -0700
commit77b376f8a0d8d172c51729762f80bb394534aa41 (patch)
tree79897a015745704f7202eaa6648c18f2e5312df4 /mp/src/vpc_scripts/loadaddress.vpc
parentAdding a CONTRIBUTING file so the rights that GitHub users grant to Valve wit... (diff)
downloadsource-sdk-2013-77b376f8a0d8d172c51729762f80bb394534aa41.tar.xz
source-sdk-2013-77b376f8a0d8d172c51729762f80bb394534aa41.zip
* Switched the SDK from checked-in projects to VPC, the Valve Project Creator. See the Getting Started document on the wiki for details.
* Pulled in bug fixes from HL2 and HL2MP.
Diffstat (limited to 'mp/src/vpc_scripts/loadaddress.vpc')
-rw-r--r--mp/src/vpc_scripts/loadaddress.vpc108
1 files changed, 108 insertions, 0 deletions
diff --git a/mp/src/vpc_scripts/loadaddress.vpc b/mp/src/vpc_scripts/loadaddress.vpc
new file mode 100644
index 00000000..146456f2
--- /dev/null
+++ b/mp/src/vpc_scripts/loadaddress.vpc
@@ -0,0 +1,108 @@
+//-----------------------------------------------------------------------------
+// LOADADDRESS.VPC
+//
+// Contains the DLL/EXE Load Addresses. Generates the $LOADADDRESS_??? Macro from
+// an easily updated table. This feature is primarily to facilitate the mandatory
+// fixed address specification of 360 DLLs and thus efficient 360 packing of DLLs
+// into memory.
+//
+// Format:
+// $LoadAddressMacro <MacroName>
+// {
+// <ProjectName> <BaseAddress>
+// }
+//
+// $LoadAddressMacroAuto <MacroName> <BaseAddress>
+// {
+// <ProjectName> <Length>
+// }
+//
+// If "ProjectName" is not found, the "MacroName" will not be updated.
+// "ProjectName" is the internal short project name reference and is usually the name of
+// the project inside a group definition.
+//
+// "Length" is either floating point MB or integer bytes, and is used to successively
+// to determine the next base address.
+//-----------------------------------------------------------------------------
+
+// Explicitly defined "empty" only for WINDOWS only because they are not required for WINDOWS projects
+$Macro LOADADDRESS_DEVELOPMENT " " [$WINDOWS]
+$Macro LOADADDRESS_RETAIL " " [$WINDOWS]
+
+$LoadAddressMacro LOADADDRESS_DEVELOPMENT
+{
+ launcher_main 0x82000000 [$X360]
+ simdtest 0x82000000 [$X360]
+}
+
+$LoadAddressMacro LOADADDRESS_RETAIL
+{
+ launcher_main 0x82000000 [$X360]
+ simdtest 0x82000000 [$X360]
+}
+
+// Development versions require more memory to accomodate debug builds, release builds have to match debug for hybrid builds
+$LoadAddressMacroAuto LOADADDRESS_DEVELOPMENT 0x82200000 [$X360]
+{
+ // top of chain, due to licensee lack of source restrictions
+ vphysics 5.5
+
+ tier0 2.0
+ vstdlib 2.0
+ filesystem_stdio 2.5
+ datacache 2.5
+ inputsystem 1.5
+ launcher 2.0
+ SoundEmitterSystem 2.0
+ SceneFileCache 1.5
+ vgui_dll 2.5
+ gameui 6.0
+
+ materialsystem 5.0
+ vguimatsurface 4.0
+ shaderapidx9 11.0
+ stdshader_dx9 4.5
+ studiorender 7.5
+
+ engine 17.5
+ client 17.5
+ server 25.5
+
+ // transient DLLs
+ bsppack 3.0
+ appchooser 8.5
+ vxbdm 0.5
+}
+
+// Retail versions are expected to be minimally packed
+$LoadAddressMacroAuto LOADADDRESS_RETAIL 0x82200000 [$X360]
+{
+ // top of chain, due to licensee lack of source restrictions
+ vphysics 2.5
+
+ tier0 1.0
+ vstdlib 1.0
+ filesystem_stdio 1.0
+ datacache 1.0
+ inputsystem 1.0
+ launcher 1.0
+ SoundEmitterSystem 1.0
+ SceneFileCache 1.0
+ vgui_dll 1.0
+ gameui 2.0
+
+ materialsystem 1.5
+ vguimatsurface 1.5
+ shaderapidx9 4.0
+ stdshader_dx9 1.5
+ studiorender 4.5
+
+ engine 6.0
+ client 10.5
+ server 15.5
+
+ // transient DLLs
+ bsppack 1.5
+ appchooser 1.5
+ vxbdm 0.5
+}