From f44a06465ab2d05c6db793e02aa0aba787bafdda Mon Sep 17 00:00:00 2001 From: hrydgard Date: Sun, 24 Aug 2008 15:46:08 +0000 Subject: [PATCH] Change some project settings. Reorganize the symbol database code, step 1/2. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@292 8ced0084-cf51-0410-be5f-012b33b47a6e --- Externals/Bochs_disasm/Bochs_disasm.vcproj | 291 +- Externals/wxWidgets/build/msw/wx_base.vcproj | 3652 ++--- Externals/wxWidgets/build/msw/wx_core.vcproj | 11322 ++++++++-------- Externals/zlib/zlib.vcproj | 264 +- Source/Core/Common/Common.vcproj | 331 +- Source/Core/Core/Core.vcproj | 340 +- Source/Core/Core/Src/Boot/Boot.cpp | 37 +- Source/Core/Core/Src/Boot/ElfReader.cpp | 3 +- Source/Core/Core/Src/Console.cpp | 14 +- .../Src/Debugger/Debugger_BreakPoints.cpp | 2 +- .../Core/Src/Debugger/Debugger_SymbolMap.cpp | 229 +- .../Core/Src/Debugger/Debugger_SymbolMap.h | 29 +- Source/Core/Core/Src/HLE/HLE.cpp | 15 +- Source/Core/Core/Src/HLE/HLE_Misc.cpp | 62 +- Source/Core/Core/Src/HLE/HLE_Misc.h | 1 + Source/Core/Core/Src/LogManager.cpp | 4 +- Source/Core/Core/Src/PowerPC/FunctionDB.cpp | 170 + Source/Core/Core/Src/PowerPC/FunctionDB.h | 113 + Source/Core/Core/Src/PowerPC/PPCAnalyst.cpp | 475 +- Source/Core/Core/Src/PowerPC/PPCAnalyst.h | 114 +- Source/Core/Core/Src/PowerPC/PPCTables.h | 1 + Source/Core/Core/Src/PowerPC/SignatureDB.cpp | 203 + Source/Core/Core/Src/PowerPC/SignatureDB.h | 57 + Source/Core/Core/Src/SConscript | 2 + Source/Core/DebuggerWX/DebuggerWX.vcproj | 269 +- Source/Core/DebuggerWX/src/CodeWindow.cpp | 62 +- Source/Core/DebuggerWX/src/CodeWindow.h | 5 +- Source/Core/DebuggerWX/src/MemoryWindow.cpp | 2 +- Source/Core/DiscIO/DiscIO.vcproj | 681 +- Source/Core/DolphinWX/DolphinWX.vcproj | 479 +- Source/Core/VideoCommon/VideoCommon.vcproj | 257 +- .../Plugin_DSP_HLE/Plugin_DSP_HLE.vcproj | 411 +- .../Plugin_DSP_LLE/Plugin_DSP_LLE.vcproj | 393 +- .../Plugin_PadDX9/Plugin_PadDX9.vcproj | 447 +- .../Plugin_PadSimple/Plugin_PadSimple.vcproj | 533 +- .../Plugin_VideoDX9/Plugin_VideoDX9.vcproj | 793 +- .../Plugin_VideoDX9/Src/OpcodeDecoding.cpp | 23 +- .../Plugin_VideoOGL/Plugin_VideoOGL.vcproj | 555 +- 38 files changed, 11398 insertions(+), 11243 deletions(-) create mode 100644 Source/Core/Core/Src/PowerPC/FunctionDB.cpp create mode 100644 Source/Core/Core/Src/PowerPC/FunctionDB.h create mode 100644 Source/Core/Core/Src/PowerPC/SignatureDB.cpp create mode 100644 Source/Core/Core/Src/PowerPC/SignatureDB.h diff --git a/Externals/Bochs_disasm/Bochs_disasm.vcproj b/Externals/Bochs_disasm/Bochs_disasm.vcproj index 3ee62f332e..9e3d9a21be 100644 --- a/Externals/Bochs_disasm/Bochs_disasm.vcproj +++ b/Externals/Bochs_disasm/Bochs_disasm.vcproj @@ -1,7 +1,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - @@ -481,6 +468,14 @@ UsePrecompiledHeader="1" /> + + + @@ -489,6 +484,14 @@ UsePrecompiledHeader="1" /> + + + diff --git a/Externals/wxWidgets/build/msw/wx_base.vcproj b/Externals/wxWidgets/build/msw/wx_base.vcproj index 770fab7e83..71f4f55d1d 100644 --- a/Externals/wxWidgets/build/msw/wx_base.vcproj +++ b/Externals/wxWidgets/build/msw/wx_base.vcproj @@ -1,7 +1,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - @@ -531,6 +513,15 @@ PreprocessorDefinitions="" /> + + + @@ -540,6 +531,15 @@ PreprocessorDefinitions="" /> + + + @@ -562,24 +562,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -589,6 +571,15 @@ PreprocessorDefinitions="" /> + + + @@ -598,6 +589,15 @@ PreprocessorDefinitions="" /> + + + @@ -620,24 +620,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -647,6 +629,15 @@ PreprocessorDefinitions="" /> + + + @@ -656,6 +647,15 @@ PreprocessorDefinitions="" /> + + + @@ -678,24 +678,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -705,6 +687,15 @@ PreprocessorDefinitions="" /> + + + @@ -714,6 +705,15 @@ PreprocessorDefinitions="" /> + + + @@ -736,24 +736,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -763,6 +745,15 @@ PreprocessorDefinitions="" /> + + + @@ -772,6 +763,15 @@ PreprocessorDefinitions="" /> + + + @@ -794,24 +794,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -821,6 +803,15 @@ PreprocessorDefinitions="" /> + + + @@ -830,6 +821,15 @@ PreprocessorDefinitions="" /> + + + @@ -852,24 +852,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -879,6 +861,15 @@ PreprocessorDefinitions="" /> + + + @@ -888,6 +879,15 @@ PreprocessorDefinitions="" /> + + + @@ -910,24 +910,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -937,6 +919,15 @@ PreprocessorDefinitions="" /> + + + @@ -946,6 +937,15 @@ PreprocessorDefinitions="" /> + + + @@ -968,24 +968,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -995,6 +977,15 @@ PreprocessorDefinitions="" /> + + + @@ -1004,6 +995,15 @@ PreprocessorDefinitions="" /> + + + @@ -1026,24 +1026,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1053,6 +1035,15 @@ PreprocessorDefinitions="" /> + + + @@ -1062,6 +1053,15 @@ PreprocessorDefinitions="" /> + + + @@ -1084,24 +1084,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1111,6 +1093,15 @@ PreprocessorDefinitions="" /> + + + @@ -1120,6 +1111,15 @@ PreprocessorDefinitions="" /> + + + @@ -1143,26 +1143,6 @@ UsePrecompiledHeader="1" /> - - - - - - @@ -1173,6 +1153,16 @@ UsePrecompiledHeader="1" /> + + + @@ -1183,6 +1173,16 @@ UsePrecompiledHeader="1" /> + + + @@ -1206,24 +1206,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1233,6 +1215,15 @@ PreprocessorDefinitions="" /> + + + @@ -1242,6 +1233,15 @@ PreprocessorDefinitions="" /> + + + @@ -1264,24 +1264,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1291,6 +1273,15 @@ PreprocessorDefinitions="" /> + + + @@ -1300,6 +1291,15 @@ PreprocessorDefinitions="" /> + + + @@ -1322,24 +1322,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1349,6 +1331,15 @@ PreprocessorDefinitions="" /> + + + @@ -1358,6 +1349,15 @@ PreprocessorDefinitions="" /> + + + @@ -1380,24 +1380,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1407,6 +1389,15 @@ PreprocessorDefinitions="" /> + + + @@ -1416,6 +1407,15 @@ PreprocessorDefinitions="" /> + + + @@ -1438,24 +1438,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1465,6 +1447,15 @@ PreprocessorDefinitions="" /> + + + @@ -1474,6 +1465,15 @@ PreprocessorDefinitions="" /> + + + @@ -1497,26 +1497,6 @@ UsePrecompiledHeader="0" /> - - - - - - @@ -1527,6 +1507,16 @@ UsePrecompiledHeader="0" /> + + + @@ -1537,6 +1527,16 @@ UsePrecompiledHeader="0" /> + + + @@ -1560,24 +1560,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1587,6 +1569,15 @@ PreprocessorDefinitions="" /> + + + @@ -1596,6 +1587,15 @@ PreprocessorDefinitions="" /> + + + @@ -1618,24 +1618,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1645,6 +1627,15 @@ PreprocessorDefinitions="" /> + + + @@ -1654,6 +1645,15 @@ PreprocessorDefinitions="" /> + + + @@ -1676,24 +1676,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1703,6 +1685,15 @@ PreprocessorDefinitions="" /> + + + @@ -1712,6 +1703,15 @@ PreprocessorDefinitions="" /> + + + @@ -1734,24 +1734,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1761,6 +1743,15 @@ PreprocessorDefinitions="" /> + + + @@ -1770,6 +1761,15 @@ PreprocessorDefinitions="" /> + + + @@ -1792,24 +1792,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1819,6 +1801,15 @@ PreprocessorDefinitions="" /> + + + @@ -1828,6 +1819,15 @@ PreprocessorDefinitions="" /> + + + @@ -1850,24 +1850,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1877,6 +1859,15 @@ PreprocessorDefinitions="" /> + + + @@ -1886,6 +1877,15 @@ PreprocessorDefinitions="" /> + + + @@ -1908,24 +1908,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1935,6 +1917,15 @@ PreprocessorDefinitions="" /> + + + @@ -1944,6 +1935,15 @@ PreprocessorDefinitions="" /> + + + @@ -1966,24 +1966,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1993,6 +1975,15 @@ PreprocessorDefinitions="" /> + + + @@ -2002,6 +1993,15 @@ PreprocessorDefinitions="" /> + + + @@ -2024,24 +2024,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2051,6 +2033,15 @@ PreprocessorDefinitions="" /> + + + @@ -2060,6 +2051,15 @@ PreprocessorDefinitions="" /> + + + @@ -2082,24 +2082,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2109,6 +2091,15 @@ PreprocessorDefinitions="" /> + + + @@ -2118,6 +2109,15 @@ PreprocessorDefinitions="" /> + + + @@ -2140,24 +2140,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2167,6 +2149,15 @@ PreprocessorDefinitions="" /> + + + @@ -2176,6 +2167,15 @@ PreprocessorDefinitions="" /> + + + @@ -2198,24 +2198,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2225,6 +2207,15 @@ PreprocessorDefinitions="" /> + + + @@ -2234,6 +2225,15 @@ PreprocessorDefinitions="" /> + + + @@ -2256,24 +2256,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2283,6 +2265,15 @@ PreprocessorDefinitions="" /> + + + @@ -2292,6 +2283,15 @@ PreprocessorDefinitions="" /> + + + @@ -2314,24 +2314,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2341,6 +2323,15 @@ PreprocessorDefinitions="" /> + + + @@ -2350,6 +2341,15 @@ PreprocessorDefinitions="" /> + + + @@ -2372,24 +2372,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2399,6 +2381,15 @@ PreprocessorDefinitions="" /> + + + @@ -2408,6 +2399,15 @@ PreprocessorDefinitions="" /> + + + @@ -2430,24 +2430,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2457,6 +2439,15 @@ PreprocessorDefinitions="" /> + + + @@ -2466,6 +2457,15 @@ PreprocessorDefinitions="" /> + + + @@ -2488,24 +2488,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2515,6 +2497,15 @@ PreprocessorDefinitions="" /> + + + @@ -2524,6 +2515,15 @@ PreprocessorDefinitions="" /> + + + @@ -2546,24 +2546,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2573,6 +2555,15 @@ PreprocessorDefinitions="" /> + + + @@ -2582,6 +2573,15 @@ PreprocessorDefinitions="" /> + + + @@ -2604,24 +2604,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2631,6 +2613,15 @@ PreprocessorDefinitions="" /> + + + @@ -2640,6 +2631,15 @@ PreprocessorDefinitions="" /> + + + @@ -2662,24 +2662,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2689,6 +2671,15 @@ PreprocessorDefinitions="" /> + + + @@ -2698,6 +2689,15 @@ PreprocessorDefinitions="" /> + + + @@ -2720,24 +2720,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2747,6 +2729,15 @@ PreprocessorDefinitions="" /> + + + @@ -2756,6 +2747,15 @@ PreprocessorDefinitions="" /> + + + @@ -2778,24 +2778,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2805,6 +2787,15 @@ PreprocessorDefinitions="" /> + + + @@ -2814,6 +2805,15 @@ PreprocessorDefinitions="" /> + + + @@ -2836,24 +2836,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2863,6 +2845,15 @@ PreprocessorDefinitions="" /> + + + @@ -2872,6 +2863,15 @@ PreprocessorDefinitions="" /> + + + @@ -2894,24 +2894,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2921,6 +2903,15 @@ PreprocessorDefinitions="" /> + + + @@ -2930,6 +2921,15 @@ PreprocessorDefinitions="" /> + + + @@ -2952,24 +2952,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2979,6 +2961,15 @@ PreprocessorDefinitions="" /> + + + @@ -2988,6 +2979,15 @@ PreprocessorDefinitions="" /> + + + @@ -3010,24 +3010,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3037,6 +3019,15 @@ PreprocessorDefinitions="" /> + + + @@ -3046,6 +3037,15 @@ PreprocessorDefinitions="" /> + + + @@ -3068,24 +3068,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3095,6 +3077,15 @@ PreprocessorDefinitions="" /> + + + @@ -3104,6 +3095,15 @@ PreprocessorDefinitions="" /> + + + @@ -3126,24 +3126,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3153,6 +3135,15 @@ PreprocessorDefinitions="" /> + + + @@ -3162,6 +3153,15 @@ PreprocessorDefinitions="" /> + + + @@ -3184,24 +3184,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3211,6 +3193,15 @@ PreprocessorDefinitions="" /> + + + @@ -3220,6 +3211,15 @@ PreprocessorDefinitions="" /> + + + @@ -3242,24 +3242,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3269,6 +3251,15 @@ PreprocessorDefinitions="" /> + + + @@ -3278,6 +3269,15 @@ PreprocessorDefinitions="" /> + + + @@ -3300,24 +3300,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3327,6 +3309,15 @@ PreprocessorDefinitions="" /> + + + @@ -3336,6 +3327,15 @@ PreprocessorDefinitions="" /> + + + @@ -3358,24 +3358,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3385,6 +3367,15 @@ PreprocessorDefinitions="" /> + + + @@ -3394,6 +3385,15 @@ PreprocessorDefinitions="" /> + + + @@ -3416,24 +3416,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3443,6 +3425,15 @@ PreprocessorDefinitions="" /> + + + @@ -3452,6 +3443,15 @@ PreprocessorDefinitions="" /> + + + @@ -3474,24 +3474,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3501,6 +3483,15 @@ PreprocessorDefinitions="" /> + + + @@ -3510,6 +3501,15 @@ PreprocessorDefinitions="" /> + + + @@ -3532,24 +3532,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3559,6 +3541,15 @@ PreprocessorDefinitions="" /> + + + @@ -3568,6 +3559,15 @@ PreprocessorDefinitions="" /> + + + @@ -3590,24 +3590,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3617,6 +3599,15 @@ PreprocessorDefinitions="" /> + + + @@ -3626,6 +3617,15 @@ PreprocessorDefinitions="" /> + + + @@ -3648,24 +3648,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3675,6 +3657,15 @@ PreprocessorDefinitions="" /> + + + @@ -3684,6 +3675,15 @@ PreprocessorDefinitions="" /> + + + @@ -3706,24 +3706,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3733,6 +3715,15 @@ PreprocessorDefinitions="" /> + + + @@ -3742,6 +3733,15 @@ PreprocessorDefinitions="" /> + + + @@ -3764,24 +3764,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3791,6 +3773,15 @@ PreprocessorDefinitions="" /> + + + @@ -3800,6 +3791,15 @@ PreprocessorDefinitions="" /> + + + @@ -3822,24 +3822,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3849,6 +3831,15 @@ PreprocessorDefinitions="" /> + + + @@ -3858,6 +3849,15 @@ PreprocessorDefinitions="" /> + + + @@ -3880,24 +3880,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3907,6 +3889,15 @@ PreprocessorDefinitions="" /> + + + @@ -3916,6 +3907,15 @@ PreprocessorDefinitions="" /> + + + @@ -3938,24 +3938,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3965,6 +3947,15 @@ PreprocessorDefinitions="" /> + + + @@ -3974,6 +3965,15 @@ PreprocessorDefinitions="" /> + + + @@ -3996,24 +3996,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4023,6 +4005,15 @@ PreprocessorDefinitions="" /> + + + @@ -4032,6 +4023,15 @@ PreprocessorDefinitions="" /> + + + @@ -4054,24 +4054,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4081,6 +4063,15 @@ PreprocessorDefinitions="" /> + + + @@ -4090,6 +4081,15 @@ PreprocessorDefinitions="" /> + + + @@ -4112,24 +4112,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4139,6 +4121,15 @@ PreprocessorDefinitions="" /> + + + @@ -4148,6 +4139,15 @@ PreprocessorDefinitions="" /> + + + @@ -4170,24 +4170,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4197,6 +4179,15 @@ PreprocessorDefinitions="" /> + + + @@ -4206,6 +4197,15 @@ PreprocessorDefinitions="" /> + + + @@ -4228,24 +4228,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4255,6 +4237,15 @@ PreprocessorDefinitions="" /> + + + @@ -4264,6 +4255,15 @@ PreprocessorDefinitions="" /> + + + @@ -4286,24 +4286,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4313,6 +4295,15 @@ PreprocessorDefinitions="" /> + + + @@ -4322,6 +4313,15 @@ PreprocessorDefinitions="" /> + + + @@ -4344,24 +4344,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4371,6 +4353,15 @@ PreprocessorDefinitions="" /> + + + @@ -4380,6 +4371,15 @@ PreprocessorDefinitions="" /> + + + @@ -4402,24 +4402,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4429,6 +4411,15 @@ PreprocessorDefinitions="" /> + + + @@ -4438,6 +4429,15 @@ PreprocessorDefinitions="" /> + + + @@ -4460,24 +4460,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4487,6 +4469,15 @@ PreprocessorDefinitions="" /> + + + @@ -4496,6 +4487,15 @@ PreprocessorDefinitions="" /> + + + @@ -4518,24 +4518,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4545,6 +4527,15 @@ PreprocessorDefinitions="" /> + + + @@ -4554,6 +4545,15 @@ PreprocessorDefinitions="" /> + + + @@ -4580,24 +4580,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4607,6 +4589,15 @@ PreprocessorDefinitions="" /> + + + @@ -4616,6 +4607,15 @@ PreprocessorDefinitions="" /> + + + @@ -4638,24 +4638,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4665,6 +4647,15 @@ PreprocessorDefinitions="" /> + + + @@ -4674,6 +4665,15 @@ PreprocessorDefinitions="" /> + + + @@ -4696,24 +4696,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4723,6 +4705,15 @@ PreprocessorDefinitions="" /> + + + @@ -4732,6 +4723,15 @@ PreprocessorDefinitions="" /> + + + @@ -4754,24 +4754,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4781,6 +4763,15 @@ PreprocessorDefinitions="" /> + + + @@ -4790,6 +4781,15 @@ PreprocessorDefinitions="" /> + + + @@ -4812,24 +4812,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4839,6 +4821,15 @@ PreprocessorDefinitions="" /> + + + @@ -4848,6 +4839,15 @@ PreprocessorDefinitions="" /> + + + @@ -4870,24 +4870,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4897,6 +4879,15 @@ PreprocessorDefinitions="" /> + + + @@ -4906,6 +4897,15 @@ PreprocessorDefinitions="" /> + + + @@ -4928,24 +4928,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4955,6 +4937,15 @@ PreprocessorDefinitions="" /> + + + @@ -4964,6 +4955,15 @@ PreprocessorDefinitions="" /> + + + @@ -4986,24 +4986,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5013,6 +4995,15 @@ PreprocessorDefinitions="" /> + + + @@ -5022,6 +5013,15 @@ PreprocessorDefinitions="" /> + + + @@ -5044,24 +5044,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5071,6 +5053,15 @@ PreprocessorDefinitions="" /> + + + @@ -5080,6 +5071,15 @@ PreprocessorDefinitions="" /> + + + @@ -5102,24 +5102,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5129,6 +5111,15 @@ PreprocessorDefinitions="" /> + + + @@ -5138,6 +5129,15 @@ PreprocessorDefinitions="" /> + + + @@ -5160,24 +5160,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5187,6 +5169,15 @@ PreprocessorDefinitions="" /> + + + @@ -5196,6 +5187,15 @@ PreprocessorDefinitions="" /> + + + @@ -5218,24 +5218,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5245,6 +5227,15 @@ PreprocessorDefinitions="" /> + + + @@ -5254,6 +5245,15 @@ PreprocessorDefinitions="" /> + + + @@ -5276,24 +5276,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5303,6 +5285,15 @@ PreprocessorDefinitions="" /> + + + @@ -5312,6 +5303,15 @@ PreprocessorDefinitions="" /> + + + @@ -5334,24 +5334,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5361,6 +5343,15 @@ PreprocessorDefinitions="" /> + + + @@ -5370,6 +5361,15 @@ PreprocessorDefinitions="" /> + + + @@ -5392,24 +5392,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5419,6 +5401,15 @@ PreprocessorDefinitions="" /> + + + @@ -5428,6 +5419,15 @@ PreprocessorDefinitions="" /> + + + @@ -5450,24 +5450,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5477,6 +5459,15 @@ PreprocessorDefinitions="" /> + + + @@ -5486,6 +5477,15 @@ PreprocessorDefinitions="" /> + + + @@ -5508,24 +5508,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5535,6 +5517,15 @@ PreprocessorDefinitions="" /> + + + @@ -5544,6 +5535,15 @@ PreprocessorDefinitions="" /> + + + @@ -5566,24 +5566,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5593,6 +5575,15 @@ PreprocessorDefinitions="" /> + + + @@ -5602,6 +5593,15 @@ PreprocessorDefinitions="" /> + + + @@ -5624,24 +5624,6 @@ AdditionalIncludeDirectories="\Development\GameCube\Dolphin\trunk\Externals\wxBase28\src\msw" /> - - - - - - + + + + + + - - - - - - @@ -5709,6 +5691,15 @@ PreprocessorDefinitions="" /> + + + @@ -5718,6 +5709,15 @@ PreprocessorDefinitions="" /> + + + @@ -5732,6 +5732,10 @@ + + @@ -5745,26 +5749,6 @@ Outputs="..\..\lib\vc_lib\msw\wx\setup.h" /> - - - - - - @@ -5775,6 +5759,16 @@ Outputs="..\..\lib\vc_lib\msw\wx\setup.h" /> + + + @@ -5785,6 +5779,16 @@ Outputs="..\..\lib\vc_lib\mswd\wx\setup.h" /> + + + @@ -5796,10 +5800,6 @@ /> - - + + + @@ -5855,6 +5865,16 @@ Outputs="..\..\lib\vc_lib\mswd\wx\msw\rcdefs.h" /> + + + @@ -5865,26 +5885,6 @@ Outputs="..\..\lib\vc_lib\msw\wx\msw\rcdefs.h" /> - - - - - - diff --git a/Externals/wxWidgets/build/msw/wx_core.vcproj b/Externals/wxWidgets/build/msw/wx_core.vcproj index 769e14958c..2016bf6af3 100644 --- a/Externals/wxWidgets/build/msw/wx_core.vcproj +++ b/Externals/wxWidgets/build/msw/wx_core.vcproj @@ -1,7 +1,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - @@ -537,6 +519,15 @@ PreprocessorDefinitions="" /> + + + @@ -546,6 +537,15 @@ PreprocessorDefinitions="" /> + + + @@ -568,24 +568,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -595,6 +577,15 @@ PreprocessorDefinitions="" /> + + + @@ -604,6 +595,15 @@ PreprocessorDefinitions="" /> + + + @@ -626,24 +626,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -653,6 +635,15 @@ PreprocessorDefinitions="" /> + + + @@ -662,6 +653,15 @@ PreprocessorDefinitions="" /> + + + @@ -684,24 +684,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -711,6 +693,15 @@ PreprocessorDefinitions="" /> + + + @@ -720,6 +711,15 @@ PreprocessorDefinitions="" /> + + + @@ -742,24 +742,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -769,6 +751,15 @@ PreprocessorDefinitions="" /> + + + @@ -778,6 +769,15 @@ PreprocessorDefinitions="" /> + + + @@ -800,24 +800,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -827,6 +809,15 @@ PreprocessorDefinitions="" /> + + + @@ -836,6 +827,15 @@ PreprocessorDefinitions="" /> + + + @@ -858,24 +858,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -885,6 +867,15 @@ PreprocessorDefinitions="" /> + + + @@ -894,6 +885,15 @@ PreprocessorDefinitions="" /> + + + @@ -916,24 +916,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -943,6 +925,15 @@ PreprocessorDefinitions="" /> + + + @@ -952,6 +943,15 @@ PreprocessorDefinitions="" /> + + + @@ -974,24 +974,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1001,6 +983,15 @@ PreprocessorDefinitions="" /> + + + @@ -1010,6 +1001,15 @@ PreprocessorDefinitions="" /> + + + @@ -1032,24 +1032,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1059,6 +1041,15 @@ PreprocessorDefinitions="" /> + + + @@ -1068,6 +1059,15 @@ PreprocessorDefinitions="" /> + + + @@ -1090,24 +1090,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1117,6 +1099,15 @@ PreprocessorDefinitions="" /> + + + @@ -1126,6 +1117,15 @@ PreprocessorDefinitions="" /> + + + @@ -1148,24 +1148,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1175,6 +1157,15 @@ PreprocessorDefinitions="" /> + + + @@ -1184,6 +1175,15 @@ PreprocessorDefinitions="" /> + + + @@ -1206,24 +1206,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1233,6 +1215,15 @@ PreprocessorDefinitions="" /> + + + @@ -1242,6 +1233,15 @@ PreprocessorDefinitions="" /> + + + @@ -1264,24 +1264,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1291,6 +1273,15 @@ PreprocessorDefinitions="" /> + + + @@ -1300,6 +1291,15 @@ PreprocessorDefinitions="" /> + + + @@ -1322,24 +1322,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1349,6 +1331,15 @@ PreprocessorDefinitions="" /> + + + @@ -1358,6 +1349,15 @@ PreprocessorDefinitions="" /> + + + @@ -1380,24 +1380,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1407,6 +1389,15 @@ PreprocessorDefinitions="" /> + + + @@ -1416,6 +1407,15 @@ PreprocessorDefinitions="" /> + + + @@ -1438,24 +1438,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1465,6 +1447,15 @@ PreprocessorDefinitions="" /> + + + @@ -1474,6 +1465,15 @@ PreprocessorDefinitions="" /> + + + @@ -1496,24 +1496,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1523,6 +1505,15 @@ PreprocessorDefinitions="" /> + + + @@ -1532,6 +1523,15 @@ PreprocessorDefinitions="" /> + + + @@ -1554,24 +1554,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1581,6 +1563,15 @@ PreprocessorDefinitions="" /> + + + @@ -1590,6 +1581,15 @@ PreprocessorDefinitions="" /> + + + @@ -1612,24 +1612,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1639,6 +1621,15 @@ PreprocessorDefinitions="" /> + + + @@ -1648,6 +1639,15 @@ PreprocessorDefinitions="" /> + + + @@ -1670,24 +1670,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1697,6 +1679,15 @@ PreprocessorDefinitions="" /> + + + @@ -1706,6 +1697,15 @@ PreprocessorDefinitions="" /> + + + @@ -1728,24 +1728,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1755,6 +1737,15 @@ PreprocessorDefinitions="" /> + + + @@ -1764,6 +1755,15 @@ PreprocessorDefinitions="" /> + + + @@ -1786,24 +1786,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1813,6 +1795,15 @@ PreprocessorDefinitions="" /> + + + @@ -1822,6 +1813,15 @@ PreprocessorDefinitions="" /> + + + @@ -1844,24 +1844,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1871,6 +1853,15 @@ PreprocessorDefinitions="" /> + + + @@ -1880,6 +1871,15 @@ PreprocessorDefinitions="" /> + + + @@ -1902,24 +1902,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1929,6 +1911,15 @@ PreprocessorDefinitions="" /> + + + @@ -1938,6 +1929,15 @@ PreprocessorDefinitions="" /> + + + @@ -1960,24 +1960,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -1987,6 +1969,15 @@ PreprocessorDefinitions="" /> + + + @@ -1996,6 +1987,15 @@ PreprocessorDefinitions="" /> + + + @@ -2018,24 +2018,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2045,6 +2027,15 @@ PreprocessorDefinitions="" /> + + + @@ -2054,6 +2045,15 @@ PreprocessorDefinitions="" /> + + + @@ -2076,24 +2076,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2103,6 +2085,15 @@ PreprocessorDefinitions="" /> + + + @@ -2112,6 +2103,15 @@ PreprocessorDefinitions="" /> + + + @@ -2134,24 +2134,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2161,6 +2143,15 @@ PreprocessorDefinitions="" /> + + + @@ -2170,6 +2161,15 @@ PreprocessorDefinitions="" /> + + + @@ -2193,26 +2193,6 @@ UsePrecompiledHeader="1" /> - - - - - - @@ -2223,6 +2203,16 @@ UsePrecompiledHeader="1" /> + + + @@ -2233,6 +2223,16 @@ UsePrecompiledHeader="1" /> + + + @@ -2256,24 +2256,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2283,6 +2265,15 @@ PreprocessorDefinitions="" /> + + + @@ -2292,6 +2283,15 @@ PreprocessorDefinitions="" /> + + + @@ -2314,24 +2314,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2341,6 +2323,15 @@ PreprocessorDefinitions="" /> + + + @@ -2350,6 +2341,15 @@ PreprocessorDefinitions="" /> + + + @@ -2372,24 +2372,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2399,6 +2381,15 @@ PreprocessorDefinitions="" /> + + + @@ -2408,6 +2399,15 @@ PreprocessorDefinitions="" /> + + + @@ -2430,24 +2430,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2457,6 +2439,15 @@ PreprocessorDefinitions="" /> + + + @@ -2466,6 +2457,15 @@ PreprocessorDefinitions="" /> + + + @@ -2488,24 +2488,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2515,6 +2497,15 @@ PreprocessorDefinitions="" /> + + + @@ -2524,6 +2515,15 @@ PreprocessorDefinitions="" /> + + + @@ -2546,24 +2546,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2573,6 +2555,15 @@ PreprocessorDefinitions="" /> + + + @@ -2582,6 +2573,15 @@ PreprocessorDefinitions="" /> + + + @@ -2604,24 +2604,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2631,6 +2613,15 @@ PreprocessorDefinitions="" /> + + + @@ -2640,6 +2631,15 @@ PreprocessorDefinitions="" /> + + + @@ -2662,24 +2662,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2689,6 +2671,15 @@ PreprocessorDefinitions="" /> + + + @@ -2698,6 +2689,15 @@ PreprocessorDefinitions="" /> + + + @@ -2720,24 +2720,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2747,6 +2729,15 @@ PreprocessorDefinitions="" /> + + + @@ -2756,6 +2747,15 @@ PreprocessorDefinitions="" /> + + + @@ -2778,24 +2778,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2805,6 +2787,15 @@ PreprocessorDefinitions="" /> + + + @@ -2814,6 +2805,15 @@ PreprocessorDefinitions="" /> + + + @@ -2836,24 +2836,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2863,6 +2845,15 @@ PreprocessorDefinitions="" /> + + + @@ -2872,6 +2863,15 @@ PreprocessorDefinitions="" /> + + + @@ -2894,24 +2894,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2921,6 +2903,15 @@ PreprocessorDefinitions="" /> + + + @@ -2930,6 +2921,15 @@ PreprocessorDefinitions="" /> + + + @@ -2952,24 +2952,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -2979,6 +2961,15 @@ PreprocessorDefinitions="" /> + + + @@ -2988,6 +2979,15 @@ PreprocessorDefinitions="" /> + + + @@ -3010,24 +3010,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3037,6 +3019,15 @@ PreprocessorDefinitions="" /> + + + @@ -3046,6 +3037,15 @@ PreprocessorDefinitions="" /> + + + @@ -3068,24 +3068,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3095,6 +3077,15 @@ PreprocessorDefinitions="" /> + + + @@ -3104,6 +3095,15 @@ PreprocessorDefinitions="" /> + + + @@ -3126,24 +3126,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3153,6 +3135,15 @@ PreprocessorDefinitions="" /> + + + @@ -3162,6 +3153,15 @@ PreprocessorDefinitions="" /> + + + @@ -3184,24 +3184,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3211,6 +3193,15 @@ PreprocessorDefinitions="" /> + + + @@ -3220,6 +3211,15 @@ PreprocessorDefinitions="" /> + + + @@ -3242,24 +3242,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3269,6 +3251,15 @@ PreprocessorDefinitions="" /> + + + @@ -3278,6 +3269,15 @@ PreprocessorDefinitions="" /> + + + @@ -3300,24 +3300,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3327,6 +3309,15 @@ PreprocessorDefinitions="" /> + + + @@ -3336,6 +3327,15 @@ PreprocessorDefinitions="" /> + + + @@ -3358,24 +3358,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3385,6 +3367,15 @@ PreprocessorDefinitions="" /> + + + @@ -3394,6 +3385,15 @@ PreprocessorDefinitions="" /> + + + @@ -3416,24 +3416,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3443,6 +3425,15 @@ PreprocessorDefinitions="" /> + + + @@ -3452,6 +3443,15 @@ PreprocessorDefinitions="" /> + + + @@ -3474,24 +3474,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3501,6 +3483,15 @@ PreprocessorDefinitions="" /> + + + @@ -3510,6 +3501,15 @@ PreprocessorDefinitions="" /> + + + @@ -3532,24 +3532,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3559,6 +3541,15 @@ PreprocessorDefinitions="" /> + + + @@ -3568,6 +3559,15 @@ PreprocessorDefinitions="" /> + + + @@ -3590,24 +3590,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3617,6 +3599,15 @@ PreprocessorDefinitions="" /> + + + @@ -3626,6 +3617,15 @@ PreprocessorDefinitions="" /> + + + @@ -3648,24 +3648,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3675,6 +3657,15 @@ PreprocessorDefinitions="" /> + + + @@ -3684,6 +3675,15 @@ PreprocessorDefinitions="" /> + + + @@ -3706,24 +3706,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3733,6 +3715,15 @@ PreprocessorDefinitions="" /> + + + @@ -3742,6 +3733,15 @@ PreprocessorDefinitions="" /> + + + @@ -3764,24 +3764,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3791,6 +3773,15 @@ PreprocessorDefinitions="" /> + + + @@ -3800,6 +3791,15 @@ PreprocessorDefinitions="" /> + + + @@ -3822,24 +3822,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3849,6 +3831,15 @@ PreprocessorDefinitions="" /> + + + @@ -3858,6 +3849,15 @@ PreprocessorDefinitions="" /> + + + @@ -3880,24 +3880,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3907,6 +3889,15 @@ PreprocessorDefinitions="" /> + + + @@ -3916,6 +3907,15 @@ PreprocessorDefinitions="" /> + + + @@ -3938,24 +3938,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -3965,6 +3947,15 @@ PreprocessorDefinitions="" /> + + + @@ -3974,6 +3965,15 @@ PreprocessorDefinitions="" /> + + + @@ -3996,24 +3996,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4023,6 +4005,15 @@ PreprocessorDefinitions="" /> + + + @@ -4032,6 +4023,15 @@ PreprocessorDefinitions="" /> + + + @@ -4054,24 +4054,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4081,6 +4063,15 @@ PreprocessorDefinitions="" /> + + + @@ -4090,6 +4081,15 @@ PreprocessorDefinitions="" /> + + + @@ -4112,24 +4112,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4139,6 +4121,15 @@ PreprocessorDefinitions="" /> + + + @@ -4148,6 +4139,15 @@ PreprocessorDefinitions="" /> + + + @@ -4170,24 +4170,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4197,6 +4179,15 @@ PreprocessorDefinitions="" /> + + + @@ -4206,6 +4197,15 @@ PreprocessorDefinitions="" /> + + + @@ -4228,24 +4228,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4255,6 +4237,15 @@ PreprocessorDefinitions="" /> + + + @@ -4264,6 +4255,15 @@ PreprocessorDefinitions="" /> + + + @@ -4286,24 +4286,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4313,6 +4295,15 @@ PreprocessorDefinitions="" /> + + + @@ -4322,6 +4313,15 @@ PreprocessorDefinitions="" /> + + + @@ -4344,24 +4344,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4371,6 +4353,15 @@ PreprocessorDefinitions="" /> + + + @@ -4380,6 +4371,15 @@ PreprocessorDefinitions="" /> + + + @@ -4402,24 +4402,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4429,6 +4411,15 @@ PreprocessorDefinitions="" /> + + + @@ -4438,6 +4429,15 @@ PreprocessorDefinitions="" /> + + + @@ -4460,24 +4460,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4487,6 +4469,15 @@ PreprocessorDefinitions="" /> + + + @@ -4496,6 +4487,15 @@ PreprocessorDefinitions="" /> + + + @@ -4518,24 +4518,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4545,6 +4527,15 @@ PreprocessorDefinitions="" /> + + + @@ -4554,6 +4545,15 @@ PreprocessorDefinitions="" /> + + + @@ -4576,24 +4576,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4603,6 +4585,15 @@ PreprocessorDefinitions="" /> + + + @@ -4612,6 +4603,15 @@ PreprocessorDefinitions="" /> + + + @@ -4634,24 +4634,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4661,6 +4643,15 @@ PreprocessorDefinitions="" /> + + + @@ -4670,6 +4661,15 @@ PreprocessorDefinitions="" /> + + + @@ -4692,24 +4692,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4719,6 +4701,15 @@ PreprocessorDefinitions="" /> + + + @@ -4728,6 +4719,15 @@ PreprocessorDefinitions="" /> + + + @@ -4750,24 +4750,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4777,6 +4759,15 @@ PreprocessorDefinitions="" /> + + + @@ -4786,6 +4777,15 @@ PreprocessorDefinitions="" /> + + + @@ -4808,24 +4808,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4835,6 +4817,15 @@ PreprocessorDefinitions="" /> + + + @@ -4844,6 +4835,15 @@ PreprocessorDefinitions="" /> + + + @@ -4866,24 +4866,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4893,6 +4875,15 @@ PreprocessorDefinitions="" /> + + + @@ -4902,6 +4893,15 @@ PreprocessorDefinitions="" /> + + + @@ -4924,24 +4924,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -4951,6 +4933,15 @@ PreprocessorDefinitions="" /> + + + @@ -4960,6 +4951,15 @@ PreprocessorDefinitions="" /> + + + @@ -4982,24 +4982,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5009,6 +4991,15 @@ PreprocessorDefinitions="" /> + + + @@ -5018,6 +5009,15 @@ PreprocessorDefinitions="" /> + + + @@ -5040,24 +5040,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5067,6 +5049,15 @@ PreprocessorDefinitions="" /> + + + @@ -5076,6 +5067,15 @@ PreprocessorDefinitions="" /> + + + @@ -5098,24 +5098,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5125,6 +5107,15 @@ PreprocessorDefinitions="" /> + + + @@ -5134,6 +5125,15 @@ PreprocessorDefinitions="" /> + + + @@ -5156,24 +5156,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5183,6 +5165,15 @@ PreprocessorDefinitions="" /> + + + @@ -5192,6 +5183,15 @@ PreprocessorDefinitions="" /> + + + @@ -5214,24 +5214,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5241,6 +5223,15 @@ PreprocessorDefinitions="" /> + + + @@ -5250,6 +5241,15 @@ PreprocessorDefinitions="" /> + + + @@ -5272,24 +5272,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5299,6 +5281,15 @@ PreprocessorDefinitions="" /> + + + @@ -5308,6 +5299,15 @@ PreprocessorDefinitions="" /> + + + @@ -5330,24 +5330,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5357,6 +5339,15 @@ PreprocessorDefinitions="" /> + + + @@ -5366,6 +5357,15 @@ PreprocessorDefinitions="" /> + + + @@ -5388,24 +5388,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5415,6 +5397,15 @@ PreprocessorDefinitions="" /> + + + @@ -5424,6 +5415,15 @@ PreprocessorDefinitions="" /> + + + @@ -5446,24 +5446,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5473,6 +5455,15 @@ PreprocessorDefinitions="" /> + + + @@ -5482,6 +5473,15 @@ PreprocessorDefinitions="" /> + + + @@ -5504,24 +5504,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5531,6 +5513,15 @@ PreprocessorDefinitions="" /> + + + @@ -5540,6 +5531,15 @@ PreprocessorDefinitions="" /> + + + @@ -5562,24 +5562,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5589,6 +5571,15 @@ PreprocessorDefinitions="" /> + + + @@ -5598,6 +5589,15 @@ PreprocessorDefinitions="" /> + + + @@ -5620,24 +5620,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5647,6 +5629,15 @@ PreprocessorDefinitions="" /> + + + @@ -5656,6 +5647,15 @@ PreprocessorDefinitions="" /> + + + @@ -5678,24 +5678,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5705,6 +5687,15 @@ PreprocessorDefinitions="" /> + + + @@ -5714,6 +5705,15 @@ PreprocessorDefinitions="" /> + + + @@ -5736,24 +5736,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5763,6 +5745,15 @@ PreprocessorDefinitions="" /> + + + @@ -5772,6 +5763,15 @@ PreprocessorDefinitions="" /> + + + @@ -5794,24 +5794,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5821,6 +5803,15 @@ PreprocessorDefinitions="" /> + + + @@ -5830,6 +5821,15 @@ PreprocessorDefinitions="" /> + + + @@ -5852,24 +5852,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5879,6 +5861,15 @@ PreprocessorDefinitions="" /> + + + @@ -5888,6 +5879,15 @@ PreprocessorDefinitions="" /> + + + @@ -5910,24 +5910,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5937,6 +5919,15 @@ PreprocessorDefinitions="" /> + + + @@ -5946,6 +5937,15 @@ PreprocessorDefinitions="" /> + + + @@ -5968,24 +5968,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -5995,6 +5977,15 @@ PreprocessorDefinitions="" /> + + + @@ -6004,6 +5995,15 @@ PreprocessorDefinitions="" /> + + + @@ -6034,24 +6034,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6061,6 +6043,15 @@ PreprocessorDefinitions="" /> + + + @@ -6070,6 +6061,15 @@ PreprocessorDefinitions="" /> + + + @@ -6092,24 +6092,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6119,6 +6101,15 @@ PreprocessorDefinitions="" /> + + + @@ -6128,6 +6119,15 @@ PreprocessorDefinitions="" /> + + + @@ -6150,24 +6150,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6177,6 +6159,15 @@ PreprocessorDefinitions="" /> + + + @@ -6186,6 +6177,15 @@ PreprocessorDefinitions="" /> + + + @@ -6208,24 +6208,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6235,6 +6217,15 @@ PreprocessorDefinitions="" /> + + + @@ -6244,6 +6235,15 @@ PreprocessorDefinitions="" /> + + + @@ -6266,24 +6266,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6293,6 +6275,15 @@ PreprocessorDefinitions="" /> + + + @@ -6302,6 +6293,15 @@ PreprocessorDefinitions="" /> + + + @@ -6324,24 +6324,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6351,6 +6333,15 @@ PreprocessorDefinitions="" /> + + + @@ -6360,6 +6351,15 @@ PreprocessorDefinitions="" /> + + + @@ -6382,24 +6382,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6409,6 +6391,15 @@ PreprocessorDefinitions="" /> + + + @@ -6418,6 +6409,15 @@ PreprocessorDefinitions="" /> + + + @@ -6440,24 +6440,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6467,6 +6449,15 @@ PreprocessorDefinitions="" /> + + + @@ -6476,6 +6467,15 @@ PreprocessorDefinitions="" /> + + + @@ -6498,24 +6498,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6525,6 +6507,15 @@ PreprocessorDefinitions="" /> + + + @@ -6534,6 +6525,15 @@ PreprocessorDefinitions="" /> + + + @@ -6556,24 +6556,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6583,6 +6565,15 @@ PreprocessorDefinitions="" /> + + + @@ -6592,6 +6583,15 @@ PreprocessorDefinitions="" /> + + + @@ -6614,24 +6614,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6641,6 +6623,15 @@ PreprocessorDefinitions="" /> + + + @@ -6650,6 +6641,15 @@ PreprocessorDefinitions="" /> + + + @@ -6672,24 +6672,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6699,6 +6681,15 @@ PreprocessorDefinitions="" /> + + + @@ -6708,6 +6699,15 @@ PreprocessorDefinitions="" /> + + + @@ -6730,24 +6730,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6757,6 +6739,15 @@ PreprocessorDefinitions="" /> + + + @@ -6766,6 +6757,15 @@ PreprocessorDefinitions="" /> + + + @@ -6788,24 +6788,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6815,6 +6797,15 @@ PreprocessorDefinitions="" /> + + + @@ -6824,6 +6815,15 @@ PreprocessorDefinitions="" /> + + + @@ -6846,24 +6846,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6873,6 +6855,15 @@ PreprocessorDefinitions="" /> + + + @@ -6882,6 +6873,15 @@ PreprocessorDefinitions="" /> + + + @@ -6904,24 +6904,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6931,6 +6913,15 @@ PreprocessorDefinitions="" /> + + + @@ -6940,6 +6931,15 @@ PreprocessorDefinitions="" /> + + + @@ -6962,24 +6962,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6989,6 +6971,15 @@ PreprocessorDefinitions="" /> + + + @@ -6998,6 +6989,15 @@ PreprocessorDefinitions="" /> + + + @@ -7020,24 +7020,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7047,6 +7029,15 @@ PreprocessorDefinitions="" /> + + + @@ -7056,6 +7047,15 @@ PreprocessorDefinitions="" /> + + + @@ -7078,24 +7078,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7105,6 +7087,15 @@ PreprocessorDefinitions="" /> + + + @@ -7114,6 +7105,15 @@ PreprocessorDefinitions="" /> + + + @@ -7136,24 +7136,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7163,6 +7145,15 @@ PreprocessorDefinitions="" /> + + + @@ -7172,6 +7163,15 @@ PreprocessorDefinitions="" /> + + + @@ -7194,24 +7194,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7221,6 +7203,15 @@ PreprocessorDefinitions="" /> + + + @@ -7230,6 +7221,15 @@ PreprocessorDefinitions="" /> + + + @@ -7252,24 +7252,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7279,6 +7261,15 @@ PreprocessorDefinitions="" /> + + + @@ -7288,6 +7279,15 @@ PreprocessorDefinitions="" /> + + + @@ -7310,24 +7310,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7337,6 +7319,15 @@ PreprocessorDefinitions="" /> + + + @@ -7346,6 +7337,15 @@ PreprocessorDefinitions="" /> + + + @@ -7368,24 +7368,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7395,6 +7377,15 @@ PreprocessorDefinitions="" /> + + + @@ -7404,6 +7395,15 @@ PreprocessorDefinitions="" /> + + + @@ -7426,24 +7426,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7453,6 +7435,15 @@ PreprocessorDefinitions="" /> + + + @@ -7462,6 +7453,15 @@ PreprocessorDefinitions="" /> + + + @@ -7484,24 +7484,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7511,6 +7493,15 @@ PreprocessorDefinitions="" /> + + + @@ -7520,6 +7511,15 @@ PreprocessorDefinitions="" /> + + + @@ -7542,24 +7542,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7569,6 +7551,15 @@ PreprocessorDefinitions="" /> + + + @@ -7578,6 +7569,15 @@ PreprocessorDefinitions="" /> + + + @@ -7600,24 +7600,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7627,6 +7609,15 @@ PreprocessorDefinitions="" /> + + + @@ -7636,6 +7627,15 @@ PreprocessorDefinitions="" /> + + + @@ -7658,24 +7658,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7685,6 +7667,15 @@ PreprocessorDefinitions="" /> + + + @@ -7694,6 +7685,15 @@ PreprocessorDefinitions="" /> + + + @@ -7716,24 +7716,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7743,6 +7725,15 @@ PreprocessorDefinitions="" /> + + + @@ -7752,6 +7743,15 @@ PreprocessorDefinitions="" /> + + + @@ -7774,24 +7774,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7801,6 +7783,15 @@ PreprocessorDefinitions="" /> + + + @@ -7810,6 +7801,15 @@ PreprocessorDefinitions="" /> + + + @@ -7832,24 +7832,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7859,6 +7841,15 @@ PreprocessorDefinitions="" /> + + + @@ -7868,6 +7859,15 @@ PreprocessorDefinitions="" /> + + + @@ -7890,24 +7890,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7917,6 +7899,15 @@ PreprocessorDefinitions="" /> + + + @@ -7926,6 +7917,15 @@ PreprocessorDefinitions="" /> + + + @@ -7948,24 +7948,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7975,6 +7957,15 @@ PreprocessorDefinitions="" /> + + + @@ -7984,6 +7975,15 @@ PreprocessorDefinitions="" /> + + + @@ -8006,24 +8006,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8033,6 +8015,15 @@ PreprocessorDefinitions="" /> + + + @@ -8042,6 +8033,15 @@ PreprocessorDefinitions="" /> + + + @@ -8064,24 +8064,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8091,6 +8073,15 @@ PreprocessorDefinitions="" /> + + + @@ -8100,6 +8091,15 @@ PreprocessorDefinitions="" /> + + + @@ -8122,24 +8122,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8149,6 +8131,15 @@ PreprocessorDefinitions="" /> + + + @@ -8158,6 +8149,15 @@ PreprocessorDefinitions="" /> + + + @@ -8180,24 +8180,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8207,6 +8189,15 @@ PreprocessorDefinitions="" /> + + + @@ -8216,6 +8207,15 @@ PreprocessorDefinitions="" /> + + + @@ -8238,24 +8238,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8265,6 +8247,15 @@ PreprocessorDefinitions="" /> + + + @@ -8274,6 +8265,15 @@ PreprocessorDefinitions="" /> + + + @@ -8296,24 +8296,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8323,6 +8305,15 @@ PreprocessorDefinitions="" /> + + + @@ -8332,6 +8323,15 @@ PreprocessorDefinitions="" /> + + + @@ -8354,24 +8354,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8381,6 +8363,15 @@ PreprocessorDefinitions="" /> + + + @@ -8390,6 +8381,15 @@ PreprocessorDefinitions="" /> + + + @@ -8412,24 +8412,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8439,6 +8421,15 @@ PreprocessorDefinitions="" /> + + + @@ -8448,6 +8439,15 @@ PreprocessorDefinitions="" /> + + + @@ -8470,24 +8470,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8497,6 +8479,15 @@ PreprocessorDefinitions="" /> + + + @@ -8506,6 +8497,15 @@ PreprocessorDefinitions="" /> + + + @@ -8528,24 +8528,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8555,6 +8537,15 @@ PreprocessorDefinitions="" /> + + + @@ -8564,6 +8555,15 @@ PreprocessorDefinitions="" /> + + + @@ -8586,24 +8586,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8613,6 +8595,15 @@ PreprocessorDefinitions="" /> + + + @@ -8622,6 +8613,15 @@ PreprocessorDefinitions="" /> + + + @@ -8644,24 +8644,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8671,6 +8653,15 @@ PreprocessorDefinitions="" /> + + + @@ -8680,6 +8671,15 @@ PreprocessorDefinitions="" /> + + + @@ -8702,24 +8702,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8729,6 +8711,15 @@ PreprocessorDefinitions="" /> + + + @@ -8738,6 +8729,15 @@ PreprocessorDefinitions="" /> + + + @@ -8760,24 +8760,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8787,6 +8769,15 @@ PreprocessorDefinitions="" /> + + + @@ -8796,6 +8787,15 @@ PreprocessorDefinitions="" /> + + + @@ -8818,24 +8818,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8845,6 +8827,15 @@ PreprocessorDefinitions="" /> + + + @@ -8854,6 +8845,15 @@ PreprocessorDefinitions="" /> + + + @@ -8876,24 +8876,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8903,6 +8885,15 @@ PreprocessorDefinitions="" /> + + + @@ -8912,6 +8903,15 @@ PreprocessorDefinitions="" /> + + + @@ -8934,24 +8934,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8961,6 +8943,15 @@ PreprocessorDefinitions="" /> + + + @@ -8970,6 +8961,15 @@ PreprocessorDefinitions="" /> + + + @@ -8992,24 +8992,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9019,6 +9001,15 @@ PreprocessorDefinitions="" /> + + + @@ -9028,6 +9019,15 @@ PreprocessorDefinitions="" /> + + + @@ -9050,24 +9050,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9077,6 +9059,15 @@ PreprocessorDefinitions="" /> + + + @@ -9086,6 +9077,15 @@ PreprocessorDefinitions="" /> + + + @@ -9108,24 +9108,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9135,6 +9117,15 @@ PreprocessorDefinitions="" /> + + + @@ -9144,6 +9135,15 @@ PreprocessorDefinitions="" /> + + + @@ -9166,24 +9166,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9193,6 +9175,15 @@ PreprocessorDefinitions="" /> + + + @@ -9202,6 +9193,15 @@ PreprocessorDefinitions="" /> + + + @@ -9224,24 +9224,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9251,6 +9233,15 @@ PreprocessorDefinitions="" /> + + + @@ -9260,6 +9251,15 @@ PreprocessorDefinitions="" /> + + + @@ -9282,24 +9282,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9309,6 +9291,15 @@ PreprocessorDefinitions="" /> + + + @@ -9318,6 +9309,15 @@ PreprocessorDefinitions="" /> + + + @@ -9340,24 +9340,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9367,6 +9349,15 @@ PreprocessorDefinitions="" /> + + + @@ -9376,6 +9367,15 @@ PreprocessorDefinitions="" /> + + + @@ -9398,24 +9398,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9425,6 +9407,15 @@ PreprocessorDefinitions="" /> + + + @@ -9434,6 +9425,15 @@ PreprocessorDefinitions="" /> + + + @@ -9456,24 +9456,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9483,6 +9465,15 @@ PreprocessorDefinitions="" /> + + + @@ -9492,6 +9483,15 @@ PreprocessorDefinitions="" /> + + + @@ -9514,24 +9514,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9541,6 +9523,15 @@ PreprocessorDefinitions="" /> + + + @@ -9550,6 +9541,15 @@ PreprocessorDefinitions="" /> + + + @@ -9572,24 +9572,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9599,6 +9581,15 @@ PreprocessorDefinitions="" /> + + + @@ -9608,6 +9599,15 @@ PreprocessorDefinitions="" /> + + + @@ -9630,24 +9630,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9657,6 +9639,15 @@ PreprocessorDefinitions="" /> + + + @@ -9666,6 +9657,15 @@ PreprocessorDefinitions="" /> + + + @@ -9688,24 +9688,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9715,6 +9697,15 @@ PreprocessorDefinitions="" /> + + + @@ -9724,6 +9715,15 @@ PreprocessorDefinitions="" /> + + + @@ -9746,24 +9746,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9773,6 +9755,15 @@ PreprocessorDefinitions="" /> + + + @@ -9782,6 +9773,15 @@ PreprocessorDefinitions="" /> + + + @@ -9804,24 +9804,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9831,6 +9813,15 @@ PreprocessorDefinitions="" /> + + + @@ -9840,6 +9831,15 @@ PreprocessorDefinitions="" /> + + + @@ -9862,24 +9862,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9889,6 +9871,15 @@ PreprocessorDefinitions="" /> + + + @@ -9898,6 +9889,15 @@ PreprocessorDefinitions="" /> + + + @@ -9920,24 +9920,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9947,6 +9929,15 @@ PreprocessorDefinitions="" /> + + + @@ -9956,6 +9947,15 @@ PreprocessorDefinitions="" /> + + + @@ -9978,24 +9978,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10005,6 +9987,15 @@ PreprocessorDefinitions="" /> + + + @@ -10014,6 +10005,15 @@ PreprocessorDefinitions="" /> + + + @@ -10036,24 +10036,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10063,6 +10045,15 @@ PreprocessorDefinitions="" /> + + + @@ -10072,6 +10063,15 @@ PreprocessorDefinitions="" /> + + + @@ -10094,24 +10094,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10121,6 +10103,15 @@ PreprocessorDefinitions="" /> + + + @@ -10130,6 +10121,15 @@ PreprocessorDefinitions="" /> + + + @@ -10152,24 +10152,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10179,6 +10161,15 @@ PreprocessorDefinitions="" /> + + + @@ -10188,6 +10179,15 @@ PreprocessorDefinitions="" /> + + + @@ -10210,24 +10210,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10237,6 +10219,15 @@ PreprocessorDefinitions="" /> + + + @@ -10246,6 +10237,15 @@ PreprocessorDefinitions="" /> + + + @@ -10268,24 +10268,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10295,6 +10277,15 @@ PreprocessorDefinitions="" /> + + + @@ -10304,6 +10295,15 @@ PreprocessorDefinitions="" /> + + + @@ -10326,24 +10326,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10353,6 +10335,15 @@ PreprocessorDefinitions="" /> + + + @@ -10362,6 +10353,15 @@ PreprocessorDefinitions="" /> + + + @@ -10384,24 +10384,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10411,6 +10393,15 @@ PreprocessorDefinitions="" /> + + + @@ -10420,6 +10411,15 @@ PreprocessorDefinitions="" /> + + + @@ -10442,24 +10442,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10469,6 +10451,15 @@ PreprocessorDefinitions="" /> + + + @@ -10478,6 +10469,15 @@ PreprocessorDefinitions="" /> + + + @@ -10500,24 +10500,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10527,6 +10509,15 @@ PreprocessorDefinitions="" /> + + + @@ -10536,6 +10527,15 @@ PreprocessorDefinitions="" /> + + + @@ -10558,24 +10558,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10585,6 +10567,15 @@ PreprocessorDefinitions="" /> + + + @@ -10594,6 +10585,15 @@ PreprocessorDefinitions="" /> + + + @@ -10616,24 +10616,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10643,6 +10625,15 @@ PreprocessorDefinitions="" /> + + + @@ -10652,6 +10643,15 @@ PreprocessorDefinitions="" /> + + + @@ -10674,24 +10674,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10701,6 +10683,15 @@ PreprocessorDefinitions="" /> + + + @@ -10710,6 +10701,15 @@ PreprocessorDefinitions="" /> + + + @@ -10732,24 +10732,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10759,6 +10741,15 @@ PreprocessorDefinitions="" /> + + + @@ -10768,6 +10759,15 @@ PreprocessorDefinitions="" /> + + + @@ -10790,24 +10790,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10817,6 +10799,15 @@ PreprocessorDefinitions="" /> + + + @@ -10826,6 +10817,15 @@ PreprocessorDefinitions="" /> + + + @@ -10848,24 +10848,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10875,6 +10857,15 @@ PreprocessorDefinitions="" /> + + + @@ -10884,6 +10875,15 @@ PreprocessorDefinitions="" /> + + + @@ -10906,24 +10906,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10933,6 +10915,15 @@ PreprocessorDefinitions="" /> + + + @@ -10942,6 +10933,15 @@ PreprocessorDefinitions="" /> + + + @@ -10964,24 +10964,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10991,6 +10973,15 @@ PreprocessorDefinitions="" /> + + + @@ -11000,6 +10991,15 @@ PreprocessorDefinitions="" /> + + + @@ -11022,24 +11022,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -11049,6 +11031,15 @@ PreprocessorDefinitions="" /> + + + @@ -11058,6 +11049,15 @@ PreprocessorDefinitions="" /> + + + @@ -11080,24 +11080,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -11107,6 +11089,15 @@ PreprocessorDefinitions="" /> + + + @@ -11116,6 +11107,15 @@ PreprocessorDefinitions="" /> + + + @@ -11138,24 +11138,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -11165,6 +11147,15 @@ PreprocessorDefinitions="" /> + + + @@ -11174,6 +11165,15 @@ PreprocessorDefinitions="" /> + + + @@ -11196,24 +11196,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -11223,6 +11205,15 @@ PreprocessorDefinitions="" /> + + + @@ -11232,6 +11223,15 @@ PreprocessorDefinitions="" /> + + + @@ -11254,24 +11254,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -11281,6 +11263,15 @@ PreprocessorDefinitions="" /> + + + @@ -11290,6 +11281,15 @@ PreprocessorDefinitions="" /> + + + @@ -11312,24 +11312,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -11339,6 +11321,15 @@ PreprocessorDefinitions="" /> + + + @@ -11348,6 +11339,15 @@ PreprocessorDefinitions="" /> + + + @@ -11370,24 +11370,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -11397,6 +11379,15 @@ PreprocessorDefinitions="" /> + + + @@ -11406,6 +11397,15 @@ PreprocessorDefinitions="" /> + + + @@ -11428,24 +11428,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -11455,6 +11437,15 @@ PreprocessorDefinitions="" /> + + + @@ -11464,6 +11455,15 @@ PreprocessorDefinitions="" /> + + + @@ -11486,24 +11486,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -11513,6 +11495,15 @@ PreprocessorDefinitions="" /> + + + @@ -11522,6 +11513,15 @@ PreprocessorDefinitions="" /> + + + @@ -11544,24 +11544,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -11571,6 +11553,15 @@ PreprocessorDefinitions="" /> + + + @@ -11580,6 +11571,15 @@ PreprocessorDefinitions="" /> + + + @@ -11602,24 +11602,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -11629,6 +11611,15 @@ PreprocessorDefinitions="" /> + + + @@ -11638,6 +11629,15 @@ PreprocessorDefinitions="" /> + + + @@ -11660,24 +11660,6 @@ AdditionalIncludeDirectories="\Development\GameCube\Dolphin\trunk\Externals\wxWidgets\src\msw" /> - - - - - - + + + + + + - - - - - - @@ -11745,6 +11727,15 @@ PreprocessorDefinitions="" /> + + + @@ -11754,6 +11745,15 @@ PreprocessorDefinitions="" /> + + + @@ -11776,24 +11776,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -11803,6 +11785,15 @@ PreprocessorDefinitions="" /> + + + @@ -11812,6 +11803,15 @@ PreprocessorDefinitions="" /> + + + @@ -11843,26 +11843,6 @@ PreprocessorDefinitions="" /> - - - - - - + + + + + + - - - - - - @@ -11933,6 +11915,15 @@ PreprocessorDefinitions="" /> + + + @@ -11942,6 +11933,15 @@ PreprocessorDefinitions="" /> + + + @@ -11964,24 +11964,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -11991,6 +11973,15 @@ PreprocessorDefinitions="" /> + + + @@ -12000,6 +11991,15 @@ PreprocessorDefinitions="" /> + + + @@ -12022,24 +12022,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -12049,6 +12031,15 @@ PreprocessorDefinitions="" /> + + + @@ -12058,6 +12049,15 @@ PreprocessorDefinitions="" /> + + + @@ -12080,24 +12080,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -12107,6 +12089,15 @@ PreprocessorDefinitions="" /> + + + @@ -12116,6 +12107,15 @@ PreprocessorDefinitions="" /> + + + @@ -12138,24 +12138,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -12165,6 +12147,15 @@ PreprocessorDefinitions="" /> + + + @@ -12174,6 +12165,15 @@ PreprocessorDefinitions="" /> + + + @@ -12196,24 +12196,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -12223,6 +12205,15 @@ PreprocessorDefinitions="" /> + + + @@ -12232,6 +12223,15 @@ PreprocessorDefinitions="" /> + + + @@ -12255,26 +12255,6 @@ PreprocessorDefinitions="" /> - - - - - - + + + + + + - - - - - - @@ -12345,6 +12327,15 @@ PreprocessorDefinitions="" /> + + + @@ -12354,6 +12345,15 @@ PreprocessorDefinitions="" /> + + + @@ -12376,24 +12376,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -12403,6 +12385,15 @@ PreprocessorDefinitions="" /> + + + @@ -12412,6 +12403,15 @@ PreprocessorDefinitions="" /> + + + @@ -12434,24 +12434,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -12461,6 +12443,15 @@ PreprocessorDefinitions="" /> + + + @@ -12470,6 +12461,15 @@ PreprocessorDefinitions="" /> + + + @@ -12493,26 +12493,6 @@ PreprocessorDefinitions="" /> - - - - - - + + + + + + - - - - - - @@ -12583,6 +12565,15 @@ PreprocessorDefinitions="" /> + + + @@ -12592,6 +12583,15 @@ PreprocessorDefinitions="" /> + + + @@ -12615,26 +12615,6 @@ PreprocessorDefinitions="" /> - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - @@ -12769,6 +12751,15 @@ PreprocessorDefinitions="" /> + + + @@ -12778,6 +12769,15 @@ PreprocessorDefinitions="" /> + + + @@ -12801,26 +12801,6 @@ PreprocessorDefinitions="" /> - - - - - - + + + + + + - - - - - - @@ -12891,6 +12873,15 @@ PreprocessorDefinitions="" /> + + + @@ -12900,6 +12891,15 @@ PreprocessorDefinitions="" /> + + + @@ -12926,24 +12926,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -12953,6 +12935,15 @@ PreprocessorDefinitions="" /> + + + @@ -12962,6 +12953,15 @@ PreprocessorDefinitions="" /> + + + @@ -12985,26 +12985,6 @@ PreprocessorDefinitions="" /> - - - - - - + + + + + + - - - - - - @@ -13075,6 +13057,15 @@ PreprocessorDefinitions="" /> + + + @@ -13084,6 +13075,15 @@ PreprocessorDefinitions="" /> + + + @@ -13107,26 +13107,6 @@ PreprocessorDefinitions="" /> - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - @@ -13261,6 +13243,15 @@ PreprocessorDefinitions="" /> + + + @@ -13270,6 +13261,15 @@ PreprocessorDefinitions="" /> + + + @@ -13292,24 +13292,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -13319,6 +13301,15 @@ PreprocessorDefinitions="" /> + + + @@ -13328,6 +13319,15 @@ PreprocessorDefinitions="" /> + + + @@ -13350,24 +13350,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -13377,6 +13359,15 @@ PreprocessorDefinitions="" /> + + + @@ -13386,6 +13377,15 @@ PreprocessorDefinitions="" /> + + + @@ -13408,24 +13408,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -13435,6 +13417,15 @@ PreprocessorDefinitions="" /> + + + @@ -13444,6 +13435,15 @@ PreprocessorDefinitions="" /> + + + @@ -13466,24 +13466,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -13493,6 +13475,15 @@ PreprocessorDefinitions="" /> + + + @@ -13502,6 +13493,15 @@ PreprocessorDefinitions="" /> + + + @@ -13524,24 +13524,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -13551,6 +13533,15 @@ PreprocessorDefinitions="" /> + + + @@ -13560,6 +13551,15 @@ PreprocessorDefinitions="" /> + + + @@ -13582,24 +13582,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -13609,6 +13591,15 @@ PreprocessorDefinitions="" /> + + + @@ -13618,6 +13609,15 @@ PreprocessorDefinitions="" /> + + + @@ -13640,24 +13640,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -13667,6 +13649,15 @@ PreprocessorDefinitions="" /> + + + @@ -13676,6 +13667,15 @@ PreprocessorDefinitions="" /> + + + @@ -13698,24 +13698,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -13725,6 +13707,15 @@ PreprocessorDefinitions="" /> + + + @@ -13734,6 +13725,15 @@ PreprocessorDefinitions="" /> + + + @@ -13756,24 +13756,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -13783,6 +13765,15 @@ PreprocessorDefinitions="" /> + + + @@ -13792,6 +13783,15 @@ PreprocessorDefinitions="" /> + + + @@ -13814,24 +13814,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -13841,6 +13823,15 @@ PreprocessorDefinitions="" /> + + + @@ -13850,6 +13841,15 @@ PreprocessorDefinitions="" /> + + + @@ -13872,24 +13872,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -13899,6 +13881,15 @@ PreprocessorDefinitions="" /> + + + @@ -13908,6 +13899,15 @@ PreprocessorDefinitions="" /> + + + @@ -13931,26 +13931,6 @@ PreprocessorDefinitions="" /> - - - - - - + + + + + + - - - - - - @@ -14021,6 +14003,15 @@ PreprocessorDefinitions="" /> + + + @@ -14030,6 +14021,15 @@ PreprocessorDefinitions="" /> + + + @@ -14052,24 +14052,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -14079,6 +14061,15 @@ PreprocessorDefinitions="" /> + + + @@ -14088,6 +14079,15 @@ PreprocessorDefinitions="" /> + + + @@ -14110,24 +14110,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -14137,6 +14119,15 @@ PreprocessorDefinitions="" /> + + + @@ -14146,6 +14137,15 @@ PreprocessorDefinitions="" /> + + + @@ -14168,24 +14168,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -14195,6 +14177,15 @@ PreprocessorDefinitions="" /> + + + @@ -14204,6 +14195,15 @@ PreprocessorDefinitions="" /> + + + @@ -14226,24 +14226,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -14253,6 +14235,15 @@ PreprocessorDefinitions="" /> + + + @@ -14262,6 +14253,15 @@ PreprocessorDefinitions="" /> + + + @@ -14284,24 +14284,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -14311,6 +14293,15 @@ PreprocessorDefinitions="" /> + + + @@ -14320,6 +14311,15 @@ PreprocessorDefinitions="" /> + + + @@ -14342,24 +14342,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -14369,6 +14351,15 @@ PreprocessorDefinitions="" /> + + + @@ -14378,6 +14369,15 @@ PreprocessorDefinitions="" /> + + + @@ -14405,26 +14405,6 @@ PreprocessorDefinitions="" /> - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + + + @@ -16969,6 +16973,16 @@ Outputs="..\..\lib\vc_lib\mswd\wx\setup.h" /> + + + @@ -16980,7 +16994,7 @@ /> - - - - - - - - - - - @@ -17247,6 +17227,16 @@ Outputs="..\..\lib\vc_lib\mswd\wx\msw\rcdefs.h" /> + + + @@ -17257,6 +17247,16 @@ Outputs="..\..\lib\vc_lib\msw\wx\msw\rcdefs.h" /> + + + @@ -18977,26 +18977,6 @@ PrecompiledHeaderFile="" /> - - - - - - @@ -19007,6 +18987,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19017,6 +19007,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19053,26 +19053,6 @@ PrecompiledHeaderFile="" /> - - - - - - @@ -19083,6 +19063,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19093,6 +19083,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19117,26 +19117,6 @@ PrecompiledHeaderFile="" /> - - - - - - @@ -19147,6 +19127,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19157,6 +19147,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19181,26 +19181,6 @@ PrecompiledHeaderFile="" /> - - - - - - @@ -19211,6 +19191,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19221,6 +19211,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19245,26 +19245,6 @@ PrecompiledHeaderFile="" /> - - - - - - @@ -19275,6 +19255,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19285,6 +19275,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19309,26 +19309,6 @@ PrecompiledHeaderFile="" /> - - - - - - @@ -19339,6 +19319,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19349,6 +19339,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19373,26 +19373,6 @@ PrecompiledHeaderFile="" /> - - - - - - @@ -19403,6 +19383,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19413,6 +19403,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19437,26 +19437,6 @@ PrecompiledHeaderFile="" /> - - - - - - @@ -19467,6 +19447,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19477,6 +19467,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19501,26 +19501,6 @@ PrecompiledHeaderFile="" /> - - - - - - @@ -19531,6 +19511,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19541,6 +19531,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19565,26 +19565,6 @@ PrecompiledHeaderFile="" /> - - - - - - @@ -19595,6 +19575,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19605,6 +19595,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19629,26 +19629,6 @@ PrecompiledHeaderFile="" /> - - - - - - @@ -19659,6 +19639,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19669,6 +19659,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19693,26 +19693,6 @@ PrecompiledHeaderFile="" /> - - - - - - @@ -19723,6 +19703,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19733,6 +19723,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19757,26 +19757,6 @@ PrecompiledHeaderFile="" /> - - - - - - @@ -19787,6 +19767,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19797,6 +19787,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19821,26 +19821,6 @@ PrecompiledHeaderFile="" /> - - - - - - @@ -19851,6 +19831,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19861,6 +19851,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19885,26 +19885,6 @@ PrecompiledHeaderFile="" /> - - - - - - @@ -19915,6 +19895,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19925,6 +19915,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19949,26 +19949,6 @@ PrecompiledHeaderFile="" /> - - - - - - @@ -19979,6 +19959,16 @@ PrecompiledHeaderFile="" /> + + + @@ -19989,6 +19979,16 @@ PrecompiledHeaderFile="" /> + + + @@ -20013,26 +20013,6 @@ PrecompiledHeaderFile="" /> - - - - - - @@ -20043,6 +20023,16 @@ PrecompiledHeaderFile="" /> + + + @@ -20053,6 +20043,16 @@ PrecompiledHeaderFile="" /> + + + @@ -20077,26 +20077,6 @@ PrecompiledHeaderFile="" /> - - - - - - @@ -20107,6 +20087,16 @@ PrecompiledHeaderFile="" /> + + + @@ -20117,6 +20107,16 @@ PrecompiledHeaderFile="" /> + + + diff --git a/Externals/zlib/zlib.vcproj b/Externals/zlib/zlib.vcproj index 9be76a7d60..92c1e1ee3a 100644 --- a/Externals/zlib/zlib.vcproj +++ b/Externals/zlib/zlib.vcproj @@ -1,7 +1,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -88,149 +88,6 @@ Name="VCPostBuildEventTool" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -339,11 +272,12 @@ RuntimeLibrary="0" BufferSecurityCheck="false" EnableEnhancedInstructionSet="0" - FloatingPointModel="2" + FloatingPointModel="0" UsePrecompiledHeader="2" PrecompiledHeaderThrough="stdafx.h" AssemblerListingLocation="$(IntDir)\" WarningLevel="3" + WarnAsError="false" DebugInformationFormat="3" ForcedIncludeFiles="stdafx.h" /> @@ -377,6 +311,77 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + @@ -593,22 +600,6 @@ UsePrecompiledHeader="1" /> - - - - - - @@ -617,6 +608,14 @@ UsePrecompiledHeader="1" /> + + + @@ -625,6 +624,14 @@ UsePrecompiledHeader="1" /> + + + diff --git a/Source/Core/Core/Core.vcproj b/Source/Core/Core/Core.vcproj index 3227998659..dd95f17409 100644 --- a/Source/Core/Core/Core.vcproj +++ b/Source/Core/Core/Core.vcproj @@ -1,7 +1,7 @@ @@ -87,6 +87,76 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -345,6 +274,7 @@ UsePrecompiledHeader="2" AssemblerListingLocation="$(IntDir)\" WarningLevel="3" + WarnAsError="false" DebugInformationFormat="0" ForcedIncludeFiles="stdafx.h" /> @@ -377,6 +307,79 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + @@ -792,6 +796,14 @@ + + + + @@ -824,6 +836,14 @@ RelativePath=".\Src\PowerPC\PPCTables.h" > + + + + @@ -1220,22 +1240,6 @@ UsePrecompiledHeader="1" /> - - - - - - @@ -1244,6 +1248,14 @@ UsePrecompiledHeader="1" /> + + + @@ -1252,6 +1264,14 @@ UsePrecompiledHeader="1" /> + + + diff --git a/Source/Core/Core/Src/Boot/Boot.cpp b/Source/Core/Core/Src/Boot/Boot.cpp index c1d7b354eb..42424156da 100644 --- a/Source/Core/Core/Src/Boot/Boot.cpp +++ b/Source/Core/Core/Src/Boot/Boot.cpp @@ -39,8 +39,8 @@ #include "../Host.h" #include "../VolumeHandler.h" #include "../PatchEngine.h" - -#include "../Host.h" +#include "../PowerPC/SignatureDB.h" +#include "../PowerPC/FunctionDB.h" #include "../MemTools.h" #include "MappedFile.h" @@ -376,7 +376,6 @@ bool CBoot::EmulatedBIOS_Wii(bool _bDebug) void CBoot::UpdateDebugger_MapLoaded(const char *_gameID) { HLE::PatchFunctions(); - Debugger::AnalyzeBackwards(); Host_NotifyMapLoaded(); Host_UpdateMemoryView(); } @@ -412,6 +411,7 @@ bool CBoot::LoadMapFromFilename(const std::string &_rFilename, const char *_game } else { + Debugger::PushMapToFunctionDB(&g_funcDB); success = true; } @@ -502,19 +502,6 @@ bool CBoot::BootUp(const SCoreStartupParameter& _StartupPara) { HLE::PatchFunctions(); } - else - { -#if defined(_DEBUG) || defined(DEBUGFAST) - //PPCAnalyst::FindFunctions(0x81300000,0x81400000); -#if 0 - PPCAnalyst::FindFunctions(0x80003100,0x80200000); - PPCAnalyst::LoadFuncDB("data/totaldb.dsy"); - PPCAnalyst::UseFuncDB(); -#endif -#endif - Debugger::GetFromAnalyzer(); - UpdateDebugger_MapLoaded(); - } } break; @@ -525,14 +512,7 @@ bool CBoot::BootUp(const SCoreStartupParameter& _StartupPara) CDolLoader dolLoader(_StartupPara.m_strFilename.c_str()); PC = dolLoader.GetEntryPoint(); #ifdef _DEBUG - if (!LoadMapFromFilename(_StartupPara.m_strFilename)) - { - PPCAnalyst::FindFunctions(0x80003100,0x80400000); - PPCAnalyst::LoadFuncDB("data/totaldb.dsy"); - PPCAnalyst::UseFuncDB(); - Debugger::GetFromAnalyzer(); - UpdateDebugger_MapLoaded(); - } + LoadMapFromFilename(_StartupPara.m_strFilename); #endif } break; @@ -592,14 +572,7 @@ bool CBoot::BootUp(const SCoreStartupParameter& _StartupPara) DVDInterface::SetDiscInside(false); if (Load_BIOS(_StartupPara.m_strBios)) { - if (!LoadMapFromFilename(_StartupPara.m_strFilename)) - { - PPCAnalyst::FindFunctions(0x81300000,0x81400000); - PPCAnalyst::LoadFuncDB("data/totaldb.dsy"); - PPCAnalyst::UseFuncDB(); - Debugger::GetFromAnalyzer(); - UpdateDebugger_MapLoaded(); - } + LoadMapFromFilename(_StartupPara.m_strFilename); } else { diff --git a/Source/Core/Core/Src/Boot/ElfReader.cpp b/Source/Core/Core/Src/Boot/ElfReader.cpp index 1fa0fc8d19..28241a9993 100644 --- a/Source/Core/Core/Src/Boot/ElfReader.cpp +++ b/Source/Core/Core/Src/Boot/ElfReader.cpp @@ -244,8 +244,7 @@ bool ElfReader::LoadSymbols() continue; } //host->AddSymbol(name, value, size, symtype); - Debugger::AddSymbol( - Debugger::CSymbol(value, size, symtype, name)); + Debugger::AddSymbol(Debugger::Symbol(value, size, symtype, name)); hasSymbols = true; //... diff --git a/Source/Core/Core/Src/Console.cpp b/Source/Core/Core/Src/Console.cpp index 61b23255e7..4b14f63830 100644 --- a/Source/Core/Core/Src/Console.cpp +++ b/Source/Core/Core/Src/Console.cpp @@ -27,6 +27,7 @@ #include "CoreTiming.h" #include "Core.h" #include "PowerPC/Jit64/JitCache.h" +#include "PowerPC/FunctionDB.h" #include "PowerPCDisasm.h" #define CASE(x) else if (memcmp(cmd, x, 4*sizeof(TCHAR))==0) @@ -66,11 +67,6 @@ void Console_Submit(const char *cmd) Core::StartTrace(true); LOG(CONSOLE, "write tracing started."); } - CASE("scan") - { - //LOG(CONSOLE,"test1"); - PPCAnalyst::FindFunctions(0x80003100, 0x80400000); - } CASE("trans") { TCHAR temp[256]; @@ -97,7 +93,7 @@ void Console_Submit(const char *cmd) sscanf(cmd, "%s %08x", temp, &addr); if (addr!=0) { - PPCAnalyst::PrintCalls(addr); + g_funcDB.PrintCalls(addr); } else { @@ -111,7 +107,7 @@ void Console_Submit(const char *cmd) sscanf(cmd, "%s %08x", temp, &addr); if (addr!=0) { - PPCAnalyst::PrintCallers(addr); + g_funcDB.PrintCallers(addr); } else { @@ -163,7 +159,7 @@ void Console_Submit(const char *cmd) } CASE("lisd") { - PPCAnalyst::ListDB(); + // PPCAnalyst::ListDB(); } CASE("ipro") { @@ -171,7 +167,7 @@ void Console_Submit(const char *cmd) } CASE("lisf") { - PPCAnalyst::ListFunctions(); + g_funcDB.List(); } else { printf("blach\n"); diff --git a/Source/Core/Core/Src/Debugger/Debugger_BreakPoints.cpp b/Source/Core/Core/Src/Debugger/Debugger_BreakPoints.cpp index b40b1a77df..7160b27a7b 100644 --- a/Source/Core/Core/Src/Debugger/Debugger_BreakPoints.cpp +++ b/Source/Core/Core/Src/Debugger/Debugger_BreakPoints.cpp @@ -157,7 +157,7 @@ void CBreakPoints::AddAutoBreakpoints() XSymbolIndex idx = FindSymbol(bps[i]); if (idx != 0) { - const CSymbol &symbol = GetSymbol(idx); + const Symbol &symbol = GetSymbol(idx); AddBreakPoint(symbol.vaddress, false); } } diff --git a/Source/Core/Core/Src/Debugger/Debugger_SymbolMap.cpp b/Source/Core/Core/Src/Debugger/Debugger_SymbolMap.cpp index 1b3ad8cc92..e1f5edd0ba 100644 --- a/Source/Core/Core/Src/Debugger/Debugger_SymbolMap.cpp +++ b/Source/Core/Core/Src/Debugger/Debugger_SymbolMap.cpp @@ -22,14 +22,15 @@ #include "../HW/Memmap.h" #include "../PowerPC/PowerPC.h" #include "../PowerPC/PPCAnalyst.h" +#include "../PowerPC/FunctionDB.h" #include "../../../../Externals/Bochs_disasm/PowerPCDisasm.h" namespace Debugger { -static XVectorSymbol m_VectorSymbols; +static XVectorSymbol g_Symbols; -CSymbol::CSymbol(u32 _Address, u32 _Size, ESymbolType _Type, const char *_rName) : +Symbol::Symbol(u32 _Address, u32 _Size, ESymbolType _Type, const char *_rName) : vaddress(_Address), size(_Size), runCount(0), @@ -44,57 +45,57 @@ CSymbol::CSymbol(u32 _Address, u32 _Size, ESymbolType _Type, const char *_rName) } } -CSymbol::~CSymbol() +Symbol::~Symbol() { m_vecBackwardLinks.clear(); } void Reset() { - m_VectorSymbols.clear(); + g_Symbols.clear(); // 0 is an invalid entry - CSymbol Invalid(static_cast(-1), 0, ST_FUNCTION, "Invalid"); - m_VectorSymbols.push_back(Invalid); + Symbol Invalid(static_cast(-1), 0, ST_FUNCTION, "Invalid"); + g_Symbols.push_back(Invalid); } -XSymbolIndex AddSymbol(const CSymbol& _rSymbolMapEntry) +XSymbolIndex AddSymbol(const Symbol& symbol) { - XSymbolIndex old = 0; - if ((old = FindSymbol(_rSymbolMapEntry.GetName().c_str())) != 0) + XSymbolIndex old = FindSymbol(symbol.GetName().c_str()); + if (old != 0) return old; - m_VectorSymbols.push_back(_rSymbolMapEntry); - return (XSymbolIndex)(m_VectorSymbols.size()-1); + g_Symbols.push_back(symbol); + return (XSymbolIndex)(g_Symbols.size() - 1); } -const CSymbol& GetSymbol(XSymbolIndex _Index) +const Symbol& GetSymbol(XSymbolIndex _Index) { - if (_Index < (XSymbolIndex)m_VectorSymbols.size()) - return m_VectorSymbols[_Index]; + if (_Index < (XSymbolIndex)g_Symbols.size()) + return g_Symbols[_Index]; PanicAlert("GetSymbol is called with an invalid index %i", _Index); - return m_VectorSymbols[0]; + return g_Symbols[0]; } const XVectorSymbol& AccessSymbols() { - return m_VectorSymbols; + return g_Symbols; } -CSymbol& AccessSymbol(XSymbolIndex _Index) +Symbol& AccessSymbol(XSymbolIndex _Index) { - if (_Index < (XSymbolIndex)m_VectorSymbols.size()) - return m_VectorSymbols[_Index]; + if (_Index < (XSymbolIndex)g_Symbols.size()) + return g_Symbols[_Index]; PanicAlert("AccessSymbol is called with an invalid index %i", _Index); - return m_VectorSymbols[0]; + return g_Symbols[0]; } XSymbolIndex FindSymbol(u32 _Address) { - for (int i = 0; i < (int)m_VectorSymbols.size(); i++) + for (int i = 0; i < (int)g_Symbols.size(); i++) { - const CSymbol& rSymbol = m_VectorSymbols[i]; + const Symbol& rSymbol = g_Symbols[i]; if ((_Address >= rSymbol.vaddress) && (_Address < rSymbol.vaddress + rSymbol.size)) { return (XSymbolIndex)i; @@ -107,9 +108,9 @@ XSymbolIndex FindSymbol(u32 _Address) XSymbolIndex FindSymbol(const char *name) { - for (int i = 0; i < (int)m_VectorSymbols.size(); i++) + for (int i = 0; i < (int)g_Symbols.size(); i++) { - const CSymbol& rSymbol = m_VectorSymbols[i]; + const Symbol& rSymbol = g_Symbols[i]; #ifdef _WIN32 if (!_stricmp(rSymbol.GetName().c_str(), name)) #else @@ -124,29 +125,21 @@ XSymbolIndex FindSymbol(const char *name) return 0; } -// __________________________________________________________________________________________________ -// LoadSymbolMap -// +// This one can load both leftover map files on game discs (like Zelda), and mapfiles +// produced by SaveSymbolMap below. bool LoadSymbolMap(const char *_szFilename) { Reset(); - FILE *f = fopen(_szFilename, "r"); if (!f) return false; - //char temp[256]; - //fgets(temp,255,f); //.text section layout - //fgets(temp,255,f); // Starting Virtual - //fgets(temp,255,f); // address Size address - //fgets(temp,255,f); // ----------------------- - - bool started=false; + bool started = false; while (!feof(f)) { char line[512],temp[256]; - fgets(line,511,f); - if (strlen(line)<4) + fgets(line, 511, f); + if (strlen(line) < 4) continue; sscanf(line,"%s",temp); @@ -169,43 +162,33 @@ bool LoadSymbolMap(const char *_szFilename) if (!started) continue; - // read out the entry u32 address, vaddress, size, unknown; char name[512]; - sscanf(line,"%08x %08x %08x %i %s",&address, &size, &vaddress, &unknown, name); + sscanf(line, "%08x %08x %08x %i %s", &address, &size, &vaddress, &unknown, name); - char *namepos = strstr(line, name); + const char *namepos = strstr(line, name); if (namepos != 0) //would be odd if not :P strcpy(name, namepos); - name[strlen(name)-1] = 0; + name[strlen(name) - 1] = 0; - // we want the function names only .... - for (size_t i=0; i 0) + // Check if this is a valid entry. + if (strcmp(name, ".text") != 0 || strcmp(name, ".init") != 0 || strlen(name) > 0) { - AddSymbol(CSymbol(vaddress | 0x80000000, size, ST_FUNCTION, name)); + AddSymbol(Symbol(vaddress | 0x80000000, size, ST_FUNCTION, name)); } } fclose(f); - -// AnalyzeBackwards(); return true; } -// __________________________________________________________________________________________________ -// SaveSymbolMap -// void SaveSymbolMap(const char *_rFilename) { FILE *f = fopen(_rFilename,"w"); @@ -213,50 +196,41 @@ void SaveSymbolMap(const char *_rFilename) return; fprintf(f,".text\n"); - XVectorSymbol::const_iterator itr = m_VectorSymbols.begin(); - while(itr != m_VectorSymbols.end()) + XVectorSymbol::const_iterator itr = g_Symbols.begin(); + while (itr != g_Symbols.end()) { - const CSymbol& rSymbol = *itr; + const Symbol& rSymbol = *itr; fprintf(f,"%08x %08x %08x %i %s\n",rSymbol.vaddress,rSymbol.size,rSymbol.vaddress,0,rSymbol.GetName().c_str()); itr++; } fclose(f); } - -// ========================================================================================================= - - -void MergeMapWithDB(const char *beginning) +void PushMapToFunctionDB(FunctionDB *func_db) { - XVectorSymbol::const_iterator itr = m_VectorSymbols.begin(); - while(itr != m_VectorSymbols.end()) + XVectorSymbol::const_iterator itr = g_Symbols.begin(); + while (itr != g_Symbols.end()) { - const CSymbol& rSymbol = *itr; + const Symbol& rSymbol = *itr; if (rSymbol.type == ST_FUNCTION && rSymbol.size>=12) { + func_db->AddKnownFunction(rSymbol.vaddress, rSymbol.size / 4, rSymbol.GetName().c_str()); // if (!beginning || !strlen(beginning) || !(memcmp(beginning,rSymbol.name,strlen(beginning)))) - PPCAnalyst::AddToFuncDB(rSymbol.vaddress, rSymbol.size, rSymbol.GetName().c_str()); +// PPCAnalyst::AddToSignatureDB(rSymbol.vaddress, rSymbol.size, rSymbol.GetName().c_str()); } itr++; } - - PPCAnalyst::UseFuncDB(); - - PPCAnalyst::SaveFuncDB("e:\\test.db"); - - // PanicAlert("MergeMapWiintthDB : %s", beginning); } void GetFromAnalyzer() { - struct local {static void AddSymb(PPCAnalyst::SFunction *f) + struct local {static void AddSymb(SFunction *f) { - Debugger::AddSymbol(CSymbol(f->address, f->size*4, ST_FUNCTION, f->name.c_str())); + Debugger::AddSymbol(Symbol(f->address, f->size * 4, ST_FUNCTION, f->name.c_str())); }}; - PPCAnalyst::GetAllFuncs(local::AddSymb); + g_funcDB.GetAllFuncs(local::AddSymb); } const char *GetDescription(u32 _Address) @@ -268,100 +242,8 @@ const char *GetDescription(u32 _Address) return "(unk.)"; } -// -// --- shouldn't be here --- -// -#ifdef _WIN32 - - -void FillSymbolListBox(HWND listbox, ESymbolType symmask) -{ - ShowWindow(listbox,SW_HIDE); - ListBox_ResetContent(listbox); - - int style = GetWindowLong(listbox,GWL_STYLE); - - ListBox_SetItemData(listbox,ListBox_AddString(listbox,"_(0x80000000)"),0x80000000); - ListBox_SetItemData(listbox,ListBox_AddString(listbox,"_(0x81FFFFFF)"),0x81FFFFFF); - ListBox_SetItemData(listbox,ListBox_AddString(listbox,"_(0x80003100)"),0x80003100); - ListBox_SetItemData(listbox,ListBox_AddString(listbox,"_(0x90000000)"),0x90000000); - ListBox_SetItemData(listbox,ListBox_AddString(listbox,"_(0x93FFFFFF)"),0x93FFFFFF); - - XVectorSymbol::const_iterator itr = m_VectorSymbols.begin(); - while (itr != m_VectorSymbols.end()) - { - const CSymbol& rSymbol = *itr; - if (rSymbol.type & symmask) - { - int index = ListBox_AddString(listbox,rSymbol.GetName().c_str()); - ListBox_SetItemData(listbox,index,rSymbol.vaddress); - } - itr++; - } - - ShowWindow(listbox,SW_SHOW); -} - -void FillListBoxBLinks(HWND listbox, XSymbolIndex _Index) -{ -/* ListBox_ResetContent(listbox); - - int style = GetWindowLong(listbox,GWL_STYLE); - - CSymbol &e = entries[num];*/ -#ifdef BWLINKS - for (int i=0; i>26) - { - case 18: - if (LK) //LK - { - u32 addr; - if(AA) - addr = SignExt26(LI << 2); - else - addr = ptr + SignExt26(LI << 2); - - int funNum = GetSymbolNum(addr); - if (funNum>=0) - entries[funNum].backwardLinks.push_back(ptr); - } - break; - default: - ; - } - ptr+=4; - } - } - } -#endif -} - -bool GetCallstack(std::vector &output) +bool GetCallstack(std::vector &output) { if (Core::GetState() == Core::CORE_UNINITIALIZED) return false; @@ -371,7 +253,7 @@ bool GetCallstack(std::vector &output) u32 addr = Memory::ReadUnchecked_U32(PowerPC::ppcState.gpr[1]); // SP if (LR == 0) { - SCallstackEntry entry; + CallstackEntry entry; entry.Name = "(error: LR=0)"; entry.vAddress = 0x0; output.push_back(entry); @@ -380,7 +262,7 @@ bool GetCallstack(std::vector &output) int count = 1; if (GetDescription(PowerPC::ppcState.pc) != GetDescription(LR)) { - SCallstackEntry entry; + CallstackEntry entry; entry.Name = StringFromFormat(" * %s [ LR = %08x ]\n", Debugger::GetDescription(LR), LR); entry.vAddress = 0x0; count++; @@ -397,7 +279,7 @@ bool GetCallstack(std::vector &output) if (!str || strlen(str) == 0 || !strcmp(str, "Invalid")) str = "(unknown)"; - SCallstackEntry entry; + CallstackEntry entry; entry.Name = StringFromFormat(" * %s [ addr = %08x ]\n", str, func); entry.vAddress = func; output.push_back(entry); @@ -438,5 +320,4 @@ void PrintCallstack() { } } -} // end of namespace Debugger - +} // end of namespace Debugger diff --git a/Source/Core/Core/Src/Debugger/Debugger_SymbolMap.h b/Source/Core/Core/Src/Debugger/Debugger_SymbolMap.h index 6c65aafa58..66b3d6256c 100644 --- a/Source/Core/Core/Src/Debugger/Debugger_SymbolMap.h +++ b/Source/Core/Core/Src/Debugger/Debugger_SymbolMap.h @@ -23,6 +23,8 @@ #include "Common.h" +class FunctionDB; + namespace Debugger { @@ -32,7 +34,7 @@ enum ESymbolType ST_DATA = 2 }; -class CSymbol +class Symbol { public: u32 vaddress; @@ -41,8 +43,8 @@ public: ESymbolType type; - CSymbol(u32 _Address, u32 _Size, ESymbolType _Type, const char *_rName); - ~CSymbol(); + Symbol(u32 _Address, u32 _Size, ESymbolType _Type, const char *_rName); + ~Symbol(); const std::string &GetName() const { return m_strName; } void SetName(const char *_rName) { m_strName = _rName; } @@ -53,14 +55,14 @@ private: }; typedef int XSymbolIndex; -typedef std::vector XVectorSymbol; +typedef std::vector XVectorSymbol; void Reset(); -XSymbolIndex AddSymbol(const CSymbol& _rSymbolMapEntry); +XSymbolIndex AddSymbol(const Symbol& _rSymbolMapEntry); -const CSymbol& GetSymbol(XSymbolIndex _Index); -CSymbol& AccessSymbol(XSymbolIndex _Index); +const Symbol& GetSymbol(XSymbolIndex _Index); +Symbol& AccessSymbol(XSymbolIndex _Index); const XVectorSymbol& AccessSymbols(); @@ -69,22 +71,23 @@ XSymbolIndex FindSymbol(const char *name); bool LoadSymbolMap(const char *_rFilename); void SaveSymbolMap(const char *_rFilename); -void PrintCallstack(); const char *GetDescription(u32 _Address); bool RenameSymbol(XSymbolIndex _Index, const char *_Name); -void AnalyzeBackwards(); -void GetFromAnalyzer(); -void MergeMapWithDB(const char *beginning); -struct SCallstackEntry +void GetFromAnalyzer(); +void PushMapToFunctionDB(FunctionDB *func_db); + +struct CallstackEntry { std::string Name; u32 vAddress; }; -bool GetCallstack(std::vector &output); +bool GetCallstack(std::vector &output); +void PrintCallstack(); + // TODO: move outta here #ifdef _WIN32 } diff --git a/Source/Core/Core/Src/HLE/HLE.cpp b/Source/Core/Core/Src/HLE/HLE.cpp index d6b8098b35..192762ffba 100644 --- a/Source/Core/Core/Src/HLE/HLE.cpp +++ b/Source/Core/Core/Src/HLE/HLE.cpp @@ -67,6 +67,7 @@ static const SPatch OSPatches[] = // Super Monkey Ball { ".evil_vec_cosine", HLE_Misc::SMB_EvilVecCosine }, { ".evil_normalize", HLE_Misc::SMB_EvilNormalize }, + { ".evil_vec_setlength", HLE_Misc::SMB_evil_vec_setlength }, { "PanicAlert", HLE_Misc::PanicAlert }, { ".sqrt_internal_needs_cr1", HLE_Misc::SMB_sqrt_internal }, { ".rsqrt_internal_needs_cr1", HLE_Misc::SMB_rsqrt_internal }, @@ -101,13 +102,13 @@ void PatchFunctions() int SymbolIndex = Debugger::FindSymbol(OSPatches[i].m_szPatchName); if (SymbolIndex > 0) { - const Debugger::CSymbol& rSymbol = Debugger::GetSymbol(SymbolIndex); + const Debugger::Symbol& symbol = Debugger::GetSymbol(SymbolIndex); u32 HLEPatchValue = (1 & 0x3f) << 26; - for (size_t addr = rSymbol.vaddress; addr < rSymbol.vaddress + rSymbol.size; addr+=4) { + for (size_t addr = symbol.vaddress; addr < symbol.vaddress + symbol.size; addr += 4) { Memory::Write_U32(HLEPatchValue | i, addr); } //PanicAlert("patched %s", OSPatches[i].m_szPatchName); - LOG(HLE,"Patching %s %08x", OSPatches[i].m_szPatchName, rSymbol.vaddress); + LOG(HLE,"Patching %s %08x", OSPatches[i].m_szPatchName, symbol.vaddress); } } @@ -116,12 +117,12 @@ void PatchFunctions() int SymbolIndex = Debugger::FindSymbol(OSBreakPoints[i].m_szPatchName); if (SymbolIndex != -1) { - const Debugger::CSymbol& rSymbol = Debugger::GetSymbol(SymbolIndex); - CBreakPoints::AddBreakPoint(rSymbol.vaddress, false); + const Debugger::Symbol& symbol = Debugger::GetSymbol(SymbolIndex); + CBreakPoints::AddBreakPoint(symbol.vaddress, false); - LOG(HLE,"Adding BP to %s %08x", OSBreakPoints[i].m_szPatchName, rSymbol.vaddress); + LOG(HLE,"Adding BP to %s %08x", OSBreakPoints[i].m_szPatchName, symbol.vaddress); } - } + } // CBreakPoints::AddBreakPoint(0x8000D3D0, false); } diff --git a/Source/Core/Core/Src/HLE/HLE_Misc.cpp b/Source/Core/Core/Src/HLE/HLE_Misc.cpp index c188be072e..52d791d67e 100644 --- a/Source/Core/Core/Src/HLE/HLE_Misc.cpp +++ b/Source/Core/Core/Src/HLE/HLE_Misc.cpp @@ -111,61 +111,39 @@ void SMB_EvilNormalize() NPC = LR; } +void SMB_evil_vec_setlength() +{ + u32 r3 = GPR(3); + u32 r4 = GPR(4); + float x = F(r3); + float y = F(r3 + 4); + float z = F(r3 + 8); + float inv_len = (float)(rPS0(1) / sqrt(x*x + y*y + z*z)); + x *= inv_len; + y *= inv_len; + z *= inv_len; + FW(r4, x); + FW(r4 + 4, y); + FW(r4 + 8, z); + NPC = LR; +} + + void SMB_sqrt_internal() { -/* -.sqrt_internal_needs_cr1 -800070ec: bgt+ cr1,0x80007090 -800070f0: blt+ cr1,0x80007088 -800070f4: b 0x80007080 -800070f8: frsp f0,f1 -800070fc: lis r4, 0xE000 -80007100: mcrfs cr1, cr4 -80007104: mcrfs cr0, cr3 -80007108: lfs f2, 0x01A0 (r4) -8000710c: bso+ cr1,0x800070EC -80007110: bso+ 0x80007088 -80007114: ble+ cr1,0x80007088 -80007118: mflr r3 -8000711c: bl 0x800070B0 -80007120: mtlr r3 -80007124: fmuls f1,f1,f0 -80007128: blr -*/ double f = sqrt(rPS0(1)); + rPS0(0) = rPS0(1); + rPS1(0) = rPS0(1); rPS0(1) = f; rPS1(1) = f; - rPS0(0) = f; - rPS1(0) = f; NPC = LR; } void SMB_rsqrt_internal() { - /* -.rsqrt_internal_needs_cr1 -8000712c: bgt+ cr1,0x80007088 -80007130: blt+ cr1,0x80007090 -80007134: b 0x80007080 -80007138: frsp f1,f1 -8000713c: lis r4, 0xE000 -80007140: mcrfs cr1, cr4 -80007144: mcrfs cr0, cr3 -80007148: lfs f2, 0x01A0 (r4) -8000714c: bso+ cr1,0x8000712C -80007150: bso+ 0x80007090 -80007154: ble+ cr1,0x80007090 -80007158: mflr r3 -8000715c: bl 0x800070B0 -80007160: mtlr r3 -80007164: frsp f1,f1 -80007168: blr -*/ double f = 1.0 / sqrt(rPS0(1)); rPS0(1) = f; rPS1(1) = f; - rPS0(0) = f; - rPS1(0) = f; NPC = LR; } diff --git a/Source/Core/Core/Src/HLE/HLE_Misc.h b/Source/Core/Core/Src/HLE/HLE_Misc.h index 82c6156479..c72fcf5535 100644 --- a/Source/Core/Core/Src/HLE/HLE_Misc.h +++ b/Source/Core/Core/Src/HLE/HLE_Misc.h @@ -32,6 +32,7 @@ namespace HLE_Misc void SMB_sqrt_internal(); void SMB_rsqrt_internal(); void SMB_atan2(); + void SMB_evil_vec_setlength(); } #endif diff --git a/Source/Core/Core/Src/LogManager.cpp b/Source/Core/Core/Src/LogManager.cpp index 220961cbd5..f52dcbebb6 100644 --- a/Source/Core/Core/Src/LogManager.cpp +++ b/Source/Core/Core/Src/LogManager.cpp @@ -178,12 +178,12 @@ void LogManager::Log(LogTypes::LOG_TYPE _type, const char *_fmt, ...) #endif if (Index > 0) { - const Debugger::CSymbol& rSymbol = Debugger::GetSymbol(Index); + const Debugger::Symbol& symbol = Debugger::GetSymbol(Index); sprintf(Msg2, "%i: %x %s (%s, %08x ) : %s%s", ++count, PowerPC::ppcState.DebugCount, m_Log[_type]->m_szShortName, - rSymbol.GetName().c_str(), + symbol.GetName().c_str(), PC, Msg, eol); } diff --git a/Source/Core/Core/Src/PowerPC/FunctionDB.cpp b/Source/Core/Core/Src/PowerPC/FunctionDB.cpp new file mode 100644 index 0000000000..d88f6134c0 --- /dev/null +++ b/Source/Core/Core/Src/PowerPC/FunctionDB.cpp @@ -0,0 +1,170 @@ +// Copyright (C) 2003-2008 Dolphin Project. + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, version 2.0. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License 2.0 for more details. + +// A copy of the GPL 2.0 should have been included with the program. +// If not, see http://www.gnu.org/licenses/ + +// Official SVN repository and contact information can be found at +// http://code.google.com/p/dolphin-emu/ + +#include "Common.h" + +#include +#include +#include + +#include "FunctionDB.h" +#include "SignatureDB.h" +#include "PPCAnalyst.h" + +FunctionDB g_funcDB; + +void FunctionDB::List() +{ + for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); iter++) + { + LOG(HLE,"%s @ %08x: %i bytes (hash %08x) : %i calls",iter->second.name.c_str(),iter->second.address,iter->second.size,iter->second.hash,iter->second.numCalls); + } + LOG(HLE,"%i functions known in this program above.",functions.size()); +} + +void FunctionDB::Clear() +{ + +} + +// Adds the function to the list, unless it's already there +SFunction *FunctionDB::AddFunction(u32 startAddr) +{ + if (startAddr < 0x80000010) + return 0; + XFuncMap::iterator iter = functions.find(startAddr); + if (iter != functions.end()) + { + // it's already in the list + return 0; + } + else + { + SFunction tempFunc; //the current one we're working on + u32 targetEnd = PPCAnalyst::AnalyzeFunction(startAddr, tempFunc); + if (targetEnd == 0) + return 0; //found a dud :( + //LOG(HLE,"SFunction found at %08x",startAddr); + functions[startAddr] = tempFunc; + checksumToFunction[tempFunc.hash] = &(functions[startAddr]); + return &functions[startAddr]; + } +} + +void FunctionDB::AddKnownFunction(u32 startAddr, u32 size, const char *name) +{ + XFuncMap::iterator iter = functions.find(startAddr); + if (iter != functions.end()) + { + SFunction *tempfunc = &iter->second; + tempfunc->name = name; + tempfunc->hash = SignatureDB::ComputeCodeChecksum(startAddr, startAddr + size); + } + else + { + SFunction tf; + tf.name = name; + PPCAnalyst::AnalyzeFunction(startAddr, tf); + functions[startAddr] = tf; + checksumToFunction[tf.hash] = &(functions[startAddr]); + } +} + +void FunctionDB::FillInCallers() +{ + for (XFuncMap::iterator iter = functions.begin(); iter!=functions.end(); iter++) + { + SFunction &f = iter->second; + for (size_t i=0; ifirst, f.calls[i].callAddress); + u32 FunctionAddress = f.calls[i].function; + XFuncMap::iterator FuncIterator = functions.find(FunctionAddress); + if (FuncIterator != functions.end()) + { + SFunction& rCalledFunction = FuncIterator->second; + rCalledFunction.callers.push_back(NewCall); + } + else + { + LOG(HLE,"FillInCallers tries to fill data in an unknown fuction 0x%08x.", FunctionAddress); + } + } + } +} + +void FunctionDB::PrintCalls(u32 funcAddr) +{ + XFuncMap::iterator iter = functions.find(funcAddr); + if (iter != functions.end()) + { + SFunction &f = iter->second; + LOG(HLE, "The function %s at %08x calls:", f.name.c_str(), f.address); + for (std::vector::iterator fiter = f.calls.begin(); fiter!=f.calls.end(); fiter++) + { + XFuncMap::iterator n = functions.find(fiter->function); + if (n != functions.end()) + { + LOG(CONSOLE,"* %08x : %s", fiter->callAddress, n->second.name.c_str()); + } + } + } + else + { + LOG(CONSOLE,"SFunction does not exist"); + } +} + +void FunctionDB::PrintCallers(u32 funcAddr) +{ + XFuncMap::iterator iter = functions.find(funcAddr); + if (iter != functions.end()) + { + SFunction &f = iter->second; + LOG(CONSOLE,"The function %s at %08x is called by:",f.name.c_str(),f.address); + for (std::vector::iterator fiter = f.callers.begin(); fiter != f.callers.end(); fiter++) + { + XFuncMap::iterator n = functions.find(fiter->function); + if (n != functions.end()) + { + LOG(CONSOLE,"* %08x : %s", fiter->callAddress, n->second.name.c_str()); + } + } + } +} + +void FunctionDB::GetAllFuncs(functionGetterCallback callback) +{ + XFuncMap::iterator iter = functions.begin(); + while (iter != functions.end()) + { + callback(&(iter->second)); + iter++; + } +} + +void FunctionDB::LogFunctionCall(u32 addr) +{ + //u32 from = PC; + XFuncMap::iterator iter = functions.find(addr); + if (iter != functions.end()) + { + SFunction &f = iter->second; + f.numCalls++; + } +} + diff --git a/Source/Core/Core/Src/PowerPC/FunctionDB.h b/Source/Core/Core/Src/PowerPC/FunctionDB.h new file mode 100644 index 0000000000..cc1bc2c78f --- /dev/null +++ b/Source/Core/Core/Src/PowerPC/FunctionDB.h @@ -0,0 +1,113 @@ +// Copyright (C) 2003-2008 Dolphin Project. + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, version 2.0. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License 2.0 for more details. + +// A copy of the GPL 2.0 should have been included with the program. +// If not, see http://www.gnu.org/licenses/ + +// Official SVN repository and contact information can be found at +// http://code.google.com/p/dolphin-emu/ + +#include "Common.h" + +#include +#include +#include + +struct SCall +{ + SCall(u32 a, u32 b) : + function(a), + callAddress(b) + {} + u32 function; + u32 callAddress; +}; + +struct SFunction +{ + SFunction() : + hash(0), + address(0), + flags(0), + size(0), + numCalls(0), + analyzed(0) + {} + + ~SFunction() + { + callers.clear(); + calls.clear(); + } + + std::string name; + std::vector callers; //addresses of functions that call this function + std::vector calls; //addresses of functions that are called by this function + u32 hash; //use for HLE function finding + u32 address; + u32 flags; + int size; + int numCalls; + + int analyzed; +}; + +enum +{ + FFLAG_TIMERINSTRUCTIONS=(1<<0), + FFLAG_LEAF=(1<<1), + FFLAG_ONLYCALLSNICELEAFS=(1<<2), + FFLAG_EVIL=(1<<3), + FFLAG_RFI=(1<<4), + FFLAG_STRAIGHT=(1<<5) +}; + + +// This has functionality overlapping Debugger_Symbolmap. Should merge that stuff in here later. +class FunctionDB +{ +public: + typedef std::map XFuncMap; + typedef std::map XFuncPtrMap; + +private: + XFuncMap functions; + XFuncPtrMap checksumToFunction; + +public: + + typedef void (*functionGetterCallback)(SFunction *f); + + FunctionDB() {} + + SFunction *AddFunction(u32 startAddr); + void AddKnownFunction(u32 startAddr, u32 size, const char *name); + + void GetAllFuncs(functionGetterCallback callback); + SFunction *GetFunction(u32 hash) { + // TODO: sanity check + return checksumToFunction[hash]; + } + + XFuncMap::iterator GetIterator() { return functions.begin(); } + XFuncMap::const_iterator GetConstIterator() { return functions.begin(); } + XFuncMap::iterator End() { return functions.end(); } + + void Clear(); + void List(); + void FillInCallers(); + + void PrintCalls(u32 funcAddr); + void PrintCallers(u32 funcAddr); + void LogFunctionCall(u32 addr); +}; + +extern FunctionDB g_funcDB; diff --git a/Source/Core/Core/Src/PowerPC/PPCAnalyst.cpp b/Source/Core/Core/Src/PowerPC/PPCAnalyst.cpp index f36a7dd426..6615fce33f 100644 --- a/Source/Core/Core/Src/PowerPC/PPCAnalyst.cpp +++ b/Source/Core/Core/Src/PowerPC/PPCAnalyst.cpp @@ -14,12 +14,15 @@ // Official SVN repository and contact information can be found at // http://code.google.com/p/dolphin-emu/ + #include #include "StringUtil.h" #include "Interpreter/Interpreter.h" #include "../HW/Memmap.h" #include "PPCTables.h" +#include "FunctionDB.h" +#include "SignatureDB.h" #include "PPCAnalyst.h" // Analyzes PowerPC code in memory to find functions @@ -30,49 +33,22 @@ // The results of this analysis are currently not really used for anything, other than // finding function boundaries so that we can find, fingerprint and detect library functions. +namespace PPCAnalyst { + using namespace std; -PPCAnalyst::XFuncMap PPCAnalyst::functions; -PPCAnalyst::XFuncPtrMap PPCAnalyst::checksumToFunction; -PPCAnalyst::XFuncDB PPCAnalyst::database; +// VERY ugly. TODO: remove. +PPCAnalyst::CodeOp codebuffer[20000]; + +void AnalyzeFunction2(SFunction &func); +u32 EvaluateBranchTarget(UGeckoInstruction instr, u32 pc); + +// void FixUpInternalBranches(CodeOp *code, int begin, int end); + #define INVALID_TARGET ((u32)-1) -//Adds a known function to the hash database -void PPCAnalyst::AddToFuncDB(u32 startAddr, u32 size, const TCHAR *name) -{ - if (startAddr < 0x80000000 || startAddr>0x80000000+Memory::RAM_SIZE) - return; - - SFunction tf; - SFunction *tempfunc=&tf; - - XFuncMap::iterator iter = functions.find(startAddr); - if (iter != functions.end()) - { - tempfunc = &iter->second; - } - else - { - AnalyzeFunction(startAddr,tf); - functions[startAddr] = *tempfunc; - checksumToFunction[tempfunc->hash] = &(functions[startAddr]); - } - - tempfunc->name = name; - - SDBFunc temp; - temp.size = size; - temp.name = name; - - - XFuncDB::iterator iter2 = database.find(tempfunc->hash); - if (iter2 == database.end()) - database[tempfunc->hash] = temp; -} - - -u32 PPCAnalyst::EvaluateBranchTarget(UGeckoInstruction instr, u32 pc) +u32 EvaluateBranchTarget(UGeckoInstruction instr, u32 pc) { switch (instr.OPCD) { @@ -97,9 +73,13 @@ u32 PPCAnalyst::EvaluateBranchTarget(UGeckoInstruction instr, u32 pc) //If any one goes farther than the blr, assume that there is more than //one blr, and keep scanning. -u32 PPCAnalyst::AnalyzeFunction(u32 startAddr, SFunction &func) +bool AnalyzeFunction(u32 startAddr, SFunction &func) { - func.name = StringFromFormat("zzz_%08x ??", startAddr); + if (!func.name.size()) + func.name = StringFromFormat("zzz_%08x ??", startAddr); + if (func.analyzed >= 1) + return true; // No error, just already did it. + func.calls.clear(); func.callers.clear(); func.size = 0; @@ -112,7 +92,7 @@ u32 PPCAnalyst::AnalyzeFunction(u32 startAddr, SFunction &func) { func.size++; if (func.size > 1024*16) //weird - return 0; + return false; UGeckoInstruction instr = (UGeckoInstruction)Memory::ReadUnchecked_U32(addr); @@ -131,10 +111,10 @@ u32 PPCAnalyst::AnalyzeFunction(u32 startAddr, SFunction &func) //We're done! Looks like we have a neat valid function. Perfect. //Let's calc the checksum and get outta here func.address = startAddr; - func.hash = PPCAnalyst::FuncChecksum(startAddr, addr); + func.hash = SignatureDB::ComputeCodeChecksum(startAddr, addr); if (numInternalBranches == 0) func.flags |= FFLAG_STRAIGHT; - return addr; + return true; } } else if (instr.hex == 0x4e800021 || instr.hex == 0x4e800420 || instr.hex == 0x4e800421) @@ -176,16 +156,16 @@ u32 PPCAnalyst::AnalyzeFunction(u32 startAddr, SFunction &func) } else { - return 0; + return false; } - addr+=4; + addr += 4; } } // Second pass analysis, done after the first pass is done for all functions // so we have more information to work with -void PPCAnalyst::AnalyzeFunction2(SFunction &func) +void AnalyzeFunction2(SFunction &func) { // u32 addr = func.address; u32 flags = func.flags; @@ -210,17 +190,14 @@ void PPCAnalyst::AnalyzeFunction2(SFunction &func) }*/ bool nonleafcall = false; - for (size_t i = 0; iflags & FFLAG_LEAF) == 0) { - if (((*iter).second.flags & FFLAG_LEAF) == 0) - { - nonleafcall = true; - break; - } + nonleafcall = true; + break; } } @@ -231,7 +208,7 @@ void PPCAnalyst::AnalyzeFunction2(SFunction &func) } // Currently not used -void PPCAnalyst::FixUpInternalBranches(CodeOp *code, int begin, int end) +void FixUpInternalBranches(CodeOp *code, int begin, int end) { for (int i = begin; i < end; i++) { @@ -267,19 +244,15 @@ void PPCAnalyst::FixUpInternalBranches(CodeOp *code, int begin, int end) } } -//yaya ugly -PPCAnalyst::CodeOp codebuffer[20000]; - void PPCAnalyst::ShuffleUp(CodeOp *code, int first, int last) { CodeOp temp = code[first]; - for (int i=first; isecond; - if (f.flags & FFLAG_LEAF) + if (f->flags & FFLAG_LEAF) { //no reason to flatten todo = JustCopy; } - else if (f.flags & FFLAG_ONLYCALLSNICELEAFS) + else if (f->flags & FFLAG_ONLYCALLSNICELEAFS) { //inline calls if possible //todo = Flatten; @@ -323,7 +294,7 @@ PPCAnalyst::CodeOp *PPCAnalyst::Flatten(u32 address, u32 &realsize, BlockStats & } todo = JustCopy; - maxsize = f.size; + maxsize = f->size; } else todo = JustCopy; @@ -573,42 +544,14 @@ PPCAnalyst::CodeOp *PPCAnalyst::Flatten(u32 address, u32 &realsize, BlockStats & return code; } -// Adds the function to the list, unless it's already there -PPCAnalyst::SFunction *PPCAnalyst::AddFunction(u32 startAddr) +// Most functions that are relevant to analyze should be +// called by another function. Therefore, let's scan the +// entire space for bl operations and find what functions +// get called. + +void FindFunctionsFromBranches(u32 startAddr, u32 endAddr, FunctionDB *func_db) { - if (startAddr < 0x80000010) - return 0; - XFuncMap::iterator iter = functions.find(startAddr); - if (iter != functions.end()) - { - // it's already in the list - return 0; - } - else - { - SFunction tempFunc; //the current one we're working on - u32 targetEnd = AnalyzeFunction(startAddr, tempFunc); - if (targetEnd == 0) - return 0; //found a dud :( - - //LOG(HLE,"SFunction found at %08x",startAddr); - functions[startAddr] = tempFunc; - checksumToFunction[tempFunc.hash] = &(functions[startAddr]); - return &functions[startAddr]; - } -} - -//Most functions that are relevant to analyze should be -//called by another function. Therefore, let's scan the -//entire space for bl operations and find what functions -//get called. - -void PPCAnalyst::FindFunctionsFromBranches(u32 startAddr, u32 endAddr) -{ - functions.clear(); - checksumToFunction.clear(); - - for (u32 addr = startAddr; addrAddFunction(target); } } } @@ -637,14 +580,14 @@ void PPCAnalyst::FindFunctionsFromBranches(u32 startAddr, u32 endAddr) } } -void PPCAnalyst::FindFunctionsAfterBLR() +void FindFunctionsAfterBLR(FunctionDB *func_db) { vector funcAddrs; - for (XFuncMap::iterator iter = functions.begin(); iter!=functions.end(); iter++) + for (FunctionDB::XFuncMap::iterator iter = func_db->GetIterator(); iter != func_db->End(); iter++) funcAddrs.push_back(iter->second.address + iter->second.size*4); - for (vector::iterator iter = funcAddrs.begin(); iter!=funcAddrs.end(); iter++) + for (vector::iterator iter = funcAddrs.begin(); iter != funcAddrs.end(); iter++) { u32 location = *iter; while (true) @@ -652,7 +595,7 @@ void PPCAnalyst::FindFunctionsAfterBLR() if (PPCTables::IsValidInstruction(Memory::Read_Instruction(location))) { //check if this function is already mapped - SFunction *f = AddFunction(location); + SFunction *f = func_db->AddFunction(location); if (!f) break; else @@ -664,30 +607,26 @@ void PPCAnalyst::FindFunctionsAfterBLR() } } -void PPCAnalyst::FindFunctions(u32 startAddr, u32 endAddr) +void PPCAnalyst::FindFunctions(u32 startAddr, u32 endAddr, FunctionDB *func_db) { //Step 1: Find all functions - FindFunctionsFromBranches(startAddr, endAddr); - - - LOG(HLE,"Memory scan done. Found %i functions.",functions.size()); - FindFunctionsAfterBLR(); + FindFunctionsFromBranches(startAddr, endAddr, func_db); + FindFunctionsAfterBLR(func_db); - LOG(HLE,"Scanning after every function. Found %i new functions.",functions.size()); //Step 2: - FillInCallers(); + func_db->FillInCallers(); - int numLeafs = 0, numNice = 0, numUnNice=0, numTimer=0, numRFI=0, numStraightLeaf=0; + int numLeafs = 0, numNice = 0, numUnNice = 0, numTimer=0, numRFI=0, numStraightLeaf=0; int leafSize = 0, niceSize = 0, unniceSize = 0; - for (XFuncMap::iterator iter = functions.begin(); iter!=functions.end(); iter++) + for (FunctionDB::XFuncMap::iterator iter = func_db->GetIterator(); iter != func_db->End(); iter++) { if (iter->second.address == 4) { - LOG(HLE,"weird function"); + LOG(HLE, "weird function"); continue; } AnalyzeFunction2(iter->second); - SFunction &f=iter->second; + SFunction &f = iter->second; if (f.flags & FFLAG_LEAF) { numLeafs++; @@ -726,270 +665,50 @@ void PPCAnalyst::FindFunctions(u32 startAddr, u32 endAddr) else unniceSize /= numUnNice; - LOG(HLE,"Functions analyzed. %i leafs, %i nice, %i unnice. %i timer, %i rfi. %i are branchless leafs.",numLeafs,numNice,numUnNice,numTimer,numRFI,numStraightLeaf); - LOG(HLE,"Average size: %i (leaf), %i (nice), %i(unnice)",leafSize,niceSize,unniceSize); -// PPCAnalyst::LoadDolwinFuncDB(); + LOG(HLE, "Functions analyzed. %i leafs, %i nice, %i unnice. %i timer, %i rfi. %i are branchless leafs.",numLeafs,numNice,numUnNice,numTimer,numRFI,numStraightLeaf); + LOG(HLE, "Average size: %i (leaf), %i (nice), %i(unnice)", leafSize, niceSize, unniceSize); } -void PPCAnalyst::ListFunctions() +/* +void AnalyzeBackwards() { - for (XFuncMap::iterator iter = functions.begin(); iter!=functions.end(); iter++) - { - LOG(HLE,"%s @ %08x: %i bytes (hash %08x) : %i calls",iter->second.name.c_str(),iter->second.address,iter->second.size,iter->second.hash,iter->second.numCalls); - } - LOG(HLE,"%i functions known in this program above.",functions.size()); -} - -void PPCAnalyst::ListDB() -{ - for (XFuncDB::iterator iter = database.begin(); iter != database.end(); iter++) - { - LOG(HLE,"%s : %i bytes, hash = %08x",iter->second.name.c_str(), iter->second.size, iter->first); - } - LOG(HLE,"%i functions known in current database above.",database.size()); -} - -void PPCAnalyst::FillInCallers() -{ - // TODO(ector): I HAVE NO IDEA WHY, but this function overwrites the some - // data of "PPCAnalyst::XFuncMap PPCAnalyst::functions" - for (XFuncMap::iterator iter = functions.begin(); iter!=functions.end(); iter++) - { - SFunction &f = iter->second; - for (size_t i=0; ifirst, f.calls[i].callAddress); - u32 FunctioAddress = f.calls[i].function; - XFuncMap::iterator FuncIterator = functions.find(FunctioAddress); - if (FuncIterator != functions.end()) + for (int a = 0; asecond; - rCalledFunction.callers.push_back(NewCall); - } - else - { - LOG(HLE,"FillInCallers tries to fill data in an unknown fuction 0x%08x.", FunctioAddress); + u32 inst = Memory::ReadUnchecked_U32(ptr); + switch (inst >> 26) + { + case 18: + if (LK) //LK + { + u32 addr; + if(AA) + addr = SignExt26(LI << 2); + else + addr = ptr + SignExt26(LI << 2); + + int funNum = GetSymbolNum(addr); + if (funNum>=0) + entries[funNum].backwardLinks.push_back(ptr); + } + break; + default: + ; + } + ptr+=4; } } - } - -} - - - -u32 PPCAnalyst::FuncChecksum (u32 offsetStart, u32 offsetEnd) -{ - u32 sum = 0, offset; - u32 opcode, auxop, op, op2, op3; - - for (offset = offsetStart; offset <= offsetEnd; offset+=4) - { - opcode = Memory::Read_Instruction(offset); - op = opcode & 0xFC000000; - op2 = 0; - op3 = 0; - auxop = op >> 26; - switch (auxop) - { - case 4: //PS instructions - op2 = opcode & 0x0000003F; - switch ( op2 ) - { - case 0: - case 8: - case 16: - case 21: - case 22: - op3 = opcode & 0x000007C0; - } - break; - - case 7: //addi muli etc - case 8: - case 10: - case 11: - case 12: - case 13: - case 14: - case 15: - op2 = opcode & 0x03FF0000; - break; - - case 19: // MCRF?? - case 31: //integer - case 63: //fpu - op2 = opcode & 0x000007FF; - //why not bring in the RA RB RD/S too? - break; - case 59: //fpu - op2 = opcode & 0x0000003F; - if ( op2 < 16 ) - op3 = opcode & 0x000007C0; - break; - default: - if (auxop >= 32 && auxop < 56) - op2 = opcode & 0x03FF0000; - break; - } - // Checksum only uses opcode, not opcode data, because opcode data changes - // in all compilations, but opcodes dont! - sum = ( ( (sum << 17 ) & 0xFFFE0000 ) | ( (sum >> 15) & 0x0001FFFF ) ); - sum = sum ^ (op | op2 | op3); - } - return sum; -} - -struct FuncDesc -{ - u32 checkSum; - u32 size; - char name[128]; -}; - -bool PPCAnalyst::SaveFuncDB(const TCHAR *filename) -{ - FILE *f = fopen(filename,"wb"); - if (!f) - { - LOG(HLE,"Database save failed"); - return false; - } - int fcount = (int)database.size(); - fwrite(&fcount,4,1,f); - for (XFuncDB::iterator iter = database.begin(); iter!=database.end(); iter++) - { - FuncDesc temp; - memset(&temp,0,sizeof(temp)); - temp.checkSum = iter->first; - temp.size = iter->second.size; - strncpy(temp.name, iter->second.name.c_str(), 127); - fwrite(&temp,sizeof(temp),1,f); - } - fclose(f); - LOG(HLE,"Database save successful"); - return true; -} - -bool PPCAnalyst::LoadFuncDB(const TCHAR *filename) -{ - FILE *f = fopen(filename, "rb"); - if (!f) - { - LOG(HLE, "Database load failed"); - return false; - } - u32 fcount = 0; - fread(&fcount, 4, 1, f); - for (size_t i = 0; i < fcount; i++) - { - FuncDesc temp; - memset(&temp, 0, sizeof(temp)); - - fread(&temp, sizeof(temp), 1, f); - SDBFunc f; - f.name = temp.name; - f.size = temp.size; - database[temp.checkSum] = f; - } - fclose(f); - - UseFuncDB(); - LOG(HLE, "Database load successful"); - return true; -} - - -void PPCAnalyst::ClearDB() -{ - database.clear(); -} - -void PPCAnalyst::UseFuncDB() -{ - for (XFuncDB::iterator iter = database.begin(); iter!=database.end(); iter++) - { - u32 checkSum = iter->first; - XFuncPtrMap::iterator i = checksumToFunction.find(checkSum); - if (i != checksumToFunction.end()) - { - SFunction *f = (i->second); - if (iter->second.size == (unsigned int)f->size*4) - { - f->name = iter->second.name; - } - else - { - // This message is really useless. - //LOG(HLE,"%s, Right hash, wrong size! %08x %i %i",iter->second.name.c_str(),f->address,f->size,iter->second.size); - } - //LOG(HLE,"Found %s at %08x (size: %08x)!",iter->second.name.c_str(),f->address,f->size); - //found a function! - } - else - { - //function with this checksum not found - // LOG(HLE,"Did not find %s!",name); - } - } -} - -void PPCAnalyst::PrintCalls(u32 funcAddr) -{ - XFuncMap::iterator iter = functions.find(funcAddr); - if (iter != functions.end()) - { - SFunction &f = iter->second; - LOG(HLE,"The function %s at %08x calls:",f.name.c_str(), f.address); - for (vector::iterator fiter = f.calls.begin(); fiter!=f.calls.end(); fiter++) - { - XFuncMap::iterator n = functions.find(fiter->function); - if (n != functions.end()) - { - LOG(CONSOLE,"* %08x : %s", fiter->callAddress, n->second.name.c_str()); - } - } - } - else - { - LOG(CONSOLE,"SFunction does not exist"); - } -} - -void PPCAnalyst::PrintCallers(u32 funcAddr) -{ - XFuncMap::iterator iter = functions.find(funcAddr); - if (iter != functions.end()) - { - SFunction &f = iter->second; - LOG(CONSOLE,"The function %s at %08x is called by:",f.name.c_str(),f.address); - for (vector::iterator fiter = f.callers.begin(); fiter!=f.callers.end(); fiter++) - { - XFuncMap::iterator n = functions.find(fiter->function); - if (n != functions.end()) - { - LOG(CONSOLE,"* %08x : %s", fiter->callAddress, n->second.name.c_str()); - } - } - } -} - -void PPCAnalyst::GetAllFuncs(functionGetterCallback callback) -{ - XFuncMap::iterator iter = functions.begin(); - while (iter != functions.end()) - { - callback(&(iter->second)); - iter++; } +#endif } -void PPCAnalyst::LogFunctionCall(u32 addr) -{ - //u32 from = PC; - XFuncMap::iterator iter = functions.find(addr); - if (iter != functions.end()) - { - SFunction &f = iter->second; - f.numCalls++; - } -} +*/ + +} // namespace \ No newline at end of file diff --git a/Source/Core/Core/Src/PowerPC/PPCAnalyst.h b/Source/Core/Core/Src/PowerPC/PPCAnalyst.h index 18014e2eb7..34c180ba29 100644 --- a/Source/Core/Core/Src/PowerPC/PPCAnalyst.h +++ b/Source/Core/Core/Src/PowerPC/PPCAnalyst.h @@ -14,6 +14,7 @@ // Official SVN repository and contact information can be found at // http://code.google.com/p/dolphin-emu/ + #ifndef _PPCANALYST_H #define _PPCANALYST_H @@ -25,38 +26,17 @@ #include "Common.h" #include "Gekko.h" -class PPCAnalyst +class FunctionDB; +struct SFunction; + +namespace PPCAnalyst { -private: - - struct SCall - { - SCall(u32 a, u32 b) : - function(a), - callAddress(b) - {} - u32 function; - u32 callAddress; - }; - - struct SDBFunc - { - u32 size; - std::string name; - - SDBFunc() : - size(0) - { - } - }; - -public: struct CodeOp //16B { UGeckoInstruction inst; u32 address; u32 branchTo; //if 0, not a branch - int branchToIndex; //index of target block + int branchToIndex; //index of target block u8 regsOut[2]; u8 regsIn[3]; u8 fregOut; @@ -90,7 +70,7 @@ public: bool any; bool anyTimer; - int GetTotalNumAccesses(int reg) {return numReads[reg]+numWrites[reg];} + int GetTotalNumAccesses(int reg) {return numReads[reg] + numWrites[reg];} int GetUseRange(int reg) { return max(lastRead[reg], lastWrite[reg]) - min(firstRead[reg], firstWrite[reg]);} @@ -98,83 +78,13 @@ public: void ShuffleUp(CodeOp *code, int first, int last); - struct SFunction - { - SFunction() : - hash(0), - address(0), - flags(0), - size(0), - numCalls(0) - {} + CodeOp *Flatten(u32 address, u32 &realsize, BlockStats &st, BlockRegStats &gpa, BlockRegStats &fpa); - ~SFunction() - { - callers.clear(); - calls.clear(); - } + void LogFunctionCall(u32 addr); - std::string name; - std::vector callers; //addresses of functions that call this function - std::vector calls; //addresses of functions that are called by this function - u32 hash; //use for HLE function finding - u32 address; - u32 flags; - int size; - int numCalls; - }; - - enum - { - FFLAG_TIMERINSTRUCTIONS=(1<<0), - FFLAG_LEAF=(1<<1), - FFLAG_ONLYCALLSNICELEAFS=(1<<2), - FFLAG_EVIL=(1<<3), - FFLAG_RFI=(1<<4), - FFLAG_STRAIGHT=(1<<5) - }; - -private: - typedef void (*functionGetterCallback)(SFunction *f); - typedef std::map XFuncMap; - typedef std::map XFuncPtrMap; - typedef std::map XFuncDB; - - static XFuncMap functions; - static XFuncPtrMap checksumToFunction; - static XFuncDB database; - - static u32 AnalyzeFunction(u32 startAddr, SFunction &func); - static void AnalyzeFunction2(SFunction &func); - static u32 EvaluateBranchTarget(UGeckoInstruction instr, u32 pc); - static SFunction *AddFunction(u32 startAddr); - static void FindFunctionsFromBranches(u32 startAddr, u32 endAddr); - static u32 FuncChecksum (u32 offsetStart, u32 offsetEnd); - static void FillInCallers(); - static void FindFunctionsAfterBLR(); - static void FixUpInternalBranches(CodeOp *code, int begin, int end); - -public: - static CodeOp *Flatten(u32 address, u32 &realsize, BlockStats &st, BlockRegStats &gpa, BlockRegStats &fpa); - - static void LogFunctionCall(u32 addr); - - static void FindFunctions(u32 startAddr, u32 endAddr); - static void PrintCalls(u32 funcAddr); - static void PrintCallers(u32 funcAddr); - static void AddToFuncDB(u32 startAddr, u32 size, const TCHAR *name); - static void ListFunctions(); - - static bool SaveFuncDB(const TCHAR *filename); - static bool LoadFuncDB(const TCHAR *filename); - static void ClearDB(); - static void ListDB(); - static void UseFuncDB(); - static void CleanDB(); //remove zzz_ - - static void GetAllFuncs(functionGetterCallback callback); - -}; + void FindFunctions(u32 startAddr, u32 endAddr, FunctionDB *func_db); + bool AnalyzeFunction(u32 startAddr, SFunction &func); +} // namespace #endif diff --git a/Source/Core/Core/Src/PowerPC/PPCTables.h b/Source/Core/Core/Src/PowerPC/PPCTables.h index b7ce5b4a70..a0a08b61f4 100644 --- a/Source/Core/Core/Src/PowerPC/PPCTables.h +++ b/Source/Core/Core/Src/PowerPC/PPCTables.h @@ -14,6 +14,7 @@ // Official SVN repository and contact information can be found at // http://code.google.com/p/dolphin-emu/ + #ifndef _PPCTABLES_H #define _PPCTABLES_H diff --git a/Source/Core/Core/Src/PowerPC/SignatureDB.cpp b/Source/Core/Core/Src/PowerPC/SignatureDB.cpp new file mode 100644 index 0000000000..38f382c019 --- /dev/null +++ b/Source/Core/Core/Src/PowerPC/SignatureDB.cpp @@ -0,0 +1,203 @@ +// Copyright (C) 2003-2008 Dolphin Project. + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, version 2.0. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License 2.0 for more details. + +// A copy of the GPL 2.0 should have been included with the program. +// If not, see http://www.gnu.org/licenses/ + +// Official SVN repository and contact information can be found at +// http://code.google.com/p/dolphin-emu/ + +#include "Common.h" +#include "PPCAnalyst.h" +#include "../HW/Memmap.h" + +#include "SignatureDB.h" +#include "FunctionDB.h" + +namespace { + +// On-disk format for SignatureDB entries. +struct FuncDesc +{ + u32 checkSum; + u32 size; + char name[128]; +}; + +} // namespace + +bool SignatureDB::Load(const char *filename) +{ + FILE *f = fopen(filename, "rb"); + if (!f) + return false; + u32 fcount = 0; + fread(&fcount, 4, 1, f); + for (size_t i = 0; i < fcount; i++) + { + FuncDesc temp; + memset(&temp, 0, sizeof(temp)); + + fread(&temp, sizeof(temp), 1, f); + DBFunc f; + f.name = temp.name; + f.size = temp.size; + database[temp.checkSum] = f; + } + fclose(f); + return true; +} + +bool SignatureDB::Save(const char *filename) +{ + FILE *f = fopen(filename,"wb"); + if (!f) + { + LOG(HLE,"Database save failed"); + return false; + } + int fcount = (int)database.size(); + fwrite(&fcount, 4, 1, f); + for (FuncDB::const_iterator iter = database.begin(); iter != database.end(); iter++) + { + FuncDesc temp; + memset(&temp, 0, sizeof(temp)); + temp.checkSum = iter->first; + temp.size = iter->second.size; + strncpy(temp.name, iter->second.name.c_str(), 127); + fwrite(&temp, sizeof(temp), 1, f); + } + fclose(f); + LOG(HLE,"Database save successful"); + return true; +} + +//Adds a known function to the hash database +u32 SignatureDB::Add(u32 startAddr, u32 size, const char *name) +{ + u32 hash = ComputeCodeChecksum(startAddr, startAddr + size); + + DBFunc temp_dbfunc; + temp_dbfunc.size = size; + temp_dbfunc.name = name; + + FuncDB::iterator iter = database.find(hash); + if (iter == database.end()) + database[hash] = temp_dbfunc; + return hash; +} + +void SignatureDB::List() +{ + for (FuncDB::iterator iter = database.begin(); iter != database.end(); iter++) + { + LOG(HLE,"%s : %i bytes, hash = %08x",iter->second.name.c_str(), iter->second.size, iter->first); + } + LOG(HLE, "%i functions known in current database.", database.size()); +} + +void SignatureDB::Clear() +{ + database.clear(); +} + +void SignatureDB::Apply(FunctionDB *func_db) +{ + for (FuncDB::const_iterator iter = database.begin(); iter != database.end(); iter++) + { + u32 checkSum = iter->first; + SFunction *function = func_db->GetFunction(checkSum); + if (function) + { + // Found the function. Let's rename it according to the symbol file. + if (iter->second.size == (unsigned int)function->size * 4) + { + function->name = iter->second.name; + LOG(HLE,"Found %s at %08x (size: %08x)!", iter->second.name.c_str(), function->address, function->size); + } else + { + function->name = iter->second.name; + LOG(HLE,"Wrong sizzze! Found %s at %08x (size: %08x instead of %08x)!", iter->second.name.c_str(), function->address, function->size, iter->second.size); + } + } + } +} + +void SignatureDB::Initialize(FunctionDB *func_db) +{ + for (FunctionDB::XFuncMap::const_iterator iter = func_db->GetConstIterator(); iter != func_db->End(); iter++) + { + DBFunc temp_dbfunc; + temp_dbfunc.name = iter->second.name; + temp_dbfunc.size = iter->second.size; + database[iter->second.hash] = temp_dbfunc; + } +} + +/*static*/ u32 SignatureDB::ComputeCodeChecksum(u32 offsetStart, u32 offsetEnd) +{ + u32 sum = 0; + for (u32 offset = offsetStart; offset <= offsetEnd; offset += 4) + { + u32 opcode = Memory::Read_Instruction(offset); + u32 op = opcode & 0xFC000000; + u32 op2 = 0; + u32 op3 = 0; + u32 auxop = op >> 26; + switch (auxop) + { + case 4: //PS instructions + op2 = opcode & 0x0000003F; + switch ( op2 ) + { + case 0: + case 8: + case 16: + case 21: + case 22: + op3 = opcode & 0x000007C0; + } + break; + + case 7: //addi muli etc + case 8: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + op2 = opcode & 0x03FF0000; + break; + + case 19: // MCRF?? + case 31: //integer + case 63: //fpu + op2 = opcode & 0x000007FF; + break; + case 59: //fpu + op2 = opcode & 0x0000003F; + if (op2 < 16) + op3 = opcode & 0x000007C0; + break; + default: + if (auxop >= 32 && auxop < 56) + op2 = opcode & 0x03FF0000; + break; + } + // Checksum only uses opcode, not opcode data, because opcode data changes + // in all compilations, but opcodes dont! + sum = ( ( (sum << 17 ) & 0xFFFE0000 ) | ( (sum >> 15) & 0x0001FFFF ) ); + sum = sum ^ (op | op2 | op3); + } + return sum; +} + diff --git a/Source/Core/Core/Src/PowerPC/SignatureDB.h b/Source/Core/Core/Src/PowerPC/SignatureDB.h new file mode 100644 index 0000000000..51b8905110 --- /dev/null +++ b/Source/Core/Core/Src/PowerPC/SignatureDB.h @@ -0,0 +1,57 @@ +// Copyright (C) 2003-2008 Dolphin Project. + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, version 2.0. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License 2.0 for more details. + +// A copy of the GPL 2.0 should have been included with the program. +// If not, see http://www.gnu.org/licenses/ + +// Official SVN repository and contact information can be found at +// http://code.google.com/p/dolphin-emu/ + +#include "Common.h" + +#include +#include + +// You're not meant to keep around SignatureDB objects persistently. Use 'em, throw them away. + +class FunctionDB; + +class SignatureDB +{ + struct DBFunc + { + std::string name; + u32 size; + DBFunc() : size(0) + { + } + }; + + // Map from signature to function. We store the DB in this map because it optimizes the + // most common operation - lookup. We don't care about ordering anyway. + typedef std::map FuncDB; + FuncDB database; + +public: + // Returns the hash. + u32 Add(u32 startAddr, u32 size, const char *name); + + bool Load(const char *filename); // Does not clear. Remember to clear first if that's what you want. + bool Save(const char *filename); + void Clean(const char *prefix); + void Clear(); + void List(); + + void Initialize(FunctionDB *func_db); + void Apply(FunctionDB *func_db); + + static u32 ComputeCodeChecksum(u32 offsetStart, u32 offsetEnd); +}; diff --git a/Source/Core/Core/Src/SConscript b/Source/Core/Core/Src/SConscript index 2c864c2e7e..a1b7bca50e 100644 --- a/Source/Core/Core/Src/SConscript +++ b/Source/Core/Core/Src/SConscript @@ -57,6 +57,8 @@ files = ["Console.cpp", "PowerPC/PowerPC.cpp", "PowerPC/PPCAnalyst.cpp", "PowerPC/PPCTables.cpp", + "PowerPC/SignatureDB.cpp", + "PowerPC/FunctionDB.cpp", "PowerPC/Interpreter/Interpreter.cpp", "PowerPC/Interpreter/Interpreter_Branch.cpp", "PowerPC/Interpreter/Interpreter_Integer.cpp", diff --git a/Source/Core/DebuggerWX/DebuggerWX.vcproj b/Source/Core/DebuggerWX/DebuggerWX.vcproj index 5c3a87493c..7612ee032b 100644 --- a/Source/Core/DebuggerWX/DebuggerWX.vcproj +++ b/Source/Core/DebuggerWX/DebuggerWX.vcproj @@ -1,7 +1,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Append(IDM_SCANFUNCTIONS, _T("&Load symbol map")); + pSymbolsMenu->Append(IDM_SCANFUNCTIONS, _T("&Load/generate symbol map")); pSymbolsMenu->Append(IDM_SAVEMAPFILE, _T("&Save symbol map")); - pSymbolsMenu->Append(IDM_RENAMEFUNCTION, _T("&Rename function...")); + pSymbolsMenu->AppendSeparator(); + pSymbolsMenu->Append(IDM_CREATESIGNATUREFILE, _T("&Create signature file...")); + pSymbolsMenu->Append(IDM_USESIGNATUREFILE, _T("&Use signature file...")); pMenuBar->Append(pSymbolsMenu, _T("&Symbols")); } @@ -303,22 +308,51 @@ void CCodeWindow::OnSymbolsMenu(wxCommandEvent& event) case IDM_SCANFUNCTIONS: if (!File::Exists(mapfile)) { - PPCAnalyst::FindFunctions(0x80003100, 0x80400000); - if (PPCAnalyst::LoadFuncDB("Data/totaldb.dsy")) - { - Debugger::GetFromAnalyzer(); - NotifyMapLoaded(); - } + g_funcDB.Clear(); + PPCAnalyst::FindFunctions(0x80000000, 0x80400000, &g_funcDB); + SignatureDB db; + if (db.Load("data/totaldb.dsy")) + db.Apply(&g_funcDB); + Debugger::GetFromAnalyzer(); } else { Debugger::LoadSymbolMap(mapfile.c_str()); + Debugger::PushMapToFunctionDB(&g_funcDB); } + Host_NotifyMapLoaded(); break; -// case IDM_LOADMAPFILE: -// Debugger::LoadSymbolMap(mapfile.c_str()); -// break; case IDM_SAVEMAPFILE: Debugger::SaveSymbolMap(mapfile.c_str()); break; + case IDM_CREATESIGNATUREFILE: + { + wxString path = wxFileSelector( + _T("Save signature as"), wxEmptyString, wxEmptyString, wxEmptyString, + _T("Dolphin Signature File (*.dsy)|*.dsy;"), wxFD_SAVE, + this); + if (path) { + SignatureDB db; + db.Initialize(&g_funcDB); + std::string filename(path.ToAscii()); // PPCAnalyst::SaveSignatureDB( + db.Save(path.ToAscii()); + } + } + break; + case IDM_USESIGNATUREFILE: + { + wxString path = wxFileSelector( + _T("Apply signature file"), wxEmptyString, wxEmptyString, wxEmptyString, + _T("Dolphin Signature File (*.dsy)|*.dsy;"), wxFD_OPEN | wxFD_FILE_MUST_EXIST, + this); + if (path) { + SignatureDB db; + db.Load(path.ToAscii()); + db.Apply(&g_funcDB); + Debugger::Reset(); + Debugger::GetFromAnalyzer(); + } + } + Host_NotifyMapLoaded(); + break; } } @@ -395,7 +429,7 @@ void CCodeWindow::Update() callstack->Clear(); - std::vectorstack; + std::vector stack; if (Debugger::GetCallstack(stack)) { @@ -474,7 +508,7 @@ void CCodeWindow::UpdateButtonStates() void CCodeWindow::OnSymbolListChange(wxCommandEvent& event) { int index = symbols->GetSelection(); - Debugger::CSymbol* pSymbol = static_cast(symbols->GetClientData(index)); + Debugger::Symbol* pSymbol = static_cast(symbols->GetClientData(index)); if (pSymbol != NULL) { diff --git a/Source/Core/DebuggerWX/src/CodeWindow.h b/Source/Core/DebuggerWX/src/CodeWindow.h index 0276a99c60..45e965928e 100644 --- a/Source/Core/DebuggerWX/src/CodeWindow.h +++ b/Source/Core/DebuggerWX/src/CodeWindow.h @@ -81,9 +81,10 @@ class CCodeWindow IDM_MEMORYWINDOW, IDM_SCANFUNCTIONS, IDM_LOGINSTRUCTIONS, - IDM_LOADMAPFILE, IDM_SAVEMAPFILE, - IDM_RENAMEFUNCTION, + IDM_CREATESIGNATUREFILE, + IDM_USESIGNATUREFILE, + IDM_USESYMBOLFILE, IDM_CLEARCODECACHE, }; diff --git a/Source/Core/DebuggerWX/src/MemoryWindow.cpp b/Source/Core/DebuggerWX/src/MemoryWindow.cpp index fac7a46e3a..7e276d8b5a 100644 --- a/Source/Core/DebuggerWX/src/MemoryWindow.cpp +++ b/Source/Core/DebuggerWX/src/MemoryWindow.cpp @@ -167,7 +167,7 @@ void CMemoryWindow::NotifyMapLoaded() void CMemoryWindow::OnSymbolListChange(wxCommandEvent& event) { int index = symbols->GetSelection(); - Debugger::CSymbol* pSymbol = static_cast(symbols->GetClientData(index)); + Debugger::Symbol* pSymbol = static_cast(symbols->GetClientData(index)); if (pSymbol != NULL) { diff --git a/Source/Core/DiscIO/DiscIO.vcproj b/Source/Core/DiscIO/DiscIO.vcproj index 0ae2713654..12330539c5 100644 --- a/Source/Core/DiscIO/DiscIO.vcproj +++ b/Source/Core/DiscIO/DiscIO.vcproj @@ -1,7 +1,7 @@ @@ -83,130 +83,6 @@ Name="VCPostBuildEventTool" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -304,6 +244,70 @@ RuntimeLibrary="0" UsePrecompiledHeader="2" WarningLevel="3" + WarnAsError="false" + DebugInformationFormat="3" + ForcedIncludeFiles="" + /> + + + + + + + + + + + + + + + + + @@ -366,6 +370,7 @@ RuntimeLibrary="0" UsePrecompiledHeader="2" WarningLevel="3" + WarnAsError="false" DebugInformationFormat="3" ForcedIncludeFiles="" /> @@ -420,24 +425,6 @@ ForcedIncludeFiles=" " /> - - - - - - @@ -447,6 +434,15 @@ ForcedIncludeFiles=" " /> + + + @@ -456,6 +452,15 @@ ForcedIncludeFiles=" " /> + + + @@ -478,24 +483,6 @@ ForcedIncludeFiles=" " /> - - - - - - @@ -505,6 +492,15 @@ ForcedIncludeFiles=" " /> + + + @@ -514,6 +510,15 @@ ForcedIncludeFiles=" " /> + + + @@ -547,22 +552,6 @@ ForcedIncludeFiles="stdafx.h" /> - - - - - - @@ -571,6 +560,14 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -579,6 +576,14 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -603,22 +608,6 @@ ForcedIncludeFiles="stdafx.h" /> - - - - - - @@ -627,6 +616,14 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -635,6 +632,14 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -659,22 +664,6 @@ ForcedIncludeFiles="stdafx.h" /> - - - - - - @@ -683,6 +672,14 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -691,6 +688,14 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -718,22 +723,6 @@ ForcedIncludeFiles="stdafx.h" /> - - - - - - @@ -742,6 +731,14 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -750,6 +747,14 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -779,22 +784,6 @@ ForcedIncludeFiles="stdafx.h" /> - - - - - - @@ -803,6 +792,14 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -811,6 +808,14 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -835,22 +840,6 @@ ForcedIncludeFiles="stdafx.h" /> - - - - - - @@ -859,6 +848,14 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -867,6 +864,14 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -895,22 +900,6 @@ ForcedIncludeFiles="stdafx.h" /> - - - - - - @@ -919,6 +908,14 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -927,6 +924,14 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -951,22 +956,6 @@ ForcedIncludeFiles="stdafx.h" /> - - - - - - @@ -975,6 +964,14 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -983,6 +980,14 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -1007,22 +1012,6 @@ ForcedIncludeFiles="stdafx.h" /> - - - - - - @@ -1031,6 +1020,14 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -1039,6 +1036,14 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -1063,22 +1068,6 @@ ForcedIncludeFiles="stdafx.h" /> - - - - - - @@ -1087,6 +1076,14 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -1095,6 +1092,14 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -1120,22 +1125,6 @@ UsePrecompiledHeader="1" /> - - - - - - @@ -1144,6 +1133,14 @@ UsePrecompiledHeader="1" /> + + + @@ -1152,6 +1149,14 @@ UsePrecompiledHeader="1" /> + + + diff --git a/Source/Core/DolphinWX/DolphinWX.vcproj b/Source/Core/DolphinWX/DolphinWX.vcproj index 9b52a08908..c916521fce 100644 --- a/Source/Core/DolphinWX/DolphinWX.vcproj +++ b/Source/Core/DolphinWX/DolphinWX.vcproj @@ -1,7 +1,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - @@ -902,6 +893,14 @@ UsePrecompiledHeader="0" /> + + + @@ -910,6 +909,14 @@ UsePrecompiledHeader="0" /> + + + diff --git a/Source/Core/VideoCommon/VideoCommon.vcproj b/Source/Core/VideoCommon/VideoCommon.vcproj index 32cb23a248..abbae9310c 100644 --- a/Source/Core/VideoCommon/VideoCommon.vcproj +++ b/Source/Core/VideoCommon/VideoCommon.vcproj @@ -1,7 +1,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - @@ -785,6 +776,14 @@ UsePrecompiledHeader="1" /> + + + @@ -793,6 +792,14 @@ UsePrecompiledHeader="1" /> + + + diff --git a/Source/Plugins/Plugin_DSP_LLE/Plugin_DSP_LLE.vcproj b/Source/Plugins/Plugin_DSP_LLE/Plugin_DSP_LLE.vcproj index 68537aa47c..e703ea5cf3 100644 --- a/Source/Plugins/Plugin_DSP_LLE/Plugin_DSP_LLE.vcproj +++ b/Source/Plugins/Plugin_DSP_LLE/Plugin_DSP_LLE.vcproj @@ -1,7 +1,7 @@ @@ -102,182 +102,6 @@ Name="VCPostBuildEventTool" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -364,6 +189,95 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + @@ -453,6 +368,95 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + @@ -733,22 +738,6 @@ UsePrecompiledHeader="1" /> - - - - - - @@ -757,6 +746,14 @@ UsePrecompiledHeader="1" /> + + + @@ -765,6 +762,14 @@ UsePrecompiledHeader="1" /> + + + diff --git a/Source/Plugins/Plugin_PadDX9/Plugin_PadDX9.vcproj b/Source/Plugins/Plugin_PadDX9/Plugin_PadDX9.vcproj index f2669dfb1b..df5498fe42 100644 --- a/Source/Plugins/Plugin_PadDX9/Plugin_PadDX9.vcproj +++ b/Source/Plugins/Plugin_PadDX9/Plugin_PadDX9.vcproj @@ -1,7 +1,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -355,7 +158,7 @@ RuntimeLibrary="0" BufferSecurityCheck="false" EnableFunctionLevelLinking="true" - FloatingPointModel="2" + FloatingPointModel="0" UsePrecompiledHeader="1" PrecompiledHeaderThrough="stdafx.h" PrecompiledHeaderFile="$(IntDir)\$(TargetName).pch" @@ -363,6 +166,7 @@ ObjectFile="$(IntDir)\" ProgramDataBaseFileName="$(IntDir)\" WarningLevel="3" + WarnAsError="false" SuppressStartupBanner="true" /> + + + + + + + + + + + + + + + + + + + + @@ -508,6 +412,106 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + @@ -688,6 +702,16 @@ BasicRuntimeChecks="3" /> + + + @@ -697,25 +721,6 @@ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PAD_DIRECTX9_EXPORTS;$(NoInherit)" /> - - - - - - diff --git a/Source/Plugins/Plugin_PadSimple/Plugin_PadSimple.vcproj b/Source/Plugins/Plugin_PadSimple/Plugin_PadSimple.vcproj index 397b1720b7..b74fb33cc0 100644 --- a/Source/Plugins/Plugin_PadSimple/Plugin_PadSimple.vcproj +++ b/Source/Plugins/Plugin_PadSimple/Plugin_PadSimple.vcproj @@ -1,7 +1,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -420,6 +221,105 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -661,6 +666,15 @@ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PAD_SIMPLE_EXPORTS;$(NoInherit)" /> + + + @@ -671,6 +685,16 @@ BasicRuntimeChecks="3" /> + + + @@ -680,25 +704,6 @@ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PAD_SIMPLE_EXPORTS;$(NoInherit)" /> - - - - - - @@ -738,6 +743,15 @@ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PAD_SIMPLE_EXPORTS;$(NoInherit)" /> + + + @@ -748,6 +762,16 @@ BasicRuntimeChecks="3" /> + + + @@ -757,25 +781,6 @@ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PAD_SIMPLE_EXPORTS;$(NoInherit)" /> - - - - - - @@ -803,6 +808,16 @@ UsePrecompiledHeader="1" /> + + + @@ -814,6 +829,17 @@ UsePrecompiledHeader="1" /> + + + @@ -824,27 +850,6 @@ UsePrecompiledHeader="1" /> - - - - - - diff --git a/Source/Plugins/Plugin_VideoDX9/Plugin_VideoDX9.vcproj b/Source/Plugins/Plugin_VideoDX9/Plugin_VideoDX9.vcproj index 04fb918a3a..0ea331d0b7 100644 --- a/Source/Plugins/Plugin_VideoDX9/Plugin_VideoDX9.vcproj +++ b/Source/Plugins/Plugin_VideoDX9/Plugin_VideoDX9.vcproj @@ -1,7 +1,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - @@ -710,6 +695,16 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -720,6 +715,16 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -748,26 +753,6 @@ ForcedIncludeFiles="stdafx.h" /> - - - - - - @@ -778,6 +763,16 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -788,6 +783,16 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -816,26 +821,6 @@ ForcedIncludeFiles="stdafx.h" /> - - - - - - @@ -846,6 +831,16 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -856,6 +851,16 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -885,28 +890,6 @@ ForcedIncludeFiles="stdafx.h" /> - - - - - - @@ -918,6 +901,17 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -929,6 +923,17 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -959,28 +964,6 @@ ForcedIncludeFiles="stdafx.h" /> - - - - - - @@ -992,6 +975,17 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -1003,6 +997,17 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -1033,28 +1038,6 @@ ForcedIncludeFiles="stdafx.h" /> - - - - - - @@ -1066,6 +1049,17 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -1077,6 +1071,17 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -1106,26 +1111,6 @@ ForcedIncludeFiles="stdafx.h" /> - - - - - - @@ -1136,6 +1121,16 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -1146,6 +1141,16 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -1174,26 +1179,6 @@ ForcedIncludeFiles="stdafx.h" /> - - - - - - @@ -1204,6 +1189,16 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -1214,6 +1209,16 @@ ForcedIncludeFiles="stdafx.h" /> + + + @@ -1494,24 +1499,6 @@ PrecompiledHeaderThrough="stdafx.h" /> - - - - - - @@ -1521,6 +1508,15 @@ PrecompiledHeaderThrough="stdafx.h" /> + + + @@ -1530,6 +1526,15 @@ PrecompiledHeaderThrough="stdafx.h" /> + + + diff --git a/Source/Plugins/Plugin_VideoDX9/Src/OpcodeDecoding.cpp b/Source/Plugins/Plugin_VideoDX9/Src/OpcodeDecoding.cpp index 914acd7f29..d9bdc337da 100644 --- a/Source/Plugins/Plugin_VideoDX9/Src/OpcodeDecoding.cpp +++ b/Source/Plugins/Plugin_VideoDX9/Src/OpcodeDecoding.cpp @@ -38,6 +38,14 @@ extern int FAKE_GetFifoSize(); CDataReader_Fifo g_fifoReader; +template +void Xchg(T& a, T&b) +{ + T c = a; + a = b; + b = c; +} + void ExecuteDisplayList(u32 address, u32 size) { IDataReader* pOldReader = g_pDataReader; @@ -46,11 +54,24 @@ void ExecuteDisplayList(u32 address, u32 size) CDataReader_Memory memoryReader(address); g_pDataReader = &memoryReader; + // temporarily swap dl and non-dl(small "hack" for the stats) + Xchg(stats.thisFrame.numDLPrims,stats.thisFrame.numPrims); + Xchg(stats.thisFrame.numXFLoadsInDL,stats.thisFrame.numXFLoads); + Xchg(stats.thisFrame.numCPLoadsInDL,stats.thisFrame.numCPLoads); + Xchg(stats.thisFrame.numBPLoadsInDL,stats.thisFrame.numBPLoads); + while((memoryReader.GetReadAddress() - address) < size) { Decode(); } - INCSTAT(stats.numDListsAlive); + + // un-swap + Xchg(stats.thisFrame.numDLPrims,stats.thisFrame.numPrims); + Xchg(stats.thisFrame.numXFLoadsInDL,stats.thisFrame.numXFLoads); + Xchg(stats.thisFrame.numCPLoadsInDL,stats.thisFrame.numCPLoads); + Xchg(stats.thisFrame.numBPLoadsInDL,stats.thisFrame.numBPLoads); + + INCSTAT(stats.numDListsCalled); // reset to the old reader g_pDataReader = pOldReader; } diff --git a/Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcproj b/Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcproj index 75f44e0627..a33c162276 100644 --- a/Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcproj +++ b/Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcproj @@ -1,7 +1,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - @@ -695,6 +684,14 @@ UsePrecompiledHeader="0" /> + + + @@ -703,6 +700,14 @@ UsePrecompiledHeader="0" /> + + + @@ -859,22 +864,6 @@ UsePrecompiledHeader="0" /> - - - - - - @@ -883,6 +872,14 @@ UsePrecompiledHeader="0" /> + + + @@ -891,6 +888,14 @@ UsePrecompiledHeader="0" /> + + + @@ -924,22 +929,6 @@ UsePrecompiledHeader="1" /> - - - - - - @@ -948,6 +937,14 @@ UsePrecompiledHeader="1" /> + + + @@ -956,6 +953,14 @@ UsePrecompiledHeader="1" /> + + + @@ -988,22 +993,6 @@ UsePrecompiledHeader="0" /> - - - - - - @@ -1014,6 +1003,14 @@ PrecompiledHeaderFile="" /> + + + @@ -1022,6 +1019,14 @@ UsePrecompiledHeader="0" /> + + +