summaryrefslogtreecommitdiff
path: root/src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk
diff options
context:
space:
mode:
Diffstat (limited to 'src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk')
-rw-r--r--src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/PackageLayout.xml10
-rw-r--r--src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/src/testgdk.cpp462
-rw-r--r--src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/testgdk.vcxproj401
-rw-r--r--src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/testgdk.vcxproj.filters53
-rw-r--r--src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/wingdk/MicrosoftGame.config34
-rw-r--r--src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/xboxone/MicrosoftGame.config29
-rw-r--r--src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/xboxseries/MicrosoftGame.config29
7 files changed, 1018 insertions, 0 deletions
diff --git a/src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/PackageLayout.xml b/src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/PackageLayout.xml
new file mode 100644
index 0000000..abee981
--- /dev/null
+++ b/src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/PackageLayout.xml
@@ -0,0 +1,10 @@
1<Package>
2 <Chunk Id="1000" Marker="Launch">
3 <FileGroup DestinationPath="." SourcePath="." Include="testgdk.exe" />
4 <FileGroup DestinationPath="." SourcePath="." Include="MicrosoftGame.config" />
5 <FileGroup DestinationPath="." SourcePath="." Include="*.bmp" />
6 <FileGroup DestinationPath="." SourcePath="." Include="*.wav" />
7 <FileGroup DestinationPath="." SourcePath="." Include="*.png" />
8 <FileGroup DestinationPath="." SourcePath="." Include="*.dll" />
9 </Chunk>
10</Package>
diff --git a/src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/src/testgdk.cpp b/src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/src/testgdk.cpp
new file mode 100644
index 0000000..51fc75b
--- /dev/null
+++ b/src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/src/testgdk.cpp
@@ -0,0 +1,462 @@
1/*
2 Copyright (C) 1997-2025 Sam Lantinga <slouken@libsdl.org>
3
4 This software is provided 'as-is', without any express or implied
5 warranty. In no event will the authors be held liable for any damages
6 arising from the use of this software.
7
8 Permission is granted to anyone to use this software for any purpose,
9 including commercial applications, and to alter it and redistribute it
10 freely.
11*/
12/* testgdk: Basic tests of using task queue/xbl (with simple drawing) in GDK.
13 * NOTE: As of June 2022 GDK, login will only work if MicrosoftGame.config is
14 * configured properly. See README-gdk.md.
15 */
16
17#include <stdlib.h>
18#include <stdio.h>
19#include <time.h>
20
21#include <SDL3/SDL_test.h>
22#include <SDL3/SDL_test_common.h>
23#include "../src/core/windows/SDL_windows.h"
24#include <SDL3/SDL_main.h>
25
26extern "C" {
27#include "../test/testutils.h"
28}
29
30#include <XGameRuntime.h>
31
32#define NUM_SPRITES 100
33#define MAX_SPEED 1
34
35static SDLTest_CommonState *state;
36static int num_sprites;
37static SDL_Texture **sprites;
38static bool cycle_color;
39static bool cycle_alpha;
40static int cycle_direction = 1;
41static int current_alpha = 0;
42static int current_color = 0;
43static int sprite_w, sprite_h;
44static SDL_BlendMode blendMode = SDL_BLENDMODE_BLEND;
45
46int done;
47
48static struct
49{
50 SDL_AudioSpec spec;
51 Uint8 *sound; /* Pointer to wave data */
52 Uint32 soundlen; /* Length of wave data */
53 int soundpos; /* Current play position */
54} wave;
55
56static SDL_AudioStream *stream;
57
58/* Call this instead of exit(), so we can clean up SDL: atexit() is evil. */
59static void
60quit(int rc)
61{
62 SDL_free(sprites);
63 SDL_DestroyAudioStream(stream);
64 SDL_free(wave.sound);
65 SDLTest_CommonQuit(state);
66 /* If rc is 0, just let main return normally rather than calling exit.
67 * This allows testing of platforms where SDL_main is required and does meaningful cleanup.
68 */
69 if (rc != 0) {
70 exit(rc);
71 }
72}
73
74static int fillerup(void)
75{
76 const int minimum = (wave.soundlen / SDL_AUDIO_FRAMESIZE(wave.spec)) / 2;
77 if (SDL_GetAudioStreamQueued(stream) < minimum) {
78 SDL_PutAudioStreamData(stream, wave.sound, wave.soundlen);
79 }
80 return 0;
81}
82
83void
84UserLoggedIn(XUserHandle user)
85{
86 HRESULT hr;
87 char gamertag[128];
88 hr = XUserGetGamertag(user, XUserGamertagComponent::UniqueModern, sizeof(gamertag), gamertag, NULL);
89
90 if (SUCCEEDED(hr)) {
91 SDL_Log("User logged in: %s", gamertag);
92 } else {
93 SDL_Log("[GDK] UserLoggedIn -- XUserGetGamertag failed: 0x%08x.", hr);
94 }
95
96 XUserCloseHandle(user);
97}
98
99void
100AddUserUICallback(XAsyncBlock *asyncBlock)
101{
102 HRESULT hr;
103 XUserHandle user = NULL;
104
105 hr = XUserAddResult(asyncBlock, &user);
106 if (SUCCEEDED(hr)) {
107 uint64_t userId;
108
109 hr = XUserGetId(user, &userId);
110 if (FAILED(hr)) {
111 /* If unable to get the user ID, it means the account is banned, etc. */
112 SDL_Log("[GDK] AddUserSilentCallback -- XUserGetId failed: 0x%08x.", hr);
113 XUserCloseHandle(user);
114
115 /* Per the docs, likely should call XUserResolveIssueWithUiAsync here. */
116 } else {
117 UserLoggedIn(user);
118 }
119 } else {
120 SDL_Log("[GDK] AddUserUICallback -- XUserAddAsync failed: 0x%08x.", hr);
121 }
122
123 delete asyncBlock;
124}
125
126void
127AddUserUI()
128{
129 HRESULT hr;
130 XAsyncBlock *asyncBlock = new XAsyncBlock;
131
132 asyncBlock->context = NULL;
133 asyncBlock->queue = NULL; /* A null queue will use the global process task queue */
134 asyncBlock->callback = &AddUserUICallback;
135
136 hr = XUserAddAsync(XUserAddOptions::None, asyncBlock);
137
138 if (FAILED(hr)) {
139 delete asyncBlock;
140 SDL_Log("[GDK] AddUserSilent -- failed: 0x%08x", hr);
141 }
142}
143
144void
145AddUserSilentCallback(XAsyncBlock *asyncBlock)
146{
147 HRESULT hr;
148 XUserHandle user = NULL;
149
150 hr = XUserAddResult(asyncBlock, &user);
151 if (SUCCEEDED(hr)) {
152 uint64_t userId;
153
154 hr = XUserGetId(user, &userId);
155 if (FAILED(hr)) {
156 /* If unable to get the user ID, it means the account is banned, etc. */
157 SDL_Log("[GDK] AddUserSilentCallback -- XUserGetId failed: 0x%08x. Trying with UI.", hr);
158 XUserCloseHandle(user);
159 AddUserUI();
160 } else {
161 UserLoggedIn(user);
162 }
163 } else {
164 SDL_Log("[GDK] AddUserSilentCallback -- XUserAddAsync failed: 0x%08x. Trying with UI.", hr);
165 AddUserUI();
166 }
167
168 delete asyncBlock;
169}
170
171void
172AddUserSilent()
173{
174 HRESULT hr;
175 XAsyncBlock *asyncBlock = new XAsyncBlock;
176
177 asyncBlock->context = NULL;
178 asyncBlock->queue = NULL; /* A null queue will use the global process task queue */
179 asyncBlock->callback = &AddUserSilentCallback;
180
181 hr = XUserAddAsync(XUserAddOptions::AddDefaultUserSilently, asyncBlock);
182
183 if (FAILED(hr)) {
184 delete asyncBlock;
185 SDL_Log("[GDK] AddUserSilent -- failed: 0x%08x", hr);
186 }
187}
188
189int
190LoadSprite(const char *file)
191{
192 int i;
193
194 for (i = 0; i < state->num_windows; ++i) {
195 /* This does the SDL_LoadBMP step repeatedly, but that's OK for test code. */
196 sprites[i] = LoadTexture(state->renderers[i], file, true, &sprite_w, &sprite_h);
197 if (!sprites[i]) {
198 return -1;
199 }
200 if (!SDL_SetTextureBlendMode(sprites[i], blendMode)) {
201 SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't set blend mode: %s", SDL_GetError());
202 SDL_DestroyTexture(sprites[i]);
203 return -1;
204 }
205 }
206
207 /* We're ready to roll. :) */
208 return 0;
209}
210
211void
212DrawSprites(SDL_Renderer * renderer, SDL_Texture * sprite)
213{
214 SDL_Rect viewport;
215 SDL_FRect temp;
216
217 /* Query the sizes */
218 SDL_GetRenderViewport(renderer, &viewport);
219
220 /* Cycle the color and alpha, if desired */
221 if (cycle_color) {
222 current_color += cycle_direction;
223 if (current_color < 0) {
224 current_color = 0;
225 cycle_direction = -cycle_direction;
226 }
227 if (current_color > 255) {
228 current_color = 255;
229 cycle_direction = -cycle_direction;
230 }
231 SDL_SetTextureColorMod(sprite, 255, (Uint8) current_color,
232 (Uint8) current_color);
233 }
234 if (cycle_alpha) {
235 current_alpha += cycle_direction;
236 if (current_alpha < 0) {
237 current_alpha = 0;
238 cycle_direction = -cycle_direction;
239 }
240 if (current_alpha > 255) {
241 current_alpha = 255;
242 cycle_direction = -cycle_direction;
243 }
244 SDL_SetTextureAlphaMod(sprite, (Uint8) current_alpha);
245 }
246
247 /* Draw a gray background */
248 SDL_SetRenderDrawColor(renderer, 0xA0, 0xA0, 0xA0, 0xFF);
249 SDL_RenderClear(renderer);
250
251 /* Test points */
252 SDL_SetRenderDrawColor(renderer, 0xFF, 0x00, 0x00, 0xFF);
253 SDL_RenderPoint(renderer, 0.0f, 0.0f);
254 SDL_RenderPoint(renderer, (float)(viewport.w - 1), 0.0f);
255 SDL_RenderPoint(renderer, 0.0f, (float)(viewport.h - 1));
256 SDL_RenderPoint(renderer, (float)(viewport.w - 1), (float)(viewport.h - 1));
257
258 /* Test horizontal and vertical lines */
259 SDL_SetRenderDrawColor(renderer, 0x00, 0xFF, 0x00, 0xFF);
260 SDL_RenderLine(renderer, 1.0f, 0.0f, (float)(viewport.w - 2), 0.0f);
261 SDL_RenderLine(renderer, 1.0f, (float)(viewport.h - 1), (float)(viewport.w - 2), (float)(viewport.h - 1));
262 SDL_RenderLine(renderer, 0.0f, 1.0f, 0.0f, (float)(viewport.h - 2));
263 SDL_RenderLine(renderer, (float)(viewport.w - 1), 1, (float)(viewport.w - 1), (float)(viewport.h - 2));
264
265 /* Test fill and copy */
266 SDL_SetRenderDrawColor(renderer, 0xFF, 0xFF, 0xFF, 0xFF);
267 temp.x = 1.0f;
268 temp.y = 1.0f;
269 temp.w = (float)sprite_w;
270 temp.h = (float)sprite_h;
271 SDL_RenderFillRect(renderer, &temp);
272 SDL_RenderTexture(renderer, sprite, NULL, &temp);
273 temp.x = (float)(viewport.w-sprite_w-1);
274 temp.y = 1.0f;
275 temp.w = (float)sprite_w;
276 temp.h = (float)sprite_h;
277 SDL_RenderFillRect(renderer, &temp);
278 SDL_RenderTexture(renderer, sprite, NULL, &temp);
279 temp.x = 1.0f;
280 temp.y = (float)(viewport.h-sprite_h-1);
281 temp.w = (float)sprite_w;
282 temp.h = (float)sprite_h;
283 SDL_RenderFillRect(renderer, &temp);
284 SDL_RenderTexture(renderer, sprite, NULL, &temp);
285 temp.x = (float)(viewport.w-sprite_w-1);
286 temp.y = (float)(viewport.h-sprite_h-1);
287 temp.w = (float)(sprite_w);
288 temp.h = (float)(sprite_h);
289 SDL_RenderFillRect(renderer, &temp);
290 SDL_RenderTexture(renderer, sprite, NULL, &temp);
291
292 /* Test diagonal lines */
293 SDL_SetRenderDrawColor(renderer, 0x00, 0xFF, 0x00, 0xFF);
294 SDL_RenderLine(renderer, (float)sprite_w, (float)sprite_h,
295 (float)(viewport.w-sprite_w-2), (float)(viewport.h-sprite_h-2));
296 SDL_RenderLine(renderer, (float)(viewport.w-sprite_w-2), (float)sprite_h,
297 (float)sprite_w, (float)(viewport.h-sprite_h-2));
298
299 /* Update the screen! */
300 SDL_RenderPresent(renderer);
301}
302
303void
304loop()
305{
306 int i;
307 SDL_Event event;
308
309 /* Check for events */
310 while (SDL_PollEvent(&event)) {
311 if (event.type == SDL_EVENT_KEY_DOWN && !event.key.repeat) {
312 SDL_Log("Initial SDL_EVENT_KEY_DOWN: %s", SDL_GetScancodeName(event.key.scancode));
313 }
314#if defined(SDL_PLATFORM_XBOXONE) || defined(SDL_PLATFORM_XBOXSERIES)
315 /* On Xbox, ignore the keydown event because the features aren't supported */
316 if (event.type != SDL_EVENT_KEY_DOWN) {
317 SDLTest_CommonEvent(state, &event, &done);
318 }
319#else
320 SDLTest_CommonEvent(state, &event, &done);
321#endif
322 }
323 for (i = 0; i < state->num_windows; ++i) {
324 if (state->windows[i] == NULL) {
325 continue;
326 }
327 DrawSprites(state->renderers[i], sprites[i]);
328 }
329 fillerup();
330}
331
332int
333main(int argc, char *argv[])
334{
335 int i;
336 const char *icon = "icon.bmp";
337 char *soundname = NULL;
338
339 /* Initialize parameters */
340 num_sprites = NUM_SPRITES;
341
342 /* Initialize test framework */
343 state = SDLTest_CommonCreateState(argv, SDL_INIT_VIDEO | SDL_INIT_AUDIO);
344 if (!state) {
345 return 1;
346 }
347
348 for (i = 1; i < argc;) {
349 int consumed;
350
351 consumed = SDLTest_CommonArg(state, i);
352 if (consumed == 0) {
353 consumed = -1;
354 if (SDL_strcasecmp(argv[i], "--blend") == 0) {
355 if (argv[i + 1]) {
356 if (SDL_strcasecmp(argv[i + 1], "none") == 0) {
357 blendMode = SDL_BLENDMODE_NONE;
358 consumed = 2;
359 } else if (SDL_strcasecmp(argv[i + 1], "blend") == 0) {
360 blendMode = SDL_BLENDMODE_BLEND;
361 consumed = 2;
362 } else if (SDL_strcasecmp(argv[i + 1], "add") == 0) {
363 blendMode = SDL_BLENDMODE_ADD;
364 consumed = 2;
365 } else if (SDL_strcasecmp(argv[i + 1], "mod") == 0) {
366 blendMode = SDL_BLENDMODE_MOD;
367 consumed = 2;
368 } else if (SDL_strcasecmp(argv[i + 1], "sub") == 0) {
369 blendMode = SDL_ComposeCustomBlendMode(SDL_BLENDFACTOR_SRC_ALPHA, SDL_BLENDFACTOR_ONE, SDL_BLENDOPERATION_SUBTRACT, SDL_BLENDFACTOR_ZERO, SDL_BLENDFACTOR_ONE, SDL_BLENDOPERATION_SUBTRACT);
370 consumed = 2;
371 }
372 }
373 } else if (SDL_strcasecmp(argv[i], "--cyclecolor") == 0) {
374 cycle_color = true;
375 consumed = 1;
376 } else if (SDL_strcasecmp(argv[i], "--cyclealpha") == 0) {
377 cycle_alpha = true;
378 consumed = 1;
379 } else if (SDL_isdigit(*argv[i])) {
380 num_sprites = SDL_atoi(argv[i]);
381 consumed = 1;
382 } else if (argv[i][0] != '-') {
383 icon = argv[i];
384 consumed = 1;
385 }
386 }
387 if (consumed < 0) {
388 static const char *options[] = {
389 "[--blend none|blend|add|mod]",
390 "[--cyclecolor]",
391 "[--cyclealpha]",
392 "[num_sprites]",
393 "[icon.bmp]",
394 NULL };
395 SDLTest_CommonLogUsage(state, argv[0], options);
396 quit(1);
397 }
398 i += consumed;
399 }
400 if (!SDLTest_CommonInit(state)) {
401 quit(2);
402 }
403
404 /* Create the windows, initialize the renderers, and load the textures */
405 sprites =
406 (SDL_Texture **) SDL_malloc(state->num_windows * sizeof(*sprites));
407 if (!sprites) {
408 SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Out of memory!");
409 quit(2);
410 }
411 for (i = 0; i < state->num_windows; ++i) {
412 SDL_Renderer *renderer = state->renderers[i];
413 SDL_SetRenderDrawColor(renderer, 0xA0, 0xA0, 0xA0, 0xFF);
414 SDL_RenderClear(renderer);
415 }
416 if (LoadSprite(icon) < 0) {
417 quit(2);
418 }
419
420 soundname = GetResourceFilename(argc > 1 ? argv[1] : NULL, "sample.wav");
421
422 if (!soundname) {
423 SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "%s", SDL_GetError());
424 quit(1);
425 }
426
427 /* Load the wave file into memory */
428 if (!SDL_LoadWAV(soundname, &wave.spec, &wave.sound, &wave.soundlen)) {
429 SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't load %s: %s", soundname, SDL_GetError());
430 quit(1);
431 }
432
433 /* Show the list of available drivers */
434 SDL_Log("Available audio drivers:");
435 for (i = 0; i < SDL_GetNumAudioDrivers(); ++i) {
436 SDL_Log("%i: %s", i, SDL_GetAudioDriver(i));
437 }
438
439 SDL_Log("Using audio driver: %s", SDL_GetCurrentAudioDriver());
440
441 stream = SDL_OpenAudioDeviceStream(SDL_AUDIO_DEVICE_DEFAULT_PLAYBACK, &wave.spec, NULL, NULL);
442 if (!stream) {
443 SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't create audio stream: %s", SDL_GetError());
444 return -1;
445 }
446 SDL_ResumeAudioDevice(SDL_GetAudioStreamDevice(stream));
447
448 /* Main render loop */
449 done = 0;
450
451 /* Try to add the default user silently */
452 AddUserSilent();
453
454 while (!done) {
455 loop();
456 }
457
458 quit(0);
459
460 SDL_free(soundname);
461 return 0;
462}
diff --git a/src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/testgdk.vcxproj b/src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/testgdk.vcxproj
new file mode 100644
index 0000000..c16fade
--- /dev/null
+++ b/src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/testgdk.vcxproj
@@ -0,0 +1,401 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup Label="ProjectConfigurations">
4 <ProjectConfiguration Include="Debug|Gaming.Desktop.x64">
5 <Configuration>Debug</Configuration>
6 <Platform>Gaming.Desktop.x64</Platform>
7 </ProjectConfiguration>
8 <ProjectConfiguration Include="Debug|Gaming.Xbox.Scarlett.x64">
9 <Configuration>Debug</Configuration>
10 <Platform>Gaming.Xbox.Scarlett.x64</Platform>
11 </ProjectConfiguration>
12 <ProjectConfiguration Include="Debug|Gaming.Xbox.XboxOne.x64">
13 <Configuration>Debug</Configuration>
14 <Platform>Gaming.Xbox.XboxOne.x64</Platform>
15 </ProjectConfiguration>
16 <ProjectConfiguration Include="Release|Gaming.Desktop.x64">
17 <Configuration>Release</Configuration>
18 <Platform>Gaming.Desktop.x64</Platform>
19 </ProjectConfiguration>
20 <ProjectConfiguration Include="Release|Gaming.Xbox.Scarlett.x64">
21 <Configuration>Release</Configuration>
22 <Platform>Gaming.Xbox.Scarlett.x64</Platform>
23 </ProjectConfiguration>
24 <ProjectConfiguration Include="Release|Gaming.Xbox.XboxOne.x64">
25 <Configuration>Release</Configuration>
26 <Platform>Gaming.Xbox.XboxOne.x64</Platform>
27 </ProjectConfiguration>
28 </ItemGroup>
29 <PropertyGroup Label="Globals">
30 <ProjectGuid>{1C9A3F71-35A5-4C56-B292-F4375B3C3649}</ProjectGuid>
31 <RootNamespace>testsprite</RootNamespace>
32 <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
33 </PropertyGroup>
34 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
35 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Desktop.x64'" Label="Configuration">
36 <ConfigurationType>Application</ConfigurationType>
37 <PlatformToolset Condition="'$(VisualStudioVersion)' != '10.0'">$(DefaultPlatformToolset)</PlatformToolset>
38 </PropertyGroup>
39 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.Scarlett.x64'" Label="Configuration">
40 <ConfigurationType>Application</ConfigurationType>
41 <PlatformToolset Condition="'$(VisualStudioVersion)' != '10.0'">$(DefaultPlatformToolset)</PlatformToolset>
42 <UseDebugLibraries>true</UseDebugLibraries>
43 </PropertyGroup>
44 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.XboxOne.x64'" Label="Configuration">
45 <ConfigurationType>Application</ConfigurationType>
46 <PlatformToolset Condition="'$(VisualStudioVersion)' != '10.0'">$(DefaultPlatformToolset)</PlatformToolset>
47 <UseDebugLibraries>true</UseDebugLibraries>
48 </PropertyGroup>
49 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Desktop.x64'" Label="Configuration">
50 <ConfigurationType>Application</ConfigurationType>
51 <PlatformToolset Condition="'$(VisualStudioVersion)' != '10.0'">$(DefaultPlatformToolset)</PlatformToolset>
52 </PropertyGroup>
53 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.Scarlett.x64'" Label="Configuration">
54 <ConfigurationType>Application</ConfigurationType>
55 <PlatformToolset Condition="'$(VisualStudioVersion)' != '10.0'">$(DefaultPlatformToolset)</PlatformToolset>
56 </PropertyGroup>
57 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.XboxOne.x64'" Label="Configuration">
58 <ConfigurationType>Application</ConfigurationType>
59 <PlatformToolset Condition="'$(VisualStudioVersion)' != '10.0'">$(DefaultPlatformToolset)</PlatformToolset>
60 </PropertyGroup>
61 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
62 <ImportGroup Label="ExtensionSettings">
63 </ImportGroup>
64 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Desktop.x64'" Label="PropertySheets">
65 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
66 </ImportGroup>
67 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.Scarlett.x64'" Label="PropertySheets">
68 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
69 </ImportGroup>
70 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.XboxOne.x64'" Label="PropertySheets">
71 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
72 </ImportGroup>
73 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Desktop.x64'" Label="PropertySheets">
74 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
75 </ImportGroup>
76 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.Scarlett.x64'" Label="PropertySheets">
77 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
78 </ImportGroup>
79 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.XboxOne.x64'" Label="PropertySheets">
80 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
81 </ImportGroup>
82 <PropertyGroup Label="UserMacros" />
83 <PropertyGroup>
84 <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
85 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Desktop.x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
86 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.Scarlett.x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
87 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.XboxOne.x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
88 <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Desktop.x64'">$(Platform)\$(Configuration)\</IntDir>
89 <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.Scarlett.x64'">$(Platform)\$(Configuration)\</IntDir>
90 <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.XboxOne.x64'">$(Platform)\$(Configuration)\</IntDir>
91 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Desktop.x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
92 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.Scarlett.x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
93 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.XboxOne.x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
94 <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Desktop.x64'">$(Platform)\$(Configuration)\</IntDir>
95 <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.Scarlett.x64'">$(Platform)\$(Configuration)\</IntDir>
96 <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.XboxOne.x64'">$(Platform)\$(Configuration)\</IntDir>
97 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Desktop.x64'">AllRules.ruleset</CodeAnalysisRuleSet>
98 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.Scarlett.x64'">AllRules.ruleset</CodeAnalysisRuleSet>
99 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.XboxOne.x64'">AllRules.ruleset</CodeAnalysisRuleSet>
100 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Desktop.x64'" />
101 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.Scarlett.x64'" />
102 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.XboxOne.x64'" />
103 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Desktop.x64'" />
104 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.Scarlett.x64'" />
105 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.XboxOne.x64'" />
106 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Desktop.x64'">AllRules.ruleset</CodeAnalysisRuleSet>
107 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.Scarlett.x64'">AllRules.ruleset</CodeAnalysisRuleSet>
108 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.XboxOne.x64'">AllRules.ruleset</CodeAnalysisRuleSet>
109 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Desktop.x64'" />
110 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.Scarlett.x64'" />
111 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.XboxOne.x64'" />
112 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Desktop.x64'" />
113 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.Scarlett.x64'" />
114 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.XboxOne.x64'" />
115 </PropertyGroup>
116 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Desktop.x64'">
117 <Midl>
118 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
119 <MkTypLibCompatible>true</MkTypLibCompatible>
120 <SuppressStartupBanner>true</SuppressStartupBanner>
121 <TypeLibraryName>.\Release/testsprite.tlb</TypeLibraryName>
122 </Midl>
123 <ClCompile>
124 <AdditionalOptions>%(AdditionalOptions) /utf-8</AdditionalOptions>
125 <AdditionalIncludeDirectories>$(SolutionDir)/../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
126 <AdditionalUsingDirectories>%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
127 <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
128 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
129 <WarningLevel>Level3</WarningLevel>
130 </ClCompile>
131 <ResourceCompile>
132 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
133 <Culture>0x0409</Culture>
134 </ResourceCompile>
135 <Link>
136 <SubSystem>Windows</SubSystem>
137 <AdditionalDependencies>xgameruntime.lib;../Microsoft.Xbox.Services.GDK.C.Thunks.lib;%(AdditionalDependencies)</AdditionalDependencies>
138 </Link>
139 <PostBuildEvent>
140 <Command>
141 </Command>
142 </PostBuildEvent>
143 </ItemDefinitionGroup>
144 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.Scarlett.x64'">
145 <Midl>
146 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
147 <MkTypLibCompatible>true</MkTypLibCompatible>
148 <SuppressStartupBanner>true</SuppressStartupBanner>
149 <TypeLibraryName>.\Release/testsprite.tlb</TypeLibraryName>
150 </Midl>
151 <ClCompile>
152 <AdditionalOptions>%(AdditionalOptions) /utf-8</AdditionalOptions>
153 <AdditionalIncludeDirectories>$(SolutionDir)/../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
154 <AdditionalUsingDirectories>%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
155 <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
156 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
157 <WarningLevel>Level3</WarningLevel>
158 </ClCompile>
159 <ResourceCompile>
160 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
161 <Culture>0x0409</Culture>
162 </ResourceCompile>
163 <Link>
164 <SubSystem>Windows</SubSystem>
165 <AdditionalDependencies>xgameruntime.lib;%(AdditionalDependencies)</AdditionalDependencies>
166 </Link>
167 <PostBuildEvent>
168 <Command>
169 </Command>
170 </PostBuildEvent>
171 </ItemDefinitionGroup>
172 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.XboxOne.x64'">
173 <Midl>
174 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
175 <MkTypLibCompatible>true</MkTypLibCompatible>
176 <SuppressStartupBanner>true</SuppressStartupBanner>
177 <TypeLibraryName>.\Release/testsprite.tlb</TypeLibraryName>
178 </Midl>
179 <ClCompile>
180 <AdditionalOptions>%(AdditionalOptions) /utf-8</AdditionalOptions>
181 <AdditionalIncludeDirectories>$(SolutionDir)/../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
182 <AdditionalUsingDirectories>%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
183 <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
184 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
185 <WarningLevel>Level3</WarningLevel>
186 </ClCompile>
187 <ResourceCompile>
188 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
189 <Culture>0x0409</Culture>
190 </ResourceCompile>
191 <Link>
192 <SubSystem>Windows</SubSystem>
193 <AdditionalDependencies>xgameruntime.lib;%(AdditionalDependencies)</AdditionalDependencies>
194 </Link>
195 <PostBuildEvent>
196 <Command>
197 </Command>
198 </PostBuildEvent>
199 </ItemDefinitionGroup>
200 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Desktop.x64'">
201 <Midl>
202 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
203 <MkTypLibCompatible>true</MkTypLibCompatible>
204 <SuppressStartupBanner>true</SuppressStartupBanner>
205 <TypeLibraryName>.\Debug/testsprite.tlb</TypeLibraryName>
206 </Midl>
207 <ClCompile>
208 <AdditionalOptions>%(AdditionalOptions) /utf-8</AdditionalOptions>
209 <Optimization>Disabled</Optimization>
210 <AdditionalIncludeDirectories>$(SolutionDir)/../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
211 <AdditionalUsingDirectories>%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
212 <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
213 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
214 <WarningLevel>Level3</WarningLevel>
215 <DebugInformationFormat>OldStyle</DebugInformationFormat>
216 </ClCompile>
217 <ResourceCompile>
218 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
219 <Culture>0x0409</Culture>
220 </ResourceCompile>
221 <Link>
222 <GenerateDebugInformation>true</GenerateDebugInformation>
223 <SubSystem>Windows</SubSystem>
224 <AdditionalDependencies>xgameruntime.lib;../Microsoft.Xbox.Services.GDK.C.Thunks.lib;%(AdditionalDependencies)</AdditionalDependencies>
225 </Link>
226 <PostBuildEvent>
227 <Command>
228 </Command>
229 </PostBuildEvent>
230 </ItemDefinitionGroup>
231 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.Scarlett.x64'">
232 <Midl>
233 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
234 <MkTypLibCompatible>true</MkTypLibCompatible>
235 <SuppressStartupBanner>true</SuppressStartupBanner>
236 <TypeLibraryName>.\Debug/testsprite.tlb</TypeLibraryName>
237 </Midl>
238 <ClCompile>
239 <AdditionalOptions>%(AdditionalOptions) /utf-8</AdditionalOptions>
240 <Optimization>Disabled</Optimization>
241 <AdditionalIncludeDirectories>$(SolutionDir)/../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
242 <AdditionalUsingDirectories>%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
243 <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
244 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
245 <WarningLevel>Level3</WarningLevel>
246 <DebugInformationFormat>OldStyle</DebugInformationFormat>
247 </ClCompile>
248 <ResourceCompile>
249 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
250 <Culture>0x0409</Culture>
251 </ResourceCompile>
252 <Link>
253 <GenerateDebugInformation>true</GenerateDebugInformation>
254 <SubSystem>Windows</SubSystem>
255 <AdditionalDependencies>xgameruntime.lib;%(AdditionalDependencies)</AdditionalDependencies>
256 </Link>
257 <PostBuildEvent>
258 <Command>
259 </Command>
260 </PostBuildEvent>
261 </ItemDefinitionGroup>
262 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.XboxOne.x64'">
263 <Midl>
264 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
265 <MkTypLibCompatible>true</MkTypLibCompatible>
266 <SuppressStartupBanner>true</SuppressStartupBanner>
267 <TypeLibraryName>.\Debug/testsprite.tlb</TypeLibraryName>
268 </Midl>
269 <ClCompile>
270 <AdditionalOptions>%(AdditionalOptions) /utf-8</AdditionalOptions>
271 <Optimization>Disabled</Optimization>
272 <AdditionalIncludeDirectories>$(SolutionDir)/../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
273 <AdditionalUsingDirectories>%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
274 <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
275 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
276 <WarningLevel>Level3</WarningLevel>
277 <DebugInformationFormat>OldStyle</DebugInformationFormat>
278 </ClCompile>
279 <ResourceCompile>
280 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
281 <Culture>0x0409</Culture>
282 </ResourceCompile>
283 <Link>
284 <GenerateDebugInformation>true</GenerateDebugInformation>
285 <SubSystem>Windows</SubSystem>
286 <AdditionalDependencies>xgameruntime.lib;%(AdditionalDependencies)</AdditionalDependencies>
287 </Link>
288 <PostBuildEvent>
289 <Command>
290 </Command>
291 </PostBuildEvent>
292 </ItemDefinitionGroup>
293 <ItemDefinitionGroup Condition="'$(TreatWarningsAsError)'!=''">
294 <ClCompile>
295 <AdditionalOptions>%(AdditionalOptions) /utf-8</AdditionalOptions>
296 <TreatWarningAsError>$(TreatWarningsAsError)</TreatWarningAsError>
297 </ClCompile>
298 </ItemDefinitionGroup>
299 <ItemGroup>
300 <ProjectReference Include="..\..\SDL\SDL.vcxproj">
301 <Project>{81ce8daf-ebb2-4761-8e45-b71abcca8c68}</Project>
302 <Private>false</Private>
303 <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
304 <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
305 </ProjectReference>
306 <ProjectReference Include="..\..\SDL_test\SDL_test.vcxproj">
307 <Project>{da956fd3-e143-46f2-9fe5-c77bebc56b1a}</Project>
308 <Private>false</Private>
309 <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
310 <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
311 </ProjectReference>
312 </ItemGroup>
313 <ItemGroup>
314 <CopyFileToFolders Include="..\..\..\test\icon.bmp">
315 <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Desktop.x64'">Copying %(Filename)%(Extension)</Message>
316 <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.Scarlett.x64'">Copying %(Filename)%(Extension)</Message>
317 <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.XboxOne.x64'">Copying %(Filename)%(Extension)</Message>
318 <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Desktop.x64'">copy "%(FullPath)" "$(ProjectDir)\"
319copy "%(FullPath)" "$(OutDir)\"</Command>
320 <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.Scarlett.x64'">copy "%(FullPath)" "$(ProjectDir)\"
321copy "%(FullPath)" "$(OutDir)\"</Command>
322 <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.XboxOne.x64'">copy "%(FullPath)" "$(ProjectDir)\"
323copy "%(FullPath)" "$(OutDir)\"</Command>
324 <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Desktop.x64'">$(ProjectDir)\%(Filename)%(Extension);%(Outputs)</Outputs>
325 <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.Scarlett.x64'">$(ProjectDir)\%(Filename)%(Extension);%(Outputs)</Outputs>
326 <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.XboxOne.x64'">$(ProjectDir)\%(Filename)%(Extension);%(Outputs)</Outputs>
327 <Message Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Desktop.x64'">Copying %(Filename)%(Extension)</Message>
328 <Message Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.Scarlett.x64'">Copying %(Filename)%(Extension)</Message>
329 <Message Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.XboxOne.x64'">Copying %(Filename)%(Extension)</Message>
330 <Command Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Desktop.x64'">copy "%(FullPath)" "$(ProjectDir)\"
331copy "%(FullPath)" "$(OutDir)\"</Command>
332 <Command Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.Scarlett.x64'">copy "%(FullPath)" "$(ProjectDir)\"
333copy "%(FullPath)" "$(OutDir)\"</Command>
334 <Command Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.XboxOne.x64'">copy "%(FullPath)" "$(ProjectDir)\"
335copy "%(FullPath)" "$(OutDir)\"</Command>
336 <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Desktop.x64'">$(ProjectDir)\%(Filename)%(Extension);%(Outputs)</Outputs>
337 <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.Scarlett.x64'">$(ProjectDir)\%(Filename)%(Extension);%(Outputs)</Outputs>
338 <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.XboxOne.x64'">$(ProjectDir)\%(Filename)%(Extension);%(Outputs)</Outputs>
339 </CopyFileToFolders>
340 </ItemGroup>
341 <ItemGroup>
342 <ClCompile Include="..\..\..\test\testutils.c" />
343 <ClCompile Include="src\testgdk.cpp" />
344 </ItemGroup>
345 <ItemGroup>
346 <CopyFileToFolders Include="wingdk\MicrosoftGame.config">
347 <FileType>Document</FileType>
348 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.Scarlett.x64'">true</ExcludedFromBuild>
349 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.XboxOne.x64'">true</ExcludedFromBuild>
350 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.Scarlett.x64'">true</ExcludedFromBuild>
351 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.XboxOne.x64'">true</ExcludedFromBuild>
352 </CopyFileToFolders>
353 </ItemGroup>
354 <ItemGroup>
355 <CopyFileToFolders Include="$(Console_GRDKExtLibRoot)Xbox.Services.API.C\DesignTime\CommonConfiguration\Neutral\Lib\Release\Microsoft.Xbox.Services.GDK.C.Thunks.dll">
356 <FileType>Document</FileType>
357 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.Scarlett.x64'">true</ExcludedFromBuild>
358 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.XboxOne.x64'">true</ExcludedFromBuild>
359 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.Scarlett.x64'">true</ExcludedFromBuild>
360 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.XboxOne.x64'">true</ExcludedFromBuild>
361 </CopyFileToFolders>
362 </ItemGroup>
363 <ItemGroup>
364 <CopyFileToFolders Include="..\..\logos\Logo100x100.png" />
365 <CopyFileToFolders Include="..\..\logos\Logo150x150.png" />
366 <CopyFileToFolders Include="..\..\logos\Logo44x44.png" />
367 <CopyFileToFolders Include="..\..\logos\Logo480x480.png" />
368 </ItemGroup>
369 <ItemGroup>
370 <CopyFileToFolders Include="PackageLayout.xml" />
371 </ItemGroup>
372 <ItemGroup>
373 <CopyFileToFolders Include="xboxseries\MicrosoftGame.config">
374 <FileType>Document</FileType>
375 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Desktop.x64'">true</ExcludedFromBuild>
376 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Desktop.x64'">true</ExcludedFromBuild>
377 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.XboxOne.x64'">true</ExcludedFromBuild>
378 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.XboxOne.x64'">true</ExcludedFromBuild>
379 </CopyFileToFolders>
380 </ItemGroup>
381 <ItemGroup>
382 <CopyFileToFolders Include="..\..\..\test\sample.wav">
383 <FileType>Document</FileType>
384 </CopyFileToFolders>
385 </ItemGroup>
386 <ItemGroup>
387 <CopyFileToFolders Include="xboxone\MicrosoftGame.config">
388 <FileType>Document</FileType>
389 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Desktop.x64'">true</ExcludedFromBuild>
390 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Desktop.x64'">true</ExcludedFromBuild>
391 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.Scarlett.x64'">true</ExcludedFromBuild>
392 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.Scarlett.x64'">true</ExcludedFromBuild>
393 </CopyFileToFolders>
394 </ItemGroup>
395 <ItemGroup>
396 <CopyFileToFolders Include="..\..\logos\SplashScreenImage.png" />
397 </ItemGroup>
398 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
399 <ImportGroup Label="ExtensionTargets">
400 </ImportGroup>
401</Project> \ No newline at end of file
diff --git a/src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/testgdk.vcxproj.filters b/src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/testgdk.vcxproj.filters
new file mode 100644
index 0000000..1cbae86
--- /dev/null
+++ b/src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/testgdk.vcxproj.filters
@@ -0,0 +1,53 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup>
4 <ClCompile Include="..\..\..\test\testutils.c" />
5 <ClCompile Include="src\testgdk.cpp" />
6 </ItemGroup>
7 <ItemGroup>
8 <CopyFileToFolders Include="..\..\..\test\icon.bmp" />
9 <CopyFileToFolders Include="..\..\logos\Logo44x44.png">
10 <Filter>logos</Filter>
11 </CopyFileToFolders>
12 <CopyFileToFolders Include="..\..\logos\Logo100x100.png">
13 <Filter>logos</Filter>
14 </CopyFileToFolders>
15 <CopyFileToFolders Include="..\..\logos\Logo150x150.png">
16 <Filter>logos</Filter>
17 </CopyFileToFolders>
18 <CopyFileToFolders Include="..\..\logos\Logo480x480.png">
19 <Filter>logos</Filter>
20 </CopyFileToFolders>
21 <CopyFileToFolders Include="wingdk\MicrosoftGame.config">
22 <Filter>wingdk</Filter>
23 </CopyFileToFolders>
24 <CopyFileToFolders Include="xboxseries\MicrosoftGame.config">
25 <Filter>xboxseries</Filter>
26 </CopyFileToFolders>
27 <CopyFileToFolders Include="..\..\..\test\sample.wav" />
28 <CopyFileToFolders Include="xboxone\MicrosoftGame.config">
29 <Filter>xboxone</Filter>
30 </CopyFileToFolders>
31 <CopyFileToFolders Include="..\..\logos\SplashScreenImage.png">
32 <Filter>logos</Filter>
33 </CopyFileToFolders>
34 <CopyFileToFolders Include="PackageLayout.xml" />
35 <CopyFileToFolders Include="$(Console_GRDKExtLibRoot)Xbox.Services.API.C\DesignTime\CommonConfiguration\Neutral\Lib\Release\Microsoft.Xbox.Services.GDK.C.Thunks.dll">
36 <Filter>wingdk</Filter>
37 </CopyFileToFolders>
38 </ItemGroup>
39 <ItemGroup>
40 <Filter Include="logos">
41 <UniqueIdentifier>{c3c871f2-c7b7-4025-8ba4-037dde717fe1}</UniqueIdentifier>
42 </Filter>
43 <Filter Include="wingdk">
44 <UniqueIdentifier>{1678a80d-0ee8-4f48-bf89-9462d82dd98a}</UniqueIdentifier>
45 </Filter>
46 <Filter Include="xboxseries">
47 <UniqueIdentifier>{1b47b96b-507e-40ec-9c25-99b1a4d5b575}</UniqueIdentifier>
48 </Filter>
49 <Filter Include="xboxone">
50 <UniqueIdentifier>{ac7aa2d5-f0f7-46eb-a548-5b6316f3b63b}</UniqueIdentifier>
51 </Filter>
52 </ItemGroup>
53</Project> \ No newline at end of file
diff --git a/src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/wingdk/MicrosoftGame.config b/src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/wingdk/MicrosoftGame.config
new file mode 100644
index 0000000..afd57d6
--- /dev/null
+++ b/src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/wingdk/MicrosoftGame.config
@@ -0,0 +1,34 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Game configVersion="1">
3
4 <!-- Set these to the correct identifiers from Partner Center -->
5 <Identity Name="SDL"
6 Version="1.0.0.0"
7 Publisher="CN=Publisher"/>
8
9 <ExecutableList>
10 <Executable Name="testgdk.exe"
11 TargetDeviceFamily="PC"
12 Id="Game" />
13 </ExecutableList>
14
15 <DesktopRegistration>
16 <DependencyList>
17 <KnownDependency Name="VC14"/>
18 </DependencyList>
19 </DesktopRegistration>
20
21 <!-- Set these to the correct values from Partner Center -->
22 <MSAAppId>PleaseChangeMe</MSAAppId>
23 <TitleId>FFFFFFFF</TitleId>
24
25 <ShellVisuals DefaultDisplayName="testgdk"
26 PublisherDisplayName="SDL"
27 Square480x480Logo="Logo480x480.png"
28 Square150x150Logo="Logo150x150.png"
29 Square44x44Logo="Logo44x44.png"
30 Description="testgdk"
31 ForegroundText="light"
32 BackgroundColor="#000000"
33 StoreLogo="Logo100x100.png"/>
34</Game> \ No newline at end of file
diff --git a/src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/xboxone/MicrosoftGame.config b/src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/xboxone/MicrosoftGame.config
new file mode 100644
index 0000000..a593bd1
--- /dev/null
+++ b/src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/xboxone/MicrosoftGame.config
@@ -0,0 +1,29 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Game configVersion="1">
3
4 <!-- Set these to the correct identifiers from Partner Center -->
5 <Identity Name="SDL"
6 Version="1.0.0.0"
7 Publisher="CN=Publisher"/>
8
9 <ExecutableList>
10 <Executable Name="testgdk.exe"
11 TargetDeviceFamily="XboxOne"
12 Id="Game" />
13 </ExecutableList>
14
15 <!-- Set these to the correct values from Partner Center -->
16 <MSAAppId>PleaseChangeMe</MSAAppId>
17 <TitleId>FFFFFFFF</TitleId>
18
19 <ShellVisuals DefaultDisplayName="testgdk"
20 PublisherDisplayName="SDL"
21 Square480x480Logo="Logo480x480.png"
22 Square150x150Logo="Logo150x150.png"
23 Square44x44Logo="Logo44x44.png"
24 SplashScreenImage="SplashScreenImage.png"
25 Description="testgdk"
26 ForegroundText="light"
27 BackgroundColor="#000000"
28 StoreLogo="Logo100x100.png"/>
29</Game> \ No newline at end of file
diff --git a/src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/xboxseries/MicrosoftGame.config b/src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/xboxseries/MicrosoftGame.config
new file mode 100644
index 0000000..1ab7c17
--- /dev/null
+++ b/src/contrib/SDL-3.2.20/VisualC-GDK/tests/testgdk/xboxseries/MicrosoftGame.config
@@ -0,0 +1,29 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Game configVersion="1">
3
4 <!-- Set these to the correct identifiers from Partner Center -->
5 <Identity Name="SDL"
6 Version="1.0.0.0"
7 Publisher="CN=Publisher"/>
8
9 <ExecutableList>
10 <Executable Name="testgdk.exe"
11 TargetDeviceFamily="Scarlett"
12 Id="Game" />
13 </ExecutableList>
14
15 <!-- Set these to the correct values from Partner Center -->
16 <MSAAppId>PleaseChangeMe</MSAAppId>
17 <TitleId>FFFFFFFF</TitleId>
18
19 <ShellVisuals DefaultDisplayName="testgdk"
20 PublisherDisplayName="SDL"
21 Square480x480Logo="Logo480x480.png"
22 Square150x150Logo="Logo150x150.png"
23 Square44x44Logo="Logo44x44.png"
24 SplashScreenImage="SplashScreenImage.png"
25 Description="testgdk"
26 ForegroundText="light"
27 BackgroundColor="#000000"
28 StoreLogo="Logo100x100.png"/>
29</Game> \ No newline at end of file