mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-14 10:05:44 -04:00
Make Builder a component too
This commit is contained in:
parent
9b2373f7d3
commit
19f286c96a
@ -760,7 +760,7 @@ static void Builder_SetDefault(void) {
|
|||||||
Builder_PostStretchTiles = Builder_DefaultPostStretchTiles;
|
Builder_PostStretchTiles = Builder_DefaultPostStretchTiles;
|
||||||
}
|
}
|
||||||
|
|
||||||
void NormalBuilder_SetActive(void) {
|
static void NormalBuilder_SetActive(void) {
|
||||||
Builder_SetDefault();
|
Builder_SetDefault();
|
||||||
Builder_StretchXLiquid = NormalBuilder_StretchXLiquid;
|
Builder_StretchXLiquid = NormalBuilder_StretchXLiquid;
|
||||||
Builder_StretchX = NormalBuilder_StretchX;
|
Builder_StretchX = NormalBuilder_StretchX;
|
||||||
@ -1251,7 +1251,7 @@ static void Adv_PreStretchTiles(int x1, int y1, int z1) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AdvBuilder_SetActive(void) {
|
static void AdvBuilder_SetActive(void) {
|
||||||
Builder_SetDefault();
|
Builder_SetDefault();
|
||||||
Builder_StretchXLiquid = Adv_StretchXLiquid;
|
Builder_StretchXLiquid = Adv_StretchXLiquid;
|
||||||
Builder_StretchX = Adv_StretchX;
|
Builder_StretchX = Adv_StretchX;
|
||||||
@ -1273,7 +1273,7 @@ void Builder_ApplyActive(void) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Builder_Init(void) {
|
static void Builder_Init(void) {
|
||||||
Builder_Offsets[FACE_XMIN] = -1;
|
Builder_Offsets[FACE_XMIN] = -1;
|
||||||
Builder_Offsets[FACE_XMAX] = 1;
|
Builder_Offsets[FACE_XMAX] = 1;
|
||||||
Builder_Offsets[FACE_ZMIN] = -EXTCHUNK_SIZE;
|
Builder_Offsets[FACE_ZMIN] = -EXTCHUNK_SIZE;
|
||||||
@ -1281,11 +1281,19 @@ void Builder_Init(void) {
|
|||||||
Builder_Offsets[FACE_YMIN] = -EXTCHUNK_SIZE_2;
|
Builder_Offsets[FACE_YMIN] = -EXTCHUNK_SIZE_2;
|
||||||
Builder_Offsets[FACE_YMAX] = EXTCHUNK_SIZE_2;
|
Builder_Offsets[FACE_YMAX] = EXTCHUNK_SIZE_2;
|
||||||
|
|
||||||
if (Game_ClassicMode) return;
|
if (!Game_ClassicMode) Builder_SmoothLighting = Options_GetBool(OPT_SMOOTH_LIGHTING, false);
|
||||||
Builder_SmoothLighting = Options_GetBool(OPT_SMOOTH_LIGHTING, false);
|
Builder_ApplyActive();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Builder_OnNewMapLoaded(void) {
|
static void Builder_OnNewMapLoaded(void) {
|
||||||
Builder_SidesLevel = max(0, Env_SidesHeight);
|
Builder_SidesLevel = max(0, Env_SidesHeight);
|
||||||
Builder_EdgeLevel = max(0, Env.EdgeHeight);
|
Builder_EdgeLevel = max(0, Env.EdgeHeight);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct IGameComponent Builder_Component = {
|
||||||
|
Builder_Init, /* Init */
|
||||||
|
NULL, /* Free */
|
||||||
|
NULL, /* Reset */
|
||||||
|
NULL, /* OnNewMap */
|
||||||
|
Builder_OnNewMapLoaded /* OnNewMapLoaded */
|
||||||
|
};
|
||||||
|
@ -9,17 +9,15 @@ NormalMeshBuilder:
|
|||||||
Copyright 2014-2019 ClassiCube | Licensed under BSD-3
|
Copyright 2014-2019 ClassiCube | Licensed under BSD-3
|
||||||
*/
|
*/
|
||||||
struct ChunkInfo;
|
struct ChunkInfo;
|
||||||
|
struct IGameComponent;
|
||||||
|
extern struct IGameComponent Builder_Component;
|
||||||
|
|
||||||
extern int Builder_SidesLevel, Builder_EdgeLevel;
|
extern int Builder_SidesLevel, Builder_EdgeLevel;
|
||||||
/* Whether smooth/advanced lighting mesh builder is used. */
|
/* Whether smooth/advanced lighting mesh builder is used. */
|
||||||
extern cc_bool Builder_SmoothLighting;
|
extern cc_bool Builder_SmoothLighting;
|
||||||
|
|
||||||
void Builder_Init(void);
|
|
||||||
void Builder_OnNewMapLoaded(void);
|
|
||||||
/* Builds the mesh of vertices for the given chunk. */
|
/* Builds the mesh of vertices for the given chunk. */
|
||||||
void Builder_MakeChunk(struct ChunkInfo* info);
|
void Builder_MakeChunk(struct ChunkInfo* info);
|
||||||
|
|
||||||
void NormalBuilder_SetActive(void);
|
|
||||||
void AdvBuilder_SetActive(void);
|
|
||||||
void Builder_ApplyActive(void);
|
void Builder_ApplyActive(void);
|
||||||
#endif
|
#endif
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
#include "Menus.h"
|
#include "Menus.h"
|
||||||
#include "Audio.h"
|
#include "Audio.h"
|
||||||
#include "Stream.h"
|
#include "Stream.h"
|
||||||
|
#include "Builder.h"
|
||||||
|
|
||||||
struct _GameData Game;
|
struct _GameData Game;
|
||||||
int Game_Port;
|
int Game_Port;
|
||||||
@ -454,6 +455,7 @@ static void Game_Load(void) {
|
|||||||
Game_AddComponent(&Inventory_Component);
|
Game_AddComponent(&Inventory_Component);
|
||||||
World_Reset();
|
World_Reset();
|
||||||
|
|
||||||
|
Game_AddComponent(&Builder_Component);
|
||||||
Game_AddComponent(&MapRenderer_Component);
|
Game_AddComponent(&MapRenderer_Component);
|
||||||
Game_AddComponent(&EnvRenderer_Component);
|
Game_AddComponent(&EnvRenderer_Component);
|
||||||
Game_AddComponent(&Server_Component);
|
Game_AddComponent(&Server_Component);
|
||||||
|
@ -774,7 +774,6 @@ static void MapRenderer_OnNewMapLoaded(void) {
|
|||||||
/*}*/
|
/*}*/
|
||||||
|
|
||||||
MapRenderer_InitChunks();
|
MapRenderer_InitChunks();
|
||||||
Builder_OnNewMapLoaded();
|
|
||||||
lastCamPos = Vec3_BigPos();
|
lastCamPos = Vec3_BigPos();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -792,9 +791,6 @@ static void MapRenderer_Init(void) {
|
|||||||
MapRenderer_1DUsedCount = 87; /* Atlas1D_UsedAtlasesCount(); */
|
MapRenderer_1DUsedCount = 87; /* Atlas1D_UsedAtlasesCount(); */
|
||||||
chunkPos = IVec3_MaxValue();
|
chunkPos = IVec3_MaxValue();
|
||||||
MapRenderer_MaxUpdates = Options_GetInt(OPT_MAX_CHUNK_UPDATES, 4, 1024, 30);
|
MapRenderer_MaxUpdates = Options_GetInt(OPT_MAX_CHUNK_UPDATES, 4, 1024, 30);
|
||||||
|
|
||||||
Builder_Init();
|
|
||||||
Builder_ApplyActive();
|
|
||||||
MapRenderer_CalcViewDists();
|
MapRenderer_CalcViewDists();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -812,8 +808,8 @@ static void MapRenderer_Free(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
struct IGameComponent MapRenderer_Component = {
|
struct IGameComponent MapRenderer_Component = {
|
||||||
MapRenderer_Init, /* Init */
|
MapRenderer_Init, /* Init */
|
||||||
MapRenderer_Free, /* Free */
|
MapRenderer_Free, /* Free */
|
||||||
MapRenderer_OnNewMap, /* Reset */
|
MapRenderer_OnNewMap, /* Reset */
|
||||||
MapRenderer_OnNewMap, /* OnNewMap */
|
MapRenderer_OnNewMap, /* OnNewMap */
|
||||||
MapRenderer_OnNewMapLoaded /* OnNewMapLoaded */
|
MapRenderer_OnNewMapLoaded /* OnNewMapLoaded */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user