#include <stddef.h>
#include <stdint.h>
#include "BasicRenderer.h"
#include "cstr.h"


// supposed to protect against stack smashing but we have no way to actually like
// do anything when we detect it soooo...
extern "C" void __stack_chk_fail(void) {
	return;
}

extern "C" void _start(Framebuffer* framebuffer, PSF1_FONT* psf1_Font) {
	BasicRenderer newRenderer = BasicRenderer(framebuffer, psf1_Font);
	newRenderer.Print(0xFFFFFF, to_string((uint64_t)1234976));
	newRenderer.cursorPosition = {0, 18};
	newRenderer.Print(0xFFFFFF, to_string((int64_t)-1234976));
	newRenderer.cursorPosition = {0, 36};
	newRenderer.Print(0xFFFFFF, to_string(3.141, 2));

	return;
}