mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-14 01:55:19 -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;
|
||||
}
|
||||
|
||||
void NormalBuilder_SetActive(void) {
|
||||
static void NormalBuilder_SetActive(void) {
|
||||
Builder_SetDefault();
|
||||
Builder_StretchXLiquid = NormalBuilder_StretchXLiquid;
|
||||
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_StretchXLiquid = Adv_StretchXLiquid;
|
||||
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_XMAX] = 1;
|
||||
Builder_Offsets[FACE_ZMIN] = -EXTCHUNK_SIZE;
|
||||
@ -1281,11 +1281,19 @@ void Builder_Init(void) {
|
||||
Builder_Offsets[FACE_YMIN] = -EXTCHUNK_SIZE_2;
|
||||
Builder_Offsets[FACE_YMAX] = EXTCHUNK_SIZE_2;
|
||||
|
||||
if (Game_ClassicMode) return;
|
||||
Builder_SmoothLighting = Options_GetBool(OPT_SMOOTH_LIGHTING, false);
|
||||
if (!Game_ClassicMode) 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_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
|
||||
*/
|
||||
struct ChunkInfo;
|
||||
struct IGameComponent;
|
||||
extern struct IGameComponent Builder_Component;
|
||||
|
||||
extern int Builder_SidesLevel, Builder_EdgeLevel;
|
||||
/* Whether smooth/advanced lighting mesh builder is used. */
|
||||
extern cc_bool Builder_SmoothLighting;
|
||||
|
||||
void Builder_Init(void);
|
||||
void Builder_OnNewMapLoaded(void);
|
||||
/* Builds the mesh of vertices for the given chunk. */
|
||||
void Builder_MakeChunk(struct ChunkInfo* info);
|
||||
|
||||
void NormalBuilder_SetActive(void);
|
||||
void AdvBuilder_SetActive(void);
|
||||
void Builder_ApplyActive(void);
|
||||
#endif
|
||||
|
@ -32,6 +32,7 @@
|
||||
#include "Menus.h"
|
||||
#include "Audio.h"
|
||||
#include "Stream.h"
|
||||
#include "Builder.h"
|
||||
|
||||
struct _GameData Game;
|
||||
int Game_Port;
|
||||
@ -454,6 +455,7 @@ static void Game_Load(void) {
|
||||
Game_AddComponent(&Inventory_Component);
|
||||
World_Reset();
|
||||
|
||||
Game_AddComponent(&Builder_Component);
|
||||
Game_AddComponent(&MapRenderer_Component);
|
||||
Game_AddComponent(&EnvRenderer_Component);
|
||||
Game_AddComponent(&Server_Component);
|
||||
|
@ -774,7 +774,6 @@ static void MapRenderer_OnNewMapLoaded(void) {
|
||||
/*}*/
|
||||
|
||||
MapRenderer_InitChunks();
|
||||
Builder_OnNewMapLoaded();
|
||||
lastCamPos = Vec3_BigPos();
|
||||
}
|
||||
|
||||
@ -792,9 +791,6 @@ static void MapRenderer_Init(void) {
|
||||
MapRenderer_1DUsedCount = 87; /* Atlas1D_UsedAtlasesCount(); */
|
||||
chunkPos = IVec3_MaxValue();
|
||||
MapRenderer_MaxUpdates = Options_GetInt(OPT_MAX_CHUNK_UPDATES, 4, 1024, 30);
|
||||
|
||||
Builder_Init();
|
||||
Builder_ApplyActive();
|
||||
MapRenderer_CalcViewDists();
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user