USING_ES_NAMESPACE
USING_ISTORAGE_NAMESPACE

#include <esi.h>
#include "es_device.h"

ES_NAMESPACE_START



ESError
esGetDeviceCert(void *outDeviceCert, u32 outDeviceCertSize)
{
    ESError rv = ES_ERR_OK;

    if (outDeviceCert == NULL || outDeviceCertSize != ES_DEVICE_CERT_SIZE || sizeof(IOSCEccSignedCert) != ES_DEVICE_CERT_SIZE) {
        esLog(ES_DEBUG_ERROR, "Invalid arguments\n");
        rv = ES_ERR_INVALID;
        goto end;
    }

    if ((rv = IOSC_GetDeviceCertificate((IOSCEccSignedCert *) outDeviceCert)) != IOSC_ERROR_OK) {
        esLog(ES_DEBUG_ERROR, "Failed to get device certificate, rv=%d\n", rv);
        rv = ESI_Translate_IOSC_Error(rv);
        goto end;
    }

end:
    return rv;
}
ESError
esGetDeviceId(ESDeviceId *outDeviceId)
{
    ESError rv = ES_ERR_OK;

    if (outDeviceId == NULL) {
        esLog(ES_DEBUG_ERROR, "Invalid arguments\n");
        rv = ES_ERR_INVALID;
        goto end;
    }

    if ((rv = IOSC_GetData(IOSC_DEV_ID_HANDLE, outDeviceId)) != IOSC_ERROR_OK) {
        esLog(ES_DEBUG_ERROR, "Failed to get device ID, rv=%d\n", rv);
        rv = ESI_Translate_IOSC_Error(rv);
        goto end;
    }

end:
    return rv;
}
Example #3
0
void esGame_init(const char *wmTitle,
		int screen_width, int screen_height) {

	blockNextMouse = 0;

	window_w = screen_width;
	window_h = screen_height;

#ifdef ES_OPT_AUDIO
	SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO);
#else
	SDL_Init(SDL_INIT_VIDEO);
#endif

	SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_ES);
	//SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
	SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 2);
	SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0);

	window = SDL_CreateWindow(wmTitle,
			SDL_WINDOWPOS_UNDEFINED,
			SDL_WINDOWPOS_UNDEFINED,
			window_w, window_h,
			SDL_WINDOW_OPENGL);

	if (!window) {
		esLog(ES_ERRO, "Can't create window");
	}

#ifdef ES_OPT_AUDIO
	if (Mix_OpenAudio(22050, AUDIO_S16, 1, 4096)) {
		esLog(ES_ERRO, "Cannot open audio\n");
	}
#endif

	glContext = SDL_GL_CreateContext(window);
	SDL_GL_MakeCurrent(window, glContext);
}
Example #4
0
static void checkError(const char *file, int line) {
	GLenum err = glGetError();
	if (err != GL_NO_ERROR) {
		esLog(ES_ERRO, "OpenGL Error (%s:%d): %d ", file, line, err);

		switch (err) {
#define ERR_CASE_PRINT(cond) case cond : esLog(ES_ERRO, "%s", #cond); break
			ERR_CASE_PRINT(GL_INVALID_ENUM);
			ERR_CASE_PRINT(GL_INVALID_VALUE);
			ERR_CASE_PRINT(GL_INVALID_OPERATION);
			ERR_CASE_PRINT(GL_STACK_OVERFLOW);
			ERR_CASE_PRINT(GL_STACK_UNDERFLOW);
			ERR_CASE_PRINT(GL_OUT_OF_MEMORY);
			default : break;
		}
	}
}
Example #5
0
void *esFileAlloc(const char *fileName) {
	FILE *fd = fopen(fileName, "r");
	if (fd == NULL) return NULL;
	struct stat st;

	stat(fileName, &st);

	char *buf = malloc(st.st_size + 1);
	fread(buf, st.st_size, 1, fd);
	fclose(fd);

	buf[st.st_size] = '\0';

	esLog(ES_INFO, "Loaded file %s (%d b)",
			fileName, (int) st.st_size);
	return buf;
}