2403f060eb
So when PACKET_SDL_EVENT was SDL_USEREVENT, things worked fine in the main loop it would see SDL_USEREVENT and send it off to my_SDL_UserEvent. But when I started adding more events, the SDL_UserEvent paradigm given in the SDL Wiki stopped working. The example here is broken: https://wiki.libsdl.org/SDL_AddTimer The example here is working and "correct": https://wiki.libsdl.org/SDL_UserEvent All SDL_RegisterEvents is increase a static counter. SDL doesn't actually use these events anyway. It's purely symbolic, as far as I can tell. So anyway. Now events work after a bunch of debugging. SHADER_PROGRAM_REFRESH is the second user event I've done. The ShaderProgram runs an SDL_TimerID that looks at mVertexPath, mGeometryPath if present, and mFragmentPath. mVertexPath and mFragmentPath are required by Compile3ShaderBuffers. In the future I'd like to change the way this class behaves.
36 lines
557 B
C++
36 lines
557 B
C++
#include "FileIO.h"
|
|
#include "util.h"
|
|
|
|
#include <string>
|
|
#include <iostream>
|
|
|
|
#include <stdint.h> /* uint8_t */
|
|
#include <stdio.h>
|
|
#include <math.h>
|
|
|
|
int
|
|
main (int argc, char **argv)
|
|
{
|
|
int rc;
|
|
rc = 1;
|
|
try
|
|
{
|
|
while (argc-- > 1)
|
|
{
|
|
FileIO f (argv[argc], "r");
|
|
std::string buf = f.ReadToString ();
|
|
if (util_IsProbablyAscii (buf.c_str (), buf.size ()))
|
|
std::cout << buf << std::endl;
|
|
else
|
|
util_HexDump (buf.c_str (), buf.size ());
|
|
rc = 0;
|
|
}
|
|
}
|
|
catch (const std::string& e)
|
|
{
|
|
std::cerr << e << std::endl;
|
|
}
|
|
|
|
return rc;
|
|
}
|