Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ec32cdcc40 | ||
|
|
570752a7a5 | ||
|
|
f85bdd8a45 | ||
|
|
0c3536ab2f | ||
|
|
fadd294009 | ||
|
|
0ef661392f | ||
|
|
0440f9974b | ||
|
|
e6ff0039f4 | ||
|
|
d0f99a6d28 | ||
|
|
acee40a506 | ||
|
|
f2d81a0bc6 | ||
|
|
a6895e1fda | ||
|
|
54a04f9214 | ||
|
|
4f97d02e41 | ||
|
|
bd2bafe8ae | ||
|
|
0a87b227d3 | ||
|
|
e1fd02765a | ||
|
|
758549ceca | ||
|
|
0917179043 | ||
|
|
e00f0215cc | ||
|
|
baabec77f7 | ||
|
|
4c50659091 | ||
|
|
fdc89a23ea | ||
|
|
e2f5f4c545 | ||
|
|
2c2c7b8075 | ||
|
|
d767a810e8 | ||
|
|
3df111d9a3 |
@@ -9,5 +9,6 @@ ipch/
|
|||||||
VS_*
|
VS_*
|
||||||
|
|
||||||
# Output Folders
|
# Output Folders
|
||||||
|
4J_*/Build/*
|
||||||
libs/
|
libs/
|
||||||
inc/
|
inc/
|
||||||
|
|||||||
+62
-44
@@ -12,6 +12,7 @@ EndProject
|
|||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Headers", "Headers", "{1CB4373E-3F61-460C-B319-78C925BE3B8F}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Headers", "Headers", "{1CB4373E-3F61-460C-B319-78C925BE3B8F}"
|
||||||
ProjectSection(SolutionItems) = preProject
|
ProjectSection(SolutionItems) = preProject
|
||||||
Headers\extraX64.h = Headers\extraX64.h
|
Headers\extraX64.h = Headers\extraX64.h
|
||||||
|
Headers\Ps3Types.h = Headers\Ps3Types.h
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "4J_XTMS", "4J_XTMS\4J_XTMS.vcxproj", "{D0FDED0B-7704-4376-82DC-FF4377A7CD53}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "4J_XTMS", "4J_XTMS\4J_XTMS.vcxproj", "{D0FDED0B-7704-4376-82DC-FF4377A7CD53}"
|
||||||
@@ -67,76 +68,93 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PSVita", "PSVita", "{88A465
|
|||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Durango = Debug|Durango
|
||||||
Debug|ORBIS = Debug|ORBIS
|
Debug|ORBIS = Debug|ORBIS
|
||||||
Debug|PS3 = Debug|PS3
|
Debug|PS3 = Debug|PS3
|
||||||
Debug|PSVita = Debug|PSVita
|
|
||||||
Debug|Windows64 = Debug|Windows64
|
Debug|Windows64 = Debug|Windows64
|
||||||
Debug|Xbox 360 = Debug|Xbox 360
|
Release|Durango = Release|Durango
|
||||||
Release|ORBIS = Release|ORBIS
|
Release|ORBIS = Release|ORBIS
|
||||||
Release|PS3 = Release|PS3
|
Release|PS3 = Release|PS3
|
||||||
Release|PSVita = Release|PSVita
|
|
||||||
Release|Windows64 = Release|Windows64
|
Release|Windows64 = Release|Windows64
|
||||||
Release|Xbox 360 = Release|Xbox 360
|
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{A9125E77-A460-46FB-8EF3-2166F8657226}.Debug|ORBIS.ActiveCfg = Debug|Win32
|
{A9125E77-A460-46FB-8EF3-2166F8657226}.Debug|Durango.ActiveCfg = Debug|Durango
|
||||||
{A9125E77-A460-46FB-8EF3-2166F8657226}.Debug|PS3.ActiveCfg = Debug|Win32
|
{A9125E77-A460-46FB-8EF3-2166F8657226}.Debug|Durango.Build.0 = Debug|Durango
|
||||||
{A9125E77-A460-46FB-8EF3-2166F8657226}.Debug|PSVita.ActiveCfg = Debug|Win32
|
{A9125E77-A460-46FB-8EF3-2166F8657226}.Debug|Durango.Deploy.0 = Debug|Durango
|
||||||
|
{A9125E77-A460-46FB-8EF3-2166F8657226}.Debug|ORBIS.ActiveCfg = Debug|ORBIS
|
||||||
|
{A9125E77-A460-46FB-8EF3-2166F8657226}.Debug|ORBIS.Build.0 = Debug|ORBIS
|
||||||
|
{A9125E77-A460-46FB-8EF3-2166F8657226}.Debug|PS3.ActiveCfg = Debug|PS3
|
||||||
|
{A9125E77-A460-46FB-8EF3-2166F8657226}.Debug|PS3.Build.0 = Debug|PS3
|
||||||
{A9125E77-A460-46FB-8EF3-2166F8657226}.Debug|Windows64.ActiveCfg = Debug|x64
|
{A9125E77-A460-46FB-8EF3-2166F8657226}.Debug|Windows64.ActiveCfg = Debug|x64
|
||||||
{A9125E77-A460-46FB-8EF3-2166F8657226}.Debug|Windows64.Build.0 = Debug|x64
|
{A9125E77-A460-46FB-8EF3-2166F8657226}.Debug|Windows64.Build.0 = Debug|x64
|
||||||
{A9125E77-A460-46FB-8EF3-2166F8657226}.Debug|Xbox 360.ActiveCfg = Debug|Win32
|
{A9125E77-A460-46FB-8EF3-2166F8657226}.Release|Durango.ActiveCfg = Release|Durango
|
||||||
{A9125E77-A460-46FB-8EF3-2166F8657226}.Release|ORBIS.ActiveCfg = Release|Win32
|
{A9125E77-A460-46FB-8EF3-2166F8657226}.Release|Durango.Build.0 = Release|Durango
|
||||||
{A9125E77-A460-46FB-8EF3-2166F8657226}.Release|PS3.ActiveCfg = Release|Win32
|
{A9125E77-A460-46FB-8EF3-2166F8657226}.Release|Durango.Deploy.0 = Release|Durango
|
||||||
{A9125E77-A460-46FB-8EF3-2166F8657226}.Release|PSVita.ActiveCfg = Release|Win32
|
{A9125E77-A460-46FB-8EF3-2166F8657226}.Release|ORBIS.ActiveCfg = Release|ORBIS
|
||||||
|
{A9125E77-A460-46FB-8EF3-2166F8657226}.Release|ORBIS.Build.0 = Release|ORBIS
|
||||||
|
{A9125E77-A460-46FB-8EF3-2166F8657226}.Release|PS3.ActiveCfg = Release|PS3
|
||||||
|
{A9125E77-A460-46FB-8EF3-2166F8657226}.Release|PS3.Build.0 = Release|PS3
|
||||||
{A9125E77-A460-46FB-8EF3-2166F8657226}.Release|Windows64.ActiveCfg = Release|x64
|
{A9125E77-A460-46FB-8EF3-2166F8657226}.Release|Windows64.ActiveCfg = Release|x64
|
||||||
{A9125E77-A460-46FB-8EF3-2166F8657226}.Release|Windows64.Build.0 = Release|x64
|
{A9125E77-A460-46FB-8EF3-2166F8657226}.Release|Windows64.Build.0 = Release|x64
|
||||||
{A9125E77-A460-46FB-8EF3-2166F8657226}.Release|Xbox 360.ActiveCfg = Release|Win32
|
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Debug|Durango.ActiveCfg = Debug|Durango
|
||||||
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Debug|ORBIS.ActiveCfg = Debug|Win32
|
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Debug|Durango.Build.0 = Debug|Durango
|
||||||
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Debug|PS3.ActiveCfg = Debug|Win32
|
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Debug|Durango.Deploy.0 = Debug|Durango
|
||||||
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Debug|PSVita.ActiveCfg = Debug|Win32
|
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Debug|ORBIS.ActiveCfg = Debug|ORBIS
|
||||||
|
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Debug|ORBIS.Build.0 = Debug|ORBIS
|
||||||
|
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Debug|PS3.ActiveCfg = Debug|PS3
|
||||||
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Debug|Windows64.ActiveCfg = Debug|x64
|
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Debug|Windows64.ActiveCfg = Debug|x64
|
||||||
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Debug|Windows64.Build.0 = Debug|x64
|
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Debug|Windows64.Build.0 = Debug|x64
|
||||||
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Debug|Xbox 360.ActiveCfg = Debug|Win32
|
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Release|Durango.ActiveCfg = Release|Durango
|
||||||
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Release|ORBIS.ActiveCfg = Release|Win32
|
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Release|Durango.Build.0 = Release|Durango
|
||||||
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Release|PS3.ActiveCfg = Release|Win32
|
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Release|Durango.Deploy.0 = Release|Durango
|
||||||
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Release|PSVita.ActiveCfg = Release|Win32
|
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Release|ORBIS.ActiveCfg = Release|ORBIS
|
||||||
|
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Release|ORBIS.Build.0 = Release|ORBIS
|
||||||
|
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Release|PS3.ActiveCfg = Release|PS3
|
||||||
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Release|Windows64.ActiveCfg = Release|x64
|
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Release|Windows64.ActiveCfg = Release|x64
|
||||||
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Release|Windows64.Build.0 = Release|x64
|
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Release|Windows64.Build.0 = Release|x64
|
||||||
{C3833C67-05E4-4D6C-8707-22F95B6939E4}.Release|Xbox 360.ActiveCfg = Release|Win32
|
{22938163-5DDB-4D04-883B-07212EB99FAE}.Debug|Durango.ActiveCfg = Debug|Durango
|
||||||
{22938163-5DDB-4D04-883B-07212EB99FAE}.Debug|ORBIS.ActiveCfg = Debug|Win32
|
{22938163-5DDB-4D04-883B-07212EB99FAE}.Debug|Durango.Build.0 = Debug|Durango
|
||||||
{22938163-5DDB-4D04-883B-07212EB99FAE}.Debug|PS3.ActiveCfg = Debug|Win32
|
{22938163-5DDB-4D04-883B-07212EB99FAE}.Debug|Durango.Deploy.0 = Debug|Durango
|
||||||
{22938163-5DDB-4D04-883B-07212EB99FAE}.Debug|PSVita.ActiveCfg = Debug|Win32
|
{22938163-5DDB-4D04-883B-07212EB99FAE}.Debug|ORBIS.ActiveCfg = Debug|ORBIS
|
||||||
|
{22938163-5DDB-4D04-883B-07212EB99FAE}.Debug|ORBIS.Build.0 = Debug|ORBIS
|
||||||
|
{22938163-5DDB-4D04-883B-07212EB99FAE}.Debug|PS3.ActiveCfg = Debug|PS3
|
||||||
{22938163-5DDB-4D04-883B-07212EB99FAE}.Debug|Windows64.ActiveCfg = Debug|x64
|
{22938163-5DDB-4D04-883B-07212EB99FAE}.Debug|Windows64.ActiveCfg = Debug|x64
|
||||||
{22938163-5DDB-4D04-883B-07212EB99FAE}.Debug|Windows64.Build.0 = Debug|x64
|
{22938163-5DDB-4D04-883B-07212EB99FAE}.Debug|Windows64.Build.0 = Debug|x64
|
||||||
{22938163-5DDB-4D04-883B-07212EB99FAE}.Debug|Xbox 360.ActiveCfg = Debug|Win32
|
{22938163-5DDB-4D04-883B-07212EB99FAE}.Release|Durango.ActiveCfg = Release|Durango
|
||||||
{22938163-5DDB-4D04-883B-07212EB99FAE}.Release|ORBIS.ActiveCfg = Release|Win32
|
{22938163-5DDB-4D04-883B-07212EB99FAE}.Release|Durango.Build.0 = Release|Durango
|
||||||
{22938163-5DDB-4D04-883B-07212EB99FAE}.Release|PS3.ActiveCfg = Release|Win32
|
{22938163-5DDB-4D04-883B-07212EB99FAE}.Release|Durango.Deploy.0 = Release|Durango
|
||||||
{22938163-5DDB-4D04-883B-07212EB99FAE}.Release|PSVita.ActiveCfg = Release|Win32
|
{22938163-5DDB-4D04-883B-07212EB99FAE}.Release|ORBIS.ActiveCfg = Release|ORBIS
|
||||||
|
{22938163-5DDB-4D04-883B-07212EB99FAE}.Release|ORBIS.Build.0 = Release|ORBIS
|
||||||
|
{22938163-5DDB-4D04-883B-07212EB99FAE}.Release|PS3.ActiveCfg = Release|PS3
|
||||||
{22938163-5DDB-4D04-883B-07212EB99FAE}.Release|Windows64.ActiveCfg = Release|x64
|
{22938163-5DDB-4D04-883B-07212EB99FAE}.Release|Windows64.ActiveCfg = Release|x64
|
||||||
{22938163-5DDB-4D04-883B-07212EB99FAE}.Release|Windows64.Build.0 = Release|x64
|
{22938163-5DDB-4D04-883B-07212EB99FAE}.Release|Windows64.Build.0 = Release|x64
|
||||||
{22938163-5DDB-4D04-883B-07212EB99FAE}.Release|Xbox 360.ActiveCfg = Release|Win32
|
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Debug|Durango.ActiveCfg = Debug|Durango
|
||||||
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Debug|ORBIS.ActiveCfg = Debug|Win32
|
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Debug|Durango.Build.0 = Debug|Durango
|
||||||
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Debug|PS3.ActiveCfg = Debug|Win32
|
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Debug|Durango.Deploy.0 = Debug|Durango
|
||||||
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Debug|PSVita.ActiveCfg = Debug|Win32
|
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Debug|ORBIS.ActiveCfg = Debug|ORBIS
|
||||||
|
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Debug|ORBIS.Build.0 = Debug|ORBIS
|
||||||
|
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Debug|PS3.ActiveCfg = Debug|PS3
|
||||||
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Debug|Windows64.ActiveCfg = Debug|x64
|
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Debug|Windows64.ActiveCfg = Debug|x64
|
||||||
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Debug|Windows64.Build.0 = Debug|x64
|
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Debug|Windows64.Build.0 = Debug|x64
|
||||||
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Debug|Xbox 360.ActiveCfg = Debug|Win32
|
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Release|Durango.ActiveCfg = Release|Durango
|
||||||
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Release|ORBIS.ActiveCfg = Release|Win32
|
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Release|Durango.Build.0 = Release|Durango
|
||||||
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Release|PS3.ActiveCfg = Release|Win32
|
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Release|Durango.Deploy.0 = Release|Durango
|
||||||
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Release|PSVita.ActiveCfg = Release|Win32
|
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Release|ORBIS.ActiveCfg = Release|ORBIS
|
||||||
|
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Release|ORBIS.Build.0 = Release|ORBIS
|
||||||
|
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Release|PS3.ActiveCfg = Release|PS3
|
||||||
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Release|Windows64.ActiveCfg = Release|x64
|
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Release|Windows64.ActiveCfg = Release|x64
|
||||||
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Release|Windows64.Build.0 = Release|x64
|
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Release|Windows64.Build.0 = Release|x64
|
||||||
{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}.Release|Xbox 360.ActiveCfg = Release|Win32
|
{D0FDED0B-7704-4376-82DC-FF4377A7CD53}.Debug|Durango.ActiveCfg = Debug|Durango
|
||||||
{D0FDED0B-7704-4376-82DC-FF4377A7CD53}.Debug|ORBIS.ActiveCfg = Debug|Win32
|
{D0FDED0B-7704-4376-82DC-FF4377A7CD53}.Debug|Durango.Build.0 = Debug|Durango
|
||||||
{D0FDED0B-7704-4376-82DC-FF4377A7CD53}.Debug|PS3.ActiveCfg = Debug|Win32
|
{D0FDED0B-7704-4376-82DC-FF4377A7CD53}.Debug|Durango.Deploy.0 = Debug|Durango
|
||||||
{D0FDED0B-7704-4376-82DC-FF4377A7CD53}.Debug|PSVita.ActiveCfg = Debug|Win32
|
{D0FDED0B-7704-4376-82DC-FF4377A7CD53}.Debug|ORBIS.ActiveCfg = Debug|ORBIS
|
||||||
|
{D0FDED0B-7704-4376-82DC-FF4377A7CD53}.Debug|ORBIS.Build.0 = Debug|ORBIS
|
||||||
|
{D0FDED0B-7704-4376-82DC-FF4377A7CD53}.Debug|PS3.ActiveCfg = Debug|PS3
|
||||||
{D0FDED0B-7704-4376-82DC-FF4377A7CD53}.Debug|Windows64.ActiveCfg = Debug|x64
|
{D0FDED0B-7704-4376-82DC-FF4377A7CD53}.Debug|Windows64.ActiveCfg = Debug|x64
|
||||||
{D0FDED0B-7704-4376-82DC-FF4377A7CD53}.Debug|Xbox 360.ActiveCfg = Debug|Win32
|
{D0FDED0B-7704-4376-82DC-FF4377A7CD53}.Release|Durango.ActiveCfg = Release|Durango
|
||||||
{D0FDED0B-7704-4376-82DC-FF4377A7CD53}.Release|ORBIS.ActiveCfg = Release|Win32
|
{D0FDED0B-7704-4376-82DC-FF4377A7CD53}.Release|ORBIS.ActiveCfg = Release|ORBIS
|
||||||
{D0FDED0B-7704-4376-82DC-FF4377A7CD53}.Release|PS3.ActiveCfg = Release|Win32
|
{D0FDED0B-7704-4376-82DC-FF4377A7CD53}.Release|PS3.ActiveCfg = Release|PS3
|
||||||
{D0FDED0B-7704-4376-82DC-FF4377A7CD53}.Release|PSVita.ActiveCfg = Release|Win32
|
|
||||||
{D0FDED0B-7704-4376-82DC-FF4377A7CD53}.Release|Windows64.ActiveCfg = Release|x64
|
{D0FDED0B-7704-4376-82DC-FF4377A7CD53}.Release|Windows64.ActiveCfg = Release|x64
|
||||||
{D0FDED0B-7704-4376-82DC-FF4377A7CD53}.Release|Xbox 360.ActiveCfg = Release|Win32
|
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|||||||
+999
-162
File diff suppressed because it is too large
Load Diff
@@ -291,11 +291,29 @@
|
|||||||
<ClInclude Include="Windows64\vendor\SDL\include\SDL3\SDL_vulkan.h">
|
<ClInclude Include="Windows64\vendor\SDL\include\SDL3\SDL_vulkan.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="Orbis\INP_ForceFeedback.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Orbis\INP_Main.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Orbis\INP_OnScreenKeyboard.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Orbis\LinkedList.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="PS3\INP_Main.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="PS3\INP_MsgBox.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="PS3\INP_OnScreenKeyboard.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="Windows64\4J_Input.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="Windows64\INP_ForceFeedback.cpp">
|
<ClCompile Include="Windows64\INP_ForceFeedback.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
@@ -314,5 +332,35 @@
|
|||||||
<ClCompile Include="stdafx.cpp">
|
<ClCompile Include="stdafx.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\4J_Input.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Orbis\4J_Input.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Orbis\INP_ForceFeedback.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Orbis\INP_Main.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Orbis\INP_OnScreenKeyboard.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Orbis\LinkedList.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="PS3\INP_Main.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="PS3\INP_MsgBox.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="PS3\4J_Input.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="PS3\INP_OnScreenKeyboard.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
#include "INP_OnScreenKeyboard.h"
|
||||||
|
#include "4J_Input.h"
|
||||||
|
#include "INP_Main.h"
|
||||||
|
|
||||||
|
//str1k3r - to be renamed SelectBackSwapped
|
||||||
|
void C_4JInput::SetCircleCrossSwapped(bool swapped)
|
||||||
|
{
|
||||||
|
InternalInputManager.m_iSelectBackSwapped = swapped;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool C_4JInput::IsCircleCrossSwapped()
|
||||||
|
{
|
||||||
|
return InternalInputManager.m_iSelectBackSwapped;
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
class CForceFeedback
|
||||||
|
{
|
||||||
|
};
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
class CInput
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
bool m_iSelectBackSwapped;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Singleton
|
||||||
|
extern CInput InternalInputManager;
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
class CKeyboard
|
||||||
|
{
|
||||||
|
};
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
class LinkedList
|
||||||
|
{
|
||||||
|
};
|
||||||
@@ -0,0 +1,167 @@
|
|||||||
|
#include "INP_Main.h"
|
||||||
|
|
||||||
|
#include "4J_Input.h"
|
||||||
|
#include "INP_OnScreenKeyboard.h"
|
||||||
|
#include "INP_MsgBox.h"
|
||||||
|
|
||||||
|
C_4JInput InputManager;
|
||||||
|
|
||||||
|
void C_4JInput::Initialise( int iInputStateC, unsigned char ucMapC,unsigned char ucActionC, unsigned char ucMenuActionC )
|
||||||
|
{
|
||||||
|
InternalInputManager.Initialise(iInputStateC, ucMapC, ucActionC, ucMenuActionC);
|
||||||
|
}
|
||||||
|
|
||||||
|
void C_4JInput::Tick(void)
|
||||||
|
{
|
||||||
|
InternalInputManager.Tick();
|
||||||
|
}
|
||||||
|
|
||||||
|
void C_4JInput::SetDeadzoneAndMovementRange(unsigned int uiDeadzone, unsigned int uiMovementRangeMax )
|
||||||
|
{
|
||||||
|
InternalInputManager.SetDeadzoneAndMovementRange(uiDeadzone, uiMovementRangeMax);
|
||||||
|
}
|
||||||
|
|
||||||
|
void C_4JInput::SetGameJoypadMaps(unsigned char ucMap,unsigned char ucAction,unsigned int uiActionVal)
|
||||||
|
{
|
||||||
|
InternalInputManager.SetGameJoypadMaps(ucMap, ucAction, uiActionVal);
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned int C_4JInput::GetGameJoypadMaps(unsigned char ucMap,unsigned char ucAction)
|
||||||
|
{
|
||||||
|
return InternalInputManager.GetGameJoypadMaps(ucMap, ucAction);
|
||||||
|
}
|
||||||
|
|
||||||
|
void C_4JInput::SetJoypadMapVal(int iPad,unsigned char ucMap)
|
||||||
|
{
|
||||||
|
InternalInputManager.SetJoypadMapVal(iPad, ucMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned char C_4JInput::GetJoypadMapVal(int iPad)
|
||||||
|
{
|
||||||
|
return InternalInputManager.GetJoypadMapVal(iPad);
|
||||||
|
}
|
||||||
|
|
||||||
|
void C_4JInput::SetJoypadSensitivity(int iPad, float fSensitivity)
|
||||||
|
{
|
||||||
|
InternalInputManager.SetJoypadSensitivity(iPad, fSensitivity);
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned int C_4JInput::GetValue(int iPad,unsigned char ucAction, bool bRepeat)
|
||||||
|
{
|
||||||
|
return InternalInputManager.GetValue(iPad, ucAction, bRepeat);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool C_4JInput::ButtonPressed(int iPad,unsigned char ucAction)
|
||||||
|
{
|
||||||
|
return InternalInputManager.ButtonPressed(iPad, ucAction);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool C_4JInput::ButtonReleased(int iPad,unsigned char ucAction)
|
||||||
|
{
|
||||||
|
return InternalInputManager.ButtonReleased(iPad, ucAction);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool C_4JInput::ButtonDown(int iPad,unsigned char ucAction)
|
||||||
|
{
|
||||||
|
return InternalInputManager.ButtonDown(iPad, ucAction);
|
||||||
|
}
|
||||||
|
|
||||||
|
void C_4JInput::SetJoypadStickAxisMap(int iPad,unsigned int uiFrom, unsigned int uiTo)
|
||||||
|
{
|
||||||
|
InternalInputManager.SetJoypadStickAxisMap(iPad, uiFrom, uiTo);
|
||||||
|
}
|
||||||
|
|
||||||
|
void C_4JInput::SetJoypadStickTriggerMap(int iPad,unsigned int uiFrom, unsigned int uiTo)
|
||||||
|
{
|
||||||
|
InternalInputManager.SetJoypadStickTriggerMap(iPad, uiFrom, uiTo);
|
||||||
|
}
|
||||||
|
|
||||||
|
void C_4JInput::SetKeyRepeatRate(float fRepeatDelaySecs,float fRepeatRateSecs)
|
||||||
|
{
|
||||||
|
InternalInputManager.SetKeyRepeatRate(fRepeatDelaySecs, fRepeatRateSecs);
|
||||||
|
}
|
||||||
|
|
||||||
|
void C_4JInput::SetDebugSequence( const char *chSequenceA,int( *Func)(LPVOID),LPVOID lpParam )
|
||||||
|
{
|
||||||
|
InternalInputManager.SetDebugSequence(chSequenceA, Func, lpParam);
|
||||||
|
}
|
||||||
|
|
||||||
|
FLOAT C_4JInput::GetIdleSeconds(int iPad)
|
||||||
|
{
|
||||||
|
return InternalInputManager.GetIdleSeconds(iPad);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool C_4JInput::IsPadConnected(int iPad)
|
||||||
|
{
|
||||||
|
return InternalInputManager.IsPadConnected(iPad);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool C_4JInput::IsCircleCrossSwapped()
|
||||||
|
{
|
||||||
|
return InternalInputManager.m_bSwappedEnter;
|
||||||
|
}
|
||||||
|
|
||||||
|
float C_4JInput::GetJoypadStick_LX(int iPad, bool bCheckMenuDisplay)
|
||||||
|
{
|
||||||
|
return InternalInputManager.GetJoypadStick_LX(iPad, bCheckMenuDisplay);
|
||||||
|
}
|
||||||
|
|
||||||
|
float C_4JInput::GetJoypadStick_LY(int iPad, bool bCheckMenuDisplay)
|
||||||
|
{
|
||||||
|
return InternalInputManager.GetJoypadStick_LY(iPad, bCheckMenuDisplay);
|
||||||
|
}
|
||||||
|
|
||||||
|
float C_4JInput::GetJoypadStick_RX(int iPad, bool bCheckMenuDisplay)
|
||||||
|
{
|
||||||
|
return InternalInputManager.GetJoypadStick_RX(iPad, bCheckMenuDisplay);
|
||||||
|
}
|
||||||
|
|
||||||
|
float C_4JInput::GetJoypadStick_RY(int iPad, bool bCheckMenuDisplay)
|
||||||
|
{
|
||||||
|
return InternalInputManager.GetJoypadStick_RY(iPad, bCheckMenuDisplay);
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned char C_4JInput::GetJoypadLTrigger(int iPad, bool bCheckMenuDisplay)
|
||||||
|
{
|
||||||
|
return InternalInputManager.GetJoypadLTrigger(iPad, bCheckMenuDisplay);
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned char C_4JInput::GetJoypadRTrigger(int iPad, bool bCheckMenuDisplay)
|
||||||
|
{
|
||||||
|
return InternalInputManager.GetJoypadRTrigger(iPad, bCheckMenuDisplay);
|
||||||
|
}
|
||||||
|
|
||||||
|
void C_4JInput::SetMenuDisplayed(int iPad, bool bVal)
|
||||||
|
{
|
||||||
|
InternalInputManager.SetMenuDisplayed(iPad, bVal);
|
||||||
|
}
|
||||||
|
|
||||||
|
EKeyboardResult C_4JInput::RequestKeyboard(LPCWSTR Title, LPCWSTR Text, DWORD dwPad, UINT uiMaxChars, int( *Func)(LPVOID,const bool),LPVOID lpParam,C_4JInput::EKeyboardMode eMode)
|
||||||
|
{
|
||||||
|
return InternalInputManager.m_Keyboard.RequestKeyboard(Title, Text, dwPad, uiMaxChars, Func, lpParam, eMode);
|
||||||
|
}
|
||||||
|
|
||||||
|
void C_4JInput::DestroyKeyboard()
|
||||||
|
{
|
||||||
|
InternalInputManager.m_Keyboard.DestroyKeyboard();
|
||||||
|
}
|
||||||
|
|
||||||
|
void C_4JInput::GetText(uint16_t *UTF16String)
|
||||||
|
{
|
||||||
|
InternalInputManager.m_Keyboard.GetText(UTF16String);
|
||||||
|
}
|
||||||
|
|
||||||
|
void C_4JInput::SetLostInputControlCallback(void( *Func)(LPVOID, bool),LPVOID lpParam)
|
||||||
|
{
|
||||||
|
InternalInputManager.SetLostInputControlCallback(Func, lpParam);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool C_4JInput::VerifyStrings(WCHAR **pwStringA,int iStringC,int( *Func)(LPVOID,STRING_VERIFY_RESPONSE *),LPVOID lpParam)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
EMsgBoxResult C_4JInput::RequestMessageBox(EMSgBoxType eType, DWORD dwPad,void( *Func)(int iButtonType,void *pvUserData),LPVOID lpParam, const char *pchText ,unsigned int uiFocusButton )
|
||||||
|
{
|
||||||
|
return InternalInputManager.m_MsgBox.RequestMessageBox(eType, dwPad, Func, lpParam, pchText, uiFocusButton);
|
||||||
|
}
|
||||||
@@ -0,0 +1,915 @@
|
|||||||
|
#include "INP_Main.h"
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#include <sys/sys_time.h> // sys_time_get_current_time
|
||||||
|
#include <sysutil/sysutil_common.h> // cellSysutilGetSystemParamInt
|
||||||
|
#include <sysutil/sysutil_sysparam.h> // cellSysutilGetSystemParamInt
|
||||||
|
|
||||||
|
CInput InternalInputManager;
|
||||||
|
|
||||||
|
CInput::CInput()
|
||||||
|
{
|
||||||
|
m_MsgBox = CMsgBox();
|
||||||
|
m_Keyboard = CKeyboard();
|
||||||
|
|
||||||
|
m_uiSigninJoypadMask = 0;
|
||||||
|
for (int i = 0; i < 4; ++i)
|
||||||
|
m_bIsMenuDisplayed[i] = 0;
|
||||||
|
|
||||||
|
InitTime();
|
||||||
|
|
||||||
|
m_fRepeatDelaySecs = 0.5f;
|
||||||
|
m_fRepeatRateSecs = 0.8f;
|
||||||
|
m_sDebugSequenceName = 0;
|
||||||
|
m_uiDebugSequenceIndex = 0;
|
||||||
|
m_pDebugSequenceFn = 0;
|
||||||
|
#if TO_BE_IMPLEMENTED
|
||||||
|
*((_BYTE *)&loc_650 + this + 1) = 0;
|
||||||
|
#endif
|
||||||
|
m_pLostInputFn = NULL;
|
||||||
|
m_pLostInputParam = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
CInput::~CInput()
|
||||||
|
{
|
||||||
|
// ~CKeyboard
|
||||||
|
}
|
||||||
|
|
||||||
|
void CInput::DebugPrintf(const char *szFormat, ...)
|
||||||
|
{
|
||||||
|
va_list ap;
|
||||||
|
va_start(ap, szFormat);
|
||||||
|
char buf[1024];
|
||||||
|
vsnprintf(buf, sizeof(buf), szFormat, ap);
|
||||||
|
va_end(ap);
|
||||||
|
printf(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CInput::QueryPerformanceFrequency(_LARGE_INTEGER *)
|
||||||
|
{
|
||||||
|
#if TO_BE_IMPLEMENTED
|
||||||
|
*(_QWORD *)a2 = 1000000;
|
||||||
|
#endif
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CInput::QueryPerformanceCounter(_LARGE_INTEGER *)
|
||||||
|
{
|
||||||
|
#if TO_BE_IMPLEMENTED
|
||||||
|
sys_time_get_current_time(&v3, &v4);
|
||||||
|
*(_QWORD *)a2 = 1000000 * v3 + v4 / 1000;
|
||||||
|
#endif
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CInput::Initialise(int iInputStateC, unsigned char ucMapC, unsigned char ucActionC, unsigned char ucMenuActionC)
|
||||||
|
{
|
||||||
|
assert(iInputStateC > 0);
|
||||||
|
assert(ucMapC > 0);
|
||||||
|
assert(ucActionC > 0);
|
||||||
|
|
||||||
|
int padInit = cellPadInit(MAX_JOYPADS);
|
||||||
|
if ( padInit != CELL_PAD_OK )
|
||||||
|
InternalInputManager.DebugPrintf("cellPadInit failed 0x%08x\n", padInit);
|
||||||
|
|
||||||
|
ZeroMemory(m_Joypads, sizeof(m_Joypads));
|
||||||
|
|
||||||
|
m_ucInputStateC = iInputStateC;
|
||||||
|
|
||||||
|
m_iDeadzone = 0x2;
|
||||||
|
m_iMovementRangeMax = 0x7F;
|
||||||
|
|
||||||
|
m_iEffectiveRange = m_iMovementRangeMax - m_iDeadzone;
|
||||||
|
m_fEffectiveRange = (float)m_iEffectiveRange;
|
||||||
|
m_iHalfRange = m_iEffectiveRange * 0.75;
|
||||||
|
|
||||||
|
for (int i = 0; i < MAX_JOYPADS; i++)
|
||||||
|
{
|
||||||
|
m_Joypads[i].m_pInputStates = new CellPadData[m_ucInputStateC];
|
||||||
|
m_Joypads[i].m_ucInputStateIndex = -1;
|
||||||
|
m_Joypads[i].m_pfLeftThumbXAxisMap = &m_Joypads[i].m_fNormalizedLeftThumbX;
|
||||||
|
m_Joypads[i].m_pfLeftThumbYAxisMap = &m_Joypads[i].m_fNormalizedLeftThumbY;
|
||||||
|
m_Joypads[i].m_pfRightThumbXAxisMap = &m_Joypads[i].m_fNormalizedRightThumbX;
|
||||||
|
m_Joypads[i].m_pfRightThumbYAxisMap = &m_Joypads[i].m_fNormalizedRightThumbY;
|
||||||
|
m_Joypads[i].m_pucLeftTriggerAxisMap = &m_Joypads[i].m_ucLeftTriggerState;
|
||||||
|
m_Joypads[i].m_pucRightTriggerAxisMap = &m_Joypads[i].m_ucRightTriggerState;
|
||||||
|
m_Joypads[i].m_fSensitivity = 1.0f;
|
||||||
|
cellPadSetPortSetting(i, 6);
|
||||||
|
}
|
||||||
|
|
||||||
|
m_JoypadMap = (unsigned int **)operator new[](ucMapC * sizeof(int *));
|
||||||
|
for (int i = 0; i < ucMapC; i++)
|
||||||
|
{
|
||||||
|
m_JoypadMap[i] = (unsigned int *)operator new[](ucActionC * sizeof(int));
|
||||||
|
}
|
||||||
|
|
||||||
|
m_ucJoypadMapC = ucMapC;
|
||||||
|
m_ucJoypadMapActionC = ucActionC;
|
||||||
|
m_ucMenuActionC = ucMenuActionC;
|
||||||
|
m_bJoypadMapArrayIsSetup = false;
|
||||||
|
|
||||||
|
int swappedEnter;
|
||||||
|
cellSysutilGetSystemParamInt(CELL_SYSUTIL_SYSTEMPARAM_ID_ENTER_BUTTON_ASSIGN, &swappedEnter);
|
||||||
|
|
||||||
|
if ( swappedEnter )
|
||||||
|
{
|
||||||
|
m_bSwappedEnter = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_bSwappedEnter = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CInput::Tick()
|
||||||
|
{
|
||||||
|
UpdateJoypads();
|
||||||
|
m_Keyboard.Tick();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CInput::SetJoypadValues(JOYPAD *pThisPad)
|
||||||
|
{
|
||||||
|
CellPadData *pGamePad = &pThisPad->m_pInputStates[pThisPad->m_ucInputStateIndex];
|
||||||
|
|
||||||
|
pThisPad->m_uiButtons = pThisPad->m_uiOldButtons;
|
||||||
|
|
||||||
|
if (pGamePad->len > 2)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons &= ~(
|
||||||
|
_360_JOY_BUTTON_START |
|
||||||
|
_360_JOY_BUTTON_BACK |
|
||||||
|
_360_JOY_BUTTON_LTHUMB |
|
||||||
|
_360_JOY_BUTTON_RTHUMB |
|
||||||
|
_360_JOY_BUTTON_DPAD_UP |
|
||||||
|
_360_JOY_BUTTON_DPAD_DOWN |
|
||||||
|
_360_JOY_BUTTON_DPAD_LEFT |
|
||||||
|
_360_JOY_BUTTON_DPAD_RIGHT
|
||||||
|
);
|
||||||
|
|
||||||
|
if ((pGamePad->button[CELL_PAD_BTN_OFFSET_DIGITAL1] & CELL_PAD_CTRL_START) != 0)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_START;
|
||||||
|
}
|
||||||
|
if ((pGamePad->button[CELL_PAD_BTN_OFFSET_DIGITAL1] & CELL_PAD_CTRL_SELECT) != 0)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_BACK;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((pGamePad->button[CELL_PAD_BTN_OFFSET_DIGITAL1] & CELL_PAD_CTRL_L3) != 0)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_LTHUMB;
|
||||||
|
}
|
||||||
|
if ((pGamePad->button[CELL_PAD_BTN_OFFSET_DIGITAL1] & CELL_PAD_CTRL_R3) != 0)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_RTHUMB;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((pGamePad->button[CELL_PAD_BTN_OFFSET_DIGITAL1] & CELL_PAD_CTRL_UP) != 0)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_DPAD_UP;
|
||||||
|
}
|
||||||
|
if ((pGamePad->button[CELL_PAD_BTN_OFFSET_DIGITAL1] & CELL_PAD_CTRL_DOWN) != 0)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_DPAD_DOWN;
|
||||||
|
}
|
||||||
|
if ((pGamePad->button[CELL_PAD_BTN_OFFSET_DIGITAL1] & CELL_PAD_CTRL_LEFT) != 0)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_DPAD_LEFT;
|
||||||
|
}
|
||||||
|
if ((pGamePad->button[CELL_PAD_BTN_OFFSET_DIGITAL1] & CELL_PAD_CTRL_RIGHT) != 0)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_DPAD_RIGHT;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pGamePad->len > 3)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons &= ~(
|
||||||
|
_360_JOY_BUTTON_RB |
|
||||||
|
_360_JOY_BUTTON_LB |
|
||||||
|
_360_JOY_BUTTON_RT |
|
||||||
|
_360_JOY_BUTTON_LT |
|
||||||
|
_360_JOY_BUTTON_A |
|
||||||
|
_360_JOY_BUTTON_B |
|
||||||
|
_360_JOY_BUTTON_X |
|
||||||
|
_360_JOY_BUTTON_Y
|
||||||
|
);
|
||||||
|
|
||||||
|
if ((pGamePad->button[CELL_PAD_BTN_OFFSET_DIGITAL2] & CELL_PAD_CTRL_R1) != 0)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_RB;
|
||||||
|
}
|
||||||
|
if ((pGamePad->button[CELL_PAD_BTN_OFFSET_DIGITAL2] & CELL_PAD_CTRL_L1) != 0)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_LB;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((pGamePad->button[CELL_PAD_BTN_OFFSET_DIGITAL2] & CELL_PAD_CTRL_R2) != 0)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_RT;
|
||||||
|
}
|
||||||
|
if ((pGamePad->button[CELL_PAD_BTN_OFFSET_DIGITAL2] & CELL_PAD_CTRL_L2) != 0)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_LT;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((pGamePad->button[CELL_PAD_BTN_OFFSET_DIGITAL2] & CELL_PAD_CTRL_CROSS) != 0)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_A;
|
||||||
|
}
|
||||||
|
if ((pGamePad->button[CELL_PAD_BTN_OFFSET_DIGITAL2] & CELL_PAD_CTRL_CIRCLE) != 0)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_B;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((pGamePad->button[CELL_PAD_BTN_OFFSET_DIGITAL2] & CELL_PAD_CTRL_SQUARE) != 0)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_X;
|
||||||
|
}
|
||||||
|
if ((pGamePad->button[CELL_PAD_BTN_OFFSET_DIGITAL2] & CELL_PAD_CTRL_TRIANGLE) != 0)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_Y;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pGamePad->len > 4)
|
||||||
|
{
|
||||||
|
int sThumbRX = pGamePad->button[CELL_PAD_BTN_OFFSET_ANALOG_RIGHT_X] - 127;
|
||||||
|
|
||||||
|
if (sThumbRX > m_iDeadzone + m_iHalfRange)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_RSTICK_RIGHT;
|
||||||
|
}
|
||||||
|
else if (sThumbRX < -m_iDeadzone - m_iHalfRange)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_RSTICK_LEFT;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons &= ~(
|
||||||
|
_360_JOY_BUTTON_RSTICK_RIGHT |
|
||||||
|
_360_JOY_BUTTON_RSTICK_LEFT
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sThumbRX >= -m_iDeadzone)
|
||||||
|
{
|
||||||
|
if (sThumbRX > m_iDeadzone)
|
||||||
|
pThisPad->m_iRightThumbX = sThumbRX - m_iDeadzone;
|
||||||
|
else
|
||||||
|
pThisPad->m_iRightThumbX = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pThisPad->m_iRightThumbX = sThumbRX + m_iDeadzone;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pGamePad->len > 5)
|
||||||
|
{
|
||||||
|
int sThumbRY = 127 - pGamePad->button[CELL_PAD_BTN_OFFSET_ANALOG_RIGHT_Y];
|
||||||
|
|
||||||
|
if (sThumbRY > m_iDeadzone + m_iHalfRange)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_RSTICK_UP;
|
||||||
|
}
|
||||||
|
else if (sThumbRY < -m_iDeadzone - m_iHalfRange)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_RSTICK_DOWN;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons &= ~(
|
||||||
|
_360_JOY_BUTTON_RSTICK_UP |
|
||||||
|
_360_JOY_BUTTON_RSTICK_DOWN
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sThumbRY >= -m_iDeadzone)
|
||||||
|
{
|
||||||
|
if (sThumbRY > m_iDeadzone)
|
||||||
|
pThisPad->m_iRightThumbY = sThumbRY - m_iDeadzone;
|
||||||
|
else
|
||||||
|
pThisPad->m_iRightThumbY = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pThisPad->m_iRightThumbY = sThumbRY + m_iDeadzone;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pGamePad->len > 6)
|
||||||
|
{
|
||||||
|
int sThumbLX = pGamePad->button[CELL_PAD_BTN_OFFSET_ANALOG_LEFT_X] - 127;
|
||||||
|
|
||||||
|
if (sThumbLX > m_iDeadzone + m_iHalfRange)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_LSTICK_RIGHT;
|
||||||
|
}
|
||||||
|
else if (sThumbLX < -m_iDeadzone - m_iHalfRange)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_LSTICK_LEFT;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons &= ~(
|
||||||
|
_360_JOY_BUTTON_LSTICK_RIGHT |
|
||||||
|
_360_JOY_BUTTON_LSTICK_LEFT
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sThumbLX >= -m_iDeadzone)
|
||||||
|
{
|
||||||
|
if (sThumbLX > m_iDeadzone)
|
||||||
|
pThisPad->m_iLeftThumbX = sThumbLX - m_iDeadzone;
|
||||||
|
else
|
||||||
|
pThisPad->m_iLeftThumbX = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pThisPad->m_iLeftThumbX = sThumbLX + m_iDeadzone;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pGamePad->len > 7)
|
||||||
|
{
|
||||||
|
int sThumbLY = 127 - pGamePad->button[CELL_PAD_BTN_OFFSET_ANALOG_LEFT_Y];
|
||||||
|
|
||||||
|
if (sThumbLY > m_iDeadzone + m_iHalfRange)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_LSTICK_UP;
|
||||||
|
}
|
||||||
|
else if (sThumbLY < -m_iDeadzone - m_iHalfRange)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_LSTICK_DOWN;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons &= ~(
|
||||||
|
_360_JOY_BUTTON_LSTICK_UP |
|
||||||
|
_360_JOY_BUTTON_LSTICK_DOWN
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sThumbLY >= -m_iDeadzone)
|
||||||
|
{
|
||||||
|
if (sThumbLY > m_iDeadzone)
|
||||||
|
pThisPad->m_iLeftThumbY = sThumbLY - m_iDeadzone;
|
||||||
|
else
|
||||||
|
pThisPad->m_iLeftThumbY = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pThisPad->m_iLeftThumbY = sThumbLY + m_iDeadzone;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pGamePad->len > 18)
|
||||||
|
{
|
||||||
|
pThisPad->m_ucLeftTriggerState = pGamePad->button[CELL_PAD_BTN_OFFSET_PRESS_L2];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pGamePad->len > 19)
|
||||||
|
{
|
||||||
|
pThisPad->m_ucRightTriggerState = pGamePad->button[CELL_PAD_BTN_OFFSET_PRESS_R2];
|
||||||
|
}
|
||||||
|
|
||||||
|
pThisPad->m_iNormalizedLeftThumbX = pThisPad->m_iLeftThumbX / m_iEffectiveRange;
|
||||||
|
pThisPad->m_iNormalizedLeftThumbY = pThisPad->m_iLeftThumbY / m_iEffectiveRange;
|
||||||
|
pThisPad->m_iNormalizedRightThumbX = pThisPad->m_iRightThumbX / m_iEffectiveRange;
|
||||||
|
pThisPad->m_iNormalizedRightThumbY = pThisPad->m_iRightThumbY / m_iEffectiveRange;
|
||||||
|
|
||||||
|
pThisPad->m_fNormalizedLeftThumbX = pThisPad->m_iLeftThumbX / m_fEffectiveRange;
|
||||||
|
pThisPad->m_fNormalizedLeftThumbY = pThisPad->m_iLeftThumbY / m_fEffectiveRange;
|
||||||
|
pThisPad->m_fNormalizedRightThumbX = pThisPad->m_iRightThumbX / m_fEffectiveRange;
|
||||||
|
pThisPad->m_fNormalizedRightThumbY = pThisPad->m_iRightThumbY / m_fEffectiveRange;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CInput::SetDeadzoneAndMovementRange(unsigned int uiDeadzone, unsigned int uiMovementRangeMax)
|
||||||
|
{
|
||||||
|
m_iDeadzone = uiDeadzone;
|
||||||
|
m_iMovementRangeMax = uiMovementRangeMax;
|
||||||
|
m_iEffectiveRange = uiMovementRangeMax - uiDeadzone;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CInput::SetJoypadSensitivity(int iPad, float fSensitivity)
|
||||||
|
{
|
||||||
|
m_Joypads[iPad].m_fSensitivity = fSensitivity;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CInput::SetGameJoypadMaps(unsigned char ucMap, unsigned char ucAction, unsigned int uiActionVal)
|
||||||
|
{
|
||||||
|
assert(ucMap < m_ucJoypadMapC);
|
||||||
|
assert(ucAction < m_ucJoypadMapActionC);
|
||||||
|
|
||||||
|
m_JoypadMap[ucMap][ucAction] = uiActionVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned int CInput::GetGameJoypadMaps(unsigned char ucMap, unsigned char ucAction)
|
||||||
|
{
|
||||||
|
assert(ucMap < m_ucJoypadMapC);
|
||||||
|
assert(ucAction < m_ucJoypadMapActionC);
|
||||||
|
|
||||||
|
return m_JoypadMap[ucMap][ucAction];
|
||||||
|
}
|
||||||
|
|
||||||
|
void CInput::SetJoypadMapVal(int iPad, unsigned char ucMap)
|
||||||
|
{
|
||||||
|
m_bJoypadMapArrayIsSetup = true;
|
||||||
|
m_Joypads[iPad].m_ucMappingValue = ucMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned char CInput::GetJoypadMapVal(int iPad)
|
||||||
|
{
|
||||||
|
return m_Joypads[iPad].m_ucMappingValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CInput::SetJoypadStickAxisMap(int iPad, unsigned int uiFrom, unsigned int uiTo)
|
||||||
|
{
|
||||||
|
float *pfTo = NULL;
|
||||||
|
|
||||||
|
switch (uiTo)
|
||||||
|
{
|
||||||
|
case AXIS_MAP_LX:
|
||||||
|
pfTo = &m_Joypads[iPad].m_fNormalizedLeftThumbX;
|
||||||
|
break;
|
||||||
|
case AXIS_MAP_LY:
|
||||||
|
pfTo = &m_Joypads[iPad].m_fNormalizedLeftThumbY;
|
||||||
|
break;
|
||||||
|
case AXIS_MAP_RX:
|
||||||
|
pfTo = &m_Joypads[iPad].m_fNormalizedRightThumbX;
|
||||||
|
break;
|
||||||
|
case AXIS_MAP_RY:
|
||||||
|
pfTo = &m_Joypads[iPad].m_fNormalizedRightThumbY;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (uiFrom)
|
||||||
|
{
|
||||||
|
case AXIS_MAP_LX:
|
||||||
|
m_Joypads[iPad].m_pfLeftThumbXAxisMap = pfTo;
|
||||||
|
break;
|
||||||
|
case AXIS_MAP_LY:
|
||||||
|
m_Joypads[iPad].m_pfLeftThumbYAxisMap = pfTo;
|
||||||
|
break;
|
||||||
|
case AXIS_MAP_RX:
|
||||||
|
m_Joypads[iPad].m_pfRightThumbXAxisMap = pfTo;
|
||||||
|
break;
|
||||||
|
case AXIS_MAP_RY:
|
||||||
|
m_Joypads[iPad].m_pfRightThumbYAxisMap = pfTo;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CInput::SetJoypadStickTriggerMap(int iPad, unsigned int uiFrom, unsigned int uiTo)
|
||||||
|
{
|
||||||
|
unsigned char *pucTo = NULL;
|
||||||
|
|
||||||
|
switch (uiTo)
|
||||||
|
{
|
||||||
|
case TRIGGER_MAP_0:
|
||||||
|
pucTo = &m_Joypads[iPad].m_ucRightTriggerState;
|
||||||
|
break;
|
||||||
|
case TRIGGER_MAP_1:
|
||||||
|
pucTo = &m_Joypads[iPad].m_ucLeftTriggerState;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (uiFrom)
|
||||||
|
{
|
||||||
|
case TRIGGER_MAP_0:
|
||||||
|
m_Joypads[iPad].m_pucRightTriggerAxisMap = pucTo;
|
||||||
|
break;
|
||||||
|
case TRIGGER_MAP_1:
|
||||||
|
m_Joypads[iPad].m_pucLeftTriggerAxisMap = pucTo;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CInput::IsPadConnected(int iPad)
|
||||||
|
{
|
||||||
|
return m_Joypads[iPad].m_bIsConnected;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CInput::SetSigninJoypadMask(unsigned int mask)
|
||||||
|
{
|
||||||
|
m_uiSigninJoypadMask = mask;
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned int CInput::GetValue(int iPad, unsigned char ucAction, bool bRepeat)
|
||||||
|
{
|
||||||
|
if (m_bIsMenuDisplayed[iPad] && ucAction > this->m_ucMenuActionC)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned char ucMap = this->m_Joypads[iPad].m_ucMappingValue;
|
||||||
|
unsigned int uiVal = this->m_JoypadMap[ucMap][ucAction] & this->m_Joypads[iPad].m_uiButtons;
|
||||||
|
if (!uiVal || !bRepeat)
|
||||||
|
{
|
||||||
|
return uiVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
int iKeyVal = 0;
|
||||||
|
for (int iKey = this->m_JoypadMap[ucMap][ucAction]; (iKey & 1) == 0; iKey >>= 1)
|
||||||
|
{
|
||||||
|
iKeyVal++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_fRepeatDelaySecs <= m_Timers[iPad][iKeyVal].m_fTotalHoldTime || m_Timers[iPad][iKeyVal].m_bInitialPressHandled)
|
||||||
|
{
|
||||||
|
if (m_Timers[iPad][iKeyVal].m_fTotalHoldTime < m_fRepeatDelaySecs)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
else if (m_Timers[iPad][iKeyVal].m_fLastRepeatTime == 0.0f)
|
||||||
|
{
|
||||||
|
m_Timers[iPad][iKeyVal].m_fLastRepeatTime = m_fRepeatDelaySecs;
|
||||||
|
return uiVal;
|
||||||
|
}
|
||||||
|
else if ((m_Timers[iPad][iKeyVal].m_fTotalHoldTime - m_Timers[iPad][iKeyVal].m_fLastRepeatTime) <= m_fRepeatRateSecs)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_Timers[iPad][iKeyVal].m_fLastRepeatTime = m_Timers[iPad][iKeyVal].m_fLastRepeatTime + m_fRepeatRateSecs;
|
||||||
|
return uiVal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_Timers[iPad][iKeyVal].m_bInitialPressHandled = true;
|
||||||
|
return uiVal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CInput::IsSet(int iPad, unsigned char ucAction)
|
||||||
|
{
|
||||||
|
return (!m_bIsMenuDisplayed[iPad] || ucAction <= m_ucMenuActionC) &&
|
||||||
|
(m_JoypadMap[m_Joypads[iPad].m_ucMappingValue][ucAction] & m_Joypads[iPad].m_uiButtons) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CInput::ButtonPressed(int iPad, unsigned char ucAction)
|
||||||
|
{
|
||||||
|
if (ucAction == 255)
|
||||||
|
{
|
||||||
|
return m_Joypads[iPad].m_uiButtonsPressed != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_bIsMenuDisplayed[iPad] && ucAction > m_ucMenuActionC)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (m_JoypadMap[m_Joypads[iPad].m_ucMappingValue][ucAction] & m_Joypads[iPad].m_uiButtonsPressed) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CInput::ButtonReleased(int iPad, unsigned char ucAction)
|
||||||
|
{
|
||||||
|
return (!m_bIsMenuDisplayed[iPad] || ucAction <= m_ucMenuActionC) &&
|
||||||
|
(m_JoypadMap[m_Joypads[iPad].m_ucMappingValue][ucAction] & m_Joypads[iPad].m_uiButtonsReleased) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CInput::ButtonDown(int iPad, unsigned char ucAction)
|
||||||
|
{
|
||||||
|
if (ucAction == 255)
|
||||||
|
{
|
||||||
|
return m_Joypads[iPad].m_uiButtons != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_bIsMenuDisplayed[iPad] && ucAction > m_ucMenuActionC)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (m_JoypadMap[m_Joypads[iPad].m_ucMappingValue][ucAction] & m_Joypads[iPad].m_uiButtons) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
float CInput::GetJoypadStick_Menu_LX(unsigned char ucPad)
|
||||||
|
{
|
||||||
|
return m_Joypads[ucPad].m_iNormalizedLeftThumbX;
|
||||||
|
}
|
||||||
|
|
||||||
|
float CInput::GetJoypadStick_Menu_LY(unsigned char ucPad)
|
||||||
|
{
|
||||||
|
return m_Joypads[ucPad].m_iNormalizedLeftThumbY;
|
||||||
|
}
|
||||||
|
|
||||||
|
float CInput::GetJoypadStick_Menu_RX(unsigned char ucPad)
|
||||||
|
{
|
||||||
|
return m_Joypads[ucPad].m_iNormalizedRightThumbX;
|
||||||
|
}
|
||||||
|
|
||||||
|
float CInput::GetJoypadStick_Menu_RY(unsigned char ucPad)
|
||||||
|
{
|
||||||
|
return m_Joypads[ucPad].m_iNormalizedRightThumbY;
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned char CInput::GetJoypadLTrigger_Menu(unsigned char ucPad)
|
||||||
|
{
|
||||||
|
return m_Joypads[ucPad].m_ucLeftTriggerState;
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned char CInput::GetJoypadRTrigger_Menu(unsigned char ucPad)
|
||||||
|
{
|
||||||
|
return m_Joypads[ucPad].m_ucRightTriggerState;
|
||||||
|
}
|
||||||
|
|
||||||
|
float CInput::GetJoypadStick_LX(int iPad, bool bCheckMenuDisplay)
|
||||||
|
{
|
||||||
|
if (bCheckMenuDisplay && m_bIsMenuDisplayed[iPad])
|
||||||
|
{
|
||||||
|
return 0.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
return *m_Joypads[iPad].m_pfLeftThumbXAxisMap * m_Joypads[iPad].m_fSensitivity;
|
||||||
|
}
|
||||||
|
|
||||||
|
float CInput::GetJoypadStick_LY(int iPad, bool bCheckMenuDisplay)
|
||||||
|
{
|
||||||
|
if (bCheckMenuDisplay && m_bIsMenuDisplayed[iPad])
|
||||||
|
{
|
||||||
|
return 0.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
return *m_Joypads[iPad].m_pfLeftThumbYAxisMap * m_Joypads[iPad].m_fSensitivity;
|
||||||
|
}
|
||||||
|
|
||||||
|
float CInput::GetJoypadStick_RX(int iPad, bool bCheckMenuDisplay)
|
||||||
|
{
|
||||||
|
if (bCheckMenuDisplay && m_bIsMenuDisplayed[iPad])
|
||||||
|
{
|
||||||
|
return 0.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
return *m_Joypads[iPad].m_pfRightThumbXAxisMap * m_Joypads[iPad].m_fSensitivity;
|
||||||
|
}
|
||||||
|
|
||||||
|
float CInput::GetJoypadStick_RY(int iPad, bool bCheckMenuDisplay)
|
||||||
|
{
|
||||||
|
if (bCheckMenuDisplay && m_bIsMenuDisplayed[iPad])
|
||||||
|
{
|
||||||
|
return 0.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
return *m_Joypads[iPad].m_pfRightThumbYAxisMap * m_Joypads[iPad].m_fSensitivity;
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned char CInput::GetJoypadLTrigger(int iPad, bool bCheckMenuDisplay)
|
||||||
|
{
|
||||||
|
if (bCheckMenuDisplay && m_bIsMenuDisplayed[iPad])
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return *m_Joypads[iPad].m_pucLeftTriggerAxisMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned char CInput::GetJoypadRTrigger(int iPad, bool bCheckMenuDisplay)
|
||||||
|
{
|
||||||
|
if (bCheckMenuDisplay && m_bIsMenuDisplayed[iPad])
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return *m_Joypads[iPad].m_pucRightTriggerAxisMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CInput::SetMenuDisplayed(int iPad, bool bVal)
|
||||||
|
{
|
||||||
|
m_bIsMenuDisplayed[iPad] = bVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CInput::SetKeyRepeatRate(float fRepeatDelaySecs, float fRepeatRateSecs)
|
||||||
|
{
|
||||||
|
m_fRepeatDelaySecs = fRepeatDelaySecs;
|
||||||
|
m_fRepeatRateSecs = fRepeatRateSecs;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CInput::SetDebugSequence(const char *chSequenceA, int (*Func)(LPVOID), LPVOID lpParam)
|
||||||
|
{
|
||||||
|
int iLen = strlen(chSequenceA);
|
||||||
|
|
||||||
|
m_sDebugSequenceName = (char *)operator new[](iLen);
|
||||||
|
strcpy(m_sDebugSequenceName, chSequenceA);
|
||||||
|
|
||||||
|
m_pDebugSequenceFn = Func;
|
||||||
|
m_pDebugSequenceParam = lpParam;
|
||||||
|
}
|
||||||
|
|
||||||
|
FLOAT CInput::GetIdleSeconds(int iPad)
|
||||||
|
{
|
||||||
|
LARGE_INTEGER qwDeltaTime;
|
||||||
|
QueryPerformanceCounter(&qwDeltaTime);
|
||||||
|
#if TO_BE_IMPLEMENTED
|
||||||
|
uint64_t v4 = qwDeltaTime.QuadPart - *(_QWORD *)(v5 + 4696 + 8 * a2);
|
||||||
|
return (float)(*(float *)((char *)&loc_644 + v5) * (float)v4)
|
||||||
|
#else
|
||||||
|
return 0.0f;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void CInput::SetLostInputControlCallback(void( *Func)(LPVOID, bool),LPVOID lpParam)
|
||||||
|
{
|
||||||
|
m_pLostInputFn = Func;
|
||||||
|
m_pLostInputParam = lpParam;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CInput::UpdateJoypads()
|
||||||
|
{
|
||||||
|
assert(m_bJoypadMapArrayIsSetup);
|
||||||
|
|
||||||
|
for (int i = 0; i < MAX_JOYPADS; i++)
|
||||||
|
{
|
||||||
|
JOYPAD *pThisPad = &m_Joypads[i];
|
||||||
|
|
||||||
|
pThisPad->m_uiOldButtons = pThisPad->m_uiButtons;
|
||||||
|
pThisPad->m_uiButtons = 0;
|
||||||
|
pThisPad->m_ucLeftTriggerState = 0;
|
||||||
|
pThisPad->m_ucRightTriggerState = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
CellPadInfo2 info;
|
||||||
|
int32_t getInfo2 = cellPadGetInfo2(&info);
|
||||||
|
if ( getInfo2 != CELL_PAD_OK )
|
||||||
|
InternalInputManager.DebugPrintf("cellPadGetInfo2 failed 0x%08x\n", getInfo2);
|
||||||
|
|
||||||
|
for (int i = 0; i < MAX_JOYPADS; i++)
|
||||||
|
{
|
||||||
|
if (!m_Joypads[i].m_bIsDisabled)
|
||||||
|
{
|
||||||
|
JOYPAD *pThisPad = &m_Joypads[i];
|
||||||
|
|
||||||
|
bool bOldIsConnected = pThisPad->m_bIsConnected;
|
||||||
|
|
||||||
|
pThisPad->m_ucInputStateIndex = pThisPad->m_ucInputStateIndex++;
|
||||||
|
if (pThisPad->m_ucInputStateIndex == m_ucInputStateC)
|
||||||
|
{
|
||||||
|
pThisPad->m_ucInputStateIndex = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
pThisPad->m_bIsConnected = info.port_status[i] & CELL_PAD_STATUS_CONNECTED;
|
||||||
|
|
||||||
|
if ( (info.system_info & CELL_PAD_INFO_INTERCEPTED) != 0)
|
||||||
|
{
|
||||||
|
if (!m_bLostInput)
|
||||||
|
{
|
||||||
|
m_bLostInput = true;
|
||||||
|
if ( m_pLostInputFn )
|
||||||
|
m_pLostInputFn(m_pLostInputParam, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if ( m_bLostInput )
|
||||||
|
{
|
||||||
|
m_bLostInput = false;
|
||||||
|
if ( m_pLostInputFn )
|
||||||
|
m_pLostInputFn(m_pLostInputParam, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pThisPad->m_bIsConnected)
|
||||||
|
{
|
||||||
|
int32_t getData = cellPadGetData(i, &pThisPad->m_pInputStates[pThisPad->m_ucInputStateIndex]);
|
||||||
|
if ( getData != CELL_PAD_OK )
|
||||||
|
InternalInputManager.DebugPrintf("cellPadGetData failed 0x%08x\n", getData);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool bWasConnected = bOldIsConnected && !pThisPad->m_bIsConnected;
|
||||||
|
pThisPad->m_bWasConnected = bWasConnected;
|
||||||
|
|
||||||
|
bool bHasConnected = !bOldIsConnected && pThisPad->m_bIsConnected;
|
||||||
|
pThisPad->m_bHasConnected = bHasConnected;
|
||||||
|
|
||||||
|
if (pThisPad->m_bIsConnected)
|
||||||
|
{
|
||||||
|
SetJoypadValues(pThisPad);
|
||||||
|
|
||||||
|
pThisPad->m_uiButtonsPressed = ~pThisPad->m_uiOldButtons & pThisPad->m_uiButtons;
|
||||||
|
pThisPad->m_uiButtonsReleased = ~pThisPad->m_uiButtons & pThisPad->m_uiOldButtons;
|
||||||
|
|
||||||
|
for (int bit = 0; bit < 24; ++bit)
|
||||||
|
{
|
||||||
|
if ((pThisPad->m_uiButtonsPressed & (1 << bit)) != 0)
|
||||||
|
{
|
||||||
|
GetStartTime(i, bit);
|
||||||
|
}
|
||||||
|
else if ((pThisPad->m_uiButtons & (1 << bit)) != 0)
|
||||||
|
{
|
||||||
|
UpdateTime(i, bit);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (pThisPad->m_bWasConnected)
|
||||||
|
{
|
||||||
|
ClearJoypadValues(pThisPad);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_pDebugSequenceFn && (pThisPad->m_uiButtonsPressed & (_360_JOY_BUTTON_A | _360_JOY_BUTTON_B | _360_JOY_BUTTON_X | _360_JOY_BUTTON_Y |
|
||||||
|
_360_JOY_BUTTON_RB | _360_JOY_BUTTON_LB)) != 0)
|
||||||
|
{
|
||||||
|
char chSeq;
|
||||||
|
|
||||||
|
if ((pThisPad->m_uiButtonsPressed & _360_JOY_BUTTON_A) == _360_JOY_BUTTON_A)
|
||||||
|
{
|
||||||
|
chSeq = 'A';
|
||||||
|
}
|
||||||
|
else if ((pThisPad->m_uiButtonsPressed & _360_JOY_BUTTON_B) == _360_JOY_BUTTON_B)
|
||||||
|
{
|
||||||
|
chSeq = 'B';
|
||||||
|
}
|
||||||
|
else if ((pThisPad->m_uiButtonsPressed & _360_JOY_BUTTON_X) == _360_JOY_BUTTON_X)
|
||||||
|
{
|
||||||
|
chSeq = 'X';
|
||||||
|
}
|
||||||
|
else if ((pThisPad->m_uiButtonsPressed & _360_JOY_BUTTON_Y) == _360_JOY_BUTTON_Y)
|
||||||
|
{
|
||||||
|
chSeq = 'Y';
|
||||||
|
}
|
||||||
|
else if ((pThisPad->m_uiButtonsPressed & _360_JOY_BUTTON_LB) == _360_JOY_BUTTON_LB)
|
||||||
|
{
|
||||||
|
chSeq = 'L';
|
||||||
|
}
|
||||||
|
else if ((pThisPad->m_uiButtonsPressed & _360_JOY_BUTTON_RB) == _360_JOY_BUTTON_RB)
|
||||||
|
{
|
||||||
|
chSeq = 'R';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_sDebugSequenceName[m_uiDebugSequenceIndex] == chSeq)
|
||||||
|
{
|
||||||
|
if (!m_sDebugSequenceName[m_uiDebugSequenceIndex++])
|
||||||
|
{
|
||||||
|
m_uiDebugSequenceIndex = 0;
|
||||||
|
(m_pDebugSequenceFn)(m_pDebugSequenceParam);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_uiDebugSequenceIndex = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CInput::ClearJoypadValues(JOYPAD *pThisPad)
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtonsPressed = 0;
|
||||||
|
pThisPad->m_uiButtonsReleased = 0;
|
||||||
|
pThisPad->m_uiButtons = 0;
|
||||||
|
pThisPad->m_ucLeftTriggerState = 0;
|
||||||
|
pThisPad->m_ucRightTriggerState = 0;
|
||||||
|
pThisPad->m_iRightThumbX = 0;
|
||||||
|
pThisPad->m_iRightThumbY = 0;
|
||||||
|
pThisPad->m_iLeftThumbX = 0;
|
||||||
|
pThisPad->m_iLeftThumbY = 0;
|
||||||
|
pThisPad->m_iNormalizedLeftThumbX = 0;
|
||||||
|
pThisPad->m_iNormalizedLeftThumbY = 0;
|
||||||
|
pThisPad->m_iNormalizedRightThumbX = 0;
|
||||||
|
pThisPad->m_iNormalizedRightThumbY = 0;
|
||||||
|
pThisPad->m_fNormalizedLeftThumbX = 0.0f;
|
||||||
|
pThisPad->m_fNormalizedLeftThumbY = 0.0f;
|
||||||
|
pThisPad->m_fNormalizedRightThumbX = 0.0f;
|
||||||
|
pThisPad->m_fNormalizedRightThumbY = 0.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CInput::InitTime(void)
|
||||||
|
{
|
||||||
|
LARGE_INTEGER qwTicksPerSec;
|
||||||
|
QueryPerformanceFrequency(&qwTicksPerSec);
|
||||||
|
|
||||||
|
m_fTickToSeconds = 1.0 / (float)(int)qwTicksPerSec.LowPart;
|
||||||
|
for (int i = 0; i < MAX_JOYPADS; i++)
|
||||||
|
{
|
||||||
|
m_LastActivityTime[i].QuadPart = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CInput::GetStartTime(int iPad, int iKey)
|
||||||
|
{
|
||||||
|
QueryPerformanceCounter(&m_Timers[iPad][iKey].m_qwStartTime);
|
||||||
|
|
||||||
|
m_Timers[iPad][iKey].m_qwTotalHoldTicks.QuadPart = 0;
|
||||||
|
m_Timers[iPad][iKey].m_fTotalHoldTime = 0;
|
||||||
|
m_Timers[iPad][iKey].m_fLastRepeatTime = 0;
|
||||||
|
m_Timers[iPad][iKey].m_bInitialPressHandled = false;
|
||||||
|
|
||||||
|
m_LastActivityTime[iPad].QuadPart = m_Timers[iPad][iKey].m_qwStartTime.QuadPart;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CInput::UpdateTime(int iPad, int iKey)
|
||||||
|
{
|
||||||
|
LARGE_INTEGER qwDeltaTime;
|
||||||
|
QueryPerformanceCounter(&qwDeltaTime);
|
||||||
|
|
||||||
|
uint64_t qwNewTime = qwDeltaTime.QuadPart - m_Timers[iPad][iKey].m_qwStartTime.QuadPart;
|
||||||
|
m_Timers[iPad][iKey].m_qwTotalHoldTicks.QuadPart += qwNewTime;
|
||||||
|
|
||||||
|
m_Timers[iPad][iKey].m_qwStartTime = qwDeltaTime;
|
||||||
|
m_Timers[iPad][iKey].m_fTotalHoldTime = m_Timers[iPad][iKey].m_fTotalHoldTime + (m_fTickToSeconds * qwNewTime);
|
||||||
|
|
||||||
|
m_LastActivityTime[iPad].QuadPart = m_Timers[iPad][iKey].m_qwStartTime.QuadPart;
|
||||||
|
}
|
||||||
@@ -0,0 +1,175 @@
|
|||||||
|
#include "stdafx.h"
|
||||||
|
|
||||||
|
#include "4J_Input.h"
|
||||||
|
#include "INP_OnScreenKeyboard.h"
|
||||||
|
#include "INP_MsgBox.h"
|
||||||
|
|
||||||
|
#include <cell/pad.h>
|
||||||
|
|
||||||
|
#define MAX_JOYPADS 4
|
||||||
|
|
||||||
|
class CInput
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
struct XINPUT_STATE {};
|
||||||
|
|
||||||
|
struct JOYPAD
|
||||||
|
{
|
||||||
|
bool m_bIsDisabled;
|
||||||
|
bool m_bIsConnected;
|
||||||
|
bool m_bWasConnected;
|
||||||
|
bool m_bHasConnected;
|
||||||
|
|
||||||
|
unsigned int m_uiButtons;
|
||||||
|
unsigned int m_uiOldButtons;
|
||||||
|
int m_uiButtonsPressed;
|
||||||
|
int m_uiButtonsReleased;
|
||||||
|
|
||||||
|
int m_iRightThumbX;
|
||||||
|
int m_iRightThumbY;
|
||||||
|
int m_iLeftThumbX;
|
||||||
|
int m_iLeftThumbY;
|
||||||
|
|
||||||
|
DWORD m_iNormalizedRightThumbX;
|
||||||
|
DWORD m_iNormalizedRightThumbY;
|
||||||
|
DWORD m_iNormalizedLeftThumbX;
|
||||||
|
DWORD m_iNormalizedLeftThumbY;
|
||||||
|
|
||||||
|
float m_fNormalizedRightThumbX;
|
||||||
|
float m_fNormalizedRightThumbY;
|
||||||
|
float m_fNormalizedLeftThumbX;
|
||||||
|
float m_fNormalizedLeftThumbY;
|
||||||
|
|
||||||
|
unsigned char m_ucLeftTriggerState;
|
||||||
|
unsigned char m_ucRightTriggerState;
|
||||||
|
|
||||||
|
float *m_pfLeftThumbXAxisMap;
|
||||||
|
float *m_pfLeftThumbYAxisMap;
|
||||||
|
float *m_pfRightThumbXAxisMap;
|
||||||
|
float *m_pfRightThumbYAxisMap;
|
||||||
|
|
||||||
|
float m_fSensitivity;
|
||||||
|
|
||||||
|
BYTE *m_pucLeftTriggerAxisMap;
|
||||||
|
BYTE *m_pucRightTriggerAxisMap;
|
||||||
|
|
||||||
|
unsigned char m_ucMappingValue;
|
||||||
|
unsigned char m_ucInputStateIndex;
|
||||||
|
CellPadData *m_pInputStates;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct TimeInfo
|
||||||
|
{
|
||||||
|
LARGE_INTEGER m_qwStartTime;
|
||||||
|
LARGE_INTEGER m_qwTotalHoldTicks;
|
||||||
|
float m_fTotalHoldTime;
|
||||||
|
float m_fLastRepeatTime;
|
||||||
|
bool m_bInitialPressHandled;
|
||||||
|
};
|
||||||
|
|
||||||
|
CInput();
|
||||||
|
~CInput();
|
||||||
|
|
||||||
|
void DebugPrintf(const char *szFormat, ...);
|
||||||
|
bool QueryPerformanceFrequency(_LARGE_INTEGER *);
|
||||||
|
bool QueryPerformanceCounter(_LARGE_INTEGER *);
|
||||||
|
|
||||||
|
void Initialise(int iInputStateC, unsigned char ucMapC, unsigned char ucActionC, unsigned char ucMenuActionC);
|
||||||
|
void Tick();
|
||||||
|
|
||||||
|
void SetJoypadValues(JOYPAD *);
|
||||||
|
void SetDeadzoneAndMovementRange(unsigned int uiDeadzone, unsigned int uiMovementRangeMax);
|
||||||
|
void SetJoypadSensitivity(int iPad, float fSensitivity);
|
||||||
|
|
||||||
|
void SetGameJoypadMaps(unsigned char ucMap, unsigned char ucAction, unsigned int uiActionVal);
|
||||||
|
unsigned int GetGameJoypadMaps(unsigned char ucMap, unsigned char ucAction);
|
||||||
|
|
||||||
|
void SetJoypadMapVal(int iPad, unsigned char ucMap);
|
||||||
|
unsigned char GetJoypadMapVal(int iPad);
|
||||||
|
|
||||||
|
void SetJoypadStickAxisMap(int iPad, unsigned int uiFrom, unsigned int uiTo);
|
||||||
|
void SetJoypadStickTriggerMap(int iPad, unsigned int uiFrom, unsigned int uiTo);
|
||||||
|
|
||||||
|
bool IsPadConnected(int iPad);
|
||||||
|
void SetSigninJoypadMask(unsigned int mask);
|
||||||
|
unsigned int GetValue(int iPad, unsigned char ucAction, bool bRepeat);
|
||||||
|
bool IsSet(int iPad, unsigned char ucAction);
|
||||||
|
|
||||||
|
bool ButtonPressed(int iPad, unsigned char ucAction);
|
||||||
|
bool ButtonReleased(int iPad, unsigned char ucAction);
|
||||||
|
bool ButtonDown(int iPad, unsigned char ucAction);
|
||||||
|
|
||||||
|
float GetJoypadStick_Menu_LX(unsigned char ucPad);
|
||||||
|
float GetJoypadStick_Menu_LY(unsigned char ucPad);
|
||||||
|
float GetJoypadStick_Menu_RX(unsigned char ucPad);
|
||||||
|
float GetJoypadStick_Menu_RY(unsigned char ucPad);
|
||||||
|
unsigned char GetJoypadLTrigger_Menu(unsigned char ucPad);
|
||||||
|
unsigned char GetJoypadRTrigger_Menu(unsigned char ucPad);
|
||||||
|
|
||||||
|
float GetJoypadStick_LX(int iPad, bool bCheckMenuDisplay = true);
|
||||||
|
float GetJoypadStick_LY(int iPad, bool bCheckMenuDisplay = true);
|
||||||
|
float GetJoypadStick_RX(int iPad, bool bCheckMenuDisplay = true);
|
||||||
|
float GetJoypadStick_RY(int iPad, bool bCheckMenuDisplay = true);
|
||||||
|
unsigned char GetJoypadLTrigger(int iPad, bool bCheckMenuDisplay = true);
|
||||||
|
unsigned char GetJoypadRTrigger(int iPad, bool bCheckMenuDisplay = true);
|
||||||
|
|
||||||
|
void SetMenuDisplayed(int iPad, bool bVal);
|
||||||
|
|
||||||
|
void SetKeyRepeatRate(float fRepeatDelaySecs, float fRepeatRateSecs);
|
||||||
|
void SetDebugSequence(const char *chSequenceA, int (*Func)(LPVOID), LPVOID lpParam);
|
||||||
|
FLOAT GetIdleSeconds(int iPad);
|
||||||
|
|
||||||
|
void SetLostInputControlCallback(void (*a2)(void *, bool), void *a3);
|
||||||
|
|
||||||
|
bool UpdateJoypads();
|
||||||
|
void ClearJoypadValues(JOYPAD *pThisPad);
|
||||||
|
void InitTime(void);
|
||||||
|
void GetStartTime(int iPad, int iKey);
|
||||||
|
void UpdateTime(int, int);
|
||||||
|
private:
|
||||||
|
JOYPAD m_Joypads[MAX_JOYPADS];
|
||||||
|
|
||||||
|
int m_iDeadzone;
|
||||||
|
int m_iMovementRangeMax;
|
||||||
|
int m_iEffectiveRange;
|
||||||
|
int m_iHalfRange;
|
||||||
|
float m_fEffectiveRange;
|
||||||
|
|
||||||
|
unsigned char m_ucInputStateC;
|
||||||
|
unsigned char m_ucJoypadMapC;
|
||||||
|
unsigned char m_ucJoypadMapActionC;
|
||||||
|
unsigned char m_ucMenuActionC;
|
||||||
|
|
||||||
|
unsigned int **m_JoypadMap;
|
||||||
|
|
||||||
|
bool m_bSelectBackSwapped;
|
||||||
|
bool m_bLostInput;
|
||||||
|
|
||||||
|
bool m_bJoypadMapArrayIsSetup;
|
||||||
|
unsigned int m_uiSigninJoypadMask;
|
||||||
|
bool m_bIsMenuDisplayed[MAX_JOYPADS];
|
||||||
|
|
||||||
|
public:
|
||||||
|
CMsgBox m_MsgBox;
|
||||||
|
CKeyboard m_Keyboard;
|
||||||
|
|
||||||
|
bool m_bSwappedEnter;
|
||||||
|
private:
|
||||||
|
|
||||||
|
float m_fTickToSeconds;
|
||||||
|
float m_fRepeatDelaySecs;
|
||||||
|
float m_fRepeatRateSecs;
|
||||||
|
|
||||||
|
TimeInfo m_Timers[MAX_JOYPADS][24];
|
||||||
|
LARGE_INTEGER m_LastActivityTime[MAX_JOYPADS];
|
||||||
|
|
||||||
|
char *m_sDebugSequenceName;
|
||||||
|
unsigned int m_uiDebugSequenceIndex;
|
||||||
|
int (*m_pDebugSequenceFn)(void *);
|
||||||
|
LPVOID m_pDebugSequenceParam;
|
||||||
|
|
||||||
|
void (*m_pLostInputFn)(LPVOID, const bool);
|
||||||
|
LPVOID m_pLostInputParam;
|
||||||
|
};
|
||||||
|
|
||||||
|
extern CInput InternalInputManager;
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
#include "INP_Main.h"
|
||||||
|
#include "INP_MsgBox.h"
|
||||||
|
|
||||||
|
CMsgBox::CMsgBox()
|
||||||
|
{
|
||||||
|
m_eResult = EMsgBox_Undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
EMsgBoxResult CMsgBox::RequestMessageBox(EMSgBoxType eType, DWORD dwPad,void( *Func)(int iButtonType,void *pvUserData),LPVOID lpParam, const char *pchText ,unsigned int uiFocusButton )
|
||||||
|
{
|
||||||
|
InternalInputManager.DebugPrintf("InputManager CMsgBox::RequestMessageBox\n");
|
||||||
|
|
||||||
|
if (m_eResult == EMsgBox_Pending)
|
||||||
|
return EMsgBox_Busy;
|
||||||
|
|
||||||
|
m_eResult = EMsgBox_Pending;
|
||||||
|
int messageType = CELL_MSGDIALOG_TYPE_SE_TYPE_NORMAL
|
||||||
|
| CELL_MSGDIALOG_TYPE_DISABLE_CANCEL_ON;
|
||||||
|
|
||||||
|
m_iPad = dwPad;
|
||||||
|
m_pParam = lpParam;
|
||||||
|
|
||||||
|
switch (eType)
|
||||||
|
{
|
||||||
|
case EMSgBoxType_OK:
|
||||||
|
messageType |= CELL_MSGDIALOG_TYPE_BUTTON_TYPE_OK;
|
||||||
|
break;
|
||||||
|
case EMSgBoxType_YesNo:
|
||||||
|
messageType |= CELL_MSGDIALOG_TYPE_BUTTON_TYPE_YESNO;
|
||||||
|
if (uiFocusButton)
|
||||||
|
{
|
||||||
|
messageType |= CELL_MSGDIALOG_TYPE_DEFAULT_CURSOR_NO;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
int msgDialog = cellMsgDialogOpen2(messageType, pchText, Func, this, NULL);
|
||||||
|
if (msgDialog != CELL_OK)
|
||||||
|
{
|
||||||
|
InternalInputManager.DebugPrintf("ERROR : cellMsgDialogOpen2() = 0x%x\n", msgDialog);
|
||||||
|
if (msgDialog == CELL_SYSUTIL_ERROR_BUSY)
|
||||||
|
{
|
||||||
|
InternalInputManager.DebugPrintf("WARN : cellMsgDialogOpen2() = 0x%x (CELL_SYSUTIL_ERROR_BUSY) ... Retry.\n", CELL_SYSUTIL_ERROR_BUSY);
|
||||||
|
return EMsgBox_SysUtilBusy;
|
||||||
|
}
|
||||||
|
return EMsgBox_Undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
InternalInputManager.DebugPrintf("cellMsgDialogOpen2 - CELL_OK\n");
|
||||||
|
return m_eResult;
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "4J_Input.h"
|
||||||
|
#include <sysutil/sysutil_msgdialog.h> // cellMsgDialogOpen2
|
||||||
|
|
||||||
|
class CMsgBox
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CMsgBox();
|
||||||
|
~CMsgBox() {};
|
||||||
|
|
||||||
|
EMsgBoxResult RequestMessageBox(EMSgBoxType eType, DWORD dwPad,void( *Func)(int iButtonType,void *pvUserData),LPVOID lpParam, const char *pchText ,unsigned int uiFocusButton );
|
||||||
|
void Tick() {};
|
||||||
|
private:
|
||||||
|
EMsgBoxResult m_eResult;
|
||||||
|
DWORD m_iPad;
|
||||||
|
LPVOID m_pParam;
|
||||||
|
};
|
||||||
@@ -0,0 +1,262 @@
|
|||||||
|
#include "INP_Main.h"
|
||||||
|
#include "INP_OnScreenKeyboard.h"
|
||||||
|
|
||||||
|
CKeyboard::CKeyboard()
|
||||||
|
{
|
||||||
|
m_pInstance = this;
|
||||||
|
m_iMode = 0;
|
||||||
|
cellSysutilRegisterCallback(3, (CellSysutilCallback)&CKeyboard::KeyboardEventsCallback, this);
|
||||||
|
SetKeyboardLanguage();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CKeyboard::Tick()
|
||||||
|
{
|
||||||
|
if (m_iMode == 5)
|
||||||
|
{
|
||||||
|
cellOskDialogUnloadAsync(&m_pDialogReturn);
|
||||||
|
InternalInputManager.DebugPrintf("############## result ##############\n");
|
||||||
|
InternalInputManager.DebugPrintf("OskDialog result status:\t%d\n", m_pDialogReturn);
|
||||||
|
if (m_pDialogReturn.result == CELL_OK)
|
||||||
|
{
|
||||||
|
InternalInputManager.DebugPrintf("OskDialog return chars :\t%d\n", m_pDialogReturn.numCharsResultString);
|
||||||
|
InternalInputManager.DebugPrintf("OskDialog return text :\t%S\n", m_pDialogReturn.pResultString);
|
||||||
|
}
|
||||||
|
InternalInputManager.DebugPrintf("########################################\n\n");
|
||||||
|
if (m_pFunc)
|
||||||
|
{
|
||||||
|
m_pFunc(m_lpParam, m_pDialogReturn.result == CELL_OK);
|
||||||
|
}
|
||||||
|
m_iMode = 0;
|
||||||
|
}
|
||||||
|
else if (m_iMode != 4)
|
||||||
|
{
|
||||||
|
if (m_iMode == 3)
|
||||||
|
{
|
||||||
|
if (m_pTickCountdown)
|
||||||
|
m_pTickCountdown--;
|
||||||
|
else
|
||||||
|
m_iMode = 2;
|
||||||
|
}
|
||||||
|
else if (m_iMode == 2)
|
||||||
|
{
|
||||||
|
register_osk_callback();
|
||||||
|
|
||||||
|
cellOskDialogAddSupportLanguage(CELL_OSKDIALOG_PANELMODE_GERMAN |
|
||||||
|
CELL_OSKDIALOG_PANELMODE_ENGLISH |
|
||||||
|
CELL_OSKDIALOG_PANELMODE_SPANISH |
|
||||||
|
CELL_OSKDIALOG_PANELMODE_FRENCH |
|
||||||
|
CELL_OSKDIALOG_PANELMODE_ITALIAN |
|
||||||
|
CELL_OSKDIALOG_PANELMODE_PORTUGUESE |
|
||||||
|
CELL_OSKDIALOG_PANELMODE_KOREAN |
|
||||||
|
CELL_OSKDIALOG_PANELMODE_TRADITIONAL_CHINESE |
|
||||||
|
CELL_OSKDIALOG_PANELMODE_SIMPLIFIED_CHINESE |
|
||||||
|
CELL_OSKDIALOG_PANELMODE_PORTUGUESE_BRAZIL
|
||||||
|
);
|
||||||
|
|
||||||
|
int iResult;
|
||||||
|
|
||||||
|
iResult = cellOskDialogSetKeyLayoutOption(CELL_OSKDIALOG_10KEY_PANEL | CELL_OSKDIALOG_FULLKEY_PANEL);
|
||||||
|
if ( iResult )
|
||||||
|
InternalInputManager.DebugPrintf("cellOskDialogSetKeyLayoutOption() = 0x%x \n", iResult);
|
||||||
|
iResult = cellOskDialogSetInitialKeyLayout(CELL_OSKDIALOG_INITIAL_PANEL_LAYOUT_FULLKEY);
|
||||||
|
if ( iResult )
|
||||||
|
InternalInputManager.DebugPrintf("cellOskDialogSetKeyLayoutOption()= 0x%x \n", iResult);
|
||||||
|
iResult = cellOskDialogExtSetInitialScale(1.0f);
|
||||||
|
if ( iResult )
|
||||||
|
InternalInputManager.DebugPrintf("cellOskDialogExtSetInitialScale()= 0x%x \n", iResult);
|
||||||
|
|
||||||
|
cellOskDialogSetLayoutMode(CELL_OSKDIALOG_LAYOUTMODE_X_ALIGN_CENTER | CELL_OSKDIALOG_LAYOUTMODE_Y_ALIGN_CENTER);
|
||||||
|
|
||||||
|
iResult = cellOskDialogLoadAsync(SYS_MEMORY_CONTAINER_ID_INVALID, &m_pDialogParam, &inputFieldInfo);
|
||||||
|
if ( iResult != CELL_OK )
|
||||||
|
{
|
||||||
|
InternalInputManager.DebugPrintf("cellOskDialogLoadAsync() = 0x%x \n", iResult);
|
||||||
|
m_iMode = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_iMode = 4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_iMode = 3;
|
||||||
|
m_pTickCountdown = 5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CKeyboard::GetText(uint16_t *UTF16String)
|
||||||
|
{
|
||||||
|
memcpy(UTF16String, &m_pText, 2*m_pDialogReturn.numCharsResultString);
|
||||||
|
}
|
||||||
|
|
||||||
|
EKeyboardResult CKeyboard::RequestKeyboard(LPCWSTR Title, LPCWSTR Text, DWORD dwPad, UINT uiMaxChars, int( *Func)(LPVOID,const bool),LPVOID lpParam,C_4JInput::EKeyboardMode eMode)
|
||||||
|
{
|
||||||
|
m_pFunc = Func;
|
||||||
|
m_lpParam = lpParam;
|
||||||
|
SetMode(1);
|
||||||
|
inputFieldInfo.message = (uint16_t *)Title;
|
||||||
|
inputFieldInfo.init_text = (uint16_t *)Text;
|
||||||
|
inputFieldInfo.limit_length = uiMaxChars;
|
||||||
|
m_fX = 0.0f;
|
||||||
|
m_fY = 0;
|
||||||
|
m_pDialogParam.allowOskPanelFlg = CELL_OSKDIALOG_PANELMODE_DEFAULT;
|
||||||
|
m_pDialogParam.firstViewPanel = CELL_OSKDIALOG_PANELMODE_DEFAULT;
|
||||||
|
|
||||||
|
switch (eMode)
|
||||||
|
{
|
||||||
|
case C_4JInput::EKeyboardMode_Alphabet_Extended:
|
||||||
|
m_pDialogParam.allowOskPanelFlg = CELL_OSKDIALOG_PANELMODE_LATIN;
|
||||||
|
m_pDialogParam.firstViewPanel = CELL_OSKDIALOG_PANELMODE_LATIN;
|
||||||
|
break;
|
||||||
|
case C_4JInput::EKeyboardMode_Alphabet:
|
||||||
|
m_pDialogParam.allowOskPanelFlg = CELL_OSKDIALOG_PANELMODE_ALPHABET;
|
||||||
|
m_pDialogParam.firstViewPanel = CELL_OSKDIALOG_PANELMODE_ALPHABET;
|
||||||
|
break;
|
||||||
|
case C_4JInput::EKeyboardMode_Password:
|
||||||
|
m_pDialogParam.allowOskPanelFlg = CELL_OSKDIALOG_PANELMODE_PASSWORD;
|
||||||
|
m_pDialogParam.firstViewPanel = CELL_OSKDIALOG_PANELMODE_PASSWORD;
|
||||||
|
break;
|
||||||
|
case C_4JInput::EKeyboardMode_Numeric:
|
||||||
|
m_pDialogParam.allowOskPanelFlg = CELL_OSKDIALOG_PANELMODE_NUMERAL;
|
||||||
|
m_pDialogParam.firstViewPanel = CELL_OSKDIALOG_PANELMODE_NUMERAL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_pDialogParam.controlPoint.x = m_fX;
|
||||||
|
m_pDialogParam.prohibitFlgs = 0;
|
||||||
|
m_pDialogParam.controlPoint.y = m_fY;
|
||||||
|
m_pDialogReturn.result = CELL_OSKDIALOG_INPUT_FIELD_RESULT_OK;
|
||||||
|
m_pDialogReturn.numCharsResultString = uiMaxChars;
|
||||||
|
memset(m_pText, 0, sizeof(*m_pText));
|
||||||
|
m_pDialogReturn.pResultString = (uint16_t *)m_pText;
|
||||||
|
return EKeyboard_Pending;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CKeyboard::DestroyKeyboard()
|
||||||
|
{
|
||||||
|
if (m_iMode == 4)
|
||||||
|
m_pFunc = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CKeyboard::register_osk_callback()
|
||||||
|
{
|
||||||
|
cellOskDialogExtRegisterKeyboardEventHookCallback(3, &CKeyboard::OSK_KeyhookCallback);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CKeyboard::OSK_KeyhookCallback(CellOskDialogKeyMessage *keyMessage, unsigned int *action, void *pActionInfo)
|
||||||
|
{
|
||||||
|
*action = CELL_OSKDIALOG_CHANGE_NO_EVENT;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CKeyboard::KeyboardEventsCallback(uint64_t status, uint64_t param, CKeyboard* userdata)
|
||||||
|
{
|
||||||
|
switch (status)
|
||||||
|
{
|
||||||
|
case CELL_SYSUTIL_OSKDIALOG_DISPLAY_CHANGED:
|
||||||
|
InternalInputManager.DebugPrintf("CELL_SYSUTIL_OSKDIALOG_FINISHED");
|
||||||
|
if ( param == CELL_OSKDIALOG_DISPLAY_STATUS_HIDE )
|
||||||
|
{
|
||||||
|
InternalInputManager.DebugPrintf("CELL_SYSUTIL_OSKDIALOG_FINISHED\n");
|
||||||
|
InternalInputManager.DebugPrintf("Completed hide of OSK.\n");
|
||||||
|
}
|
||||||
|
InternalInputManager.DebugPrintf("CELL_SYSUTIL_OSKDIALOG_FINISHED\n");
|
||||||
|
break;
|
||||||
|
case CELL_SYSUTIL_OSKDIALOG_INPUT_DEVICE_CHANGED:
|
||||||
|
InternalInputManager.DebugPrintf("CELL_SYSUTIL_OSKDIALOG_FINISHED\n");
|
||||||
|
if ( param == CELL_OSKDIALOG_INPUT_DEVICE_KEYBOARD )
|
||||||
|
{
|
||||||
|
InternalInputManager.DebugPrintf("Input device changed to keyboard.\n");
|
||||||
|
}
|
||||||
|
else if( param == CELL_OSKDIALOG_INPUT_DEVICE_PAD)
|
||||||
|
{
|
||||||
|
InternalInputManager.DebugPrintf("Input device changed to pad.\n");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case CELL_SYSUTIL_OSKDIALOG_INPUT_CANCELED:
|
||||||
|
case CELL_SYSUTIL_OSKDIALOG_INPUT_ENTERED:
|
||||||
|
InternalInputManager.DebugPrintf("CELL_SYSUTIL_OSKDIALOG_FINISHED\n");
|
||||||
|
break;
|
||||||
|
case CELL_SYSUTIL_OSKDIALOG_FINISHED:
|
||||||
|
InternalInputManager.DebugPrintf("CELL_SYSUTIL_OSKDIALOG_FINISHED\n");
|
||||||
|
|
||||||
|
if ( userdata->GetMode() == 4 )
|
||||||
|
userdata->SetMode(5);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case CELL_SYSUTIL_OSKDIALOG_LOADED:
|
||||||
|
InternalInputManager.DebugPrintf("CELL_SYSUTIL_OSKDIALOG_LOADED\n");
|
||||||
|
break;
|
||||||
|
case CELL_SYSUTIL_SYSTEM_MENU_CLOSE:
|
||||||
|
InternalInputManager.DebugPrintf("CELL_SYSUTIL_OSKDIALOG_FINISHED\n");
|
||||||
|
InternalInputManager.DebugPrintf("CELL_SYSUTIL_SYSTEM_MENU_CLOSE\n");
|
||||||
|
break;
|
||||||
|
case CELL_SYSUTIL_SYSTEM_MENU_OPEN:
|
||||||
|
InternalInputManager.DebugPrintf("CELL_SYSUTIL_SYSTEM_MENU_OPEN\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CKeyboard::SetKeyboardLanguage()
|
||||||
|
{
|
||||||
|
int language;
|
||||||
|
cellSysutilGetSystemParamInt(CELL_SYSUTIL_SYSTEMPARAM_ID_LANG, &language);
|
||||||
|
|
||||||
|
switch (language)
|
||||||
|
{
|
||||||
|
case CELL_SYSUTIL_LANG_PORTUGUESE_BR:
|
||||||
|
m_iLanguage = 0x10000;
|
||||||
|
return;
|
||||||
|
case CELL_SYSUTIL_LANG_CHINESE_T:
|
||||||
|
case CELL_SYSUTIL_LANG_CHINESE_S:
|
||||||
|
m_iLanguage = 0x4000;
|
||||||
|
return;
|
||||||
|
case CELL_SYSUTIL_LANG_PORTUGUESE_PT:
|
||||||
|
m_iLanguage = 0x40;
|
||||||
|
return;
|
||||||
|
case CELL_SYSUTIL_LANG_ITALIAN:
|
||||||
|
m_iLanguage = 0x10;
|
||||||
|
return;
|
||||||
|
case CELL_SYSUTIL_LANG_GERMAN:
|
||||||
|
m_iLanguage = 0x1;
|
||||||
|
return;
|
||||||
|
case CELL_SYSUTIL_LANG_SPANISH:
|
||||||
|
m_iLanguage = 0x4;
|
||||||
|
return;
|
||||||
|
case CELL_SYSUTIL_LANG_FRENCH:
|
||||||
|
m_iLanguage = 0x8;
|
||||||
|
return;
|
||||||
|
case CELL_SYSUTIL_LANG_DUTCH:
|
||||||
|
case CELL_SYSUTIL_LANG_ENGLISH_US:
|
||||||
|
m_iLanguage = 0x2;
|
||||||
|
return;
|
||||||
|
case CELL_SYSUTIL_LANG_JAPANESE:
|
||||||
|
m_iLanguage = 0x200000;
|
||||||
|
return;
|
||||||
|
case CELL_SYSUTIL_LANG_KOREAN:
|
||||||
|
m_iLanguage = 0x1000;
|
||||||
|
return;
|
||||||
|
case CELL_SYSUTIL_LANG_RUSSIAN:
|
||||||
|
m_iLanguage = 0x80;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_iLanguage = 0x200000;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CKeyboard::SetMode(int mode)
|
||||||
|
{
|
||||||
|
m_iMode = mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
CKeyboard *CKeyboard::GetInstance()
|
||||||
|
{
|
||||||
|
return m_pInstance;
|
||||||
|
}
|
||||||
|
|
||||||
|
int CKeyboard::GetMode()
|
||||||
|
{
|
||||||
|
return m_iMode;
|
||||||
|
}
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "4J_Input.h"
|
||||||
|
#include <sysutil/sysutil_common.h> // cellSysutilRegisterCallback
|
||||||
|
#include <sysutil/sysutil_oskdialog.h > // cellOskDialogUnloadAsync
|
||||||
|
#include <sysutil/sysutil_oskdialog_ext.h> // cellOskDialogExtRegisterKeyboardEventHookCallback
|
||||||
|
#include <sysutil/sysutil_sysparam.h> // cellSysutilGetSystemParamInt
|
||||||
|
#include <cell/sysmodule.h> // SYS_MEMORY_CONTAINER_ID_INVALID
|
||||||
|
|
||||||
|
class CKeyboard
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// PIEBOT: m_iMode is supposed to be using eKeyboardProcessState
|
||||||
|
// I'll leave that work to someone else.
|
||||||
|
enum eKeyboardProcessState
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
CKeyboard();
|
||||||
|
|
||||||
|
void Tick();
|
||||||
|
void GetText(uint16_t *UTF16String);
|
||||||
|
EKeyboardResult RequestKeyboard(LPCWSTR Title, LPCWSTR Text, DWORD dwPad, UINT uiMaxChars, int( *Func)(LPVOID,const bool),LPVOID lpParam,C_4JInput::EKeyboardMode eMode);
|
||||||
|
void DestroyKeyboard();
|
||||||
|
|
||||||
|
void register_osk_callback();
|
||||||
|
static bool OSK_KeyhookCallback(CellOskDialogKeyMessage *keyMessage, unsigned int *action, void *pActionInfo);
|
||||||
|
static void KeyboardEventsCallback(uint64_t status, uint64_t param, CKeyboard* userdata);
|
||||||
|
void SetKeyboardLanguage();
|
||||||
|
|
||||||
|
void SetMode(int mode);
|
||||||
|
CKeyboard *GetInstance();
|
||||||
|
int GetMode();
|
||||||
|
private:
|
||||||
|
int m_iMode;
|
||||||
|
|
||||||
|
int (*m_pFunc)(LPVOID, const bool);
|
||||||
|
LPVOID m_lpParam;
|
||||||
|
CellOskDialogParam m_pDialogParam;
|
||||||
|
float m_fX;
|
||||||
|
float m_fY;
|
||||||
|
CellOskDialogInputFieldInfo inputFieldInfo;
|
||||||
|
|
||||||
|
CellOskDialogCallbackReturnParam m_pDialogReturn;
|
||||||
|
uint16_t *m_pText[513];
|
||||||
|
|
||||||
|
int m_iLanguage;
|
||||||
|
|
||||||
|
CKeyboard *m_pInstance;
|
||||||
|
int m_pTickCountdown;
|
||||||
|
};
|
||||||
@@ -119,6 +119,16 @@ bool C_4JInput::IsPadConnected(int iPad)
|
|||||||
return InternalInputManager.IsPadConnected(iPad);
|
return InternalInputManager.IsPadConnected(iPad);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void C_4JInput::SetSelectBackSwapped(bool swapped)
|
||||||
|
{
|
||||||
|
InternalInputManager.SetSelectBackSwapped(swapped);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool C_4JInput::IsSelectBackSwapped()
|
||||||
|
{
|
||||||
|
return InternalInputManager.IsSelectBackSwapped();
|
||||||
|
}
|
||||||
|
|
||||||
float C_4JInput::GetJoypadStick_LX(int iPad, bool bCheckMenuDisplay)
|
float C_4JInput::GetJoypadStick_LX(int iPad, bool bCheckMenuDisplay)
|
||||||
{
|
{
|
||||||
return InternalInputManager.GetJoypadStick_LX(iPad, bCheckMenuDisplay);
|
return InternalInputManager.GetJoypadStick_LX(iPad, bCheckMenuDisplay);
|
||||||
@@ -165,21 +175,9 @@ void C_4JInput::GetText(uint16_t *UTF16String)
|
|||||||
InternalKeyboard.GetText(UTF16String);
|
InternalKeyboard.GetText(UTF16String);
|
||||||
}
|
}
|
||||||
|
|
||||||
const char* C_4JInput::PollControllerType(int ipad) {
|
EControllerType C_4JInput::GetControllerType(int iPad)
|
||||||
const char* GamepadType = InternalInputManager.GetGamepadType(ipad);
|
|
||||||
|
|
||||||
if (!GamepadType)
|
|
||||||
return "UNKNOWN";
|
|
||||||
|
|
||||||
if (strcmp(GamepadType, "SWITCH_PRO") == 0 ||
|
|
||||||
strcmp(GamepadType, "JOYCON_PAIR") == 0 ||
|
|
||||||
strcmp(GamepadType, "JOYCON_L") == 0 ||
|
|
||||||
strcmp(GamepadType, "JOYCON_R") == 0)
|
|
||||||
{
|
{
|
||||||
return "SWITCH";
|
return InternalInputManager.GetControllerType(iPad); //strk13r - mrow mrow mrow mrowwwwwwwwwww, i am silly kitty
|
||||||
}
|
|
||||||
|
|
||||||
return GamepadType; // str1k3r - if not one of the switch types, return the type itself
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool C_4JInput::VerifyStrings(WCHAR **pwStringA, int iStringC, int (*Func)(LPVOID, STRING_VERIFY_RESPONSE *), LPVOID lpParam)
|
bool C_4JInput::VerifyStrings(WCHAR **pwStringA, int iStringC, int (*Func)(LPVOID, STRING_VERIFY_RESPONSE *), LPVOID lpParam)
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ SOFTWARE.
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "INP_ForceFeedback.h"
|
#include "INP_ForceFeedback.h"
|
||||||
|
#include "INP_Main.h"
|
||||||
|
|
||||||
void CForceFeedback::Initialise(int iInputStateC, unsigned char ucMapC, unsigned char ucActionC, unsigned char ucMenuActionC)
|
void CForceFeedback::Initialise(int iInputStateC, unsigned char ucMapC, unsigned char ucActionC, unsigned char ucMenuActionC)
|
||||||
{
|
{
|
||||||
@@ -85,8 +86,8 @@ void CForceFeedback::AddRumble(unsigned int uiPad, WORD leftMotorSpeed, WORD rig
|
|||||||
QueryPerformanceCounter(&qwCurrentTime);
|
QueryPerformanceCounter(&qwCurrentTime);
|
||||||
|
|
||||||
pRumble->m_TimeLeft = (m_TicksPerSecond * fSeconds) + qwCurrentTime.QuadPart;
|
pRumble->m_TimeLeft = (m_TicksPerSecond * fSeconds) + qwCurrentTime.QuadPart;
|
||||||
pRumble->m_RumbleData.wLeftMotorSpeed = leftMotorSpeed;
|
pRumble->m_LowFreqRumble = leftMotorSpeed;
|
||||||
pRumble->m_RumbleData.wRightMotorSpeed = rightMotorSpeed;
|
pRumble->m_HighFreqRumble = rightMotorSpeed;
|
||||||
pRumble->m_Pad = uiPad;
|
pRumble->m_Pad = uiPad;
|
||||||
|
|
||||||
m_RumbleList.AddToTail(pRumble);
|
m_RumbleList.AddToTail(pRumble);
|
||||||
@@ -107,15 +108,16 @@ void CForceFeedback::Tick(void)
|
|||||||
|
|
||||||
LinkedList::_LL_NODE *pRumbleNode = m_RumbleList.m_Head;
|
LinkedList::_LL_NODE *pRumbleNode = m_RumbleList.m_Head;
|
||||||
while (pRumbleNode)
|
while (pRumbleNode)
|
||||||
{
|
|
||||||
if (pRumbleNode->GetDataAs<RUMBLE_EFFECT>()->m_TimeLeft <= qwCurrentTime.QuadPart)
|
|
||||||
{
|
{
|
||||||
RUMBLE_EFFECT *pRumble = pRumbleNode->GetDataAs<RUMBLE_EFFECT>();
|
RUMBLE_EFFECT *pRumble = pRumbleNode->GetDataAs<RUMBLE_EFFECT>();
|
||||||
|
SDL_Gamepad* m_pGamepad = InternalInputManager.m_Joypads[pRumble->m_Pad].m_pGamepad;
|
||||||
|
|
||||||
pRumble->m_RumbleData.wLeftMotorSpeed = 0;
|
if (pRumble->m_TimeLeft <= qwCurrentTime.QuadPart)
|
||||||
pRumble->m_RumbleData.wRightMotorSpeed = 0;
|
{
|
||||||
|
pRumble->m_LowFreqRumble = 0;
|
||||||
|
pRumble->m_HighFreqRumble = 0;
|
||||||
|
|
||||||
XInputSetState(pRumble->m_Pad, &pRumble->m_RumbleData);
|
if (m_pGamepad != nullptr) SDL_RumbleGamepad(m_pGamepad, 0, 0, 0);
|
||||||
|
|
||||||
m_RumbleList.RemoveNode(pRumbleNode);
|
m_RumbleList.RemoveNode(pRumbleNode);
|
||||||
|
|
||||||
@@ -127,7 +129,7 @@ void CForceFeedback::Tick(void)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
XInputSetState(pRumbleNode->GetDataAs<RUMBLE_EFFECT>()->m_Pad, &pRumbleNode->GetDataAs<RUMBLE_EFFECT>()->m_RumbleData);
|
if (m_pGamepad != nullptr) SDL_RumbleGamepad(m_pGamepad, pRumble->m_LowFreqRumble, pRumble->m_HighFreqRumble, 30000);
|
||||||
pRumbleNode = pRumbleNode->m_Next;
|
pRumbleNode = pRumbleNode->m_Next;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ SOFTWARE.
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "LinkedList.h"
|
#include "LinkedList.h"
|
||||||
|
#include "SDL3\SDL_gamepad.h"
|
||||||
|
|
||||||
#define MAX_EFFECTS 10
|
#define MAX_EFFECTS 10
|
||||||
|
|
||||||
@@ -38,9 +39,10 @@ public:
|
|||||||
|
|
||||||
struct RUMBLE_EFFECT
|
struct RUMBLE_EFFECT
|
||||||
{
|
{
|
||||||
DWORD m_Pad;
|
int m_Pad;
|
||||||
uint64_t m_TimeLeft;
|
uint64_t m_TimeLeft;
|
||||||
XINPUT_VIBRATION m_RumbleData;
|
uint16_t m_LowFreqRumble;
|
||||||
|
uint16_t m_HighFreqRumble;
|
||||||
WORD unk;
|
WORD unk;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ CInput InternalInputManager;
|
|||||||
CInput::CInput()
|
CInput::CInput()
|
||||||
{
|
{
|
||||||
m_Keyboard = CKeyboard();
|
m_Keyboard = CKeyboard();
|
||||||
|
m_bSelectBackSwapped = false;
|
||||||
|
|
||||||
m_uiSigninJoypadMask = 0;
|
m_uiSigninJoypadMask = 0;
|
||||||
for (int i = 0; i < 4; ++i)
|
for (int i = 0; i < 4; ++i)
|
||||||
@@ -147,6 +148,15 @@ void CInput::SetJoypadValues(JOYPAD *pThisPad)
|
|||||||
pThisPad->m_uiButtons |= _360_JOY_BUTTON_BACK;
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_BACK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//str1k3r - Only check the touchpad if we have one
|
||||||
|
if (SDL_GetNumGamepadTouchpads(pGamePad) > 0)
|
||||||
|
{
|
||||||
|
if (SDL_GetGamepadButton(pGamePad, SDL_GAMEPAD_BUTTON_TOUCHPAD))
|
||||||
|
{
|
||||||
|
pThisPad->m_uiButtons |= _PS_JOY_BUTTON_TOUCHPAD;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (SDL_GetGamepadButton(pGamePad, SDL_GAMEPAD_BUTTON_LEFT_STICK))
|
if (SDL_GetGamepadButton(pGamePad, SDL_GAMEPAD_BUTTON_LEFT_STICK))
|
||||||
{
|
{
|
||||||
pThisPad->m_uiButtons |= _360_JOY_BUTTON_LTHUMB;
|
pThisPad->m_uiButtons |= _360_JOY_BUTTON_LTHUMB;
|
||||||
@@ -312,14 +322,24 @@ unsigned int CInput::GetGameJoypadMaps(unsigned char ucMap, unsigned char ucActi
|
|||||||
return m_JoypadMap[ucMap][ucAction];
|
return m_JoypadMap[ucMap][ucAction];
|
||||||
}
|
}
|
||||||
|
|
||||||
const char* CInput::GetGamepadType(int iPad)
|
//str1k3r - renamed to match the Orbis Input lib, why did i rename it cause tism
|
||||||
|
EControllerType CInput::GetControllerType(int iPad)
|
||||||
{
|
{
|
||||||
if (!m_Joypads[iPad].m_pGamepad)
|
//str1k3r - if the pad is connected then check the type, if we are the same type or we arent connected return the last type
|
||||||
|
if(InternalInputManager.IsPadConnected(iPad))
|
||||||
{
|
{
|
||||||
return "UNKNOWN";
|
EControllerType ControllerType = GetControllerName(SDL_GetGamepadType(m_Joypads[iPad].m_pGamepad));
|
||||||
|
|
||||||
|
if(ControllerType != m_LastControllerType)
|
||||||
|
{
|
||||||
|
m_LastControllerType = ControllerType;
|
||||||
|
return ControllerType;
|
||||||
}
|
}
|
||||||
|
|
||||||
return GamepadTypeName(SDL_GetGamepadType(m_Joypads[iPad].m_pGamepad));
|
return m_LastControllerType;
|
||||||
|
}
|
||||||
|
|
||||||
|
return m_LastControllerType;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CInput::SetJoypadMapVal(int iPad, unsigned char ucMap)
|
void CInput::SetJoypadMapVal(int iPad, unsigned char ucMap)
|
||||||
@@ -400,6 +420,19 @@ bool CInput::IsPadConnected(int iPad)
|
|||||||
return m_Joypads[iPad].m_bIsConnected;
|
return m_Joypads[iPad].m_bIsConnected;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CInput::SetSelectBackSwapped(bool swapped)
|
||||||
|
{
|
||||||
|
if(m_bSelectBackSwapped != swapped)
|
||||||
|
{
|
||||||
|
m_bSelectBackSwapped = swapped;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CInput::IsSelectBackSwapped()
|
||||||
|
{
|
||||||
|
return m_bSelectBackSwapped;
|
||||||
|
}
|
||||||
|
|
||||||
void CInput::SetSigninJoypadMask(unsigned int mask)
|
void CInput::SetSigninJoypadMask(unsigned int mask)
|
||||||
{
|
{
|
||||||
m_uiSigninJoypadMask = mask;
|
m_uiSigninJoypadMask = mask;
|
||||||
|
|||||||
@@ -31,26 +31,6 @@ SOFTWARE.
|
|||||||
|
|
||||||
class CInput
|
class CInput
|
||||||
{
|
{
|
||||||
private:
|
|
||||||
const char* GamepadTypeName(SDL_GamepadType type)
|
|
||||||
{
|
|
||||||
switch (type)
|
|
||||||
{
|
|
||||||
case SDL_GAMEPAD_TYPE_UNKNOWN: return "UNKNOWN";
|
|
||||||
case SDL_GAMEPAD_TYPE_GAMECUBE: return "GAMECUBE";
|
|
||||||
case SDL_GAMEPAD_TYPE_STANDARD: return "STANDARD";
|
|
||||||
case SDL_GAMEPAD_TYPE_XBOX360: return "XBOX360";
|
|
||||||
case SDL_GAMEPAD_TYPE_XBOXONE: return "XBOXONE";
|
|
||||||
case SDL_GAMEPAD_TYPE_PS3: return "PS3";
|
|
||||||
case SDL_GAMEPAD_TYPE_PS4: return "PS4";
|
|
||||||
case SDL_GAMEPAD_TYPE_PS5: return "PS5";
|
|
||||||
case SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_PRO: return "SWITCH_PRO";
|
|
||||||
case SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_LEFT: return "JOYCON_L";
|
|
||||||
case SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_RIGHT: return "JOYCON_R";
|
|
||||||
case SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_PAIR: return "JOYCON_PAIR";
|
|
||||||
default: return "UNKNOWN";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public:
|
public:
|
||||||
struct JOYPAD
|
struct JOYPAD
|
||||||
{
|
{
|
||||||
@@ -121,7 +101,7 @@ public:
|
|||||||
|
|
||||||
void SetGameJoypadMaps(unsigned char ucMap, unsigned char ucAction, unsigned int uiActionVal);
|
void SetGameJoypadMaps(unsigned char ucMap, unsigned char ucAction, unsigned int uiActionVal);
|
||||||
unsigned int GetGameJoypadMaps(unsigned char ucMap, unsigned char ucAction);
|
unsigned int GetGameJoypadMaps(unsigned char ucMap, unsigned char ucAction);
|
||||||
const char* GetGamepadType(int iPad);
|
EControllerType GetControllerType(int iPad);
|
||||||
void SetJoypadMapVal(int iPad, unsigned char ucMap);
|
void SetJoypadMapVal(int iPad, unsigned char ucMap);
|
||||||
unsigned char GetJoypadMapVal(int iPad);
|
unsigned char GetJoypadMapVal(int iPad);
|
||||||
|
|
||||||
@@ -129,6 +109,8 @@ public:
|
|||||||
void SetJoypadStickTriggerMap(int iPad, unsigned int uiFrom, unsigned int uiTo);
|
void SetJoypadStickTriggerMap(int iPad, unsigned int uiFrom, unsigned int uiTo);
|
||||||
|
|
||||||
bool IsPadConnected(int iPad);
|
bool IsPadConnected(int iPad);
|
||||||
|
void SetSelectBackSwapped(bool swapped);
|
||||||
|
bool IsSelectBackSwapped();
|
||||||
void SetSigninJoypadMask(unsigned int mask);
|
void SetSigninJoypadMask(unsigned int mask);
|
||||||
unsigned int GetValue(int iPad, unsigned char ucAction, bool bRepeat = false);
|
unsigned int GetValue(int iPad, unsigned char ucAction, bool bRepeat = false);
|
||||||
bool IsSet(int iPad, unsigned char ucAction);
|
bool IsSet(int iPad, unsigned char ucAction);
|
||||||
@@ -184,10 +166,13 @@ public:
|
|||||||
|
|
||||||
unsigned int **m_JoypadMap;
|
unsigned int **m_JoypadMap;
|
||||||
|
|
||||||
|
bool m_bSelectBackSwapped;
|
||||||
|
|
||||||
bool m_bJoypadMapArrayIsSetup;
|
bool m_bJoypadMapArrayIsSetup;
|
||||||
unsigned int m_uiSigninJoypadMask;
|
unsigned int m_uiSigninJoypadMask;
|
||||||
bool m_bIsMenuDisplayed[MAX_JOYPADS];
|
bool m_bIsMenuDisplayed[MAX_JOYPADS];
|
||||||
|
|
||||||
|
EControllerType m_LastControllerType;
|
||||||
CForceFeedback m_ForceFeedback;
|
CForceFeedback m_ForceFeedback;
|
||||||
CKeyboard m_Keyboard;
|
CKeyboard m_Keyboard;
|
||||||
|
|
||||||
@@ -202,6 +187,27 @@ public:
|
|||||||
unsigned int m_uiDebugSequenceIndex;
|
unsigned int m_uiDebugSequenceIndex;
|
||||||
int (*m_pDebugSequenceFn)(void *);
|
int (*m_pDebugSequenceFn)(void *);
|
||||||
LPVOID m_pDebugSequenceParam;
|
LPVOID m_pDebugSequenceParam;
|
||||||
|
|
||||||
|
private:
|
||||||
|
EControllerType GetControllerName(SDL_GamepadType type)
|
||||||
|
{
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case SDL_GAMEPAD_TYPE_XBOX360: return EControllerType_Xbox360;
|
||||||
|
case SDL_GAMEPAD_TYPE_XBOXONE: return EControllerType_XboxOne;
|
||||||
|
case SDL_GAMEPAD_TYPE_PS3: return EControllerType_PS3;
|
||||||
|
case SDL_GAMEPAD_TYPE_PS4: return EControllerType_PS4;
|
||||||
|
case SDL_GAMEPAD_TYPE_PS5: return EControllerType_PS5;
|
||||||
|
case SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_PRO:
|
||||||
|
case SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_LEFT:
|
||||||
|
case SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_RIGHT:
|
||||||
|
case SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_PAIR: return EControllerType_Switch;
|
||||||
|
case SDL_GAMEPAD_TYPE_GAMECUBE: return EControllerType_Gamecube;
|
||||||
|
case SDL_GAMEPAD_TYPE_STANDARD:
|
||||||
|
case SDL_GAMEPAD_TYPE_UNKNOWN:
|
||||||
|
default: return EControllerType_Default;
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Singleton
|
// Singleton
|
||||||
|
|||||||
+18
-1
@@ -1,13 +1,30 @@
|
|||||||
#ifndef PCH_H
|
#ifndef PCH_H
|
||||||
#define PCH_H
|
#define PCH_H
|
||||||
|
|
||||||
|
#ifdef _WIN64
|
||||||
#define WIN32_LEAN_AND_MEAN
|
#define WIN32_LEAN_AND_MEAN
|
||||||
#include <Windows.h>
|
#include <Windows.h>
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <Xinput.h>
|
#endif
|
||||||
|
|
||||||
|
#ifdef __ORBIS__
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <scebase.h>
|
||||||
|
#include <kernel.h>
|
||||||
|
#include <fios2.h>
|
||||||
|
#include <message_dialog.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _XBOX
|
||||||
#include "extraX64.h"
|
#include "extraX64.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __PS3__
|
||||||
|
#include "Ps3Types.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif //PCH_H
|
#endif //PCH_H
|
||||||
|
|||||||
+260
-77
@@ -1,17 +1,33 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
<ProjectConfiguration Include="Debug|Durango">
|
||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Durango</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|ORBIS">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>ORBIS</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|PS3">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>PS3</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Debug|x64">
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
<Platform>x64</Platform>
|
<Platform>x64</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
<ProjectConfiguration Include="Release|Durango">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Durango</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|ORBIS">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>ORBIS</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|PS3">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>PS3</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Release|x64">
|
<ProjectConfiguration Include="Release|x64">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
@@ -19,21 +35,170 @@
|
|||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ClCompile Include="Durango\4J_Profile.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Durango\Durango_PlayerUID.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Durango\PRO_Data.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Durango\PRO_Main.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Durango\PRO_Sys.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="stdafx.cpp" />
|
<ClCompile Include="stdafx.cpp" />
|
||||||
<ClCompile Include="Windows64\4J_Profile.cpp" />
|
<ClCompile Include="Windows64\4J_Profile.cpp">
|
||||||
<ClCompile Include="Windows64\PRO_AwardManager.cpp" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">true</ExcludedFromBuild>
|
||||||
<ClCompile Include="Windows64\PRO_Data.cpp" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">true</ExcludedFromBuild>
|
||||||
<ClCompile Include="Windows64\PRO_Main.cpp" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
<ClCompile Include="Windows64\PRO_RichPresence.cpp" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
<ClCompile Include="Windows64\PRO_Sys.cpp" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\PRO_AwardManager.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\PRO_Data.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\PRO_Main.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\PRO_RichPresence.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\PRO_Sys.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ClInclude Include="Durango\Durango_PlayerUID.h">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Durango\PRO_Data.h">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Durango\PRO_Main.h">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Durango\PRO_Sys.h">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
<ClInclude Include="stdafx.h" />
|
<ClInclude Include="stdafx.h" />
|
||||||
<ClInclude Include="Windows64\PRO_AwardManager.h" />
|
<ClInclude Include="Windows64\PRO_AwardManager.h">
|
||||||
<ClInclude Include="Windows64\PRO_Data.h" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">true</ExcludedFromBuild>
|
||||||
<ClInclude Include="Windows64\PRO_Main.h" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">true</ExcludedFromBuild>
|
||||||
<ClInclude Include="Windows64\PRO_RichPresence.h" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
<ClInclude Include="Windows64\PRO_Sys.h" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Windows64\PRO_Data.h">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Windows64\PRO_Main.h">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Windows64\PRO_RichPresence.h">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Windows64\PRO_Sys.h">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<PropertyGroup Label="Globals">
|
<PropertyGroup Label="Globals">
|
||||||
<ProjectGuid>{C3833C67-05E4-4D6C-8707-22F95B6939E4}</ProjectGuid>
|
<ProjectGuid>{C3833C67-05E4-4D6C-8707-22F95B6939E4}</ProjectGuid>
|
||||||
@@ -41,25 +206,12 @@
|
|||||||
<RootNamespace>My4J_Profile</RootNamespace>
|
<RootNamespace>My4J_Profile</RootNamespace>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
|
||||||
<PlatformToolset>v110</PlatformToolset>
|
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
<PlatformToolset>v110</PlatformToolset>
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
|
||||||
<PlatformToolset>v110</PlatformToolset>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
@@ -67,51 +219,78 @@
|
|||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">
|
||||||
|
<PlatformToolset>Clang</PlatformToolset>
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'" Label="Configuration">
|
||||||
|
<PlatformToolset>Clang</PlatformToolset>
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">
|
||||||
|
<PlatformToolset>Clang</PlatformToolset>
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|PS3'" Label="Configuration">
|
||||||
|
<PlatformToolset>SNC</PlatformToolset>
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros" />
|
<PropertyGroup Label="UserMacros" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<TargetName>$(ProjectName)_d</TargetName>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<TargetName>$(ProjectName)_d</TargetName>
|
<TargetName>$(ProjectName)_d</TargetName>
|
||||||
<OutDir>$(SolutionDir)\libs\</OutDir>
|
<OutDir>$(SolutionDir)\libs\</OutDir>
|
||||||
</PropertyGroup>
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<TargetName>$(ProjectName)_r</TargetName>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<TargetName>$(ProjectName)_r</TargetName>
|
<TargetName>$(ProjectName)_r</TargetName>
|
||||||
<OutDir>$(SolutionDir)\libs\</OutDir>
|
<OutDir>$(SolutionDir)\libs\</OutDir>
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">
|
||||||
|
<TargetExt>.lib</TargetExt>
|
||||||
|
<ExecutablePath>$(Console_SdkRoot)bin;$(VCInstallDir)bin\x86_amd64;$(VCInstallDir)bin;$(WindowsSDK_ExecutablePath_x86);$(VSInstallDir)Common7\Tools\bin;$(VSInstallDir)Common7\tools;$(VSInstallDir)Common7\ide;$(ProgramFiles)\HTML Help Workshop;$(MSBuildToolsPath32);$(FxCopDir);$(PATH);</ExecutablePath>
|
||||||
|
<ReferencePath>$(Console_SdkLibPath);$(Console_SdkWindowsMetadataPath)</ReferencePath>
|
||||||
|
<LibraryPath>$(Console_SdkLibPath)</LibraryPath>
|
||||||
|
<LibraryWPath>$(Console_SdkLibPath);$(Console_SdkWindowsMetadataPath)</LibraryWPath>
|
||||||
|
<IncludePath>$(Console_SdkIncludeRoot)</IncludePath>
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
<TargetExt>.a</TargetExt>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
<TargetExt>.a</TargetExt>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
<TargetExt>.a</TargetExt>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
<TargetExt>.a</TargetExt>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<SDLCheck>true</SDLCheck>
|
|
||||||
<AdditionalIncludeDirectories>../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
||||||
<ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Windows</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
@@ -121,7 +300,7 @@
|
|||||||
<SDLCheck>true</SDLCheck>
|
<SDLCheck>true</SDLCheck>
|
||||||
<AdditionalIncludeDirectories>../Headers/Windows64;../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>../Headers/Windows64;../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
|
<ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
|
||||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
<MinimalRebuild>false</MinimalRebuild>
|
<MinimalRebuild>false</MinimalRebuild>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
@@ -130,38 +309,20 @@
|
|||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<SDLCheck>true</SDLCheck>
|
|
||||||
<AdditionalIncludeDirectories>../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
||||||
<ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Windows</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
<Optimization>MaxSpeed</Optimization>
|
<Optimization>Full</Optimization>
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
<IntrinsicFunctions>false</IntrinsicFunctions>
|
||||||
<PreprocessorDefinitions>_WINDOWS64;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>_WINDOWS64;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<SDLCheck>true</SDLCheck>
|
<SDLCheck>true</SDLCheck>
|
||||||
<AdditionalIncludeDirectories>../Headers/Windows64;../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>../Headers/Windows64;../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
|
<ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
@@ -170,6 +331,28 @@
|
|||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">
|
||||||
|
<ClCompile>
|
||||||
|
<AdditionalIncludeDirectories>../Headers/Durango;../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">
|
||||||
|
<ClCompile>
|
||||||
|
<AdditionalIncludeDirectories>../Headers/Durango;../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">
|
||||||
|
<ClCompile>
|
||||||
|
<AdditionalIncludeDirectories>../Headers/Orbis;../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<Warnings>NormalWarnings</Warnings>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">
|
||||||
|
<ClCompile>
|
||||||
|
<AdditionalIncludeDirectories>../Headers/PS3;../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<Warnings>NormalWarnings</Warnings>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
|||||||
@@ -36,6 +36,21 @@
|
|||||||
<ClCompile Include="stdafx.cpp">
|
<ClCompile Include="stdafx.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="Durango\PRO_Sys.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Durango\PRO_Main.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Durango\PRO_Data.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Durango\4J_Profile.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Durango\Durango_PlayerUID.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="Windows64\PRO_AwardManager.h">
|
<ClInclude Include="Windows64\PRO_AwardManager.h">
|
||||||
@@ -56,5 +71,17 @@
|
|||||||
<ClInclude Include="stdafx.h">
|
<ClInclude Include="stdafx.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="Durango\PRO_Sys.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Durango\PRO_Main.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Durango\PRO_Data.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Durango\Durango_PlayerUID.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
#include "4J_Profile.h"
|
||||||
|
#include "PRO_Main.h"
|
||||||
|
|
||||||
|
HRESULT C_4JProfile::GetLiveConnectionStatus()
|
||||||
|
{
|
||||||
|
return S_OK; //str1k3r - 4J you're strange for this
|
||||||
|
}
|
||||||
|
|
||||||
|
bool C_4JProfile::IsSystemUIDisplayed()
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool C_4JProfile::LocaleIsUSorCanada()
|
||||||
|
{
|
||||||
|
return InternalProfileManager.m_Sys.LocaleIsUSorCanada();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool C_4JProfile::LocaleIsChina()
|
||||||
|
{
|
||||||
|
return InternalProfileManager.m_Sys.LocaleIsChina();
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
#include "PRO_Main.h"
|
||||||
|
|
||||||
|
CProfile InternalProfileManager;
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "PRO_Sys.h"
|
||||||
|
|
||||||
|
class CProfile
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CProfile();
|
||||||
|
|
||||||
|
CSys m_Sys;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Singleton
|
||||||
|
extern CProfile InternalProfileManager;
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
#include "PRO_Sys.h"
|
||||||
|
|
||||||
|
CSys::CSys() {}
|
||||||
|
|
||||||
|
//str1k3r - 1:1 to decomp
|
||||||
|
bool CSys::LocaleIsUSorCanada()
|
||||||
|
{
|
||||||
|
GEOID UserGeoID;
|
||||||
|
|
||||||
|
UserGeoID = GetUserGeoID(GEOCLASS_NATION);
|
||||||
|
return UserGeoID == 39 || UserGeoID == 244;
|
||||||
|
}
|
||||||
|
|
||||||
|
//str1k3r - missing from TU18 Libs, added in TU19/20
|
||||||
|
bool CSys::LocaleIsChina()
|
||||||
|
{
|
||||||
|
GEOID UserGeoID;
|
||||||
|
|
||||||
|
UserGeoID = GetUserGeoID(GEOCLASS_NATION);
|
||||||
|
return UserGeoID == 45;
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "4J_Profile.h"
|
||||||
|
|
||||||
|
class CSys
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CSys();
|
||||||
|
|
||||||
|
// Locale
|
||||||
|
bool LocaleIsUSorCanada();
|
||||||
|
bool LocaleIsChina();
|
||||||
|
};
|
||||||
@@ -1,28 +1,102 @@
|
|||||||
/*
|
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2026 Patoke
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "4J_Profile.h"
|
#include "4J_Profile.h"
|
||||||
|
#include "PRO_Main.h"
|
||||||
|
|
||||||
C_4JProfile ProfileManager;
|
int C_4JProfile::GetLockedProfile()
|
||||||
|
{
|
||||||
|
return InternalProfileManager.GetLockedProfile();
|
||||||
|
}
|
||||||
|
|
||||||
|
void C_4JProfile::SetLockedProfile(int iProf)
|
||||||
|
{
|
||||||
|
InternalProfileManager.SetLockedProfile(iProf);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool C_4JProfile::IsSignedIn(int iQuadrant)
|
||||||
|
{
|
||||||
|
return InternalProfileManager.m_Sys.IsSignedIn(iQuadrant);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool C_4JProfile::IsSignedInLive(int iProf)
|
||||||
|
{
|
||||||
|
return InternalProfileManager.m_Sys.IsSignedInLive(iProf);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool C_4JProfile::IsGuest(int iQuadrant)
|
||||||
|
{
|
||||||
|
return InternalProfileManager.m_Sys.IsGuest(iQuadrant);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool C_4JProfile::AllowedToPlayMultiplayer(int iProf)
|
||||||
|
{
|
||||||
|
return InternalProfileManager.m_Sys.AllowedToPlayMultiplayer(iProf);
|
||||||
|
}
|
||||||
|
|
||||||
|
void C_4JProfile::LoadGamertag()
|
||||||
|
{
|
||||||
|
InternalProfileManager.m_Sys.LoadGamertag();
|
||||||
|
}
|
||||||
|
|
||||||
|
void C_4JProfile::SetFakeGamerTag(char *name)
|
||||||
|
{
|
||||||
|
InternalProfileManager.m_Sys.SetFakeGamertag(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
char* C_4JProfile::GetGamertag(int iPad)
|
||||||
|
{
|
||||||
|
return InternalProfileManager.m_Sys.GetGamertag(iPad);
|
||||||
|
}
|
||||||
|
|
||||||
|
wstring C_4JProfile::GetDisplayName(int iPad)
|
||||||
|
{
|
||||||
|
return InternalProfileManager.m_Sys.GetDisplayName(iPad);
|
||||||
|
}
|
||||||
|
|
||||||
|
int C_4JProfile::GetPrimaryPad()
|
||||||
|
{
|
||||||
|
return InternalProfileManager.m_Sys.GetPrimaryPad();
|
||||||
|
}
|
||||||
|
|
||||||
|
void C_4JProfile::SetPrimaryPad(int iPad)
|
||||||
|
{
|
||||||
|
InternalProfileManager.m_Sys.SetPrimaryPad(iPad);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool C_4JProfile::IsFullVersion()
|
||||||
|
{
|
||||||
|
return InternalProfileManager.m_Sys.IsFullVersion();
|
||||||
|
}
|
||||||
|
|
||||||
|
HRESULT C_4JProfile::GetLiveConnectionStatus()
|
||||||
|
{
|
||||||
|
return S_OK; //str1k3r - matches durango profile lib
|
||||||
|
}
|
||||||
|
|
||||||
|
bool C_4JProfile::IsSystemUIDisplayed()
|
||||||
|
{
|
||||||
|
return 0; //str1k3r - matches durango profile lib
|
||||||
|
}
|
||||||
|
|
||||||
|
void C_4JProfile::LoadSettings(void* gs, size_t gsSize)
|
||||||
|
{
|
||||||
|
InternalProfileManager.m_ProfileData.LoadSettings(gs, gsSize);
|
||||||
|
}
|
||||||
|
|
||||||
|
void C_4JProfile::SaveSettings(void* gs, size_t gsSize)
|
||||||
|
{
|
||||||
|
InternalProfileManager.m_ProfileData.SaveSettings(gs, gsSize);
|
||||||
|
}
|
||||||
|
|
||||||
|
void C_4JProfile::SetDebugFullOverride(bool bVal)
|
||||||
|
{
|
||||||
|
InternalProfileManager.m_Sys.SetDebugFullOverride(bVal);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool C_4JProfile::LocaleIsUSorCanada()
|
||||||
|
{
|
||||||
|
return InternalProfileManager.m_Sys.LocaleIsUSorCanada();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool C_4JProfile::LocaleIsChina()
|
||||||
|
{
|
||||||
|
return InternalProfileManager.m_Sys.LocaleIsChina();
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,23 +1,46 @@
|
|||||||
/*
|
#include "PRO_Data.h"
|
||||||
MIT License
|
#include "4J_Profile.h"
|
||||||
|
|
||||||
Copyright (c) 2026 Patoke
|
//C_4JProfile::PROFILESETTINGS * CProfileData::GetDashboardProfileSettings(int iPad)
|
||||||
|
//{
|
||||||
|
// ; //str1k3r - stubbed out for now
|
||||||
|
//}
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
//str1k3r - GetSettings is basically snatched from smartCMD
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
void GetSettings(wchar_t *outPath, DWORD size)
|
||||||
in the Software without restriction, including without limitation the rights
|
{
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
GetModuleFileNameW(NULL, outPath, size); //str1k3r - unlike smartCMD we use wide so we can handle non english characters
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
wchar_t *lastSlash = wcsrchr(outPath, '\\');
|
||||||
furnished to do so, subject to the following conditions:
|
if (lastSlash) *(lastSlash + 1) = '\0';
|
||||||
|
wcsncat_s(outPath, size, L"settings.dat", _TRUNCATE);
|
||||||
|
}
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
void CProfileData::LoadSettings(void* gs, size_t gsSize)
|
||||||
copies or substantial portions of the Software.
|
{
|
||||||
|
if (!gs || gsSize == 0) return;
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
wchar_t settingsPath[MAX_PATH] = {};
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
GetSettings(settingsPath, MAX_PATH);
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
FILE *file = NULL;
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
if (_wfopen_s(&file, settingsPath, L"rb") == 0 && file) //str1k3r - fun fact theres a version of fopen_s but for wide :3
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
{
|
||||||
SOFTWARE.
|
fread(gs, 1, gsSize, file);
|
||||||
*/
|
fclose(file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CProfileData::SaveSettings(void* gs, size_t gsSize)
|
||||||
|
{
|
||||||
|
if (!gs || gsSize == 0) return;
|
||||||
|
|
||||||
|
wchar_t settingsPath[MAX_PATH] = {};
|
||||||
|
GetSettings(settingsPath, MAX_PATH);
|
||||||
|
|
||||||
|
FILE *file = NULL;
|
||||||
|
if (_wfopen_s(&file, settingsPath, L"wb") == 0 && file)
|
||||||
|
{
|
||||||
|
fwrite(gs, 1, gsSize, file);
|
||||||
|
fclose(file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,24 +1,9 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
/*
|
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2026 Patoke
|
class CProfileData
|
||||||
|
{
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
public:
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
// SETTINGS
|
||||||
in the Software without restriction, including without limitation the rights
|
void LoadSettings(void* gs, size_t gsSize);
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
void SaveSettings(void* gs, size_t gsSize);
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
};
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
*/
|
|
||||||
@@ -1,23 +1,21 @@
|
|||||||
/*
|
#include "PRO_Main.h"
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2026 Patoke
|
CProfile InternalProfileManager;
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
CProfile::CProfile()
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
{
|
||||||
in the Software without restriction, including without limitation the rights
|
m_LockedProfile = 0;
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
}
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
int CProfile::GetLockedProfile()
|
||||||
copies or substantial portions of the Software.
|
{
|
||||||
|
return m_LockedProfile;
|
||||||
|
}
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
void CProfile::SetLockedProfile(int iProf)
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
{
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
if(m_LockedProfile != iProf)
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
{
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
m_LockedProfile = iProf;
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
}
|
||||||
SOFTWARE.
|
}
|
||||||
*/
|
|
||||||
@@ -1,24 +1,22 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
/*
|
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2026 Patoke
|
#include "PRO_Sys.h"
|
||||||
|
#include "PRO_Data.h"
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
class CProfile
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
{
|
||||||
in the Software without restriction, including without limitation the rights
|
public:
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
CProfile();
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
int GetLockedProfile();
|
||||||
copies or substantial portions of the Software.
|
void SetLockedProfile(int iProf);
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
CSys m_Sys;
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
CProfileData m_ProfileData;
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
private:
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
int m_LockedProfile;
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
};
|
||||||
SOFTWARE.
|
|
||||||
*/
|
// Singleton
|
||||||
|
extern CProfile InternalProfileManager;
|
||||||
@@ -1,23 +1,142 @@
|
|||||||
/*
|
#include "PRO_Sys.h"
|
||||||
MIT License
|
#include "4J_Input.h"
|
||||||
|
|
||||||
Copyright (c) 2026 Patoke
|
bool s_bProfileIsFullVersion = true;
|
||||||
|
char fakeGamerTag[XUSER_NAME_SIZE] = "PlayerName";
|
||||||
|
wchar_t fakeGamerTagW[XUSER_NAME_SIZE] = L"PlayerName";
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
CSys::CSys()
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
{
|
||||||
in the Software without restriction, including without limitation the rights
|
m_iPrimaryPad = 0;
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
}
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
bool CSys::IsSignedIn(int iQuadrant)
|
||||||
copies or substantial portions of the Software.
|
{
|
||||||
|
return InputManager.IsPadConnected(iQuadrant); //str1k3r - since we dont sign in like consoles just check if the pad is connected
|
||||||
|
}
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
bool CSys::IsSignedInLive(int iProf)
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
{
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
return InputManager.IsPadConnected(iProf);
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
}
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
//str1k3r - set every pad that isnt pad 0 as a guest
|
||||||
SOFTWARE.
|
bool CSys::IsGuest(int iQuadrant)
|
||||||
*/
|
{
|
||||||
|
if(iQuadrant == 0)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CSys::LoadGamertag()
|
||||||
|
{
|
||||||
|
wchar_t exeDir[MAX_PATH] = {};
|
||||||
|
GetModuleFileNameW(NULL, exeDir, MAX_PATH);
|
||||||
|
wchar_t *lastSlash = wcsrchr(exeDir, '\\');
|
||||||
|
if (lastSlash) *(lastSlash + 1) = '\0';
|
||||||
|
|
||||||
|
wchar_t filePath[MAX_PATH] = {};
|
||||||
|
if(wcscpy_s(filePath, _countof(filePath), exeDir) != 0 || wcsncat_s(filePath, _countof(filePath), L"username.txt", _TRUNCATE) != 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
FILE *file = NULL;
|
||||||
|
if (_wfopen_s(&file, filePath, L"r") == 0 && file)
|
||||||
|
{
|
||||||
|
wchar_t buffer[128] = {};
|
||||||
|
if(fgetws(buffer, _countof(buffer), file))
|
||||||
|
{
|
||||||
|
size_t len = wcslen(buffer);
|
||||||
|
while (len > 0 && (buffer[len-1] == '\n' || buffer[len-1] == '\r' || buffer[len-1] == ' ')) buffer[--len] = '\0';
|
||||||
|
|
||||||
|
if (len > 0)
|
||||||
|
{
|
||||||
|
wcscpy_s(fakeGamerTagW, _countof(fakeGamerTagW), buffer);
|
||||||
|
WideCharToMultiByte(CP_UTF8, 0, fakeGamerTagW, -1, fakeGamerTag, sizeof(fakeGamerTag), nullptr, nullptr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fclose(file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CSys::SetFakeGamertag(char *name)
|
||||||
|
{
|
||||||
|
size_t chars = 0;
|
||||||
|
|
||||||
|
strcpy_s(fakeGamerTag, name);
|
||||||
|
mbstowcs_s(&chars, fakeGamerTagW, XUSER_NAME_SIZE, name, _TRUNCATE);
|
||||||
|
}
|
||||||
|
|
||||||
|
char* CSys::GetGamertag(int iPad)
|
||||||
|
{
|
||||||
|
if(iPad == 0)
|
||||||
|
{
|
||||||
|
return fakeGamerTag;
|
||||||
|
}
|
||||||
|
|
||||||
|
char iPadGamertag[XUSER_NAME_SIZE];
|
||||||
|
|
||||||
|
_snprintf_s(iPadGamertag, sizeof(iPadGamertag), "%s (%d)", fakeGamerTag, iPad);
|
||||||
|
|
||||||
|
return iPadGamertag;
|
||||||
|
}
|
||||||
|
|
||||||
|
wstring CSys::GetDisplayName(int iPad)
|
||||||
|
{
|
||||||
|
if(iPad == 0)
|
||||||
|
{
|
||||||
|
return fakeGamerTagW;
|
||||||
|
}
|
||||||
|
|
||||||
|
wchar_t iPadGamertagW[XUSER_NAME_SIZE];
|
||||||
|
|
||||||
|
_snwprintf_s(iPadGamertagW, _countof(iPadGamertagW), L"%s (%d)", fakeGamerTagW, iPad);
|
||||||
|
|
||||||
|
return iPadGamertagW;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CSys::AllowedToPlayMultiplayer(int iProf)
|
||||||
|
{
|
||||||
|
return InputManager.IsPadConnected(iProf);
|
||||||
|
}
|
||||||
|
|
||||||
|
int CSys::GetPrimaryPad()
|
||||||
|
{
|
||||||
|
return m_iPrimaryPad;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CSys::SetPrimaryPad(int iPad)
|
||||||
|
{
|
||||||
|
m_iPrimaryPad = iPad;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CSys::SetDebugFullOverride(bool bVal)
|
||||||
|
{
|
||||||
|
s_bProfileIsFullVersion = bVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CSys::IsFullVersion()
|
||||||
|
{
|
||||||
|
return s_bProfileIsFullVersion;
|
||||||
|
}
|
||||||
|
|
||||||
|
//str1k3r - fun fact this is 1:1 to the Durango lib
|
||||||
|
bool CSys::LocaleIsUSorCanada()
|
||||||
|
{
|
||||||
|
GEOID UserGeoID;
|
||||||
|
|
||||||
|
UserGeoID = GetUserGeoID(GEOCLASS_NATION);
|
||||||
|
return UserGeoID == 39 || UserGeoID == 244;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CSys::LocaleIsChina()
|
||||||
|
{
|
||||||
|
GEOID UserGeoID;
|
||||||
|
|
||||||
|
UserGeoID = GetUserGeoID(GEOCLASS_NATION);
|
||||||
|
return UserGeoID == 45;
|
||||||
|
}
|
||||||
@@ -1,24 +1,38 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
/*
|
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2026 Patoke
|
#include "4J_Profile.h"
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
class CSys
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
{
|
||||||
in the Software without restriction, including without limitation the rights
|
public:
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
CSys();
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
// SIGNED IN
|
||||||
copies or substantial portions of the Software.
|
bool IsSignedIn(int iQuadrant);
|
||||||
|
bool IsSignedInLive(int iProf);
|
||||||
|
bool IsGuest(int iQuadrant);
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
// GAMERTAG
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
void LoadGamertag();
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
void SetFakeGamertag(char *name);
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
char* GetGamertag(int iPad);
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
wstring GetDisplayName(int iPad);
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
// PRIMARY PAD
|
||||||
*/
|
int GetPrimaryPad();
|
||||||
|
void SetPrimaryPad(int iPad);
|
||||||
|
|
||||||
|
// MULTIPLAYER
|
||||||
|
bool AllowedToPlayMultiplayer(int iProf);
|
||||||
|
|
||||||
|
// VERSION
|
||||||
|
bool IsFullVersion();
|
||||||
|
|
||||||
|
void SetDebugFullOverride(bool bVal);
|
||||||
|
|
||||||
|
// LOCALE
|
||||||
|
bool LocaleIsUSorCanada();
|
||||||
|
bool LocaleIsChina();
|
||||||
|
|
||||||
|
int m_iPrimaryPad;
|
||||||
|
};
|
||||||
+14
-1
@@ -1,13 +1,26 @@
|
|||||||
#ifndef PCH_H
|
#ifndef PCH_H
|
||||||
#define PCH_H
|
#define PCH_H
|
||||||
|
|
||||||
|
#ifdef _WIN64
|
||||||
#define WIN32_LEAN_AND_MEAN
|
#define WIN32_LEAN_AND_MEAN
|
||||||
#include <Windows.h>
|
#include <Windows.h>
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <Xinput.h>
|
#endif
|
||||||
|
|
||||||
|
#ifdef __ORBIS__
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <scebase.h>
|
||||||
|
#include <kernel.h>
|
||||||
|
#include <fios2.h>
|
||||||
|
#include <message_dialog.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _XBOX
|
||||||
#include "extraX64.h"
|
#include "extraX64.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif //PCH_H
|
#endif //PCH_H
|
||||||
|
|||||||
+339
-100
@@ -1,17 +1,33 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
<ProjectConfiguration Include="Debug|Durango">
|
||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Durango</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|ORBIS">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>ORBIS</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|PS3">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>PS3</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Debug|x64">
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
<Platform>x64</Platform>
|
<Platform>x64</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
<ProjectConfiguration Include="Release|Durango">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Durango</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|ORBIS">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>ORBIS</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|PS3">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>PS3</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Release|x64">
|
<ProjectConfiguration Include="Release|x64">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
@@ -19,51 +35,258 @@
|
|||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ClCompile Include="PS3\RendererCore.cpp" />
|
||||||
<ClCompile Include="stdafx.cpp" />
|
<ClCompile Include="stdafx.cpp" />
|
||||||
<ClCompile Include="Windows64\4J_Render.cpp" />
|
<ClCompile Include="Windows64\4J_Render.cpp">
|
||||||
<ClCompile Include="Windows64\RendererCBuff.cpp" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
<ClCompile Include="Windows64\RendererCore.cpp" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
<ClCompile Include="Windows64\RendererMatrix.cpp" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
<ClCompile Include="Windows64\RendererState.cpp" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
<ClCompile Include="Windows64\RendererTexture.cpp" />
|
</ClCompile>
|
||||||
<ClCompile Include="Windows64\RendererVertex.cpp" />
|
<ClCompile Include="Windows64\RendererCBuff.cpp">
|
||||||
<ClCompile Include="Windows64\vendor\libpng\png.c" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
<ClCompile Include="Windows64\vendor\libpng\pngerror.c" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
<ClCompile Include="Windows64\vendor\libpng\pngget.c" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
<ClCompile Include="Windows64\vendor\libpng\pngmem.c" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
<ClCompile Include="Windows64\vendor\libpng\pngpread.c" />
|
</ClCompile>
|
||||||
<ClCompile Include="Windows64\vendor\libpng\pngread.c" />
|
<ClCompile Include="Windows64\RendererCore.cpp">
|
||||||
<ClCompile Include="Windows64\vendor\libpng\pngrio.c" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
<ClCompile Include="Windows64\vendor\libpng\pngrtran.c" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
<ClCompile Include="Windows64\vendor\libpng\pngrutil.c" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
<ClCompile Include="Windows64\vendor\libpng\pngset.c" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
<ClCompile Include="Windows64\vendor\libpng\pngtest.c" />
|
</ClCompile>
|
||||||
<ClCompile Include="Windows64\vendor\libpng\pngtrans.c" />
|
<ClCompile Include="Windows64\RendererMatrix.cpp">
|
||||||
<ClCompile Include="Windows64\vendor\libpng\pngwio.c" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
<ClCompile Include="Windows64\vendor\libpng\pngwrite.c" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
<ClCompile Include="Windows64\vendor\libpng\pngwtran.c" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
<ClCompile Include="Windows64\vendor\libpng\pngwutil.c" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
<ClCompile Include="Windows64\vendor\microprofile\microprofile.cpp" />
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\RendererState.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\RendererTexture.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\RendererVertex.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\vendor\libpng\png.c">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\vendor\libpng\pngerror.c">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\vendor\libpng\pngget.c">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\vendor\libpng\pngmem.c">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\vendor\libpng\pngpread.c">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\vendor\libpng\pngread.c">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\vendor\libpng\pngrio.c">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\vendor\libpng\pngrtran.c">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\vendor\libpng\pngrutil.c">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\vendor\libpng\pngset.c">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\vendor\libpng\pngtest.c">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\vendor\libpng\pngtrans.c">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\vendor\libpng\pngwio.c">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\vendor\libpng\pngwrite.c">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\vendor\libpng\pngwtran.c">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\vendor\libpng\pngwutil.c">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\vendor\microprofile\microprofile.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ClInclude Include="PS3\RendererCore.h" />
|
||||||
<ClInclude Include="stdafx.h" />
|
<ClInclude Include="stdafx.h" />
|
||||||
<ClInclude Include="Windows64\CompiledShaders.h" />
|
<ClInclude Include="Windows64\CompiledShaders.h">
|
||||||
<ClInclude Include="Windows64\Profiler.h" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
<ClInclude Include="Windows64\Renderer.h" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
<ClInclude Include="Windows64\vendor\libpng\png.h" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
<ClInclude Include="Windows64\vendor\libpng\pngconf.h" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
<ClInclude Include="Windows64\vendor\libpng\pngdebug.h" />
|
</ClInclude>
|
||||||
<ClInclude Include="Windows64\vendor\libpng\pnginfo.h" />
|
<ClInclude Include="Windows64\Profiler.h">
|
||||||
<ClInclude Include="Windows64\vendor\libpng\pnglibconf.h" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
<ClInclude Include="Windows64\vendor\libpng\pngpriv.h" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
<ClInclude Include="Windows64\vendor\libpng\pngstruct.h" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
<ClInclude Include="Windows64\vendor\microprofile\microprofile.config.h" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
<ClInclude Include="Windows64\vendor\microprofile\microprofile.h" />
|
</ClInclude>
|
||||||
<ClInclude Include="Windows64\vendor\microprofile\microprofile_html.h" />
|
<ClInclude Include="Windows64\Renderer.h">
|
||||||
<ClInclude Include="Windows64\vendor\microprofile\microprofile_icons.h" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
<ClInclude Include="Windows64\vendor\microprofile\stb\stb_sprintf.h" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
<ClInclude Include="Windows64\vendor\zlib\zconf.h" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
<ClInclude Include="Windows64\vendor\zlib\zlib.h" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Windows64\vendor\libpng\png.h">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Windows64\vendor\libpng\pngconf.h">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Windows64\vendor\libpng\pngdebug.h">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Windows64\vendor\libpng\pnginfo.h">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Windows64\vendor\libpng\pnglibconf.h">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Windows64\vendor\libpng\pngpriv.h">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Windows64\vendor\libpng\pngstruct.h">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Windows64\vendor\microprofile\microprofile.config.h">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Windows64\vendor\microprofile\microprofile.h">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Windows64\vendor\microprofile\microprofile_html.h">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Windows64\vendor\microprofile\microprofile_icons.h">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Windows64\vendor\microprofile\stb\stb_sprintf.h">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Windows64\vendor\zlib\zconf.h">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Windows64\vendor\zlib\zlib.h">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<PropertyGroup Label="Globals">
|
<PropertyGroup Label="Globals">
|
||||||
<ProjectGuid>{22938163-5DDB-4D04-883B-07212EB99FAE}</ProjectGuid>
|
<ProjectGuid>{22938163-5DDB-4D04-883B-07212EB99FAE}</ProjectGuid>
|
||||||
@@ -71,25 +294,12 @@
|
|||||||
<RootNamespace>My4J_Render</RootNamespace>
|
<RootNamespace>My4J_Render</RootNamespace>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
|
||||||
<PlatformToolset>v110</PlatformToolset>
|
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
<PlatformToolset>v110</PlatformToolset>
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
|
||||||
<PlatformToolset>v110</PlatformToolset>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
@@ -97,6 +307,28 @@
|
|||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">
|
||||||
|
<PlatformToolset>Clang</PlatformToolset>
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'" Label="Configuration">
|
||||||
|
<PlatformToolset>Clang</PlatformToolset>
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">
|
||||||
|
<PlatformToolset>Clang</PlatformToolset>
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|PS3'" Label="Configuration">
|
||||||
|
<PlatformToolset>SNC</PlatformToolset>
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
@@ -116,32 +348,35 @@
|
|||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<TargetName>$(ProjectName)_d</TargetName>
|
<TargetName>$(ProjectName)_d</TargetName>
|
||||||
<OutDir>$(SolutionDir)\libs\</OutDir>
|
<OutDir>$(SolutionDir)\libs\</OutDir>
|
||||||
</PropertyGroup>
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<TargetName>$(ProjectName)_d</TargetName>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<TargetName>$(ProjectName)_r</TargetName>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<TargetName>$(ProjectName)_r</TargetName>
|
<TargetName>$(ProjectName)_r</TargetName>
|
||||||
<OutDir>$(SolutionDir)\libs\</OutDir>
|
<OutDir>$(SolutionDir)\libs\</OutDir>
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
<TargetExt>.a</TargetExt>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
<TargetExt>.a</TargetExt>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
<TargetExt>.a</TargetExt>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
<TargetExt>.a</TargetExt>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<SDLCheck>true</SDLCheck>
|
|
||||||
<AdditionalIncludeDirectories>../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
||||||
<ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Windows</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
@@ -164,32 +399,13 @@
|
|||||||
<Command>./Windows64/shaders/build.bat</Command>
|
<Command>./Windows64/shaders/build.bat</Command>
|
||||||
</PreBuildEvent>
|
</PreBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<SDLCheck>true</SDLCheck>
|
|
||||||
<AdditionalIncludeDirectories>../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
||||||
<ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Windows</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
<Optimization>MaxSpeed</Optimization>
|
<Optimization>Full</Optimization>
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
<IntrinsicFunctions>false</IntrinsicFunctions>
|
||||||
<PreprocessorDefinitions>_WINDOWS64;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>_WINDOWS64;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<SDLCheck>true</SDLCheck>
|
<SDLCheck>true</SDLCheck>
|
||||||
<AdditionalIncludeDirectories>../Headers/Windows64;../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>../Headers/Windows64;../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
@@ -197,6 +413,7 @@
|
|||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
<CompileAs>CompileAsCpp</CompileAs>
|
<CompileAs>CompileAsCpp</CompileAs>
|
||||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
@@ -208,6 +425,28 @@
|
|||||||
<Command>./Windows64/shaders/build.bat</Command>
|
<Command>./Windows64/shaders/build.bat</Command>
|
||||||
</PreBuildEvent>
|
</PreBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">
|
||||||
|
<ClCompile>
|
||||||
|
<AdditionalIncludeDirectories>../Headers/Durango;../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">
|
||||||
|
<ClCompile>
|
||||||
|
<AdditionalIncludeDirectories>../Headers/Durango;../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">
|
||||||
|
<ClCompile>
|
||||||
|
<AdditionalIncludeDirectories>../Headers/Orbis;../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<Warnings>NormalWarnings</Warnings>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">
|
||||||
|
<ClCompile>
|
||||||
|
<AdditionalIncludeDirectories>../Headers/PS3;../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<Warnings>NormalWarnings</Warnings>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
|||||||
@@ -90,6 +90,9 @@
|
|||||||
<ClCompile Include="stdafx.cpp">
|
<ClCompile Include="stdafx.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="PS3\RendererCore.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="Windows64\vendor\libpng\png.h">
|
<ClInclude Include="Windows64\vendor\libpng\png.h">
|
||||||
@@ -146,5 +149,8 @@
|
|||||||
<ClInclude Include="stdafx.h">
|
<ClInclude Include="stdafx.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="PS3\RendererCore.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -28,6 +28,9 @@ SOFTWARE.
|
|||||||
|
|
||||||
C4JRender RenderManager;
|
C4JRender RenderManager;
|
||||||
|
|
||||||
|
//str1k3r - set VSync to true by default
|
||||||
|
bool C4JRender::m_VSyncState = true;
|
||||||
|
|
||||||
void C4JRender::Tick()
|
void C4JRender::Tick()
|
||||||
{
|
{
|
||||||
InternalRenderManager.CBuffTick();
|
InternalRenderManager.CBuffTick();
|
||||||
@@ -38,6 +41,40 @@ void C4JRender::UpdateGamma(unsigned short usGamma)
|
|||||||
InternalRenderManager.UpdateGamma(usGamma);
|
InternalRenderManager.UpdateGamma(usGamma);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void C4JRender::SetVSync(bool vs)
|
||||||
|
{
|
||||||
|
if(vs != m_VSyncState)
|
||||||
|
m_VSyncState = vs;
|
||||||
|
}
|
||||||
|
|
||||||
|
int C4JRender::GetVSync()
|
||||||
|
{
|
||||||
|
return m_VSyncState ? 1 : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//str1k3r - gonna be useful one day, kinda made this then didnt have to use it :sob:
|
||||||
|
EScreenSize C4JRender::GetScreenSize()
|
||||||
|
{
|
||||||
|
int width = InternalRenderManager.kScreenWidth;
|
||||||
|
|
||||||
|
if(width >= 1920)
|
||||||
|
{
|
||||||
|
return EScreenSize_1080P;
|
||||||
|
}
|
||||||
|
else if(width >= 1280 && width > 960)
|
||||||
|
{
|
||||||
|
return EScreenSize_720P;
|
||||||
|
}
|
||||||
|
else if(width >= 960 && width > 640)
|
||||||
|
{
|
||||||
|
return EScreenSize_544P;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return EScreenSize_480P;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void C4JRender::MatrixMode(int type)
|
void C4JRender::MatrixMode(int type)
|
||||||
{
|
{
|
||||||
InternalRenderManager.MatrixMode(type);
|
InternalRenderManager.MatrixMode(type);
|
||||||
@@ -133,6 +170,11 @@ void C4JRender::SetClearColour(const float colourRGBA[4])
|
|||||||
InternalRenderManager.SetClearColour(colourRGBA);
|
InternalRenderManager.SetClearColour(colourRGBA);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void C4JRender::setResolution(int ScreenWidth, int ScreenHeight)
|
||||||
|
{
|
||||||
|
InternalRenderManager.setResolution(ScreenWidth, ScreenHeight);
|
||||||
|
}
|
||||||
|
|
||||||
bool C4JRender::IsWidescreen()
|
bool C4JRender::IsWidescreen()
|
||||||
{
|
{
|
||||||
return InternalRenderManager.IsWidescreen();
|
return InternalRenderManager.IsWidescreen();
|
||||||
|
|||||||
@@ -37,3 +37,4 @@ SOFTWARE.
|
|||||||
#include "PS_ForceLOD.h"
|
#include "PS_ForceLOD.h"
|
||||||
#include "PS_ScreenSpace.h"
|
#include "PS_ScreenSpace.h"
|
||||||
#include "PS_ScreenClear.h"
|
#include "PS_ScreenClear.h"
|
||||||
|
#include "PS_ScreenGamma.h"
|
||||||
@@ -0,0 +1,201 @@
|
|||||||
|
#if 0
|
||||||
|
//
|
||||||
|
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// Buffer Definitions:
|
||||||
|
//
|
||||||
|
// cbuffer gammaBuff
|
||||||
|
// {
|
||||||
|
//
|
||||||
|
// float4 gammaParams; // Offset: 0 Size: 16
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// Resource Bindings:
|
||||||
|
//
|
||||||
|
// Name Type Format Dim HLSL Bind Count
|
||||||
|
// ------------------------------ ---------- ------- ----------- -------------- ------
|
||||||
|
// screen_sampler_s sampler NA NA s0 1
|
||||||
|
// screen_texture texture float4 2d t0 1
|
||||||
|
// gammaBuff cbuffer NA NA cb6 1
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// Input signature:
|
||||||
|
//
|
||||||
|
// Name Index Mask Register SysValue Format Used
|
||||||
|
// -------------------- ----- ------ -------- -------- ------- ------
|
||||||
|
// SV_POSITION 0 xyzw 0 POS float
|
||||||
|
// TEXCOORD 0 xy 1 NONE float xy
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// Output signature:
|
||||||
|
//
|
||||||
|
// Name Index Mask Register SysValue Format Used
|
||||||
|
// -------------------- ----- ------ -------- -------- ------- ------
|
||||||
|
// SV_TARGET 0 xyzw 0 TARGET float xyzw
|
||||||
|
//
|
||||||
|
ps_4_0
|
||||||
|
dcl_constantbuffer CB6[1], immediateIndexed
|
||||||
|
dcl_sampler s0, mode_default
|
||||||
|
dcl_resource_texture2d (float,float,float,float) t0
|
||||||
|
dcl_input_ps linear v1.xy
|
||||||
|
dcl_output o0.xyzw
|
||||||
|
dcl_temps 1
|
||||||
|
sample r0.xyzw, v1.xyxx, t0.xyzw, s0
|
||||||
|
mov_sat r0.xyz, r0.xyzx
|
||||||
|
mov o0.w, r0.w
|
||||||
|
log r0.xyz, r0.xyzx
|
||||||
|
mul r0.xyz, r0.xyzx, cb6[0].xxxx
|
||||||
|
exp o0.xyz, r0.xyzx
|
||||||
|
ret
|
||||||
|
// Approximately 7 instruction slots used
|
||||||
|
#endif
|
||||||
|
|
||||||
|
const BYTE g_main_PS_ScreenGamma[] =
|
||||||
|
{
|
||||||
|
68, 88, 66, 67, 53, 209,
|
||||||
|
160, 253, 213, 124, 231, 96,
|
||||||
|
156, 17, 77, 217, 140, 64,
|
||||||
|
219, 192, 1, 0, 0, 0,
|
||||||
|
84, 3, 0, 0, 5, 0,
|
||||||
|
0, 0, 52, 0, 0, 0,
|
||||||
|
88, 1, 0, 0, 176, 1,
|
||||||
|
0, 0, 228, 1, 0, 0,
|
||||||
|
216, 2, 0, 0, 82, 68,
|
||||||
|
69, 70, 28, 1, 0, 0,
|
||||||
|
1, 0, 0, 0, 168, 0,
|
||||||
|
0, 0, 3, 0, 0, 0,
|
||||||
|
28, 0, 0, 0, 0, 4,
|
||||||
|
255, 255, 0, 129, 0, 0,
|
||||||
|
244, 0, 0, 0, 124, 0,
|
||||||
|
0, 0, 3, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 1, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
141, 0, 0, 0, 2, 0,
|
||||||
|
0, 0, 5, 0, 0, 0,
|
||||||
|
4, 0, 0, 0, 255, 255,
|
||||||
|
255, 255, 0, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 13, 0,
|
||||||
|
0, 0, 156, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 6, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 115, 99,
|
||||||
|
114, 101, 101, 110, 95, 115,
|
||||||
|
97, 109, 112, 108, 101, 114,
|
||||||
|
95, 115, 0, 115, 99, 114,
|
||||||
|
101, 101, 110, 95, 116, 101,
|
||||||
|
120, 116, 117, 114, 101, 0,
|
||||||
|
103, 97, 109, 109, 97, 66,
|
||||||
|
117, 102, 102, 0, 171, 171,
|
||||||
|
156, 0, 0, 0, 1, 0,
|
||||||
|
0, 0, 192, 0, 0, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
216, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 16, 0, 0, 0,
|
||||||
|
2, 0, 0, 0, 228, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
103, 97, 109, 109, 97, 80,
|
||||||
|
97, 114, 97, 109, 115, 0,
|
||||||
|
1, 0, 3, 0, 1, 0,
|
||||||
|
4, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 77, 105,
|
||||||
|
99, 114, 111, 115, 111, 102,
|
||||||
|
116, 32, 40, 82, 41, 32,
|
||||||
|
72, 76, 83, 76, 32, 83,
|
||||||
|
104, 97, 100, 101, 114, 32,
|
||||||
|
67, 111, 109, 112, 105, 108,
|
||||||
|
101, 114, 32, 49, 48, 46,
|
||||||
|
49, 0, 73, 83, 71, 78,
|
||||||
|
80, 0, 0, 0, 2, 0,
|
||||||
|
0, 0, 8, 0, 0, 0,
|
||||||
|
56, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
3, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 15, 0, 0, 0,
|
||||||
|
68, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
3, 0, 0, 0, 1, 0,
|
||||||
|
0, 0, 3, 3, 0, 0,
|
||||||
|
83, 86, 95, 80, 79, 83,
|
||||||
|
73, 84, 73, 79, 78, 0,
|
||||||
|
84, 69, 88, 67, 79, 79,
|
||||||
|
82, 68, 0, 171, 171, 171,
|
||||||
|
79, 83, 71, 78, 44, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
8, 0, 0, 0, 32, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 3, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
15, 0, 0, 0, 83, 86,
|
||||||
|
95, 84, 65, 82, 71, 69,
|
||||||
|
84, 0, 171, 171, 83, 72,
|
||||||
|
68, 82, 236, 0, 0, 0,
|
||||||
|
64, 0, 0, 0, 59, 0,
|
||||||
|
0, 0, 89, 0, 0, 4,
|
||||||
|
70, 142, 32, 0, 6, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
90, 0, 0, 3, 0, 96,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
88, 24, 0, 4, 0, 112,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
85, 85, 0, 0, 98, 16,
|
||||||
|
0, 3, 50, 16, 16, 0,
|
||||||
|
1, 0, 0, 0, 101, 0,
|
||||||
|
0, 3, 242, 32, 16, 0,
|
||||||
|
0, 0, 0, 0, 104, 0,
|
||||||
|
0, 2, 1, 0, 0, 0,
|
||||||
|
69, 0, 0, 9, 242, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
70, 16, 16, 0, 1, 0,
|
||||||
|
0, 0, 70, 126, 16, 0,
|
||||||
|
0, 0, 0, 0, 0, 96,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
54, 32, 0, 5, 114, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
70, 2, 16, 0, 0, 0,
|
||||||
|
0, 0, 54, 0, 0, 5,
|
||||||
|
130, 32, 16, 0, 0, 0,
|
||||||
|
0, 0, 58, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 47, 0,
|
||||||
|
0, 5, 114, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 70, 2,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
56, 0, 0, 8, 114, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
70, 2, 16, 0, 0, 0,
|
||||||
|
0, 0, 6, 128, 32, 0,
|
||||||
|
6, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 25, 0, 0, 5,
|
||||||
|
114, 32, 16, 0, 0, 0,
|
||||||
|
0, 0, 70, 2, 16, 0,
|
||||||
|
0, 0, 0, 0, 62, 0,
|
||||||
|
0, 1, 83, 84, 65, 84,
|
||||||
|
116, 0, 0, 0, 7, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 2, 0,
|
||||||
|
0, 0, 3, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 2, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0
|
||||||
|
};
|
||||||
@@ -49,12 +49,19 @@ SOFTWARE.
|
|||||||
#define NUM_COMMAND_HANDLES 0x800000
|
#define NUM_COMMAND_HANDLES 0x800000
|
||||||
#define MAX_COMMAND_BUFFERS 16000
|
#define MAX_COMMAND_BUFFERS 16000
|
||||||
|
|
||||||
|
extern int kScreenWidth;
|
||||||
|
extern int kScreenHeight;
|
||||||
|
|
||||||
class Renderer
|
class Renderer
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
struct Context;
|
struct Context;
|
||||||
struct CommandBuffer;
|
struct CommandBuffer;
|
||||||
|
|
||||||
|
int kScreenHeight;
|
||||||
|
int kScreenWidth;
|
||||||
|
|
||||||
|
void SetGamma(float gamma);
|
||||||
void UpdateGamma(unsigned short usGamma);
|
void UpdateGamma(unsigned short usGamma);
|
||||||
void MatrixMode(int type);
|
void MatrixMode(int type);
|
||||||
void MatrixSetIdentity();
|
void MatrixSetIdentity();
|
||||||
@@ -75,6 +82,7 @@ public:
|
|||||||
void Present();
|
void Present();
|
||||||
void Clear(int flags, D3D11_RECT *pRect);
|
void Clear(int flags, D3D11_RECT *pRect);
|
||||||
void SetClearColour(const float colourRGBA[4]);
|
void SetClearColour(const float colourRGBA[4]);
|
||||||
|
void setResolution(int ScreenWidth, int ScreenHeight);
|
||||||
bool IsWidescreen();
|
bool IsWidescreen();
|
||||||
bool IsHiDef();
|
bool IsHiDef();
|
||||||
void CaptureThumbnail(ImageFileBuffer *pngOut);
|
void CaptureThumbnail(ImageFileBuffer *pngOut);
|
||||||
@@ -408,6 +416,7 @@ public:
|
|||||||
ID3D11Buffer *m_alphaTestBuffer;
|
ID3D11Buffer *m_alphaTestBuffer;
|
||||||
ID3D11Buffer *m_clearColorBuffer;
|
ID3D11Buffer *m_clearColorBuffer;
|
||||||
ID3D11Buffer *m_forcedLODBuffer;
|
ID3D11Buffer *m_forcedLODBuffer;
|
||||||
|
ID3D11Buffer *m_gammaRenderBuffer;
|
||||||
uint64_t dynamicVertexBase;
|
uint64_t dynamicVertexBase;
|
||||||
DWORD dynamicVertexOffset;
|
DWORD dynamicVertexOffset;
|
||||||
ID3D11Buffer *dynamicVertexBuffer;
|
ID3D11Buffer *dynamicVertexBuffer;
|
||||||
@@ -449,6 +458,7 @@ public:
|
|||||||
ID3D11PixelShader **pixelShaderTable;
|
ID3D11PixelShader **pixelShaderTable;
|
||||||
ID3D11PixelShader *screenSpacePixelShader;
|
ID3D11PixelShader *screenSpacePixelShader;
|
||||||
ID3D11PixelShader *screenClearPixelShader;
|
ID3D11PixelShader *screenClearPixelShader;
|
||||||
|
ID3D11PixelShader *screenGammaPixelShader;
|
||||||
unsigned int *vertexStrideTable;
|
unsigned int *vertexStrideTable;
|
||||||
ID3D11InputLayout **inputLayoutTable;
|
ID3D11InputLayout **inputLayoutTable;
|
||||||
ID3D11Buffer *quadIndexBuffer;
|
ID3D11Buffer *quadIndexBuffer;
|
||||||
@@ -485,6 +495,10 @@ public:
|
|||||||
std::unordered_map<int, ID3D11RasterizerState *> managedRasterizerStates;
|
std::unordered_map<int, ID3D11RasterizerState *> managedRasterizerStates;
|
||||||
bool m_bShouldScreenGrabNextFrame;
|
bool m_bShouldScreenGrabNextFrame;
|
||||||
bool m_bSuspended;
|
bool m_bSuspended;
|
||||||
|
unsigned short m_usPreviousGamma;
|
||||||
|
float m_usGamma;
|
||||||
|
ID3D11SamplerState *m_gammaSamplerState;
|
||||||
|
ID3D11Buffer *m_gammaFullscreenBoundsBuffer;
|
||||||
|
|
||||||
// @Patoke add
|
// @Patoke add
|
||||||
ID3D11Texture2D *m_backBufferTexture;
|
ID3D11Texture2D *m_backBufferTexture;
|
||||||
|
|||||||
@@ -54,9 +54,9 @@ D3D11_PRIMITIVE_TOPOLOGY Renderer::g_topologies[C4JRender::PRIMITIVE_TYPE_COUNT]
|
|||||||
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST, D3D11_PRIMITIVE_TOPOLOGY_LINELIST, D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP,
|
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST, D3D11_PRIMITIVE_TOPOLOGY_LINELIST, D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
int kScreenWidth = 1920;
|
||||||
|
int kScreenHeight = 1080;
|
||||||
static const unsigned int kVertexBufferSize = 0x100000;
|
static const unsigned int kVertexBufferSize = 0x100000;
|
||||||
static const unsigned int kScreenGrabWidth = 1920;
|
|
||||||
static const unsigned int kScreenGrabHeight = 1080;
|
|
||||||
static const unsigned int kThumbnailSize = 64;
|
static const unsigned int kThumbnailSize = 64;
|
||||||
|
|
||||||
static const unsigned int g_vertexStrides[C4JRender::VERTEX_TYPE_COUNT] = { 32, 16, 32, 32 };
|
static const unsigned int g_vertexStrides[C4JRender::VERTEX_TYPE_COUNT] = { 32, 16, 32, 32 };
|
||||||
@@ -99,6 +99,7 @@ Renderer::Context::Context(ID3D11Device* device, ID3D11DeviceContext* deviceCont
|
|||||||
, m_alphaTestBuffer(NULL)
|
, m_alphaTestBuffer(NULL)
|
||||||
, m_clearColorBuffer(NULL)
|
, m_clearColorBuffer(NULL)
|
||||||
, m_forcedLODBuffer(NULL)
|
, m_forcedLODBuffer(NULL)
|
||||||
|
, m_gammaRenderBuffer(NULL)
|
||||||
, dynamicVertexBase(0)
|
, dynamicVertexBase(0)
|
||||||
, dynamicVertexOffset(0)
|
, dynamicVertexOffset(0)
|
||||||
, dynamicVertexBuffer(NULL)
|
, dynamicVertexBuffer(NULL)
|
||||||
@@ -226,6 +227,10 @@ Renderer::Context::Context(ID3D11Device* device, ID3D11DeviceContext* deviceCont
|
|||||||
device->CreateBuffer(&cbDesc, &cbData, &m_clearColorBuffer);
|
device->CreateBuffer(&cbDesc, &cbData, &m_clearColorBuffer);
|
||||||
device->CreateBuffer(&cbDesc, &cbData, &m_forcedLODBuffer);
|
device->CreateBuffer(&cbDesc, &cbData, &m_forcedLODBuffer);
|
||||||
|
|
||||||
|
cbDesc.ByteWidth = sizeof(zero4);
|
||||||
|
cbData.pSysMem = zero4;
|
||||||
|
device->CreateBuffer(&cbDesc, &cbData, &m_gammaRenderBuffer);
|
||||||
|
|
||||||
deviceContext->VSSetConstantBuffers(0, 10, &m_modelViewMatrix);
|
deviceContext->VSSetConstantBuffers(0, 10, &m_modelViewMatrix);
|
||||||
deviceContext->PSSetConstantBuffers(0, 6, &m_tintColorBuffer);
|
deviceContext->PSSetConstantBuffers(0, 6, &m_tintColorBuffer);
|
||||||
|
|
||||||
@@ -836,6 +841,25 @@ void Renderer::Initialise(ID3D11Device *pDevice, IDXGISwapChain *pSwapChain)
|
|||||||
m_pDevice->CreateBuffer(&fanIndexDesc, &fanIndexData, &fanIndexBuffer);
|
m_pDevice->CreateBuffer(&fanIndexDesc, &fanIndexData, &fanIndexBuffer);
|
||||||
delete[] fanIndices;
|
delete[] fanIndices;
|
||||||
|
|
||||||
|
D3D11_SAMPLER_DESC gammaSamplerDesc = {};
|
||||||
|
gammaSamplerDesc.Filter = D3D11_FILTER_MIN_MAG_MIP_LINEAR;
|
||||||
|
gammaSamplerDesc.AddressU = D3D11_TEXTURE_ADDRESS_CLAMP;
|
||||||
|
gammaSamplerDesc.AddressV = D3D11_TEXTURE_ADDRESS_CLAMP;
|
||||||
|
gammaSamplerDesc.AddressW = D3D11_TEXTURE_ADDRESS_CLAMP;
|
||||||
|
gammaSamplerDesc.ComparisonFunc = D3D11_COMPARISON_ALWAYS;
|
||||||
|
m_pDevice->CreateSamplerState(&gammaSamplerDesc, &m_gammaSamplerState);
|
||||||
|
|
||||||
|
const float fullscreenBounds[4] = { 0.0f, 0.0f, 2.0f, 2.0f };
|
||||||
|
D3D11_BUFFER_DESC boundsDesc = {};
|
||||||
|
boundsDesc.ByteWidth = sizeof(fullscreenBounds);
|
||||||
|
boundsDesc.Usage = D3D11_USAGE_IMMUTABLE;
|
||||||
|
boundsDesc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;
|
||||||
|
D3D11_SUBRESOURCE_DATA boundsData = { fullscreenBounds };
|
||||||
|
m_pDevice->CreateBuffer(&boundsDesc, &boundsData, &m_gammaFullscreenBoundsBuffer);
|
||||||
|
|
||||||
|
m_usPreviousGamma = 0xFFFF;
|
||||||
|
m_usGamma = 1.0f;
|
||||||
|
|
||||||
InitializeCriticalSection(&Renderer::totalAllocCS);
|
InitializeCriticalSection(&Renderer::totalAllocCS);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -854,14 +878,91 @@ ID3D11DeviceContext *Renderer::InitialiseContext(bool fromPresent)
|
|||||||
return deviceContext;
|
return deviceContext;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//str1k3r - yo fuck you 4J and your hardcoded ass game
|
||||||
|
void Renderer::setResolution(int ScreenWidth, int ScreenHeight)
|
||||||
|
{
|
||||||
|
if(kScreenHeight != ScreenHeight || kScreenWidth != ScreenWidth)
|
||||||
|
{
|
||||||
|
kScreenHeight = ScreenHeight;
|
||||||
|
kScreenWidth = ScreenWidth;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool Renderer::IsHiDef()
|
bool Renderer::IsHiDef()
|
||||||
{
|
{
|
||||||
return true;
|
return (kScreenHeight >= 720 && kScreenWidth >= 1280);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Renderer::IsWidescreen()
|
bool Renderer::IsWidescreen()
|
||||||
{
|
{
|
||||||
return true;
|
if (kScreenHeight == 0) return false;
|
||||||
|
|
||||||
|
float aspectRatio = static_cast<float>(kScreenWidth) / kScreenHeight;
|
||||||
|
return (aspectRatio >= 1.56f);
|
||||||
|
}
|
||||||
|
|
||||||
|
// PIEBOT: Inspired by CaptureThumbnail
|
||||||
|
void Renderer::SetGamma(float gamma)
|
||||||
|
{
|
||||||
|
Renderer::Context &c = getContext();
|
||||||
|
|
||||||
|
// @Patoke fix: bind render target to a proper backbuffer texture
|
||||||
|
ID3D11Resource *actualBackBuffer = NULL;
|
||||||
|
mainRenderTargetView->GetResource(&actualBackBuffer);
|
||||||
|
|
||||||
|
// copy the backbuffer contents
|
||||||
|
c.m_pDeviceContext->CopyResource(m_backBufferTexture, actualBackBuffer);
|
||||||
|
actualBackBuffer->Release();
|
||||||
|
|
||||||
|
D3D11_MAPPED_SUBRESOURCE mapped = {};
|
||||||
|
if (SUCCEEDED(c.m_pDeviceContext->Map(c.m_gammaRenderBuffer, 0, D3D11_MAP_WRITE_DISCARD, 0, &mapped)))
|
||||||
|
{
|
||||||
|
*reinterpret_cast<DirectX::XMFLOAT4 *>(mapped.pData) = DirectX::XMFLOAT4(gamma, 0.0f, 0.0f, 0.0f);
|
||||||
|
c.m_pDeviceContext->Unmap(c.m_gammaRenderBuffer, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
ID3D11BlendState *blendState = NULL;
|
||||||
|
ID3D11RasterizerState *rasterizerState = NULL;
|
||||||
|
|
||||||
|
D3D11_BLEND_DESC blendDesc = {};
|
||||||
|
blendDesc.RenderTarget[0].BlendEnable = false;
|
||||||
|
blendDesc.RenderTarget[0].SrcBlend = D3D11_BLEND_ONE;
|
||||||
|
blendDesc.RenderTarget[0].DestBlend = D3D11_BLEND_ZERO;
|
||||||
|
blendDesc.RenderTarget[0].BlendOp = D3D11_BLEND_OP_ADD;
|
||||||
|
blendDesc.RenderTarget[0].SrcBlendAlpha = D3D11_BLEND_ONE;
|
||||||
|
blendDesc.RenderTarget[0].DestBlendAlpha = D3D11_BLEND_ZERO;
|
||||||
|
blendDesc.RenderTarget[0].BlendOpAlpha = D3D11_BLEND_OP_ADD;
|
||||||
|
blendDesc.RenderTarget[0].RenderTargetWriteMask = D3D11_COLOR_WRITE_ENABLE_ALL;
|
||||||
|
m_pDevice->CreateBlendState(&blendDesc, &blendState);
|
||||||
|
|
||||||
|
D3D11_RASTERIZER_DESC rasterDesc = {};
|
||||||
|
rasterDesc.FillMode = D3D11_FILL_SOLID;
|
||||||
|
rasterDesc.CullMode = D3D11_CULL_NONE;
|
||||||
|
rasterDesc.DepthClipEnable = true;
|
||||||
|
rasterDesc.MultisampleEnable = true;
|
||||||
|
m_pDevice->CreateRasterizerState(&rasterDesc, &rasterizerState);
|
||||||
|
|
||||||
|
c.m_pDeviceContext->VSSetShader(screenSpaceVertexShader, NULL, 0);
|
||||||
|
c.m_pDeviceContext->PSSetShader(screenGammaPixelShader, NULL, 0);
|
||||||
|
c.m_pDeviceContext->IASetInputLayout(NULL);
|
||||||
|
c.m_pDeviceContext->IASetVertexBuffers(0, 0, NULL, NULL, NULL);
|
||||||
|
c.m_pDeviceContext->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP);
|
||||||
|
c.m_pDeviceContext->OMSetBlendState(blendState, NULL, 0xFFFFFFFF);
|
||||||
|
c.m_pDeviceContext->RSSetState(rasterizerState);
|
||||||
|
|
||||||
|
blendState->Release();
|
||||||
|
rasterizerState->Release();
|
||||||
|
|
||||||
|
D3D11_VIEWPORT viewport = { 0.0f, 0.0f, (float)backBufferWidth, (float)backBufferHeight, 0.0f, 1.0f };
|
||||||
|
c.m_pDeviceContext->OMSetRenderTargets(1, &mainRenderTargetView, NULL);
|
||||||
|
c.m_pDeviceContext->RSSetViewports(1, &viewport);
|
||||||
|
|
||||||
|
c.m_pDeviceContext->PSSetShaderResources(0, 1, &mainShaderResourceView);
|
||||||
|
c.m_pDeviceContext->PSSetSamplers(0, 1, &m_gammaSamplerState);
|
||||||
|
c.m_pDeviceContext->VSSetConstantBuffers(9, 1, &m_gammaFullscreenBoundsBuffer);
|
||||||
|
c.m_pDeviceContext->PSSetConstantBuffers(6, 1, &c.m_gammaRenderBuffer);
|
||||||
|
|
||||||
|
c.m_pDeviceContext->Draw(4, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Renderer::Present()
|
void Renderer::Present()
|
||||||
@@ -872,7 +973,7 @@ void Renderer::Present()
|
|||||||
{
|
{
|
||||||
PROFILER_SCOPE("Renderer::Present", "ScreenGrab", MP_MAGENTA);
|
PROFILER_SCOPE("Renderer::Present", "ScreenGrab", MP_MAGENTA);
|
||||||
|
|
||||||
unsigned char *linearData = new unsigned char[kScreenGrabWidth * kScreenGrabHeight * 4];
|
unsigned char *linearData = new unsigned char[kScreenWidth * kScreenHeight * 4];
|
||||||
|
|
||||||
ID3D11Resource *backBufferResource = NULL;
|
ID3D11Resource *backBufferResource = NULL;
|
||||||
ID3D11Texture2D *backBuffer = NULL;
|
ID3D11Texture2D *backBuffer = NULL;
|
||||||
@@ -898,13 +999,13 @@ void Renderer::Present()
|
|||||||
m_pDeviceContext->Map(stagingTexture, 0, D3D11_MAP_READ_WRITE, 0, &mapped);
|
m_pDeviceContext->Map(stagingTexture, 0, D3D11_MAP_READ_WRITE, 0, &mapped);
|
||||||
const unsigned char* src = reinterpret_cast<const unsigned char*>(mapped.pData);
|
const unsigned char* src = reinterpret_cast<const unsigned char*>(mapped.pData);
|
||||||
|
|
||||||
for (UINT y = 0; y < kScreenGrabHeight; ++y)
|
for (UINT y = 0; y < kScreenHeight; ++y)
|
||||||
{
|
{
|
||||||
unsigned char *dstRow = linearData + y * kScreenGrabWidth * 4;
|
unsigned char *dstRow = linearData + y * kScreenWidth * 4;
|
||||||
const unsigned char *srcRow = src + y * mapped.RowPitch;
|
const unsigned char *srcRow = src + y * mapped.RowPitch;
|
||||||
std::memcpy(dstRow, srcRow, kScreenGrabWidth * 4);
|
std::memcpy(dstRow, srcRow, kScreenWidth * 4);
|
||||||
|
|
||||||
for (UINT x = 0; x < kScreenGrabWidth; ++x)
|
for (UINT x = 0; x < kScreenWidth; ++x)
|
||||||
dstRow[x * 4 + 3] = 0xFF;
|
dstRow[x * 4 + 3] = 0xFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -926,8 +1027,8 @@ void Renderer::Present()
|
|||||||
UTCSysTime.wSecond);
|
UTCSysTime.wSecond);
|
||||||
|
|
||||||
D3DXIMAGE_INFO info;
|
D3DXIMAGE_INFO info;
|
||||||
info.Width = kScreenGrabWidth;
|
info.Width = kScreenWidth;
|
||||||
info.Height = kScreenGrabHeight;
|
info.Height = kScreenHeight;
|
||||||
SaveTextureData(fileName, &info, reinterpret_cast<int*>(linearData));
|
SaveTextureData(fileName, &info, reinterpret_cast<int*>(linearData));
|
||||||
|
|
||||||
delete[] linearData;
|
delete[] linearData;
|
||||||
@@ -935,7 +1036,9 @@ void Renderer::Present()
|
|||||||
m_bShouldScreenGrabNextFrame = false;
|
m_bShouldScreenGrabNextFrame = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_pSwapChain->Present(1, 0);
|
SetGamma(m_usGamma);
|
||||||
|
|
||||||
|
m_pSwapChain->Present(C4JRender::GetVSync(), 0);
|
||||||
++presentCount;
|
++presentCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -980,6 +1083,7 @@ void Renderer::SetupShaders()
|
|||||||
m_pDevice->CreatePixelShader(g_main_PS_ForceLOD, sizeof(g_main_PS_ForceLOD), NULL, &pixelShaderTable[C4JRender::PIXEL_SHADER_TYPE_FORCELOD]);
|
m_pDevice->CreatePixelShader(g_main_PS_ForceLOD, sizeof(g_main_PS_ForceLOD), NULL, &pixelShaderTable[C4JRender::PIXEL_SHADER_TYPE_FORCELOD]);
|
||||||
m_pDevice->CreatePixelShader(g_main_PS_ScreenSpace, sizeof(g_main_PS_ScreenSpace), NULL, &screenSpacePixelShader);
|
m_pDevice->CreatePixelShader(g_main_PS_ScreenSpace, sizeof(g_main_PS_ScreenSpace), NULL, &screenSpacePixelShader);
|
||||||
m_pDevice->CreatePixelShader(g_main_PS_ScreenClear, sizeof(g_main_PS_ScreenClear), NULL, &screenClearPixelShader);
|
m_pDevice->CreatePixelShader(g_main_PS_ScreenClear, sizeof(g_main_PS_ScreenClear), NULL, &screenClearPixelShader);
|
||||||
|
m_pDevice->CreatePixelShader(g_main_PS_ScreenGamma, sizeof(g_main_PS_ScreenGamma), NULL, &screenGammaPixelShader);
|
||||||
|
|
||||||
m_pDevice->CreateInputLayout(g_vertex_PTN_Elements_PF3_TF2_CB4_NB4_XW1, 5, g_main_VS_PF3_TF2_CB4_NB4_XW1, sizeof(g_main_VS_PF3_TF2_CB4_NB4_XW1), &inputLayoutTable[C4JRender::VERTEX_TYPE_PF3_TF2_CB4_NB4_XW1]);
|
m_pDevice->CreateInputLayout(g_vertex_PTN_Elements_PF3_TF2_CB4_NB4_XW1, 5, g_main_VS_PF3_TF2_CB4_NB4_XW1, sizeof(g_main_VS_PF3_TF2_CB4_NB4_XW1), &inputLayoutTable[C4JRender::VERTEX_TYPE_PF3_TF2_CB4_NB4_XW1]);
|
||||||
m_pDevice->CreateInputLayout(g_vertex_PTN_Elements_Compressed, 2, g_main_VS_Compressed, sizeof(g_main_VS_Compressed), &inputLayoutTable[C4JRender::VERTEX_TYPE_COMPRESSED]);
|
m_pDevice->CreateInputLayout(g_vertex_PTN_Elements_Compressed, 2, g_main_VS_Compressed, sizeof(g_main_VS_Compressed), &inputLayoutTable[C4JRender::VERTEX_TYPE_COMPRESSED]);
|
||||||
@@ -1040,10 +1144,17 @@ bool Renderer::Suspended()
|
|||||||
return m_bSuspended;
|
return m_bSuspended;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Renderer::UpdateGamma(unsigned short) {}
|
void Renderer::UpdateGamma(unsigned short usGamma)
|
||||||
|
{
|
||||||
|
if (usGamma != m_usPreviousGamma)
|
||||||
|
{
|
||||||
|
m_usPreviousGamma = usGamma;
|
||||||
|
|
||||||
|
m_usGamma = 1.0f / (0.5f + (usGamma / 32768.0f) * 1.5f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Renderer::Context &Renderer::getContext()
|
Renderer::Context &Renderer::getContext()
|
||||||
{
|
{
|
||||||
return *reinterpret_cast<Renderer::Context*>(TlsGetValue(Renderer::tlsIdx));
|
return *reinterpret_cast<Renderer::Context*>(TlsGetValue(Renderer::tlsIdx));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,3 +22,4 @@ if not exist %OUT% mkdir %OUT%
|
|||||||
%FXC% %OPT% /T ps_4_0 /E main /D FORCE_LOD /Fh %OUT%/PS_ForceLOD.h /Vn g_main_PS_ForceLOD main_PS.hlsl
|
%FXC% %OPT% /T ps_4_0 /E main /D FORCE_LOD /Fh %OUT%/PS_ForceLOD.h /Vn g_main_PS_ForceLOD main_PS.hlsl
|
||||||
%FXC% %OPT% /T ps_4_0 /E PS_ScreenSpace /Fh %OUT%/PS_ScreenSpace.h /Vn g_main_PS_ScreenSpace screen_PS.hlsl
|
%FXC% %OPT% /T ps_4_0 /E PS_ScreenSpace /Fh %OUT%/PS_ScreenSpace.h /Vn g_main_PS_ScreenSpace screen_PS.hlsl
|
||||||
%FXC% %OPT% /T ps_4_0 /E PS_ScreenClear /Fh %OUT%/PS_ScreenClear.h /Vn g_main_PS_ScreenClear screen_PS.hlsl
|
%FXC% %OPT% /T ps_4_0 /E PS_ScreenClear /Fh %OUT%/PS_ScreenClear.h /Vn g_main_PS_ScreenClear screen_PS.hlsl
|
||||||
|
%FXC% %OPT% /T ps_4_0 /E PS_ScreenGamma /Fh %OUT%/PS_ScreenGamma.h /Vn g_main_PS_ScreenGamma screen_PS.hlsl
|
||||||
@@ -26,6 +26,11 @@ cbuffer cbuff : register(b4)
|
|||||||
float4 clearColour;
|
float4 clearColour;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
cbuffer gammaBuff : register(b6)
|
||||||
|
{
|
||||||
|
float4 gammaParams;
|
||||||
|
};
|
||||||
|
|
||||||
SamplerState screen_sampler_s : register(s0);
|
SamplerState screen_sampler_s : register(s0);
|
||||||
Texture2D<float4> screen_texture : register(t0);
|
Texture2D<float4> screen_texture : register(t0);
|
||||||
|
|
||||||
@@ -38,3 +43,11 @@ float4 PS_ScreenClear(float4 position : SV_POSITION) : SV_TARGET
|
|||||||
{
|
{
|
||||||
return clearColour;
|
return clearColour;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float4 PS_ScreenGamma(float4 position : SV_POSITION, float2 texcoord : TEXCOORD0) : SV_TARGET
|
||||||
|
{
|
||||||
|
float4 colour = screen_texture.Sample(screen_sampler_s, texcoord);
|
||||||
|
float invGamma = gammaParams.x;
|
||||||
|
colour.rgb = pow(saturate(colour.rgb), invGamma);
|
||||||
|
return colour;
|
||||||
|
}
|
||||||
+14
-1
@@ -1,17 +1,30 @@
|
|||||||
#ifndef PCH_H
|
#ifndef PCH_H
|
||||||
#define PCH_H
|
#define PCH_H
|
||||||
|
|
||||||
|
#ifdef _WIN64
|
||||||
#define WIN32_LEAN_AND_MEAN
|
#define WIN32_LEAN_AND_MEAN
|
||||||
#include <Windows.h>
|
#include <Windows.h>
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <Xinput.h>
|
|
||||||
|
|
||||||
#include <d3d11.h>
|
#include <d3d11.h>
|
||||||
#include <d3d11_1.h>
|
#include <d3d11_1.h>
|
||||||
#include <DirectXMath.h>
|
#include <DirectXMath.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __ORBIS__
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <scebase.h>
|
||||||
|
#include <kernel.h>
|
||||||
|
#include <fios2.h>
|
||||||
|
#include <message_dialog.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _XBOX
|
||||||
#include "extraX64.h"
|
#include "extraX64.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif //PCH_H
|
#endif //PCH_H
|
||||||
|
|||||||
+133
-72
@@ -1,17 +1,33 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
<ProjectConfiguration Include="Debug|Durango">
|
||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Durango</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|ORBIS">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>ORBIS</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|PS3">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>PS3</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Debug|x64">
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
<Platform>x64</Platform>
|
<Platform>x64</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
<ProjectConfiguration Include="Release|Durango">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Durango</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|ORBIS">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>ORBIS</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|PS3">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>PS3</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Release|x64">
|
<ProjectConfiguration Include="Release|x64">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
@@ -20,16 +36,51 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="stdafx.h" />
|
<ClInclude Include="stdafx.h" />
|
||||||
<ClInclude Include="Windows64\STO_DLC.h" />
|
<ClInclude Include="Windows64\STO_DLC.h">
|
||||||
<ClInclude Include="Windows64\STO_Main.h" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
<ClInclude Include="Windows64\STO_SaveGame.h" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Windows64\STO_Main.h">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Windows64\STO_SaveGame.h">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="stdafx.cpp" />
|
<ClCompile Include="stdafx.cpp" />
|
||||||
<ClCompile Include="Windows64\4J_Storage.cpp" />
|
<ClCompile Include="Windows64\4J_Storage.cpp">
|
||||||
<ClCompile Include="Windows64\STO_DLC.cpp" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
<ClCompile Include="Windows64\STO_Main.cpp" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
<ClCompile Include="Windows64\STO_SaveGame.cpp" />
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\STO_DLC.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\STO_Main.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Windows64\STO_SaveGame.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<PropertyGroup Label="Globals">
|
<PropertyGroup Label="Globals">
|
||||||
<ProjectGuid>{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}</ProjectGuid>
|
<ProjectGuid>{2E28BC2E-BF30-4C83-A4D8-C967DD409D70}</ProjectGuid>
|
||||||
@@ -37,25 +88,12 @@
|
|||||||
<RootNamespace>My4J_Storage</RootNamespace>
|
<RootNamespace>My4J_Storage</RootNamespace>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
|
||||||
<PlatformToolset>v110</PlatformToolset>
|
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
<PlatformToolset>v110</PlatformToolset>
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
|
||||||
<PlatformToolset>v110</PlatformToolset>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
@@ -63,51 +101,70 @@
|
|||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">
|
||||||
|
<PlatformToolset>Clang</PlatformToolset>
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'" Label="Configuration">
|
||||||
|
<PlatformToolset>Clang</PlatformToolset>
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">
|
||||||
|
<PlatformToolset>Clang</PlatformToolset>
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|PS3'" Label="Configuration">
|
||||||
|
<PlatformToolset>SNC</PlatformToolset>
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros" />
|
<PropertyGroup Label="UserMacros" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<TargetName>$(ProjectName)_d</TargetName>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<TargetName>$(ProjectName)_d</TargetName>
|
<TargetName>$(ProjectName)_d</TargetName>
|
||||||
<OutDir>$(SolutionDir)\libs\</OutDir>
|
<OutDir>$(SolutionDir)\libs\</OutDir>
|
||||||
</PropertyGroup>
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<TargetName>$(ProjectName)_r</TargetName>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<TargetName>$(ProjectName)_r</TargetName>
|
<TargetName>$(ProjectName)_r</TargetName>
|
||||||
<OutDir>$(SolutionDir)\libs\</OutDir>
|
<OutDir>$(SolutionDir)\libs\</OutDir>
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
<TargetExt>.a</TargetExt>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
<TargetExt>.a</TargetExt>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
<TargetExt>.a</TargetExt>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
<TargetExt>.a</TargetExt>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<SDLCheck>true</SDLCheck>
|
|
||||||
<AdditionalIncludeDirectories>../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
||||||
<ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Windows</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
@@ -126,38 +183,20 @@
|
|||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<SDLCheck>true</SDLCheck>
|
|
||||||
<AdditionalIncludeDirectories>../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
||||||
<ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Windows</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
<Optimization>MaxSpeed</Optimization>
|
<Optimization>Full</Optimization>
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
<IntrinsicFunctions>false</IntrinsicFunctions>
|
||||||
<PreprocessorDefinitions>_WINDOWS64;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>_WINDOWS64;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<SDLCheck>true</SDLCheck>
|
<SDLCheck>true</SDLCheck>
|
||||||
<AdditionalIncludeDirectories>../Headers/Windows64;../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>../Headers/Windows64;../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
|
<ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
@@ -166,6 +205,28 @@
|
|||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">
|
||||||
|
<ClCompile>
|
||||||
|
<AdditionalIncludeDirectories>../Headers/Durango;../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">
|
||||||
|
<ClCompile>
|
||||||
|
<AdditionalIncludeDirectories>../Headers/Durango;../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">
|
||||||
|
<ClCompile>
|
||||||
|
<AdditionalIncludeDirectories>../Headers/Orbis;../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<Warnings>NormalWarnings</Warnings>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">
|
||||||
|
<ClCompile>
|
||||||
|
<AdditionalIncludeDirectories>../Headers/PS3;../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<Warnings>NormalWarnings</Warnings>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
|||||||
@@ -218,7 +218,7 @@ void C4JStorage::RegisterMarketplaceCountsCallback(int (*Func)(LPVOID lpParam, C
|
|||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
void C4JStorage::SetDLCPackageRoot(char *pszDLCRoot)
|
void C4JStorage::SetDLCPackageRoot(wchar_t *pszDLCRoot)
|
||||||
{
|
{
|
||||||
InternalStorageManager.m_DLC.SetPackageRoot(pszDLCRoot);
|
InternalStorageManager.m_DLC.SetPackageRoot(pszDLCRoot);
|
||||||
}
|
}
|
||||||
@@ -268,22 +268,22 @@ XCONTENT_DATA &C4JStorage::GetDLC(DWORD dw)
|
|||||||
return InternalStorageManager.m_DLC.GetDLC(dw);
|
return InternalStorageManager.m_DLC.GetDLC(dw);
|
||||||
}
|
}
|
||||||
|
|
||||||
DWORD C4JStorage::MountInstalledDLC(int iPad, DWORD dwDLC, int (*Func)(LPVOID, int, DWORD, DWORD), LPVOID lpParam, LPCSTR szMountDrive)
|
DWORD C4JStorage::MountInstalledDLC(int iPad, DWORD dwDLC, int (*Func)(LPVOID, int, DWORD, DWORD), LPVOID lpParam, LPCWSTR szMountDrive)
|
||||||
{
|
{
|
||||||
return InternalStorageManager.m_DLC.MountInstalledDLC(iPad, dwDLC, Func, lpParam, szMountDrive);
|
return InternalStorageManager.m_DLC.MountInstalledDLC(iPad, dwDLC, Func, lpParam, szMountDrive);
|
||||||
}
|
}
|
||||||
|
|
||||||
DWORD C4JStorage::UnmountInstalledDLC(LPCSTR szMountDrive)
|
DWORD C4JStorage::UnmountInstalledDLC(LPCWSTR szMountDrive)
|
||||||
{
|
{
|
||||||
return InternalStorageManager.m_DLC.UnmountInstalledDLC(szMountDrive);
|
return InternalStorageManager.m_DLC.UnmountInstalledDLC(szMountDrive);
|
||||||
}
|
}
|
||||||
|
|
||||||
void C4JStorage::GetMountedDLCFileList(const char *szMountDrive, std::vector<std::string> &fileList)
|
void C4JStorage::GetMountedDLCFileList(const char *szMountDrive, std::vector<std::wstring> &fileList)
|
||||||
{
|
{
|
||||||
InternalStorageManager.m_DLC.GetMountedDLCFileList(szMountDrive, fileList);
|
InternalStorageManager.m_DLC.GetMountedDLCFileList(szMountDrive, fileList);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string C4JStorage::GetMountedPath(std::string szMount)
|
std::wstring C4JStorage::GetMountedPath(std::wstring szMount)
|
||||||
{
|
{
|
||||||
return InternalStorageManager.m_DLC.GetMountedPath(szMount);
|
return InternalStorageManager.m_DLC.GetMountedPath(szMount);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,10 +63,10 @@ C4JStorage::EDLCStatus CDLC::GetInstalledDLC(int iPad, int (*Func)(LPVOID, int,
|
|||||||
m_iHasNewInstalledDLCs = true;
|
m_iHasNewInstalledDLCs = true;
|
||||||
|
|
||||||
bool ret = false;
|
bool ret = false;
|
||||||
DWORD atts = GetFileAttributesA("Windows64Media/DLC");
|
DWORD atts = GetFileAttributesW(L"Windows64Media/DLC");
|
||||||
if (atts == -1)
|
if (atts == -1)
|
||||||
{
|
{
|
||||||
atts = GetFileAttributesA("Windows64/DLC");
|
atts = GetFileAttributesW(L"Windows64/DLC");
|
||||||
ret = true;
|
ret = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,38 +77,38 @@ C4JStorage::EDLCStatus CDLC::GetInstalledDLC(int iPad, int (*Func)(LPVOID, int,
|
|||||||
return C4JStorage::EDLC_Error;
|
return C4JStorage::EDLC_Error;
|
||||||
}
|
}
|
||||||
|
|
||||||
_WIN32_FIND_DATAA hFind;
|
_WIN32_FIND_DATAW hFind;
|
||||||
HANDLE hFindFile;
|
HANDLE hFindFile;
|
||||||
if (ret)
|
if (ret)
|
||||||
{
|
{
|
||||||
hFindFile = FindFirstFileA("Windows64/DLC/*", &hFind);
|
hFindFile = FindFirstFileW(L"Windows64/DLC/*", &hFind);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
hFindFile = FindFirstFileA("Windows64Media/DLC/*", &hFind);
|
hFindFile = FindFirstFileW(L"Windows64Media/DLC/*", &hFind);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hFindFile != (HANDLE)-1LL)
|
if (hFindFile != INVALID_HANDLE_VALUE)
|
||||||
{
|
{
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
atts = hFind.dwFileAttributes;
|
atts = hFind.dwFileAttributes;
|
||||||
|
|
||||||
bool isArt = hFind.dwFileAttributes != -1 && (hFind.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY);
|
bool isArt = hFind.dwFileAttributes != -1 && (hFind.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY);
|
||||||
if (isArt && hFind.cFileName[0] != '.')
|
if (isArt && hFind.cFileName[0] != L'.')
|
||||||
{
|
{
|
||||||
XCONTENT_DATA data;
|
XCONTENT_DATA data;
|
||||||
|
|
||||||
if (ret)
|
if (ret)
|
||||||
{
|
{
|
||||||
sprintf(data.szFileName, "Windows64/DLC/%s", hFind.cFileName);
|
swprintf_s(data.szFileName, _countof(data.szFileName), L"Windows64/DLC/%s", hFind.cFileName);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sprintf(data.szFileName, "Windows64Media/DLC/%s", hFind.cFileName);
|
swprintf_s(data.szFileName, _countof(data.szFileName), L"Windows64Media/DLC/%s", hFind.cFileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
swprintf(data.szDisplayName, 256, L"%S", hFind.cFileName);
|
swprintf_s(data.szDisplayName, 256, L"%s", hFind.cFileName);
|
||||||
int displayNameLen = wcslen(data.szDisplayName);
|
int displayNameLen = wcslen(data.szDisplayName);
|
||||||
|
|
||||||
data.DeviceID = 0;
|
data.DeviceID = 0;
|
||||||
@@ -116,14 +116,14 @@ C4JStorage::EDLCStatus CDLC::GetInstalledDLC(int iPad, int (*Func)(LPVOID, int,
|
|||||||
|
|
||||||
AddInstalled(&data);
|
AddInstalled(&data);
|
||||||
}
|
}
|
||||||
} while (FindNextFileA(hFindFile, &hFind));
|
} while (FindNextFileW(hFindFile, &hFind));
|
||||||
FindClose(hFindFile);
|
FindClose(hFindFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
return C4JStorage::EDLC_Idle;
|
return C4JStorage::EDLC_Idle;
|
||||||
}
|
}
|
||||||
|
|
||||||
DWORD CDLC::MountInstalledDLC(int iPad, DWORD dwDLC, int (*Func)(LPVOID, int, DWORD, DWORD), LPVOID lpParam, LPCSTR szMountDrive)
|
DWORD CDLC::MountInstalledDLC(int iPad, DWORD dwDLC, int (*Func)(LPVOID, int, DWORD, DWORD), LPVOID lpParam, LPCWSTR szMountDrive)
|
||||||
{
|
{
|
||||||
this->m_pMountedDLCFunc = Func;
|
this->m_pMountedDLCFunc = Func;
|
||||||
this->m_pMountedDLCParam = lpParam;
|
this->m_pMountedDLCParam = lpParam;
|
||||||
@@ -139,7 +139,7 @@ DWORD CDLC::MountInstalledDLC(int iPad, DWORD dwDLC, int (*Func)(LPVOID, int, DW
|
|||||||
|
|
||||||
this->m_uiCurrentMappedDLC = dwDLC;
|
this->m_uiCurrentMappedDLC = dwDLC;
|
||||||
|
|
||||||
char *dlcdirPath = m_vInstalledDLCs[m_uiCurrentMappedDLC].szFileName;
|
wchar_t *dlcdirPath = m_vInstalledDLCs[m_uiCurrentMappedDLC].szFileName;
|
||||||
m_vDLCDriveMappings.push_back(DriveMapping(dlcdirPath, m_szMountPath));
|
m_vDLCDriveMappings.push_back(DriveMapping(dlcdirPath, m_szMountPath));
|
||||||
|
|
||||||
m_iHasNewMountedDLCs = true;
|
m_iHasNewMountedDLCs = true;
|
||||||
@@ -147,9 +147,9 @@ DWORD CDLC::MountInstalledDLC(int iPad, DWORD dwDLC, int (*Func)(LPVOID, int, DW
|
|||||||
return 997;
|
return 997;
|
||||||
}
|
}
|
||||||
|
|
||||||
DWORD CDLC::UnmountInstalledDLC(LPCSTR szMountDrive)
|
DWORD CDLC::UnmountInstalledDLC(LPCWSTR szMountDrive)
|
||||||
{
|
{
|
||||||
LPCSTR szDrive = nullptr;
|
LPCWSTR szDrive = nullptr;
|
||||||
|
|
||||||
if (szMountDrive)
|
if (szMountDrive)
|
||||||
{
|
{
|
||||||
@@ -172,49 +172,48 @@ DWORD CDLC::UnmountInstalledDLC(LPCSTR szMountDrive)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CDLC::GetMountedDLCFileList(const char *szMountDrive, std::vector<std::string> &fileList)
|
void CDLC::GetMountedDLCFileList(const char *szMountDrive, std::vector<std::wstring> &fileList)
|
||||||
{
|
{
|
||||||
char *dlcdirPath = new char[256];
|
wchar_t dlcdirPath[256];
|
||||||
sprintf(dlcdirPath, "%s/*", m_vInstalledDLCs[m_uiCurrentMappedDLC].szFileName);
|
swprintf_s(dlcdirPath, 256, L"%s/*", m_vInstalledDLCs[m_uiCurrentMappedDLC].szFileName);
|
||||||
|
|
||||||
_WIN32_FIND_DATAA atts;
|
_WIN32_FIND_DATAW atts;
|
||||||
HANDLE hFind = FindFirstFileA(dlcdirPath, &atts);
|
HANDLE hFind = FindFirstFileW(dlcdirPath, &atts);
|
||||||
if (hFind != (HANDLE)-1LL)
|
if (hFind != INVALID_HANDLE_VALUE)
|
||||||
{
|
{
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
if (atts.dwFileAttributes == -1 || (atts.dwFileAttributes & 0x10) != 0x10)
|
if (atts.dwFileAttributes == -1 || (atts.dwFileAttributes & 0x10) != 0x10)
|
||||||
{
|
{
|
||||||
char dir[256];
|
wchar_t dir[256];
|
||||||
sprintf(dir, "%s/%s", m_vInstalledDLCs[m_uiCurrentMappedDLC].szFileName, atts.cFileName);
|
swprintf_s(dir, _countof(dir), L"%s/%s", m_vInstalledDLCs[m_uiCurrentMappedDLC].szFileName, atts.cFileName);
|
||||||
|
|
||||||
fileList.push_back(dir);
|
fileList.push_back(dir);
|
||||||
}
|
}
|
||||||
} while (FindNextFileA(hFind, &atts));
|
} while (FindNextFileW(hFind, &atts));
|
||||||
FindClose(hFind);
|
FindClose(hFind);
|
||||||
}
|
}
|
||||||
delete[] dlcdirPath;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string CDLC::GetMountedPath(std::string szMount)
|
std::wstring CDLC::GetMountedPath(std::wstring szMount)
|
||||||
{
|
{
|
||||||
for (int ch = 0; ch < szMount.size(); ++ch)
|
for (int ch = 0; ch < szMount.size(); ++ch)
|
||||||
{
|
{
|
||||||
if (szMount[ch] == '/' || szMount[ch] == '\\')
|
if (szMount[ch] == '/' || szMount[ch] == '\\')
|
||||||
{
|
{
|
||||||
return "";
|
return L"";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (szMount[ch] == ':')
|
if (szMount[ch] == ':')
|
||||||
{
|
{
|
||||||
std::string driveName = szMount.substr(0, ch);
|
std::wstring driveName = szMount.substr(0, ch);
|
||||||
for (int i = 0; i < m_vDLCDriveMappings.size(); i++)
|
for (int i = 0; i < m_vDLCDriveMappings.size(); i++)
|
||||||
{
|
{
|
||||||
if (m_vDLCDriveMappings[i].m_szMountPath == driveName)
|
if (m_vDLCDriveMappings[i].m_szMountPath == driveName)
|
||||||
{
|
{
|
||||||
std::string newPath = m_vDLCDriveMappings[i].m_szDirectoryPath;
|
std::wstring newPath = m_vDLCDriveMappings[i].m_szDirectoryPath;
|
||||||
|
|
||||||
newPath.append(szMount.substr(ch + 1, -1));
|
newPath.append(szMount.substr(ch + 1));
|
||||||
|
|
||||||
return newPath;
|
return newPath;
|
||||||
}
|
}
|
||||||
@@ -223,7 +222,7 @@ std::string CDLC::GetMountedPath(std::string szMount)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return "";
|
return L"";
|
||||||
}
|
}
|
||||||
|
|
||||||
void CDLC::SetDLCProductCode(const char *szProductCode)
|
void CDLC::SetDLCProductCode(const char *szProductCode)
|
||||||
@@ -241,9 +240,9 @@ int CDLC::GetAvailableDLCCount(int iPad)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CDLC::SetPackageRoot(char *pszDLCRoot)
|
void CDLC::SetPackageRoot(wchar_t *pszDLCRoot)
|
||||||
{
|
{
|
||||||
strcpy(this->m_szPackageRoot, pszDLCRoot);
|
wcscpy(this->m_szPackageRoot, pszDLCRoot);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CDLC::Tick(void)
|
void CDLC::Tick(void)
|
||||||
|
|||||||
@@ -30,13 +30,13 @@ class CDLC
|
|||||||
public:
|
public:
|
||||||
struct DriveMapping
|
struct DriveMapping
|
||||||
{
|
{
|
||||||
DriveMapping(std::string szDirectoryPath, std::string szMountPath) : m_szDirectoryPath(szDirectoryPath), m_szMountPath(szMountPath)
|
DriveMapping(std::wstring szDirectoryPath, std::wstring szMountPath) : m_szDirectoryPath(szDirectoryPath), m_szMountPath(szMountPath)
|
||||||
{
|
{
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string m_szMountPath;
|
std::wstring m_szMountPath;
|
||||||
std::string m_szDirectoryPath;
|
std::wstring m_szDirectoryPath;
|
||||||
};
|
};
|
||||||
|
|
||||||
XCONTENT_DATA &GetDLC(DWORD dw);
|
XCONTENT_DATA &GetDLC(DWORD dw);
|
||||||
@@ -46,15 +46,15 @@ public:
|
|||||||
DWORD dwOfferTypesBitmask = XMARKETPLACE_OFFERING_TYPE_CONTENT);
|
DWORD dwOfferTypesBitmask = XMARKETPLACE_OFFERING_TYPE_CONTENT);
|
||||||
void ClearOffers();
|
void ClearOffers();
|
||||||
C4JStorage::EDLCStatus GetInstalledDLC(int iPad, int (*Func)(LPVOID, int, int), LPVOID lpParam);
|
C4JStorage::EDLCStatus GetInstalledDLC(int iPad, int (*Func)(LPVOID, int, int), LPVOID lpParam);
|
||||||
DWORD MountInstalledDLC(int iPad, DWORD dwDLC, int (*Func)(LPVOID, int, DWORD, DWORD), LPVOID lpParam, LPCSTR szMountDrive = NULL);
|
DWORD MountInstalledDLC(int iPad, DWORD dwDLC, int (*Func)(LPVOID, int, DWORD, DWORD), LPVOID lpParam, LPCWSTR szMountDrive = NULL);
|
||||||
DWORD UnmountInstalledDLC(LPCSTR szMountDrive = NULL);
|
DWORD UnmountInstalledDLC(LPCWSTR szMountDrive = NULL);
|
||||||
void GetMountedDLCFileList(const char *szMountDrive, std::vector<std::string> &fileList);
|
void GetMountedDLCFileList(const char *szMountDrive, std::vector<std::wstring> &fileList);
|
||||||
std::string GetMountedPath(std::string szMount);
|
std::wstring GetMountedPath(std::wstring szMount);
|
||||||
|
|
||||||
void SetDLCProductCode(const char *szProductCode);
|
void SetDLCProductCode(const char *szProductCode);
|
||||||
void SetProductUpgradeKey(const char *szProductCode);
|
void SetProductUpgradeKey(const char *szProductCode);
|
||||||
int GetAvailableDLCCount(int iPad);
|
int GetAvailableDLCCount(int iPad);
|
||||||
void SetPackageRoot(char *pszDLCRoot);
|
void SetPackageRoot(wchar_t *pszDLCRoot);
|
||||||
|
|
||||||
void Tick(void);
|
void Tick(void);
|
||||||
void AddInstalled(XCONTENT_DATA *data);
|
void AddInstalled(XCONTENT_DATA *data);
|
||||||
@@ -70,10 +70,10 @@ public:
|
|||||||
DWORD m_iHasNewMountedDLCs;
|
DWORD m_iHasNewMountedDLCs;
|
||||||
int (*m_pMountedDLCFunc)(LPVOID, int, DWORD, DWORD);
|
int (*m_pMountedDLCFunc)(LPVOID, int, DWORD, DWORD);
|
||||||
LPVOID m_pMountedDLCParam;
|
LPVOID m_pMountedDLCParam;
|
||||||
std::string m_szMountPath;
|
std::wstring m_szMountPath;
|
||||||
DWORD m_uiCurrentMappedDLC;
|
DWORD m_uiCurrentMappedDLC;
|
||||||
DWORD m_dwLicenseMask;
|
DWORD m_dwLicenseMask;
|
||||||
char m_szPackageRoot[40];
|
wchar_t m_szPackageRoot[40];
|
||||||
DWORD dwordC0;
|
DWORD dwordC0;
|
||||||
std::vector<DriveMapping> m_vDLCDriveMappings;
|
std::vector<DriveMapping> m_vDLCDriveMappings;
|
||||||
char m_szDLCProductCode[16];
|
char m_szDLCProductCode[16];
|
||||||
|
|||||||
+16
-1
@@ -1,13 +1,28 @@
|
|||||||
#ifndef PCH_H
|
#ifndef PCH_H
|
||||||
#define PCH_H
|
#define PCH_H
|
||||||
|
|
||||||
|
#ifdef _WIN64
|
||||||
#define WIN32_LEAN_AND_MEAN
|
#define WIN32_LEAN_AND_MEAN
|
||||||
#include <Windows.h>
|
#include <Windows.h>
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <Xinput.h>
|
|
||||||
|
|
||||||
|
#include <cwchar>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __ORBIS__
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <scebase.h>
|
||||||
|
#include <kernel.h>
|
||||||
|
#include <fios2.h>
|
||||||
|
#include <message_dialog.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _XBOX
|
||||||
#include "extraX64.h"
|
#include "extraX64.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif //PCH_H
|
#endif //PCH_H
|
||||||
|
|||||||
+62
-60
@@ -1,17 +1,33 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
<ProjectConfiguration Include="Debug|Durango">
|
||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Durango</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|ORBIS">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>ORBIS</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|PS3">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>PS3</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Debug|x64">
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
<Platform>x64</Platform>
|
<Platform>x64</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
<ProjectConfiguration Include="Release|Durango">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Durango</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|ORBIS">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>ORBIS</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|PS3">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>PS3</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Release|x64">
|
<ProjectConfiguration Include="Release|x64">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
@@ -24,25 +40,12 @@
|
|||||||
<RootNamespace>My4J_XTMS</RootNamespace>
|
<RootNamespace>My4J_XTMS</RootNamespace>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
|
||||||
<PlatformToolset>v110</PlatformToolset>
|
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
<PlatformToolset>v110</PlatformToolset>
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
|
||||||
<PlatformToolset>v110</PlatformToolset>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
@@ -50,43 +53,60 @@
|
|||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">
|
||||||
|
<PlatformToolset>Clang</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'" Label="Configuration">
|
||||||
|
<PlatformToolset>Clang</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">
|
||||||
|
<PlatformToolset>Clang</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|PS3'" Label="Configuration">
|
||||||
|
<PlatformToolset>Clang</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros" />
|
<PropertyGroup Label="UserMacros" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<OutDir>$(SolutionDir)\libs\</OutDir>
|
<OutDir>$(SolutionDir)\libs\</OutDir>
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<OutDir>$(SolutionDir)\libs\</OutDir>
|
<OutDir>$(SolutionDir)\libs\</OutDir>
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|PS3'">
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|PS3'">
|
||||||
|
<IntDir>Build\$(Platform)\$(Configuration)\</IntDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<SDLCheck>true</SDLCheck>
|
|
||||||
<AdditionalIncludeDirectories>../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
||||||
<ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Windows</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
@@ -96,44 +116,26 @@
|
|||||||
<SDLCheck>true</SDLCheck>
|
<SDLCheck>true</SDLCheck>
|
||||||
<AdditionalIncludeDirectories>../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
|
<ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
|
||||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<SDLCheck>true</SDLCheck>
|
|
||||||
<AdditionalIncludeDirectories>../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
||||||
<ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Windows</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
<Optimization>MaxSpeed</Optimization>
|
<Optimization>Full</Optimization>
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
<IntrinsicFunctions>false</IntrinsicFunctions>
|
||||||
<PreprocessorDefinitions>_WINDOWS64;_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
|
<PreprocessorDefinitions>_WINDOWS64;_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
|
||||||
<SDLCheck>true</SDLCheck>
|
<SDLCheck>true</SDLCheck>
|
||||||
<AdditionalIncludeDirectories>../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>../Headers;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
|
<ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
|
|||||||
@@ -0,0 +1,258 @@
|
|||||||
|
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
#define BOOST_NO_CXX11_NULLPTR
|
||||||
|
#define BOOST_ENABLE_ASSERT_HANDLER
|
||||||
|
#include <typeinfo>
|
||||||
|
|
||||||
|
#include <stddef.h>
|
||||||
|
|
||||||
|
|
||||||
|
#define __forceinline inline
|
||||||
|
|
||||||
|
//#include "winerror.h"
|
||||||
|
|
||||||
|
|
||||||
|
// user the pool_allocator for all unordered_set and unordered_map instances
|
||||||
|
// template < class T, class H = hash<T>, class P = std::equal_to<T>, class A = boost::pool_allocator<T> >
|
||||||
|
// class unordered_set : public std::tr1::unordered_set<T, H, P, A >
|
||||||
|
// {};
|
||||||
|
//
|
||||||
|
// template <class K, class T, class H = hash<K>, class P = std::equal_to<K>, class A = boost::pool_allocator<std::pair<const K,T> > >
|
||||||
|
// class unordered_map : public std::tr1::unordered_map<K, T, H, P, A >
|
||||||
|
// {};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// template < class T, class H = hash<T>, class P = std::equal_to<T>, class A = C4JPoolAllocator<T> >
|
||||||
|
// class unordered_set : public std::tr1::unordered_set<T, H, P, A >
|
||||||
|
// {};
|
||||||
|
//
|
||||||
|
// template <class K, class T, class H = hash<K>, class P = std::equal_to<K>, class A = C4JPoolAllocator<std::pair<const K,T> > >
|
||||||
|
// class unordered_map : public std::tr1::unordered_map<K, T, H, P, A >
|
||||||
|
// {};
|
||||||
|
|
||||||
|
|
||||||
|
// using boost::ublas::vector;
|
||||||
|
|
||||||
|
#define static_assert(a,b) BOOST_STATIC_ASSERT(a)
|
||||||
|
#define AUTO_VAR BOOST_AUTO
|
||||||
|
|
||||||
|
#define RtlEqualMemory(Destination,Source,Length) (!memcmp((Destination),(Source),(Length)))
|
||||||
|
#define RtlMoveMemory(Destination,Source,Length) memmove((Destination),(Source),(Length))
|
||||||
|
#define RtlCopyMemory(Destination,Source,Length) memcpy((Destination),(Source),(Length))
|
||||||
|
#define RtlFillMemory(Destination,Length,Fill) memset((Destination),(Fill),(Length))
|
||||||
|
#define RtlZeroMemory(Destination,Length) memset((Destination),0,(Length))
|
||||||
|
|
||||||
|
#define MoveMemory RtlMoveMemory
|
||||||
|
#define CopyMemory RtlCopyMemory
|
||||||
|
#define FillMemory RtlFillMemory
|
||||||
|
#define ZeroMemory RtlZeroMemory
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// #include <math.h>
|
||||||
|
// #include "DirectX\DirectXMath.h"
|
||||||
|
// using namespace DirectX;
|
||||||
|
|
||||||
|
#define S_OK 0
|
||||||
|
|
||||||
|
|
||||||
|
typedef unsigned long DWORD;
|
||||||
|
typedef int BOOL;
|
||||||
|
typedef unsigned char BYTE;
|
||||||
|
typedef unsigned short WORD;
|
||||||
|
typedef float FLOAT;
|
||||||
|
|
||||||
|
typedef int __int32;
|
||||||
|
|
||||||
|
typedef FLOAT *PFLOAT;
|
||||||
|
typedef BOOL *PBOOL;
|
||||||
|
typedef BOOL *LPBOOL;
|
||||||
|
typedef BYTE *PBYTE;
|
||||||
|
typedef BYTE *LPBYTE;
|
||||||
|
typedef int *PINT;
|
||||||
|
typedef int *LPINT;
|
||||||
|
typedef WORD *PWORD;
|
||||||
|
typedef WORD *LPWORD;
|
||||||
|
typedef long *PLONG;
|
||||||
|
typedef long *LPLONG;
|
||||||
|
typedef DWORD *PDWORD;
|
||||||
|
typedef DWORD *LPDWORD;
|
||||||
|
typedef void *LPVOID;
|
||||||
|
typedef const void *LPCVOID;
|
||||||
|
typedef void *PVOID;
|
||||||
|
typedef unsigned long ULONG;
|
||||||
|
|
||||||
|
typedef unsigned char boolean;
|
||||||
|
|
||||||
|
typedef int INT;
|
||||||
|
typedef unsigned int UINT;
|
||||||
|
typedef unsigned int *PUINT;
|
||||||
|
|
||||||
|
|
||||||
|
typedef unsigned char byte;
|
||||||
|
typedef long long __int64;
|
||||||
|
typedef unsigned long long __uint64;
|
||||||
|
typedef unsigned long DWORD;
|
||||||
|
typedef int INT;
|
||||||
|
typedef unsigned long ULONG_PTR, *PULONG_PTR;
|
||||||
|
typedef ULONG_PTR SIZE_T, *PSIZE_T;
|
||||||
|
|
||||||
|
typedef __int64 LONG64, *PLONG64;
|
||||||
|
|
||||||
|
#define VOID void
|
||||||
|
typedef char CHAR;
|
||||||
|
typedef short SHORT;
|
||||||
|
typedef long LONG;
|
||||||
|
typedef __int64 LONGLONG;
|
||||||
|
typedef __uint64 ULONGLONG;
|
||||||
|
|
||||||
|
|
||||||
|
#define CONST const
|
||||||
|
typedef wchar_t WCHAR; // wc, 16-bit UNICODE character
|
||||||
|
typedef WCHAR *PWCHAR;
|
||||||
|
typedef WCHAR *LPWCH, *PWCH;
|
||||||
|
typedef CONST WCHAR *LPCWCH, *PCWCH;
|
||||||
|
typedef WCHAR *NWPSTR;
|
||||||
|
typedef WCHAR *LPWSTR, *PWSTR;
|
||||||
|
typedef CONST WCHAR *LPCWSTR, *PCWSTR;
|
||||||
|
|
||||||
|
//
|
||||||
|
// ANSI (Multi-byte Character) types
|
||||||
|
//
|
||||||
|
typedef CHAR *PCHAR;
|
||||||
|
typedef CHAR *LPCH, *PCH;
|
||||||
|
typedef CONST CHAR *LPCCH, *PCCH;
|
||||||
|
typedef CHAR *NPSTR;
|
||||||
|
typedef CHAR *LPSTR, *PSTR;
|
||||||
|
typedef CONST CHAR *LPCSTR, *PCSTR;
|
||||||
|
|
||||||
|
#ifndef FALSE
|
||||||
|
#define FALSE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef TRUE
|
||||||
|
#define TRUE 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _FILETIME {
|
||||||
|
#ifdef _M_PPCBE
|
||||||
|
DWORD dwHighDateTime;
|
||||||
|
DWORD dwLowDateTime;
|
||||||
|
#else
|
||||||
|
DWORD dwLowDateTime;
|
||||||
|
DWORD dwHighDateTime;
|
||||||
|
#endif
|
||||||
|
} FILETIME, *PFILETIME, *LPFILETIME;
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(MIDL_PASS)
|
||||||
|
typedef struct _LARGE_INTEGER {
|
||||||
|
#else // MIDL_PASS
|
||||||
|
typedef union _LARGE_INTEGER {
|
||||||
|
struct {
|
||||||
|
#if defined(_M_PPCBE)
|
||||||
|
LONG HighPart;
|
||||||
|
DWORD LowPart;
|
||||||
|
#else
|
||||||
|
DWORD LowPart;
|
||||||
|
LONG HighPart;
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
struct {
|
||||||
|
#if defined(_M_PPCBE)
|
||||||
|
LONG HighPart;
|
||||||
|
DWORD LowPart;
|
||||||
|
#else
|
||||||
|
DWORD LowPart;
|
||||||
|
LONG HighPart;
|
||||||
|
#endif
|
||||||
|
} u;
|
||||||
|
#endif //MIDL_PASS
|
||||||
|
LONGLONG QuadPart;
|
||||||
|
} LARGE_INTEGER;
|
||||||
|
|
||||||
|
typedef LARGE_INTEGER *PLARGE_INTEGER;
|
||||||
|
|
||||||
|
#if defined(MIDL_PASS)
|
||||||
|
typedef struct _ULARGE_INTEGER {
|
||||||
|
#else // MIDL_PASS
|
||||||
|
typedef union _ULARGE_INTEGER {
|
||||||
|
struct {
|
||||||
|
#if defined(_M_PPCBE)
|
||||||
|
DWORD HighPart;
|
||||||
|
DWORD LowPart;
|
||||||
|
#else
|
||||||
|
DWORD LowPart;
|
||||||
|
DWORD HighPart;
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
struct {
|
||||||
|
#if defined(_M_PPCBE)
|
||||||
|
DWORD HighPart;
|
||||||
|
DWORD LowPart;
|
||||||
|
#else
|
||||||
|
DWORD LowPart;
|
||||||
|
DWORD HighPart;
|
||||||
|
#endif
|
||||||
|
} u;
|
||||||
|
#endif //MIDL_PASS
|
||||||
|
ULONGLONG QuadPart;
|
||||||
|
} ULARGE_INTEGER;
|
||||||
|
|
||||||
|
typedef ULARGE_INTEGER *PULARGE_INTEGER;
|
||||||
|
|
||||||
|
// 360 specifics
|
||||||
|
typedef long HRESULT;
|
||||||
|
typedef void* HANDLE;
|
||||||
|
|
||||||
|
#define DECLARE_HANDLE(name) typedef HANDLE name
|
||||||
|
DECLARE_HANDLE(HINSTANCE);
|
||||||
|
|
||||||
|
typedef HINSTANCE HMODULE; /* HMODULEs can be used in place of HINSTANCEs */
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _OVERLAPPED {
|
||||||
|
ULONG_PTR Internal;
|
||||||
|
ULONG_PTR InternalHigh;
|
||||||
|
DWORD Offset;
|
||||||
|
DWORD OffsetHigh;
|
||||||
|
HANDLE hEvent;
|
||||||
|
} OVERLAPPED, *LPOVERLAPPED;
|
||||||
|
|
||||||
|
typedef LPVOID PSECURITY_ATTRIBUTES;
|
||||||
|
typedef LPVOID LPSECURITY_ATTRIBUTES;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define __in_ecount(a)
|
||||||
|
#define __in_bcount(a)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// const int XUSER_MAX_COUNT = 4;
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <libsn.h>
|
||||||
|
#include <string>
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
|
#ifdef _CONTENT_PACKAGE
|
||||||
|
#define PS3_ASSERT(val)
|
||||||
|
#define PS3_ASSERT_CELL_ERROR(errVal)
|
||||||
|
#elif defined(_RELEASE_FOR_ART)
|
||||||
|
#define PS3_ASSERT(val)
|
||||||
|
#define PS3_ASSERT_CELL_ERROR(errVal)
|
||||||
|
#else
|
||||||
|
#define PS3_ASSERT(val) if(!(val)) { printf("----------------------\n"); printf("Assert failed!!!\n"); printf(#val); printf("\n"); printf("%s failed.\nFile %s\nline %d \n----------------------\n", __FUNCTION__, __FILE__, __LINE__); snPause(); }
|
||||||
|
#define PS3_ASSERT_CELL_ERROR(errVal) if(errVal != CELL_OK) { printf("----------------------\n %s failed with error %d [0x%08x]\n----------------------\n", __FUNCTION__, errVal, errVal); PS3_ASSERT(0); }
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define assert PS3_ASSERT
|
||||||
@@ -1,6 +1,5 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
#define MAP_STYLE_0 0
|
#define MAP_STYLE_0 0
|
||||||
#define MAP_STYLE_1 1
|
#define MAP_STYLE_1 1
|
||||||
#define MAP_STYLE_2 2
|
#define MAP_STYLE_2 2
|
||||||
@@ -36,6 +35,9 @@
|
|||||||
#define _360_JOY_BUTTON_RT 0x00400000
|
#define _360_JOY_BUTTON_RT 0x00400000
|
||||||
#define _360_JOY_BUTTON_LT 0x00800000
|
#define _360_JOY_BUTTON_LT 0x00800000
|
||||||
|
|
||||||
|
//str1k3r - DualShock 4 / DualSense Touchpad
|
||||||
|
#define _PS_JOY_BUTTON_TOUCHPAD _360_JOY_BUTTON_BACK
|
||||||
|
|
||||||
// Stick axis maps - to allow changes for SouthPaw in-game axis mapping
|
// Stick axis maps - to allow changes for SouthPaw in-game axis mapping
|
||||||
#define AXIS_MAP_LX 0
|
#define AXIS_MAP_LX 0
|
||||||
#define AXIS_MAP_LY 1
|
#define AXIS_MAP_LY 1
|
||||||
@@ -82,6 +84,18 @@ enum EMSgBoxType
|
|||||||
EMSgBoxType_OK,
|
EMSgBoxType_OK,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum EControllerType
|
||||||
|
{
|
||||||
|
EControllerType_Default,
|
||||||
|
EControllerType_Xbox360,
|
||||||
|
EControllerType_XboxOne,
|
||||||
|
EControllerType_PS3,
|
||||||
|
EControllerType_PS4,
|
||||||
|
EControllerType_PS5,
|
||||||
|
EControllerType_Switch,
|
||||||
|
EControllerType_Gamecube
|
||||||
|
};
|
||||||
|
|
||||||
class C_4JInput
|
class C_4JInput
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -118,7 +132,8 @@ public:
|
|||||||
void SetDebugSequence( const char *chSequenceA,int( *Func)(LPVOID),LPVOID lpParam );
|
void SetDebugSequence( const char *chSequenceA,int( *Func)(LPVOID),LPVOID lpParam );
|
||||||
FLOAT GetIdleSeconds(int iPad);
|
FLOAT GetIdleSeconds(int iPad);
|
||||||
bool IsPadConnected(int iPad);
|
bool IsPadConnected(int iPad);
|
||||||
bool IsCircleCrossSwapped();
|
void SetSelectBackSwapped(bool swapped);
|
||||||
|
bool IsSelectBackSwapped();
|
||||||
|
|
||||||
// In-Game values which may have been remapped due to Southpaw, swap triggers, etc
|
// In-Game values which may have been remapped due to Southpaw, swap triggers, etc
|
||||||
float GetJoypadStick_LX(int iPad, bool bCheckMenuDisplay=true);
|
float GetJoypadStick_LX(int iPad, bool bCheckMenuDisplay=true);
|
||||||
@@ -135,7 +150,7 @@ public:
|
|||||||
EKeyboardResult RequestKeyboard(LPCWSTR Title, LPCWSTR Text, DWORD dwPad, UINT uiMaxChars, int( *Func)(LPVOID,const bool),LPVOID lpParam,C_4JInput::EKeyboardMode eMode);
|
EKeyboardResult RequestKeyboard(LPCWSTR Title, LPCWSTR Text, DWORD dwPad, UINT uiMaxChars, int( *Func)(LPVOID,const bool),LPVOID lpParam,C_4JInput::EKeyboardMode eMode);
|
||||||
void DestroyKeyboard();
|
void DestroyKeyboard();
|
||||||
void GetText(uint16_t *UTF16String);
|
void GetText(uint16_t *UTF16String);
|
||||||
const char* PollControllerType(int ipad);
|
EControllerType GetControllerType(int ipad);
|
||||||
|
|
||||||
void SetLostInputControlCallback(void( *Func)(LPVOID, bool),LPVOID lpParam);
|
void SetLostInputControlCallback(void( *Func)(LPVOID, bool),LPVOID lpParam);
|
||||||
|
|
||||||
|
|||||||
@@ -75,13 +75,15 @@ public:
|
|||||||
// SYS
|
// SYS
|
||||||
int GetPrimaryPad();
|
int GetPrimaryPad();
|
||||||
void SetPrimaryPad(int iPad);
|
void SetPrimaryPad(int iPad);
|
||||||
|
void LoadGamertag();
|
||||||
|
void SetFakeGamerTag(char *name);
|
||||||
char* GetGamertag(int iPad);
|
char* GetGamertag(int iPad);
|
||||||
wstring GetDisplayName(int iPad);
|
wstring GetDisplayName(int iPad);
|
||||||
bool IsFullVersion();
|
bool IsFullVersion();
|
||||||
void SetSignInChangeCallback(void ( *Func)(LPVOID, bool, unsigned int),LPVOID lpParam);
|
void SetSignInChangeCallback(void ( *Func)(LPVOID, bool, unsigned int),LPVOID lpParam);
|
||||||
void SetNotificationsCallback(void ( *Func)(LPVOID, DWORD, unsigned int),LPVOID lpParam);
|
void SetNotificationsCallback(void ( *Func)(LPVOID, DWORD, unsigned int),LPVOID lpParam);
|
||||||
bool RegionIsNorthAmerica(void);
|
|
||||||
bool LocaleIsUSorCanada(void);
|
bool LocaleIsUSorCanada(void);
|
||||||
|
bool LocaleIsChina(void);
|
||||||
HRESULT GetLiveConnectionStatus();
|
HRESULT GetLiveConnectionStatus();
|
||||||
bool IsSystemUIDisplayed();
|
bool IsSystemUIDisplayed();
|
||||||
void SetProfileReadErrorCallback(void ( *Func)(LPVOID), LPVOID lpParam);
|
void SetProfileReadErrorCallback(void ( *Func)(LPVOID), LPVOID lpParam);
|
||||||
@@ -97,6 +99,10 @@ public:
|
|||||||
void ResetProfileProcessState(); // after a sign out from the primary player, call this
|
void ResetProfileProcessState(); // after a sign out from the primary player, call this
|
||||||
void Tick( void );
|
void Tick( void );
|
||||||
|
|
||||||
|
// SETTINGS
|
||||||
|
void LoadSettings(void* gs, size_t gsSize);
|
||||||
|
void SaveSettings(void* gs, size_t gsSize);
|
||||||
|
|
||||||
// ACHIEVEMENTS & AWARDS
|
// ACHIEVEMENTS & AWARDS
|
||||||
|
|
||||||
void RegisterAward(int iAwardNumber,int iGamerconfigID, eAwardType eType, bool bLeaderboardAffected=false,
|
void RegisterAward(int iAwardNumber,int iGamerconfigID, eAwardType eType, bool bLeaderboardAffected=false,
|
||||||
|
|||||||
@@ -51,12 +51,29 @@ typedef struct _XSOCIAL_PREVIEWIMAGE
|
|||||||
// D3DFORMAT Format;
|
// D3DFORMAT Format;
|
||||||
} XSOCIAL_PREVIEWIMAGE, *PXSOCIAL_PREVIEWIMAGE;
|
} XSOCIAL_PREVIEWIMAGE, *PXSOCIAL_PREVIEWIMAGE;
|
||||||
|
|
||||||
|
//str1k3r - EScreenSize is a windows64 exclusive thingy
|
||||||
|
enum EScreenSize
|
||||||
|
{
|
||||||
|
EScreenSize_1080P,
|
||||||
|
EScreenSize_720P,
|
||||||
|
EScreenSize_544P, //str1k3r - vita screen size
|
||||||
|
EScreenSize_480P
|
||||||
|
};
|
||||||
|
|
||||||
class C4JRender
|
class C4JRender
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
void Tick();
|
void Tick();
|
||||||
void UpdateGamma(unsigned short usGamma);
|
void UpdateGamma(unsigned short usGamma);
|
||||||
|
|
||||||
|
// VSync
|
||||||
|
static bool m_VSyncState;
|
||||||
|
static void SetVSync(bool vs);
|
||||||
|
static int GetVSync();
|
||||||
|
|
||||||
|
// Screen Size
|
||||||
|
EScreenSize GetScreenSize();
|
||||||
|
|
||||||
// Matrix stack
|
// Matrix stack
|
||||||
void MatrixMode(int type);
|
void MatrixMode(int type);
|
||||||
void MatrixSetIdentity();
|
void MatrixSetIdentity();
|
||||||
@@ -79,6 +96,7 @@ public:
|
|||||||
void Present();
|
void Present();
|
||||||
void Clear(int flags, D3D11_RECT *pRect = NULL);
|
void Clear(int flags, D3D11_RECT *pRect = NULL);
|
||||||
void SetClearColour(const float colourRGBA[4]);
|
void SetClearColour(const float colourRGBA[4]);
|
||||||
|
void setResolution(int ScreenWidth, int ScreenHeight);
|
||||||
bool IsWidescreen();
|
bool IsWidescreen();
|
||||||
bool IsHiDef();
|
bool IsHiDef();
|
||||||
void CaptureThumbnail(ImageFileBuffer *pngOut);
|
void CaptureThumbnail(ImageFileBuffer *pngOut);
|
||||||
|
|||||||
@@ -285,7 +285,7 @@ public:
|
|||||||
|
|
||||||
// DLC
|
// DLC
|
||||||
void RegisterMarketplaceCountsCallback(int (*Func)(LPVOID lpParam, C4JStorage::DLC_TMS_DETAILS*, int), LPVOID lpParam);
|
void RegisterMarketplaceCountsCallback(int (*Func)(LPVOID lpParam, C4JStorage::DLC_TMS_DETAILS*, int), LPVOID lpParam);
|
||||||
void SetDLCPackageRoot(char* pszDLCRoot);
|
void SetDLCPackageRoot(wchar_t* pszDLCRoot);
|
||||||
C4JStorage::EDLCStatus GetDLCOffers(int iPad, int(*Func)(LPVOID, int, DWORD, int), LPVOID lpParam, DWORD dwOfferTypesBitmask = XMARKETPLACE_OFFERING_TYPE_CONTENT);
|
C4JStorage::EDLCStatus GetDLCOffers(int iPad, int(*Func)(LPVOID, int, DWORD, int), LPVOID lpParam, DWORD dwOfferTypesBitmask = XMARKETPLACE_OFFERING_TYPE_CONTENT);
|
||||||
DWORD CancelGetDLCOffers();
|
DWORD CancelGetDLCOffers();
|
||||||
void ClearDLCOffers();
|
void ClearDLCOffers();
|
||||||
@@ -296,10 +296,10 @@ public:
|
|||||||
|
|
||||||
C4JStorage::EDLCStatus GetInstalledDLC(int iPad, int(*Func)(LPVOID, int, int), LPVOID lpParam);
|
C4JStorage::EDLCStatus GetInstalledDLC(int iPad, int(*Func)(LPVOID, int, int), LPVOID lpParam);
|
||||||
XCONTENT_DATA& GetDLC(DWORD dw);
|
XCONTENT_DATA& GetDLC(DWORD dw);
|
||||||
DWORD MountInstalledDLC(int iPad, DWORD dwDLC, int(*Func)(LPVOID, int, DWORD, DWORD), LPVOID lpParam, LPCSTR szMountDrive = NULL);
|
DWORD MountInstalledDLC(int iPad, DWORD dwDLC, int(*Func)(LPVOID, int, DWORD, DWORD), LPVOID lpParam, LPCWSTR szMountDrive = NULL);
|
||||||
DWORD UnmountInstalledDLC(LPCSTR szMountDrive = NULL);
|
DWORD UnmountInstalledDLC(LPCWSTR szMountDrive = NULL);
|
||||||
void GetMountedDLCFileList(const char* szMountDrive, std::vector<std::string>& fileList);
|
void GetMountedDLCFileList(const char* szMountDrive, std::vector<std::wstring>& fileList);
|
||||||
std::string GetMountedPath(std::string szMount);
|
std::wstring GetMountedPath(std::wstring szMount);
|
||||||
|
|
||||||
// Global title storage
|
// Global title storage
|
||||||
C4JStorage::ETMSStatus ReadTMSFile(int iQuadrant, eGlobalStorage eStorageFacility, C4JStorage::eTMS_FileType eFileType,
|
C4JStorage::ETMSStatus ReadTMSFile(int iQuadrant, eGlobalStorage eStorageFacility, C4JStorage::eTMS_FileType eFileType,
|
||||||
|
|||||||
+5
-106
@@ -8,23 +8,17 @@
|
|||||||
|
|
||||||
#define MULTITHREAD_ENABLE
|
#define MULTITHREAD_ENABLE
|
||||||
|
|
||||||
//const int XUSER_INDEX_ANY = 255;
|
const int XUSER_INDEX_ANY = 255;
|
||||||
const int XUSER_INDEX_FOCUS = 254;
|
const int XUSER_INDEX_FOCUS = 254;
|
||||||
|
|
||||||
#ifdef __PSVITA__
|
#ifdef __PSVITA__
|
||||||
const int XUSER_MAX_COUNT = 1;
|
const int XUSER_MAX_COUNT = 1;
|
||||||
const int MINECRAFT_NET_MAX_PLAYERS = 4;
|
const int MINECRAFT_NET_MAX_PLAYERS = 4;
|
||||||
#else
|
#else
|
||||||
//const int XUSER_MAX_COUNT = 4;
|
const int XUSER_MAX_COUNT = 4;
|
||||||
const int MINECRAFT_NET_MAX_PLAYERS = 8;
|
const int MINECRAFT_NET_MAX_PLAYERS = 8;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @Patoke: i'm sorry i had to do this for compat
|
|
||||||
namespace sigma
|
|
||||||
{
|
|
||||||
enum class byte : unsigned char {};
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __ORBIS__
|
#ifdef __ORBIS__
|
||||||
#include <net.h>
|
#include <net.h>
|
||||||
#include <np/np_npid.h>
|
#include <np/np_npid.h>
|
||||||
@@ -40,10 +34,7 @@ typedef SQRNetworkManager_Orbis::PresenceSyncInfo INVITE_INFO;
|
|||||||
#include <netex/libnetctl.h>
|
#include <netex/libnetctl.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include "..\..\Minecraft.Client\PS3\PS3_PlayerUID.h"
|
#include "Ps3Types.h"
|
||||||
#include "..\..\Minecraft.Client\PS3\Network\SQRNetworkManager_PS3.h"
|
|
||||||
typedef SQRNetworkManager::SessionID SessionID;
|
|
||||||
typedef SQRNetworkManager::PresenceSyncInfo INVITE_INFO;
|
|
||||||
|
|
||||||
#elif defined __PSVITA__
|
#elif defined __PSVITA__
|
||||||
#include <np.h>
|
#include <np.h>
|
||||||
@@ -69,7 +60,7 @@ class INVITE_INFO;
|
|||||||
|
|
||||||
#endif // __PS3__
|
#endif // __PS3__
|
||||||
|
|
||||||
#ifndef _DURANGO
|
#if !(defined _DURANGO || __PS3__)
|
||||||
typedef PlayerUID *PPlayerUID;
|
typedef PlayerUID *PPlayerUID;
|
||||||
#endif
|
#endif
|
||||||
typedef struct _XUIOBJ* HXUIOBJ;
|
typedef struct _XUIOBJ* HXUIOBJ;
|
||||||
@@ -83,49 +74,8 @@ typedef struct _XUIDC* HXUIDC;
|
|||||||
// void GetLocalTime(SYSTEMTIME *time);
|
// void GetLocalTime(SYSTEMTIME *time);
|
||||||
// #endif
|
// #endif
|
||||||
|
|
||||||
bool IsEqualXUID(PlayerUID a, PlayerUID b);
|
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
// Temporary implementation of lock free stack with quite a bit more locking than you might expect
|
|
||||||
template <typename T> class XLockFreeStack
|
|
||||||
{
|
|
||||||
std::vector<T *> intStack;
|
|
||||||
public:
|
|
||||||
XLockFreeStack() {
|
|
||||||
#ifdef __ORBIS__
|
|
||||||
OrbisInit(); // For PS4, we need to make sure Ult is set up for the critical sections to be able to initialise
|
|
||||||
#endif
|
|
||||||
InitializeCriticalSectionAndSpinCount(&m_cs,5120);
|
|
||||||
}
|
|
||||||
~XLockFreeStack() { DeleteCriticalSection( &m_cs ); }
|
|
||||||
void Initialize() {}
|
|
||||||
void Push(T *data)
|
|
||||||
{
|
|
||||||
EnterCriticalSection(&m_cs);
|
|
||||||
intStack.push_back(data);
|
|
||||||
LeaveCriticalSection(&m_cs);
|
|
||||||
}
|
|
||||||
T *Pop()
|
|
||||||
{
|
|
||||||
EnterCriticalSection(&m_cs);
|
|
||||||
if( intStack.size() )
|
|
||||||
{
|
|
||||||
T* ret = intStack.back();
|
|
||||||
intStack.pop_back();
|
|
||||||
LeaveCriticalSection(&m_cs);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
LeaveCriticalSection(&m_cs);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private:
|
|
||||||
CRITICAL_SECTION m_cs;
|
|
||||||
};
|
|
||||||
|
|
||||||
void XMemCpy(void *a, const void *b, size_t s);
|
void XMemCpy(void *a, const void *b, size_t s);
|
||||||
void XMemSet(void *a, int t, size_t s);
|
void XMemSet(void *a, int t, size_t s);
|
||||||
void XMemSet128(void *a, int t, size_t s);
|
void XMemSet128(void *a, int t, size_t s);
|
||||||
@@ -204,7 +154,6 @@ public:
|
|||||||
bool IsHost();
|
bool IsHost();
|
||||||
bool IsGuest();
|
bool IsGuest();
|
||||||
bool IsLocal();
|
bool IsLocal();
|
||||||
PlayerUID GetXuid();
|
|
||||||
LPCWSTR GetGamertag();
|
LPCWSTR GetGamertag();
|
||||||
int GetSessionIndex();
|
int GetSessionIndex();
|
||||||
bool IsTalking();
|
bool IsTalking();
|
||||||
@@ -258,19 +207,6 @@ typedef struct _XSESSION_SEARCHRESULT_HEADER {
|
|||||||
XSESSION_SEARCHRESULT *pResults;
|
XSESSION_SEARCHRESULT *pResults;
|
||||||
} XSESSION_SEARCHRESULT_HEADER, *PXSESSION_SEARCHRESULT_HEADER;
|
} XSESSION_SEARCHRESULT_HEADER, *PXSESSION_SEARCHRESULT_HEADER;
|
||||||
|
|
||||||
typedef struct _XONLINE_FRIEND {
|
|
||||||
PlayerUID xuid;
|
|
||||||
CHAR szGamertag[XUSER_NAME_SIZE];
|
|
||||||
DWORD dwFriendState;
|
|
||||||
SessionID sessionID;
|
|
||||||
DWORD dwTitleID;
|
|
||||||
FILETIME ftUserTime;
|
|
||||||
SessionID xnkidInvite;
|
|
||||||
FILETIME gameinviteTime;
|
|
||||||
DWORD cchRichPresence;
|
|
||||||
// WCHAR wszRichPresence[MAX_RICHPRESENCE_SIZE];
|
|
||||||
} XONLINE_FRIEND, *PXONLINE_FRIEND;
|
|
||||||
|
|
||||||
class IQNetCallbacks
|
class IQNetCallbacks
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
@@ -294,25 +230,6 @@ typedef enum _QNET_STATE
|
|||||||
QNET_STATE_SESSION_DELETING
|
QNET_STATE_SESSION_DELETING
|
||||||
} QNET_STATE, * PQNET_STATE;
|
} QNET_STATE, * PQNET_STATE;
|
||||||
|
|
||||||
class IQNet
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
HRESULT AddLocalPlayerByUserIndex(DWORD dwUserIndex);
|
|
||||||
IQNetPlayer *GetHostPlayer();
|
|
||||||
IQNetPlayer *GetLocalPlayerByUserIndex(DWORD dwUserIndex);
|
|
||||||
IQNetPlayer *GetPlayerByIndex(DWORD dwPlayerIndex);
|
|
||||||
IQNetPlayer *GetPlayerBySmallId(BYTE SmallId);
|
|
||||||
IQNetPlayer *GetPlayerByXuid(PlayerUID xuid);
|
|
||||||
DWORD GetPlayerCount();
|
|
||||||
QNET_STATE GetState();
|
|
||||||
bool IsHost();
|
|
||||||
HRESULT JoinGameFromInviteInfo(DWORD dwUserIndex, DWORD dwUserMask, const INVITE_INFO *pInviteInfo);
|
|
||||||
void HostGame();
|
|
||||||
void EndGame();
|
|
||||||
|
|
||||||
static IQNetPlayer m_player[4];
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifdef _DURANGO
|
#ifdef _DURANGO
|
||||||
// 4J Stu - We don't want to be doing string conversions at runtime for timing instrumentation, so do this instead
|
// 4J Stu - We don't want to be doing string conversions at runtime for timing instrumentation, so do this instead
|
||||||
#define PIXBeginNamedEvent(a, b, ...) PIXBeginEvent(a,L ## b, __VA_ARGS__)
|
#define PIXBeginNamedEvent(a, b, ...) PIXBeginEvent(a,L ## b, __VA_ARGS__)
|
||||||
@@ -354,7 +271,7 @@ typedef struct _XCONTENT_DATA
|
|||||||
XCONTENTDEVICEID DeviceID;
|
XCONTENTDEVICEID DeviceID;
|
||||||
DWORD dwContentType;
|
DWORD dwContentType;
|
||||||
WCHAR szDisplayName[XCONTENT_MAX_DISPLAYNAME_LENGTH];
|
WCHAR szDisplayName[XCONTENT_MAX_DISPLAYNAME_LENGTH];
|
||||||
CHAR szFileName[XCONTENT_MAX_FILENAME_LENGTH];
|
WCHAR szFileName[XCONTENT_MAX_FILENAME_LENGTH];
|
||||||
} XCONTENT_DATA, *PXCONTENT_DATA;
|
} XCONTENT_DATA, *PXCONTENT_DATA;
|
||||||
#endif //__PS3__
|
#endif //__PS3__
|
||||||
|
|
||||||
@@ -402,31 +319,13 @@ typedef enum
|
|||||||
const int QNET_SENDDATA_RELIABLE = 0;
|
const int QNET_SENDDATA_RELIABLE = 0;
|
||||||
const int QNET_SENDDATA_SEQUENTIAL = 0;
|
const int QNET_SENDDATA_SEQUENTIAL = 0;
|
||||||
|
|
||||||
struct XRNM_SEND_BUFFER
|
|
||||||
{
|
|
||||||
DWORD dwDataSize;
|
|
||||||
sigma::byte *pbyData;
|
|
||||||
};
|
|
||||||
|
|
||||||
const int D3DBLEND_CONSTANTALPHA = 0;
|
const int D3DBLEND_CONSTANTALPHA = 0;
|
||||||
const int D3DBLEND_INVCONSTANTALPHA = 0;
|
const int D3DBLEND_INVCONSTANTALPHA = 0;
|
||||||
const int D3DPT_QUADLIST = 0;
|
const int D3DPT_QUADLIST = 0;
|
||||||
|
|
||||||
|
|
||||||
typedef struct _XUSER_SIGNIN_INFO {
|
|
||||||
PlayerUID xuid;
|
|
||||||
DWORD dwGuestNumber;
|
|
||||||
} XUSER_SIGNIN_INFO, *PXUSER_SIGNIN_INFO;
|
|
||||||
|
|
||||||
#define XUSER_GET_SIGNIN_INFO_ONLINE_XUID_ONLY 0x00000001
|
#define XUSER_GET_SIGNIN_INFO_ONLINE_XUID_ONLY 0x00000001
|
||||||
#define XUSER_GET_SIGNIN_INFO_OFFLINE_XUID_ONLY 0x00000002
|
#define XUSER_GET_SIGNIN_INFO_OFFLINE_XUID_ONLY 0x00000002
|
||||||
|
|
||||||
DWORD XUserGetSigninInfo(
|
|
||||||
DWORD dwUserIndex,
|
|
||||||
DWORD dwFlags,
|
|
||||||
PXUSER_SIGNIN_INFO pSigninInfo
|
|
||||||
);
|
|
||||||
|
|
||||||
class CXuiStringTable
|
class CXuiStringTable
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
+108
@@ -0,0 +1,108 @@
|
|||||||
|
#define S_OK 0
|
||||||
|
|
||||||
|
|
||||||
|
typedef unsigned long DWORD;
|
||||||
|
typedef int BOOL;
|
||||||
|
typedef unsigned char BYTE;
|
||||||
|
typedef unsigned short WORD;
|
||||||
|
typedef float FLOAT;
|
||||||
|
|
||||||
|
typedef int __int32;
|
||||||
|
|
||||||
|
typedef FLOAT *PFLOAT;
|
||||||
|
typedef BOOL *PBOOL;
|
||||||
|
typedef BOOL *LPBOOL;
|
||||||
|
typedef BYTE *PBYTE;
|
||||||
|
typedef BYTE *LPBYTE;
|
||||||
|
typedef int *PINT;
|
||||||
|
typedef int *LPINT;
|
||||||
|
typedef WORD *PWORD;
|
||||||
|
typedef WORD *LPWORD;
|
||||||
|
typedef long *PLONG;
|
||||||
|
typedef long *LPLONG;
|
||||||
|
typedef DWORD *PDWORD;
|
||||||
|
typedef DWORD *LPDWORD;
|
||||||
|
typedef void *LPVOID;
|
||||||
|
typedef const void *LPCVOID;
|
||||||
|
typedef void *PVOID;
|
||||||
|
typedef unsigned long ULONG;
|
||||||
|
|
||||||
|
typedef unsigned char boolean;
|
||||||
|
|
||||||
|
typedef int INT;
|
||||||
|
typedef unsigned int UINT;
|
||||||
|
typedef unsigned int *PUINT;
|
||||||
|
|
||||||
|
|
||||||
|
typedef unsigned char byte;
|
||||||
|
typedef long long __int64;
|
||||||
|
typedef unsigned long long __uint64;
|
||||||
|
typedef unsigned long DWORD;
|
||||||
|
typedef int INT;
|
||||||
|
typedef unsigned long ULONG_PTR, *PULONG_PTR;
|
||||||
|
typedef ULONG_PTR SIZE_T, *PSIZE_T;
|
||||||
|
|
||||||
|
typedef __int64 LONG64, *PLONG64;
|
||||||
|
|
||||||
|
#define VOID void
|
||||||
|
typedef char CHAR;
|
||||||
|
typedef short SHORT;
|
||||||
|
typedef long LONG;
|
||||||
|
typedef __int64 LONGLONG;
|
||||||
|
typedef __uint64 ULONGLONG;
|
||||||
|
|
||||||
|
|
||||||
|
#define CONST const
|
||||||
|
typedef wchar_t WCHAR; // wc, 16-bit UNICODE character
|
||||||
|
typedef WCHAR *PWCHAR;
|
||||||
|
typedef WCHAR *LPWCH, *PWCH;
|
||||||
|
typedef CONST WCHAR *LPCWCH, *PCWCH;
|
||||||
|
typedef WCHAR *NWPSTR;
|
||||||
|
typedef WCHAR *LPWSTR, *PWSTR;
|
||||||
|
typedef CONST WCHAR *LPCWSTR, *PCWSTR;
|
||||||
|
|
||||||
|
//
|
||||||
|
// ANSI (Multi-byte Character) types
|
||||||
|
//
|
||||||
|
typedef CHAR *PCHAR;
|
||||||
|
typedef CHAR *LPCH, *PCH;
|
||||||
|
typedef CONST CHAR *LPCCH, *PCCH;
|
||||||
|
typedef CHAR *NPSTR;
|
||||||
|
typedef CHAR *LPSTR, *PSTR;
|
||||||
|
typedef CONST CHAR *LPCSTR, *PCSTR;
|
||||||
|
|
||||||
|
#ifndef FALSE
|
||||||
|
#define FALSE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef TRUE
|
||||||
|
#define TRUE 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(MIDL_PASS)
|
||||||
|
typedef struct _LARGE_INTEGER {
|
||||||
|
#else // MIDL_PASS
|
||||||
|
typedef union _LARGE_INTEGER {
|
||||||
|
struct {
|
||||||
|
#if defined(_M_PPCBE)
|
||||||
|
LONG HighPart;
|
||||||
|
DWORD LowPart;
|
||||||
|
#else
|
||||||
|
DWORD LowPart;
|
||||||
|
LONG HighPart;
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
struct {
|
||||||
|
#if defined(_M_PPCBE)
|
||||||
|
LONG HighPart;
|
||||||
|
DWORD LowPart;
|
||||||
|
#else
|
||||||
|
DWORD LowPart;
|
||||||
|
LONG HighPart;
|
||||||
|
#endif
|
||||||
|
} u;
|
||||||
|
#endif //MIDL_PASS
|
||||||
|
LONGLONG QuadPart;
|
||||||
|
} LARGE_INTEGER;
|
||||||
|
|
||||||
|
typedef LARGE_INTEGER *PLARGE_INTEGER;
|
||||||
@@ -1,5 +1,11 @@
|
|||||||
# 4JLibs-VS2012
|
# 4JLibs-VS2012
|
||||||
|
|
||||||
|
# IMPORTANT:
|
||||||
|
If you're to use these libs or use code we made in your libs, make sure to credit us in your project's description
|
||||||
|
|
||||||
|
## WARNING:
|
||||||
|
This needs the [Windows 10 SDK](https://learn.microsoft.com/en-us/windows/apps/windows-sdk/downloads#windows-10) to build `4J_Render`.
|
||||||
|
|
||||||
## Implementation
|
## Implementation
|
||||||
|
|
||||||
For implementation details, please look at the [IMPLEMENTATION_GUIDE.md](.gitea/IMPLEMENTATION_GUIDE.md) file
|
For implementation details, please look at the [IMPLEMENTATION_GUIDE.md](.gitea/IMPLEMENTATION_GUIDE.md) file
|
||||||
|
|||||||
Reference in New Issue
Block a user