16#define MAX_GAME_LAYER_ASSET_FILE_PATH_LEN 128
61struct TilemapRenderData;
62struct TilemapLayerRenderData;
u32 VertIndexT
Definition DrawContext.h:52
vec2 vec2 struct Entity2DCollection struct GameFrameworkLayer * pLayer
Definition EntityQuadTree.h:38
void(* LevelDataRequestHandlerExtenderFn)(struct GameLayer2DData *pGameLayerData, struct BinarySerializer *pBS)
Definition Game2DLayer.h:40
void(* PreLoadLevelFn)(struct GameLayer2DData *pGameLayerData)
Definition Game2DLayer.h:26
ObjectLayer2DDrawOrder
Definition Game2DLayer.h:65
@ DrawOrder_TopDown
Definition Game2DLayer.h:66
@ DrawOrder_Index
Definition Game2DLayer.h:67
void Game2DLayer_Get(struct GameFrameworkLayer *pLayer, struct Game2DLayerOptions *pOptions, DrawContext *pDC)
Definition Game2DLayer.c:816
void Game2DLayer_SaveLevelFile(struct GameLayer2DData *pData, const char *outputFilePath)
Definition Game2DLayer.c:853
void Game2DLayer_OnPop(struct GameFrameworkLayer *pLayer, DrawContext *drawContext, InputContext *inputContext)
Definition Game2DLayer.c:800
void(* LevelDataPacketExtenderFn)(struct GameLayer2DData *pGameLayerData, struct BinarySerializer *pBS)
Extend the writing of the level data packet that servers send to clients.
Definition Game2DLayer.h:32
#define MAX_GAME_LAYER_ASSET_FILE_PATH_LEN
Definition Game2DLayer.h:16
void TilemapLayer_GetTLBR(vec2 tl, vec2 br, struct TileMapLayer *pTMLayer)
Definition Game2DLayer.c:32
void(* PreFirstInitFn)(struct GameLayer2DData *pGameLayerData)
Definition Game2DLayer.h:25
void(* LevelDataHandlerExtenderFn)(struct GameLayer2DData *pGameLayerData, struct BinarySerializer *pBS)
Definition Game2DLayer.h:42
void GameLayer2D_OnPush(struct GameFrameworkLayer *pLayer, DrawContext *drawContext, InputContext *inputContext)
Definition Game2DLayer.c:770
HGeneric HEntity2DQuadtreeNode
Definition HandleDefs.h:44
HGeneric HPhysicsWorld
Definition HandleDefs.h:40
HGeneric H2DWorldspaceVertexBuffer
Definition HandleDefs.h:26
HGeneric hAtlas
Definition HandleDefs.h:14
u16 TileIndex
Definition IntTypes.h:18
uint32_t u32
Definition IntTypes.h:12
Definition BinarySerializer.h:16
Definition DrawContext.h:59
Definition Entity2DCollection.h:30
Definition FreeLookCameraMode.h:9
Definition Game2DLayer.h:234
const char * atlasFilePath
Definition Game2DLayer.h:236
const char * levelFilePath
Definition Game2DLayer.h:238
Definition GameFrameworkEvent.c:14
Definition GameFramework.h:42
Definition Game2DLayer.h:92
VECTOR(VertIndexT) pWorldspaceIndices
int windowH
Window height.
Definition Game2DLayer.h:169
struct Transform2D camera
the one and only camera
Definition Game2DLayer.h:116
struct FreeLookCameraModeControls freeLookCtrls
controls for free look mode
Definition Game2DLayer.h:127
bool bSkipDraw
Definition Game2DLayer.h:204
bool bLoaded
mostly pointless
Definition Game2DLayer.h:106
char atlasFilePath[MAX_GAME_LAYER_ASSET_FILE_PATH_LEN]
Path of loaded atlas file.
Definition Game2DLayer.h:139
bool bCurrentLocationIsDirty
Current location has changed in such a way that it needs to be saved, when a new area is moved to or ...
Definition Game2DLayer.h:209
void * pUserData
Game specific data.
Definition Game2DLayer.h:184
int windowW
Window width.
Definition Game2DLayer.h:164
PreLoadLevelFn preLoadLevelFn
Definition Game2DLayer.h:192
int cameraClampedToTilemapLayer
Which layer, if any, is the camera clamped to. If it is not clamped (the default) then this should be...
Definition Game2DLayer.h:122
VECTOR(struct Worldspace2DVert) pWorldspaceVertices
buffers of vertices and indices populated each frame
PreFirstInitFn preFirstInitCallback
a callback called when the layer is pushed, and the level and all entities are loaded,...
Definition Game2DLayer.h:190
bool bFreeLookMode
When in this mode the game is paused and you have a different set of controls to freely move the came...
Definition Game2DLayer.h:113
H2DWorldspaceVertexBuffer vertexBuffer
Definition Game2DLayer.h:134
LevelDataHandlerExtenderFn levelDataHandlerExtender
AS THE CLIENT : Read extra game specific data the server has written to the initial level data packet...
Definition Game2DLayer.h:230
struct TileMap tilemap
tilemap comprised of a list of tilemap layers
Definition Game2DLayer.h:103
bool bDebugLayerAttatched
flag for whether the debug overlay is pushed on top of the game
Definition Game2DLayer.h:149
struct GameFrameworkLayer * pLayer
for convenience, a reference back to the layer
Definition Game2DLayer.h:94
DrawContext * pDrawContext
HACK : todo: sort out the availabilty of these draw and input contexts todo: use global getter for dr...
Definition Game2DLayer.h:199
LevelDataPacketExtenderFn levelDataPacketExtender
AS THE SERVER : Write extra game specific data to the level data packet the server sends initially to...
Definition Game2DLayer.h:215
char debugMsg[256]
A message to display on the screen when the debug overlay is on top of the game2dlayer.
Definition Game2DLayer.h:154
struct GameFrameworkEventListener * pDebugListener
Listens for the debug overlay game framework layer being pushed.
Definition Game2DLayer.h:159
HPhysicsWorld hPhysicsWorld
Physics world handle.
Definition Game2DLayer.h:174
LevelDataRequestHandlerExtenderFn levelDataRequestHandlerExtender
AS THE SERVER : Read extra game specific data from the level data request packet the client sends to ...
Definition Game2DLayer.h:224
hAtlas hAtlas
handle to atlas containing sprite data
Definition Game2DLayer.h:100
HEntity2DQuadtreeNode hEntitiesQuadTree
The top node of a quad tree that holds references to static sprites for culling.
Definition Game2DLayer.h:97
char tilemapFilePath[MAX_GAME_LAYER_ASSET_FILE_PATH_LEN]
path of loaded level file
Definition Game2DLayer.h:144
struct Entity2DCollection entities
Entities collection.
Definition Game2DLayer.h:179
Definition InputContext.h:137
Definition Game2DLayer.h:71
bool bIsObjectLayer
Definition Game2DLayer.h:78
enum ObjectLayer2DDrawOrder drawOrder
Definition Game2DLayer.h:79
TileIndex * Tiles
Definition Game2DLayer.h:80
u32 type
Definition Game2DLayer.h:81
int tileHeightPx
Definition Game2DLayer.h:75
struct Transform2D transform
Definition Game2DLayer.h:73
int heightTiles
Definition Game2DLayer.h:77
struct TilemapLayerRenderData * pRenderData
Definition Game2DLayer.h:72
int widthTiles
Definition Game2DLayer.h:76
int tileWidthPx
Definition Game2DLayer.h:74
Definition Game2DLayer.h:85
char * dataFilePath
Definition Game2DLayer.h:87
VECTOR(struct TileMapLayer) layers
struct TilemapRenderData * pRenderData
Definition Game2DLayer.h:88
Definition DrawContext.h:13