handmade/test/test_FileIO.cpp
Bubblegumdrop 2403f060eb Add SHADER_PROGRAM_REFRESH, and a bunch of debug crap because of events.
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.
2022-01-09 23:37:48 -05:00

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;
}