Device .pdx Generation not Working (Windows)

Hi there.

I am working on a simple hello world example using the C api.

I have this compiling fine for the simulator after following the "Building for the Simulator using Visual Studio 2019" steps in the C SDK docs. This creates the hello_world.pdx folder as expected and I can load this in simulator.

I am now following the later steps "Building for the Playdate using NMake" to get the game built for the device. Looking through the output from nmake this all seems to be building fine, but I do not end up with a hello_world.pdx file, I end up with a .pdx folder instead.

I have tried to run the pdc tool myself. I am running this from the project root:

%PLAYDATE_SDK%/bin/pdc -sdkpath %PLAYDATE_SDK% Source hello_world.pdx

This seems to only leave me with the pdx folder as with the steps from building for the simulator, rather than producing a pdx file.

Moreover, this pdx folder can still be loaded by the simulator, which also seem strange.
edit I realised why it can still run in the simulator, this is because it is scooping up the old pdex.dll that is in my Sources folder from when I did the windows build. I tried cleaning this up and re-running the nmake build and I still just get a hello_world.pdx folder but without the pdex.dll as I would expect. For reference, that pdx folder has pdex.bin and pdxinfo files.

Am I missing something? Any help appreciated.

I am wondering whether I am just misunderstanding the docs, and you never get a .pdx file and you just install the .pdx folder to the device instead.

Cheers.

On Windows you will never get a .pdx file. The documention has had a bug report. On Macs they hide the fact that a .pdx is a folder and it looks like a file. On Windows it's just a folder/directory. So after you do make, then build in visual studio, eastist thing to do is bring up the simulator from Window Manager, then drag and drop the .pdx folder onto the running simulator.

Thanks for the reply.

Is that true for the device as well? I would deploy the .pdx folder to install the game on a real device?

Cheers.

Sorry I don't have my PD yet so I don't now how it works on the device. I believe there were some instructions mentioned in the URL that talks about the C api.

Yes that's correct. PDXs are folders. On macos you can declare certain folder extensions as bundles and then Finder treats them as files. It's very convenient but looks weird on other OSs.