=====INTRODUCTION===== Ncaster is a generic raycasting engine for the TI-Nspire/CAS calculators. It has the following features: *Texture-mapped walls *Variable height blocks *Variable altitudes for blocks *Sprites *Changeable quality *Changeable resolution =====USE===== The core of the engine is the function render( int *map, int mapWidth, int mapHeight, float *height, float *alt, char *texture[], int *texW, int *texH, struct Sprite *sprite, int numSprites, int w, int h, float heye, float posX, float posY, float planeX, float planeY, char *scrbuf, float *zbuf, int *colbuf, int res ) found in render.h map: pointer to the (0, 0) element of a two dimensional array containing the map data. Each element of the array is a block, with 0 being no block. If the element at (a, b) is k (k != 0) this specifies that the block at (a, b) has texture texture[k - 1]. mapWidth, mapHeight, numSprites: self-explanatory. texW, texH: pointers to the first element of an array of int. texW[i] is the width of texture[i]. Similar for texH. height: Each block is 1 x 1. height[a][b] = h means that the block at (a, b) has height h. alt: The value at alt[a][b] is the altitude of the bottom of the block at (a, b). texture: an array of pointers to char, each of which points to the (0, 0) element of a texture. w, h: Width and height of the screen area to draw to. heye: Height of the camera. posX, posY: position of the camera. dirX, dirY: direction of the camera, in vector form. planeX, planeY: Two variables needed by the renderer. See example for details. scrbuf: Screen buffer to draw to. zbuf: Z-buffer to use. colbuf: Column buffer (length-240 int array) to use. res: Either 1 or 2. 1 tells the renderer to draw every column. 2 tells it to draw every other column. ====BUILDING==== cd to src/ and type 'make' to build your project. For starters, you may want to edit main.c, which is a demo. You will need Ndless 1.7 and an arm-elf-gcc to build this project.