~skeeto/public-inbox

1

Re: A guide to Windows application development using w64devkit

Eric Farmer
Details
Message ID
<CAAuXPZqqt4cW5HwurNc06MBOaA_6XwYEig6p6ZVgHric2g2HAQ@mail.gmail.com>
DKIM signature
pass
Download raw message
Thanks for great work, this is my go-to environment for
as-portable-as-I-know-how-to-make-it C++ code. You sort of buried the
lead :) waiting until the end to mention the very cool Asteroids demo!
This will be a nice dependency-less OpenGL and sound tutorial for me.
I did encounter an error trying to run this, complaining about a
missing xinput1_3.dll; but changing the LDLIBS to use xinput1_4
instead worked fine.

Re: A guide to Windows application development using w64devkit

Details
Message ID
<20210311212858.c6hzgkz46iaqbwwf@nullprogram.com>
In-Reply-To
<CAAuXPZqqt4cW5HwurNc06MBOaA_6XwYEig6p6ZVgHric2g2HAQ@mail.gmail.com> (view parent)
DKIM signature
missing
Download raw message
> You sort of buried the lead :) waiting until the end to mention the very 
> cool Asteroids demo!

Heh, given your comment I've decided to move the video to the top of the 
article so that hopefully it more quickly grabs attention.

> This will be a nice dependency-less OpenGL and sound tutorial for me.

Note that it's OpenGL 1.1 since I wanted to keep it really simple. It's 
good enough for some things, like an Asteroids clone, but not everything. 
This is the last version of OpenGL directly supported by Windows, and so 
it's very easy to use. Later versions require accessing extensions, 
creating multiple OpenGL contexts, and using an OpenGL loader. I've worked 
all that out, too, in large part thanks to the OpenGL wiki, and I should 
probably publish it in some form.

> I did encounter an error trying to run this, complaining about a missing 
> xinput1_3.dll; but changing the LDLIBS to use xinput1_4 instead worked 
> fine.

Hmm, I've updated the Makefile, but that's actually a little irritating 
that this came up. I use my previous projects as notes for what I've 
already figured out, and the gamepad support here arose from my Emacs 
joystick project back in 2016. It seems things have changed a bit over the 
past 5 years, though hopefully for the better.

https://docs.microsoft.com/en-us/windows/win32/xinput/xinput-versions

It looks like XInput 1.4 is officially supported by Windows 8 and later, 
so that's what I should be using. If I understand correctly, XInput 1.3 
was actually part DirectX, and so wouldn't be available without installing 
DirectX. It probably worked on my Windows system since I've installed some 
older games that installed XInput 1.3 as part of some older DirectX 
release. (Wine always provides XInput 1.3, so this will never be an issue 
there.)
Reply to thread Export thread (mbox)