I'm pretty sure he simply defines structures/constants himself and declares function pointers to needed functions (that are loaded with GetProcAddress). This applies to regular Windows symbols as well as for OpenGL and DirectX.
For example, if you want to use "Sleep" function, then you do this:
1
2
3
4
5
6
7
8
9
10
11
12
13 | typedef void VOID;
typedef unsigned int DWORD;
#define WINAPI __stdcall
VOID (*WINAPI Sleep)(DWORD dwMilliseconds);
...
// somehwhere in initialization code
Sleep = (VOID (*WINAPI)(DWORD))GetProcAddress(kernel32, "Sleep");
...
// somehwere where you want to use it
Sleep(100);
|
Of course you can improve all that crazy function pointer casts with helper macros, same as on HandmadeHero stream.
You only need to link to kernel32.dll file to get GetProcAddress un GetModuleHandle functions.