Added tons of WIP game data.
This commit is contained in:
@@ -21,6 +21,11 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||
|
||||
include(cmake/CPM.cmake)
|
||||
|
||||
CPMAddPackage(
|
||||
NAME mcolor
|
||||
URL https://git.redacted.cc/maxine/mcolor/archive/Prerelease-5.zip
|
||||
)
|
||||
|
||||
CPMAddPackage(
|
||||
NAME J3ML
|
||||
URL https://git.redacted.cc/josh/j3ml/archive/3.4.3.zip
|
||||
|
@@ -15,7 +15,7 @@ target_include_directories(CaveCore PUBLIC "include")
|
||||
|
||||
set_target_properties(CaveCore PROPERTIES LINKER_LANGUAGE CXX)
|
||||
target_include_directories(CaveCore PUBLIC ${J3ML_SOURCE_DIR}/include)
|
||||
|
||||
target_include_directories(CaveCore PUBLIC ${mcolor}/include)
|
||||
target_include_directories(CaveCore PUBLIC ${jjx_SOURCE_DIR}/include)
|
||||
|
||||
target_link_libraries(CaveCore PUBLIC J3ML jjx)
|
||||
target_link_libraries(CaveCore PUBLIC J3ML jjx mcolor)
|
57
Core/include/Core/Biomes.hpp
Normal file
57
Core/include/Core/Biomes.hpp
Normal file
@@ -0,0 +1,57 @@
|
||||
#pragma once
|
||||
|
||||
namespace CaveGame::Core
|
||||
{
|
||||
/// A biome defines a region in the world with distinct characteristics, such as:
|
||||
// Background textures / effects
|
||||
// Terrain Generation
|
||||
// Entity Spawns
|
||||
// Generated Structures / Dungeons
|
||||
// Music / Ambiance
|
||||
// Weather
|
||||
// Physics Modifiers
|
||||
// Multiple biomes may be occur in a place at a time.
|
||||
class Biome { };
|
||||
|
||||
#define BIOME static const Biome
|
||||
|
||||
/// List of biomes.
|
||||
namespace Biomes {
|
||||
|
||||
|
||||
// The world is split into horizontal slices, each controlled by a higher-level "Elevation Biome"
|
||||
#pragma region Elevation Biomes
|
||||
BIOME Space;
|
||||
BIOME Surface;
|
||||
BIOME Subsurface;
|
||||
BIOME Underground;
|
||||
BIOME Deep;
|
||||
BIOME Mantle;
|
||||
#pragma endregion
|
||||
|
||||
#pragma region Environmental Biomes
|
||||
BIOME Grassland;
|
||||
BIOME Forest;
|
||||
BIOME DenseForest;
|
||||
BIOME Tundra;
|
||||
BIOME Taiga;
|
||||
BIOME RedwoodForest;
|
||||
BIOME WinterWonderland;
|
||||
BIOME AshForest;
|
||||
BIOME Desert;
|
||||
BIOME Badlands;
|
||||
BIOME BloodForest;
|
||||
BIOME BlackForest;
|
||||
BIOME Mountains;
|
||||
BIOME SuperMountains;
|
||||
BIOME Marsh;
|
||||
BIOME Lake;
|
||||
BIOME ContaminationZome;
|
||||
BIOME Jungle;
|
||||
BIOME FungusForest;
|
||||
#pragma endregion
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
53
Core/include/Core/Furniture.hpp
Normal file
53
Core/include/Core/Furniture.hpp
Normal file
@@ -0,0 +1,53 @@
|
||||
#pragma once
|
||||
|
||||
namespace CaveGame::Core
|
||||
{
|
||||
|
||||
class Furniture {
|
||||
|
||||
};
|
||||
|
||||
/// Furniture objects are multi-tile structures that aren't **necessarily** furniture in the normal sense, many are.
|
||||
/// Furniture can be considered the CaveGame Engine's term for a contiguous structure that is larger than one tile.
|
||||
/// This is differentiated from a generated structure in that each pixel of a Furniture object is bound to the whole, and cannot be broken in isolation.
|
||||
namespace Furnitures {
|
||||
static const Furniture Door;
|
||||
static const Furniture TrapDoor;
|
||||
static const Furniture Chair;
|
||||
static const Furniture Table;
|
||||
static const Furniture Workbench;
|
||||
static const Furniture Campfire;
|
||||
static const Furniture Barrel;
|
||||
static const Furniture Safe;
|
||||
static const Furniture Chest;
|
||||
static const Furniture Furnace;
|
||||
static const Furniture Fireplace;
|
||||
static const Furniture Anvil;
|
||||
static const Furniture HeavyWorkbench;
|
||||
static const Furniture Grindstone;
|
||||
static const Furniture BlastFurnace;
|
||||
static const Furniture Printer3D;
|
||||
static const Furniture CookingPot;
|
||||
static const Furniture AlchemyStation;
|
||||
static const Furniture ChemistrySet;
|
||||
static const Furniture Bed;
|
||||
static const Furniture PiggyBank;
|
||||
static const Furniture Shelf;
|
||||
static const Furniture Ladder;
|
||||
static const Furniture Painting;
|
||||
static const Furniture Signpost;
|
||||
static const Furniture Blackboard;
|
||||
static const Furniture Fridge;
|
||||
static const Furniture Cooler;
|
||||
|
||||
static const Furniture Torch;
|
||||
static const Furniture Lantern;
|
||||
static const Furniture Candle;
|
||||
static const Furniture Bottle;
|
||||
static const Furniture CoffeeMug;
|
||||
static const Furniture BeerMug;
|
||||
static const Furniture Book;
|
||||
static const Furniture
|
||||
}
|
||||
|
||||
}
|
@@ -68,6 +68,135 @@ namespace CaveGame::Core
|
||||
std::set<std::string> BannedItems;
|
||||
};
|
||||
|
||||
namespace StatusEffects {
|
||||
|
||||
}
|
||||
|
||||
namespace Items {
|
||||
|
||||
static const Item Straw;
|
||||
|
||||
static const Item Gel;
|
||||
|
||||
static const Item Glowstick;
|
||||
static const Item RoastChicken;
|
||||
static const Item PumpkinPie;
|
||||
static const Item ShepherdsPie;
|
||||
|
||||
static const Item CopperBar;
|
||||
static const Item IronBar;
|
||||
static const Item SilverBar;
|
||||
static const Item TungstenBar;
|
||||
static const Item PlatinumBar;
|
||||
static const Item GoldBar;
|
||||
static const Item LeadBar;
|
||||
|
||||
static const Item ZiggyStardust;
|
||||
static const Item Nimdoc;
|
||||
static const Item OccupiedDwellinator;
|
||||
static const Item SawnoffShotty;
|
||||
|
||||
#pragma region Tools
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region Weapons
|
||||
static const Item GutsyBlade;
|
||||
#pragma region Daggers
|
||||
static const Item CopperDagger;
|
||||
static const Item IronDagger;
|
||||
static const Item TinDagger;
|
||||
static const Item SilverDagger;
|
||||
#pragma endregion
|
||||
#pragma endregion
|
||||
|
||||
#pragma region SciFi
|
||||
static const Item Shrinkray;
|
||||
static const Item PortalGun;
|
||||
static const Item GravityGun;
|
||||
static const Item TauCannon;
|
||||
static const Item PhotonSabre;
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region Armor
|
||||
|
||||
#pragma endregion
|
||||
#pragma region Accessories
|
||||
static const Item KittenEars;
|
||||
static const Item WolfEars;
|
||||
#pragma region
|
||||
#pragma region Accessories
|
||||
|
||||
#pragma endregion
|
||||
#pragma endregion
|
||||
|
||||
#pragma region Foodstuff
|
||||
|
||||
static const Item Wheat;
|
||||
static const Item Rice;
|
||||
|
||||
#pragma region Fruit
|
||||
static const Item Apple;
|
||||
static const Item Orange;
|
||||
static const Item Lemon;
|
||||
static const Item Carrot;
|
||||
static const Item Potato;
|
||||
static const Item Onion;
|
||||
static const Item Banana;
|
||||
static const Item MelonSlice;
|
||||
static const Item Tomato;
|
||||
#pragma endregion
|
||||
#pragma region Vegetables
|
||||
|
||||
#pragma endregion
|
||||
#pragma region Cooked Dishes
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region Soups
|
||||
|
||||
#pragma region Drinks
|
||||
static const Item HotCocoa;
|
||||
static const Item AppleCider;
|
||||
static const Item MelonJuice;
|
||||
#pragma endregion
|
||||
#pragma region Potions
|
||||
static const Item FeatherfallPotion;
|
||||
static const Item HP100Potion;
|
||||
static const Item HP250Potion;
|
||||
static const Item HP500Potion;
|
||||
static const Item HP2XPotion;
|
||||
static const Item HP5XPotion;
|
||||
static const Item HP10XPotion;
|
||||
|
||||
#pragma endregion
|
||||
|
||||
|
||||
#pragma region Bottles
|
||||
static const Item EmptyBottle;
|
||||
static const Item WaterBottle;
|
||||
static const Item HoneyBottle;
|
||||
static const Item IceBottle;
|
||||
static const Item OilBottle;
|
||||
static const Item MilkBottle;
|
||||
static const Item SludgeBottle;
|
||||
static const Item EctoplasmBottle;
|
||||
#pragma endregion
|
||||
|
||||
#pragma region Buckets
|
||||
static const Item EmptyBucket;
|
||||
static const Item WaterBucket;
|
||||
static const Item IceBucket;
|
||||
static const Item LavaBucket;
|
||||
static const Item MilkBucket;
|
||||
static const Item OilBucket;
|
||||
static const Item SludgeBucket;
|
||||
static const Item EctoplasmBucket;
|
||||
#pragma endregion
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
33
Core/include/Core/StatusEffects.hpp
Normal file
33
Core/include/Core/StatusEffects.hpp
Normal file
@@ -0,0 +1,33 @@
|
||||
#pragma once
|
||||
|
||||
namespace CaveGame::Core
|
||||
{
|
||||
class StatusEffect {};
|
||||
|
||||
|
||||
namespace Effects {
|
||||
static const StatusEffect Comfy;
|
||||
static const StatusEffect Hungry;
|
||||
static const StatusEffect Thirsty;
|
||||
static const StatusEffect Starving;
|
||||
static const StatusEffect Dehydrated;
|
||||
static const StatusEffect WellFed;
|
||||
static const StatusEffect Bleeding;
|
||||
static const StatusEffect Healing;
|
||||
static const StatusEffect Poisoned;
|
||||
static const StatusEffect Irradiated;
|
||||
static const StatusEffect Glowing;
|
||||
static const StatusEffect Burning;
|
||||
static const StatusEffect Frozen;
|
||||
static const StatusEffect Hot;
|
||||
static const StatusEffect Cold;
|
||||
static const StatusEffect Frostbite;
|
||||
static const StatusEffect HeatStroke;
|
||||
static const StatusEffect BrokenBone;
|
||||
static const StatusEffect Dizzy;
|
||||
static const StatusEffect Drunk;
|
||||
static const StatusEffect Stoned;
|
||||
static const StatusEffect Blind;
|
||||
};
|
||||
|
||||
}
|
38
Core/include/Core/Structures.hpp
Normal file
38
Core/include/Core/Structures.hpp
Normal file
@@ -0,0 +1,38 @@
|
||||
#pragma once
|
||||
|
||||
namespace CaveGame::Core
|
||||
{
|
||||
|
||||
/// A structure is a multi-tile object that is usually generated into the terrain.
|
||||
// TODO: Structure Designer
|
||||
class Structure {};
|
||||
|
||||
|
||||
#define STRUCTURE static const Structure
|
||||
|
||||
/// List of structures in-game.
|
||||
namespace Structures
|
||||
{
|
||||
STRUCTURE TreeGrove;
|
||||
STRUCTURE LargeTree;
|
||||
STRUCTURE MegaTree;
|
||||
STRUCTURE Meadow;
|
||||
|
||||
STRUCTURE Pyramid;
|
||||
STRUCTURE SkyIsland;
|
||||
STRUCTURE UndergroundCabin;
|
||||
STRUCTURE RuinedHouse;
|
||||
STRUCTURE Shrine;
|
||||
STRUCTURE Castle;
|
||||
STRUCTURE SandCastle;
|
||||
STRUCTURE IceFortress;
|
||||
STRUCTURE Campsite;
|
||||
STRUCTURE Settlement;
|
||||
STRUCTURE Village;
|
||||
STRUCTURE Mineshaft;
|
||||
STRUCTURE SatanicTemple;
|
||||
STRUCTURE LavaTube;
|
||||
STRUCTURE
|
||||
};
|
||||
|
||||
}
|
@@ -116,6 +116,8 @@ namespace CaveGame::Core
|
||||
bool does_random_ticc;
|
||||
public:
|
||||
|
||||
constexpr Tile() = default;
|
||||
|
||||
Tile(TileID numeric, const std::string& name, Color4 color)
|
||||
: numeric_id(numeric), mnemonic_id(name), base_color(color)
|
||||
{}
|
||||
@@ -195,10 +197,158 @@ namespace CaveGame::Core
|
||||
|
||||
};
|
||||
|
||||
#define TILE constexpr Tile
|
||||
|
||||
|
||||
// TODO: Constexpr-qualify Color4
|
||||
|
||||
|
||||
namespace Tiles {
|
||||
using Core::TileID;
|
||||
TILE Void {TileID::VOID, "Void", Colors::Transparent};
|
||||
|
||||
|
||||
TILE Air {TileID::AIR, "Air", Colors::Transparent};
|
||||
TILE Stone;
|
||||
TILE Dirt;
|
||||
TILE Mud;
|
||||
TILE Limestone;
|
||||
TILE Basalt;
|
||||
TILE Cobblestone;
|
||||
TILE MossyStone;
|
||||
TILE RedMossyStone;
|
||||
TILE BrownMossyStone;
|
||||
TILE GreenMossyStone;
|
||||
TILE LavaMossyStone;
|
||||
TILE Granite;
|
||||
TILE Marble;
|
||||
TILE Grass;
|
||||
TILE Bluegrass;
|
||||
|
||||
TILE Sand;
|
||||
TILE WhiteSand;
|
||||
TILE RedSand;
|
||||
TILE BlackSand;
|
||||
|
||||
TILE Sandstone;
|
||||
TILE WhiteSandstone;
|
||||
TILE RedSandstone;
|
||||
TILE BlackSandstone;
|
||||
|
||||
TILE Ash;
|
||||
TILE Clay;
|
||||
TILE Silt;
|
||||
TILE Snow;
|
||||
TILE Ice;
|
||||
TILE Slush;
|
||||
|
||||
|
||||
TILE Cactus;
|
||||
TILE CactusFlower;
|
||||
TILE CactusFruit;
|
||||
|
||||
TILE Bamboo;
|
||||
TILE Sugarcane;
|
||||
|
||||
TILE Vine;
|
||||
TILE VineFlower;
|
||||
TILE FlowerStem;
|
||||
TILE RedFlowerPetal;
|
||||
TILE BlueFlowerPetal;
|
||||
TILE YellowFlowerPetal;
|
||||
TILE WhiteFlowerPetal;
|
||||
|
||||
TILE CopperWire;
|
||||
TILE RedWire;
|
||||
TILE GreenWire;
|
||||
TILE YellowWire;
|
||||
TILE BlueWire;
|
||||
|
||||
TILE LED;
|
||||
TILE TNT;
|
||||
|
||||
TILE Cloud;
|
||||
TILE ThinIce;
|
||||
TILE RainCloud;
|
||||
TILE Cobweb;
|
||||
|
||||
TILE Coal;
|
||||
|
||||
TILE CopperOre;
|
||||
TILE TinOre;
|
||||
TILE IronOre;
|
||||
TILE LeadOre;
|
||||
TILE SilverOre;
|
||||
TILE TungstenOre;
|
||||
TILE GoldOre;
|
||||
TILE PlatinumOre;
|
||||
TILE CobaltOre;
|
||||
TILE TitaniumOre;
|
||||
TILE UraniumOre;
|
||||
|
||||
TILE Diamond;
|
||||
TILE Emerald;
|
||||
TILE Amethyst;
|
||||
TILE Topaz;
|
||||
TILE Sapphire;
|
||||
TILE Ruby;
|
||||
TILE Amber;
|
||||
|
||||
TILE Obsidian;
|
||||
|
||||
|
||||
|
||||
TILE OakLog;
|
||||
TILE OakPlank;
|
||||
TILE OakPlatform;
|
||||
TILE OakLeaf;
|
||||
|
||||
TILE AshLog;
|
||||
TILE AshLeaf;
|
||||
TILE AshPlank;
|
||||
|
||||
TILE PalmLog;
|
||||
TILE PalmLeaf;
|
||||
TILE PalmPlank;
|
||||
|
||||
TILE PineLog;
|
||||
TILE PinePlank;
|
||||
TILE PinePlatform;
|
||||
TILE PineLeaf;
|
||||
|
||||
TILE RedwoodLog;
|
||||
TILE RedwoodPlank;
|
||||
TILE RedwoodPlatform;
|
||||
TILE RedwoodLeaf;
|
||||
|
||||
TILE EbonyLog;
|
||||
TILE EbonyPlank;
|
||||
TILE EbonyPlatform;
|
||||
TILE EbonyLeaf;
|
||||
|
||||
TILE MapleLog;
|
||||
TILE MapleLeaf;
|
||||
TILE MaplePlank;
|
||||
|
||||
|
||||
TILE BirchLog;
|
||||
TILE BirchLeaf;
|
||||
TILE BirchPlank;
|
||||
|
||||
|
||||
TILE Water;
|
||||
TILE Blood;
|
||||
TILE Sludge;
|
||||
TILE Lava;
|
||||
TILE MuddyWater;
|
||||
TILE Ectoplasm;
|
||||
TILE Oil;
|
||||
TILE Honey;
|
||||
TILE Milk;
|
||||
|
||||
TILE Rope;
|
||||
|
||||
}
|
||||
|
||||
void RegisterTile(Tile* data);
|
||||
|
||||
|
1
Core/src/Core/Biome.cpp
Normal file
1
Core/src/Core/Biome.cpp
Normal file
@@ -0,0 +1 @@
|
||||
#include <Core/Biomes.hpp>
|
Reference in New Issue
Block a user