mirror of
https://github.com/ZDoom/gzdoom.git
synced 2025-02-21 11:31:41 +00:00
Merge commit '165d26baa1569685651baf4575e12e73c8cbfd2e'
# Conflicts: # bzip2/bzip2.vcproj # game-music-emu/game-music-emu.vcproj # gdtoa/gdtoa.vcproj # jpeg-6b/jpeg-6b.vcproj # src/p_spec.cpp # src/r_defs.h # tools/fixrtext/fixrtext.vcproj # tools/lemon/lemon.vcproj # tools/updaterevision/updaterevision.vcproj # tools/zipdir/zipdir.vcproj # wadsrc/static/xlat/eternity.txt # wadsrc/wadsrc.vcproj # zlib/zlib.vcproj
This commit is contained in:
commit
e3c06e3df7
75 changed files with 5368 additions and 22913 deletions
26
.gitattributes
vendored
Normal file
26
.gitattributes
vendored
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
* text=auto
|
||||||
|
|
||||||
|
*.h text
|
||||||
|
*.c text
|
||||||
|
*.cc text
|
||||||
|
*.cpp text
|
||||||
|
*.mm text
|
||||||
|
*.lemon text
|
||||||
|
*.y text
|
||||||
|
*.re text
|
||||||
|
*.i text
|
||||||
|
*.asm text
|
||||||
|
*.S text
|
||||||
|
|
||||||
|
*.vcproj text eol=crlf
|
||||||
|
*.sln text eol=crlf
|
||||||
|
*.bat text eol=crlf
|
||||||
|
|
||||||
|
*.txt text
|
||||||
|
language.* text
|
||||||
|
|
||||||
|
*.png binary
|
||||||
|
*.imgz binary
|
||||||
|
*.lmp binary
|
||||||
|
*.flac binary
|
||||||
|
*.dat binary
|
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -4,6 +4,7 @@
|
||||||
*.pdb
|
*.pdb
|
||||||
*.ilk
|
*.ilk
|
||||||
*.aps
|
*.aps
|
||||||
|
/fmodapi*/
|
||||||
/Release
|
/Release
|
||||||
/wadsrc_wad
|
/wadsrc_wad
|
||||||
*.user
|
*.user
|
||||||
|
@ -45,3 +46,4 @@
|
||||||
/build_vc2015
|
/build_vc2015
|
||||||
/build_vc2015-32
|
/build_vc2015-32
|
||||||
/build_vc2015-64
|
/build_vc2015-64
|
||||||
|
/build
|
||||||
|
|
|
@ -1,330 +0,0 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="9,00"
|
|
||||||
Name="bzip2"
|
|
||||||
ProjectGUID="{A7DE5C73-D623-4118-A48A-BDFD1FAE97D4}"
|
|
||||||
RootNamespace="bzip2"
|
|
||||||
Keyword="Win32Proj"
|
|
||||||
TargetFrameworkVersion="131072"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
<Platform
|
|
||||||
Name="x64"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="4"
|
|
||||||
CharacterSet="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
PreprocessorDefinitions="BZ_NO_STDIO"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="4"
|
|
||||||
CharacterSet="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
PreprocessorDefinitions="BZ_NO_STDIO"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="4"
|
|
||||||
CharacterSet="1"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
WholeProgramOptimization="false"
|
|
||||||
PreprocessorDefinitions="BZ_NO_STDIO"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
CallingConvention="1"
|
|
||||||
CompileAs="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="4"
|
|
||||||
CharacterSet="1"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions="BZ_NO_STDIO"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="Source Files"
|
|
||||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
|
||||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\blocksort.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\bzlib.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\compress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\crctable.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\decompress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\huffman.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\randtable.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Header Files"
|
|
||||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
|
||||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\bzlib.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\bzlib_private.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<File
|
|
||||||
RelativePath=".\CMakeLists.txt"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,874 +0,0 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="9,00"
|
|
||||||
Name="game-music-emu"
|
|
||||||
ProjectGUID="{9B465A9E-E5C7-4577-B559-3CA2F7AE7D96}"
|
|
||||||
RootNamespace="gamemusicemu"
|
|
||||||
Keyword="Win32Proj"
|
|
||||||
TargetFrameworkVersion="131072"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
<Platform
|
|
||||||
Name="x64"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="4"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="4"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="4"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
FavorSizeOrSpeed="1"
|
|
||||||
OmitFramePointers="true"
|
|
||||||
WholeProgramOptimization="false"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
|
|
||||||
StringPooling="true"
|
|
||||||
ExceptionHandling="0"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
CallingConvention="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="4"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
FavorSizeOrSpeed="1"
|
|
||||||
OmitFramePointers="true"
|
|
||||||
WholeProgramOptimization="false"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
|
|
||||||
StringPooling="true"
|
|
||||||
ExceptionHandling="0"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release DLL|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="2"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
FavorSizeOrSpeed="1"
|
|
||||||
OmitFramePointers="true"
|
|
||||||
WholeProgramOptimization="true"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;GME_DLL"
|
|
||||||
StringPooling="true"
|
|
||||||
ExceptionHandling="0"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release DLL|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="2"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
FavorSizeOrSpeed="1"
|
|
||||||
OmitFramePointers="true"
|
|
||||||
WholeProgramOptimization="true"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;GME_DLL"
|
|
||||||
StringPooling="true"
|
|
||||||
ExceptionHandling="0"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="Source Files"
|
|
||||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
|
||||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Ay_Apu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Ay_Cpu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Ay_Emu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Blip_Buffer.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Classic_Emu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Data_Reader.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Dual_Resampler.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Effects_Buffer.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Fir_Resampler.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Gb_Apu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Gb_Cpu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Gb_Oscs.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Gbs_Emu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\gme.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Gme_File.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Gym_Emu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Hes_Apu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Hes_Cpu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Hes_Emu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Kss_Cpu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Kss_Emu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Kss_Scc_Apu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\M3u_Playlist.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Multi_Buffer.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Music_Emu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Nes_Apu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Nes_Cpu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Nes_Fme7_Apu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Nes_Namco_Apu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Nes_Oscs.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Nes_Vrc6_Apu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Nsf_Emu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Nsfe_Emu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Sap_Apu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Sap_Cpu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Sap_Emu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Sms_Apu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Snes_Spc.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Spc_Cpu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Spc_Dsp.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Spc_Emu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Vgm_Emu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Vgm_Emu_Impl.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Ym2413_Emu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Ym2612_Emu.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Header Files"
|
|
||||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
|
||||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Ay_Apu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Ay_Cpu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Ay_Emu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\blargg_common.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\blargg_config.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\blargg_endian.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\blargg_source.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Blip_Buffer.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Classic_Emu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Data_Reader.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Dual_Resampler.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Effects_Buffer.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Fir_Resampler.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Gb_Apu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Gb_Cpu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\gb_cpu_io.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Gb_Oscs.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Gbs_Emu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\gme.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Gme_File.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Gym_Emu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Hes_Apu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Hes_Cpu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\hes_cpu_io.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Hes_Emu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Kss_Cpu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Kss_Emu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Kss_Scc_Apu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\M3u_Playlist.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Multi_Buffer.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Music_Emu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Nes_Apu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Nes_Cpu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\nes_cpu_io.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Nes_Fme7_Apu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Nes_Namco_Apu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Nes_Oscs.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Nes_Vrc6_Apu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Nsf_Emu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Nsfe_Emu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Sap_Apu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Sap_Cpu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\sap_cpu_io.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Sap_Emu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Sms_Apu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Sms_Oscs.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Snes_Spc.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Spc_Cpu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Spc_Dsp.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Spc_Emu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Vgm_Emu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Vgm_Emu_Impl.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Ym2413_Emu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme\Ym2612_Emu.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Documents"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\changes.txt"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\design.txt"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gme.txt"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\license.txt"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\readme.txt"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<File
|
|
||||||
RelativePath=".\CMakeLists.txt"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
1728
gdtoa/gdtoa.vcproj
1728
gdtoa/gdtoa.vcproj
File diff suppressed because it is too large
Load diff
|
@ -1,420 +0,0 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="9,00"
|
|
||||||
Name="jpeg-6b"
|
|
||||||
ProjectGUID="{AC3F5340-40CB-4C3A-8AA7-CB7158DB4466}"
|
|
||||||
RootNamespace="jpeg6b"
|
|
||||||
Keyword="Win32Proj"
|
|
||||||
TargetFrameworkVersion="131072"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
<Platform
|
|
||||||
Name="x64"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="4"
|
|
||||||
CharacterSet="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="4"
|
|
||||||
CharacterSet="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="4"
|
|
||||||
CharacterSet="1"
|
|
||||||
WholeProgramOptimization="0"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
OmitFramePointers="true"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
|
|
||||||
StringPooling="true"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
CallingConvention="1"
|
|
||||||
CompileAs="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="4"
|
|
||||||
CharacterSet="1"
|
|
||||||
WholeProgramOptimization="0"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
OmitFramePointers="true"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
|
|
||||||
StringPooling="true"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
CompileAs="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="Source Files"
|
|
||||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
|
||||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jcomapi.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jdapimin.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jdapistd.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jdatasrc.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jdcoefct.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jdcolor.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jddctmgr.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jdhuff.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jdinput.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jdmainct.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jdmarker.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jdmaster.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jdmerge.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jdphuff.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jdpostct.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jdsample.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jerror.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jidctint.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jmemmgr.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jutils.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Header Files"
|
|
||||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
|
||||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jconfig.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jdct.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jdhuff.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jerror.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jinclude.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jmorecfg.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jpegint.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jpeglib.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\jversion.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<File
|
|
||||||
RelativePath=".\CMakeLists.txt"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\readme-zdoom.txt"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
|
@ -1,463 +0,0 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8.00"
|
|
||||||
Name="lzmalib"
|
|
||||||
ProjectGUID="{6EB27E78-7C7A-4F08-8E19-957E8EB3A20F}"
|
|
||||||
RootNamespace="lzmalib"
|
|
||||||
Keyword="Win32Proj"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
<Platform
|
|
||||||
Name="x64"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="4"
|
|
||||||
CharacterSet="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="4"
|
|
||||||
CharacterSet="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="4"
|
|
||||||
CharacterSet="1"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="3"
|
|
||||||
InlineFunctionExpansion="2"
|
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
FavorSizeOrSpeed="1"
|
|
||||||
OmitFramePointers="true"
|
|
||||||
WholeProgramOptimization="false"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
|
|
||||||
StringPooling="true"
|
|
||||||
ExceptionHandling="0"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
RuntimeTypeInfo="false"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
CallingConvention="1"
|
|
||||||
CompileAs="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="4"
|
|
||||||
CharacterSet="1"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
WholeProgramOptimization="false"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="Source Files"
|
|
||||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
|
||||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\7zArcIn.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\7zBuf.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\7zCrc.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\7zCrcOpt.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\7zDec.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\7zStream.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\Bcj2.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\Bra.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\Bra86.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\BraIA64.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\CpuArch.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\Delta.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\LzFind.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\LzFindMt.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\Lzma2Dec.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\LzmaDec.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\LzmaEnc.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\Ppmd7.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\Ppmd7Dec.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\Threads.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Header Files"
|
|
||||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
|
||||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\7z.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\7zBuf.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\7zCrc.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\7zVersion.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\Bcj2.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\Bra.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\Compiler.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\CpuArch.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\Delta.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\LzFind.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\LzFindMt.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\LzHash.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\Lzma2Dec.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\LzmaDec.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\LzmaEnc.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\Ppmd.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\Ppmd7.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\Precomp.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\Threads.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\C\Types.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<File
|
|
||||||
RelativePath=".\CMakeLists.txt"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
31
src/actor.h
31
src/actor.h
|
@ -743,6 +743,7 @@ public:
|
||||||
|
|
||||||
inline bool IsNoClip2() const;
|
inline bool IsNoClip2() const;
|
||||||
void CheckPortalTransition(bool islinked);
|
void CheckPortalTransition(bool islinked);
|
||||||
|
fixedvec3 GetPortalTransition(fixed_t byoffset);
|
||||||
|
|
||||||
// What species am I?
|
// What species am I?
|
||||||
virtual FName GetSpecies();
|
virtual FName GetSpecies();
|
||||||
|
@ -893,7 +894,7 @@ public:
|
||||||
fixedvec2 ret = { X() + dx, Y() + dy };
|
fixedvec2 ret = { X() + dx, Y() + dy };
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
else return P_GetOffsetPosition(this, dx, dy);
|
else return P_GetOffsetPosition(X(), Y(), dx, dy);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -905,7 +906,7 @@ public:
|
||||||
Y() + FixedMul(length, finesine[angle >> ANGLETOFINESHIFT]) };
|
Y() + FixedMul(length, finesine[angle >> ANGLETOFINESHIFT]) };
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
else return P_GetOffsetPosition(this, FixedMul(length, finecosine[angle >> ANGLETOFINESHIFT]), FixedMul(length, finesine[angle >> ANGLETOFINESHIFT]));
|
else return P_GetOffsetPosition(X(), Y(), FixedMul(length, finecosine[angle >> ANGLETOFINESHIFT]), FixedMul(length, finesine[angle >> ANGLETOFINESHIFT]));
|
||||||
}
|
}
|
||||||
|
|
||||||
fixedvec3 Vec3Offset(fixed_t dx, fixed_t dy, fixed_t dz, bool absolute = false)
|
fixedvec3 Vec3Offset(fixed_t dx, fixed_t dy, fixed_t dz, bool absolute = false)
|
||||||
|
@ -917,7 +918,7 @@ public:
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fixedvec2 op = P_GetOffsetPosition(this, dx, dy);
|
fixedvec2 op = P_GetOffsetPosition(X(), Y(), dx, dy);
|
||||||
fixedvec3 pos = { op.x, op.y, Z() + dz };
|
fixedvec3 pos = { op.x, op.y, Z() + dz };
|
||||||
return pos;
|
return pos;
|
||||||
}
|
}
|
||||||
|
@ -933,7 +934,7 @@ public:
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fixedvec2 op = P_GetOffsetPosition(this, FixedMul(length, finecosine[angle >> ANGLETOFINESHIFT]), FixedMul(length, finesine[angle >> ANGLETOFINESHIFT]));
|
fixedvec2 op = P_GetOffsetPosition(X(), Y(), FixedMul(length, finecosine[angle >> ANGLETOFINESHIFT]), FixedMul(length, finesine[angle >> ANGLETOFINESHIFT]));
|
||||||
fixedvec3 pos = { op.x, op.y, Z() + dz };
|
fixedvec3 pos = { op.x, op.y, Z() + dz };
|
||||||
return pos;
|
return pos;
|
||||||
}
|
}
|
||||||
|
@ -1404,6 +1405,28 @@ inline fixedvec2 Vec2Angle(fixed_t length, angle_t angle)
|
||||||
void PrintMiscActorInfo(AActor * query);
|
void PrintMiscActorInfo(AActor * query);
|
||||||
AActor *P_LinePickActor(AActor *t1, angle_t angle, fixed_t distance, int pitch, ActorFlags actorMask, DWORD wallMask);
|
AActor *P_LinePickActor(AActor *t1, angle_t angle, fixed_t distance, int pitch, ActorFlags actorMask, DWORD wallMask);
|
||||||
|
|
||||||
|
// If we want to make P_AimLineAttack capable of handling arbitrary portals, it needs to pass a lot more info than just the linetarget actor.
|
||||||
|
struct FTranslatedLineTarget
|
||||||
|
{
|
||||||
|
AActor *linetarget;
|
||||||
|
angle_t hitangle;
|
||||||
|
fixedvec3 targetPosFromSrc;
|
||||||
|
angle_t targetAngleFromSrc;
|
||||||
|
fixedvec3 sourcePosFromTarget;
|
||||||
|
angle_t sourceAngleFromTarget;
|
||||||
|
bool unlinked; // found by a trace that went through an unlinked portal.
|
||||||
|
|
||||||
|
angle_t SourceAngleToTarget() const
|
||||||
|
{
|
||||||
|
return R_PointToAngle2(sourcePosFromTarget.x, sourcePosFromTarget.y, linetarget->X(), linetarget->Y());
|
||||||
|
}
|
||||||
|
angle_t TargetAngleToSource() const
|
||||||
|
{
|
||||||
|
return R_PointToAngle2(linetarget->X(), linetarget->Y(), sourcePosFromTarget.x, sourcePosFromTarget.y);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
#define S_FREETARGMOBJ 1
|
#define S_FREETARGMOBJ 1
|
||||||
|
|
||||||
#endif // __P_MOBJ_H__
|
#endif // __P_MOBJ_H__
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
#include "actor.h"
|
#include "actor.h"
|
||||||
#include "d_player.h"
|
#include "d_player.h"
|
||||||
#include "p_pspr.h"
|
#include "p_pspr.h"
|
||||||
|
#include "p_local.h"
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
//
|
//
|
||||||
|
@ -34,6 +35,8 @@ AActor *COPY_AAPTR(AActor *origin, int selector)
|
||||||
{
|
{
|
||||||
if (selector == AAPTR_DEFAULT) return origin;
|
if (selector == AAPTR_DEFAULT) return origin;
|
||||||
|
|
||||||
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
if (origin)
|
if (origin)
|
||||||
{
|
{
|
||||||
if (origin->player)
|
if (origin->player)
|
||||||
|
@ -41,11 +44,9 @@ AActor *COPY_AAPTR(AActor *origin, int selector)
|
||||||
switch (selector & AAPTR_PLAYER_SELECTORS)
|
switch (selector & AAPTR_PLAYER_SELECTORS)
|
||||||
{
|
{
|
||||||
case AAPTR_PLAYER_GETTARGET:
|
case AAPTR_PLAYER_GETTARGET:
|
||||||
{
|
P_BulletSlope(origin, &t, ALF_PORTALRESTRICT);
|
||||||
AActor *gettarget = NULL;
|
return t.linetarget;
|
||||||
P_BulletSlope(origin, &gettarget);
|
|
||||||
return gettarget;
|
|
||||||
}
|
|
||||||
case AAPTR_PLAYER_GETCONVERSATION:
|
case AAPTR_PLAYER_GETCONVERSATION:
|
||||||
return origin->player->ConversationNPC;
|
return origin->player->ConversationNPC;
|
||||||
}
|
}
|
||||||
|
@ -60,11 +61,8 @@ AActor *COPY_AAPTR(AActor *origin, int selector)
|
||||||
return origin->FriendPlayer ? AAPTR_RESOLVE_PLAYERNUM(origin->FriendPlayer - 1) : NULL;
|
return origin->FriendPlayer ? AAPTR_RESOLVE_PLAYERNUM(origin->FriendPlayer - 1) : NULL;
|
||||||
|
|
||||||
case AAPTR_GET_LINETARGET:
|
case AAPTR_GET_LINETARGET:
|
||||||
{
|
P_BulletSlope(origin, &t, ALF_PORTALRESTRICT);
|
||||||
AActor *gettarget = NULL;
|
return t.linetarget;
|
||||||
P_BulletSlope(origin, &gettarget);
|
|
||||||
return gettarget;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -872,16 +872,16 @@ CCMD (wdir)
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
CCMD(linetarget)
|
CCMD(linetarget)
|
||||||
{
|
{
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
if (CheckCheatmode () || players[consoleplayer].mo == NULL) return;
|
if (CheckCheatmode () || players[consoleplayer].mo == NULL) return;
|
||||||
P_AimLineAttack(players[consoleplayer].mo,players[consoleplayer].mo->angle,MISSILERANGE, &linetarget, 0);
|
P_AimLineAttack(players[consoleplayer].mo,players[consoleplayer].mo->angle,MISSILERANGE, &t, 0);
|
||||||
if (linetarget)
|
if (t.linetarget)
|
||||||
{
|
{
|
||||||
Printf("Target=%s, Health=%d, Spawnhealth=%d\n",
|
Printf("Target=%s, Health=%d, Spawnhealth=%d\n",
|
||||||
linetarget->GetClass()->TypeName.GetChars(),
|
t.linetarget->GetClass()->TypeName.GetChars(),
|
||||||
linetarget->health,
|
t.linetarget->health,
|
||||||
linetarget->SpawnHealth());
|
t.linetarget->SpawnHealth());
|
||||||
}
|
}
|
||||||
else Printf("No target found\n");
|
else Printf("No target found\n");
|
||||||
}
|
}
|
||||||
|
@ -889,18 +889,18 @@ CCMD(linetarget)
|
||||||
// As linetarget, but also give info about non-shootable actors
|
// As linetarget, but also give info about non-shootable actors
|
||||||
CCMD(info)
|
CCMD(info)
|
||||||
{
|
{
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
if (CheckCheatmode () || players[consoleplayer].mo == NULL) return;
|
if (CheckCheatmode () || players[consoleplayer].mo == NULL) return;
|
||||||
P_AimLineAttack(players[consoleplayer].mo,players[consoleplayer].mo->angle,MISSILERANGE,
|
P_AimLineAttack(players[consoleplayer].mo,players[consoleplayer].mo->angle,MISSILERANGE,
|
||||||
&linetarget, 0, ALF_CHECKNONSHOOTABLE|ALF_FORCENOSMART);
|
&t, 0, ALF_CHECKNONSHOOTABLE|ALF_FORCENOSMART);
|
||||||
if (linetarget)
|
if (t.linetarget)
|
||||||
{
|
{
|
||||||
Printf("Target=%s, Health=%d, Spawnhealth=%d\n",
|
Printf("Target=%s, Health=%d, Spawnhealth=%d\n",
|
||||||
linetarget->GetClass()->TypeName.GetChars(),
|
t.linetarget->GetClass()->TypeName.GetChars(),
|
||||||
linetarget->health,
|
t.linetarget->health,
|
||||||
linetarget->SpawnHealth());
|
t.linetarget->SpawnHealth());
|
||||||
PrintMiscActorInfo(linetarget);
|
PrintMiscActorInfo(t.linetarget);
|
||||||
}
|
}
|
||||||
else Printf("No target found. Info cannot find actors that have "
|
else Printf("No target found. Info cannot find actors that have "
|
||||||
"the NOBLOCKMAP flag or have height/radius of 0.\n");
|
"the NOBLOCKMAP flag or have height/radius of 0.\n");
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
#error You must #include "dobject.h" to get dobjtype.h
|
#error You must #include "dobject.h" to get dobjtype.h
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "thingdef/thingdef_type.h"
|
|
||||||
#include "vm.h"
|
#include "vm.h"
|
||||||
|
|
||||||
// Variable/parameter/field flags -------------------------------------------
|
// Variable/parameter/field flags -------------------------------------------
|
||||||
|
|
|
@ -33,7 +33,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_Punch)
|
||||||
angle_t angle;
|
angle_t angle;
|
||||||
int damage;
|
int damage;
|
||||||
int pitch;
|
int pitch;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
if (self->player != NULL)
|
if (self->player != NULL)
|
||||||
{
|
{
|
||||||
|
@ -53,15 +53,15 @@ DEFINE_ACTION_FUNCTION(AActor, A_Punch)
|
||||||
angle = self->angle;
|
angle = self->angle;
|
||||||
|
|
||||||
angle += pr_punch.Random2() << 18;
|
angle += pr_punch.Random2() << 18;
|
||||||
pitch = P_AimLineAttack (self, angle, MELEERANGE, &linetarget);
|
pitch = P_AimLineAttack (self, angle, MELEERANGE);
|
||||||
|
|
||||||
P_LineAttack (self, angle, MELEERANGE, pitch, damage, NAME_Melee, NAME_BulletPuff, LAF_ISMELEEATTACK, &linetarget);
|
P_LineAttack (self, angle, MELEERANGE, pitch, damage, NAME_Melee, NAME_BulletPuff, LAF_ISMELEEATTACK, &t);
|
||||||
|
|
||||||
// turn to face target
|
// turn to face target
|
||||||
if (linetarget)
|
if (t.linetarget)
|
||||||
{
|
{
|
||||||
S_Sound (self, CHAN_WEAPON, "*fist", 1, ATTN_NORM);
|
S_Sound (self, CHAN_WEAPON, "*fist", 1, ATTN_NORM);
|
||||||
self->angle = self->AngleTo(linetarget);
|
self->angle = t.SourceAngleToTarget();
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -133,7 +133,7 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_Saw)
|
||||||
angle_t angle;
|
angle_t angle;
|
||||||
angle_t slope;
|
angle_t slope;
|
||||||
player_t *player;
|
player_t *player;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
int actualdamage;
|
int actualdamage;
|
||||||
|
|
||||||
if (NULL == (player = self->player))
|
if (NULL == (player = self->player))
|
||||||
|
@ -159,18 +159,18 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_Saw)
|
||||||
}
|
}
|
||||||
|
|
||||||
angle = self->angle + (pr_saw.Random2() * (spread_xy / 255));
|
angle = self->angle + (pr_saw.Random2() * (spread_xy / 255));
|
||||||
slope = P_AimLineAttack (self, angle, range, &linetarget) + (pr_saw.Random2() * (spread_z / 255));
|
slope = P_AimLineAttack (self, angle, range, &t) + (pr_saw.Random2() * (spread_z / 255));
|
||||||
|
|
||||||
AWeapon *weapon = self->player->ReadyWeapon;
|
AWeapon *weapon = self->player->ReadyWeapon;
|
||||||
if ((weapon != NULL) && !(flags & SF_NOUSEAMMO) && !(!linetarget && (flags & SF_NOUSEAMMOMISS)) && !(weapon->WeaponFlags & WIF_DEHAMMO) && ACTION_CALL_FROM_WEAPON())
|
if ((weapon != NULL) && !(flags & SF_NOUSEAMMO) && !(!t.linetarget && (flags & SF_NOUSEAMMOMISS)) && !(weapon->WeaponFlags & WIF_DEHAMMO) && ACTION_CALL_FROM_WEAPON())
|
||||||
{
|
{
|
||||||
if (!weapon->DepleteAmmo (weapon->bAltFire))
|
if (!weapon->DepleteAmmo (weapon->bAltFire))
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
P_LineAttack (self, angle, range, slope, damage, NAME_Melee, pufftype, false, &linetarget, &actualdamage);
|
P_LineAttack (self, angle, range, slope, damage, NAME_Melee, pufftype, false, &t, &actualdamage);
|
||||||
|
|
||||||
if (!linetarget)
|
if (!t.linetarget)
|
||||||
{
|
{
|
||||||
if ((flags & SF_RANDOMLIGHTMISS) && (pr_saw() > 64))
|
if ((flags & SF_RANDOMLIGHTMISS) && (pr_saw() > 64))
|
||||||
{
|
{
|
||||||
|
@ -197,7 +197,7 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_Saw)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lifesteal && !(linetarget->flags5 & MF5_DONTDRAIN))
|
if (lifesteal && !(t.linetarget->flags5 & MF5_DONTDRAIN))
|
||||||
{
|
{
|
||||||
if (flags & SF_STEALARMOR)
|
if (flags & SF_STEALARMOR)
|
||||||
{
|
{
|
||||||
|
@ -232,7 +232,7 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_Saw)
|
||||||
// turn to face target
|
// turn to face target
|
||||||
if (!(flags & SF_NOTURN))
|
if (!(flags & SF_NOTURN))
|
||||||
{
|
{
|
||||||
angle = self->AngleTo(linetarget);
|
angle = t.SourceAngleToTarget();
|
||||||
if (angle - self->angle > ANG180)
|
if (angle - self->angle > ANG180)
|
||||||
{
|
{
|
||||||
if (angle - self->angle < (angle_t)(-ANG90 / 20))
|
if (angle - self->angle < (angle_t)(-ANG90 / 20))
|
||||||
|
@ -643,7 +643,7 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_BFGSpray)
|
||||||
int j;
|
int j;
|
||||||
int damage;
|
int damage;
|
||||||
angle_t an;
|
angle_t an;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
if (spraytype == NULL) spraytype = PClass::FindActor("BFGExtra");
|
if (spraytype == NULL) spraytype = PClass::FindActor("BFGExtra");
|
||||||
if (numrays <= 0) numrays = 40;
|
if (numrays <= 0) numrays = 40;
|
||||||
|
@ -662,18 +662,18 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_BFGSpray)
|
||||||
an = self->angle - angle / 2 + angle / numrays*i;
|
an = self->angle - angle / 2 + angle / numrays*i;
|
||||||
|
|
||||||
// self->target is the originator (player) of the missile
|
// self->target is the originator (player) of the missile
|
||||||
P_AimLineAttack(self->target, an, distance, &linetarget, vrange);
|
P_AimLineAttack(self->target, an, distance, &t, vrange);
|
||||||
|
|
||||||
if (linetarget != NULL)
|
if (t.linetarget != NULL)
|
||||||
{
|
{
|
||||||
AActor *spray = Spawn(spraytype, linetarget->PosPlusZ(linetarget->height >> 2), ALLOW_REPLACE);
|
AActor *spray = Spawn(spraytype, t.linetarget->PosPlusZ(t.linetarget->height >> 2), ALLOW_REPLACE);
|
||||||
|
|
||||||
int dmgFlags = 0;
|
int dmgFlags = 0;
|
||||||
FName dmgType = NAME_BFGSplash;
|
FName dmgType = NAME_BFGSplash;
|
||||||
|
|
||||||
if (spray != NULL)
|
if (spray != NULL)
|
||||||
{
|
{
|
||||||
if (spray->flags6 & MF6_MTHRUSPECIES && self->target->GetSpecies() == linetarget->GetSpecies())
|
if (spray->flags6 & MF6_MTHRUSPECIES && self->target->GetSpecies() == t.linetarget->GetSpecies())
|
||||||
{
|
{
|
||||||
spray->Destroy(); // [MC] Remove it because technically, the spray isn't trying to "hit" them.
|
spray->Destroy(); // [MC] Remove it because technically, the spray isn't trying to "hit" them.
|
||||||
continue;
|
continue;
|
||||||
|
@ -696,8 +696,8 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_BFGSpray)
|
||||||
damage = defdamage;
|
damage = defdamage;
|
||||||
}
|
}
|
||||||
|
|
||||||
int newdam = P_DamageMobj(linetarget, self->target, self->target, damage, dmgType, dmgFlags);
|
int newdam = P_DamageMobj(t.linetarget, self->target, self->target, damage, dmgType, dmgFlags|DMG_USEANGLE, t.SourceAngleToTarget());
|
||||||
P_TraceBleed(newdam > 0 ? newdam : damage, linetarget, self->target);
|
P_TraceBleed(newdam > 0 ? newdam : damage, &t, self);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -276,16 +276,16 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_M_Saw)
|
||||||
if (self->CheckMeleeRange ())
|
if (self->CheckMeleeRange ())
|
||||||
{
|
{
|
||||||
angle_t angle;
|
angle_t angle;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
damage *= (pr_m_saw()%10+1);
|
damage *= (pr_m_saw()%10+1);
|
||||||
angle = self->angle + (pr_m_saw.Random2() << 18);
|
angle = self->angle + (pr_m_saw.Random2() << 18);
|
||||||
|
|
||||||
P_LineAttack (self, angle, MELEERANGE+1,
|
P_LineAttack (self, angle, MELEERANGE+1,
|
||||||
P_AimLineAttack (self, angle, MELEERANGE+1, &linetarget), damage,
|
P_AimLineAttack (self, angle, MELEERANGE+1), damage,
|
||||||
NAME_Melee, pufftype, false, &linetarget);
|
NAME_Melee, pufftype, false, &t);
|
||||||
|
|
||||||
if (!linetarget)
|
if (!t.linetarget)
|
||||||
{
|
{
|
||||||
S_Sound (self, CHAN_WEAPON, fullsound, 1, ATTN_NORM);
|
S_Sound (self, CHAN_WEAPON, fullsound, 1, ATTN_NORM);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -293,7 +293,7 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_M_Saw)
|
||||||
S_Sound (self, CHAN_WEAPON, hitsound, 1, ATTN_NORM);
|
S_Sound (self, CHAN_WEAPON, hitsound, 1, ATTN_NORM);
|
||||||
|
|
||||||
// turn to face target
|
// turn to face target
|
||||||
angle = self->AngleTo(linetarget);
|
angle = t.SourceAngleToTarget();
|
||||||
if (angle - self->angle > ANG180)
|
if (angle - self->angle > ANG180)
|
||||||
{
|
{
|
||||||
if (angle - self->angle < (angle_t)(-ANG90/20))
|
if (angle - self->angle < (angle_t)(-ANG90/20))
|
||||||
|
@ -328,7 +328,7 @@ static void MarinePunch(AActor *self, int damagemul)
|
||||||
angle_t angle;
|
angle_t angle;
|
||||||
int damage;
|
int damage;
|
||||||
int pitch;
|
int pitch;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
if (self->target == NULL)
|
if (self->target == NULL)
|
||||||
return;
|
return;
|
||||||
|
@ -337,15 +337,14 @@ static void MarinePunch(AActor *self, int damagemul)
|
||||||
|
|
||||||
A_FaceTarget (self);
|
A_FaceTarget (self);
|
||||||
angle = self->angle + (pr_m_punch.Random2() << 18);
|
angle = self->angle + (pr_m_punch.Random2() << 18);
|
||||||
pitch = P_AimLineAttack (self, angle, MELEERANGE, &linetarget);
|
pitch = P_AimLineAttack (self, angle, MELEERANGE);
|
||||||
P_LineAttack (self, angle, MELEERANGE, pitch, damage, NAME_Melee, NAME_BulletPuff, true, &linetarget);
|
P_LineAttack (self, angle, MELEERANGE, pitch, damage, NAME_Melee, NAME_BulletPuff, true, &t);
|
||||||
|
|
||||||
// turn to face target
|
// turn to face target
|
||||||
if (linetarget)
|
if (t.linetarget)
|
||||||
{
|
{
|
||||||
S_Sound (self, CHAN_WEAPON, "*fist", 1, ATTN_NORM);
|
S_Sound (self, CHAN_WEAPON, "*fist", 1, ATTN_NORM);
|
||||||
self->angle = self->AngleTo(linetarget);
|
self->angle = t.SourceAngleToTarget();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -176,7 +176,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_BeakAttackPL1)
|
||||||
int damage;
|
int damage;
|
||||||
int slope;
|
int slope;
|
||||||
player_t *player;
|
player_t *player;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
if (NULL == (player = self->player))
|
if (NULL == (player = self->player))
|
||||||
{
|
{
|
||||||
|
@ -185,11 +185,11 @@ DEFINE_ACTION_FUNCTION(AActor, A_BeakAttackPL1)
|
||||||
|
|
||||||
damage = 1 + (pr_beakatkpl1()&3);
|
damage = 1 + (pr_beakatkpl1()&3);
|
||||||
angle = player->mo->angle;
|
angle = player->mo->angle;
|
||||||
slope = P_AimLineAttack (player->mo, angle, MELEERANGE, &linetarget);
|
slope = P_AimLineAttack (player->mo, angle, MELEERANGE);
|
||||||
P_LineAttack (player->mo, angle, MELEERANGE, slope, damage, NAME_Melee, "BeakPuff", true, &linetarget);
|
P_LineAttack (player->mo, angle, MELEERANGE, slope, damage, NAME_Melee, "BeakPuff", true, &t);
|
||||||
if (linetarget)
|
if (t.linetarget)
|
||||||
{
|
{
|
||||||
player->mo->angle = player->mo->AngleTo(linetarget);
|
player->mo->angle = t.SourceAngleToTarget();
|
||||||
}
|
}
|
||||||
P_PlayPeck (player->mo);
|
P_PlayPeck (player->mo);
|
||||||
player->chickenPeck = 12;
|
player->chickenPeck = 12;
|
||||||
|
@ -211,7 +211,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_BeakAttackPL2)
|
||||||
int damage;
|
int damage;
|
||||||
int slope;
|
int slope;
|
||||||
player_t *player;
|
player_t *player;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
if (NULL == (player = self->player))
|
if (NULL == (player = self->player))
|
||||||
{
|
{
|
||||||
|
@ -220,11 +220,11 @@ DEFINE_ACTION_FUNCTION(AActor, A_BeakAttackPL2)
|
||||||
|
|
||||||
damage = pr_beakatkpl2.HitDice (4);
|
damage = pr_beakatkpl2.HitDice (4);
|
||||||
angle = player->mo->angle;
|
angle = player->mo->angle;
|
||||||
slope = P_AimLineAttack (player->mo, angle, MELEERANGE, &linetarget);
|
slope = P_AimLineAttack (player->mo, angle, MELEERANGE);
|
||||||
P_LineAttack (player->mo, angle, MELEERANGE, slope, damage, NAME_Melee, "BeakPuff", true, &linetarget);
|
P_LineAttack (player->mo, angle, MELEERANGE, slope, damage, NAME_Melee, "BeakPuff", true, &t);
|
||||||
if (linetarget)
|
if (t.linetarget)
|
||||||
{
|
{
|
||||||
player->mo->angle = player->mo->AngleTo(linetarget);
|
player->mo->angle = t.SourceAngleToTarget();
|
||||||
}
|
}
|
||||||
P_PlayPeck (player->mo);
|
P_PlayPeck (player->mo);
|
||||||
player->chickenPeck = 12;
|
player->chickenPeck = 12;
|
||||||
|
|
|
@ -66,7 +66,7 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_StaffAttack)
|
||||||
angle_t angle;
|
angle_t angle;
|
||||||
int slope;
|
int slope;
|
||||||
player_t *player;
|
player_t *player;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
if (NULL == (player = self->player))
|
if (NULL == (player = self->player))
|
||||||
{
|
{
|
||||||
|
@ -88,13 +88,13 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_StaffAttack)
|
||||||
}
|
}
|
||||||
angle = self->angle;
|
angle = self->angle;
|
||||||
angle += pr_sap.Random2() << 18;
|
angle += pr_sap.Random2() << 18;
|
||||||
slope = P_AimLineAttack (self, angle, MELEERANGE, &linetarget);
|
slope = P_AimLineAttack (self, angle, MELEERANGE);
|
||||||
P_LineAttack (self, angle, MELEERANGE, slope, damage, NAME_Melee, puff, true, &linetarget);
|
P_LineAttack (self, angle, MELEERANGE, slope, damage, NAME_Melee, puff, true, &t);
|
||||||
if (linetarget)
|
if (t.linetarget)
|
||||||
{
|
{
|
||||||
//S_StartSound(player->mo, sfx_stfhit);
|
//S_StartSound(player->mo, sfx_stfhit);
|
||||||
// turn to face target
|
// turn to face target
|
||||||
self->angle = self->AngleTo(linetarget);
|
self->angle = t.SourceAngleToTarget();
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -257,7 +257,7 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_GauntletAttack)
|
||||||
fixed_t dist;
|
fixed_t dist;
|
||||||
player_t *player;
|
player_t *player;
|
||||||
PClassActor *pufftype;
|
PClassActor *pufftype;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
int actualdamage = 0;
|
int actualdamage = 0;
|
||||||
|
|
||||||
if (NULL == (player = self->player))
|
if (NULL == (player = self->player))
|
||||||
|
@ -290,9 +290,9 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_GauntletAttack)
|
||||||
angle += pr_gatk.Random2() << 18;
|
angle += pr_gatk.Random2() << 18;
|
||||||
pufftype = PClass::FindActor("GauntletPuff1");
|
pufftype = PClass::FindActor("GauntletPuff1");
|
||||||
}
|
}
|
||||||
slope = P_AimLineAttack (self, angle, dist, &linetarget);
|
slope = P_AimLineAttack (self, angle, dist);
|
||||||
P_LineAttack (self, angle, dist, slope, damage, NAME_Melee, pufftype, false, &linetarget, &actualdamage);
|
P_LineAttack (self, angle, dist, slope, damage, NAME_Melee, pufftype, false, &t, &actualdamage);
|
||||||
if (!linetarget)
|
if (!t.linetarget)
|
||||||
{
|
{
|
||||||
if (pr_gatk() > 64)
|
if (pr_gatk() > 64)
|
||||||
{
|
{
|
||||||
|
@ -316,7 +316,7 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_GauntletAttack)
|
||||||
}
|
}
|
||||||
if (power)
|
if (power)
|
||||||
{
|
{
|
||||||
if (!(linetarget->flags5 & MF5_DONTDRAIN)) P_GiveBody (self, actualdamage>>1);
|
if (!(t.linetarget->flags5 & MF5_DONTDRAIN)) P_GiveBody (self, actualdamage>>1);
|
||||||
S_Sound (self, CHAN_AUTO, "weapons/gauntletspowhit", 1, ATTN_NORM);
|
S_Sound (self, CHAN_AUTO, "weapons/gauntletspowhit", 1, ATTN_NORM);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -324,7 +324,7 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_GauntletAttack)
|
||||||
S_Sound (self, CHAN_AUTO, "weapons/gauntletshit", 1, ATTN_NORM);
|
S_Sound (self, CHAN_AUTO, "weapons/gauntletshit", 1, ATTN_NORM);
|
||||||
}
|
}
|
||||||
// turn to face target
|
// turn to face target
|
||||||
angle = self->AngleTo(linetarget);
|
angle = t.SourceAngleToTarget();
|
||||||
if (angle-self->angle > ANG180)
|
if (angle-self->angle > ANG180)
|
||||||
{
|
{
|
||||||
if ((int)(angle-self->angle) < -ANG90/20)
|
if ((int)(angle-self->angle) < -ANG90/20)
|
||||||
|
@ -594,7 +594,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_FireMacePL2)
|
||||||
|
|
||||||
AActor *mo;
|
AActor *mo;
|
||||||
player_t *player;
|
player_t *player;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
if (NULL == (player = self->player))
|
if (NULL == (player = self->player))
|
||||||
{
|
{
|
||||||
|
@ -607,16 +607,16 @@ DEFINE_ACTION_FUNCTION(AActor, A_FireMacePL2)
|
||||||
if (!weapon->DepleteAmmo (weapon->bAltFire))
|
if (!weapon->DepleteAmmo (weapon->bAltFire))
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
mo = P_SpawnPlayerMissile (self, 0,0,0, RUNTIME_CLASS(AMaceFX4), self->angle, &linetarget);
|
mo = P_SpawnPlayerMissile (self, 0,0,0, RUNTIME_CLASS(AMaceFX4), self->angle, &t);
|
||||||
if (mo)
|
if (mo)
|
||||||
{
|
{
|
||||||
mo->velx += self->velx;
|
mo->velx += self->velx;
|
||||||
mo->vely += self->vely;
|
mo->vely += self->vely;
|
||||||
mo->velz = 2*FRACUNIT+
|
mo->velz = 2*FRACUNIT+
|
||||||
clamp<fixed_t>(finetangent[FINEANGLES/4-(self->pitch>>ANGLETOFINESHIFT)], -5*FRACUNIT, 5*FRACUNIT);
|
clamp<fixed_t>(finetangent[FINEANGLES/4-(self->pitch>>ANGLETOFINESHIFT)], -5*FRACUNIT, 5*FRACUNIT);
|
||||||
if (linetarget)
|
if (t.linetarget && !t.unlinked)
|
||||||
{
|
{
|
||||||
mo->tracer = linetarget;
|
mo->tracer = t.linetarget;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
S_Sound (self, CHAN_WEAPON, "weapons/maceshoot", 1, ATTN_NORM);
|
S_Sound (self, CHAN_WEAPON, "weapons/maceshoot", 1, ATTN_NORM);
|
||||||
|
@ -637,7 +637,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_DeathBallImpact)
|
||||||
AActor *target;
|
AActor *target;
|
||||||
angle_t angle = 0;
|
angle_t angle = 0;
|
||||||
bool newAngle;
|
bool newAngle;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
if ((self->Z() <= self->floorz) && P_HitFloor (self))
|
if ((self->Z() <= self->floorz) && P_HitFloor (self))
|
||||||
{ // Landed in some sort of liquid
|
{ // Landed in some sort of liquid
|
||||||
|
@ -671,11 +671,11 @@ DEFINE_ACTION_FUNCTION(AActor, A_DeathBallImpact)
|
||||||
angle = 0;
|
angle = 0;
|
||||||
for (i = 0; i < 16; i++)
|
for (i = 0; i < 16; i++)
|
||||||
{
|
{
|
||||||
P_AimLineAttack (self, angle, 10*64*FRACUNIT, &linetarget, 0, ALF_NOFRIENDS, NULL, self->target);
|
P_AimLineAttack (self, angle, 10*64*FRACUNIT, &t, 0, ALF_NOFRIENDS|ALF_PORTALRESTRICT, NULL, self->target);
|
||||||
if (linetarget && self->target != linetarget)
|
if (t.linetarget && self->target != t.linetarget)
|
||||||
{
|
{
|
||||||
self->tracer = linetarget;
|
self->tracer = t.linetarget;
|
||||||
angle = self->AngleTo(linetarget);
|
angle = t.SourceAngleToTarget();
|
||||||
newAngle = true;
|
newAngle = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -943,7 +943,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_FireSkullRodPL2)
|
||||||
|
|
||||||
player_t *player;
|
player_t *player;
|
||||||
AActor *MissileActor;
|
AActor *MissileActor;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
if (NULL == (player = self->player))
|
if (NULL == (player = self->player))
|
||||||
{
|
{
|
||||||
|
@ -955,16 +955,16 @@ DEFINE_ACTION_FUNCTION(AActor, A_FireSkullRodPL2)
|
||||||
if (!weapon->DepleteAmmo (weapon->bAltFire))
|
if (!weapon->DepleteAmmo (weapon->bAltFire))
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
P_SpawnPlayerMissile (self, 0,0,0, RUNTIME_CLASS(AHornRodFX2), self->angle, &linetarget, &MissileActor);
|
P_SpawnPlayerMissile (self, 0,0,0, RUNTIME_CLASS(AHornRodFX2), self->angle, &t, &MissileActor);
|
||||||
// Use MissileActor instead of the return value from
|
// Use MissileActor instead of the return value from
|
||||||
// P_SpawnPlayerMissile because we need to give info to the mobj
|
// P_SpawnPlayerMissile because we need to give info to the mobj
|
||||||
// even if it exploded immediately.
|
// even if it exploded immediately.
|
||||||
if (MissileActor != NULL)
|
if (MissileActor != NULL)
|
||||||
{
|
{
|
||||||
MissileActor->special2 = (int)(player - players);
|
MissileActor->special2 = (int)(player - players);
|
||||||
if (linetarget)
|
if (t.linetarget && !t.unlinked)
|
||||||
{
|
{
|
||||||
MissileActor->tracer = linetarget;
|
MissileActor->tracer = t.linetarget;
|
||||||
}
|
}
|
||||||
S_Sound (MissileActor, CHAN_WEAPON, "weapons/hornrodpowshoot", 1, ATTN_NORM);
|
S_Sound (MissileActor, CHAN_WEAPON, "weapons/hornrodpowshoot", 1, ATTN_NORM);
|
||||||
}
|
}
|
||||||
|
|
|
@ -151,6 +151,11 @@ DEFINE_ACTION_FUNCTION_PARAMS (AActor, A_Blast)
|
||||||
{ // Out of range
|
{ // Out of range
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (mo->Sector->PortalGroup != self->Sector->PortalGroup && !P_CheckSight(self, mo))
|
||||||
|
{
|
||||||
|
// in another region and cannot be seen.
|
||||||
|
continue;
|
||||||
|
}
|
||||||
BlastActor (mo, strength, speed, self, blasteffect, !!(blastflags & BF_NOIMPACTDAMAGE));
|
BlastActor (mo, strength, speed, self, blasteffect, !!(blastflags & BF_NOIMPACTDAMAGE));
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -213,7 +213,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_CHolyAttack)
|
||||||
PARAM_ACTION_PROLOGUE;
|
PARAM_ACTION_PROLOGUE;
|
||||||
|
|
||||||
player_t *player;
|
player_t *player;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
if (NULL == (player = self->player))
|
if (NULL == (player = self->player))
|
||||||
{
|
{
|
||||||
|
@ -225,10 +225,10 @@ DEFINE_ACTION_FUNCTION(AActor, A_CHolyAttack)
|
||||||
if (!weapon->DepleteAmmo (weapon->bAltFire))
|
if (!weapon->DepleteAmmo (weapon->bAltFire))
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
AActor *missile = P_SpawnPlayerMissile (self, 0,0,0, PClass::FindActor("HolyMissile"), self->angle, &linetarget);
|
AActor *missile = P_SpawnPlayerMissile (self, 0,0,0, PClass::FindActor("HolyMissile"), self->angle, &t);
|
||||||
if (missile != NULL)
|
if (missile != NULL && !t.unlinked)
|
||||||
{
|
{
|
||||||
missile->tracer = linetarget;
|
missile->tracer = t.linetarget;
|
||||||
}
|
}
|
||||||
|
|
||||||
weapon->CHolyCount = 3;
|
weapon->CHolyCount = 3;
|
||||||
|
|
|
@ -5,8 +5,6 @@
|
||||||
#include "thingdef/thingdef.h"
|
#include "thingdef/thingdef.h"
|
||||||
*/
|
*/
|
||||||
|
|
||||||
extern void AdjustPlayerAngle (AActor *pmo, AActor *linetarget);
|
|
||||||
|
|
||||||
static FRandom pr_maceatk ("CMaceAttack");
|
static FRandom pr_maceatk ("CMaceAttack");
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
@ -24,7 +22,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_CMaceAttack)
|
||||||
int slope;
|
int slope;
|
||||||
int i;
|
int i;
|
||||||
player_t *player;
|
player_t *player;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
if (NULL == (player = self->player))
|
if (NULL == (player = self->player))
|
||||||
{
|
{
|
||||||
|
@ -36,26 +34,18 @@ DEFINE_ACTION_FUNCTION(AActor, A_CMaceAttack)
|
||||||
damage = 25+(pr_maceatk()&15);
|
damage = 25+(pr_maceatk()&15);
|
||||||
for (i = 0; i < 16; i++)
|
for (i = 0; i < 16; i++)
|
||||||
{
|
{
|
||||||
angle = player->mo->angle+i*(ANG45/16);
|
for (int j = 1; j >= -1; j -= 2)
|
||||||
slope = P_AimLineAttack (player->mo, angle, 2*MELEERANGE, &linetarget);
|
|
||||||
if (linetarget)
|
|
||||||
{
|
{
|
||||||
P_LineAttack (player->mo, angle, 2*MELEERANGE, slope, damage, NAME_Melee, hammertime, true, &linetarget);
|
angle = player->mo->angle + j*i*(ANG45 / 16);
|
||||||
if (linetarget != NULL)
|
slope = P_AimLineAttack(player->mo, angle, 2 * MELEERANGE, &t);
|
||||||
|
if (t.linetarget)
|
||||||
{
|
{
|
||||||
AdjustPlayerAngle (player->mo, linetarget);
|
P_LineAttack(player->mo, angle, 2 * MELEERANGE, slope, damage, NAME_Melee, hammertime, true, &t);
|
||||||
goto macedone;
|
if (t.linetarget != NULL)
|
||||||
}
|
{
|
||||||
}
|
AdjustPlayerAngle(player->mo, &t);
|
||||||
angle = player->mo->angle-i*(ANG45/16);
|
goto macedone;
|
||||||
slope = P_AimLineAttack (player->mo, angle, 2*MELEERANGE, &linetarget);
|
}
|
||||||
if (linetarget)
|
|
||||||
{
|
|
||||||
P_LineAttack (player->mo, angle, 2*MELEERANGE, slope, damage, NAME_Melee, hammertime, true, &linetarget);
|
|
||||||
if (linetarget != NULL)
|
|
||||||
{
|
|
||||||
AdjustPlayerAngle (player->mo, linetarget);
|
|
||||||
goto macedone;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -63,7 +53,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_CMaceAttack)
|
||||||
player->mo->weaponspecial = 0;
|
player->mo->weaponspecial = 0;
|
||||||
|
|
||||||
angle = player->mo->angle;
|
angle = player->mo->angle;
|
||||||
slope = P_AimLineAttack (player->mo, angle, MELEERANGE, &linetarget);
|
slope = P_AimLineAttack (player->mo, angle, MELEERANGE);
|
||||||
P_LineAttack (player->mo, angle, MELEERANGE, slope, damage, NAME_Melee, hammertime);
|
P_LineAttack (player->mo, angle, MELEERANGE, slope, damage, NAME_Melee, hammertime);
|
||||||
macedone:
|
macedone:
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -55,7 +55,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_CStaffCheck)
|
||||||
int slope;
|
int slope;
|
||||||
int i;
|
int i;
|
||||||
player_t *player;
|
player_t *player;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
PClassActor *puff;
|
PClassActor *puff;
|
||||||
|
|
||||||
if (NULL == (player = self->player))
|
if (NULL == (player = self->player))
|
||||||
|
@ -70,57 +70,38 @@ DEFINE_ACTION_FUNCTION(AActor, A_CStaffCheck)
|
||||||
puff = PClass::FindActor("CStaffPuff");
|
puff = PClass::FindActor("CStaffPuff");
|
||||||
for (i = 0; i < 3; i++)
|
for (i = 0; i < 3; i++)
|
||||||
{
|
{
|
||||||
angle = pmo->angle + i*(ANG45 / 16);
|
for (int j = 1; j >= -1; j -= 2)
|
||||||
slope = P_AimLineAttack(pmo, angle, fixed_t(1.5*MELEERANGE), &linetarget, 0, ALF_CHECK3D);
|
|
||||||
if (linetarget)
|
|
||||||
{
|
{
|
||||||
P_LineAttack(pmo, angle, fixed_t(1.5*MELEERANGE), slope, damage, NAME_Melee, puff, false, &linetarget);
|
angle = pmo->angle + j*i*(ANG45 / 16);
|
||||||
if (linetarget != NULL)
|
slope = P_AimLineAttack(pmo, angle, fixed_t(1.5*MELEERANGE), &t, 0, ALF_CHECK3D);
|
||||||
|
if (t.linetarget)
|
||||||
{
|
{
|
||||||
pmo->angle = pmo->AngleTo(linetarget);
|
P_LineAttack(pmo, angle, fixed_t(1.5*MELEERANGE), slope, damage, NAME_Melee, puff, false, &t);
|
||||||
if (((linetarget->player && (!linetarget->IsTeammate(pmo) || level.teamdamage != 0)) || linetarget->flags3&MF3_ISMONSTER)
|
if (t.linetarget != NULL)
|
||||||
&& (!(linetarget->flags2&(MF2_DORMANT | MF2_INVULNERABLE))))
|
|
||||||
{
|
{
|
||||||
newLife = player->health + (damage >> 3);
|
pmo->angle = t.SourceAngleToTarget();
|
||||||
newLife = newLife > max ? max : newLife;
|
if (((t.linetarget->player && (!t.linetarget->IsTeammate(pmo) || level.teamdamage != 0)) || t.linetarget->flags3&MF3_ISMONSTER)
|
||||||
if (newLife > player->health)
|
&& (!(t.linetarget->flags2&(MF2_DORMANT | MF2_INVULNERABLE))))
|
||||||
{
|
{
|
||||||
pmo->health = player->health = newLife;
|
newLife = player->health + (damage >> 3);
|
||||||
|
newLife = newLife > max ? max : newLife;
|
||||||
|
if (newLife > player->health)
|
||||||
|
{
|
||||||
|
pmo->health = player->health = newLife;
|
||||||
|
}
|
||||||
|
if (weapon != NULL)
|
||||||
|
{
|
||||||
|
FState * newstate = weapon->FindState("Drain");
|
||||||
|
if (newstate != NULL) P_SetPsprite(player, ps_weapon, newstate);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (weapon != NULL)
|
if (weapon != NULL)
|
||||||
{
|
{
|
||||||
FState * newstate = weapon->FindState("Drain");
|
weapon->DepleteAmmo(weapon->bAltFire, false);
|
||||||
if (newstate != NULL) P_SetPsprite(player, ps_weapon, newstate);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (weapon != NULL)
|
return 0;
|
||||||
{
|
|
||||||
weapon->DepleteAmmo(weapon->bAltFire, false);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
}
|
|
||||||
angle = pmo->angle - i*(ANG45 / 16);
|
|
||||||
slope = P_AimLineAttack(player->mo, angle, fixed_t(1.5*MELEERANGE), &linetarget, 0, ALF_CHECK3D);
|
|
||||||
if (linetarget)
|
|
||||||
{
|
|
||||||
P_LineAttack(pmo, angle, fixed_t(1.5*MELEERANGE), slope, damage, NAME_Melee, puff, false, &linetarget);
|
|
||||||
if (linetarget != NULL)
|
|
||||||
{
|
|
||||||
pmo->angle = pmo->AngleTo(linetarget);
|
|
||||||
if ((linetarget->player && (!linetarget->IsTeammate(pmo) || level.teamdamage != 0)) || linetarget->flags3&MF3_ISMONSTER)
|
|
||||||
{
|
|
||||||
newLife = player->health + (damage >> 4);
|
|
||||||
newLife = newLife > max ? max : newLife;
|
|
||||||
pmo->health = player->health = newLife;
|
|
||||||
P_SetPsprite(player, ps_weapon, weapon->FindState("Drain"));
|
|
||||||
}
|
|
||||||
if (weapon != NULL)
|
|
||||||
{
|
|
||||||
weapon->DepleteAmmo(weapon->bAltFire, false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -24,8 +24,6 @@ void A_FAxeCheckReadyG (AActor *actor);
|
||||||
void A_FAxeCheckUpG (AActor *actor);
|
void A_FAxeCheckUpG (AActor *actor);
|
||||||
void A_FAxeAttack (AActor *actor);
|
void A_FAxeAttack (AActor *actor);
|
||||||
|
|
||||||
extern void AdjustPlayerAngle (AActor *pmo, AActor *linetarget);
|
|
||||||
|
|
||||||
// The Fighter's Axe --------------------------------------------------------
|
// The Fighter's Axe --------------------------------------------------------
|
||||||
|
|
||||||
class AFWeapAxe : public AFighterWeapon
|
class AFWeapAxe : public AFighterWeapon
|
||||||
|
@ -210,7 +208,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_FAxeAttack)
|
||||||
player_t *player;
|
player_t *player;
|
||||||
AWeapon *weapon;
|
AWeapon *weapon;
|
||||||
PClassActor *pufftype;
|
PClassActor *pufftype;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
if (NULL == (player = self->player))
|
if (NULL == (player = self->player))
|
||||||
{
|
{
|
||||||
|
@ -236,36 +234,23 @@ DEFINE_ACTION_FUNCTION(AActor, A_FAxeAttack)
|
||||||
}
|
}
|
||||||
for (i = 0; i < 16; i++)
|
for (i = 0; i < 16; i++)
|
||||||
{
|
{
|
||||||
angle = pmo->angle+i*(ANG45/16);
|
for (int j = 1; j >= -1; j -= 2)
|
||||||
slope = P_AimLineAttack (pmo, angle, AXERANGE, &linetarget);
|
|
||||||
if (linetarget)
|
|
||||||
{
|
{
|
||||||
P_LineAttack (pmo, angle, AXERANGE, slope, damage, NAME_Melee, pufftype, true, &linetarget);
|
angle = pmo->angle + j*i*(ANG45 / 16);
|
||||||
if (linetarget != NULL)
|
slope = P_AimLineAttack(pmo, angle, AXERANGE, &t);
|
||||||
|
if (t.linetarget)
|
||||||
{
|
{
|
||||||
if (linetarget->flags3&MF3_ISMONSTER || linetarget->player)
|
P_LineAttack(pmo, angle, AXERANGE, slope, damage, NAME_Melee, pufftype, true, &t);
|
||||||
|
if (t.linetarget != NULL)
|
||||||
{
|
{
|
||||||
P_ThrustMobj (linetarget, angle, power);
|
if (t.linetarget->flags3&MF3_ISMONSTER || t.linetarget->player)
|
||||||
|
{
|
||||||
|
P_ThrustMobj(t.linetarget, t.hitangle, power);
|
||||||
|
}
|
||||||
|
AdjustPlayerAngle(pmo, &t);
|
||||||
|
useMana++;
|
||||||
|
goto axedone;
|
||||||
}
|
}
|
||||||
AdjustPlayerAngle (pmo, linetarget);
|
|
||||||
useMana++;
|
|
||||||
goto axedone;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
angle = pmo->angle-i*(ANG45/16);
|
|
||||||
slope = P_AimLineAttack (pmo, angle, AXERANGE, &linetarget);
|
|
||||||
if (linetarget)
|
|
||||||
{
|
|
||||||
P_LineAttack (pmo, angle, AXERANGE, slope, damage, NAME_Melee, pufftype, true, &linetarget);
|
|
||||||
if (linetarget != NULL)
|
|
||||||
{
|
|
||||||
if (linetarget->flags3&MF3_ISMONSTER)
|
|
||||||
{
|
|
||||||
P_ThrustMobj (linetarget, angle, power);
|
|
||||||
}
|
|
||||||
AdjustPlayerAngle (pmo, linetarget);
|
|
||||||
useMana++;
|
|
||||||
goto axedone;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -273,7 +258,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_FAxeAttack)
|
||||||
pmo->weaponspecial = 0;
|
pmo->weaponspecial = 0;
|
||||||
|
|
||||||
angle = pmo->angle;
|
angle = pmo->angle;
|
||||||
slope = P_AimLineAttack (pmo, angle, MELEERANGE, &linetarget);
|
slope = P_AimLineAttack (pmo, angle, MELEERANGE);
|
||||||
P_LineAttack (pmo, angle, MELEERANGE, slope, damage, NAME_Melee, pufftype, true);
|
P_LineAttack (pmo, angle, MELEERANGE, slope, damage, NAME_Melee, pufftype, true);
|
||||||
|
|
||||||
axedone:
|
axedone:
|
||||||
|
|
|
@ -17,8 +17,6 @@ const fixed_t HAMMER_RANGE = MELEERANGE+MELEERANGE/2;
|
||||||
|
|
||||||
static FRandom pr_hammeratk ("FHammerAtk");
|
static FRandom pr_hammeratk ("FHammerAtk");
|
||||||
|
|
||||||
extern void AdjustPlayerAngle (AActor *pmo, AActor *linetarget);
|
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
//
|
//
|
||||||
// A_FHammerAttack
|
// A_FHammerAttack
|
||||||
|
@ -35,7 +33,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_FHammerAttack)
|
||||||
int slope;
|
int slope;
|
||||||
int i;
|
int i;
|
||||||
player_t *player;
|
player_t *player;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
PClassActor *hammertime;
|
PClassActor *hammertime;
|
||||||
|
|
||||||
if (NULL == (player = self->player))
|
if (NULL == (player = self->player))
|
||||||
|
@ -50,32 +48,32 @@ DEFINE_ACTION_FUNCTION(AActor, A_FHammerAttack)
|
||||||
for (i = 0; i < 16; i++)
|
for (i = 0; i < 16; i++)
|
||||||
{
|
{
|
||||||
angle = pmo->angle + i*(ANG45/32);
|
angle = pmo->angle + i*(ANG45/32);
|
||||||
slope = P_AimLineAttack (pmo, angle, HAMMER_RANGE, &linetarget, 0, ALF_CHECK3D);
|
slope = P_AimLineAttack (pmo, angle, HAMMER_RANGE, &t, 0, ALF_CHECK3D);
|
||||||
if (linetarget != NULL)
|
if (t.linetarget != NULL)
|
||||||
{
|
{
|
||||||
P_LineAttack(pmo, angle, HAMMER_RANGE, slope, damage, NAME_Melee, hammertime, true, &linetarget);
|
P_LineAttack(pmo, angle, HAMMER_RANGE, slope, damage, NAME_Melee, hammertime, true, &t);
|
||||||
if (linetarget != NULL)
|
if (t.linetarget != NULL)
|
||||||
{
|
{
|
||||||
AdjustPlayerAngle(pmo, linetarget);
|
AdjustPlayerAngle(pmo, &t);
|
||||||
if (linetarget->flags3 & MF3_ISMONSTER || linetarget->player)
|
if (t.linetarget->flags3 & MF3_ISMONSTER || t.linetarget->player)
|
||||||
{
|
{
|
||||||
P_ThrustMobj(linetarget, angle, power);
|
P_ThrustMobj(t.linetarget, t.hitangle, power);
|
||||||
}
|
}
|
||||||
pmo->weaponspecial = false; // Don't throw a hammer
|
pmo->weaponspecial = false; // Don't throw a hammer
|
||||||
goto hammerdone;
|
goto hammerdone;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
angle = pmo->angle-i*(ANG45/32);
|
angle = pmo->angle-i*(ANG45/32);
|
||||||
slope = P_AimLineAttack(pmo, angle, HAMMER_RANGE, &linetarget, 0, ALF_CHECK3D);
|
slope = P_AimLineAttack(pmo, angle, HAMMER_RANGE, &t, 0, ALF_CHECK3D);
|
||||||
if (linetarget != NULL)
|
if (t.linetarget != NULL)
|
||||||
{
|
{
|
||||||
P_LineAttack(pmo, angle, HAMMER_RANGE, slope, damage, NAME_Melee, hammertime, true, &linetarget);
|
P_LineAttack(pmo, angle, HAMMER_RANGE, slope, damage, NAME_Melee, hammertime, true, &t);
|
||||||
if (linetarget != NULL)
|
if (t.linetarget != NULL)
|
||||||
{
|
{
|
||||||
AdjustPlayerAngle(pmo, linetarget);
|
AdjustPlayerAngle(pmo, &t);
|
||||||
if (linetarget->flags3 & MF3_ISMONSTER || linetarget->player)
|
if (t.linetarget->flags3 & MF3_ISMONSTER || t.linetarget->player)
|
||||||
{
|
{
|
||||||
P_ThrustMobj(linetarget, angle, power);
|
P_ThrustMobj(t.linetarget, t.hitangle, power);
|
||||||
}
|
}
|
||||||
pmo->weaponspecial = false; // Don't throw a hammer
|
pmo->weaponspecial = false; // Don't throw a hammer
|
||||||
goto hammerdone;
|
goto hammerdone;
|
||||||
|
@ -84,7 +82,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_FHammerAttack)
|
||||||
}
|
}
|
||||||
// didn't find any targets in meleerange, so set to throw out a hammer
|
// didn't find any targets in meleerange, so set to throw out a hammer
|
||||||
angle = pmo->angle;
|
angle = pmo->angle;
|
||||||
slope = P_AimLineAttack (pmo, angle, HAMMER_RANGE, &linetarget, 0, ALF_CHECK3D);
|
slope = P_AimLineAttack (pmo, angle, HAMMER_RANGE, NULL, 0, ALF_CHECK3D);
|
||||||
if (P_LineAttack (pmo, angle, HAMMER_RANGE, slope, damage, NAME_Melee, hammertime, true) != NULL)
|
if (P_LineAttack (pmo, angle, HAMMER_RANGE, slope, damage, NAME_Melee, hammertime, true) != NULL)
|
||||||
{
|
{
|
||||||
pmo->weaponspecial = false;
|
pmo->weaponspecial = false;
|
||||||
|
|
|
@ -25,12 +25,12 @@ static FRandom pr_fpatk ("FPunchAttack");
|
||||||
|
|
||||||
#define MAX_ANGLE_ADJUST (5*ANGLE_1)
|
#define MAX_ANGLE_ADJUST (5*ANGLE_1)
|
||||||
|
|
||||||
void AdjustPlayerAngle (AActor *pmo, AActor *linetarget)
|
void AdjustPlayerAngle (AActor *pmo, FTranslatedLineTarget *t)
|
||||||
{
|
{
|
||||||
angle_t angle;
|
angle_t angle;
|
||||||
int difference;
|
int difference;
|
||||||
|
|
||||||
angle = pmo->AngleTo(linetarget);
|
angle = t->SourceAngleToTarget();
|
||||||
difference = (int)angle - (int)pmo->angle;
|
difference = (int)angle - (int)pmo->angle;
|
||||||
if (abs(difference) > MAX_ANGLE_ADJUST)
|
if (abs(difference) > MAX_ANGLE_ADJUST)
|
||||||
{
|
{
|
||||||
|
@ -60,11 +60,11 @@ void AdjustPlayerAngle (AActor *pmo, AActor *linetarget)
|
||||||
static bool TryPunch(APlayerPawn *pmo, angle_t angle, int damage, fixed_t power)
|
static bool TryPunch(APlayerPawn *pmo, angle_t angle, int damage, fixed_t power)
|
||||||
{
|
{
|
||||||
PClassActor *pufftype;
|
PClassActor *pufftype;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
int slope;
|
int slope;
|
||||||
|
|
||||||
slope = P_AimLineAttack (pmo, angle, 2*MELEERANGE, &linetarget);
|
slope = P_AimLineAttack (pmo, angle, 2*MELEERANGE, &t);
|
||||||
if (linetarget != NULL)
|
if (t.linetarget != NULL)
|
||||||
{
|
{
|
||||||
if (++pmo->weaponspecial >= 3)
|
if (++pmo->weaponspecial >= 3)
|
||||||
{
|
{
|
||||||
|
@ -76,15 +76,15 @@ static bool TryPunch(APlayerPawn *pmo, angle_t angle, int damage, fixed_t power)
|
||||||
{
|
{
|
||||||
pufftype = PClass::FindActor("PunchPuff");
|
pufftype = PClass::FindActor("PunchPuff");
|
||||||
}
|
}
|
||||||
P_LineAttack (pmo, angle, 2*MELEERANGE, slope, damage, NAME_Melee, pufftype, true, &linetarget);
|
P_LineAttack (pmo, angle, 2*MELEERANGE, slope, damage, NAME_Melee, pufftype, true, &t);
|
||||||
if (linetarget != NULL)
|
if (t.linetarget != NULL)
|
||||||
{
|
{
|
||||||
if (linetarget->player != NULL ||
|
if (t.linetarget->player != NULL ||
|
||||||
(linetarget->Mass != INT_MAX && (linetarget->flags3 & MF3_ISMONSTER)))
|
(t.linetarget->Mass != INT_MAX && (t.linetarget->flags3 & MF3_ISMONSTER)))
|
||||||
{
|
{
|
||||||
P_ThrustMobj (linetarget, angle, power);
|
P_ThrustMobj (t.linetarget, t.hitangle, power);
|
||||||
}
|
}
|
||||||
AdjustPlayerAngle (pmo, linetarget);
|
AdjustPlayerAngle (pmo, &t);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -131,8 +131,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_FPunchAttack)
|
||||||
// didn't find any creatures, so try to strike any walls
|
// didn't find any creatures, so try to strike any walls
|
||||||
pmo->weaponspecial = 0;
|
pmo->weaponspecial = 0;
|
||||||
|
|
||||||
AActor *linetarget;
|
int slope = P_AimLineAttack (pmo, pmo->angle, MELEERANGE);
|
||||||
int slope = P_AimLineAttack (pmo, pmo->angle, MELEERANGE, &linetarget);
|
|
||||||
P_LineAttack (pmo, pmo->angle, MELEERANGE, slope, damage, NAME_Melee, PClass::FindActor("PunchPuff"), true);
|
P_LineAttack (pmo, pmo->angle, MELEERANGE, slope, damage, NAME_Melee, PClass::FindActor("PunchPuff"), true);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
|
|
||||||
#include "d_player.h"
|
#include "d_player.h"
|
||||||
|
|
||||||
|
void AdjustPlayerAngle(AActor *pmo, FTranslatedLineTarget *t);
|
||||||
|
|
||||||
class AHolySpirit : public AActor
|
class AHolySpirit : public AActor
|
||||||
{
|
{
|
||||||
DECLARE_CLASS (AHolySpirit, AActor)
|
DECLARE_CLASS (AHolySpirit, AActor)
|
||||||
|
|
|
@ -350,7 +350,7 @@ void AZBell::Activate (AActor *activator)
|
||||||
{
|
{
|
||||||
if (health > 0)
|
if (health > 0)
|
||||||
{
|
{
|
||||||
P_DamageMobj (this, activator, activator, 10, NAME_Melee); // 'ring' the bell
|
P_DamageMobj (this, activator, activator, 10, NAME_Melee, DMG_THRUSTLESS); // 'ring' the bell
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -60,7 +60,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_FireConePL1)
|
||||||
AActor *mo;
|
AActor *mo;
|
||||||
bool conedone=false;
|
bool conedone=false;
|
||||||
player_t *player;
|
player_t *player;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
if (NULL == (player = self->player))
|
if (NULL == (player = self->player))
|
||||||
{
|
{
|
||||||
|
@ -79,10 +79,10 @@ DEFINE_ACTION_FUNCTION(AActor, A_FireConePL1)
|
||||||
for (i = 0; i < 16; i++)
|
for (i = 0; i < 16; i++)
|
||||||
{
|
{
|
||||||
angle = self->angle+i*(ANG45/16);
|
angle = self->angle+i*(ANG45/16);
|
||||||
slope = P_AimLineAttack (self, angle, MELEERANGE, &linetarget, 0, ALF_CHECK3D);
|
slope = P_AimLineAttack (self, angle, MELEERANGE, &t, 0, ALF_CHECK3D);
|
||||||
if (linetarget)
|
if (t.linetarget)
|
||||||
{
|
{
|
||||||
P_DamageMobj (linetarget, self, self, damage, NAME_Ice);
|
P_DamageMobj (t.linetarget, self, self, damage, NAME_Ice, DMG_USEANGLE, t.SourceAngleToTarget());
|
||||||
conedone = true;
|
conedone = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,17 +97,20 @@ bool AMageStaffFX2::SpecialBlastHandling (AActor *source, fixed_t strength)
|
||||||
//
|
//
|
||||||
//============================================================================
|
//============================================================================
|
||||||
|
|
||||||
void MStaffSpawn (AActor *pmo, angle_t angle)
|
void MStaffSpawn (AActor *pmo, angle_t angle, AActor *alttarget)
|
||||||
{
|
{
|
||||||
AActor *mo;
|
AActor *mo;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
mo = P_SpawnPlayerMissile (pmo, 0, 0, 8*FRACUNIT,
|
mo = P_SpawnPlayerMissile (pmo, 0, 0, 8*FRACUNIT,
|
||||||
RUNTIME_CLASS(AMageStaffFX2), angle, &linetarget);
|
RUNTIME_CLASS(AMageStaffFX2), angle, &t);
|
||||||
if (mo)
|
if (mo)
|
||||||
{
|
{
|
||||||
mo->target = pmo;
|
mo->target = pmo;
|
||||||
mo->tracer = linetarget;
|
if (t.linetarget && !t.unlinked)
|
||||||
|
mo->tracer = t.linetarget;
|
||||||
|
else
|
||||||
|
mo->tracer = alttarget;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -123,7 +126,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_MStaffAttack)
|
||||||
|
|
||||||
angle_t angle;
|
angle_t angle;
|
||||||
player_t *player;
|
player_t *player;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
if (NULL == (player = self->player))
|
if (NULL == (player = self->player))
|
||||||
{
|
{
|
||||||
|
@ -139,18 +142,18 @@ DEFINE_ACTION_FUNCTION(AActor, A_MStaffAttack)
|
||||||
angle = self->angle;
|
angle = self->angle;
|
||||||
|
|
||||||
// [RH] Let's try and actually track what the player aimed at
|
// [RH] Let's try and actually track what the player aimed at
|
||||||
P_AimLineAttack (self, angle, PLAYERMISSILERANGE, &linetarget, ANGLE_1*32);
|
P_AimLineAttack (self, angle, PLAYERMISSILERANGE, &t, ANGLE_1*32);
|
||||||
if (linetarget == NULL)
|
if (t.linetarget == NULL)
|
||||||
{
|
{
|
||||||
BlockCheckLine.x = self->X();
|
BlockCheckLine.x = self->X();
|
||||||
BlockCheckLine.y = self->Y();
|
BlockCheckLine.y = self->Y();
|
||||||
BlockCheckLine.dx = -finesine[angle >> ANGLETOFINESHIFT];
|
BlockCheckLine.dx = -finesine[angle >> ANGLETOFINESHIFT];
|
||||||
BlockCheckLine.dy = -finecosine[angle >> ANGLETOFINESHIFT];
|
BlockCheckLine.dy = -finecosine[angle >> ANGLETOFINESHIFT];
|
||||||
linetarget = P_BlockmapSearch (self, 10, FrontBlockCheck);
|
t.linetarget = P_BlockmapSearch (self, 10, FrontBlockCheck);
|
||||||
}
|
}
|
||||||
MStaffSpawn (self, angle);
|
MStaffSpawn (self, angle, t.linetarget);
|
||||||
MStaffSpawn (self, angle-ANGLE_1*5);
|
MStaffSpawn (self, angle-ANGLE_1*5, t.linetarget);
|
||||||
MStaffSpawn (self, angle+ANGLE_1*5);
|
MStaffSpawn (self, angle+ANGLE_1*5, t.linetarget);
|
||||||
S_Sound (self, CHAN_WEAPON, "MageStaffFire", 1, ATTN_NORM);
|
S_Sound (self, CHAN_WEAPON, "MageStaffFire", 1, ATTN_NORM);
|
||||||
weapon->MStaffCount = 3;
|
weapon->MStaffCount = 3;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -18,8 +18,6 @@ static FRandom pr_snoutattack ("SnoutAttack");
|
||||||
static FRandom pr_pigattack ("PigAttack");
|
static FRandom pr_pigattack ("PigAttack");
|
||||||
static FRandom pr_pigplayerthink ("PigPlayerThink");
|
static FRandom pr_pigplayerthink ("PigPlayerThink");
|
||||||
|
|
||||||
extern void AdjustPlayerAngle (AActor *, AActor *);
|
|
||||||
|
|
||||||
// Pig player ---------------------------------------------------------------
|
// Pig player ---------------------------------------------------------------
|
||||||
|
|
||||||
class APigPlayer : public APlayerPawn
|
class APigPlayer : public APlayerPawn
|
||||||
|
@ -67,7 +65,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_SnoutAttack)
|
||||||
int slope;
|
int slope;
|
||||||
player_t *player;
|
player_t *player;
|
||||||
AActor *puff;
|
AActor *puff;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
if (NULL == (player = self->player))
|
if (NULL == (player = self->player))
|
||||||
{
|
{
|
||||||
|
@ -76,12 +74,12 @@ DEFINE_ACTION_FUNCTION(AActor, A_SnoutAttack)
|
||||||
|
|
||||||
damage = 3+(pr_snoutattack()&3);
|
damage = 3+(pr_snoutattack()&3);
|
||||||
angle = player->mo->angle;
|
angle = player->mo->angle;
|
||||||
slope = P_AimLineAttack(player->mo, angle, MELEERANGE, &linetarget);
|
slope = P_AimLineAttack(player->mo, angle, MELEERANGE);
|
||||||
puff = P_LineAttack(player->mo, angle, MELEERANGE, slope, damage, NAME_Melee, "SnoutPuff", true, &linetarget);
|
puff = P_LineAttack(player->mo, angle, MELEERANGE, slope, damage, NAME_Melee, "SnoutPuff", true, &t);
|
||||||
S_Sound(player->mo, CHAN_VOICE, "PigActive", 1, ATTN_NORM);
|
S_Sound(player->mo, CHAN_VOICE, "PigActive", 1, ATTN_NORM);
|
||||||
if(linetarget)
|
if(t.linetarget)
|
||||||
{
|
{
|
||||||
AdjustPlayerAngle(player->mo, linetarget);
|
AdjustPlayerAngle(player->mo, &t);
|
||||||
if(puff != NULL)
|
if(puff != NULL)
|
||||||
{ // Bit something
|
{ // Bit something
|
||||||
S_Sound(player->mo, CHAN_VOICE, "PigAttack", 1, ATTN_NORM);
|
S_Sound(player->mo, CHAN_VOICE, "PigAttack", 1, ATTN_NORM);
|
||||||
|
|
|
@ -154,6 +154,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_ThrustImpale)
|
||||||
PARAM_ACTION_PROLOGUE;
|
PARAM_ACTION_PROLOGUE;
|
||||||
|
|
||||||
AActor *thing;
|
AActor *thing;
|
||||||
|
// This doesn't need to iterate through portals.
|
||||||
FBlockThingsIterator it(FBoundingBox(self->X(), self->Y(), self->radius));
|
FBlockThingsIterator it(FBoundingBox(self->X(), self->Y(), self->radius));
|
||||||
while ((thing = it.Next()))
|
while ((thing = it.Next()))
|
||||||
{
|
{
|
||||||
|
|
|
@ -100,7 +100,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_JabDagger)
|
||||||
int damage;
|
int damage;
|
||||||
int pitch;
|
int pitch;
|
||||||
int power;
|
int power;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
power = MIN(10, self->player->mo->stamina / 10);
|
power = MIN(10, self->player->mo->stamina / 10);
|
||||||
damage = (pr_jabdagger() % (power + 8)) * (power + 2);
|
damage = (pr_jabdagger() % (power + 8)) * (power + 2);
|
||||||
|
@ -111,18 +111,18 @@ DEFINE_ACTION_FUNCTION(AActor, A_JabDagger)
|
||||||
}
|
}
|
||||||
|
|
||||||
angle = self->angle + (pr_jabdagger.Random2() << 18);
|
angle = self->angle + (pr_jabdagger.Random2() << 18);
|
||||||
pitch = P_AimLineAttack (self, angle, 80*FRACUNIT, &linetarget);
|
pitch = P_AimLineAttack (self, angle, 80*FRACUNIT);
|
||||||
P_LineAttack (self, angle, 80*FRACUNIT, pitch, damage, NAME_Melee, "StrifeSpark", true, &linetarget);
|
P_LineAttack (self, angle, 80*FRACUNIT, pitch, damage, NAME_Melee, "StrifeSpark", true, &t);
|
||||||
|
|
||||||
// turn to face target
|
// turn to face target
|
||||||
if (linetarget)
|
if (t.linetarget)
|
||||||
{
|
{
|
||||||
S_Sound (self, CHAN_WEAPON,
|
S_Sound (self, CHAN_WEAPON,
|
||||||
linetarget->flags & MF_NOBLOOD ? "misc/metalhit" : "misc/meathit",
|
t.linetarget->flags & MF_NOBLOOD ? "misc/metalhit" : "misc/meathit",
|
||||||
1, ATTN_NORM);
|
1, ATTN_NORM);
|
||||||
self->angle = self->AngleTo(linetarget);
|
self->angle = t.SourceAngleToTarget();
|
||||||
self->flags |= MF_JUSTATTACKED;
|
self->flags |= MF_JUSTATTACKED;
|
||||||
P_DaggerAlert (self, linetarget);
|
P_DaggerAlert (self, t.linetarget);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -978,7 +978,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_FireSigil1)
|
||||||
|
|
||||||
AActor *spot;
|
AActor *spot;
|
||||||
player_t *player = self->player;
|
player_t *player = self->player;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
if (player == NULL || player->ReadyWeapon == NULL)
|
if (player == NULL || player->ReadyWeapon == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -986,13 +986,13 @@ DEFINE_ACTION_FUNCTION(AActor, A_FireSigil1)
|
||||||
P_DamageMobj (self, self, NULL, 1*4, 0, DMG_NO_ARMOR);
|
P_DamageMobj (self, self, NULL, 1*4, 0, DMG_NO_ARMOR);
|
||||||
S_Sound (self, CHAN_WEAPON, "weapons/sigilcharge", 1, ATTN_NORM);
|
S_Sound (self, CHAN_WEAPON, "weapons/sigilcharge", 1, ATTN_NORM);
|
||||||
|
|
||||||
P_BulletSlope (self, &linetarget);
|
P_BulletSlope (self, &t, ALF_PORTALRESTRICT);
|
||||||
if (linetarget != NULL)
|
if (t.linetarget != NULL)
|
||||||
{
|
{
|
||||||
spot = Spawn("SpectralLightningSpot", linetarget->X(), linetarget->Y(), linetarget->floorz, ALLOW_REPLACE);
|
spot = Spawn("SpectralLightningSpot", t.linetarget->X(), t.linetarget->Y(), t.linetarget->floorz, ALLOW_REPLACE);
|
||||||
if (spot != NULL)
|
if (spot != NULL)
|
||||||
{
|
{
|
||||||
spot->tracer = linetarget;
|
spot->tracer = t.linetarget;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1080,7 +1080,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_FireSigil4)
|
||||||
|
|
||||||
AActor *spot;
|
AActor *spot;
|
||||||
player_t *player = self->player;
|
player_t *player = self->player;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
if (player == NULL || player->ReadyWeapon == NULL)
|
if (player == NULL || player->ReadyWeapon == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1088,13 +1088,13 @@ DEFINE_ACTION_FUNCTION(AActor, A_FireSigil4)
|
||||||
P_DamageMobj (self, self, NULL, 4*4, 0, DMG_NO_ARMOR);
|
P_DamageMobj (self, self, NULL, 4*4, 0, DMG_NO_ARMOR);
|
||||||
S_Sound (self, CHAN_WEAPON, "weapons/sigilcharge", 1, ATTN_NORM);
|
S_Sound (self, CHAN_WEAPON, "weapons/sigilcharge", 1, ATTN_NORM);
|
||||||
|
|
||||||
P_BulletSlope (self, &linetarget);
|
P_BulletSlope (self, &t, ALF_PORTALRESTRICT);
|
||||||
if (linetarget != NULL)
|
if (t.linetarget != NULL)
|
||||||
{
|
{
|
||||||
spot = P_SpawnPlayerMissile (self, 0,0,0, PClass::FindActor("SpectralLightningBigV1"), self->angle, &linetarget);
|
spot = P_SpawnPlayerMissile (self, 0,0,0, PClass::FindActor("SpectralLightningBigV1"), self->angle, &t, NULL, false, false, ALF_PORTALRESTRICT);
|
||||||
if (spot != NULL)
|
if (spot != NULL)
|
||||||
{
|
{
|
||||||
spot->tracer = linetarget;
|
spot->tracer = t.linetarget;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -60,6 +60,7 @@ static FListMenuDescriptor DefaultListMenuSettings; // contains common settings
|
||||||
static FOptionMenuDescriptor DefaultOptionMenuSettings; // contains common settings for all Option menus
|
static FOptionMenuDescriptor DefaultOptionMenuSettings; // contains common settings for all Option menus
|
||||||
FOptionMenuSettings OptionSettings;
|
FOptionMenuSettings OptionSettings;
|
||||||
FOptionMap OptionValues;
|
FOptionMap OptionValues;
|
||||||
|
bool mustPrintErrors;
|
||||||
|
|
||||||
void I_BuildALDeviceList(FOptionValues *opt);
|
void I_BuildALDeviceList(FOptionValues *opt);
|
||||||
|
|
||||||
|
@ -99,7 +100,7 @@ static FTextureID GetMenuTexture(const char* const name)
|
||||||
{
|
{
|
||||||
const FTextureID texture = TexMan.CheckForTexture(name, FTexture::TEX_MiscPatch);
|
const FTextureID texture = TexMan.CheckForTexture(name, FTexture::TEX_MiscPatch);
|
||||||
|
|
||||||
if (!texture.Exists())
|
if (!texture.Exists() && mustPrintErrors)
|
||||||
{
|
{
|
||||||
Printf("Missing menu texture: \"%s\"\n", name);
|
Printf("Missing menu texture: \"%s\"\n", name);
|
||||||
}
|
}
|
||||||
|
@ -956,10 +957,14 @@ void M_ParseMenuDefs()
|
||||||
|
|
||||||
atterm( DeinitMenus);
|
atterm( DeinitMenus);
|
||||||
DeinitMenus();
|
DeinitMenus();
|
||||||
|
|
||||||
|
int IWADMenu = Wads.CheckNumForName("MENUDEF", ns_global, FWadCollection::IWAD_FILENUM);
|
||||||
|
|
||||||
while ((lump = Wads.FindLump ("MENUDEF", &lastlump)) != -1)
|
while ((lump = Wads.FindLump ("MENUDEF", &lastlump)) != -1)
|
||||||
{
|
{
|
||||||
FScanner sc(lump);
|
FScanner sc(lump);
|
||||||
|
|
||||||
|
mustPrintErrors = lump >= IWADMenu;
|
||||||
sc.SetCMode(true);
|
sc.SetCMode(true);
|
||||||
while (sc.GetString())
|
while (sc.GetString())
|
||||||
{
|
{
|
||||||
|
|
|
@ -4939,7 +4939,9 @@ int DLevelScript::CallFunction(int argCount, int funcIndex, SDWORD *args)
|
||||||
{
|
{
|
||||||
if (actor->player != NULL && actor->player->playerstate == PST_LIVE)
|
if (actor->player != NULL && actor->player->playerstate == PST_LIVE)
|
||||||
{
|
{
|
||||||
P_BulletSlope(actor, &actor);
|
FTranslatedLineTarget t;
|
||||||
|
P_BulletSlope(actor, &t, ALF_PORTALRESTRICT);
|
||||||
|
actor = t.linetarget;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -205,9 +205,9 @@ void P_FindParticleSubsectors ()
|
||||||
}
|
}
|
||||||
for (WORD i = ActiveParticles; i != NO_PARTICLE; i = Particles[i].tnext)
|
for (WORD i = ActiveParticles; i != NO_PARTICLE; i = Particles[i].tnext)
|
||||||
{
|
{
|
||||||
subsector_t *ssec = R_PointInSubsector (Particles[i].x, Particles[i].y);
|
// Try to reuse the subsector from the last portal check, if still valid.
|
||||||
int ssnum = int(ssec-subsectors);
|
if (Particles[i].subsector == NULL) Particles[i].subsector = R_PointInSubsector(Particles[i].x, Particles[i].y);
|
||||||
Particles[i].subsector = ssec;
|
int ssnum = int(Particles[i].subsector - subsectors);
|
||||||
Particles[i].snext = ParticlesInSubsec[ssnum];
|
Particles[i].snext = ParticlesInSubsec[ssnum];
|
||||||
ParticlesInSubsec[ssnum] = i;
|
ParticlesInSubsec[ssnum] = i;
|
||||||
}
|
}
|
||||||
|
@ -278,12 +278,37 @@ void P_ThinkParticles ()
|
||||||
InactiveParticles = (int)(particle - Particles);
|
InactiveParticles = (int)(particle - Particles);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
particle->x += particle->velx;
|
|
||||||
particle->y += particle->vely;
|
fixedvec2 newxy = P_GetOffsetPosition(particle->x, particle->y, particle->velx, particle->vely);
|
||||||
|
particle->x = newxy.x;
|
||||||
|
particle->y = newxy.y;
|
||||||
|
//particle->x += particle->velx;
|
||||||
|
//particle->y += particle->vely;
|
||||||
particle->z += particle->velz;
|
particle->z += particle->velz;
|
||||||
particle->velx += particle->accx;
|
particle->velx += particle->accx;
|
||||||
particle->vely += particle->accy;
|
particle->vely += particle->accy;
|
||||||
particle->velz += particle->accz;
|
particle->velz += particle->accz;
|
||||||
|
particle->subsector = R_PointInSubsector(particle->x, particle->y);
|
||||||
|
if (!particle->subsector->sector->PortalBlocksMovement(sector_t::ceiling))
|
||||||
|
{
|
||||||
|
AActor *skybox = particle->subsector->sector->SkyBoxes[sector_t::ceiling];
|
||||||
|
if (particle->z > skybox->threshold)
|
||||||
|
{
|
||||||
|
particle->x += skybox->scaleX;
|
||||||
|
particle->y += skybox->scaleY;
|
||||||
|
particle->subsector = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (!particle->subsector->sector->PortalBlocksMovement(sector_t::floor))
|
||||||
|
{
|
||||||
|
AActor *skybox = particle->subsector->sector->SkyBoxes[sector_t::floor];
|
||||||
|
if (particle->z < skybox->threshold)
|
||||||
|
{
|
||||||
|
particle->x += skybox->scaleX;
|
||||||
|
particle->y += skybox->scaleY;
|
||||||
|
particle->subsector = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
prev = particle;
|
prev = particle;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -150,9 +150,40 @@ void P_RecursiveSound (sector_t *sec, AActor *soundtarget, bool splash, int soun
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool checkabove = !sec->PortalBlocksSound(sector_t::ceiling);
|
||||||
|
bool checkbelow = !sec->PortalBlocksSound(sector_t::floor);
|
||||||
|
|
||||||
for (i = 0; i < sec->linecount; i++)
|
for (i = 0; i < sec->linecount; i++)
|
||||||
{
|
{
|
||||||
check = sec->lines[i];
|
check = sec->lines[i];
|
||||||
|
|
||||||
|
// I wish there was a better method to do this than randomly looking through the portal at a few places...
|
||||||
|
if (checkabove)
|
||||||
|
{
|
||||||
|
sector_t *upper =
|
||||||
|
P_PointInSector(check->v1->x + check->dx / 2 + sec->SkyBoxes[sector_t::ceiling]->scaleX,
|
||||||
|
check->v1->y + check->dy / 2 + sec->SkyBoxes[sector_t::ceiling]->scaleY);
|
||||||
|
|
||||||
|
P_RecursiveSound(upper, soundtarget, splash, soundblocks, emitter, maxdist);
|
||||||
|
}
|
||||||
|
if (checkbelow)
|
||||||
|
{
|
||||||
|
sector_t *lower =
|
||||||
|
P_PointInSector(check->v1->x + check->dx / 2 + sec->SkyBoxes[sector_t::floor]->scaleX,
|
||||||
|
check->v1->y + check->dy / 2 + sec->SkyBoxes[sector_t::floor]->scaleY);
|
||||||
|
|
||||||
|
P_RecursiveSound(lower, soundtarget, splash, soundblocks, emitter, maxdist);
|
||||||
|
}
|
||||||
|
FLinePortal *port = check->getPortal();
|
||||||
|
if (port && (port->mFlags & PORTF_SOUNDTRAVERSE))
|
||||||
|
{
|
||||||
|
if (port->mDestination)
|
||||||
|
{
|
||||||
|
P_RecursiveSound(port->mDestination->frontsector, soundtarget, splash, soundblocks, emitter, maxdist);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (check->sidedef[1] == NULL ||
|
if (check->sidedef[1] == NULL ||
|
||||||
!(check->flags & ML_TWOSIDED))
|
!(check->flags & ML_TWOSIDED))
|
||||||
{
|
{
|
||||||
|
@ -394,16 +425,16 @@ bool AActor::SuggestMissileAttack (fixed_t dist)
|
||||||
|
|
||||||
bool P_HitFriend(AActor * self)
|
bool P_HitFriend(AActor * self)
|
||||||
{
|
{
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
if (self->flags&MF_FRIENDLY && self->target != NULL)
|
if (self->flags&MF_FRIENDLY && self->target != NULL)
|
||||||
{
|
{
|
||||||
angle_t angle = self->AngleTo(self->target);
|
angle_t angle = self->AngleTo(self->target);
|
||||||
fixed_t dist = self->AproxDistance (self->target);
|
fixed_t dist = self->AproxDistance (self->target);
|
||||||
P_AimLineAttack (self, angle, dist, &linetarget, 0, true);
|
P_AimLineAttack (self, angle, dist, &t, 0, true);
|
||||||
if (linetarget != NULL && linetarget != self->target)
|
if (t.linetarget != NULL && t.linetarget != self->target)
|
||||||
{
|
{
|
||||||
return self->IsFriend (linetarget);
|
return self->IsFriend (t.linetarget);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -2573,40 +2604,48 @@ static bool P_CheckForResurrection(AActor *self, bool usevilestates)
|
||||||
fixedvec2 viletry = self->Vec2Offset(
|
fixedvec2 viletry = self->Vec2Offset(
|
||||||
FixedMul (absSpeed, xspeed[self->movedir]),
|
FixedMul (absSpeed, xspeed[self->movedir]),
|
||||||
FixedMul (absSpeed, yspeed[self->movedir]), true);
|
FixedMul (absSpeed, yspeed[self->movedir]), true);
|
||||||
AActor *corpsehit;
|
|
||||||
|
|
||||||
FBlockThingsIterator it(FBoundingBox(viletry.x, viletry.y, 32*FRACUNIT));
|
FPortalGroupArray check(FPortalGroupArray::PGA_Full3d);
|
||||||
while ((corpsehit = it.Next()))
|
|
||||||
|
FMultiBlockThingsIterator it(check, viletry.x, viletry.y, self->Z() - 64* FRACUNIT, self->Top() + 64 * FRACUNIT, 32 * FRACUNIT);
|
||||||
|
FMultiBlockThingsIterator::CheckResult cres;
|
||||||
|
while (it.Next(&cres))
|
||||||
{
|
{
|
||||||
|
AActor *corpsehit = cres.thing;
|
||||||
FState *raisestate = corpsehit->GetRaiseState();
|
FState *raisestate = corpsehit->GetRaiseState();
|
||||||
if (raisestate != NULL)
|
if (raisestate != NULL)
|
||||||
{
|
{
|
||||||
// use the current actor's radius instead of the Arch Vile's default.
|
// use the current actor's radius instead of the Arch Vile's default.
|
||||||
fixed_t maxdist = corpsehit->GetDefault()->radius + self->radius;
|
fixed_t maxdist = corpsehit->GetDefault()->radius + self->radius;
|
||||||
|
|
||||||
if (abs(corpsehit->X() - viletry.x) > maxdist ||
|
if (abs(cres.position.x - viletry.x) > maxdist ||
|
||||||
abs(corpsehit->Y() - viletry.y) > maxdist)
|
abs(cres.position.y - viletry.y) > maxdist)
|
||||||
continue; // not actually touching
|
continue; // not actually touching
|
||||||
// Let's check if there are floors in between the archvile and its target
|
// Let's check if there are floors in between the archvile and its target
|
||||||
|
|
||||||
// if in a different section of the map, only consider possible if a line of sight exists.
|
if (corpsehit->Sector->PortalGroup != self->Sector->PortalGroup)
|
||||||
if (corpsehit->Sector->PortalGroup != self->Sector->PortalGroup && !P_CheckSight(self, corpsehit))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
sector_t *vilesec = self->Sector;
|
|
||||||
sector_t *corpsec = corpsehit->Sector;
|
|
||||||
// We only need to test if at least one of the sectors has a 3D floor.
|
|
||||||
sector_t *testsec = vilesec->e->XFloor.ffloors.Size() ? vilesec :
|
|
||||||
(vilesec != corpsec && corpsec->e->XFloor.ffloors.Size()) ? corpsec : NULL;
|
|
||||||
if (testsec)
|
|
||||||
{
|
{
|
||||||
fixed_t zdist1, zdist2;
|
// if in a different section of the map, only consider possible if a line of sight exists.
|
||||||
if (P_Find3DFloor(testsec, corpsehit->Pos(), false, true, zdist1)
|
if (!P_CheckSight(self, corpsehit))
|
||||||
!= P_Find3DFloor(testsec, self->Pos(), false, true, zdist2))
|
continue;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sector_t *vilesec = self->Sector;
|
||||||
|
sector_t *corpsec = corpsehit->Sector;
|
||||||
|
// We only need to test if at least one of the sectors has a 3D floor.
|
||||||
|
sector_t *testsec = vilesec->e->XFloor.ffloors.Size() ? vilesec :
|
||||||
|
(vilesec != corpsec && corpsec->e->XFloor.ffloors.Size()) ? corpsec : NULL;
|
||||||
|
if (testsec)
|
||||||
{
|
{
|
||||||
// Not on same floor
|
fixed_t zdist1, zdist2;
|
||||||
if (vilesec == corpsec || abs(zdist1 - self->Z()) > self->height)
|
if (P_Find3DFloor(testsec, corpsehit->Pos(), false, true, zdist1)
|
||||||
continue;
|
!= P_Find3DFloor(testsec, self->Pos(), false, true, zdist2))
|
||||||
|
{
|
||||||
|
// Not on same floor
|
||||||
|
if (vilesec == corpsec || abs(zdist1 - self->Z()) > self->height)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2951,7 +2990,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_MonsterRail)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
fixed_t saved_pitch = self->pitch;
|
fixed_t saved_pitch = self->pitch;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
// [RH] Andy Baker's stealth monsters
|
// [RH] Andy Baker's stealth monsters
|
||||||
if (self->flags & MF_STEALTH)
|
if (self->flags & MF_STEALTH)
|
||||||
|
@ -2963,8 +3002,8 @@ DEFINE_ACTION_FUNCTION(AActor, A_MonsterRail)
|
||||||
|
|
||||||
self->angle = self->AngleTo(self->target);
|
self->angle = self->AngleTo(self->target);
|
||||||
|
|
||||||
self->pitch = P_AimLineAttack (self, self->angle, MISSILERANGE, &linetarget, ANGLE_1*60, 0, self->target);
|
self->pitch = P_AimLineAttack (self, self->angle, MISSILERANGE, &t, ANGLE_1*60, 0, self->target);
|
||||||
if (linetarget == NULL)
|
if (t.linetarget == NULL)
|
||||||
{
|
{
|
||||||
// We probably won't hit the target, but aim at it anyway so we don't look stupid.
|
// We probably won't hit the target, but aim at it anyway so we don't look stupid.
|
||||||
fixedvec2 pos = self->Vec2To(self->target);
|
fixedvec2 pos = self->Vec2To(self->target);
|
||||||
|
|
|
@ -927,7 +927,7 @@ static inline bool isFakePain(AActor *target, AActor *inflictor, int damage)
|
||||||
|
|
||||||
// Returns the amount of damage actually inflicted upon the target, or -1 if
|
// Returns the amount of damage actually inflicted upon the target, or -1 if
|
||||||
// the damage was cancelled.
|
// the damage was cancelled.
|
||||||
int P_DamageMobj (AActor *target, AActor *inflictor, AActor *source, int damage, FName mod, int flags)
|
int P_DamageMobj (AActor *target, AActor *inflictor, AActor *source, int damage, FName mod, int flags, angle_t angle)
|
||||||
{
|
{
|
||||||
unsigned ang;
|
unsigned ang;
|
||||||
player_t *player = NULL;
|
player_t *player = NULL;
|
||||||
|
@ -1151,11 +1151,15 @@ int P_DamageMobj (AActor *target, AActor *inflictor, AActor *source, int damage,
|
||||||
{
|
{
|
||||||
AActor *origin = (source && (flags & DMG_INFLICTOR_IS_PUFF))? source : inflictor;
|
AActor *origin = (source && (flags & DMG_INFLICTOR_IS_PUFF))? source : inflictor;
|
||||||
|
|
||||||
// If the origin and target are in exactly the same spot, choose a random direction.
|
if (flags & DMG_USEANGLE)
|
||||||
// (Most likely cause is from telefragging somebody during spawning because they
|
|
||||||
// haven't moved from their spawn spot at all.)
|
|
||||||
if (origin->X() == target->X() && origin->Y() == target->Y())
|
|
||||||
{
|
{
|
||||||
|
ang = angle;
|
||||||
|
}
|
||||||
|
else if (origin->X() == target->X() && origin->Y() == target->Y())
|
||||||
|
{
|
||||||
|
// If the origin and target are in exactly the same spot, choose a random direction.
|
||||||
|
// (Most likely cause is from telefragging somebody during spawning because they
|
||||||
|
// haven't moved from their spawn spot at all.)
|
||||||
ang = pr_kickbackdir.GenRand32();
|
ang = pr_kickbackdir.GenRand32();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -37,6 +37,7 @@ struct sector_t;
|
||||||
struct msecnode_t;
|
struct msecnode_t;
|
||||||
struct secplane_t;
|
struct secplane_t;
|
||||||
struct FCheckPosition;
|
struct FCheckPosition;
|
||||||
|
struct FTranslatedLineTarget;
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
@ -173,7 +174,7 @@ AActor *P_SpawnMissileZAimed (AActor *source, fixed_t z, AActor *dest, PClassAct
|
||||||
AActor *P_SpawnPlayerMissile (AActor* source, PClassActor *type);
|
AActor *P_SpawnPlayerMissile (AActor* source, PClassActor *type);
|
||||||
AActor *P_SpawnPlayerMissile (AActor *source, PClassActor *type, angle_t angle);
|
AActor *P_SpawnPlayerMissile (AActor *source, PClassActor *type, angle_t angle);
|
||||||
AActor *P_SpawnPlayerMissile (AActor *source, fixed_t x, fixed_t y, fixed_t z, PClassActor *type, angle_t angle,
|
AActor *P_SpawnPlayerMissile (AActor *source, fixed_t x, fixed_t y, fixed_t z, PClassActor *type, angle_t angle,
|
||||||
AActor **pLineTarget = NULL, AActor **MissileActor = NULL, bool nofreeaim = false, bool noautoaim = false);
|
FTranslatedLineTarget *pLineTarget = NULL, AActor **MissileActor = NULL, bool nofreeaim = false, bool noautoaim = false, int aimflags = 0);
|
||||||
|
|
||||||
void P_CheckFakeFloorTriggers (AActor *mo, fixed_t oldz, bool oldz_has_viewheight=false);
|
void P_CheckFakeFloorTriggers (AActor *mo, fixed_t oldz, bool oldz_has_viewheight=false);
|
||||||
|
|
||||||
|
@ -304,7 +305,7 @@ void P_FindFloorCeiling (AActor *actor, int flags=0);
|
||||||
|
|
||||||
bool P_ChangeSector (sector_t* sector, int crunch, int amt, int floorOrCeil, bool isreset);
|
bool P_ChangeSector (sector_t* sector, int crunch, int amt, int floorOrCeil, bool isreset);
|
||||||
|
|
||||||
fixed_t P_AimLineAttack (AActor *t1, angle_t angle, fixed_t distance, AActor **pLineTarget = NULL, fixed_t vrange=0, int flags = 0, AActor *target=NULL, AActor *friender=NULL);
|
fixed_t P_AimLineAttack (AActor *t1, angle_t angle, fixed_t distance, FTranslatedLineTarget *pLineTarget = NULL, fixed_t vrange=0, int flags = 0, AActor *target=NULL, AActor *friender=NULL);
|
||||||
|
|
||||||
enum // P_AimLineAttack flags
|
enum // P_AimLineAttack flags
|
||||||
{
|
{
|
||||||
|
@ -313,6 +314,7 @@ enum // P_AimLineAttack flags
|
||||||
ALF_CHECKNONSHOOTABLE = 4,
|
ALF_CHECKNONSHOOTABLE = 4,
|
||||||
ALF_CHECKCONVERSATION = 8,
|
ALF_CHECKCONVERSATION = 8,
|
||||||
ALF_NOFRIENDS = 16,
|
ALF_NOFRIENDS = 16,
|
||||||
|
ALF_PORTALRESTRICT = 32, // only work through portals with a global offset (to be used for stuff that cannot remember the calculated FTranslatedLineTarget info)
|
||||||
};
|
};
|
||||||
|
|
||||||
enum // P_LineAttack flags
|
enum // P_LineAttack flags
|
||||||
|
@ -322,11 +324,12 @@ enum // P_LineAttack flags
|
||||||
LAF_NOIMPACTDECAL = 4
|
LAF_NOIMPACTDECAL = 4
|
||||||
};
|
};
|
||||||
|
|
||||||
AActor *P_LineAttack (AActor *t1, angle_t angle, fixed_t distance, int pitch, int damage, FName damageType, PClassActor *pufftype, int flags = 0, AActor **victim = NULL, int *actualdamage = NULL);
|
AActor *P_LineAttack (AActor *t1, angle_t angle, fixed_t distance, int pitch, int damage, FName damageType, PClassActor *pufftype, int flags = 0, FTranslatedLineTarget *victim = NULL, int *actualdamage = NULL);
|
||||||
AActor *P_LineAttack (AActor *t1, angle_t angle, fixed_t distance, int pitch, int damage, FName damageType, FName pufftype, int flags = 0, AActor **victim = NULL, int *actualdamage = NULL);
|
AActor *P_LineAttack (AActor *t1, angle_t angle, fixed_t distance, int pitch, int damage, FName damageType, FName pufftype, int flags = 0, FTranslatedLineTarget *victim = NULL, int *actualdamage = NULL);
|
||||||
void P_TraceBleed (int damage, fixed_t x, fixed_t y, fixed_t z, AActor *target, angle_t angle, int pitch);
|
void P_TraceBleed (int damage, fixed_t x, fixed_t y, fixed_t z, AActor *target, angle_t angle, int pitch);
|
||||||
void P_TraceBleed (int damage, AActor *target, angle_t angle, int pitch);
|
void P_TraceBleed (int damage, AActor *target, angle_t angle, int pitch);
|
||||||
void P_TraceBleed (int damage, AActor *target, AActor *missile); // missile version
|
void P_TraceBleed (int damage, AActor *target, AActor *missile); // missile version
|
||||||
|
void P_TraceBleed(int damage, FTranslatedLineTarget *t, AActor *puff); // hitscan version
|
||||||
void P_TraceBleed (int damage, AActor *target); // random direction version
|
void P_TraceBleed (int damage, AActor *target); // random direction version
|
||||||
bool P_HitFloor (AActor *thing);
|
bool P_HitFloor (AActor *thing);
|
||||||
bool P_HitWater (AActor *thing, sector_t *sec, fixed_t splashx = FIXED_MIN, fixed_t splashy = FIXED_MIN, fixed_t splashz=FIXED_MIN, bool checkabove = false, bool alert = true, bool force = false);
|
bool P_HitWater (AActor *thing, sector_t *sec, fixed_t splashx = FIXED_MIN, fixed_t splashy = FIXED_MIN, fixed_t splashz=FIXED_MIN, bool checkabove = false, bool alert = true, bool force = false);
|
||||||
|
@ -382,7 +385,7 @@ extern BYTE* rejectmatrix; // for fast sight rejection
|
||||||
// P_INTER
|
// P_INTER
|
||||||
//
|
//
|
||||||
void P_TouchSpecialThing (AActor *special, AActor *toucher);
|
void P_TouchSpecialThing (AActor *special, AActor *toucher);
|
||||||
int P_DamageMobj (AActor *target, AActor *inflictor, AActor *source, int damage, FName mod, int flags=0);
|
int P_DamageMobj (AActor *target, AActor *inflictor, AActor *source, int damage, FName mod, int flags=0, angle_t angle = 0);
|
||||||
void P_PoisonMobj (AActor *target, AActor *inflictor, AActor *source, int damage, int duration, int period, FName type);
|
void P_PoisonMobj (AActor *target, AActor *inflictor, AActor *source, int damage, int duration, int period, FName type);
|
||||||
bool P_GiveBody (AActor *actor, int num, int max=0);
|
bool P_GiveBody (AActor *actor, int num, int max=0);
|
||||||
bool P_PoisonPlayer (player_t *player, AActor *poisoner, AActor *source, int poison);
|
bool P_PoisonPlayer (player_t *player, AActor *poisoner, AActor *source, int poison);
|
||||||
|
@ -399,6 +402,7 @@ enum EDmgFlags
|
||||||
DMG_FOILINVUL = 64,
|
DMG_FOILINVUL = 64,
|
||||||
DMG_FOILBUDDHA = 128,
|
DMG_FOILBUDDHA = 128,
|
||||||
DMG_NO_PROTECT = 256,
|
DMG_NO_PROTECT = 256,
|
||||||
|
DMG_USEANGLE = 512,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
158
src/p_map.cpp
158
src/p_map.cpp
|
@ -162,11 +162,22 @@ static inline fixed_t GetCoefficientClosestPointInLine24(line_t *ld, fixedvec2 p
|
||||||
|
|
||||||
static inline fixedvec2 FindRefPoint(line_t *ld, fixedvec2 pos)
|
static inline fixedvec2 FindRefPoint(line_t *ld, fixedvec2 pos)
|
||||||
{
|
{
|
||||||
if (!((((ld->frontsector->floorplane.a | ld->frontsector->floorplane.b) |
|
// If there's any chance of slopes getting in the way we need to get a proper refpoint, otherwise we can save the work.
|
||||||
(ld->backsector->floorplane.a | ld->backsector->floorplane.b) |
|
// Slopes can get in here when:
|
||||||
(ld->frontsector->ceilingplane.a | ld->frontsector->ceilingplane.b) |
|
// - the actual sector planes are sloped
|
||||||
(ld->backsector->ceilingplane.a | ld->backsector->ceilingplane.b)) == 0)
|
// - there's 3D floors in this sector
|
||||||
&& ld->backsector->e->XFloor.ffloors.Size() == 0 && ld->frontsector->e->XFloor.ffloors.Size() == 0))
|
// - there's a crossable floor portal (for which the dropoff needs to be calculated within P_LineOpening, and the lower sector can easily have slopes)
|
||||||
|
if (
|
||||||
|
(((ld->frontsector->floorplane.a | ld->frontsector->floorplane.b) |
|
||||||
|
(ld->backsector->floorplane.a | ld->backsector->floorplane.b) |
|
||||||
|
(ld->frontsector->ceilingplane.a | ld->frontsector->ceilingplane.b) |
|
||||||
|
(ld->backsector->ceilingplane.a | ld->backsector->ceilingplane.b)) != 0)
|
||||||
|
||
|
||||||
|
ld->backsector->e->XFloor.ffloors.Size() != 0
|
||||||
|
||
|
||||||
|
ld->frontsector->e->XFloor.ffloors.Size() != 0
|
||||||
|
||
|
||||||
|
!ld->frontsector->PortalBlocksMovement(sector_t::floor))
|
||||||
{
|
{
|
||||||
fixed_t r = GetCoefficientClosestPointInLine24(ld, pos);
|
fixed_t r = GetCoefficientClosestPointInLine24(ld, pos);
|
||||||
if (r <= 0)
|
if (r <= 0)
|
||||||
|
@ -809,8 +820,8 @@ bool PIT_CheckLine(FMultiBlockLinesIterator &mit, FMultiBlockLinesIterator::Chec
|
||||||
if (!ld->backsector)
|
if (!ld->backsector)
|
||||||
{ // One sided line
|
{ // One sided line
|
||||||
|
|
||||||
// Needed for polyobject portals. Having two-sided lines just for portals on otherwise solid polyobjects is a messy subject.
|
// Needed for polyobject portals.
|
||||||
if ((cres.line->sidedef[0]->Flags & WALLF_POLYOBJ) && cres.line->isLinePortal())
|
if (cres.line->isLinePortal())
|
||||||
{
|
{
|
||||||
spechit_t spec;
|
spechit_t spec;
|
||||||
spec.line = ld;
|
spec.line = ld;
|
||||||
|
@ -921,7 +932,7 @@ bool PIT_CheckLine(FMultiBlockLinesIterator &mit, FMultiBlockLinesIterator::Chec
|
||||||
|
|
||||||
// If the floor planes on both sides match we should recalculate open.bottom at the actual position we are checking
|
// If the floor planes on both sides match we should recalculate open.bottom at the actual position we are checking
|
||||||
// This is to avoid bumpy movement when crossing a linedef with the same slope on both sides.
|
// This is to avoid bumpy movement when crossing a linedef with the same slope on both sides.
|
||||||
if (open.frontfloorplane == open.backfloorplane)
|
if (open.frontfloorplane == open.backfloorplane && open.bottom > FIXED_MIN)
|
||||||
{
|
{
|
||||||
open.bottom = open.frontfloorplane.ZatPoint(cres.position.x, cres.position.y);
|
open.bottom = open.frontfloorplane.ZatPoint(cres.position.x, cres.position.y);
|
||||||
}
|
}
|
||||||
|
@ -972,7 +983,9 @@ bool PIT_CheckLine(FMultiBlockLinesIterator &mit, FMultiBlockLinesIterator::Chec
|
||||||
}
|
}
|
||||||
|
|
||||||
if (open.lowfloor < tm.dropoffz)
|
if (open.lowfloor < tm.dropoffz)
|
||||||
|
{
|
||||||
tm.dropoffz = open.lowfloor;
|
tm.dropoffz = open.lowfloor;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if contacted a special line, add it to the list
|
// if contacted a special line, add it to the list
|
||||||
|
@ -3774,7 +3787,7 @@ void aim_t::AimTraverse(fixed_t startx, fixed_t starty, fixed_t endx, fixed_t en
|
||||||
//
|
//
|
||||||
//============================================================================
|
//============================================================================
|
||||||
|
|
||||||
fixed_t P_AimLineAttack(AActor *t1, angle_t angle, fixed_t distance, AActor **pLineTarget, fixed_t vrange,
|
fixed_t P_AimLineAttack(AActor *t1, angle_t angle, fixed_t distance, FTranslatedLineTarget *pLineTarget, fixed_t vrange,
|
||||||
int flags, AActor *target, AActor *friender)
|
int flags, AActor *target, AActor *friender)
|
||||||
{
|
{
|
||||||
fixed_t x2;
|
fixed_t x2;
|
||||||
|
@ -3868,7 +3881,18 @@ fixed_t P_AimLineAttack(AActor *t1, angle_t angle, fixed_t distance, AActor **pL
|
||||||
}
|
}
|
||||||
if (pLineTarget)
|
if (pLineTarget)
|
||||||
{
|
{
|
||||||
*pLineTarget = aim.linetarget;
|
if (aim.linetarget)
|
||||||
|
{
|
||||||
|
pLineTarget->linetarget = aim.linetarget;
|
||||||
|
pLineTarget->hitangle = angle;
|
||||||
|
pLineTarget->targetPosFromSrc = aim.linetarget->Pos();
|
||||||
|
pLineTarget->targetAngleFromSrc = aim.linetarget->angle;
|
||||||
|
pLineTarget->sourcePosFromTarget = t1->Pos();
|
||||||
|
pLineTarget->sourceAngleFromTarget = t1->angle;
|
||||||
|
pLineTarget->unlinked = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
memset(pLineTarget, 0, sizeof(*pLineTarget));
|
||||||
}
|
}
|
||||||
return aim.linetarget ? aim.aimpitch : t1->pitch;
|
return aim.linetarget ? aim.aimpitch : t1->pitch;
|
||||||
}
|
}
|
||||||
|
@ -3923,7 +3947,7 @@ static ETraceStatus CheckForActor(FTraceResults &res, void *userdata)
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
||||||
AActor *P_LineAttack(AActor *t1, angle_t angle, fixed_t distance,
|
AActor *P_LineAttack(AActor *t1, angle_t angle, fixed_t distance,
|
||||||
int pitch, int damage, FName damageType, PClassActor *pufftype, int flags, AActor **victim, int *actualdamage)
|
int pitch, int damage, FName damageType, PClassActor *pufftype, int flags, FTranslatedLineTarget*victim, int *actualdamage)
|
||||||
{
|
{
|
||||||
fixed_t vx, vy, vz, shootz;
|
fixed_t vx, vy, vz, shootz;
|
||||||
FTraceResults trace;
|
FTraceResults trace;
|
||||||
|
@ -3940,7 +3964,7 @@ AActor *P_LineAttack(AActor *t1, angle_t angle, fixed_t distance,
|
||||||
|
|
||||||
if (victim != NULL)
|
if (victim != NULL)
|
||||||
{
|
{
|
||||||
*victim = NULL;
|
memset(victim, 0, sizeof(*victim));
|
||||||
}
|
}
|
||||||
if (actualdamage != NULL)
|
if (actualdamage != NULL)
|
||||||
{
|
{
|
||||||
|
@ -4123,6 +4147,7 @@ AActor *P_LineAttack(AActor *t1, angle_t angle, fixed_t distance,
|
||||||
puff = P_SpawnPuff(t1, pufftype, hitx, hity, hitz, angle - ANG180, 2, puffFlags | PF_HITTHING | PF_TEMPORARY);
|
puff = P_SpawnPuff(t1, pufftype, hitx, hity, hitz, angle - ANG180, 2, puffFlags | PF_HITTHING | PF_TEMPORARY);
|
||||||
killPuff = true;
|
killPuff = true;
|
||||||
}
|
}
|
||||||
|
#pragma message("damage angle")
|
||||||
newdam = P_DamageMobj(trace.Actor, puff ? puff : t1, t1, damage, damageType, dmgflags);
|
newdam = P_DamageMobj(trace.Actor, puff ? puff : t1, t1, damage, damageType, dmgflags);
|
||||||
if (actualdamage != NULL)
|
if (actualdamage != NULL)
|
||||||
{
|
{
|
||||||
|
@ -4162,7 +4187,13 @@ AActor *P_LineAttack(AActor *t1, angle_t angle, fixed_t distance,
|
||||||
}
|
}
|
||||||
if (victim != NULL)
|
if (victim != NULL)
|
||||||
{
|
{
|
||||||
*victim = trace.Actor;
|
victim->linetarget = trace.Actor;
|
||||||
|
victim->hitangle = angle;
|
||||||
|
victim->targetPosFromSrc = trace.Actor->Pos();
|
||||||
|
victim->targetAngleFromSrc = trace.Actor->angle;
|
||||||
|
victim->sourcePosFromTarget = t1->Pos();
|
||||||
|
victim->sourceAngleFromTarget = t1->angle;
|
||||||
|
victim->unlinked = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (trace.Crossed3DWater || trace.CrossedWater)
|
if (trace.Crossed3DWater || trace.CrossedWater)
|
||||||
|
@ -4185,22 +4216,22 @@ AActor *P_LineAttack(AActor *t1, angle_t angle, fixed_t distance,
|
||||||
}
|
}
|
||||||
|
|
||||||
AActor *P_LineAttack(AActor *t1, angle_t angle, fixed_t distance,
|
AActor *P_LineAttack(AActor *t1, angle_t angle, fixed_t distance,
|
||||||
int pitch, int damage, FName damageType, FName pufftype, int flags, AActor **victim, int *actualdamage)
|
int pitch, int damage, FName damageType, FName pufftype, int flags, FTranslatedLineTarget *victim, int *actualdamage)
|
||||||
{
|
{
|
||||||
PClassActor *type = PClass::FindActor(pufftype);
|
PClassActor *type = PClass::FindActor(pufftype);
|
||||||
if (victim != NULL)
|
|
||||||
{
|
|
||||||
*victim = NULL;
|
|
||||||
}
|
|
||||||
if (type == NULL)
|
if (type == NULL)
|
||||||
{
|
{
|
||||||
|
if (victim != NULL)
|
||||||
|
{
|
||||||
|
memset(victim, 0, sizeof(*victim));
|
||||||
|
}
|
||||||
Printf("Attempt to spawn unknown actor type '%s'\n", pufftype.GetChars());
|
Printf("Attempt to spawn unknown actor type '%s'\n", pufftype.GetChars());
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return P_LineAttack(t1, angle, distance, pitch, damage, damageType, type, flags, victim, actualdamage);
|
return P_LineAttack(t1, angle, distance, pitch, damage, damageType, type, flags, victim, actualdamage);
|
||||||
}
|
}
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
@ -4382,6 +4413,24 @@ void P_TraceBleed(int damage, AActor *target, AActor *missile)
|
||||||
//
|
//
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
||||||
|
void P_TraceBleed(int damage, FTranslatedLineTarget *t, AActor *puff)
|
||||||
|
{
|
||||||
|
if (t->linetarget == NULL || puff->flags3 & MF3_BLOODLESSIMPACT)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
fixed_t randpitch = (pr_tracebleed() - 128) << 16;
|
||||||
|
P_TraceBleed(damage, t->linetarget->X(), t->linetarget->Y(), t->linetarget->Z() + t->linetarget->height / 2,
|
||||||
|
t->linetarget, t->SourceAngleToTarget(), 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
void P_TraceBleed(int damage, AActor *target)
|
void P_TraceBleed(int damage, AActor *target)
|
||||||
{
|
{
|
||||||
if (target != NULL)
|
if (target != NULL)
|
||||||
|
@ -4560,6 +4609,7 @@ void P_RailAttack(AActor *source, int damage, int offset_xy, fixed_t offset_z, i
|
||||||
if (puffDefaults->flags3 & MF3_FOILINVUL) dmgFlagPass |= DMG_FOILINVUL;
|
if (puffDefaults->flags3 & MF3_FOILINVUL) dmgFlagPass |= DMG_FOILINVUL;
|
||||||
if (puffDefaults->flags7 & MF7_FOILBUDDHA) dmgFlagPass |= DMG_FOILBUDDHA;
|
if (puffDefaults->flags7 & MF7_FOILBUDDHA) dmgFlagPass |= DMG_FOILBUDDHA;
|
||||||
}
|
}
|
||||||
|
#pragma message("damage angle")
|
||||||
int newdam = P_DamageMobj(hitactor, thepuff ? thepuff : source, source, damage, damagetype, dmgFlagPass);
|
int newdam = P_DamageMobj(hitactor, thepuff ? thepuff : source, source, damage, damagetype, dmgFlagPass);
|
||||||
|
|
||||||
if (bleed)
|
if (bleed)
|
||||||
|
@ -4677,38 +4727,26 @@ void P_AimCamera(AActor *t1, fixed_t &CameraX, fixed_t &CameraY, fixed_t &Camera
|
||||||
|
|
||||||
bool P_TalkFacing(AActor *player)
|
bool P_TalkFacing(AActor *player)
|
||||||
{
|
{
|
||||||
AActor *linetarget;
|
static const int angleofs[] = { 0, ANGLE_90 >> 4, - ANGLE_90 >> 4 };
|
||||||
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
P_AimLineAttack(player, player->angle, TALKRANGE, &linetarget, ANGLE_1 * 35, ALF_FORCENOSMART | ALF_CHECKCONVERSATION);
|
for (int angle : angleofs)
|
||||||
if (linetarget == NULL)
|
|
||||||
{
|
{
|
||||||
P_AimLineAttack(player, player->angle + (ANGLE_90 >> 4), TALKRANGE, &linetarget, ANGLE_1 * 35, ALF_FORCENOSMART | ALF_CHECKCONVERSATION);
|
P_AimLineAttack(player, player->angle + angle, TALKRANGE, &t, ANGLE_1 * 35, ALF_FORCENOSMART | ALF_CHECKCONVERSATION | ALF_PORTALRESTRICT);
|
||||||
if (linetarget == NULL)
|
if (t.linetarget != NULL)
|
||||||
{
|
{
|
||||||
P_AimLineAttack(player, player->angle - (ANGLE_90 >> 4), TALKRANGE, &linetarget, ANGLE_1 * 35, ALF_FORCENOSMART | ALF_CHECKCONVERSATION);
|
if (t.linetarget->health > 0 && // Dead things can't talk.
|
||||||
if (linetarget == NULL)
|
t.linetarget->flags4 & MF4_INCOMBAT && // Fighting things don't talk either.
|
||||||
|
t.linetarget->Conversation != NULL)
|
||||||
{
|
{
|
||||||
return false;
|
// Give the NPC a chance to play a brief animation
|
||||||
|
t.linetarget->ConversationAnimation(0);
|
||||||
|
P_StartConversation(t.linetarget, player, true, true);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Dead things can't talk.
|
|
||||||
if (linetarget->health <= 0)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
// Fighting things don't talk either.
|
|
||||||
if (linetarget->flags4 & MF4_INCOMBAT)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (linetarget->Conversation != NULL)
|
|
||||||
{
|
|
||||||
// Give the NPC a chance to play a brief animation
|
|
||||||
linetarget->ConversationAnimation(0);
|
|
||||||
P_StartConversation(linetarget, player, true, true);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4718,10 +4756,11 @@ bool P_TalkFacing(AActor *player)
|
||||||
//
|
//
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
||||||
bool P_UseTraverse(AActor *usething, fixed_t endx, fixed_t endy, bool &foundline)
|
bool P_UseTraverse(AActor *usething, fixed_t startx, fixed_t starty, fixed_t endx, fixed_t endy, bool &foundline)
|
||||||
{
|
{
|
||||||
FPathTraverse it(usething->X(), usething->Y(), endx, endy, PT_ADDLINES | PT_ADDTHINGS);
|
FPathTraverse it(startx, starty, endx, endy, PT_ADDLINES | PT_ADDTHINGS);
|
||||||
intercept_t *in;
|
intercept_t *in;
|
||||||
|
fixedvec3 xpos = { startx, starty, usething->Z() };
|
||||||
|
|
||||||
while ((in = it.Next()))
|
while ((in = it.Next()))
|
||||||
{
|
{
|
||||||
|
@ -4741,6 +4780,10 @@ bool P_UseTraverse(AActor *usething, fixed_t endx, fixed_t endy, bool &foundline
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (it.PortalRelocate(in, PT_ADDLINES | PT_ADDTHINGS, &xpos))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
FLineOpening open;
|
FLineOpening open;
|
||||||
if (in->d.line->special == 0 || !(in->d.line->activation & (SPAC_Use | SPAC_UseThrough | SPAC_UseBack)))
|
if (in->d.line->special == 0 || !(in->d.line->activation & (SPAC_Use | SPAC_UseThrough | SPAC_UseBack)))
|
||||||
|
@ -4769,7 +4812,7 @@ bool P_UseTraverse(AActor *usething, fixed_t endx, fixed_t endy, bool &foundline
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
sec = P_PointOnLineSide(usething->X(), usething->Y(), in->d.line) == 0 ?
|
sec = P_PointOnLineSide(xpos.x, xpos.y, in->d.line) == 0 ?
|
||||||
in->d.line->frontsector : in->d.line->backsector;
|
in->d.line->frontsector : in->d.line->backsector;
|
||||||
|
|
||||||
if (sec != NULL && sec->SecActTarget &&
|
if (sec != NULL && sec->SecActTarget &&
|
||||||
|
@ -4788,7 +4831,7 @@ bool P_UseTraverse(AActor *usething, fixed_t endx, fixed_t endy, bool &foundline
|
||||||
continue; // not a special line, but keep checking
|
continue; // not a special line, but keep checking
|
||||||
}
|
}
|
||||||
|
|
||||||
if (P_PointOnLineSide(usething->X(), usething->Y(), in->d.line) == 1)
|
if (P_PointOnLineSide(xpos.x, xpos.y, in->d.line) == 1)
|
||||||
{
|
{
|
||||||
if (!(in->d.line->activation & SPAC_UseBack))
|
if (!(in->d.line->activation & SPAC_UseBack))
|
||||||
{
|
{
|
||||||
|
@ -4798,7 +4841,7 @@ bool P_UseTraverse(AActor *usething, fixed_t endx, fixed_t endy, bool &foundline
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
P_ActivateLine(in->d.line, usething, 1, SPAC_UseBack);
|
P_ActivateLine(in->d.line, usething, 1, SPAC_UseBack, &xpos);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4809,7 +4852,7 @@ bool P_UseTraverse(AActor *usething, fixed_t endx, fixed_t endy, bool &foundline
|
||||||
goto blocked; // Line cannot be used from front side so treat it as a non-trigger line
|
goto blocked; // Line cannot be used from front side so treat it as a non-trigger line
|
||||||
}
|
}
|
||||||
|
|
||||||
P_ActivateLine(in->d.line, usething, 0, SPAC_Use);
|
P_ActivateLine(in->d.line, usething, 0, SPAC_Use, &xpos);
|
||||||
|
|
||||||
//WAS can't use more than one special line in a row
|
//WAS can't use more than one special line in a row
|
||||||
//jff 3/21/98 NOW multiple use allowed with enabling line flag
|
//jff 3/21/98 NOW multiple use allowed with enabling line flag
|
||||||
|
@ -4846,9 +4889,9 @@ bool P_UseTraverse(AActor *usething, fixed_t endx, fixed_t endy, bool &foundline
|
||||||
//
|
//
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
||||||
bool P_NoWayTraverse(AActor *usething, fixed_t endx, fixed_t endy)
|
bool P_NoWayTraverse(AActor *usething, fixed_t startx, fixed_t starty, fixed_t endx, fixed_t endy)
|
||||||
{
|
{
|
||||||
FPathTraverse it(usething->X(), usething->Y(), endx, endy, PT_ADDLINES);
|
FPathTraverse it(startx, starty, endx, endy, PT_ADDLINES);
|
||||||
intercept_t *in;
|
intercept_t *in;
|
||||||
|
|
||||||
while ((in = it.Next()))
|
while ((in = it.Next()))
|
||||||
|
@ -4859,6 +4902,7 @@ bool P_NoWayTraverse(AActor *usething, fixed_t endx, fixed_t endy)
|
||||||
// [GrafZahl] de-obfuscated. Was I the only one who was unable to make sense out of
|
// [GrafZahl] de-obfuscated. Was I the only one who was unable to make sense out of
|
||||||
// this convoluted mess?
|
// this convoluted mess?
|
||||||
if (ld->special) continue;
|
if (ld->special) continue;
|
||||||
|
if (ld->isLinePortal()) return false;
|
||||||
if (ld->flags&(ML_BLOCKING | ML_BLOCKEVERYTHING | ML_BLOCK_PLAYERS)) return true;
|
if (ld->flags&(ML_BLOCKING | ML_BLOCKEVERYTHING | ML_BLOCK_PLAYERS)) return true;
|
||||||
P_LineOpening(open, NULL, ld, it.Trace().x + FixedMul(it.Trace().dx, in->frac),
|
P_LineOpening(open, NULL, ld, it.Trace().x + FixedMul(it.Trace().dx, in->frac),
|
||||||
it.Trace().y + FixedMul(it.Trace().dy, in->frac));
|
it.Trace().y + FixedMul(it.Trace().dy, in->frac));
|
||||||
|
@ -4877,12 +4921,16 @@ bool P_NoWayTraverse(AActor *usething, fixed_t endx, fixed_t endy)
|
||||||
//
|
//
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
||||||
|
CVAR(Int, userange, 0, 0);
|
||||||
|
|
||||||
void P_UseLines(player_t *player)
|
void P_UseLines(player_t *player)
|
||||||
{
|
{
|
||||||
bool foundline = false;
|
bool foundline = false;
|
||||||
|
|
||||||
|
// If the player is transitioning a portal, use the group that is at its vertical center.
|
||||||
|
fixedvec2 start = player->mo->GetPortalTransition(player->mo->height / 2);
|
||||||
// [NS] Now queries the Player's UseRange.
|
// [NS] Now queries the Player's UseRange.
|
||||||
fixedvec2 end = player->mo->Vec2Angle(player->mo->UseRange, player->mo->angle, true);
|
fixedvec2 end = start + Vec2Angle(userange > 0? fixed_t(userange<<FRACBITS) : player->mo->UseRange, player->mo->angle);
|
||||||
|
|
||||||
// old code:
|
// old code:
|
||||||
//
|
//
|
||||||
|
@ -4890,13 +4938,13 @@ void P_UseLines(player_t *player)
|
||||||
//
|
//
|
||||||
// This added test makes the "oof" sound work on 2s lines -- killough:
|
// This added test makes the "oof" sound work on 2s lines -- killough:
|
||||||
|
|
||||||
if (!P_UseTraverse(player->mo, end.x, end.y, foundline))
|
if (!P_UseTraverse(player->mo, start.x, start.y, end.x, end.y, foundline))
|
||||||
{ // [RH] Give sector a chance to eat the use
|
{ // [RH] Give sector a chance to eat the use
|
||||||
sector_t *sec = player->mo->Sector;
|
sector_t *sec = player->mo->Sector;
|
||||||
int spac = SECSPAC_Use;
|
int spac = SECSPAC_Use;
|
||||||
if (foundline) spac |= SECSPAC_UseWall;
|
if (foundline) spac |= SECSPAC_UseWall;
|
||||||
if ((!sec->SecActTarget || !sec->SecActTarget->TriggerAction(player->mo, spac)) &&
|
if ((!sec->SecActTarget || !sec->SecActTarget->TriggerAction(player->mo, spac)) &&
|
||||||
P_NoWayTraverse(player->mo, end.x, end.y))
|
P_NoWayTraverse(player->mo, start.x, start.y, end.x, end.y))
|
||||||
{
|
{
|
||||||
S_Sound(player->mo, CHAN_VOICE, "*usefail", 1, ATTN_IDLE);
|
S_Sound(player->mo, CHAN_VOICE, "*usefail", 1, ATTN_IDLE);
|
||||||
}
|
}
|
||||||
|
|
100
src/p_maputl.cpp
100
src/p_maputl.cpp
|
@ -150,7 +150,7 @@ void P_LineOpening (FLineOpening &open, AActor *actor, const line_t *linedef,
|
||||||
if (!(flags & FFCF_ONLY3DFLOORS))
|
if (!(flags & FFCF_ONLY3DFLOORS))
|
||||||
{
|
{
|
||||||
sector_t *front, *back;
|
sector_t *front, *back;
|
||||||
fixed_t fc, ff, bc, bf;
|
fixed_t fc = 0, ff = 0, bc = 0, bf = 0;
|
||||||
|
|
||||||
if (linedef->backsector == NULL)
|
if (linedef->backsector == NULL)
|
||||||
{
|
{
|
||||||
|
@ -162,29 +162,20 @@ void P_LineOpening (FLineOpening &open, AActor *actor, const line_t *linedef,
|
||||||
front = linedef->frontsector;
|
front = linedef->frontsector;
|
||||||
back = linedef->backsector;
|
back = linedef->backsector;
|
||||||
|
|
||||||
if (!(flags & FFCF_NOPORTALS) && !linedef->frontsector->PortalBlocksMovement(sector_t::ceiling) &&
|
if (!(flags & FFCF_NOPORTALS))
|
||||||
linedef->backsector->SkyBoxes[sector_t::ceiling] &&
|
|
||||||
linedef->frontsector->SkyBoxes[sector_t::ceiling]->Sector->PortalGroup == linedef->backsector->SkyBoxes[sector_t::ceiling]->Sector->PortalGroup)
|
|
||||||
{
|
{
|
||||||
fc = bc = FIXED_MAX;
|
if (!linedef->frontsector->PortalBlocksMovement(sector_t::ceiling)) fc = FIXED_MAX;
|
||||||
}
|
if (!linedef->backsector->PortalBlocksMovement(sector_t::ceiling)) bc = FIXED_MAX;
|
||||||
else
|
if (!linedef->frontsector->PortalBlocksMovement(sector_t::floor)) ff = FIXED_MIN;
|
||||||
{
|
if (!linedef->backsector->PortalBlocksMovement(sector_t::floor)) bf = FIXED_MIN;
|
||||||
fc = front->ceilingplane.ZatPoint(x, y);
|
|
||||||
bc = back->ceilingplane.ZatPoint(x, y);
|
|
||||||
}
|
|
||||||
if (!(flags & FFCF_NOPORTALS) && !linedef->frontsector->PortalBlocksMovement(sector_t::floor) &&
|
|
||||||
linedef->backsector->SkyBoxes[sector_t::floor] &&
|
|
||||||
linedef->frontsector->SkyBoxes[sector_t::floor]->Sector->PortalGroup == linedef->backsector->SkyBoxes[sector_t::floor]->Sector->PortalGroup)
|
|
||||||
{
|
|
||||||
ff = bf = FIXED_MIN;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ff = front->floorplane.ZatPoint(x, y);
|
|
||||||
bf = back->floorplane.ZatPoint(x, y);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (fc == 0) fc = front->ceilingplane.ZatPoint(x, y);
|
||||||
|
if (bc == 0) bc = back->ceilingplane.ZatPoint(x, y);
|
||||||
|
if (ff == 0) ff = front->floorplane.ZatPoint(x, y);
|
||||||
|
if (bf == 0) bf = back->floorplane.ZatPoint(x, y);
|
||||||
|
|
||||||
|
|
||||||
/*Printf ("]]]]]] %d %d\n", ff, bf);*/
|
/*Printf ("]]]]]] %d %d\n", ff, bf);*/
|
||||||
|
|
||||||
open.topsec = fc < bc? front : back;
|
open.topsec = fc < bc? front : back;
|
||||||
|
@ -198,8 +189,7 @@ void P_LineOpening (FLineOpening &open, AActor *actor, const line_t *linedef,
|
||||||
// that imprecisions in the plane equation mean there is a
|
// that imprecisions in the plane equation mean there is a
|
||||||
// good chance that even if a slope and non-slope look like
|
// good chance that even if a slope and non-slope look like
|
||||||
// they line up, they won't be perfectly aligned.
|
// they line up, they won't be perfectly aligned.
|
||||||
if (refx == FIXED_MIN ||
|
if (ff == FIXED_MIN || bf == FIXED_MIN || (refx == FIXED_MIN || abs (ff-bf) > 256))
|
||||||
abs (ff-bf) > 256)
|
|
||||||
{
|
{
|
||||||
usefront = (ff > bf);
|
usefront = (ff > bf);
|
||||||
}
|
}
|
||||||
|
@ -219,7 +209,13 @@ void P_LineOpening (FLineOpening &open, AActor *actor, const line_t *linedef,
|
||||||
open.bottomsec = front;
|
open.bottomsec = front;
|
||||||
open.floorpic = front->GetTexture(sector_t::floor);
|
open.floorpic = front->GetTexture(sector_t::floor);
|
||||||
open.floorterrain = front->GetTerrain(sector_t::floor);
|
open.floorterrain = front->GetTerrain(sector_t::floor);
|
||||||
open.lowfloor = bf;
|
if (bf != FIXED_MIN) open.lowfloor = bf;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// We must check through the portal for the actual dropoff.
|
||||||
|
// If there's no lines in the lower sections we'd never get a usable value otherwise.
|
||||||
|
open.lowfloor = back->NextLowestFloorAt(refx, refy, back->SkyBoxes[sector_t::floor]->threshold-1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -227,7 +223,13 @@ void P_LineOpening (FLineOpening &open, AActor *actor, const line_t *linedef,
|
||||||
open.bottomsec = back;
|
open.bottomsec = back;
|
||||||
open.floorpic = back->GetTexture(sector_t::floor);
|
open.floorpic = back->GetTexture(sector_t::floor);
|
||||||
open.floorterrain = back->GetTerrain(sector_t::floor);
|
open.floorterrain = back->GetTerrain(sector_t::floor);
|
||||||
open.lowfloor = ff;
|
if (ff != FIXED_MIN) open.lowfloor = ff;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// We must check through the portal for the actual dropoff.
|
||||||
|
// If there's no lines in the lower sections we'd never get a usable value otherwise.
|
||||||
|
open.lowfloor = front->NextLowestFloorAt(refx, refy, front->SkyBoxes[sector_t::floor]->threshold - 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
open.frontfloorplane = front->floorplane;
|
open.frontfloorplane = front->floorplane;
|
||||||
open.backfloorplane = back->floorplane;
|
open.backfloorplane = back->floorplane;
|
||||||
|
@ -1201,7 +1203,7 @@ void FPathTraverse::AddLineIntercepts(int bx, int by)
|
||||||
P_MakeDivline (ld, &dl);
|
P_MakeDivline (ld, &dl);
|
||||||
frac = P_InterceptVector (&trace, &dl);
|
frac = P_InterceptVector (&trace, &dl);
|
||||||
|
|
||||||
if (frac < 0 || frac > FRACUNIT) continue; // behind source or beyond end point
|
if (frac < startfrac || frac > FRACUNIT) continue; // behind source or beyond end point
|
||||||
|
|
||||||
intercept_t newintercept;
|
intercept_t newintercept;
|
||||||
|
|
||||||
|
@ -1282,7 +1284,7 @@ void FPathTraverse::AddThingIntercepts (int bx, int by, FBlockThingsIterator &it
|
||||||
{
|
{
|
||||||
// It's a hit
|
// It's a hit
|
||||||
fixed_t frac = P_InterceptVector (&trace, &line);
|
fixed_t frac = P_InterceptVector (&trace, &line);
|
||||||
if (frac < 0)
|
if (frac < startfrac)
|
||||||
{ // behind source
|
{ // behind source
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -1350,7 +1352,7 @@ void FPathTraverse::AddThingIntercepts (int bx, int by, FBlockThingsIterator &it
|
||||||
|
|
||||||
frac = P_InterceptVector (&trace, &dl);
|
frac = P_InterceptVector (&trace, &dl);
|
||||||
|
|
||||||
if (frac >= 0)
|
if (frac >= startfrac)
|
||||||
{
|
{
|
||||||
intercept_t newintercept;
|
intercept_t newintercept;
|
||||||
newintercept.frac = frac;
|
newintercept.frac = frac;
|
||||||
|
@ -1398,7 +1400,7 @@ intercept_t *FPathTraverse::Next()
|
||||||
//
|
//
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
void FPathTraverse::init (fixed_t x1, fixed_t y1, fixed_t x2, fixed_t y2, int flags)
|
void FPathTraverse::init (fixed_t x1, fixed_t y1, fixed_t x2, fixed_t y2, int flags, fixed_t startfrac)
|
||||||
{
|
{
|
||||||
fixed_t xt1, xt2;
|
fixed_t xt1, xt2;
|
||||||
fixed_t yt1, yt2;
|
fixed_t yt1, yt2;
|
||||||
|
@ -1422,6 +1424,7 @@ void FPathTraverse::init (fixed_t x1, fixed_t y1, fixed_t x2, fixed_t y2, int fl
|
||||||
|
|
||||||
validcount++;
|
validcount++;
|
||||||
intercept_index = intercepts.Size();
|
intercept_index = intercepts.Size();
|
||||||
|
this->startfrac = startfrac;
|
||||||
|
|
||||||
if ( ((x1-bmaporgx)&(MAPBLOCKSIZE-1)) == 0)
|
if ( ((x1-bmaporgx)&(MAPBLOCKSIZE-1)) == 0)
|
||||||
x1 += FRACUNIT; // don't side exactly on a line
|
x1 += FRACUNIT; // don't side exactly on a line
|
||||||
|
@ -1442,8 +1445,8 @@ void FPathTraverse::init (fixed_t x1, fixed_t y1, fixed_t x2, fixed_t y2, int fl
|
||||||
trace.dy = y2 - y1;
|
trace.dy = y2 - y1;
|
||||||
}
|
}
|
||||||
|
|
||||||
_x1 = (long long)x1 - bmaporgx;
|
_x1 = (long long)x1 + FixedMul(trace.dx, startfrac) - bmaporgx;
|
||||||
_y1 = (long long)y1 - bmaporgy;
|
_y1 = (long long)y1 + FixedMul(trace.dy, startfrac) - bmaporgy;
|
||||||
x1 -= bmaporgx;
|
x1 -= bmaporgx;
|
||||||
y1 -= bmaporgy;
|
y1 -= bmaporgy;
|
||||||
xt1 = int(_x1 >> MAPBLOCKSHIFT);
|
xt1 = int(_x1 >> MAPBLOCKSHIFT);
|
||||||
|
@ -1606,6 +1609,41 @@ void FPathTraverse::init (fixed_t x1, fixed_t y1, fixed_t x2, fixed_t y2, int fl
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//===========================================================================
|
||||||
|
//
|
||||||
|
// Relocates the trace when going through a line portal
|
||||||
|
//
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
bool FPathTraverse::PortalRelocate(intercept_t *in, int flags, fixedvec3 *optpos)
|
||||||
|
{
|
||||||
|
if (!in->isaline || !in->d.line->isLinePortal()) return false;
|
||||||
|
if (P_PointOnLineSidePrecise(trace.x, trace.y, in->d.line) == 1) return false;
|
||||||
|
|
||||||
|
fixed_t hitx = trace.x;
|
||||||
|
fixed_t hity = trace.y;
|
||||||
|
fixed_t endx = trace.x + trace.dx;
|
||||||
|
fixed_t endy = trace.y + trace.dy;
|
||||||
|
line_t *out = in->d.line->getPortalDestination();
|
||||||
|
|
||||||
|
P_TranslatePortalXY(in->d.line, out, hitx, hity);
|
||||||
|
P_TranslatePortalXY(in->d.line, out, endx, endy);
|
||||||
|
if (optpos != NULL)
|
||||||
|
{
|
||||||
|
P_TranslatePortalXY(in->d.line, out, optpos->x, optpos->y);
|
||||||
|
P_TranslatePortalZ(in->d.line, out, optpos->z);
|
||||||
|
}
|
||||||
|
intercepts.Resize(intercept_index);
|
||||||
|
init(hitx, hity, endx, endy, flags, in->frac);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//===========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
FPathTraverse::~FPathTraverse()
|
FPathTraverse::~FPathTraverse()
|
||||||
{
|
{
|
||||||
intercepts.Resize(intercept_index);
|
intercepts.Resize(intercept_index);
|
||||||
|
|
|
@ -129,6 +129,14 @@ struct polyblock_t;
|
||||||
|
|
||||||
struct FPortalGroupArray
|
struct FPortalGroupArray
|
||||||
{
|
{
|
||||||
|
// Controls how groups are connected
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
PGA_NoSectorPortals,// only collect line portals
|
||||||
|
PGA_CheckPosition, // only collects sector portals at the actual position
|
||||||
|
PGA_Full3d, // Goes up and down sector portals at any linedef within the bounding box (this is a lot slower and should only be done if really needed.)
|
||||||
|
};
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
LOWER = 0x4000,
|
LOWER = 0x4000,
|
||||||
|
@ -141,8 +149,9 @@ struct FPortalGroupArray
|
||||||
MAX_STATIC = 4
|
MAX_STATIC = 4
|
||||||
};
|
};
|
||||||
|
|
||||||
FPortalGroupArray()
|
FPortalGroupArray(int collectionmethod = PGA_CheckPosition)
|
||||||
{
|
{
|
||||||
|
method = collectionmethod;
|
||||||
varused = 0;
|
varused = 0;
|
||||||
inited = false;
|
inited = false;
|
||||||
}
|
}
|
||||||
|
@ -171,6 +180,7 @@ struct FPortalGroupArray
|
||||||
}
|
}
|
||||||
|
|
||||||
bool inited;
|
bool inited;
|
||||||
|
int method;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
WORD entry[MAX_STATIC];
|
WORD entry[MAX_STATIC];
|
||||||
|
@ -329,6 +339,7 @@ protected:
|
||||||
static TArray<intercept_t> intercepts;
|
static TArray<intercept_t> intercepts;
|
||||||
|
|
||||||
divline_t trace;
|
divline_t trace;
|
||||||
|
fixed_t startfrac;
|
||||||
unsigned int intercept_index;
|
unsigned int intercept_index;
|
||||||
unsigned int intercept_count;
|
unsigned int intercept_count;
|
||||||
unsigned int count;
|
unsigned int count;
|
||||||
|
@ -344,7 +355,8 @@ public:
|
||||||
{
|
{
|
||||||
init(x1, y1, x2, y2, flags);
|
init(x1, y1, x2, y2, flags);
|
||||||
}
|
}
|
||||||
void init(fixed_t x1, fixed_t y1, fixed_t x2, fixed_t y2, int flags);
|
void init(fixed_t x1, fixed_t y1, fixed_t x2, fixed_t y2, int flags, fixed_t startfrac = 0);
|
||||||
|
bool PortalRelocate(intercept_t *in, int flags, fixedvec3 *optpos = NULL);
|
||||||
virtual ~FPathTraverse();
|
virtual ~FPathTraverse();
|
||||||
const divline_t &Trace() const { return trace; }
|
const divline_t &Trace() const { return trace; }
|
||||||
};
|
};
|
||||||
|
@ -384,5 +396,4 @@ fixed_t P_InterceptVector (const divline_t *v2, const divline_t *v1);
|
||||||
#define PT_COMPATIBLE 4
|
#define PT_COMPATIBLE 4
|
||||||
#define PT_DELTA 8 // x2,y2 is passed as a delta, not as an endpoint
|
#define PT_DELTA 8 // x2,y2 is passed as a delta, not as an endpoint
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
|
@ -3286,6 +3286,42 @@ void AActor::SetRoll(angle_t r, bool interpolate)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
fixedvec3 AActor::GetPortalTransition(fixed_t byoffset)
|
||||||
|
{
|
||||||
|
bool moved = false;
|
||||||
|
sector_t *sec = Sector;
|
||||||
|
fixed_t testz = Z() + byoffset;
|
||||||
|
fixedvec3 pos = Pos();
|
||||||
|
|
||||||
|
while (!sec->PortalBlocksMovement(sector_t::ceiling))
|
||||||
|
{
|
||||||
|
AActor *port = sec->SkyBoxes[sector_t::ceiling];
|
||||||
|
if (testz > port->threshold)
|
||||||
|
{
|
||||||
|
pos = PosRelative(port->Sector);
|
||||||
|
sec = P_PointInSector(pos.x, pos.y);
|
||||||
|
moved = true;
|
||||||
|
}
|
||||||
|
else break;
|
||||||
|
}
|
||||||
|
if (!moved)
|
||||||
|
{
|
||||||
|
while (!sec->PortalBlocksMovement(sector_t::floor))
|
||||||
|
{
|
||||||
|
AActor *port = sec->SkyBoxes[sector_t::floor];
|
||||||
|
if (testz <= port->threshold)
|
||||||
|
{
|
||||||
|
pos = PosRelative(port->Sector);
|
||||||
|
sec = P_PointInSector(pos.x, pos.y);
|
||||||
|
}
|
||||||
|
else break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return pos;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void AActor::CheckPortalTransition(bool islinked)
|
void AActor::CheckPortalTransition(bool islinked)
|
||||||
{
|
{
|
||||||
bool moved = false;
|
bool moved = false;
|
||||||
|
@ -6128,13 +6164,13 @@ AActor *P_SpawnPlayerMissile (AActor *source, PClassActor *type, angle_t angle)
|
||||||
}
|
}
|
||||||
|
|
||||||
AActor *P_SpawnPlayerMissile (AActor *source, fixed_t x, fixed_t y, fixed_t z,
|
AActor *P_SpawnPlayerMissile (AActor *source, fixed_t x, fixed_t y, fixed_t z,
|
||||||
PClassActor *type, angle_t angle, AActor **pLineTarget, AActor **pMissileActor,
|
PClassActor *type, angle_t angle, FTranslatedLineTarget *pLineTarget, AActor **pMissileActor,
|
||||||
bool nofreeaim, bool noautoaim)
|
bool nofreeaim, bool noautoaim, int aimflags)
|
||||||
{
|
{
|
||||||
static const int angdiff[3] = { -(1<<26), 1<<26, 0 };
|
static const int angdiff[3] = { -(1<<26), 1<<26, 0 };
|
||||||
angle_t an = angle;
|
angle_t an = angle;
|
||||||
angle_t pitch;
|
angle_t pitch;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget scratch;
|
||||||
AActor *defaultobject = GetDefaultByType(type);
|
AActor *defaultobject = GetDefaultByType(type);
|
||||||
int vrange = nofreeaim ? ANGLE_1*35 : 0;
|
int vrange = nofreeaim ? ANGLE_1*35 : 0;
|
||||||
|
|
||||||
|
@ -6142,12 +6178,13 @@ AActor *P_SpawnPlayerMissile (AActor *source, fixed_t x, fixed_t y, fixed_t z,
|
||||||
{
|
{
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
if (!pLineTarget) pLineTarget = &scratch;
|
||||||
if (source->player && source->player->ReadyWeapon && ((source->player->ReadyWeapon->WeaponFlags & WIF_NOAUTOAIM) || noautoaim))
|
if (source->player && source->player->ReadyWeapon && ((source->player->ReadyWeapon->WeaponFlags & WIF_NOAUTOAIM) || noautoaim))
|
||||||
{
|
{
|
||||||
// Keep exactly the same angle and pitch as the player's own aim
|
// Keep exactly the same angle and pitch as the player's own aim
|
||||||
an = angle;
|
an = angle;
|
||||||
pitch = source->pitch;
|
pitch = source->pitch;
|
||||||
linetarget = NULL;
|
pLineTarget->linetarget = NULL;
|
||||||
}
|
}
|
||||||
else // see which target is to be aimed at
|
else // see which target is to be aimed at
|
||||||
{
|
{
|
||||||
|
@ -6160,7 +6197,7 @@ AActor *P_SpawnPlayerMissile (AActor *source, fixed_t x, fixed_t y, fixed_t z,
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
an = angle + angdiff[i];
|
an = angle + angdiff[i];
|
||||||
pitch = P_AimLineAttack (source, an, linetargetrange, &linetarget, vrange);
|
pitch = P_AimLineAttack (source, an, linetargetrange, pLineTarget, vrange, aimflags);
|
||||||
|
|
||||||
if (source->player != NULL &&
|
if (source->player != NULL &&
|
||||||
!nofreeaim &&
|
!nofreeaim &&
|
||||||
|
@ -6169,9 +6206,9 @@ AActor *P_SpawnPlayerMissile (AActor *source, fixed_t x, fixed_t y, fixed_t z,
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} while (linetarget == NULL && --i >= 0);
|
} while (pLineTarget->linetarget == NULL && --i >= 0);
|
||||||
|
|
||||||
if (linetarget == NULL)
|
if (pLineTarget->linetarget == NULL)
|
||||||
{
|
{
|
||||||
an = angle;
|
an = angle;
|
||||||
if (nofreeaim || !level.IsFreelookAllowed())
|
if (nofreeaim || !level.IsFreelookAllowed())
|
||||||
|
@ -6180,7 +6217,6 @@ AActor *P_SpawnPlayerMissile (AActor *source, fixed_t x, fixed_t y, fixed_t z,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (pLineTarget) *pLineTarget = linetarget;
|
|
||||||
|
|
||||||
if (z != ONFLOORZ && z != ONCEILINGZ)
|
if (z != ONFLOORZ && z != ONCEILINGZ)
|
||||||
{
|
{
|
||||||
|
|
|
@ -919,20 +919,21 @@ DEFINE_ACTION_FUNCTION_PARAMS(AInventory, A_GunFlash)
|
||||||
// the height of the intended target
|
// the height of the intended target
|
||||||
//
|
//
|
||||||
|
|
||||||
angle_t P_BulletSlope (AActor *mo, AActor **pLineTarget)
|
angle_t P_BulletSlope (AActor *mo, FTranslatedLineTarget *pLineTarget, int aimflags)
|
||||||
{
|
{
|
||||||
static const int angdiff[3] = { -(1<<26), 1<<26, 0 };
|
static const int angdiff[3] = { -(1<<26), 1<<26, 0 };
|
||||||
int i;
|
int i;
|
||||||
angle_t an;
|
angle_t an;
|
||||||
angle_t pitch;
|
angle_t pitch;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget scratch;
|
||||||
|
|
||||||
|
if (pLineTarget == NULL) pLineTarget = &scratch;
|
||||||
// see which target is to be aimed at
|
// see which target is to be aimed at
|
||||||
i = 2;
|
i = 2;
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
an = mo->angle + angdiff[i];
|
an = mo->angle + angdiff[i];
|
||||||
pitch = P_AimLineAttack (mo, an, 16*64*FRACUNIT, &linetarget);
|
pitch = P_AimLineAttack (mo, an, 16*64*FRACUNIT, pLineTarget, 0, aimflags);
|
||||||
|
|
||||||
if (mo->player != NULL &&
|
if (mo->player != NULL &&
|
||||||
level.IsFreelookAllowed() &&
|
level.IsFreelookAllowed() &&
|
||||||
|
@ -940,11 +941,8 @@ angle_t P_BulletSlope (AActor *mo, AActor **pLineTarget)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} while (linetarget == NULL && --i >= 0);
|
} while (pLineTarget->linetarget == NULL && --i >= 0);
|
||||||
if (pLineTarget != NULL)
|
|
||||||
{
|
|
||||||
*pLineTarget = linetarget;
|
|
||||||
}
|
|
||||||
return pitch;
|
return pitch;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -88,7 +88,7 @@ void P_BringUpWeapon (player_t *player);
|
||||||
void P_FireWeapon (player_t *player);
|
void P_FireWeapon (player_t *player);
|
||||||
void P_DropWeapon (player_t *player);
|
void P_DropWeapon (player_t *player);
|
||||||
void P_BobWeapon (player_t *player, pspdef_t *psp, fixed_t *x, fixed_t *y);
|
void P_BobWeapon (player_t *player, pspdef_t *psp, fixed_t *x, fixed_t *y);
|
||||||
angle_t P_BulletSlope (AActor *mo, AActor **pLineTarget = NULL);
|
angle_t P_BulletSlope (AActor *mo, FTranslatedLineTarget *pLineTarget = NULL, int aimflags = 0);
|
||||||
void P_GunShot (AActor *mo, bool accurate, PClassActor *pufftype, angle_t pitch);
|
void P_GunShot (AActor *mo, bool accurate, PClassActor *pufftype, angle_t pitch);
|
||||||
|
|
||||||
void DoReadyWeapon(AActor *self);
|
void DoReadyWeapon(AActor *self);
|
||||||
|
|
4991
src/p_spec.cpp
4991
src/p_spec.cpp
File diff suppressed because it is too large
Load diff
|
@ -165,8 +165,8 @@ void P_SpawnSpecials (void);
|
||||||
void P_UpdateSpecials (void);
|
void P_UpdateSpecials (void);
|
||||||
|
|
||||||
// when needed
|
// when needed
|
||||||
bool P_ActivateLine (line_t *ld, AActor *mo, int side, int activationType);
|
bool P_ActivateLine (line_t *ld, AActor *mo, int side, int activationType, fixedvec3 *optpos = NULL);
|
||||||
bool P_TestActivateLine (line_t *ld, AActor *mo, int side, int activationType);
|
bool P_TestActivateLine (line_t *ld, AActor *mo, int side, int activationType, fixedvec3 *optpos = NULL);
|
||||||
bool P_PredictLine (line_t *ld, AActor *mo, int side, int activationType);
|
bool P_PredictLine (line_t *ld, AActor *mo, int side, int activationType);
|
||||||
|
|
||||||
void P_PlayerInSpecialSector (player_t *player, sector_t * sector=NULL);
|
void P_PlayerInSpecialSector (player_t *player, sector_t * sector=NULL);
|
||||||
|
@ -404,7 +404,7 @@ void EV_StartLightFading (int tag, int value, int tics);
|
||||||
#define BUTTONTIME TICRATE // 1 second, in ticks.
|
#define BUTTONTIME TICRATE // 1 second, in ticks.
|
||||||
|
|
||||||
bool P_ChangeSwitchTexture (side_t *side, int useAgain, BYTE special, bool *quest=NULL);
|
bool P_ChangeSwitchTexture (side_t *side, int useAgain, BYTE special, bool *quest=NULL);
|
||||||
bool P_CheckSwitchRange(AActor *user, line_t *line, int sideno);
|
bool P_CheckSwitchRange(AActor *user, line_t *line, int sideno, fixedvec3 *optpos = NULL);
|
||||||
|
|
||||||
//
|
//
|
||||||
// P_PLATS
|
// P_PLATS
|
||||||
|
|
|
@ -112,7 +112,7 @@ static bool P_StartButton (side_t *side, int Where, FSwitchDef *Switch, fixed_t
|
||||||
//
|
//
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
||||||
bool P_CheckSwitchRange(AActor *user, line_t *line, int sideno)
|
bool P_CheckSwitchRange(AActor *user, line_t *line, int sideno, fixedvec3 *optpos)
|
||||||
{
|
{
|
||||||
// Activated from an empty side -> always succeed
|
// Activated from an empty side -> always succeed
|
||||||
side_t *side = line->sidedef[sideno];
|
side_t *side = line->sidedef[sideno];
|
||||||
|
@ -140,7 +140,7 @@ bool P_CheckSwitchRange(AActor *user, line_t *line, int sideno)
|
||||||
|
|
||||||
P_MakeDivline (line, &dll);
|
P_MakeDivline (line, &dll);
|
||||||
|
|
||||||
fixedvec3 pos = user->PosRelative(line);
|
fixedvec3 pos = optpos? *optpos : user->PosRelative(line);
|
||||||
dlu.x = pos.x;
|
dlu.x = pos.x;
|
||||||
dlu.y = pos.y;
|
dlu.y = pos.y;
|
||||||
dlu.dx = finecosine[user->angle >> ANGLETOFINESHIFT];
|
dlu.dx = finecosine[user->angle >> ANGLETOFINESHIFT];
|
||||||
|
|
|
@ -106,7 +106,6 @@ bool P_Teleport (AActor *thing, fixed_t x, fixed_t y, fixed_t z, angle_t angle,
|
||||||
fixedvec3 old;
|
fixedvec3 old;
|
||||||
fixed_t aboveFloor;
|
fixed_t aboveFloor;
|
||||||
player_t *player;
|
player_t *player;
|
||||||
angle_t an;
|
|
||||||
sector_t *destsect;
|
sector_t *destsect;
|
||||||
bool resetpitch = false;
|
bool resetpitch = false;
|
||||||
fixed_t floorheight, ceilingheight;
|
fixed_t floorheight, ceilingheight;
|
||||||
|
@ -193,8 +192,9 @@ bool P_Teleport (AActor *thing, fixed_t x, fixed_t y, fixed_t z, angle_t angle,
|
||||||
if (!predicting)
|
if (!predicting)
|
||||||
{
|
{
|
||||||
fixed_t fogDelta = thing->flags & MF_MISSILE ? 0 : TELEFOGHEIGHT;
|
fixed_t fogDelta = thing->flags & MF_MISSILE ? 0 : TELEFOGHEIGHT;
|
||||||
an = angle >> ANGLETOFINESHIFT;
|
fixedvec2 vector = Vec2Angle(20 * FRACUNIT, angle);
|
||||||
P_SpawnTeleportFog(thing, x + 20 * finecosine[an], y + 20 * finesine[an], thing->Z() + fogDelta, false, true);
|
fixedvec2 fogpos = P_GetOffsetPosition(x, y, vector.x, vector.y);
|
||||||
|
P_SpawnTeleportFog(thing, fogpos.x, fogpos.y, thing->Z() + fogDelta, false, true);
|
||||||
|
|
||||||
}
|
}
|
||||||
if (thing->player)
|
if (thing->player)
|
||||||
|
|
248
src/portal.cpp
248
src/portal.cpp
|
@ -277,7 +277,7 @@ void P_SpawnLinePortal(line_t* line)
|
||||||
|
|
||||||
for (int i = 0; i < numlines; i++)
|
for (int i = 0; i < numlines; i++)
|
||||||
{
|
{
|
||||||
if (tagManager.GetFirstLineID(&lines[i]) == mytag && lines[i].args[0] == 1)
|
if (tagManager.GetFirstLineID(&lines[i]) == mytag && lines[i].args[0] == 1 && lines[i].special == Line_SetPortal)
|
||||||
{
|
{
|
||||||
line->portalindex = linePortals.Reserve(1);
|
line->portalindex = linePortals.Reserve(1);
|
||||||
FLinePortal *port = &linePortals.Last();
|
FLinePortal *port = &linePortals.Last();
|
||||||
|
@ -323,12 +323,6 @@ void P_UpdatePortal(FLinePortal *port)
|
||||||
// Portal has no destination: switch it off
|
// Portal has no destination: switch it off
|
||||||
port->mFlags = 0;
|
port->mFlags = 0;
|
||||||
}
|
}
|
||||||
else if ((port->mOrigin->backsector == NULL && !(port->mOrigin->sidedef[0]->Flags & WALLF_POLYOBJ)) ||
|
|
||||||
(port->mDestination->backsector == NULL && !(port->mOrigin->sidedef[0]->Flags & WALLF_POLYOBJ)))
|
|
||||||
{
|
|
||||||
// disable teleporting capability if a portal is or links to a one-sided wall (unless part of a polyobject.)
|
|
||||||
port->mFlags = PORTF_VISIBLE;
|
|
||||||
}
|
|
||||||
else if (port->mDestination->getPortalDestination() != port->mOrigin)
|
else if (port->mDestination->getPortalDestination() != port->mOrigin)
|
||||||
{
|
{
|
||||||
//portal doesn't link back. This will be a simple teleporter portal.
|
//portal doesn't link back. This will be a simple teleporter portal.
|
||||||
|
@ -562,24 +556,17 @@ void P_TranslatePortalXY(line_t* src, line_t* dst, fixed_t& x, fixed_t& y)
|
||||||
// Get the angle between the two linedefs, for rotating
|
// Get the angle between the two linedefs, for rotating
|
||||||
// orientation and velocity. Rotate 180 degrees, and flip
|
// orientation and velocity. Rotate 180 degrees, and flip
|
||||||
// the position across the exit linedef, if reversed.
|
// the position across the exit linedef, if reversed.
|
||||||
angle_t angle =
|
|
||||||
R_PointToAngle2(0, 0, dst->dx, dst->dy) -
|
|
||||||
R_PointToAngle2(0, 0, src->dx, src->dy);
|
|
||||||
|
|
||||||
angle += ANGLE_180;
|
double angle = atan2(dst->dy, dst->dx) - atan2(src->dy, src->dx) + M_PI;
|
||||||
|
fixed_t s = FLOAT2FIXED(sin(angle));
|
||||||
// Sine, cosine of angle adjustment
|
fixed_t c = FLOAT2FIXED(cos(angle));
|
||||||
fixed_t s = finesine[angle>>ANGLETOFINESHIFT];
|
|
||||||
fixed_t c = finecosine[angle>>ANGLETOFINESHIFT];
|
|
||||||
|
|
||||||
fixed_t tx, ty;
|
|
||||||
|
|
||||||
nposx = x - src->v1->x;
|
nposx = x - src->v1->x;
|
||||||
nposy = y - src->v1->y;
|
nposy = y - src->v1->y;
|
||||||
|
|
||||||
// Rotate position along normal to match exit linedef
|
// Rotate position along normal to match exit linedef
|
||||||
tx = FixedMul(nposx, c) - FixedMul(nposy, s);
|
fixed_t tx = FixedMul(nposx, c) - FixedMul(nposy, s);
|
||||||
ty = FixedMul(nposy, c) + FixedMul(nposx, s);
|
fixed_t ty = FixedMul(nposy, c) + FixedMul(nposx, s);
|
||||||
|
|
||||||
tx += dst->v2->x;
|
tx += dst->v2->x;
|
||||||
ty += dst->v2->y;
|
ty += dst->v2->y;
|
||||||
|
@ -596,15 +583,9 @@ void P_TranslatePortalXY(line_t* src, line_t* dst, fixed_t& x, fixed_t& y)
|
||||||
|
|
||||||
void P_TranslatePortalVXVY(line_t* src, line_t* dst, fixed_t& vx, fixed_t& vy)
|
void P_TranslatePortalVXVY(line_t* src, line_t* dst, fixed_t& vx, fixed_t& vy)
|
||||||
{
|
{
|
||||||
angle_t angle =
|
double angle = atan2(dst->dy, dst->dx) - atan2(src->dy, src->dx) + M_PI;
|
||||||
R_PointToAngle2(0, 0, dst->dx, dst->dy) -
|
fixed_t s = FLOAT2FIXED(sin(angle));
|
||||||
R_PointToAngle2(0, 0, src->dx, src->dy);
|
fixed_t c = FLOAT2FIXED(cos(angle));
|
||||||
|
|
||||||
angle += ANGLE_180;
|
|
||||||
|
|
||||||
// Sine, cosine of angle adjustment
|
|
||||||
fixed_t s = finesine[angle>>ANGLETOFINESHIFT];
|
|
||||||
fixed_t c = finecosine[angle>>ANGLETOFINESHIFT];
|
|
||||||
|
|
||||||
fixed_t orig_velx = vx;
|
fixed_t orig_velx = vx;
|
||||||
fixed_t orig_vely = vy;
|
fixed_t orig_vely = vy;
|
||||||
|
@ -626,12 +607,7 @@ void P_TranslatePortalAngle(line_t* src, line_t* dst, angle_t& angle)
|
||||||
// Get the angle between the two linedefs, for rotating
|
// Get the angle between the two linedefs, for rotating
|
||||||
// orientation and velocity. Rotate 180 degrees, and flip
|
// orientation and velocity. Rotate 180 degrees, and flip
|
||||||
// the position across the exit linedef, if reversed.
|
// the position across the exit linedef, if reversed.
|
||||||
angle_t xangle =
|
angle += RAD2ANGLE(atan2(dst->dy, dst->dx) - atan2(src->dy, src->dx)) + ANGLE_180;
|
||||||
R_PointToAngle2(0, 0, dst->dx, dst->dy) -
|
|
||||||
R_PointToAngle2(0, 0, src->dx, src->dy);
|
|
||||||
|
|
||||||
xangle += ANGLE_180;
|
|
||||||
angle += xangle;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
|
@ -701,17 +677,17 @@ void P_NormalizeVXVY(fixed_t& vx, fixed_t& vy)
|
||||||
//
|
//
|
||||||
//============================================================================
|
//============================================================================
|
||||||
|
|
||||||
fixedvec2 P_GetOffsetPosition(AActor *actor, fixed_t dx, fixed_t dy)
|
fixedvec2 P_GetOffsetPosition(fixed_t x, fixed_t y, fixed_t dx, fixed_t dy)
|
||||||
{
|
{
|
||||||
fixedvec2 dest = { actor->X() + dx, actor->Y() + dy };
|
fixedvec2 dest = { x + dx, y + dy };
|
||||||
if (PortalBlockmap.containsLines)
|
if (PortalBlockmap.containsLines)
|
||||||
{
|
{
|
||||||
fixed_t actx = actor->X(), acty = actor->Y();
|
fixed_t actx = x, acty = y;
|
||||||
// Try some easily discoverable early-out first. If we know that the trace cannot possibly find a portal, this saves us from calling the traverser completely for vast parts of the map.
|
// Try some easily discoverable early-out first. If we know that the trace cannot possibly find a portal, this saves us from calling the traverser completely for vast parts of the map.
|
||||||
if (dx < 128 * FRACUNIT && dy < 128 * FRACUNIT)
|
if (dx < 128 * FRACUNIT && dy < 128 * FRACUNIT)
|
||||||
{
|
{
|
||||||
fixed_t blockx = GetSafeBlockX(actx - bmaporgx);
|
fixed_t blockx = GetSafeBlockX(actx - bmaporgx);
|
||||||
fixed_t blocky = GetSafeBlockX(acty - bmaporgy);
|
fixed_t blocky = GetSafeBlockY(acty - bmaporgy);
|
||||||
if (blockx < 0 || blocky < 0 || blockx >= bmapwidth || blocky >= bmapheight || !PortalBlockmap(blockx, blocky).neighborContainsLines) return dest;
|
if (blockx < 0 || blocky < 0 || blockx >= bmapwidth || blocky >= bmapheight || !PortalBlockmap(blockx, blocky).neighborContainsLines) return dest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1117,87 +1093,157 @@ void P_CreateLinkedPortals()
|
||||||
//
|
//
|
||||||
//============================================================================
|
//============================================================================
|
||||||
|
|
||||||
|
|
||||||
|
static bool ProcessLayer()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
bool P_CollectConnectedGroups(int startgroup, const fixedvec3 &position, fixed_t upperz, fixed_t checkradius, FPortalGroupArray &out)
|
bool P_CollectConnectedGroups(int startgroup, const fixedvec3 &position, fixed_t upperz, fixed_t checkradius, FPortalGroupArray &out)
|
||||||
{
|
{
|
||||||
// Keep this temporary work stuff static. This function can never be called recursively
|
// Keep this temporary work stuff static. This function can never be called recursively
|
||||||
// and this would have to be reallocated for each call otherwise.
|
// and this would have to be reallocated for each call otherwise.
|
||||||
static FPortalBits processMask;
|
static FPortalBits processMask;
|
||||||
static TArray<FLinePortal*> foundPortals;
|
static TArray<FLinePortal*> foundPortals;
|
||||||
|
static TArray<int> groupsToCheck;
|
||||||
|
|
||||||
bool retval = false;
|
bool retval = false;
|
||||||
out.inited = true;
|
out.inited = true;
|
||||||
if (linkedPortals.Size() == 0)
|
if (linkedPortals.Size() != 0)
|
||||||
{
|
{
|
||||||
// If there are no portals, all sectors are in group 0.
|
processMask.setSize(linkedPortals.Size());
|
||||||
return false;
|
processMask.clear();
|
||||||
}
|
foundPortals.Clear();
|
||||||
processMask.setSize(linkedPortals.Size());
|
|
||||||
processMask.clear();
|
|
||||||
foundPortals.Clear();
|
|
||||||
|
|
||||||
int thisgroup = startgroup;
|
int thisgroup = startgroup;
|
||||||
processMask.setBit(thisgroup);
|
processMask.setBit(thisgroup);
|
||||||
//out.Add(thisgroup);
|
//out.Add(thisgroup);
|
||||||
|
|
||||||
for (unsigned i = 0; i < linkedPortals.Size(); i++)
|
for (unsigned i = 0; i < linkedPortals.Size(); i++)
|
||||||
{
|
|
||||||
line_t *ld = linkedPortals[i]->mOrigin;
|
|
||||||
int othergroup = ld->frontsector->PortalGroup;
|
|
||||||
FDisplacement &disp = Displacements(thisgroup, othergroup);
|
|
||||||
if (!disp.isSet) continue; // no connection.
|
|
||||||
|
|
||||||
FBoundingBox box(position.x + disp.pos.x, position.y + disp.pos.y, checkradius);
|
|
||||||
|
|
||||||
if (box.Right() <= ld->bbox[BOXLEFT]
|
|
||||||
|| box.Left() >= ld->bbox[BOXRIGHT]
|
|
||||||
|| box.Top() <= ld->bbox[BOXBOTTOM]
|
|
||||||
|| box.Bottom() >= ld->bbox[BOXTOP])
|
|
||||||
continue; // not touched
|
|
||||||
|
|
||||||
if (box.BoxOnLineSide(linkedPortals[i]->mOrigin) != -1) continue; // not touched
|
|
||||||
foundPortals.Push(linkedPortals[i]);
|
|
||||||
}
|
|
||||||
bool foundone = true;
|
|
||||||
while (foundone)
|
|
||||||
{
|
|
||||||
foundone = false;
|
|
||||||
for (int i = foundPortals.Size() - 1; i >= 0; i--)
|
|
||||||
{
|
{
|
||||||
if (processMask.getBit(foundPortals[i]->mOrigin->frontsector->PortalGroup) &&
|
line_t *ld = linkedPortals[i]->mOrigin;
|
||||||
!processMask.getBit(foundPortals[i]->mDestination->frontsector->PortalGroup))
|
int othergroup = ld->frontsector->PortalGroup;
|
||||||
|
FDisplacement &disp = Displacements(thisgroup, othergroup);
|
||||||
|
if (!disp.isSet) continue; // no connection.
|
||||||
|
|
||||||
|
FBoundingBox box(position.x + disp.pos.x, position.y + disp.pos.y, checkradius);
|
||||||
|
|
||||||
|
if (box.Right() <= ld->bbox[BOXLEFT]
|
||||||
|
|| box.Left() >= ld->bbox[BOXRIGHT]
|
||||||
|
|| box.Top() <= ld->bbox[BOXBOTTOM]
|
||||||
|
|| box.Bottom() >= ld->bbox[BOXTOP])
|
||||||
|
continue; // not touched
|
||||||
|
|
||||||
|
if (box.BoxOnLineSide(linkedPortals[i]->mOrigin) != -1) continue; // not touched
|
||||||
|
foundPortals.Push(linkedPortals[i]);
|
||||||
|
}
|
||||||
|
bool foundone = true;
|
||||||
|
while (foundone)
|
||||||
|
{
|
||||||
|
foundone = false;
|
||||||
|
for (int i = foundPortals.Size() - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
processMask.setBit(foundPortals[i]->mDestination->frontsector->PortalGroup);
|
if (processMask.getBit(foundPortals[i]->mOrigin->frontsector->PortalGroup) &&
|
||||||
out.Add(foundPortals[i]->mDestination->frontsector->PortalGroup);
|
!processMask.getBit(foundPortals[i]->mDestination->frontsector->PortalGroup))
|
||||||
foundone = true;
|
{
|
||||||
retval = true;
|
processMask.setBit(foundPortals[i]->mDestination->frontsector->PortalGroup);
|
||||||
foundPortals.Delete(i);
|
out.Add(foundPortals[i]->mDestination->frontsector->PortalGroup);
|
||||||
|
foundone = true;
|
||||||
|
retval = true;
|
||||||
|
foundPortals.Delete(i);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sector_t *sec = P_PointInSector(position.x, position.y);
|
if (out.method != FPortalGroupArray::PGA_NoSectorPortals)
|
||||||
sector_t *wsec = sec;
|
|
||||||
while (!wsec->PortalBlocksMovement(sector_t::ceiling) && upperz > wsec->SkyBoxes[sector_t::ceiling]->threshold)
|
|
||||||
{
|
{
|
||||||
sector_t *othersec = wsec->SkyBoxes[sector_t::ceiling]->Sector;
|
sector_t *sec = P_PointInSector(position.x, position.y);
|
||||||
fixedvec2 pos = Displacements.getOffset(startgroup, othersec->PortalGroup);
|
sector_t *wsec = sec;
|
||||||
fixed_t dx = position.x + pos.x;
|
while (!wsec->PortalBlocksMovement(sector_t::ceiling) && upperz > wsec->SkyBoxes[sector_t::ceiling]->threshold)
|
||||||
fixed_t dy = position.y + pos.y;
|
{
|
||||||
processMask.setBit(othersec->PortalGroup);
|
sector_t *othersec = wsec->SkyBoxes[sector_t::ceiling]->Sector;
|
||||||
out.Add(othersec->PortalGroup|FPortalGroupArray::UPPER);
|
fixedvec2 pos = Displacements.getOffset(startgroup, othersec->PortalGroup);
|
||||||
wsec = P_PointInSector(dx, dy); // get upper sector at the exact spot we want to check and repeat
|
fixed_t dx = position.x + pos.x;
|
||||||
retval = true;
|
fixed_t dy = position.y + pos.y;
|
||||||
}
|
processMask.setBit(othersec->PortalGroup);
|
||||||
wsec = sec;
|
out.Add(othersec->PortalGroup | FPortalGroupArray::UPPER);
|
||||||
while (!wsec->PortalBlocksMovement(sector_t::floor) && position.z < wsec->SkyBoxes[sector_t::floor]->threshold)
|
wsec = P_PointInSector(dx, dy); // get upper sector at the exact spot we want to check and repeat
|
||||||
{
|
retval = true;
|
||||||
sector_t *othersec = wsec->SkyBoxes[sector_t::floor]->Sector;
|
}
|
||||||
fixedvec2 pos = Displacements.getOffset(startgroup, othersec->PortalGroup);
|
wsec = sec;
|
||||||
fixed_t dx = position.x + pos.x;
|
while (!wsec->PortalBlocksMovement(sector_t::floor) && position.z < wsec->SkyBoxes[sector_t::floor]->threshold)
|
||||||
fixed_t dy = position.y + pos.y;
|
{
|
||||||
processMask.setBit(othersec->PortalGroup|FPortalGroupArray::LOWER);
|
sector_t *othersec = wsec->SkyBoxes[sector_t::floor]->Sector;
|
||||||
out.Add(othersec->PortalGroup);
|
fixedvec2 pos = Displacements.getOffset(startgroup, othersec->PortalGroup);
|
||||||
wsec = P_PointInSector(dx, dy); // get lower sector at the exact spot we want to check and repeat
|
fixed_t dx = position.x + pos.x;
|
||||||
retval = true;
|
fixed_t dy = position.y + pos.y;
|
||||||
|
processMask.setBit(othersec->PortalGroup | FPortalGroupArray::LOWER);
|
||||||
|
out.Add(othersec->PortalGroup);
|
||||||
|
wsec = P_PointInSector(dx, dy); // get lower sector at the exact spot we want to check and repeat
|
||||||
|
retval = true;
|
||||||
|
}
|
||||||
|
if (out.method == FPortalGroupArray::PGA_Full3d)
|
||||||
|
{
|
||||||
|
groupsToCheck.Clear();
|
||||||
|
groupsToCheck.Push(startgroup);
|
||||||
|
int thisgroup = startgroup;
|
||||||
|
for (unsigned i = 0; i < groupsToCheck.Size();i++)
|
||||||
|
{
|
||||||
|
fixedvec2 disp = Displacements.getOffset(startgroup, thisgroup & ~FPortalGroupArray::FLAT);
|
||||||
|
FBoundingBox box(position.x + disp.x, position.y + disp.y, checkradius);
|
||||||
|
FBlockLinesIterator it(box);
|
||||||
|
line_t *ld;
|
||||||
|
while ((ld = it.Next()))
|
||||||
|
{
|
||||||
|
if (box.Right() <= ld->bbox[BOXLEFT]
|
||||||
|
|| box.Left() >= ld->bbox[BOXRIGHT]
|
||||||
|
|| box.Top() <= ld->bbox[BOXBOTTOM]
|
||||||
|
|| box.Bottom() >= ld->bbox[BOXTOP])
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (box.BoxOnLineSide(ld) != -1)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (!(thisgroup & FPortalGroupArray::LOWER))
|
||||||
|
{
|
||||||
|
for (int s = 0; s < 2; s++)
|
||||||
|
{
|
||||||
|
sector_t *sec = s ? ld->backsector : ld->frontsector;
|
||||||
|
if (sec && !(sec->PortalBlocksMovement(sector_t::ceiling)))
|
||||||
|
{
|
||||||
|
if (sec->SkyBoxes[sector_t::ceiling]->threshold < upperz)
|
||||||
|
{
|
||||||
|
int grp = sec->SkyBoxes[sector_t::ceiling]->Sector->PortalGroup;
|
||||||
|
if (!(processMask.getBit(grp)))
|
||||||
|
{
|
||||||
|
processMask.setBit(grp);
|
||||||
|
groupsToCheck.Push(grp | FPortalGroupArray::UPPER);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!(thisgroup & FPortalGroupArray::UPPER))
|
||||||
|
{
|
||||||
|
for (int s = 0; s < 2; s++)
|
||||||
|
{
|
||||||
|
sector_t *sec = s ? ld->backsector : ld->frontsector;
|
||||||
|
if (sec && !(sec->PortalBlocksMovement(sector_t::floor)))
|
||||||
|
{
|
||||||
|
if (sec->SkyBoxes[sector_t::floor]->threshold > position.z)
|
||||||
|
{
|
||||||
|
int grp = sec->SkyBoxes[sector_t::floor]->Sector->PortalGroup;
|
||||||
|
if (!(processMask.getBit(grp)))
|
||||||
|
{
|
||||||
|
processMask.setBit(grp);
|
||||||
|
groupsToCheck.Push(grp | FPortalGroupArray::LOWER);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
|
@ -198,6 +198,6 @@ void P_TranslatePortalAngle(line_t* src, line_t* dst, angle_t& angle);
|
||||||
void P_TranslatePortalZ(line_t* src, line_t* dst, fixed_t& z);
|
void P_TranslatePortalZ(line_t* src, line_t* dst, fixed_t& z);
|
||||||
void P_NormalizeVXVY(fixed_t& vx, fixed_t& vy);
|
void P_NormalizeVXVY(fixed_t& vx, fixed_t& vy);
|
||||||
fixed_t P_PointLineDistance(line_t* line, fixed_t x, fixed_t y);
|
fixed_t P_PointLineDistance(line_t* line, fixed_t x, fixed_t y);
|
||||||
fixedvec2 P_GetOffsetPosition(AActor *actor, fixed_t dx, fixed_t dy);
|
fixedvec2 P_GetOffsetPosition(fixed_t x, fixed_t y, fixed_t dx, fixed_t dy);
|
||||||
|
|
||||||
#endif
|
#endif
|
|
@ -145,6 +145,10 @@ enum
|
||||||
|
|
||||||
static const NSOpenGLPixelFormatAttribute NSOpenGLPFAAllowOfflineRenderers = NSOpenGLPixelFormatAttribute(96);
|
static const NSOpenGLPixelFormatAttribute NSOpenGLPFAAllowOfflineRenderers = NSOpenGLPixelFormatAttribute(96);
|
||||||
|
|
||||||
|
@interface NSWindow(SetCollectionBehavior)
|
||||||
|
- (void)setCollectionBehavior:(NSUInteger)collectionBehavior;
|
||||||
|
@end
|
||||||
|
|
||||||
#endif // prior to 10.5
|
#endif // prior to 10.5
|
||||||
|
|
||||||
|
|
||||||
|
@ -182,6 +186,8 @@ typedef NSInteger NSApplicationActivationPolicy;
|
||||||
- (NSRect)convertRectToBacking:(NSRect)aRect;
|
- (NSRect)convertRectToBacking:(NSRect)aRect;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
static const NSWindowCollectionBehavior NSWindowCollectionBehaviorFullScreenAuxiliary = NSWindowCollectionBehavior(1 << 8);
|
||||||
|
|
||||||
#endif // prior to 10.7
|
#endif // prior to 10.7
|
||||||
|
|
||||||
#endif // COCOA_I_COMMON_INCLUDED
|
#endif // COCOA_I_COMMON_INCLUDED
|
||||||
|
|
|
@ -89,6 +89,8 @@ private:
|
||||||
void ExpandTextView(float height);
|
void ExpandTextView(float height);
|
||||||
|
|
||||||
void AddText(const PalEntry& color, const char* message);
|
void AddText(const PalEntry& color, const char* message);
|
||||||
|
|
||||||
|
void ScrollTextToBottom();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // COCOA_ST_CONSOLE_INCLUDED
|
#endif // COCOA_ST_CONSOLE_INCLUDED
|
||||||
|
|
|
@ -94,7 +94,7 @@ FConsoleWindow::FConsoleWindow()
|
||||||
[textContainer setContainerSize:NSMakeSize(initialWidth, FLT_MAX)];
|
[textContainer setContainerSize:NSMakeSize(initialWidth, FLT_MAX)];
|
||||||
[textContainer setWidthTracksTextView:YES];
|
[textContainer setWidthTracksTextView:YES];
|
||||||
|
|
||||||
[m_scrollView initWithFrame:NSMakeRect(0.0f, 0.0f, initialWidth, initialHeight)];
|
[m_scrollView initWithFrame:initialRect];
|
||||||
[m_scrollView setBorderType:NSNoBorder];
|
[m_scrollView setBorderType:NSNoBorder];
|
||||||
[m_scrollView setHasVerticalScroller:YES];
|
[m_scrollView setHasVerticalScroller:YES];
|
||||||
[m_scrollView setHasHorizontalScroller:NO];
|
[m_scrollView setHasHorizontalScroller:NO];
|
||||||
|
@ -113,6 +113,12 @@ FConsoleWindow::FConsoleWindow()
|
||||||
[m_window center];
|
[m_window center];
|
||||||
[m_window exitAppOnClose];
|
[m_window exitAppOnClose];
|
||||||
|
|
||||||
|
if (NSAppKitVersionNumber >= AppKit10_7)
|
||||||
|
{
|
||||||
|
// Do not allow fullscreen mode for this window
|
||||||
|
[m_window setCollectionBehavior:NSWindowCollectionBehaviorFullScreenAuxiliary];
|
||||||
|
}
|
||||||
|
|
||||||
[[m_window contentView] addSubview:m_scrollView];
|
[[m_window contentView] addSubview:m_scrollView];
|
||||||
|
|
||||||
[m_window makeKeyAndOrderFront:nil];
|
[m_window makeKeyAndOrderFront:nil];
|
||||||
|
@ -182,10 +188,45 @@ void FConsoleWindow::ShowFatalError(const char* const message)
|
||||||
AddText(PalEntry(255, 255, 170), message);
|
AddText(PalEntry(255, 255, 170), message);
|
||||||
AddText("\n");
|
AddText("\n");
|
||||||
|
|
||||||
|
ScrollTextToBottom();
|
||||||
|
|
||||||
[NSApp runModalForWindow:m_window];
|
[NSApp runModalForWindow:m_window];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static const unsigned int THIRTY_FPS = 33; // milliseconds per update
|
||||||
|
|
||||||
|
|
||||||
|
template <typename Function, unsigned int interval = THIRTY_FPS>
|
||||||
|
struct TimedUpdater
|
||||||
|
{
|
||||||
|
explicit TimedUpdater(const Function& function)
|
||||||
|
{
|
||||||
|
const unsigned int currentTime = I_MSTime();
|
||||||
|
|
||||||
|
if (currentTime - m_previousTime > interval)
|
||||||
|
{
|
||||||
|
m_previousTime = currentTime;
|
||||||
|
|
||||||
|
function();
|
||||||
|
|
||||||
|
[[NSRunLoop currentRunLoop] limitDateForMode:NSDefaultRunLoopMode];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static unsigned int m_previousTime;
|
||||||
|
};
|
||||||
|
|
||||||
|
template <typename Function, unsigned int interval>
|
||||||
|
unsigned int TimedUpdater<Function, interval>::m_previousTime;
|
||||||
|
|
||||||
|
template <typename Function, unsigned int interval = THIRTY_FPS>
|
||||||
|
static void UpdateTimed(const Function& function)
|
||||||
|
{
|
||||||
|
TimedUpdater<Function, interval> dummy(function);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void FConsoleWindow::AddText(const char* message)
|
void FConsoleWindow::AddText(const char* message)
|
||||||
{
|
{
|
||||||
PalEntry color(223, 223, 223);
|
PalEntry color(223, 223, 223);
|
||||||
|
@ -274,15 +315,17 @@ void FConsoleWindow::AddText(const char* message)
|
||||||
|
|
||||||
if ([m_window isVisible])
|
if ([m_window isVisible])
|
||||||
{
|
{
|
||||||
[m_textView scrollRangeToVisible:NSMakeRange(m_characterCount, 0)];
|
UpdateTimed([&]()
|
||||||
|
{
|
||||||
[[NSRunLoop currentRunLoop] limitDateForMode:NSDefaultRunLoopMode];
|
[m_textView scrollRangeToVisible:NSMakeRange(m_characterCount, 0)];
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void FConsoleWindow::AddText(const PalEntry& color, const char* const message)
|
void FConsoleWindow::AddText(const PalEntry& color, const char* const message)
|
||||||
{
|
{
|
||||||
NSString* const text = [NSString stringWithUTF8String:message];
|
NSString* const text = [NSString stringWithCString:message
|
||||||
|
encoding:NSISOLatin1StringEncoding];
|
||||||
|
|
||||||
NSDictionary* const attributes = [NSDictionary dictionaryWithObjectsAndKeys:
|
NSDictionary* const attributes = [NSDictionary dictionaryWithObjectsAndKeys:
|
||||||
[NSFont systemFontOfSize:14.0f], NSFontAttributeName,
|
[NSFont systemFontOfSize:14.0f], NSFontAttributeName,
|
||||||
|
@ -298,6 +341,14 @@ void FConsoleWindow::AddText(const PalEntry& color, const char* const message)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void FConsoleWindow::ScrollTextToBottom()
|
||||||
|
{
|
||||||
|
[m_textView scrollRangeToVisible:NSMakeRange(m_characterCount, 0)];
|
||||||
|
|
||||||
|
[[NSRunLoop currentRunLoop] limitDateForMode:NSDefaultRunLoopMode];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void FConsoleWindow::SetTitleText()
|
void FConsoleWindow::SetTitleText()
|
||||||
{
|
{
|
||||||
static const CGFloat TITLE_TEXT_HEIGHT = 32.0f;
|
static const CGFloat TITLE_TEXT_HEIGHT = 32.0f;
|
||||||
|
@ -337,7 +388,12 @@ void FConsoleWindow::SetProgressBar(const bool visible)
|
||||||
{
|
{
|
||||||
ExpandTextView(-PROGRESS_BAR_HEIGHT);
|
ExpandTextView(-PROGRESS_BAR_HEIGHT);
|
||||||
|
|
||||||
m_progressBar = [[NSProgressIndicator alloc] initWithFrame:NSMakeRect(2.0f, 0.0f, 508.0f, 16.0f)];
|
static const CGFloat PROGRESS_BAR_X = 2.0f;
|
||||||
|
const NSRect PROGRESS_BAR_RECT = NSMakeRect(
|
||||||
|
PROGRESS_BAR_X, 0.0f,
|
||||||
|
[m_window frame].size.width - PROGRESS_BAR_X * 2, 16.0f);
|
||||||
|
|
||||||
|
m_progressBar = [[NSProgressIndicator alloc] initWithFrame:PROGRESS_BAR_RECT];
|
||||||
[m_progressBar setIndeterminate:NO];
|
[m_progressBar setIndeterminate:NO];
|
||||||
[m_progressBar setAutoresizingMask:NSViewWidthSizable];
|
[m_progressBar setAutoresizingMask:NSViewWidthSizable];
|
||||||
|
|
||||||
|
@ -370,18 +426,11 @@ void FConsoleWindow::Progress(const int current, const int maximum)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned int previousTime = I_MSTime();
|
UpdateTimed([&]()
|
||||||
unsigned int currentTime = I_MSTime();
|
|
||||||
|
|
||||||
if (currentTime - previousTime > 33) // approx. 30 FPS
|
|
||||||
{
|
{
|
||||||
previousTime = currentTime;
|
|
||||||
|
|
||||||
[m_progressBar setMaxValue:maximum];
|
[m_progressBar setMaxValue:maximum];
|
||||||
[m_progressBar setDoubleValue:current];
|
[m_progressBar setDoubleValue:current];
|
||||||
|
});
|
||||||
[[NSRunLoop currentRunLoop] limitDateForMode:NSDefaultRunLoopMode];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -447,6 +496,8 @@ void FConsoleWindow::NetInit(const char* const message, const int playerCount)
|
||||||
|
|
||||||
[m_window setFrame:windowRect display:YES];
|
[m_window setFrame:windowRect display:YES];
|
||||||
[[m_window contentView] addSubview:m_netView];
|
[[m_window contentView] addSubview:m_netView];
|
||||||
|
|
||||||
|
ScrollTextToBottom();
|
||||||
}
|
}
|
||||||
|
|
||||||
[m_netMessageText setStringValue:[NSString stringWithUTF8String:message]];
|
[m_netMessageText setStringValue:[NSString stringWithUTF8String:message]];
|
||||||
|
|
2818
src/r_defs.h
2818
src/r_defs.h
File diff suppressed because it is too large
Load diff
|
@ -272,17 +272,17 @@ void R_RenderMaskedSegRange (drawseg_t *ds, int x1, int x2)
|
||||||
|
|
||||||
if (fixedlightlev < 0)
|
if (fixedlightlev < 0)
|
||||||
{
|
{
|
||||||
|
if (!(fake3D & FAKE3D_CLIPTOP))
|
||||||
|
{
|
||||||
|
sclipTop = sec->ceilingplane.ZatPoint(viewx, viewy);
|
||||||
|
}
|
||||||
for (i = frontsector->e->XFloor.lightlist.Size() - 1; i >= 0; i--)
|
for (i = frontsector->e->XFloor.lightlist.Size() - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
if (!(fake3D & FAKE3D_CLIPTOP))
|
if (sclipTop <= frontsector->e->XFloor.lightlist[i].plane.Zat0())
|
||||||
{
|
|
||||||
sclipTop = sec->ceilingplane.ZatPoint(viewx, viewy);
|
|
||||||
}
|
|
||||||
if (sclipTop <= frontsector->e->XFloor.lightlist[i].plane.ZatPoint(viewx, viewy))
|
|
||||||
{
|
{
|
||||||
lightlist_t *lit = &frontsector->e->XFloor.lightlist[i];
|
lightlist_t *lit = &frontsector->e->XFloor.lightlist[i];
|
||||||
basecolormap = lit->extra_colormap;
|
basecolormap = lit->extra_colormap;
|
||||||
wallshade = LIGHT2SHADE(curline->sidedef->GetLightLevel(foggy, *lit->p_lightlevel, lit->lightsource == NULL) + r_actualextralight);
|
wallshade = LIGHT2SHADE(curline->sidedef->GetLightLevel(foggy, *lit->p_lightlevel, lit->lightsource != NULL) + r_actualextralight);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -324,18 +324,19 @@ nextpost:
|
||||||
// [ZZ]
|
// [ZZ]
|
||||||
// R_ClipSpriteColumnWithPortals
|
// R_ClipSpriteColumnWithPortals
|
||||||
//
|
//
|
||||||
static inline bool R_ClipSpriteColumnWithPortals (fixed_t x, fixed_t y, vissprite_t* spr)
|
|
||||||
{
|
|
||||||
// [ZZ] 10.01.2016: don't clip sprites from the root of a skybox.
|
|
||||||
if (CurrentPortalInSkybox)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
|
static TArray<drawseg_t *> portaldrawsegs;
|
||||||
|
|
||||||
|
static inline void R_CollectPortals()
|
||||||
|
{
|
||||||
|
// This function collects all drawsegs that may be of interest to R_ClipSpriteColumnWithPortals
|
||||||
|
// Having that function over the entire list of drawsegs can break down performance quite drastically.
|
||||||
|
// This is doing the costly stuff only once so that R_ClipSpriteColumnWithPortals can
|
||||||
|
// a) exit early if no relevant info is found and
|
||||||
|
// b) skip most of the collected drawsegs which have no portal attached.
|
||||||
|
portaldrawsegs.Clear();
|
||||||
for (drawseg_t* seg = ds_p; seg-- > firstdrawseg; ) // copied code from killough below
|
for (drawseg_t* seg = ds_p; seg-- > firstdrawseg; ) // copied code from killough below
|
||||||
{
|
{
|
||||||
// ignore segs from other portals
|
|
||||||
if (seg->CurrentPortalUniq != CurrentPortalUniq)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
// I don't know what makes this happen (some old top-down portal code or possibly skybox code? something adds null lines...)
|
// I don't know what makes this happen (some old top-down portal code or possibly skybox code? something adds null lines...)
|
||||||
// crashes at the first frame of the first map of Action2.wad
|
// crashes at the first frame of the first map of Action2.wad
|
||||||
if (!seg->curline) continue;
|
if (!seg->curline) continue;
|
||||||
|
@ -352,8 +353,28 @@ static inline bool R_ClipSpriteColumnWithPortals (fixed_t x, fixed_t y, vissprit
|
||||||
if (seg->curline->sidedef != line->sidedef[0])
|
if (seg->curline->sidedef != line->sidedef[0])
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
portaldrawsegs.Push(seg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline bool R_ClipSpriteColumnWithPortals(fixed_t x, fixed_t y, vissprite_t* spr)
|
||||||
|
{
|
||||||
|
// [ZZ] 10.01.2016: don't clip sprites from the root of a skybox.
|
||||||
|
if (CurrentPortalInSkybox)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
for(drawseg_t *seg : portaldrawsegs)
|
||||||
|
{
|
||||||
|
// ignore segs from other portals
|
||||||
|
if (seg->CurrentPortalUniq != CurrentPortalUniq)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
// (all checks that are already done in R_CollectPortals have been removed for performance reasons.)
|
||||||
|
|
||||||
|
line_t* line = seg->curline->linedef;
|
||||||
|
|
||||||
// don't clip if the sprite is in front of the portal
|
// don't clip if the sprite is in front of the portal
|
||||||
if (!P_PointOnLineSide(x, y, line))
|
if (!P_PointOnLineSidePrecise(x, y, line))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// now if current column is covered by this drawseg, we clip it away
|
// now if current column is covered by this drawseg, we clip it away
|
||||||
|
@ -364,6 +385,7 @@ static inline bool R_ClipSpriteColumnWithPortals (fixed_t x, fixed_t y, vissprit
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// R_DrawVisSprite
|
// R_DrawVisSprite
|
||||||
// mfloorclip and mceilingclip should also be set.
|
// mfloorclip and mceilingclip should also be set.
|
||||||
|
@ -2332,6 +2354,7 @@ void R_DrawHeightPlanes(fixed_t height); // kg3D - fake planes
|
||||||
|
|
||||||
void R_DrawMasked (void)
|
void R_DrawMasked (void)
|
||||||
{
|
{
|
||||||
|
R_CollectPortals();
|
||||||
R_SortVisSprites (DrewAVoxel ? sv_compare2d : sv_compare, firstvissprite - vissprites);
|
R_SortVisSprites (DrewAVoxel ? sv_compare2d : sv_compare, firstvissprite - vissprites);
|
||||||
|
|
||||||
if (height_top == NULL)
|
if (height_top == NULL)
|
||||||
|
|
|
@ -302,8 +302,13 @@ void FDirectory::AddEntry(const char *fullpath, int size)
|
||||||
|
|
||||||
// Store the full path here so that we can access the file later, even if it is from a filter directory.
|
// Store the full path here so that we can access the file later, even if it is from a filter directory.
|
||||||
lump_p->mFullPath = fullpath;
|
lump_p->mFullPath = fullpath;
|
||||||
|
|
||||||
|
// [mxd] Convert name to lowercase
|
||||||
|
FString name = fullpath + strlen(Filename);
|
||||||
|
name.ToLower();
|
||||||
|
|
||||||
// The lump's name is only the part relative to the main directory
|
// The lump's name is only the part relative to the main directory
|
||||||
lump_p->LumpNameSetup(fullpath + strlen(Filename));
|
lump_p->LumpNameSetup(name);
|
||||||
lump_p->LumpSize = size;
|
lump_p->LumpSize = size;
|
||||||
lump_p->Owner = this;
|
lump_p->Owner = this;
|
||||||
lump_p->Flags = 0;
|
lump_p->Flags = 0;
|
||||||
|
|
|
@ -960,7 +960,9 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_JumpIfCloser)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Does the player aim at something that can be shot?
|
// Does the player aim at something that can be shot?
|
||||||
P_BulletSlope(self, &target);
|
FTranslatedLineTarget t;
|
||||||
|
P_BulletSlope(self, &t, ALF_PORTALRESTRICT);
|
||||||
|
target = t.linetarget;
|
||||||
}
|
}
|
||||||
return DoJumpIfCloser(target, VM_ARGS_NAMES);
|
return DoJumpIfCloser(target, VM_ARGS_NAMES);
|
||||||
}
|
}
|
||||||
|
@ -1637,7 +1639,7 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_FireCustomMissile)
|
||||||
|
|
||||||
player_t *player = self->player;
|
player_t *player = self->player;
|
||||||
AWeapon *weapon = player->ReadyWeapon;
|
AWeapon *weapon = player->ReadyWeapon;
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
// Only use ammo if called from a weapon
|
// Only use ammo if called from a weapon
|
||||||
if (useammo && ACTION_CALL_FROM_WEAPON() && weapon)
|
if (useammo && ACTION_CALL_FROM_WEAPON() && weapon)
|
||||||
|
@ -1659,7 +1661,7 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_FireCustomMissile)
|
||||||
// Temporarily adjusts the pitch
|
// Temporarily adjusts the pitch
|
||||||
fixed_t saved_player_pitch = self->pitch;
|
fixed_t saved_player_pitch = self->pitch;
|
||||||
self->pitch -= pitch;
|
self->pitch -= pitch;
|
||||||
AActor * misl=P_SpawnPlayerMissile (self, x, y, z, ti, shootangle, &linetarget, NULL, false, (flags & FPF_NOAUTOAIM) != 0);
|
AActor * misl=P_SpawnPlayerMissile (self, x, y, z, ti, shootangle, &t, NULL, false, (flags & FPF_NOAUTOAIM) != 0);
|
||||||
self->pitch = saved_player_pitch;
|
self->pitch = saved_player_pitch;
|
||||||
|
|
||||||
// automatic handling of seeker missiles
|
// automatic handling of seeker missiles
|
||||||
|
@ -1667,8 +1669,8 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_FireCustomMissile)
|
||||||
{
|
{
|
||||||
if (flags & FPF_TRANSFERTRANSLATION)
|
if (flags & FPF_TRANSFERTRANSLATION)
|
||||||
misl->Translation = self->Translation;
|
misl->Translation = self->Translation;
|
||||||
if (linetarget && (misl->flags2 & MF2_SEEKERMISSILE))
|
if (t.linetarget && !t.unlinked && (misl->flags2 & MF2_SEEKERMISSILE))
|
||||||
misl->tracer = linetarget;
|
misl->tracer = t.linetarget;
|
||||||
if (!(flags & FPF_AIMATANGLE))
|
if (!(flags & FPF_AIMATANGLE))
|
||||||
{
|
{
|
||||||
// This original implementation is to aim straight ahead and then offset
|
// This original implementation is to aim straight ahead and then offset
|
||||||
|
@ -1727,7 +1729,7 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_CustomPunch)
|
||||||
|
|
||||||
angle_t angle;
|
angle_t angle;
|
||||||
int pitch;
|
int pitch;
|
||||||
AActor * linetarget;
|
FTranslatedLineTarget t;
|
||||||
int actualdamage;
|
int actualdamage;
|
||||||
|
|
||||||
if (!norandom)
|
if (!norandom)
|
||||||
|
@ -1736,10 +1738,10 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_CustomPunch)
|
||||||
angle = self->angle + (pr_cwpunch.Random2() << 18);
|
angle = self->angle + (pr_cwpunch.Random2() << 18);
|
||||||
if (range == 0)
|
if (range == 0)
|
||||||
range = MELEERANGE;
|
range = MELEERANGE;
|
||||||
pitch = P_AimLineAttack (self, angle, range, &linetarget);
|
pitch = P_AimLineAttack (self, angle, range, &t);
|
||||||
|
|
||||||
// only use ammo when actually hitting something!
|
// only use ammo when actually hitting something!
|
||||||
if ((flags & CPF_USEAMMO) && linetarget && weapon && ACTION_CALL_FROM_WEAPON())
|
if ((flags & CPF_USEAMMO) && t.linetarget && weapon && ACTION_CALL_FROM_WEAPON())
|
||||||
{
|
{
|
||||||
if (!weapon->DepleteAmmo(weapon->bAltFire, true))
|
if (!weapon->DepleteAmmo(weapon->bAltFire, true))
|
||||||
return 0; // out of ammo
|
return 0; // out of ammo
|
||||||
|
@ -1749,15 +1751,15 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_CustomPunch)
|
||||||
pufftype = PClass::FindActor(NAME_BulletPuff);
|
pufftype = PClass::FindActor(NAME_BulletPuff);
|
||||||
int puffFlags = LAF_ISMELEEATTACK | ((flags & CPF_NORANDOMPUFFZ) ? LAF_NORANDOMPUFFZ : 0);
|
int puffFlags = LAF_ISMELEEATTACK | ((flags & CPF_NORANDOMPUFFZ) ? LAF_NORANDOMPUFFZ : 0);
|
||||||
|
|
||||||
P_LineAttack (self, angle, range, pitch, damage, NAME_Melee, pufftype, puffFlags, &linetarget, &actualdamage);
|
P_LineAttack (self, angle, range, pitch, damage, NAME_Melee, pufftype, puffFlags, &t, &actualdamage);
|
||||||
|
|
||||||
if (!linetarget)
|
if (!t.linetarget)
|
||||||
{
|
{
|
||||||
if (MissSound) S_Sound(self, CHAN_WEAPON, MissSound, 1, ATTN_NORM);
|
if (MissSound) S_Sound(self, CHAN_WEAPON, MissSound, 1, ATTN_NORM);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (lifesteal && !(linetarget->flags5 & MF5_DONTDRAIN))
|
if (lifesteal && !(t.linetarget->flags5 & MF5_DONTDRAIN))
|
||||||
{
|
{
|
||||||
if (flags & CPF_STEALARMOR)
|
if (flags & CPF_STEALARMOR)
|
||||||
{
|
{
|
||||||
|
@ -1794,11 +1796,11 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_CustomPunch)
|
||||||
if (!(flags & CPF_NOTURN))
|
if (!(flags & CPF_NOTURN))
|
||||||
{
|
{
|
||||||
// turn to face target
|
// turn to face target
|
||||||
self->angle = self->AngleTo(linetarget);
|
self->angle = t.SourceAngleToTarget();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flags & CPF_PULLIN) self->flags |= MF_JUSTATTACKED;
|
if (flags & CPF_PULLIN) self->flags |= MF_JUSTATTACKED;
|
||||||
if (flags & CPF_DAGGER) P_DaggerAlert (self, linetarget);
|
if (flags & CPF_DAGGER) P_DaggerAlert (self, t.linetarget);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1900,7 +1902,7 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_CustomRailgun)
|
||||||
if (range == 0) range = 8192*FRACUNIT;
|
if (range == 0) range = 8192*FRACUNIT;
|
||||||
if (sparsity == 0) sparsity = 1;
|
if (sparsity == 0) sparsity = 1;
|
||||||
|
|
||||||
AActor *linetarget;
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
fixedvec3 savedpos = self->Pos();
|
fixedvec3 savedpos = self->Pos();
|
||||||
angle_t saved_angle = self->angle;
|
angle_t saved_angle = self->angle;
|
||||||
|
@ -1923,8 +1925,8 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_CustomRailgun)
|
||||||
{
|
{
|
||||||
self->angle = self->AngleTo(self->target);
|
self->angle = self->AngleTo(self->target);
|
||||||
}
|
}
|
||||||
self->pitch = P_AimLineAttack (self, self->angle, MISSILERANGE, &linetarget, ANGLE_1*60, 0, aim ? self->target : NULL);
|
self->pitch = P_AimLineAttack (self, self->angle, MISSILERANGE, &t, ANGLE_1*60, 0, aim ? self->target : NULL);
|
||||||
if (linetarget == NULL && aim)
|
if (t.linetarget == NULL && aim)
|
||||||
{
|
{
|
||||||
// We probably won't hit the target, but aim at it anyway so we don't look stupid.
|
// We probably won't hit the target, but aim at it anyway so we don't look stupid.
|
||||||
fixedvec2 pos = self->Vec2To(self->target);
|
fixedvec2 pos = self->Vec2To(self->target);
|
||||||
|
@ -3929,6 +3931,7 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_JumpIfTargetInLOS)
|
||||||
|
|
||||||
angle_t an;
|
angle_t an;
|
||||||
AActor *target, *viewport;
|
AActor *target, *viewport;
|
||||||
|
FTranslatedLineTarget t;
|
||||||
|
|
||||||
bool doCheckSight;
|
bool doCheckSight;
|
||||||
|
|
||||||
|
@ -3964,12 +3967,13 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_JumpIfTargetInLOS)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Does the player aim at something that can be shot?
|
// Does the player aim at something that can be shot?
|
||||||
P_AimLineAttack(self, self->angle, MISSILERANGE, &target, (flags & JLOSF_NOAUTOAIM) ? ANGLE_1/2 : 0);
|
P_AimLineAttack(self, self->angle, MISSILERANGE, &t, (flags & JLOSF_NOAUTOAIM) ? ANGLE_1/2 : 0, ALF_PORTALRESTRICT);
|
||||||
|
|
||||||
if (!target)
|
if (!t.linetarget)
|
||||||
{
|
{
|
||||||
ACTION_RETURN_STATE(NULL);
|
ACTION_RETURN_STATE(NULL);
|
||||||
}
|
}
|
||||||
|
target = t.linetarget;
|
||||||
|
|
||||||
switch (flags & (JLOSF_TARGETLOS|JLOSF_FLIPFOV))
|
switch (flags & (JLOSF_TARGETLOS|JLOSF_FLIPFOV))
|
||||||
{
|
{
|
||||||
|
@ -5570,10 +5574,14 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_RadiusGive)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
FBlockThingsIterator it(FBoundingBox(self->X(), self->Y(), distance));
|
FPortalGroupArray check(FPortalGroupArray::PGA_Full3d);
|
||||||
while ((thing = it.Next()))
|
fixed_t mid = self->Z() + self->height / 2;
|
||||||
|
FMultiBlockThingsIterator it(check, self->X(), self->Y(), mid-distance, mid+distance, distance);
|
||||||
|
FMultiBlockThingsIterator::CheckResult cres;
|
||||||
|
|
||||||
|
while ((it.Next(&cres)))
|
||||||
{
|
{
|
||||||
given += DoRadiusGive(self, thing, item, amount, distance, flags, filter, species, mindist);
|
given += DoRadiusGive(self, cres.thing, item, amount, distance, flags, filter, species, mindist);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ACTION_RETURN_INT(given);
|
ACTION_RETURN_INT(given);
|
||||||
|
|
|
@ -84,7 +84,7 @@ struct FCompileContext
|
||||||
|
|
||||||
struct ExpVal
|
struct ExpVal
|
||||||
{
|
{
|
||||||
ExpValType Type;
|
PType *Type;
|
||||||
union
|
union
|
||||||
{
|
{
|
||||||
int Int;
|
int Int;
|
||||||
|
@ -94,13 +94,13 @@ struct ExpVal
|
||||||
|
|
||||||
ExpVal()
|
ExpVal()
|
||||||
{
|
{
|
||||||
Type = VAL_Int;
|
Type = TypeSInt32;
|
||||||
Int = 0;
|
Int = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
~ExpVal()
|
~ExpVal()
|
||||||
{
|
{
|
||||||
if (Type == VAL_String)
|
if (Type == TypeString)
|
||||||
{
|
{
|
||||||
((FString *)&pointer)->~FString();
|
((FString *)&pointer)->~FString();
|
||||||
}
|
}
|
||||||
|
@ -108,14 +108,14 @@ struct ExpVal
|
||||||
|
|
||||||
ExpVal(const FString &str)
|
ExpVal(const FString &str)
|
||||||
{
|
{
|
||||||
Type = VAL_String;
|
Type = TypeString;
|
||||||
::new(&pointer) FString(str);
|
::new(&pointer) FString(str);
|
||||||
}
|
}
|
||||||
|
|
||||||
ExpVal(const ExpVal &o)
|
ExpVal(const ExpVal &o)
|
||||||
{
|
{
|
||||||
Type = o.Type;
|
Type = o.Type;
|
||||||
if (o.Type == VAL_String)
|
if (o.Type == TypeString)
|
||||||
{
|
{
|
||||||
::new(&pointer) FString(*(FString *)&o.pointer);
|
::new(&pointer) FString(*(FString *)&o.pointer);
|
||||||
}
|
}
|
||||||
|
@ -127,12 +127,12 @@ struct ExpVal
|
||||||
|
|
||||||
ExpVal &operator=(const ExpVal &o)
|
ExpVal &operator=(const ExpVal &o)
|
||||||
{
|
{
|
||||||
if (Type == VAL_String)
|
if (Type == TypeString)
|
||||||
{
|
{
|
||||||
((FString *)&pointer)->~FString();
|
((FString *)&pointer)->~FString();
|
||||||
}
|
}
|
||||||
Type = o.Type;
|
Type = o.Type;
|
||||||
if (o.Type == VAL_String)
|
if (o.Type == TypeString)
|
||||||
{
|
{
|
||||||
::new(&pointer) FString(*(FString *)&o.pointer);
|
::new(&pointer) FString(*(FString *)&o.pointer);
|
||||||
}
|
}
|
||||||
|
@ -145,27 +145,30 @@ struct ExpVal
|
||||||
|
|
||||||
int GetInt() const
|
int GetInt() const
|
||||||
{
|
{
|
||||||
return Type == VAL_Int? Int : Type == VAL_Float? int(Float) : 0;
|
int regtype = Type->GetRegType();
|
||||||
|
return regtype == REGT_INT ? Int : regtype == REGT_FLOAT ? int(Float) : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
double GetFloat() const
|
double GetFloat() const
|
||||||
{
|
{
|
||||||
return Type == VAL_Int? double(Int) : Type == VAL_Float? Float : 0;
|
int regtype = Type->GetRegType();
|
||||||
|
return regtype == REGT_INT ? double(Int) : regtype == REGT_FLOAT ? Float : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
const FString GetString() const
|
const FString GetString() const
|
||||||
{
|
{
|
||||||
return Type == VAL_String ? *(FString *)&pointer : Type == VAL_Name ? FString(FName(ENamedName(Int)).GetChars()) : "";
|
return Type == TypeString ? *(FString *)&pointer : Type == TypeName ? FString(FName(ENamedName(Int)).GetChars()) : "";
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GetBool() const
|
bool GetBool() const
|
||||||
{
|
{
|
||||||
return (Type == VAL_Int || Type == VAL_Sound) ? !!Int : Type == VAL_Float? Float!=0. : false;
|
int regtype = Type->GetRegType();
|
||||||
|
return regtype == REGT_INT ? !!Int : regtype == REGT_FLOAT ? Float!=0. : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
FName GetName() const
|
FName GetName() const
|
||||||
{
|
{
|
||||||
return Type == VAL_Name? ENamedName(Int) : NAME_None;
|
return Type == TypeName ? ENamedName(Int) : NAME_None;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -195,7 +198,7 @@ protected:
|
||||||
{
|
{
|
||||||
isresolved = false;
|
isresolved = false;
|
||||||
ScriptPosition = pos;
|
ScriptPosition = pos;
|
||||||
ValueType = VAL_Unresolved;
|
ValueType = NULL;
|
||||||
}
|
}
|
||||||
public:
|
public:
|
||||||
virtual ~FxExpression() {}
|
virtual ~FxExpression() {}
|
||||||
|
@ -205,26 +208,17 @@ public:
|
||||||
virtual bool isConstant() const;
|
virtual bool isConstant() const;
|
||||||
virtual void RequestAddress();
|
virtual void RequestAddress();
|
||||||
virtual VMFunction *GetDirectFunction();
|
virtual VMFunction *GetDirectFunction();
|
||||||
|
bool IsNumeric() const { return ValueType->GetRegType() == REGT_INT || ValueType->GetRegType() == REGT_FLOAT; }
|
||||||
|
bool IsPointer() const { return ValueType->GetRegType() == REGT_POINTER; }
|
||||||
|
|
||||||
virtual ExpEmit Emit(VMFunctionBuilder *build);
|
virtual ExpEmit Emit(VMFunctionBuilder *build);
|
||||||
|
|
||||||
FScriptPosition ScriptPosition;
|
FScriptPosition ScriptPosition;
|
||||||
FExpressionType ValueType;
|
PType *ValueType;
|
||||||
|
|
||||||
bool isresolved;
|
bool isresolved;
|
||||||
};
|
};
|
||||||
|
|
||||||
class FxParameter : public FxExpression
|
|
||||||
{
|
|
||||||
FxExpression *Operand;
|
|
||||||
|
|
||||||
public:
|
|
||||||
FxParameter(FxExpression*);
|
|
||||||
~FxParameter();
|
|
||||||
FxExpression *Resolve(FCompileContext&);
|
|
||||||
ExpEmit Emit(VMFunctionBuilder *build);
|
|
||||||
};
|
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
//
|
//
|
||||||
// FxIdentifier
|
// FxIdentifier
|
||||||
|
@ -288,35 +282,35 @@ class FxConstant : public FxExpression
|
||||||
public:
|
public:
|
||||||
FxConstant(int val, const FScriptPosition &pos) : FxExpression(pos)
|
FxConstant(int val, const FScriptPosition &pos) : FxExpression(pos)
|
||||||
{
|
{
|
||||||
ValueType = value.Type = VAL_Int;
|
ValueType = value.Type = TypeSInt32;
|
||||||
value.Int = val;
|
value.Int = val;
|
||||||
isresolved = true;
|
isresolved = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
FxConstant(double val, const FScriptPosition &pos) : FxExpression(pos)
|
FxConstant(double val, const FScriptPosition &pos) : FxExpression(pos)
|
||||||
{
|
{
|
||||||
ValueType = value.Type = VAL_Float;
|
ValueType = value.Type = TypeFloat64;
|
||||||
value.Float = val;
|
value.Float = val;
|
||||||
isresolved = true;
|
isresolved = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
FxConstant(FSoundID val, const FScriptPosition &pos) : FxExpression(pos)
|
FxConstant(FSoundID val, const FScriptPosition &pos) : FxExpression(pos)
|
||||||
{
|
{
|
||||||
ValueType = value.Type = VAL_Sound;
|
ValueType = value.Type = TypeSound;
|
||||||
value.Int = val;
|
value.Int = val;
|
||||||
isresolved = true;
|
isresolved = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
FxConstant(FName val, const FScriptPosition &pos) : FxExpression(pos)
|
FxConstant(FName val, const FScriptPosition &pos) : FxExpression(pos)
|
||||||
{
|
{
|
||||||
ValueType = value.Type = VAL_Name;
|
ValueType = value.Type = TypeName;
|
||||||
value.Int = val;
|
value.Int = val;
|
||||||
isresolved = true;
|
isresolved = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
FxConstant(const FString &str, const FScriptPosition &pos) : FxExpression(pos)
|
FxConstant(const FString &str, const FScriptPosition &pos) : FxExpression(pos)
|
||||||
{
|
{
|
||||||
ValueType = VAL_String;
|
ValueType = TypeString;
|
||||||
value = ExpVal(str);
|
value = ExpVal(str);
|
||||||
isresolved = true;
|
isresolved = true;
|
||||||
}
|
}
|
||||||
|
@ -327,19 +321,19 @@ public:
|
||||||
ValueType = cv.Type;
|
ValueType = cv.Type;
|
||||||
isresolved = true;
|
isresolved = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
FxConstant(const PClass *val, const FScriptPosition &pos) : FxExpression(pos)
|
FxConstant(PClass *val, const FScriptPosition &pos) : FxExpression(pos)
|
||||||
{
|
{
|
||||||
value.pointer = (void*)val;
|
value.pointer = (void*)val;
|
||||||
ValueType = val;
|
ValueType = val;
|
||||||
value.Type = VAL_Class;
|
value.Type = NewClassPointer(RUNTIME_CLASS(AActor));
|
||||||
isresolved = true;
|
isresolved = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
FxConstant(FState *state, const FScriptPosition &pos) : FxExpression(pos)
|
FxConstant(FState *state, const FScriptPosition &pos) : FxExpression(pos)
|
||||||
{
|
{
|
||||||
value.pointer = state;
|
value.pointer = state;
|
||||||
ValueType = value.Type = VAL_State;
|
ValueType = value.Type = TypeState;
|
||||||
isresolved = true;
|
isresolved = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -864,6 +858,7 @@ public:
|
||||||
FxExpression *Resolve(FCompileContext&);
|
FxExpression *Resolve(FCompileContext&);
|
||||||
ExpEmit Emit(VMFunctionBuilder *build);
|
ExpEmit Emit(VMFunctionBuilder *build);
|
||||||
ExpEmit Emit(VMFunctionBuilder *build, bool tailcall);
|
ExpEmit Emit(VMFunctionBuilder *build, bool tailcall);
|
||||||
|
bool CheckEmitCast(VMFunctionBuilder *build, bool returnit, ExpEmit ®);
|
||||||
unsigned GetArgCount() const { return ArgList == NULL ? 0 : ArgList->Size(); }
|
unsigned GetArgCount() const { return ArgList == NULL ? 0 : ArgList->Size(); }
|
||||||
VMFunction *GetVMFunction() const { return Function->Variants[0].Implementation; }
|
VMFunction *GetVMFunction() const { return Function->Variants[0].Implementation; }
|
||||||
bool IsDirectFunction();
|
bool IsDirectFunction();
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -127,7 +127,7 @@ FxExpression *ParseParameter(FScanner &sc, PClassActor *cls, PType *type, bool c
|
||||||
v = MAKEARGB(1, RPART(c), GPART(c), BPART(c));
|
v = MAKEARGB(1, RPART(c), GPART(c), BPART(c));
|
||||||
}
|
}
|
||||||
ExpVal val;
|
ExpVal val;
|
||||||
val.Type = VAL_Color;
|
val.Type = TypeColor;
|
||||||
val.Int = v;
|
val.Int = v;
|
||||||
x = new FxConstant(val, sc);
|
x = new FxConstant(val, sc);
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,7 +77,7 @@ FxVMFunctionCall *DoActionSpecials(FScanner &sc, FState & state, Baggage &bag)
|
||||||
if (special > 0 && min_args >= 0)
|
if (special > 0 && min_args >= 0)
|
||||||
{
|
{
|
||||||
FArgumentList *args = new FArgumentList;
|
FArgumentList *args = new FArgumentList;
|
||||||
args->Push(new FxParameter(new FxConstant(special, sc)));
|
args->Push(new FxConstant(special, sc));
|
||||||
i = 0;
|
i = 0;
|
||||||
|
|
||||||
// Make this consistent with all other parameter parsing
|
// Make this consistent with all other parameter parsing
|
||||||
|
@ -85,7 +85,7 @@ FxVMFunctionCall *DoActionSpecials(FScanner &sc, FState & state, Baggage &bag)
|
||||||
{
|
{
|
||||||
while (i < 5)
|
while (i < 5)
|
||||||
{
|
{
|
||||||
args->Push(new FxParameter(new FxIntCast(ParseExpression(sc, bag.Info))));
|
args->Push(new FxIntCast(ParseExpression(sc, bag.Info)));
|
||||||
i++;
|
i++;
|
||||||
if (!sc.CheckToken (',')) break;
|
if (!sc.CheckToken (',')) break;
|
||||||
}
|
}
|
||||||
|
@ -441,6 +441,45 @@ static PPrototype *ReturnCheck(PPrototype *proto1, PPrototype *proto2, FScanner
|
||||||
//
|
//
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
||||||
|
static FxExpression *ParseIf(FScanner &sc, FState state, FString statestring, Baggage &bag,
|
||||||
|
PPrototype *&retproto, bool &lastwasret)
|
||||||
|
{
|
||||||
|
FxExpression *add, *cond;
|
||||||
|
FxExpression *true_part, *false_part = NULL;
|
||||||
|
PPrototype *true_proto, *false_proto = NULL;
|
||||||
|
bool true_ret, false_ret = false;
|
||||||
|
sc.MustGetStringName("(");
|
||||||
|
cond = ParseExpression(sc, bag.Info);
|
||||||
|
sc.MustGetStringName(")");
|
||||||
|
sc.MustGetStringName("{"); // braces are mandatory
|
||||||
|
true_part = ParseActions(sc, state, statestring, bag, true_proto, true_ret);
|
||||||
|
sc.MustGetString();
|
||||||
|
if (sc.Compare("else"))
|
||||||
|
{
|
||||||
|
if (sc.CheckString("if"))
|
||||||
|
{
|
||||||
|
false_part = ParseIf(sc, state, statestring, bag, false_proto, false_ret);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sc.MustGetStringName("{"); // braces are still mandatory
|
||||||
|
false_part = ParseActions(sc, state, statestring, bag, false_proto, false_ret);
|
||||||
|
sc.MustGetString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
add = new FxIfStatement(cond, true_part, false_part, sc);
|
||||||
|
retproto = ReturnCheck(retproto, true_proto, sc);
|
||||||
|
retproto = ReturnCheck(retproto, false_proto, sc);
|
||||||
|
// If one side does not end with a return, we don't consider the if statement
|
||||||
|
// to end with a return. If the else case is missing, it can never be considered
|
||||||
|
// as ending with a return.
|
||||||
|
if (true_ret && false_ret)
|
||||||
|
{
|
||||||
|
lastwasret = true;
|
||||||
|
}
|
||||||
|
return add;
|
||||||
|
}
|
||||||
|
|
||||||
FxExpression *ParseActions(FScanner &sc, FState state, FString statestring, Baggage &bag,
|
FxExpression *ParseActions(FScanner &sc, FState state, FString statestring, Baggage &bag,
|
||||||
PPrototype *&retproto, bool &endswithret)
|
PPrototype *&retproto, bool &endswithret)
|
||||||
{
|
{
|
||||||
|
@ -467,32 +506,7 @@ FxExpression *ParseActions(FScanner &sc, FState state, FString statestring, Bagg
|
||||||
lastwasret = false;
|
lastwasret = false;
|
||||||
if (sc.Compare("if"))
|
if (sc.Compare("if"))
|
||||||
{ // Hangle an if statement
|
{ // Hangle an if statement
|
||||||
FxExpression *cond;
|
add = ParseIf(sc, state, statestring, bag, proto, lastwasret);
|
||||||
FxExpression *true_part, *false_part = NULL;
|
|
||||||
PPrototype *true_proto, *false_proto = NULL;
|
|
||||||
bool true_ret, false_ret = false;
|
|
||||||
sc.MustGetStringName("(");
|
|
||||||
cond = ParseExpression(sc, bag.Info);
|
|
||||||
sc.MustGetStringName(")");
|
|
||||||
sc.MustGetStringName("{"); // braces are mandatory
|
|
||||||
true_part = ParseActions(sc, state, statestring, bag, true_proto, true_ret);
|
|
||||||
sc.MustGetString();
|
|
||||||
if (sc.Compare("else"))
|
|
||||||
{
|
|
||||||
sc.MustGetStringName("{"); // braces are still mandatory
|
|
||||||
false_part = ParseActions(sc, state, statestring, bag, false_proto, false_ret);
|
|
||||||
sc.MustGetString();
|
|
||||||
}
|
|
||||||
add = new FxIfStatement(cond, true_part, false_part, sc);
|
|
||||||
proto = ReturnCheck(proto, true_proto, sc);
|
|
||||||
proto = ReturnCheck(proto, false_proto, sc);
|
|
||||||
// If one side does not end with a return, we don't consider the if statement
|
|
||||||
// to end with a return. If the else case is missing, it can never be considered
|
|
||||||
// as ending with a return.
|
|
||||||
if (true_ret && false_ret)
|
|
||||||
{
|
|
||||||
lastwasret = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (sc.Compare("return"))
|
else if (sc.Compare("return"))
|
||||||
{ // Handle a return statement
|
{ // Handle a return statement
|
||||||
|
@ -569,7 +583,7 @@ FxVMFunctionCall *ParseAction(FScanner &sc, FState state, FString statestring, B
|
||||||
}
|
}
|
||||||
return call;
|
return call;
|
||||||
}
|
}
|
||||||
sc.ScriptError("Invalid state parameter %s\n", sc.String);
|
sc.ScriptError("Invalid parameter '%s'\n", sc.String);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -647,7 +661,7 @@ void ParseFunctionParameters(FScanner &sc, PClassActor *cls, TArray<FxExpression
|
||||||
// Use the generic parameter parser for everything else
|
// Use the generic parameter parser for everything else
|
||||||
x = ParseParameter(sc, cls, params[pnum], false);
|
x = ParseParameter(sc, cls, params[pnum], false);
|
||||||
}
|
}
|
||||||
out_params.Push(new FxParameter(x));
|
out_params.Push(x);
|
||||||
pnum++;
|
pnum++;
|
||||||
numparams--;
|
numparams--;
|
||||||
if (numparams > 0)
|
if (numparams > 0)
|
||||||
|
|
|
@ -1,96 +0,0 @@
|
||||||
#ifndef THINGDEF_TYPE_H
|
|
||||||
#define THINGDEF_TYPE_H
|
|
||||||
//==========================================================================
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//==========================================================================
|
|
||||||
|
|
||||||
enum ExpValType
|
|
||||||
{
|
|
||||||
VAL_Unresolved, // type not yet known
|
|
||||||
VAL_Int, // integer number
|
|
||||||
VAL_Float, // floating point number
|
|
||||||
VAL_Unknown, // nothing
|
|
||||||
VAL_Array, // Array (very limited right now)
|
|
||||||
VAL_Object, // Object reference
|
|
||||||
VAL_Class, // Class reference
|
|
||||||
VAL_Sound, // Sound identifier. Internally it's an int.
|
|
||||||
VAL_Name, // A Name
|
|
||||||
VAL_String, // A string
|
|
||||||
VAL_Color, // A color
|
|
||||||
VAL_State, // A State pointer
|
|
||||||
|
|
||||||
// only used for accessing external variables to ensure proper conversion
|
|
||||||
VAL_Fixed,
|
|
||||||
VAL_Angle,
|
|
||||||
VAL_Bool,
|
|
||||||
};
|
|
||||||
|
|
||||||
struct FExpressionType
|
|
||||||
{
|
|
||||||
BYTE Type;
|
|
||||||
BYTE BaseType;
|
|
||||||
WORD size; // for arrays;
|
|
||||||
const PClass *ClassType;
|
|
||||||
|
|
||||||
FExpressionType &operator=(int typeval)
|
|
||||||
{
|
|
||||||
Type = typeval;
|
|
||||||
BaseType = 0;
|
|
||||||
size = 0;
|
|
||||||
ClassType = NULL;
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
FExpressionType &operator=(const PClass *cls)
|
|
||||||
{
|
|
||||||
Type = VAL_Class;
|
|
||||||
BaseType = 0;
|
|
||||||
size = 0;
|
|
||||||
ClassType = cls;
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool operator==(int typeval) const
|
|
||||||
{
|
|
||||||
return Type == typeval;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool operator!=(int typeval) const
|
|
||||||
{
|
|
||||||
return Type != typeval;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool isNumeric() const
|
|
||||||
{
|
|
||||||
return Type == VAL_Float || Type == VAL_Int;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool isPointer() const
|
|
||||||
{
|
|
||||||
return Type == VAL_Object || Type == VAL_Class;
|
|
||||||
}
|
|
||||||
|
|
||||||
FExpressionType GetBaseType() const
|
|
||||||
{
|
|
||||||
FExpressionType ret = *this;
|
|
||||||
ret.Type = BaseType;
|
|
||||||
ret.BaseType = 0;
|
|
||||||
ret.size = 0;
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// currently only used for args[].
|
|
||||||
// Needs to be done differently for a generic implementation!
|
|
||||||
void MakeArray(int siz)
|
|
||||||
{
|
|
||||||
BaseType = Type;
|
|
||||||
Type = VAL_Array;
|
|
||||||
size = siz;
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -45,7 +45,13 @@
|
||||||
#include <winternl.h>
|
#include <winternl.h>
|
||||||
#endif
|
#endif
|
||||||
#ifndef __GNUC__
|
#ifndef __GNUC__
|
||||||
|
#if _MSC_VER
|
||||||
|
#pragma warning(disable:4091) // this silences a warning for a bogus definition in the Windows 8.1 SDK.
|
||||||
|
#endif
|
||||||
#include <dbghelp.h>
|
#include <dbghelp.h>
|
||||||
|
#if _MSC_VER
|
||||||
|
#pragma warning(default:4091)
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#include <commctrl.h>
|
#include <commctrl.h>
|
||||||
#include <commdlg.h>
|
#include <commdlg.h>
|
||||||
|
|
Binary file not shown.
|
@ -900,7 +900,7 @@ void VMDisasm(FILE *out, const VMOP *code, int codesize, const VMScriptFunction
|
||||||
#define PARAM_STATE_AT(p,x) assert((p) < numparam); assert(param[p].Type == REGT_POINTER && (param[p].atag == ATAG_STATE || param[p].a == NULL)); FState *x = (FState *)param[p].a;
|
#define PARAM_STATE_AT(p,x) assert((p) < numparam); assert(param[p].Type == REGT_POINTER && (param[p].atag == ATAG_STATE || param[p].a == NULL)); FState *x = (FState *)param[p].a;
|
||||||
#define PARAM_POINTER_AT(p,x,type) assert((p) < numparam); assert(param[p].Type == REGT_POINTER); type *x = (type *)param[p].a;
|
#define PARAM_POINTER_AT(p,x,type) assert((p) < numparam); assert(param[p].Type == REGT_POINTER); type *x = (type *)param[p].a;
|
||||||
#define PARAM_OBJECT_AT(p,x,type) assert((p) < numparam); assert(param[p].Type == REGT_POINTER && (param[p].atag == ATAG_OBJECT || param[p].a == NULL)); type *x = (type *)param[p].a; assert(x == NULL || x->IsKindOf(RUNTIME_CLASS(type)));
|
#define PARAM_OBJECT_AT(p,x,type) assert((p) < numparam); assert(param[p].Type == REGT_POINTER && (param[p].atag == ATAG_OBJECT || param[p].a == NULL)); type *x = (type *)param[p].a; assert(x == NULL || x->IsKindOf(RUNTIME_CLASS(type)));
|
||||||
#define PARAM_CLASS_AT(p,x,base) assert((p) < numparam); assert(param[p].Type == REGT_POINTER && (param[p].atag == ATAG_OBJECT || param[p].a == NULL)); base::MetaClass *x = (base::MetaClass *)param[p].a; assert(x != NULL && x->IsDescendantOf(RUNTIME_CLASS(base)));
|
#define PARAM_CLASS_AT(p,x,base) assert((p) < numparam); assert(param[p].Type == REGT_POINTER && (param[p].atag == ATAG_OBJECT || param[p].a == NULL)); base::MetaClass *x = (base::MetaClass *)param[p].a; assert(x == NULL || x->IsDescendantOf(RUNTIME_CLASS(base)));
|
||||||
|
|
||||||
// For optional paramaters. These have dangling elses for you to fill in the default assignment. e.g.:
|
// For optional paramaters. These have dangling elses for you to fill in the default assignment. e.g.:
|
||||||
// PARAM_INT_OPT(0,myint) { myint = 55; }
|
// PARAM_INT_OPT(0,myint) { myint = 55; }
|
||||||
|
@ -918,7 +918,7 @@ void VMDisasm(FILE *out, const VMOP *code, int codesize, const VMScriptFunction
|
||||||
#define PARAM_STATE_OPT_AT(p,x) FState *x; if ((p) < numparam && param[p].Type != REGT_NIL) { assert(param[p].Type == REGT_POINTER && (param[p].atag == ATAG_STATE || param[p].a == NULL)); x = (FState *)param[p].a; } else
|
#define PARAM_STATE_OPT_AT(p,x) FState *x; if ((p) < numparam && param[p].Type != REGT_NIL) { assert(param[p].Type == REGT_POINTER && (param[p].atag == ATAG_STATE || param[p].a == NULL)); x = (FState *)param[p].a; } else
|
||||||
#define PARAM_POINTER_OPT_AT(p,x,type) type *x; if ((p) < numparam && param[p].Type != REGT_NIL) { assert(param[p].Type == REGT_POINTER); x = (type *)param[p].a; } else
|
#define PARAM_POINTER_OPT_AT(p,x,type) type *x; if ((p) < numparam && param[p].Type != REGT_NIL) { assert(param[p].Type == REGT_POINTER); x = (type *)param[p].a; } else
|
||||||
#define PARAM_OBJECT_OPT_AT(p,x,type) type *x; if ((p) < numparam && param[p].Type != REGT_NIL) { assert(param[p].Type == REGT_POINTER && (param[p].atag == ATAG_OBJECT || param[p].a == NULL)); x = (type *)param[p].a; assert(x == NULL || x->IsKindOf(RUNTIME_CLASS(type))); } else
|
#define PARAM_OBJECT_OPT_AT(p,x,type) type *x; if ((p) < numparam && param[p].Type != REGT_NIL) { assert(param[p].Type == REGT_POINTER && (param[p].atag == ATAG_OBJECT || param[p].a == NULL)); x = (type *)param[p].a; assert(x == NULL || x->IsKindOf(RUNTIME_CLASS(type))); } else
|
||||||
#define PARAM_CLASS_OPT_AT(p,x,base) base::MetaClass *x; if ((p) < numparam && param[p].Type != REGT_NIL) { assert(param[p].Type == REGT_POINTER && (param[p].atag == ATAG_OBJECT || param[p].a == NULL)); x = (base::MetaClass *)param[p].a; assert(x != NULL && x->IsDescendantOf(RUNTIME_CLASS(base))); } else
|
#define PARAM_CLASS_OPT_AT(p,x,base) base::MetaClass *x; if ((p) < numparam && param[p].Type != REGT_NIL) { assert(param[p].Type == REGT_POINTER && (param[p].atag == ATAG_OBJECT || param[p].a == NULL)); x = (base::MetaClass *)param[p].a; assert(x == NULL || x->IsDescendantOf(RUNTIME_CLASS(base))); } else
|
||||||
|
|
||||||
// The above, but with an automatically increasing position index.
|
// The above, but with an automatically increasing position index.
|
||||||
#define PARAM_PROLOGUE int paramnum = -1;
|
#define PARAM_PROLOGUE int paramnum = -1;
|
||||||
|
|
|
@ -1,182 +0,0 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="9,00"
|
|
||||||
Name="fixrtext"
|
|
||||||
ProjectGUID="{DA47396F-60C1-4BDE-A977-7F7DE461CF77}"
|
|
||||||
RootNamespace="fixrtext"
|
|
||||||
Keyword="Win32Proj"
|
|
||||||
TargetFrameworkVersion="131072"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="2"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="1"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<File
|
|
||||||
RelativePath=".\CMakeLists.txt"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\fixrtext.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
|
@ -1,431 +0,0 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="9,00"
|
|
||||||
Name="lemon"
|
|
||||||
ProjectGUID="{0F80ACBF-460E-44F0-B28E-B3272D1774A7}"
|
|
||||||
RootNamespace="lemon"
|
|
||||||
Keyword="Win32Proj"
|
|
||||||
TargetFrameworkVersion="131072"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
<Platform
|
|
||||||
Name="x64"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="."
|
|
||||||
IntermediateDirectory="Build"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
|
||||||
StringPooling="true"
|
|
||||||
ExceptionHandling="0"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
CallingConvention="0"
|
|
||||||
CompileAs="1"
|
|
||||||
DisableSpecificWarnings="4996"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
OutputFile="$(OutDir)/lemon.exe"
|
|
||||||
LinkIncremental="2"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="0"
|
|
||||||
EnableCOMDATFolding="0"
|
|
||||||
OptimizeForWindows98="1"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|x64"
|
|
||||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="1"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
|
||||||
StringPooling="true"
|
|
||||||
ExceptionHandling="0"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="0"
|
|
||||||
CallingConvention="0"
|
|
||||||
CompileAs="1"
|
|
||||||
DisableSpecificWarnings="4996"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
OutputFile="$(OutDir)/lemon.exe"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="false"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
OptimizeForWindows98="1"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="."
|
|
||||||
IntermediateDirectory="Build"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="1"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
|
||||||
StringPooling="true"
|
|
||||||
ExceptionHandling="0"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="0"
|
|
||||||
CompileAs="1"
|
|
||||||
DisableSpecificWarnings="4996"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
OutputFile="$(OutDir)/lemon.exe"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="false"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
OptimizeForWindows98="1"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|x64"
|
|
||||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="1"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
|
||||||
StringPooling="true"
|
|
||||||
ExceptionHandling="0"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="0"
|
|
||||||
CallingConvention="0"
|
|
||||||
CompileAs="1"
|
|
||||||
DisableSpecificWarnings="4996"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
OutputFile="$(OutDir)/lemon.exe"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="false"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
OptimizeForWindows98="1"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<File
|
|
||||||
RelativePath=".\CMakeLists.txt"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\lemon.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
DisableSpecificWarnings="4996"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Detect64BitPortabilityProblems="false"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|x64"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Detect64BitPortabilityProblems="false"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\lemon.html"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\lempar.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|x64"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|x64"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
|
@ -1,845 +0,0 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8.00"
|
|
||||||
Name="re2c"
|
|
||||||
ProjectGUID="{667D2EE7-C357-49E2-9BAB-0A4A45F0F76E}"
|
|
||||||
RootNamespace="re2c"
|
|
||||||
Keyword="Win32Proj"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
<Platform
|
|
||||||
Name="x64"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="."
|
|
||||||
IntermediateDirectory="Build"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="1"
|
|
||||||
AdditionalIncludeDirectories=""$(ProjectDir)""
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
|
||||||
StringPooling="true"
|
|
||||||
ExceptionHandling="1"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="false"
|
|
||||||
DebugInformationFormat="0"
|
|
||||||
CallingConvention="0"
|
|
||||||
DisableSpecificWarnings="4996"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
OutputFile="$(OutDir)/re2c.exe"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="false"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
OptimizeForWindows98="1"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|x64"
|
|
||||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="1"
|
|
||||||
AdditionalIncludeDirectories=""$(ProjectDir)""
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
|
||||||
StringPooling="true"
|
|
||||||
ExceptionHandling="1"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="false"
|
|
||||||
DebugInformationFormat="0"
|
|
||||||
CallingConvention="0"
|
|
||||||
DisableSpecificWarnings="4996;4244"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
OutputFile="$(OutDir)/re2c.exe"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="false"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
OptimizeForWindows98="1"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="."
|
|
||||||
IntermediateDirectory="Build"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="1"
|
|
||||||
AdditionalIncludeDirectories=""$(ProjectDir)""
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
|
||||||
StringPooling="true"
|
|
||||||
ExceptionHandling="1"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="false"
|
|
||||||
DebugInformationFormat="0"
|
|
||||||
DisableSpecificWarnings="4996"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
OutputFile="$(OutDir)/re2c.exe"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="false"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
OptimizeForWindows98="1"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|x64"
|
|
||||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="1"
|
|
||||||
AdditionalIncludeDirectories=""$(ProjectDir)""
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
|
||||||
StringPooling="true"
|
|
||||||
ExceptionHandling="1"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="false"
|
|
||||||
DebugInformationFormat="0"
|
|
||||||
CallingConvention="0"
|
|
||||||
DisableSpecificWarnings="4996;4244"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
OutputFile="$(OutDir)/re2c.exe"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="false"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
OptimizeForWindows98="1"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="Source Files"
|
|
||||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
|
||||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\adfa\adfa.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\codegen\bitmap.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\nfa\calc_size.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\parse\code.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\compile.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\skeleton\control_flow.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\dfa\determinization.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\display.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\codegen\emit_action.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\codegen\emit_dfa.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\encoding\enc.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\dfa\fillpoints.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\fixed_length.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\skeleton\generate_code.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\skeleton\generate_data.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\codegen\go_construct.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\codegen\go_destruct.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\codegen\go_emit.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\codegen\go_used_labels.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\parse\input.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\codegen\input_api.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\codegen\label.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\parse\lex.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\parse\lex_conf.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\main.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\skeleton\match_empty.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\skeleton\maxlen.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\dfa\minimization.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\conf\msg.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\nfa\nfa.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\conf\opt.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\codegen\output.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\conf\parse_opts.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\parse\parser.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\adfa\prepare.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\codegen\print.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\util\range.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\encoding\range_suffix.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\regexp.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\rule_rank.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\util\s_to_n32_unsafe.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\parse\scanner.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\skeleton\skeleton.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\nfa\split.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\parse\unescape.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\skeleton\unreachable.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\encoding\utf16\utf16.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\encoding\utf16\utf16_range.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\encoding\utf16\utf16_regexp.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\encoding\utf8\utf8.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\encoding\utf8\utf8_range.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\encoding\utf8\utf8_regexp.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\conf\warn.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\skeleton\way.cc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Header Files"
|
|
||||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
|
||||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\adfa\action.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\adfa\adfa.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\util\allocate.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\util\attribute.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\codegen\bitmap.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\util\c99_stdint.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\encoding\case.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\parse\code.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\compile.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\config.msc.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\util\counter.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\dfa\dfa.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\codegen\emit.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\empty_class_policy.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\encoding\enc.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\parse\extop.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\util\forbid_copy.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\util\free_list.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\globals.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\codegen\go.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\codegen\indent.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\parse\input.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\codegen\input_api.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\codegen\label.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\parse\loc.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\util\local_increment.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\conf\msg.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\nfa\nfa.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\conf\opt.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\util\ord_hash_set.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\codegen\output.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\parse\parser.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\skeleton\path.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\codegen\print.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\util\range.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\encoding\range_suffix.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\regexp.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\regexp_alt.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\regexp_cat.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\regexp_close.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\regexp_match.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\regexp_null.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\regexp_rule.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\rule_rank.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\parse\rules.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\util\s_to_n32_unsafe.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\parse\scanner.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\skeleton\skeleton.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\util\smart_ptr.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\parse\spec.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\util\static_assert.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\util\u32lim.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\parse\unescape.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\util\uniq_vector.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\encoding\utf16\utf16.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\encoding\utf16\utf16_range.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\encoding\utf16\utf16_regexp.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\encoding\utf8\utf8.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\encoding\utf8\utf8_range.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\regexp\encoding\utf8\utf8_regexp.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\conf\warn.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\ir\skeleton\way.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\parse\y.tab.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<File
|
|
||||||
RelativePath=".\CMakeLists.txt"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
|
@ -1,376 +0,0 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="9,00"
|
|
||||||
Name="updaterevision"
|
|
||||||
ProjectGUID="{6077B7D6-349F-4077-B552-3BC302EF5859}"
|
|
||||||
RootNamespace="updaterevision"
|
|
||||||
Keyword="Win32Proj"
|
|
||||||
TargetFrameworkVersion="131072"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
<Platform
|
|
||||||
Name="x64"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
CommandLine=""
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="2"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
AdditionalManifestFiles="$(InputDir)trustinfo.txt"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="2"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
CommandLine=""
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
AdditionalManifestFiles="$(InputDir)trustinfo.txt"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
AdditionalManifestFiles="$(InputDir)trustinfo.txt"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<File
|
|
||||||
RelativePath=".\CMakeLists.txt"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\trustinfo.txt"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\updaterevision.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
DisableSpecificWarnings="4996"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|x64"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
DisableSpecificWarnings="4996"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
DisableSpecificWarnings="4996"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|x64"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
DisableSpecificWarnings="4996"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
|
@ -1,356 +0,0 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="9,00"
|
|
||||||
Name="zipdir"
|
|
||||||
ProjectGUID="{24A19C02-F041-4AB0-A1A1-02E1E88EDBD3}"
|
|
||||||
RootNamespace="makewad"
|
|
||||||
Keyword="Win32Proj"
|
|
||||||
TargetFrameworkVersion="131072"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
<Platform
|
|
||||||
Name="x64"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="Debug"
|
|
||||||
IntermediateDirectory="Debug"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories=""$(SolutionDir)\lzma\C";"$(SolutionDir)\zlib";"$(SolutionDir)\bzip2";"${SolutionDir)\ppmd""
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
CompileAs="0"
|
|
||||||
DisableSpecificWarnings="4996"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="2"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
ProgramDatabaseFile="$(OutDir)/makewad.pdb"
|
|
||||||
SubSystem="1"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
CommandLine="copy "$(TargetPath)" "$(ProjectDir)\$(TargetFileName)""
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|x64"
|
|
||||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories=""$(SolutionDir)\lzma\C";"$(SolutionDir)\zlib";"$(SolutionDir)\bzip2";"${SolutionDir)\ppmd""
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
CompileAs="0"
|
|
||||||
DisableSpecificWarnings="4996"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="2"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
ProgramDatabaseFile="$(OutDir)/makewad.pdb"
|
|
||||||
SubSystem="1"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
CommandLine="copy "$(TargetPath)" "$(ProjectDir)\$(TargetFileName)""
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="Release"
|
|
||||||
IntermediateDirectory="Release"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories=""$(SolutionDir)\lzma\C";"$(SolutionDir)\zlib";"$(SolutionDir)\bzip2";"${SolutionDir)\ppmd""
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
CallingConvention="1"
|
|
||||||
CompileAs="0"
|
|
||||||
DisableSpecificWarnings="4996"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
CommandLine="copy "$(TargetPath)" "$(ProjectDir)\$(TargetFileName)""
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|x64"
|
|
||||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories=""$(SolutionDir)\lzma\C";"$(SolutionDir)\zlib";"$(SolutionDir)\bzip2";"${SolutionDir)\ppmd""
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
CompileAs="0"
|
|
||||||
DisableSpecificWarnings="4996"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
CommandLine="copy "$(TargetPath)" "$(ProjectDir)\$(TargetFileName)""
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<File
|
|
||||||
RelativePath=".\CMakeLists.txt"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\zipdir.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
|
@ -1,216 +1,217 @@
|
||||||
#include "xlat/doom.txt"
|
#include "xlat/doom.txt"
|
||||||
|
|
||||||
// xlat file for Eternity levels.
|
// xlat file for Eternity levels.
|
||||||
// Many specials are unsupported, especially portal stuff.
|
// Many specials are unsupported, especially portal stuff.
|
||||||
// Some unsupported linedefs wouldn't be hard to add to ZDoom,
|
// Some unsupported linedefs wouldn't be hard to add to ZDoom,
|
||||||
// or are already there but implemented differently. Others are
|
// or are already there but implemented differently. Others are
|
||||||
// practically impossible, or aren't worth the effort.
|
// practically impossible, or aren't worth the effort.
|
||||||
|
|
||||||
define Unsupported (0)
|
define Unsupported (0)
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
Init_EDSector = 253,
|
Init_EDSector = 253,
|
||||||
Init_EDLine = 254
|
Init_EDLine = 254
|
||||||
}
|
}
|
||||||
|
|
||||||
// The tag for such a line is actually a key to find, in an ExtraData lump
|
// The tag for such a line is actually a key to find, in an ExtraData lump
|
||||||
// indicated for the current level by the EMAPINFO lump, what line special
|
// indicated for the current level by the EMAPINFO lump, what line special
|
||||||
// to actually use. This is how parameterized linedefs are used by Eternity
|
// to actually use. This is how parameterized linedefs are used by Eternity
|
||||||
// in the Doom format.
|
// in the Doom format.
|
||||||
|
|
||||||
270 = 0, Static_Init(tag, Init_EDLine) // "ExtraDataSpecial"
|
270 = 0, Static_Init(tag, Init_EDLine) // "ExtraDataSpecial"
|
||||||
|
|
||||||
// These two are standard MBF specials, no need to redefine them, they're in xlat/doom.txt
|
// These two are standard MBF specials, no need to redefine them, they're in xlat/doom.txt
|
||||||
// 271 = 0, Static_Init (tag, Init_TransferSky, 0)
|
// 271 = 0, Static_Init (tag, Init_TransferSky, 0)
|
||||||
// 272 = 0, Static_Init (tag, Init_TransferSky, 1)
|
// 272 = 0, Static_Init (tag, Init_TransferSky, 1)
|
||||||
|
|
||||||
// Small script starters. Small is considered deprecated now anyway.
|
273 = WALK|REP|FIRSTSIDE, ACS_Execute(tag)
|
||||||
273 = 0, Unsupported() // "WR_StartScript_1S"
|
274 = WALK, ACS_Execute(tag)
|
||||||
274 = 0, Unsupported() // "W1_StartScript"
|
275 = WALK|FIRSTSIDE, ACS_Execute(tag)
|
||||||
275 = 0, Unsupported() // "W1_StartScript_1S"
|
276 = USE|REP, ACS_Execute(tag)
|
||||||
276 = 0, Unsupported() // "SR_StartScript"
|
277 = USE, ACS_Execute(tag)
|
||||||
277 = 0, Unsupported() // "S1_StartScript"
|
278 = SHOOT|REP, ACS_Execute(tag)
|
||||||
278 = 0, Unsupported() // "GR_StartScript"
|
279 = SHOOT, ACS_Execute(tag)
|
||||||
279 = 0, Unsupported() // "G1_StartScript"
|
280 = WALK|REP, ACS_Execute(tag)
|
||||||
280 = 0, Unsupported() // "WR_StartScript"
|
|
||||||
|
// 3D mid-textures
|
||||||
// 3D mid-textures
|
281 = 0, Sector_Attach3DMidtex(tag, 0, 0) // "3DMidTex_MoveWithFloor"
|
||||||
281 = 0, Sector_Attach3DMidtex(tag, 0, 0) // "3DMidTex_MoveWithFloor"
|
282 = 0, Sector_Attach3DMidtex(tag, 0, 1) // "3DMidTex_MoveWithCeiling"
|
||||||
282 = 0, Sector_Attach3DMidtex(tag, 0, 1) // "3DMidTex_MoveWithCeiling"
|
|
||||||
|
// Plane portals are not supported in ZDoom, though they probably wouldn't be too hard to implement.
|
||||||
// Plane portals are not supported in ZDoom, though they probably wouldn't be too hard to implement.
|
283 = 0, Sector_SetPortal(tag,3, 1, 0, 0) // "Portal_PlaneCeiling"
|
||||||
283 = 0, Sector_SetPortal(tag,3, 1, 0, 0) // "Portal_PlaneCeiling"
|
284 = 0, Sector_SetPortal(tag,3, 0, 0, 0) // "Portal_PlaneFloor"
|
||||||
284 = 0, Sector_SetPortal(tag,3, 0, 0, 0) // "Portal_PlaneFloor"
|
285 = 0, Sector_SetPortal(tag,3, 2, 0, 0) // "Portal_PlaneFloorCeiling"
|
||||||
285 = 0, Sector_SetPortal(tag,3, 2, 0, 0) // "Portal_PlaneFloorCeiling"
|
286 = 0, Sector_SetPortal(tag,4, 1, 0, 0) // "Portal_HorizonCeiling"
|
||||||
286 = 0, Sector_SetPortal(tag,4, 1, 0, 0) // "Portal_HorizonCeiling"
|
287 = 0, Sector_SetPortal(tag,4, 0, 0, 0) // "Portal_HorizonFloor"
|
||||||
287 = 0, Sector_SetPortal(tag,4, 0, 0, 0) // "Portal_HorizonFloor"
|
288 = 0, Sector_SetPortal(tag,4, 2, 0, 0) // "Portal_HorizonFloorCeiling"
|
||||||
288 = 0, Sector_SetPortal(tag,4, 2, 0, 0) // "Portal_HorizonFloorCeiling"
|
289 = 0, Sector_SetPortal(0, 5, 0, tag) // "Portal_LineTransfer"
|
||||||
289 = 0, Sector_SetPortal(0, 5, 0, tag) // "Portal_LineTransfer"
|
|
||||||
|
// Skybox portals
|
||||||
// Skybox portals
|
290 = 0, Sector_SetPortal(tag, 2, 1, 1, 0) // "Portal_SkyboxCeiling"
|
||||||
290 = 0, Sector_SetPortal(tag, 2, 1, 1, 0) // "Portal_SkyboxCeiling"
|
291 = 0, Sector_SetPortal(tag, 2, 0, 1, 0) // "Portal_SkyboxFloor"
|
||||||
291 = 0, Sector_SetPortal(tag, 2, 0, 1, 0) // "Portal_SkyboxFloor"
|
292 = 0, Sector_SetPortal(tag, 2, 2, 1, 0) // "Portal_SkyboxFloorCeiling"
|
||||||
292 = 0, Sector_SetPortal(tag, 2, 2, 1, 0) // "Portal_SkyboxFloorCeiling"
|
|
||||||
|
// Sector specials
|
||||||
// Sector specials
|
293 = 0, Sector_SetWind(tag, 0, 0, 1) // "TransferHereticWind"
|
||||||
293 = 0, Sector_SetWind(tag, 0, 0, 1) // "TransferHereticWind"
|
294 = 0, Sector_SetCurrent(tag, 0, 0, 1) // "TransferHereticCurrent"
|
||||||
294 = 0, Sector_SetCurrent(tag, 0, 0, 1) // "TransferHereticCurrent"
|
|
||||||
|
// Anchored portals -- Sector_SetPortal needs to allow to set both floor and ceiling, though.
|
||||||
// Anchored portals -- Sector_SetPortal needs to allow to set both floor and ceiling, though.
|
295 = 0, Sector_SetPortal(tag, 0, 1, 1, 0) // "Portal_AnchoredCeiling"
|
||||||
295 = 0, Sector_SetPortal(tag, 0, 1, 1, 0) // "Portal_AnchoredCeiling"
|
296 = 0, Sector_SetPortal(tag, 0, 0, 1, 0) // "Portal_AnchoredFloor"
|
||||||
296 = 0, Sector_SetPortal(tag, 0, 0, 1, 0) // "Portal_AnchoredFloor"
|
297 = 0, Sector_SetPortal(tag, 0, 2, 1, 0) // "Portal_AnchoredFloorCeiling"
|
||||||
297 = 0, Sector_SetPortal(tag, 0, 2, 1, 0) // "Portal_AnchoredFloorCeiling"
|
298 = 0, Sector_SetPortal(tag, 0, 1, 0, 0) // "Portal_AnchorLine"
|
||||||
298 = 0, Sector_SetPortal(tag, 0, 1, 0, 0) // "Portal_AnchorLine"
|
299 = 0, Sector_SetPortal(tag, 0, 0, 0, 0) // "Portal_AnchorLineFloor"
|
||||||
299 = 0, Sector_SetPortal(tag, 0, 0, 0, 0) // "Portal_AnchorLineFloor"
|
|
||||||
|
// Parameterized linedefs
|
||||||
// Parameterized linedefs
|
// They are never used directly in Doom-format maps. Instead, it passes through ExtraData and 270.
|
||||||
// They are never used directly in Doom-format maps. Instead, it passes through ExtraData and 270.
|
// Hexen format is incomplete; and Quasar wants to use ZDoom-compatible special values for UDMF.
|
||||||
// Hexen format is incomplete; and Quasar wants to use ZDoom-compatible special values for UDMF.
|
// The translation here is for the odd Extradata that specifies them as numbers.
|
||||||
// The translation here is for the odd Extradata that specifies them as numbers.
|
300 = 0, Door_Raise(0)
|
||||||
300 = 0, Door_Raise(0)
|
301 = 0, Door_Open(0)
|
||||||
301 = 0, Door_Open(0)
|
302 = 0, Door_Close(0)
|
||||||
302 = 0, Door_Close(0)
|
303 = 0, Door_CloseWaitOpen(0)
|
||||||
303 = 0, Door_CloseWaitOpen(0)
|
304 = 0, Door_WaitRaise(0)
|
||||||
304 = 0, Door_WaitRaise(0)
|
305 = 0, Door_WaitClose(0)
|
||||||
305 = 0, Door_WaitClose(0)
|
306 = 0, Floor_RaiseToHighest(0)
|
||||||
306 = 0, Floor_RaiseToHighest(0)
|
307 = 0, Floor_LowerToHighestEE(0)
|
||||||
307 = 0, Floor_LowerToHighestEE(0)
|
308 = 0, Floor_RaiseToLowest(0)
|
||||||
308 = 0, Floor_RaiseToLowest(0)
|
309 = 0, Floor_LowerToLowest(0)
|
||||||
309 = 0, Floor_LowerToLowest(0)
|
310 = 0, Floor_RaiseToNearest(0)
|
||||||
310 = 0, Floor_RaiseToNearest(0)
|
311 = 0, Floor_LowerToNearest(0)
|
||||||
311 = 0, Floor_LowerToNearest(0)
|
312 = 0, Floor_RaiseToLowestCeiling(0)
|
||||||
312 = 0, Floor_RaiseToLowestCeiling(0)
|
313 = 0, Floor_LowerToLowestCeiling(0)
|
||||||
313 = 0, Floor_LowerToLowestCeiling(0)
|
314 = 0, Floor_RaiseToCeiling(0)
|
||||||
314 = 0, Floor_RaiseToCeiling(0)
|
315 = 0, Floor_RaiseByTexture(0)
|
||||||
315 = 0, Floor_RaiseByTexture(0)
|
316 = 0, Floor_LowerByTexture(0)
|
||||||
316 = 0, Floor_LowerByTexture(0)
|
317 = 0, Floor_RaiseByValue(0)
|
||||||
317 = 0, Floor_RaiseByValue(0)
|
318 = 0, Floor_LowerByValue(0)
|
||||||
318 = 0, Floor_LowerByValue(0)
|
319 = 0, Floor_MoveToValue(0)
|
||||||
319 = 0, Floor_MoveToValue(0)
|
320 = 0, Floor_RaiseInstant(0)
|
||||||
320 = 0, Floor_RaiseInstant(0)
|
321 = 0, Floor_LowerInstant(0)
|
||||||
321 = 0, Floor_LowerInstant(0)
|
322 = 0, Floor_ToCeilingInstant(0)
|
||||||
322 = 0, Floor_ToCeilingInstant(0)
|
323 = 0, Ceiling_RaiseToHighest(0)
|
||||||
323 = 0, Ceiling_RaiseToHighest(0)
|
324 = 0, Ceiling_ToHighestInstant(0)
|
||||||
324 = 0, Ceiling_ToHighestInstant(0)
|
325 = 0, Ceiling_RaiseToNearest(0)
|
||||||
325 = 0, Ceiling_RaiseToNearest(0)
|
326 = 0, Ceiling_LowerToNearest(0)
|
||||||
326 = 0, Ceiling_LowerToNearest(0)
|
327 = 0, Ceiling_RaiseToLowest(0)
|
||||||
327 = 0, Ceiling_RaiseToLowest(0)
|
328 = 0, Ceiling_LowerToLowest(0)
|
||||||
328 = 0, Ceiling_LowerToLowest(0)
|
329 = 0, Ceiling_RaiseToHighestFloor(0)
|
||||||
329 = 0, Ceiling_RaiseToHighestFloor(0)
|
330 = 0, Ceiling_LowerToHighestFloor(0)
|
||||||
330 = 0, Ceiling_LowerToHighestFloor(0)
|
331 = 0, Ceiling_ToFloorInstant(0)
|
||||||
331 = 0, Ceiling_ToFloorInstant(0)
|
332 = 0, Ceiling_LowerToFloor(0)
|
||||||
332 = 0, Ceiling_LowerToFloor(0)
|
333 = 0, Ceiling_RaiseByTexture(0)
|
||||||
333 = 0, Ceiling_RaiseByTexture(0)
|
334 = 0, Ceiling_LowerByTexture(0)
|
||||||
334 = 0, Ceiling_LowerByTexture(0)
|
335 = 0, Ceiling_RaiseByValue(0)
|
||||||
335 = 0, Ceiling_RaiseByValue(0)
|
336 = 0, Ceiling_LowerByValue(0)
|
||||||
336 = 0, Ceiling_LowerByValue(0)
|
337 = 0, Ceiling_MoveToValue(0)
|
||||||
337 = 0, Ceiling_MoveToValue(0)
|
338 = 0, Ceiling_RaiseInstant(0)
|
||||||
338 = 0, Ceiling_RaiseInstant(0)
|
339 = 0, Ceiling_LowerInstant(0)
|
||||||
339 = 0, Ceiling_LowerInstant(0)
|
340 = 0, Stairs_BuildUpDoom(0)
|
||||||
340 = 0, Stairs_BuildUpDoom(0)
|
341 = 0, Stairs_BuildDownDoom(0)
|
||||||
341 = 0, Stairs_BuildDownDoom(0)
|
342 = 0, Stairs_BuildUpDoomSync(0)
|
||||||
342 = 0, Stairs_BuildUpDoomSync(0)
|
343 = 0, Stairs_BuildDownDoomSync(0)
|
||||||
343 = 0, Stairs_BuildDownDoomSync(0)
|
|
||||||
|
// Two-way portals are not supported yet either
|
||||||
// Two-way portals are not supported yet either
|
344 = 0, Unsupported() // "Portal_TwowayCeiling"
|
||||||
344 = 0, Unsupported() // "Portal_TwowayCeiling"
|
345 = 0, Unsupported() // "Portal_TwowayFloor"
|
||||||
345 = 0, Unsupported() // "Portal_TwowayFloor"
|
346 = 0, Unsupported() // "Portal_TwowayAnchorLine"
|
||||||
346 = 0, Unsupported() // "Portal_TwowayAnchorLine"
|
347 = 0, Unsupported() // "Portal_TwowayAnchorLineFloor"
|
||||||
347 = 0, Unsupported() // "Portal_TwowayAnchorLineFloor"
|
|
||||||
|
// More parameterized linedefs
|
||||||
// More parameterized linedefs
|
348 = 0, Polyobj_StartLine(0)
|
||||||
348 = 0, Polyobj_StartLine(0)
|
349 = 0, Polyobj_ExplicitLine(0)
|
||||||
349 = 0, Polyobj_ExplicitLine(0)
|
350 = 0, Polyobj_DoorSlide(0)
|
||||||
350 = 0, Polyobj_DoorSlide(0)
|
351 = 0, Polyobj_DoorSwing(0)
|
||||||
351 = 0, Polyobj_DoorSwing(0)
|
352 = 0, Polyobj_Move(0)
|
||||||
352 = 0, Polyobj_Move(0)
|
353 = 0, Polyobj_OR_Move(0)
|
||||||
353 = 0, Polyobj_OR_Move(0)
|
354 = 0, Polyobj_RotateRight(0)
|
||||||
354 = 0, Polyobj_RotateRight(0)
|
355 = 0, Polyobj_OR_RotateRight(0)
|
||||||
355 = 0, Polyobj_OR_RotateRight(0)
|
356 = 0, Polyobj_RotateLeft(0)
|
||||||
356 = 0, Polyobj_RotateLeft(0)
|
357 = 0, Polyobj_OR_RotateLeft(0)
|
||||||
357 = 0, Polyobj_OR_RotateLeft(0)
|
|
||||||
|
// Eternity's linked portals, vertical link version (floor-to-ceiling)
|
||||||
// Eternity's linked portals, vertical link version (floor-to-ceiling)
|
358 = 0, Sector_SetPortal(tag, 6, 1, 1, 0) // "Portal_AnchoredCeiling"
|
||||||
358 = 0, Sector_SetPortal(tag, 6, 1, 1, 0) // "Portal_AnchoredCeiling"
|
359 = 0, Sector_SetPortal(tag, 6, 0, 1, 0) // "Portal_AnchoredFloor"
|
||||||
359 = 0, Sector_SetPortal(tag, 6, 0, 1, 0) // "Portal_AnchoredFloor"
|
360 = 0, Sector_SetPortal(tag, 6, 1, 0, 0) // "Portal_AnchorLine"
|
||||||
360 = 0, Sector_SetPortal(tag, 6, 1, 0, 0) // "Portal_AnchorLine"
|
361 = 0, Sector_SetPortal(tag, 6, 0, 0, 0) // "Portal_AnchorLineFloor"
|
||||||
361 = 0, Sector_SetPortal(tag, 6, 0, 0, 0) // "Portal_AnchorLineFloor"
|
|
||||||
|
// Even more parameterized linedefs
|
||||||
// Even more parameterized linedefs
|
362 = 0, Pillar_Build(0)
|
||||||
362 = 0, Pillar_Build(0)
|
363 = 0, Pillar_BuildAndCrush(0)
|
||||||
363 = 0, Pillar_BuildAndCrush(0)
|
364 = 0, Pillar_Open(0)
|
||||||
364 = 0, Pillar_Open(0)
|
365 = 0, ACS_Execute(0)
|
||||||
365 = 0, ACS_Execute(0)
|
366 = 0, ACS_Suspend(0)
|
||||||
366 = 0, ACS_Suspend(0)
|
367 = 0, ACS_Terminate(0)
|
||||||
367 = 0, ACS_Terminate(0)
|
368 = 0, Light_RaiseByValue(0)
|
||||||
368 = 0, Light_RaiseByValue(0)
|
369 = 0, Light_LowerByValue(0)
|
||||||
369 = 0, Light_LowerByValue(0)
|
370 = 0, Light_ChangeToValue(0)
|
||||||
370 = 0, Light_ChangeToValue(0)
|
371 = 0, Light_Fade(0)
|
||||||
371 = 0, Light_Fade(0)
|
372 = 0, Light_Glow(0)
|
||||||
372 = 0, Light_Glow(0)
|
373 = 0, Light_Flicker(0)
|
||||||
373 = 0, Light_Flicker(0)
|
374 = 0, Light_Strobe(0)
|
||||||
374 = 0, Light_Strobe(0)
|
375 = 0, Radius_Quake(0)
|
||||||
375 = 0, Radius_Quake(0)
|
|
||||||
|
// Eternity's linked portals, horizontal link version (wall-to-wall)
|
||||||
// Eternity's linked portals, horizontal link version (wall-to-wall)
|
376 = 0, Line_SetPortal(0, tag, 4) // "Portal_LinkedLineToLine"
|
||||||
376 = 0, Line_SetPortal(0, tag, 4) // "Portal_LinkedLineToLine"
|
377 = 0, Line_SetPortal(1, tag, 4) // "Portal_LinkedLineToLineAnchor"
|
||||||
377 = 0, Line_SetPortal(1, tag, 4) // "Portal_LinkedLineToLineAnchor"
|
|
||||||
|
// The famous Hexen linedef
|
||||||
// The famous Hexen linedef
|
378 = 0, Line_SetIdentification(0)
|
||||||
378 = 0, Line_SetIdentification(0)
|
|
||||||
|
// Attached sectors == linked sectors; However, the implementation in Eternity
|
||||||
// Attached sectors == linked sectors; However, the implementation in Eternity
|
// is based on front sectors of tagged lines, not on sector tags. So instead
|
||||||
// is based on front sectors of tagged lines, not on sector tags. So instead
|
// of Sector_SetLink, we pass through Static_Init to translate those.
|
||||||
// of Sector_SetLink, we pass through Static_Init to translate those.
|
379 = 0, Static_Init(tag, 3, 1) // "Attach_SetCeilingControl"
|
||||||
379 = 0, Static_Init(tag, 3, 1) // "Attach_SetCeilingControl"
|
380 = 0, Static_Init(tag, 3, 0) // "Attach_SetFloorControl"
|
||||||
380 = 0, Static_Init(tag, 3, 0) // "Attach_SetFloorControl"
|
381 = 0, Static_Init(0, 3, 0, 1) // "Attach_FloorToControl"
|
||||||
381 = 0, Static_Init(0, 3, 0, 1) // "Attach_FloorToControl"
|
382 = 0, Static_Init(0, 3, 1, 2) // "Attach_CeilingToControl"
|
||||||
382 = 0, Static_Init(0, 3, 1, 2) // "Attach_CeilingToControl"
|
383 = 0, Static_Init(0, 3, 0, 5) // "Attach_MirrorFloorToControl"
|
||||||
383 = 0, Static_Init(0, 3, 0, 5) // "Attach_MirrorFloorToControl"
|
384 = 0, Static_Init(0, 3, 0, 10) // "Attach_MirrorCeilingToControl"
|
||||||
384 = 0, Static_Init(0, 3, 0, 10) // "Attach_MirrorCeilingToControl"
|
|
||||||
|
// Attach tagged portal to front sector
|
||||||
// Attach tagged portal to front sector
|
385 = 0, Sector_SetPortal(0, 1, 3, tag) // "Apply_PortalToFrontsector"
|
||||||
385 = 0, Sector_SetPortal(0, 1, 3, tag) // "Apply_PortalToFrontsector"
|
|
||||||
|
// Slopes!
|
||||||
// Slopes!
|
386 = 0, Plane_Align (1, 0) // "Slope_FrontsectorFloor"
|
||||||
386 = 0, Plane_Align (1, 0) // "Slope_FrontsectorFloor"
|
387 = 0, Plane_Align (0, 1) // "Slope_FrontsectorCeiling"
|
||||||
387 = 0, Plane_Align (0, 1) // "Slope_FrontsectorCeiling"
|
388 = 0, Plane_Align (1, 1) // "Slope_FrontsectorFloorAndCeiling"
|
||||||
388 = 0, Plane_Align (1, 1) // "Slope_FrontsectorFloorAndCeiling"
|
389 = 0, Plane_Align (2, 0) // "Slope_BacksectorFloor"
|
||||||
389 = 0, Plane_Align (2, 0) // "Slope_BacksectorFloor"
|
390 = 0, Plane_Align (0, 2) // "Slope_BacksectorCeiling"
|
||||||
390 = 0, Plane_Align (0, 2) // "Slope_BacksectorCeiling"
|
391 = 0, Plane_Align (2, 2) // "Slope_BacksectorFloorAndCeiling"
|
||||||
391 = 0, Plane_Align (2, 2) // "Slope_BacksectorFloorAndCeiling"
|
392 = 0, Plane_Align (2, 1) // "Slope_BackFloorAndFrontCeiling"
|
||||||
392 = 0, Plane_Align (2, 1) // "Slope_BackFloorAndFrontCeiling"
|
393 = 0, Plane_Align (1, 2) // "Slope_BackCeilingAndFrontFloor"
|
||||||
393 = 0, Plane_Align (1, 2) // "Slope_BackCeilingAndFrontFloor"
|
394 = 0, Plane_Copy (tag, 0) // "Slope_FrontFloorToTaggedSlope"
|
||||||
394 = 0, Plane_Copy (tag, 0) // "Slope_FrontFloorToTaggedSlope"
|
395 = 0, Plane_Copy (0, tag) // "Slope_FrontCeilingToTaggedSlope"
|
||||||
395 = 0, Plane_Copy (0, tag) // "Slope_FrontCeilingToTaggedSlope"
|
396 = 0, Plane_Copy(tag, tag)// "Slope_FrontFloorAndCeilingToTaggedSlope"
|
||||||
396 = 0, Plane_Copy(tag, tag)// "Slope_FrontFloorAndCeilingToTaggedSlope"
|
|
||||||
|
// Last parameterized linedefs
|
||||||
// Last parameterized linedefs
|
397 = 0, Floor_Waggle(0)
|
||||||
397 = 0, Floor_Waggle(0)
|
398 = 0, Thing_Spawn(0)
|
||||||
398 = 0, Thing_Spawn(0)
|
399 = 0, Thing_SpawnNoFog(0)
|
||||||
399 = 0, Thing_SpawnNoFog(0)
|
400 = 0, Teleport_EndGame(0)
|
||||||
400 = 0, Teleport_EndGame(0)
|
|
||||||
|
401 = 0, Static_Init(tag, Init_EDSector)
|
||||||
401 = 0, Static_Init(tag, Init_EDSector)
|
|
||||||
|
402 = 0, Thing_Projectile(0)
|
||||||
402 = 0, Thing_Projectile(0)
|
403 = 0, Thing_ProjectileGravity(0)
|
||||||
403 = 0, Thing_ProjectileGravity(0)
|
404 = 0, Thing_Activate(0)
|
||||||
404 = 0, Thing_Activate(0)
|
405 = 0, Thing_Deactivate(0)
|
||||||
405 = 0, Thing_Deactivate(0)
|
410 = 0, Plat_PerpetualRaise(0)
|
||||||
410 = 0, Plat_PerpetualRaise(0)
|
411 = 0, Plat_Stop(0)
|
||||||
411 = 0, Plat_Stop(0)
|
412 = 0, Plat_DownWaitUpStay(0)
|
||||||
412 = 0, Plat_DownWaitUpStay(0)
|
413 = 0, Plat_DownByValue(0)
|
||||||
413 = 0, Plat_DownByValue(0)
|
414 = 0, Plat_UpWaitDownStay(0)
|
||||||
414 = 0, Plat_UpWaitDownStay(0)
|
415 = 0, Plat_UpByValue(0)
|
||||||
415 = 0, Plat_UpByValue(0)
|
416 = 0, Floor_LowerToHighest(0)
|
||||||
416 = 0, Floor_LowerToHighest(0)
|
420 = 0, ACS_ExecuteWithResult(0)
|
||||||
420 = 0, ACS_ExecuteWithResult(0)
|
421 = 0, Thing_ChangeTID(0)
|
||||||
421 = 0, Thing_ChangeTID(0)
|
422 = 0, Thing_Raise(0)
|
||||||
422 = 0, Thing_Raise(0)
|
423 = 0, Thing_Stop(0)
|
||||||
423 = 0, Thing_Stop(0)
|
424 = 0, ThrustThing(0)
|
||||||
424 = 0, ThrustThing(0)
|
425 = 0, ThrustThingZ(0)
|
||||||
425 = 0, ThrustThingZ(0)
|
426 = 0, DamageThing(0)
|
||||||
426 = 0, DamageThing(0)
|
427 = 0, Thing_Damage(0)
|
||||||
427 = 0, Thing_Damage(0)
|
428 = 0, Thing_Destroy(0)
|
||||||
428 = 0, Thing_Destroy(0)
|
429 = 0, Door_LockedRaise(0)
|
||||||
|
430 = 0, ACS_LockedExecute(0)
|
||||||
|
|
|
@ -1,121 +0,0 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="9,00"
|
|
||||||
Name="wadsrc"
|
|
||||||
ProjectGUID="{1D179D4B-F008-431B-8C72-111F8372584F}"
|
|
||||||
RootNamespace="wadsrc"
|
|
||||||
Keyword="MakeFileProj"
|
|
||||||
TargetFrameworkVersion="131072"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
<Platform
|
|
||||||
Name="x64"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="Debug"
|
|
||||||
IntermediateDirectory="Debug"
|
|
||||||
ConfigurationType="10"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
Description="Checking gzdoom.pk3..."
|
|
||||||
CommandLine=""$(SolutionDir)tools\zipdir\zipdir.exe" -ud "$(InputDir)gzdoom.pk3" "$(InputDir)static"
copy "$(InputDir)gzdoom.pk3" "$(SolutionDir)..\gzdoom.pk3"
"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|x64"
|
|
||||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="10"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
Description="Checking gzdoom.pk3..."
|
|
||||||
CommandLine=""$(SolutionDir)tools\zipdir\zipdir.exe" -ud "$(InputDir)gzdoom.pk3" "$(InputDir)static"
copy "$(InputDir)gzdoom.pk3" "$(SolutionDir)..\gzdoom.pk3"
"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="Release"
|
|
||||||
IntermediateDirectory="Release"
|
|
||||||
ConfigurationType="10"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
Description="Checking gzdoom.pk3..."
|
|
||||||
CommandLine=""$(SolutionDir)tools\zipdir\zipdir.exe" -ud "$(InputDir)gzdoom.pk3" "$(InputDir)static"
copy "$(InputDir)gzdoom.pk3" "$(SolutionDir)..\gzdoom.pk3"
"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|x64"
|
|
||||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="10"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
Description="Checking gzdoom.pk3..."
|
|
||||||
CommandLine=""$(SolutionDir)tools\zipdir\zipdir.exe" -ud "$(InputDir)gzdoom.pk3" "$(InputDir)static"
copy "$(InputDir)gzdoom.pk3" "$(SolutionDir)..\gzdoom.pk3"
"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<File
|
|
||||||
RelativePath=".\CMakeLists.txt"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
177
zdoom.sln
177
zdoom.sln
|
@ -1,177 +0,0 @@
|
||||||
Microsoft Visual Studio Solution File, Format Version 9.00
|
|
||||||
# Visual Studio 2005
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zdoom", "zdoom.vcproj", "{8049475B-5C87-46F9-9358-635218A4EF18}"
|
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
|
||||||
{9B465A9E-E5C7-4577-B559-3CA2F7AE7D96} = {9B465A9E-E5C7-4577-B559-3CA2F7AE7D96}
|
|
||||||
{F9D9E7D4-E1A2-4866-9E85-B1B14137EE63} = {F9D9E7D4-E1A2-4866-9E85-B1B14137EE63}
|
|
||||||
{6077B7D6-349F-4077-B552-3BC302EF5859} = {6077B7D6-349F-4077-B552-3BC302EF5859}
|
|
||||||
{667D2EE7-C357-49E2-9BAB-0A4A45F0F76E} = {667D2EE7-C357-49E2-9BAB-0A4A45F0F76E}
|
|
||||||
{0F80ACBF-460E-44F0-B28E-B3272D1774A7} = {0F80ACBF-460E-44F0-B28E-B3272D1774A7}
|
|
||||||
{DA47396F-60C1-4BDE-A977-7F7DE461CF77} = {DA47396F-60C1-4BDE-A977-7F7DE461CF77}
|
|
||||||
{1D179D4B-F008-431B-8C72-111F8372584F} = {1D179D4B-F008-431B-8C72-111F8372584F}
|
|
||||||
{B68E0ABF-B627-48A3-A92F-D8F827A75054} = {B68E0ABF-B627-48A3-A92F-D8F827A75054}
|
|
||||||
{8997289F-10BF-4678-8BAA-3BB509C84953} = {8997289F-10BF-4678-8BAA-3BB509C84953}
|
|
||||||
{AC3F5340-40CB-4C3A-8AA7-CB7158DB4466} = {AC3F5340-40CB-4C3A-8AA7-CB7158DB4466}
|
|
||||||
{A7DE5C73-D623-4118-A48A-BDFD1FAE97D4} = {A7DE5C73-D623-4118-A48A-BDFD1FAE97D4}
|
|
||||||
{6EB27E78-7C7A-4F08-8E19-957E8EB3A20F} = {6EB27E78-7C7A-4F08-8E19-957E8EB3A20F}
|
|
||||||
EndProjectSection
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "zlib\zlib.vcproj", "{F9D9E7D4-E1A2-4866-9E85-B1B14137EE63}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lemon", "tools\lemon\lemon.vcproj", "{0F80ACBF-460E-44F0-B28E-B3272D1774A7}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "re2c", "tools\re2c\re2c.vcproj", "{667D2EE7-C357-49E2-9BAB-0A4A45F0F76E}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wadsrc", "wadsrc\wadsrc.vcproj", "{1D179D4B-F008-431B-8C72-111F8372584F}"
|
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
|
||||||
{24A19C02-F041-4AB0-A1A1-02E1E88EDBD3} = {24A19C02-F041-4AB0-A1A1-02E1E88EDBD3}
|
|
||||||
EndProjectSection
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "updaterevision", "tools\updaterevision\updaterevision.vcproj", "{6077B7D6-349F-4077-B552-3BC302EF5859}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jpeg-6b", "jpeg-6b\jpeg-6b.vcproj", "{AC3F5340-40CB-4C3A-8AA7-CB7158DB4466}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fixrtext", "tools\fixrtext\fixrtext.vcproj", "{DA47396F-60C1-4BDE-A977-7F7DE461CF77}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dumb_static", "dumb\vc6\dumb_static\dumb_static.vcproj", "{8997289F-10BF-4678-8BAA-3BB509C84953}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdtoa", "gdtoa\gdtoa.vcproj", "{B68E0ABF-B627-48A3-A92F-D8F827A75054}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zipdir", "tools\zipdir\zipdir.vcproj", "{24A19C02-F041-4AB0-A1A1-02E1E88EDBD3}"
|
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
|
||||||
{A7DE5C73-D623-4118-A48A-BDFD1FAE97D4} = {A7DE5C73-D623-4118-A48A-BDFD1FAE97D4}
|
|
||||||
{F9D9E7D4-E1A2-4866-9E85-B1B14137EE63} = {F9D9E7D4-E1A2-4866-9E85-B1B14137EE63}
|
|
||||||
{6EB27E78-7C7A-4F08-8E19-957E8EB3A20F} = {6EB27E78-7C7A-4F08-8E19-957E8EB3A20F}
|
|
||||||
EndProjectSection
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lzmalib", "lzma\lzmalib.vcproj", "{6EB27E78-7C7A-4F08-8E19-957E8EB3A20F}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bzip2", "bzip2\bzip2.vcproj", "{A7DE5C73-D623-4118-A48A-BDFD1FAE97D4}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "game-music-emu", "game-music-emu\game-music-emu.vcproj", "{9B465A9E-E5C7-4577-B559-3CA2F7AE7D96}"
|
|
||||||
EndProject
|
|
||||||
Global
|
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
||||||
Debug|Win32 = Debug|Win32
|
|
||||||
Debug|x64 = Debug|x64
|
|
||||||
Release|Win32 = Release|Win32
|
|
||||||
Release|x64 = Release|x64
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
||||||
{8049475B-5C87-46F9-9358-635218A4EF18}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{8049475B-5C87-46F9-9358-635218A4EF18}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{8049475B-5C87-46F9-9358-635218A4EF18}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{8049475B-5C87-46F9-9358-635218A4EF18}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{8049475B-5C87-46F9-9358-635218A4EF18}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{8049475B-5C87-46F9-9358-635218A4EF18}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{8049475B-5C87-46F9-9358-635218A4EF18}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{8049475B-5C87-46F9-9358-635218A4EF18}.Release|x64.Build.0 = Release|x64
|
|
||||||
{F9D9E7D4-E1A2-4866-9E85-B1B14137EE63}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{F9D9E7D4-E1A2-4866-9E85-B1B14137EE63}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{F9D9E7D4-E1A2-4866-9E85-B1B14137EE63}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{F9D9E7D4-E1A2-4866-9E85-B1B14137EE63}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{F9D9E7D4-E1A2-4866-9E85-B1B14137EE63}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{F9D9E7D4-E1A2-4866-9E85-B1B14137EE63}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{F9D9E7D4-E1A2-4866-9E85-B1B14137EE63}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{F9D9E7D4-E1A2-4866-9E85-B1B14137EE63}.Release|x64.Build.0 = Release|x64
|
|
||||||
{0F80ACBF-460E-44F0-B28E-B3272D1774A7}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{0F80ACBF-460E-44F0-B28E-B3272D1774A7}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{0F80ACBF-460E-44F0-B28E-B3272D1774A7}.Debug|x64.ActiveCfg = Release|Win32
|
|
||||||
{0F80ACBF-460E-44F0-B28E-B3272D1774A7}.Debug|x64.Build.0 = Release|Win32
|
|
||||||
{0F80ACBF-460E-44F0-B28E-B3272D1774A7}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{0F80ACBF-460E-44F0-B28E-B3272D1774A7}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{0F80ACBF-460E-44F0-B28E-B3272D1774A7}.Release|x64.ActiveCfg = Release|Win32
|
|
||||||
{0F80ACBF-460E-44F0-B28E-B3272D1774A7}.Release|x64.Build.0 = Release|Win32
|
|
||||||
{667D2EE7-C357-49E2-9BAB-0A4A45F0F76E}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{667D2EE7-C357-49E2-9BAB-0A4A45F0F76E}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{667D2EE7-C357-49E2-9BAB-0A4A45F0F76E}.Debug|x64.ActiveCfg = Release|Win32
|
|
||||||
{667D2EE7-C357-49E2-9BAB-0A4A45F0F76E}.Debug|x64.Build.0 = Release|Win32
|
|
||||||
{667D2EE7-C357-49E2-9BAB-0A4A45F0F76E}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{667D2EE7-C357-49E2-9BAB-0A4A45F0F76E}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{667D2EE7-C357-49E2-9BAB-0A4A45F0F76E}.Release|x64.ActiveCfg = Release|Win32
|
|
||||||
{667D2EE7-C357-49E2-9BAB-0A4A45F0F76E}.Release|x64.Build.0 = Release|Win32
|
|
||||||
{1D179D4B-F008-431B-8C72-111F8372584F}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{1D179D4B-F008-431B-8C72-111F8372584F}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{1D179D4B-F008-431B-8C72-111F8372584F}.Debug|x64.ActiveCfg = Release|Win32
|
|
||||||
{1D179D4B-F008-431B-8C72-111F8372584F}.Debug|x64.Build.0 = Release|Win32
|
|
||||||
{1D179D4B-F008-431B-8C72-111F8372584F}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{1D179D4B-F008-431B-8C72-111F8372584F}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{1D179D4B-F008-431B-8C72-111F8372584F}.Release|x64.ActiveCfg = Release|Win32
|
|
||||||
{1D179D4B-F008-431B-8C72-111F8372584F}.Release|x64.Build.0 = Release|Win32
|
|
||||||
{6077B7D6-349F-4077-B552-3BC302EF5859}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{6077B7D6-349F-4077-B552-3BC302EF5859}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{6077B7D6-349F-4077-B552-3BC302EF5859}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{6077B7D6-349F-4077-B552-3BC302EF5859}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{6077B7D6-349F-4077-B552-3BC302EF5859}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{6077B7D6-349F-4077-B552-3BC302EF5859}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{6077B7D6-349F-4077-B552-3BC302EF5859}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{6077B7D6-349F-4077-B552-3BC302EF5859}.Release|x64.Build.0 = Release|x64
|
|
||||||
{AC3F5340-40CB-4C3A-8AA7-CB7158DB4466}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{AC3F5340-40CB-4C3A-8AA7-CB7158DB4466}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{AC3F5340-40CB-4C3A-8AA7-CB7158DB4466}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{AC3F5340-40CB-4C3A-8AA7-CB7158DB4466}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{AC3F5340-40CB-4C3A-8AA7-CB7158DB4466}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{AC3F5340-40CB-4C3A-8AA7-CB7158DB4466}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{AC3F5340-40CB-4C3A-8AA7-CB7158DB4466}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{AC3F5340-40CB-4C3A-8AA7-CB7158DB4466}.Release|x64.Build.0 = Release|x64
|
|
||||||
{DA47396F-60C1-4BDE-A977-7F7DE461CF77}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{DA47396F-60C1-4BDE-A977-7F7DE461CF77}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{DA47396F-60C1-4BDE-A977-7F7DE461CF77}.Debug|x64.ActiveCfg = Debug|Win32
|
|
||||||
{DA47396F-60C1-4BDE-A977-7F7DE461CF77}.Debug|x64.Build.0 = Debug|Win32
|
|
||||||
{DA47396F-60C1-4BDE-A977-7F7DE461CF77}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{DA47396F-60C1-4BDE-A977-7F7DE461CF77}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{DA47396F-60C1-4BDE-A977-7F7DE461CF77}.Release|x64.ActiveCfg = Release|Win32
|
|
||||||
{DA47396F-60C1-4BDE-A977-7F7DE461CF77}.Release|x64.Build.0 = Release|Win32
|
|
||||||
{8997289F-10BF-4678-8BAA-3BB509C84953}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{8997289F-10BF-4678-8BAA-3BB509C84953}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{8997289F-10BF-4678-8BAA-3BB509C84953}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{8997289F-10BF-4678-8BAA-3BB509C84953}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{8997289F-10BF-4678-8BAA-3BB509C84953}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{8997289F-10BF-4678-8BAA-3BB509C84953}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{8997289F-10BF-4678-8BAA-3BB509C84953}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{8997289F-10BF-4678-8BAA-3BB509C84953}.Release|x64.Build.0 = Release|x64
|
|
||||||
{B68E0ABF-B627-48A3-A92F-D8F827A75054}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{B68E0ABF-B627-48A3-A92F-D8F827A75054}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{B68E0ABF-B627-48A3-A92F-D8F827A75054}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{B68E0ABF-B627-48A3-A92F-D8F827A75054}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{B68E0ABF-B627-48A3-A92F-D8F827A75054}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{B68E0ABF-B627-48A3-A92F-D8F827A75054}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{B68E0ABF-B627-48A3-A92F-D8F827A75054}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{B68E0ABF-B627-48A3-A92F-D8F827A75054}.Release|x64.Build.0 = Release|x64
|
|
||||||
{24A19C02-F041-4AB0-A1A1-02E1E88EDBD3}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{24A19C02-F041-4AB0-A1A1-02E1E88EDBD3}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{24A19C02-F041-4AB0-A1A1-02E1E88EDBD3}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{24A19C02-F041-4AB0-A1A1-02E1E88EDBD3}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{24A19C02-F041-4AB0-A1A1-02E1E88EDBD3}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{24A19C02-F041-4AB0-A1A1-02E1E88EDBD3}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{24A19C02-F041-4AB0-A1A1-02E1E88EDBD3}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{24A19C02-F041-4AB0-A1A1-02E1E88EDBD3}.Release|x64.Build.0 = Release|x64
|
|
||||||
{6EB27E78-7C7A-4F08-8E19-957E8EB3A20F}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{6EB27E78-7C7A-4F08-8E19-957E8EB3A20F}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{6EB27E78-7C7A-4F08-8E19-957E8EB3A20F}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{6EB27E78-7C7A-4F08-8E19-957E8EB3A20F}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{6EB27E78-7C7A-4F08-8E19-957E8EB3A20F}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{6EB27E78-7C7A-4F08-8E19-957E8EB3A20F}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{6EB27E78-7C7A-4F08-8E19-957E8EB3A20F}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{6EB27E78-7C7A-4F08-8E19-957E8EB3A20F}.Release|x64.Build.0 = Release|x64
|
|
||||||
{A7DE5C73-D623-4118-A48A-BDFD1FAE97D4}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{A7DE5C73-D623-4118-A48A-BDFD1FAE97D4}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{A7DE5C73-D623-4118-A48A-BDFD1FAE97D4}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{A7DE5C73-D623-4118-A48A-BDFD1FAE97D4}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{A7DE5C73-D623-4118-A48A-BDFD1FAE97D4}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{A7DE5C73-D623-4118-A48A-BDFD1FAE97D4}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{A7DE5C73-D623-4118-A48A-BDFD1FAE97D4}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{A7DE5C73-D623-4118-A48A-BDFD1FAE97D4}.Release|x64.Build.0 = Release|x64
|
|
||||||
{9B465A9E-E5C7-4577-B559-3CA2F7AE7D96}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{9B465A9E-E5C7-4577-B559-3CA2F7AE7D96}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{9B465A9E-E5C7-4577-B559-3CA2F7AE7D96}.Debug|x64.ActiveCfg = Release|x64
|
|
||||||
{9B465A9E-E5C7-4577-B559-3CA2F7AE7D96}.Debug|x64.Build.0 = Release|x64
|
|
||||||
{9B465A9E-E5C7-4577-B559-3CA2F7AE7D96}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{9B465A9E-E5C7-4577-B559-3CA2F7AE7D96}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{9B465A9E-E5C7-4577-B559-3CA2F7AE7D96}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{9B465A9E-E5C7-4577-B559-3CA2F7AE7D96}.Release|x64.Build.0 = Release|x64
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
|
||||||
HideSolutionNode = FALSE
|
|
||||||
EndGlobalSection
|
|
||||||
EndGlobal
|
|
6970
zdoom.vcproj
6970
zdoom.vcproj
File diff suppressed because it is too large
Load diff
419
zlib/zlib.vcproj
419
zlib/zlib.vcproj
|
@ -1,419 +0,0 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="9,00"
|
|
||||||
Name="zlib"
|
|
||||||
ProjectGUID="{F9D9E7D4-E1A2-4866-9E85-B1B14137EE63}"
|
|
||||||
RootNamespace="zlib"
|
|
||||||
TargetFrameworkVersion="131072"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
<Platform
|
|
||||||
Name="x64"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory=".\Debug"
|
|
||||||
IntermediateDirectory=".\Debug"
|
|
||||||
ConfigurationType="4"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
RuntimeTypeInfo="false"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
PrecompiledHeaderFile=""
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="_DEBUG"
|
|
||||||
Culture="1033"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|x64"
|
|
||||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="4"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
PrecompiledHeaderFile=""
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="_DEBUG"
|
|
||||||
Culture="1033"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
OutputFile="$(OutDir)\zlib.lib"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory=".\Release"
|
|
||||||
IntermediateDirectory=".\Release"
|
|
||||||
ConfigurationType="4"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
InlineFunctionExpansion="1"
|
|
||||||
PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
|
|
||||||
StringPooling="true"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
PrecompiledHeaderFile=""
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
CallingConvention="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="NDEBUG"
|
|
||||||
Culture="1033"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|x64"
|
|
||||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="4"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
InlineFunctionExpansion="1"
|
|
||||||
PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
|
|
||||||
StringPooling="true"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
PrecompiledHeaderFile=""
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="NDEBUG"
|
|
||||||
Culture="1033"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
OutputFile="$(OutDir)\zlib.lib"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="Source Files"
|
|
||||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\adler32.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\compress.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\crc32.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\deflate.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\infback.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\inffast.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\inflate.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\inftrees.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\trees.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
DisableSpecificWarnings="4267"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\uncompr.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\zutil.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Header Files"
|
|
||||||
Filter="h;hpp;hxx;hm;inl"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\crc32.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\deflate.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\inffast.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\inffixed.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\inflate.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\inftrees.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\trees.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\zconf.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\zlib.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\zutil.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<File
|
|
||||||
RelativePath=".\algorithm.txt"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\CMakeLists.txt"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
Loading…
Reference in a new issue