########################################################################################################################## # 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)___2010/' Settings.General.IntermediateDirectoryName = '$(ProjectName)____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 =' $(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)__.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_' } }