|
Banjo API 0.0.1
C99 game development API
|
#include <banjo/assert.h>#include <banjo/bitmap.h>#include <banjo/draw.h>#include <banjo/event.h>#include <banjo/log.h>#include <banjo/main.h>#include <banjo/mat.h>#include <banjo/physics.h>#include <banjo/physics_2d.h>#include <banjo/renderer.h>#include <banjo/system.h>#include <banjo/time.h>#include <banjo/vec.h>#include <banjo/window.h>#include <stdlib.h>
Data Structures | |
| struct | planet_t |
Macros | |
| #define | BJ_AUTOMAIN_CALLBACKS |
| #define | SCREEN_WIDTH 800 |
| #define | SCREEN_HEIGHT 600 |
| #define | CANVAS_WIDTH SCREEN_WIDTH |
| #define | CANVAS_HEIGHT SCREEN_HEIGHT |
| #define | G_SUN BJ_F(120.0) |
| #define | SOFTENING BJ_F(6.0) |
| #define | M_SUN BJ_F(1000.0) |
| #define | M_MERCURY BJ_F(0.055) |
| #define | M_VENUS BJ_F(0.815) |
| #define | M_EARTH BJ_F(1.0) |
| #define | M_MARS BJ_F(0.107) |
| #define | M_JUPITER BJ_F(317.8) |
| #define | N_PLANETS 5 |
| #define | N_ASTEROIDS 800 |
| #define | DT_CLAMP (BJ_F(1.0)/BJ_F(120.0)) |
Functions | |
| static void | update_projection () |
| static bj_real | orbital_speed_soft (bj_real G, bj_real M, bj_real r, bj_real eps) |
| static void | init_sun () |
| static void | init_planet (planet_t *p, bj_real r, bj_real mass, uint32_t color, bj_real draw_r, bj_real phase) |
| static void | init_asteroids () |
| static void | initialize () |
| static void | update (bj_real t) |
| static void | physics (bj_real dt) |
| static void | draw () |
| int | bj_app_begin (void **user_data, int argc, char *argv[]) |
| int | bj_app_iterate (void *user_data) |
| int | bj_app_end (void *user_data, int status) |
Variables | |
| bj_window * | window = 0 |
| bj_bitmap * | framebuffer = 0 |
| bj_renderer * | renderer = 0 |
| bj_mat3x3 | projection |
| planet_t | planets [5] |
| bj_particle_2d | sun = {0} |
| bj_particle_2d | asteroids [800] |
| uint32_t | asteroid_color |
| bj_stopwatch | stopwatch |
| struct planet_t |

| Data Fields | ||
|---|---|---|
| bj_particle_2d | body | |
| uint32_t | color | |
| bj_real | radius | |
| #define BJ_AUTOMAIN_CALLBACKS |
| #define CANVAS_HEIGHT SCREEN_HEIGHT |
| #define CANVAS_WIDTH SCREEN_WIDTH |
| #define G_SUN BJ_F(120.0) |
| #define M_EARTH BJ_F(1.0) |
| #define M_JUPITER BJ_F(317.8) |
| #define M_MARS BJ_F(0.107) |
| #define M_MERCURY BJ_F(0.055) |
| #define M_SUN BJ_F(1000.0) |
| #define M_VENUS BJ_F(0.815) |
| #define N_ASTEROIDS 800 |
| #define N_PLANETS 5 |
| #define SCREEN_HEIGHT 600 |
| #define SCREEN_WIDTH 800 |
| #define SOFTENING BJ_F(6.0) |
| int bj_app_begin | ( | void ** | user_data, |
| int | argc, | ||
| char * | argv[] ) |
| int bj_app_end | ( | void * | user_data, |
| int | status ) |
| int bj_app_iterate | ( | void * | user_data | ) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
| uint32_t asteroid_color |
| bj_particle_2d asteroids[800] |
| bj_bitmap* framebuffer = 0 |
| planet_t planets[5] |
| bj_mat3x3 projection |
| bj_renderer* renderer = 0 |
| bj_stopwatch stopwatch |
| bj_particle_2d sun = {0} |
| bj_window* window = 0 |