# Project structure

 * `assets` contains the tiled maps, and the tiled map converters.
 * `assets-cg` contains the assets for cg calculators like the cg-50.
 * `assets-fx` contains the assets for monochrome calculators.
 * `captures` contains screenshots.
 * `src` This folder contains the source code.
     * `config.h` This header file contains defines for the size of various
       things on screen, like the size of a tile in the tilemap, the size of the
       dialog box, etc.
     * `dialogs.c` and `dialogs.h` contain various functions to display dialogs
       and also let the user respond.
     * `events.c` and `events.h` parse tags in the messages that are displayed
       using the dialogs procedures to modify variables (and soon, call
       procedures).
     * `game.c` and `game.h` handles the rendering, the input, etc.
     * `main.c` handles the USB connection and the gint gray rendering, for 2bpp
       rendering on monochrome calculators. Contains the mainloop. Also contains
       code to display debug informations.
     * `map.c` and `map.h` contain code to render, get a tile in the map, see if
       the tile is walkable, etc.
     * `mapdata.h` contains the available maps.
     * `memory.c` and `memory.h` procedures to handle arrays (currently: search
       in an array of short ints).
     * `npc.c` and `npc.h` npc rendering and movement (and soon pathfinding).
     * `player.c` and `player.h` handle the player movement, collision, etc.