Disconnected world code temporarily.

This commit is contained in:
2021-05-16 17:51:46 -07:00
parent e77893f01c
commit 3aa6a220b1
22 changed files with 1 additions and 8 deletions

View File

@ -38,11 +38,4 @@
// Utility Objects
#include "util/list.h"
#include "util/math.h"
#include "util/rand.h"
// 3D Tile Game World
#include "world/entity/entity.h"
#include "world/map/chunk.h"
#include "world/map/map.h"
#include "world/map/tile.h"
#include "world/world.h"
#include "util/rand.h"

View File

@ -1,79 +0,0 @@
/**
* Copyright (c) 2021 Dominic Masters
*
* This software is released under the MIT License.
* https://opensource.org/licenses/MIT
*/
#pragma once
#include "../../libs.h"
#include "../../display/spritebatch.h"
#include "../../display/texture.h"
#include "../../display/tileset.h"
/** Entity Texture Information */
#define ENTITY_ASSET_TEXTURE "world/entity.png"
#define ENTITY_WIDTH 32
#define ENTITY_HEIGHT ENTITY_WIDTH
/** Entity ID Definitions */
#define ENTITY_TYPE_NULL 0x00
#define ENTITY_TYPE_PLAYER 0x01
/** Max count of entities in the world */
#define ENTITY_COUNT 64
/** Count of different types of entities */
#define ENTITY_TYPE_COUNT ENTITY_TYPE_PLAYER + 1
#define ENTITY_DIRECTION_SOUTH 0x00
#define ENTITY_DIRECTION_NORTH 0x01
#define ENTITY_DIRECTION_WEST 0x02
#define ENTITY_DIRECTION_EAST 0x03
#define ENTITY_STATE_WALKING 0x01
/** Unique Entity ID */
typedef uint8_t entityid_t;
/** Unique Entity ID for the Entity Type */
typedef uint8_t entitytypeid_t;
/** Entity Definition */
typedef struct {
entitytypeid_t type;
int32_t gridX, gridY, gridZ;
int32_t oldGridX, oldGridY, oldGridZ;
float positionX, positionY, positionZ;
uint8_t direction;
uint32_t state;
} entity_t;
/** Definition for an entity type */
typedef struct {
void (*entityInit)(entityid_t entityId, entity_t *entity);
void (*entityUpdate)(entityid_t entityId, entity_t *entity);
void (*entityRender)(entityid_t entityId, entity_t *entity);
void (*entityDispose)(entityid_t entityId, entity_t *entity);
} entitytype_t;
/** Entity State Management */
typedef struct {
/** Entities within the state */
entity_t entities[ENTITY_COUNT];
/** Sprite Batch in the state */
spritebatch_t *spriteBatch;
/** Texture for entities */
texture_t *texture;
/** Divided Tileset for entities */
tileset_t *tileset;
} entitystate_t;
/** Global Entity State */
extern entitystate_t ENTITY_STATE;
/** Global Entity Type Definitions */
extern entitytype_t ENTITY_TYPES[ENTITY_TYPE_COUNT];

View File

@ -1,33 +0,0 @@
// Copyright (c) 2021 Dominic Masters
//
// This software is released under the MIT License.
// https://opensource.org/licenses/MIT
#pragma once
#include "../../libs.h"
#include "../../display/primitive.h"
#include "tile.h"
/** When loading a chunk, how many chars to offset (ASCII char to byte) */
#define CHUNK_TILE_LOAD_ASCII 48
/** Width (in tiles) of chunks. */
#define CHUNK_WIDTH 16
/** Height (in tiles) of chunks. */
#define CHUNK_HEIGHT 16
/** Depth (in tiles) of chunks. */
#define CHUNK_DEPTH 8
/** Count of tiles in the chunk. */
#define CHUNK_TILE_COUNT CHUNK_WIDTH * CHUNK_HEIGHT * CHUNK_DEPTH
/** Representation of a chunk, a group of tiles that can be buffered around. */
typedef struct {
/** Position (in absolute chunk coordinates) of this chunk */
int32_t x, y, z;
/** Array of tiles within the chunk */
tileid_t tiles[CHUNK_TILE_COUNT];
/** Ready to be rendered chunk 3d primitive */
primitive_t *primitive;
} chunk_t;

View File

@ -1,46 +0,0 @@
/**
* Copyright (c) 2021 Dominic Masters
*
* This software is released under the MIT License.
* https://opensource.org/licenses/MIT
*/
#pragma once
#include "../../libs.h"
#include "tile.h"
#include "chunk.h"
#include "../../display/texture.h"
#include "../../display/tileset.h"
/** Width of map (in chunks) */
#define MAP_WIDTH 3
/** Height of map (in chunks) */
#define MAP_HEIGHT MAP_WIDTH
/** Depth of map (in chunks) */
#define MAP_DEPTH 2
/** Count of chunks in the world */
#define MAP_CHUNK_COUNT MAP_WIDTH * MAP_HEIGHT * MAP_DEPTH
#define MAP_ASSET_TEXTURE "world/tileset.png"
typedef struct {
/** Tile definitions */
tiledef_t *tileDefinitions;
/** Tileset predivided */
tileset_t *tileset;
/** Texture of the tileset */
texture_t *texture;
/** Current (chunk) coordinates of the first chunk in the chunk list */
int32_t x, y, z;
/** Current chunk list, ordered */
chunk_t *chunkList[MAP_CHUNK_COUNT];
/** Chunk array, unordered */
chunk_t chunks[MAP_CHUNK_COUNT];
} map_t;
extern map_t MAP_STATE;

View File

@ -1,29 +0,0 @@
// Copyright (c) 2021 Dominic Masters
//
// This software is released under the MIT License.
// https://opensource.org/licenses/MIT
#pragma once
#include "../../libs.h"
/** Width of a tile (in pixels) */
#define TILE_WIDTH 16
/** Height of a tile (in pixels) */
#define TILE_HEIGHT 16
/** What a NULL tile is represented as. */
#define TILE_NULL 0x00
/** Bitwise Flags from tiles. */
typedef uint8_t tileflag_t;
/** Tile ID */
typedef uint8_t tileid_t;
/** Representation of the information of a tile within a tilemap. */
typedef struct {
/** Flags of the tile */
tileflag_t flags;
/** How many indices and vertices a tile with this definition has. */
int32_t indiceCount, verticeCount;
} tiledef_t;

View File

@ -1,9 +0,0 @@
// Copyright (c) 2021 Dominic Masters
//
// This software is released under the MIT License.
// https://opensource.org/licenses/MIT
#pragma once
#include "../libs.h"
#include "map/chunk.h"
#include "map/map.h"