Files
2025-09-29 00:52:08 +02:00

83 lines
3.9 KiB
Plaintext
Executable File

##########################################################################################################################
# RULES FILE
# Usage & Details : https://devstar.rockstargames.com/wiki/index.php/Dev:Project_builder3#game.rules
##########################################################################################################################
#
# *** IMPORTANT : THESE RULES ARE DESIGNED TO BE *ADDITIONAL* RULES TO THE GAME.RULES, SOME SETTINGS ARE DEFINED ***
#
Rules {
# Override some settings at the file level for Durango
# this is limited to one pattern per target
# you may make that match multiple files but the settings will be the same.
#
Condition [Platform=='Durango'] {
#
# Match the filenames here for which we wish to override settings on a per file basis. By default these are anything ending with .winrt.cpp,
# or in a durango subdirectory. We have to specify the unity files directly.
#
Settings.Compiler.FilenamePatternOverride = '.*\.winrt\.cpp|.*\\durango\\.*\.cpp|.*Core\\main\.cpp|.*sample_.*\.cpp'
#
# Override is limited to these settings only.
#
Settings.Compiler.FileOverride_AdditionalIncludeDirectories ='$(RAGE_DIR)\base\src'
Settings.Compiler.FileOverride_AdditionalIncludeDirectories +='$(RAGE_DIR)\suite\src'
Settings.Compiler.FileOverride_AdditionalIncludeDirectories +='$(ProjectDir)..'
Settings.Compiler.FileOverride_AdditionalIncludeDirectories +='$(RAGE_DIR)\naturalmotion\include'
Settings.Compiler.FileOverride_AdditionalIncludeDirectories +='$(RAGE_DIR)\naturalmotion\src'
Settings.Compiler.FileOverride_AdditionalIncludeDirectories +='$(RAGE_DIR)\script\src'
Settings.Compiler.FileOverride_AdditionalIncludeDirectories +='$(RAGE_DIR)\framework\src'
Settings.Compiler.FileOverride_CompileAsWinRt = 'true'
Settings.Compiler.FileOverride_ExceptionHandling = 'Sync'
}
}
ExporterRules[Exporter=~'VS201'] { # The family of VS201X exporters ( VCXPROJ )
Settings.General.OutputDirectoryName = '$(ProjectName)_<Scratch.Arch>_<Config>_2010/'
Settings.General.IntermediateDirectoryName = '$(ProjectName)_<Scratch.Arch>_<Config>_<Scratch.VS>_int/'
Settings.General.IncludePath += '$(RAGE_DIR)/base/samples'
Settings.General.IncludePath += '$(RAGE_DIR)/suite/samples'
Condition [Platform=='Win32'] {
Settings.General.IncludePath += '$(WindowsSdk_Dir)\Include\shared'
Settings.General.IncludePath += '$(WindowsSdk_Dir)\Include\um'
Settings.General.IncludePath += '$(DXSDK_DIR)\Include'
Settings.General.LibraryPath += '$(WindowsSdk_Dir)\lib\win8\um\x86'
Settings.General.LibraryPath += '$(DXSDK_DIR)\Lib\x86'
}
Condition [Platform=='x64'] {
Settings.General.IncludePath += '$(WindowsSdk_Dir)\Include\shared'
Settings.General.IncludePath += '$(WindowsSdk_Dir)\Include\um'
Settings.General.IncludePath += '$(DXSDK_DIR)\Include'
Settings.General.LibraryPath += '$(WindowsSdk_Dir)\lib\win8\um\x64'
Settings.General.LibraryPath += '$(DXSDK_DIR)\Lib\x64'
}
Condition [ProjectType=='Exe'&&Platform=='Win32'] {
Settings.BuildEvents.PostBuild.Description = 'Compress map.'
Settings.BuildEvents.PostBuild.Command ='<Scratch.CompressMap> $(TargetDir)$(TargetName).map'
}
Condition [ProjectType=='Exe'&&Platform=='Xbox 360'] {
#-------------------------------------------------------------------------------------------
# Image
#-------------------------------------------------------------------------------------------
# Samples shouldn't depend on the game's spa file.
Settings.Image.OutputFilename = '$(OutDir)/$(ProjectName)_<Scratch.Arch>_<Config>.xex'
}
Condition [ProjectType=='Exe'&&Platform=='Durango'] {
Settings.BuildEvents.PostBuild.Description = 'Copy rfs.dat.'
# Copy rfs.dat file as only instruction.
Settings.BuildEvents.PostBuild.Command = 'copy /Y "c:\rfs.dat" "$(TargetDir)" _NEWLINE_'
}
}