partially done work on total source tree rework, separation of engine context and game context, generalization of renderer for different backends as well as web platform target
This commit is contained in:
38
include/twn_context.h
Normal file
38
include/twn_context.h
Normal file
@ -0,0 +1,38 @@
|
||||
#ifndef TWN_CONTEXT_H
|
||||
#define TWN_CONTEXT_H
|
||||
|
||||
#include "twn_input.h"
|
||||
#include "twn_engine_api.h"
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
|
||||
typedef struct context {
|
||||
struct input_state input;
|
||||
|
||||
int64_t delta_time; /* preserves real time frame delta with no manipilation */
|
||||
uint64_t tick_count;
|
||||
|
||||
/* set just once on startup */
|
||||
uint64_t random_seed;
|
||||
|
||||
/* this should be a multiple of TICKS_PER_SECOND */
|
||||
/* use it to simulate low framerate (e.g. at 60 tps, set to 2 for 30 fps) */
|
||||
/* it can be changed at runtime; any resulting logic anomalies are bugs */
|
||||
unsigned int update_multiplicity;
|
||||
int window_w;
|
||||
int window_h;
|
||||
|
||||
/* you may read from and write to these from game code */
|
||||
void *udata;
|
||||
|
||||
bool debug;
|
||||
bool is_running;
|
||||
bool window_size_has_changed;
|
||||
bool initialization_needed;
|
||||
} t_ctx;
|
||||
|
||||
TWN_API extern t_ctx ctx;
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user