diff --git a/tools/editor/cli_arg_required.cpp b/tools/editor/cli_arg_required.cpp index 9f282f96..c22ae6d5 100644 --- a/tools/editor/cli_arg_required.cpp +++ b/tools/editor/cli_arg_required.cpp @@ -86,6 +86,7 @@ const char* const kArgRequired[] = { "--gen-temple-pack", "--gen-graveyard-pack", "--gen-garden-pack", "--gen-dock-pack", "--gen-tavern-pack", "--gen-mining-pack", "--gen-arena-pack", + "--gen-kitchen-pack", "--gen-mesh-table", "--gen-mesh-lamppost", "--gen-mesh-bed", "--gen-mesh-ladder", "--gen-mesh-well", "--gen-mesh-signpost", "--gen-mesh-mailbox", "--gen-mesh-tombstone", "--gen-mesh-crate", diff --git a/tools/editor/cli_gen_mesh.cpp b/tools/editor/cli_gen_mesh.cpp index d1eaefa8..4139aac0 100644 --- a/tools/editor/cli_gen_mesh.cpp +++ b/tools/editor/cli_gen_mesh.cpp @@ -7515,6 +7515,26 @@ int handleGenGraveyardPack(int& i, int /*argc*/, char** argv) { }); } +int handleGenKitchenPack(int& i, int /*argc*/, char** argv) { + // Tavern kitchen / cookhouse scene: stove (the cookfire), + // cauldron (large hanging pot), table (prep surface), stool + // (the cook's seat), barrel (water / ale / flour storage), + // mug (drink ready for the inn customer), mortar-pestle + // (herb / spice grinding). The 11th themed pack — pairs + // with --gen-tavern-pack as the back-of-house complement + // to that pack's front-of-house common-room props. + std::string outDir = argv[++i]; + return emitMeshPack(outDir, "kitchen pack", { + {"--gen-mesh-stove", handleStove, "stove"}, + {"--gen-mesh-cauldron", handleCauldron, "cauldron"}, + {"--gen-mesh-table", handleTable, "prep-table"}, + {"--gen-mesh-stool", handleStool, "stool"}, + {"--gen-mesh-barrel", handleBarrel, "barrel"}, + {"--gen-mesh-mug", handleMug, "mug"}, + {"--gen-mesh-mortar-pestle", handleMortarPestle, "mortar"}, + }); +} + int handleGenTemplePack(int& i, int /*argc*/, char** argv) { // Temple / shrine scene: altar (the focal point), shrine // (auxiliary devotional), brazier (lit on either side of the @@ -7650,6 +7670,7 @@ constexpr MeshEntry kMeshTable[] = { {"--gen-tavern-pack", 1, handleGenTavernPack}, {"--gen-mining-pack", 1, handleGenMiningPack}, {"--gen-arena-pack", 1, handleGenArenaPack}, + {"--gen-kitchen-pack", 1, handleGenKitchenPack}, {"--gen-mesh-table", 1, handleTable}, {"--gen-mesh-lamppost", 1, handleLamppost}, {"--gen-mesh-bed", 1, handleBed}, diff --git a/tools/editor/cli_help.cpp b/tools/editor/cli_help.cpp index 509ca3e2..ca9484e6 100644 --- a/tools/editor/cli_help.cpp +++ b/tools/editor/cli_help.cpp @@ -364,6 +364,8 @@ void printUsage(const char* argv0) { std::printf(" Convenience: emit gravel-pile + crate-stack + mine-cart + pillar-row + lantern + workbench + hitching-post\n"); std::printf(" --gen-arena-pack \n"); std::printf(" Convenience: emit training-dummy + archery-target + workbench + crate-stack + bench + water-trough + hitching-rail\n"); + std::printf(" --gen-kitchen-pack \n"); + std::printf(" Convenience: emit stove + cauldron + prep-table + stool + barrel + mug + mortar (tavern back-of-house)\n"); std::printf(" --gen-mesh-table [width] [depth] [height] [legThick] [topThick]\n"); std::printf(" Table: flat top slab on 4 corner legs (default 1.6/1.0/0.85/0.10/0.06)\n"); std::printf(" --gen-mesh-lamppost [poleH] [poleT] [baseSize] [lanternSize] [lanternH]\n");