From 6307feb53d978cbf7f50df26a7b0bc63252cfbd4 Mon Sep 17 00:00:00 2001 From: Mitja Felicijan Date: Thu, 30 Apr 2026 19:02:35 +0200 Subject: Title screen and direct map load with --map param --- all.h | 10 +- game.c | 80 +++++++++--- main.c | 35 ++++- maps/demo3.map | 204 +++++++++++++++++++++++++++++- trenchbroom/stalag/GameEngineProfiles.cfg | 4 +- 5 files changed, 305 insertions(+), 28 deletions(-) diff --git a/all.h b/all.h index 048750a..6c17f7f 100644 --- a/all.h +++ b/all.h @@ -82,7 +82,14 @@ typedef enum { MOVE_FLY } MovementMode; +typedef enum { + STATE_TITLE, + STATE_PLAYING +} GameStateMode; + typedef struct { + GameStateMode mode; + char map_path[256]; Camera camera; Model *world_models; int world_model_count; @@ -124,7 +131,8 @@ Vector2 GetUV(Vector3 p, MapPlane *mp, Plane plane); // Game Texture2D GetTexture(const char *name); -void InitGame(const char *map_path); +void InitGame(void); +void SetMap(const char *path); void UpdateGame(void); void DrawGame(void); bool LoadMap(const char *filename); diff --git a/game.c b/game.c index 87fea13..19a1875 100644 --- a/game.c +++ b/game.c @@ -223,7 +223,7 @@ bool LoadMap(const char *filename) { return true; } -void InitGame(const char* map_path) { +void InitGame(void) { array_init(texture_cache); game.world_models = NULL; game.world_model_count = 0; @@ -238,7 +238,7 @@ void InitGame(const char* map_path) { game.font_ui = GetFontDefault(); } - LoadMap(map_path); + game.mode = STATE_TITLE; game.cursor_captured = false; EnableCursor(); @@ -248,7 +248,21 @@ void InitGame(const char* map_path) { game.is_grounded = false; } +void SetMap(const char *path) { + strncpy(game.map_path, path, sizeof(game.map_path) - 1); + game.map_path[sizeof(game.map_path) - 1] = '\0'; +} + void UpdateGame(void) { + if (game.mode == STATE_TITLE) { + if (IsKeyPressed(KEY_ENTER)) { + if (LoadMap(game.map_path)) { + game.mode = STATE_PLAYING; + } + } + return; + } + if (IsMouseButtonPressed(MOUSE_BUTTON_RIGHT)) { game.cursor_captured = !game.cursor_captured; if (game.cursor_captured) DisableCursor(); @@ -257,6 +271,7 @@ void UpdateGame(void) { if (IsKeyPressed(KEY_ONE)) LoadMap("maps/demo1.map"); if (IsKeyPressed(KEY_TWO)) LoadMap("maps/demo2.map"); + if (IsKeyPressed(KEY_THREE)) LoadMap("maps/demo3.map"); if (IsKeyPressed(KEY_V)) { game.vsync = !game.vsync; @@ -274,25 +289,50 @@ void UpdateGame(void) { void DrawGame(void) { BeginDrawing(); - ClearBackground(DARKGRAY); - BeginMode3D(game.camera); - - // Enable backface culling to hide interior faces of brushes - rlEnableBackfaceCulling(); - for (int i = 0; i < game.world_model_count; i++) { - DrawModel(game.world_models[i], (Vector3){ 0, 0, 0 }, 1.0f, WHITE); + ClearBackground(BLACK); + + if (game.mode == STATE_TITLE) { + int screenWidth = GetScreenWidth(); + int screenHeight = GetScreenHeight(); + + const char *title = "STALAG"; + const char *sub = "Press ENTER to Start"; + + int titleSize = 60; + int subSize = 20; + + Vector2 titlePos = { + (float)(screenWidth - MeasureTextEx(game.font_ui, title, (float)titleSize, 4).x) / 2, + (float)screenHeight / 2 - 40 + }; + Vector2 subPos = { + (float)(screenWidth - MeasureTextEx(game.font_ui, sub, (float)subSize, 2).x) / 2, + (float)screenHeight / 2 + 40 + }; + + DrawTextEx(game.font_ui, title, titlePos, (float)titleSize, 4, WHITE); + DrawTextEx(game.font_ui, sub, subPos, (float)subSize, 2, GRAY); + } else { + ClearBackground(DARKGRAY); + BeginMode3D(game.camera); + + // Enable backface culling to hide interior faces of brushes + rlEnableBackfaceCulling(); + for (int i = 0; i < game.world_model_count; i++) { + DrawModel(game.world_models[i], (Vector3){ 0, 0, 0 }, 1.0f, WHITE); + } + + EndMode3D(); + + int screenWidth = GetScreenWidth(); + int screenHeight = GetScreenHeight(); + DrawLine(screenWidth / 2 - 10, screenHeight / 2, screenWidth / 2 + 10, screenHeight / 2, GREEN); + DrawLine(screenWidth / 2, screenHeight / 2 - 10, screenWidth / 2, screenHeight / 2 + 10, GREEN); + + DrawTextEx(game.font_ui, TextFormat("%i FPS", GetFPS()), (Vector2){ 10, 10 }, 20, 2, GREEN); + DrawTextEx(game.font_ui, TextFormat("VSync: %s", game.vsync ? "ON" : "OFF"), (Vector2){ 10, 35 }, 20, 2, GREEN); + DrawTextEx(game.font_ui, TextFormat("Speed: %.0f", game.horizontal_speed), (Vector2){ 10, 60 }, 20, 2, GREEN); } - - EndMode3D(); - - int screenWidth = GetScreenWidth(); - int screenHeight = GetScreenHeight(); - DrawLine(screenWidth / 2 - 10, screenHeight / 2, screenWidth / 2 + 10, screenHeight / 2, GREEN); - DrawLine(screenWidth / 2, screenHeight / 2 - 10, screenWidth / 2, screenHeight / 2 + 10, GREEN); - - DrawTextEx(game.font_ui, TextFormat("%i FPS", GetFPS()), (Vector2){ 10, 10 }, 20, 2, GREEN); - DrawTextEx(game.font_ui, TextFormat("VSync: %s", game.vsync ? "ON" : "OFF"), (Vector2){ 10, 35 }, 20, 2, GREEN); - DrawTextEx(game.font_ui, TextFormat("Speed: %.0f", game.horizontal_speed), (Vector2){ 10, 60 }, 20, 2, GREEN); EndDrawing(); } diff --git a/main.c b/main.c index e89aa1a..e497e73 100644 --- a/main.c +++ b/main.c @@ -2,8 +2,29 @@ #define NONSTD_IMPLEMENTATION #define VFS_IMPLEMENTATION #include "all.h" +#include +#include + +int main(int argc, char *argv[]) { + char map_path[256] = "maps/demo3.map"; + bool skip_title = false; + + static struct option long_options[] = { + {"map", required_argument, 0, 'm'}, + {0, 0, 0, 0} + }; + + int opt; + int option_index = 0; + while ((opt = getopt_long_only(argc, argv, "m:", long_options, &option_index)) != -1) { + switch (opt) { + case 'm': + strncpy(map_path, optarg, sizeof(map_path) - 1); + skip_title = true; + break; + } + } -int main(void) { SetConfigFlags(FLAG_VSYNC_HINT | FLAG_WINDOW_RESIZABLE | FLAG_WINDOW_HIGHDPI); InitWindow(WINDOW_WIDTH, WINDOW_HEIGHT, WINDOW_TITLE); @@ -14,7 +35,17 @@ int main(void) { SetTargetFPS(GetMonitorRefreshRate(monitor)); vfs_init("data.pak"); - InitGame("maps/demo3.map"); + InitGame(); + SetMap(map_path); + + if (skip_title) { + if (LoadMap(game.map_path)) { + game.mode = STATE_PLAYING; + game.cursor_captured = true; + DisableCursor(); + } + } + game.vsync = true; while (!WindowShouldClose()) { diff --git a/maps/demo3.map b/maps/demo3.map index bdd84f5..f12f33c 100644 --- a/maps/demo3.map +++ b/maps/demo3.map @@ -12,21 +12,219 @@ ( 64 336 0 ) ( 65 336 0 ) ( 64 336 1 ) brushes/bricks_076c 0 -16 0 1 1 ( 560 112 0 ) ( 560 112 1 ) ( 560 113 0 ) brushes/bricks_076c -48 -16 0 1 1 } +// brush 1 +{ +( -592 320 0 ) ( -592 321 0 ) ( -592 320 1 ) environment/planks_012 0 0 0 1 1 +( -592 320 0 ) ( -592 320 1 ) ( -591 320 0 ) environment/planks_012 0 0 0 1 1 +( -592 320 0 ) ( -591 320 0 ) ( -592 321 0 ) environment/planks_012 0 0 0 1 1 +( 560 336 272 ) ( 560 337 272 ) ( 561 336 272 ) environment/planks_012 0 0 0 1 1 +( 560 336 16 ) ( 561 336 16 ) ( 560 336 17 ) environment/planks_012 0 0 0 1 1 +( 560 336 16 ) ( 560 336 17 ) ( 560 337 16 ) environment/planks_012 0 0 0 1 1 +} +// brush 2 +{ +( -592 -384 0 ) ( -592 -383 0 ) ( -592 -384 1 ) environment/planks_012 0 0 0 1 1 +( -592 -384 0 ) ( -592 -384 1 ) ( -591 -384 0 ) environment/planks_012 0 0 0 1 1 +( -592 -384 0 ) ( -591 -384 0 ) ( -592 -383 0 ) environment/planks_012 0 0 0 1 1 +( 560 -368 272 ) ( 560 -367 272 ) ( 561 -368 272 ) environment/planks_012 0 0 0 1 1 +( 560 -368 16 ) ( 561 -368 16 ) ( 560 -368 17 ) environment/planks_012 0 0 0 1 1 +( 560 -368 16 ) ( 560 -368 17 ) ( 560 -367 16 ) environment/planks_012 0 0 0 1 1 +} +// brush 3 +{ +( -592 -368 0 ) ( -592 -367 0 ) ( -592 -368 1 ) environment/planks_012 0 0 0 1 1 +( -592 -368 0 ) ( -592 -368 1 ) ( -591 -368 0 ) environment/planks_012 0 0 0 1 1 +( -592 -368 0 ) ( -591 -368 0 ) ( -592 -367 0 ) environment/planks_012 0 0 0 1 1 +( -576 320 272 ) ( -576 321 272 ) ( -575 320 272 ) environment/planks_012 0 0 0 1 1 +( -576 320 16 ) ( -575 320 16 ) ( -576 320 17 ) environment/planks_012 0 0 0 1 1 +( -576 320 16 ) ( -576 320 17 ) ( -576 321 16 ) environment/planks_012 0 0 0 1 1 +} +// brush 4 +{ +( 544 -368 0 ) ( 544 -367 0 ) ( 544 -368 1 ) environment/planks_012 0 0 0 1 1 +( 544 -368 0 ) ( 544 -368 1 ) ( 545 -368 0 ) environment/planks_012 0 0 0 1 1 +( 544 -368 0 ) ( 545 -368 0 ) ( 544 -367 0 ) environment/planks_012 0 0 0 1 1 +( 560 320 272 ) ( 560 321 272 ) ( 561 320 272 ) environment/planks_012 0 0 0 1 1 +( 560 320 16 ) ( 561 320 16 ) ( 560 320 17 ) environment/planks_012 0 0 0 1 1 +( 560 320 16 ) ( 560 320 17 ) ( 560 321 16 ) environment/planks_012 0 0 0 1 1 +} +// brush 5 +{ +( -352 -352 -8 ) ( -352 -351 -8 ) ( -352 -352 -7 ) environment/paintedwood_008a -16 -8 0 1 1 +( -368 -352 -8 ) ( -368 -352 -7 ) ( -367 -352 -8 ) environment/paintedwood_008a 0 -8 0 1 1 +( -368 -352 8 ) ( -367 -352 8 ) ( -368 -351 8 ) environment/paintedwood_008a 0 16 0 1 1 +( -240 -144 24 ) ( -240 -143 24 ) ( -239 -144 24 ) environment/paintedwood_008a 0 16 0 1 1 +( -240 -144 8 ) ( -239 -144 8 ) ( -240 -144 9 ) environment/paintedwood_008a 0 -8 0 1 1 +( -240 -144 8 ) ( -240 -144 9 ) ( -240 -143 8 ) environment/paintedwood_008a -16 -8 0 1 1 +} +// brush 6 +{ +( -256 -168 0 ) ( -256 -167 0 ) ( -256 -168 1 ) environment/planks_012 -24 0 0 1 1 +( -256 -168 0 ) ( -256 -168 1 ) ( -255 -168 0 ) environment/planks_012 0 0 0 1 1 +( -256 -168 0 ) ( -255 -168 0 ) ( -256 -167 0 ) environment/planks_012 0 24 0 1 1 +( -240 -152 8 ) ( -240 -151 8 ) ( -239 -152 8 ) environment/planks_012 0 24 0 1 1 +( -240 -152 16 ) ( -239 -152 16 ) ( -240 -152 17 ) environment/planks_012 0 0 0 1 1 +( -240 -152 16 ) ( -240 -152 17 ) ( -240 -151 16 ) environment/planks_012 -24 0 0 1 1 +} +// brush 7 +{ +( -352 -168 0 ) ( -352 -167 0 ) ( -352 -168 1 ) environment/planks_012 -24 0 0 1 1 +( -352 -168 0 ) ( -352 -168 1 ) ( -351 -168 0 ) environment/planks_012 96 0 0 1 1 +( -352 -168 0 ) ( -351 -168 0 ) ( -352 -167 0 ) environment/planks_012 96 24 0 1 1 +( -336 -152 8 ) ( -336 -151 8 ) ( -335 -152 8 ) environment/planks_012 96 24 0 1 1 +( -336 -152 16 ) ( -335 -152 16 ) ( -336 -152 17 ) environment/planks_012 96 0 0 1 1 +( -336 -152 16 ) ( -336 -152 17 ) ( -336 -151 16 ) environment/planks_012 -24 0 0 1 1 +} +// brush 8 +{ +( -352 -344 0 ) ( -352 -343 0 ) ( -352 -344 1 ) environment/planks_012 152 0 0 1 1 +( -352 -344 0 ) ( -352 -344 1 ) ( -351 -344 0 ) environment/planks_012 96 0 0 1 1 +( -352 -344 0 ) ( -351 -344 0 ) ( -352 -343 0 ) environment/planks_012 96 -152 0 1 1 +( -336 -328 8 ) ( -336 -327 8 ) ( -335 -328 8 ) environment/planks_012 96 -152 0 1 1 +( -336 -328 16 ) ( -335 -328 16 ) ( -336 -328 17 ) environment/planks_012 96 0 0 1 1 +( -336 -328 16 ) ( -336 -328 17 ) ( -336 -327 16 ) environment/planks_012 152 0 0 1 1 +} +// brush 9 +{ +( -256 -344 0 ) ( -256 -343 0 ) ( -256 -344 1 ) environment/planks_012 152 0 0 1 1 +( -256 -344 0 ) ( -256 -344 1 ) ( -255 -344 0 ) environment/planks_012 0 0 0 1 1 +( -256 -344 0 ) ( -255 -344 0 ) ( -256 -343 0 ) environment/planks_012 0 -152 0 1 1 +( -240 -328 8 ) ( -240 -327 8 ) ( -239 -328 8 ) environment/planks_012 0 -152 0 1 1 +( -240 -328 16 ) ( -239 -328 16 ) ( -240 -328 17 ) environment/planks_012 0 0 0 1 1 +( -240 -328 16 ) ( -240 -328 17 ) ( -240 -327 16 ) environment/planks_012 152 0 0 1 1 +} +// brush 10 +{ +( -328 -328 32 ) ( -344 -344 16 ) ( -344 -280 16 ) environment/roofingtiles_012b 8 -344 0 1 1 +( -272 -328 40 ) ( -256 -344 24 ) ( -352 -344 24 ) environment/roofingtiles_012b 208 -376 0 1 1 +( -256 -344 24 ) ( -256 -280 24 ) ( -352 -280 24 ) environment/roofingtiles_012b 208 24 0 1 1 +( -336 -296 32 ) ( -272 -296 32 ) ( -272 -328 32 ) environment/roofingtiles_012b 208 24 0 1 1 +( -272 -296 40 ) ( -336 -296 40 ) ( -352 -280 24 ) environment/roofingtiles_012b 208 -312 0 1 1 +( -272 -296 40 ) ( -256 -280 24 ) ( -256 -344 24 ) environment/roofingtiles_012b -80 -344 0 1 1 +} +// brush 11 +{ +( -160 -328 32 ) ( -176 -344 16 ) ( -176 -280 16 ) environment/roofingtiles_012b -160 -344 0 1 1 +( -104 -328 40 ) ( -88 -344 24 ) ( -184 -344 24 ) environment/roofingtiles_012b 40 -376 0 1 1 +( -88 -344 24 ) ( -88 -280 24 ) ( -184 -280 24 ) environment/roofingtiles_012b 40 24 0 1 1 +( -168 -296 32 ) ( -104 -296 32 ) ( -104 -328 32 ) environment/roofingtiles_012b 40 24 0 1 1 +( -104 -296 40 ) ( -168 -296 40 ) ( -184 -280 24 ) environment/roofingtiles_012b 40 -312 0 1 1 +( -104 -296 40 ) ( -88 -280 24 ) ( -88 -344 24 ) environment/roofingtiles_012b -248 -344 0 1 1 +} +// brush 12 +{ +( -184 -352 -8 ) ( -184 -351 -8 ) ( -184 -352 -7 ) environment/paintedwood_008a -16 -8 0 1 1 +( -200 -352 -8 ) ( -200 -352 -7 ) ( -199 -352 -8 ) environment/paintedwood_008a -168 -8 0 1 1 +( -200 -352 8 ) ( -199 -352 8 ) ( -200 -351 8 ) environment/paintedwood_008a -168 16 0 1 1 +( -72 -144 24 ) ( -72 -143 24 ) ( -71 -144 24 ) environment/paintedwood_008a -168 16 0 1 1 +( -72 -144 8 ) ( -71 -144 8 ) ( -72 -144 9 ) environment/paintedwood_008a -168 -8 0 1 1 +( -72 -144 8 ) ( -72 -144 9 ) ( -72 -143 8 ) environment/paintedwood_008a -16 -8 0 1 1 +} +// brush 13 +{ +( 0 -328 32 ) ( -16 -344 16 ) ( -16 -280 16 ) environment/roofingtiles_012b -320 -344 0 1 1 +( 56 -328 40 ) ( 72 -344 24 ) ( -24 -344 24 ) environment/roofingtiles_012b -120 -376 0 1 1 +( 72 -344 24 ) ( 72 -280 24 ) ( -24 -280 24 ) environment/roofingtiles_012b -120 24 0 1 1 +( -8 -296 32 ) ( 56 -296 32 ) ( 56 -328 32 ) environment/roofingtiles_012b -120 24 0 1 1 +( 56 -296 40 ) ( -8 -296 40 ) ( -24 -280 24 ) environment/roofingtiles_012b -120 -312 0 1 1 +( 56 -296 40 ) ( 72 -280 24 ) ( 72 -344 24 ) environment/roofingtiles_012b -408 -344 0 1 1 +} +// brush 14 +{ +( -24 -352 -8 ) ( -24 -351 -8 ) ( -24 -352 -7 ) environment/paintedwood_008a -16 -8 0 1 1 +( -40 -352 -8 ) ( -40 -352 -7 ) ( -39 -352 -8 ) environment/paintedwood_008a -328 -8 0 1 1 +( -40 -352 8 ) ( -39 -352 8 ) ( -40 -351 8 ) environment/paintedwood_008a -328 16 0 1 1 +( 88 -144 24 ) ( 88 -143 24 ) ( 89 -144 24 ) environment/paintedwood_008a -328 16 0 1 1 +( 88 -144 8 ) ( 89 -144 8 ) ( 88 -144 9 ) environment/paintedwood_008a -328 -8 0 1 1 +( 88 -144 8 ) ( 88 -144 9 ) ( 88 -143 8 ) environment/paintedwood_008a -16 -8 0 1 1 +} +// brush 15 +{ +( -184 -344 0 ) ( -184 -343 0 ) ( -184 -344 1 ) environment/planks_012 152 0 0 1 1 +( -184 -344 0 ) ( -184 -344 1 ) ( -183 -344 0 ) environment/planks_012 -72 0 0 1 1 +( -184 -344 0 ) ( -183 -344 0 ) ( -184 -343 0 ) environment/planks_012 -72 -152 0 1 1 +( -168 -328 8 ) ( -168 -327 8 ) ( -167 -328 8 ) environment/planks_012 -72 -152 0 1 1 +( -168 -328 16 ) ( -167 -328 16 ) ( -168 -328 17 ) environment/planks_012 -72 0 0 1 1 +( -168 -328 16 ) ( -168 -328 17 ) ( -168 -327 16 ) environment/planks_012 152 0 0 1 1 +} +// brush 16 +{ +( -88 -344 0 ) ( -88 -343 0 ) ( -88 -344 1 ) environment/planks_012 152 0 0 1 1 +( -88 -344 0 ) ( -88 -344 1 ) ( -87 -344 0 ) environment/planks_012 -168 0 0 1 1 +( -88 -344 0 ) ( -87 -344 0 ) ( -88 -343 0 ) environment/planks_012 -168 -152 0 1 1 +( -72 -328 8 ) ( -72 -327 8 ) ( -71 -328 8 ) environment/planks_012 -168 -152 0 1 1 +( -72 -328 16 ) ( -71 -328 16 ) ( -72 -328 17 ) environment/planks_012 -168 0 0 1 1 +( -72 -328 16 ) ( -72 -328 17 ) ( -72 -327 16 ) environment/planks_012 152 0 0 1 1 +} +// brush 17 +{ +( -24 -344 0 ) ( -24 -343 0 ) ( -24 -344 1 ) environment/planks_012 152 0 0 1 1 +( -24 -344 0 ) ( -24 -344 1 ) ( -23 -344 0 ) environment/planks_012 -232 0 0 1 1 +( -24 -344 0 ) ( -23 -344 0 ) ( -24 -343 0 ) environment/planks_012 -232 -152 0 1 1 +( -8 -328 8 ) ( -8 -327 8 ) ( -7 -328 8 ) environment/planks_012 -232 -152 0 1 1 +( -8 -328 16 ) ( -7 -328 16 ) ( -8 -328 17 ) environment/planks_012 -232 0 0 1 1 +( -8 -328 16 ) ( -8 -328 17 ) ( -8 -327 16 ) environment/planks_012 152 0 0 1 1 +} +// brush 18 +{ +( 72 -344 0 ) ( 72 -343 0 ) ( 72 -344 1 ) environment/planks_012 152 0 0 1 1 +( 72 -344 0 ) ( 72 -344 1 ) ( 73 -344 0 ) environment/planks_012 -328 0 0 1 1 +( 72 -344 0 ) ( 73 -344 0 ) ( 72 -343 0 ) environment/planks_012 -328 -152 0 1 1 +( 88 -328 8 ) ( 88 -327 8 ) ( 89 -328 8 ) environment/planks_012 -328 -152 0 1 1 +( 88 -328 16 ) ( 89 -328 16 ) ( 88 -328 17 ) environment/planks_012 -328 0 0 1 1 +( 88 -328 16 ) ( 88 -328 17 ) ( 88 -327 16 ) environment/planks_012 152 0 0 1 1 +} +// brush 19 +{ +( -24 -168 0 ) ( -24 -167 0 ) ( -24 -168 1 ) environment/planks_012 -24 0 0 1 1 +( -24 -168 0 ) ( -24 -168 1 ) ( -23 -168 0 ) environment/planks_012 -232 0 0 1 1 +( -24 -168 0 ) ( -23 -168 0 ) ( -24 -167 0 ) environment/planks_012 -232 24 0 1 1 +( -8 -152 8 ) ( -8 -151 8 ) ( -7 -152 8 ) environment/planks_012 -232 24 0 1 1 +( -8 -152 16 ) ( -7 -152 16 ) ( -8 -152 17 ) environment/planks_012 -232 0 0 1 1 +( -8 -152 16 ) ( -8 -152 17 ) ( -8 -151 16 ) environment/planks_012 -24 0 0 1 1 +} +// brush 20 +{ +( 72 -168 0 ) ( 72 -167 0 ) ( 72 -168 1 ) environment/planks_012 -24 0 0 1 1 +( 72 -168 0 ) ( 72 -168 1 ) ( 73 -168 0 ) environment/planks_012 -328 0 0 1 1 +( 72 -168 0 ) ( 73 -168 0 ) ( 72 -167 0 ) environment/planks_012 -328 24 0 1 1 +( 88 -152 8 ) ( 88 -151 8 ) ( 89 -152 8 ) environment/planks_012 -328 24 0 1 1 +( 88 -152 16 ) ( 89 -152 16 ) ( 88 -152 17 ) environment/planks_012 -328 0 0 1 1 +( 88 -152 16 ) ( 88 -152 17 ) ( 88 -151 16 ) environment/planks_012 -24 0 0 1 1 +} +// brush 21 +{ +( -184 -168 0 ) ( -184 -167 0 ) ( -184 -168 1 ) environment/planks_012 -24 0 0 1 1 +( -184 -168 0 ) ( -184 -168 1 ) ( -183 -168 0 ) environment/planks_012 -72 0 0 1 1 +( -184 -168 0 ) ( -183 -168 0 ) ( -184 -167 0 ) environment/planks_012 -72 24 0 1 1 +( -168 -152 8 ) ( -168 -151 8 ) ( -167 -152 8 ) environment/planks_012 -72 24 0 1 1 +( -168 -152 16 ) ( -167 -152 16 ) ( -168 -152 17 ) environment/planks_012 -72 0 0 1 1 +( -168 -152 16 ) ( -168 -152 17 ) ( -168 -151 16 ) environment/planks_012 -24 0 0 1 1 +} +// brush 22 +{ +( -88 -168 0 ) ( -88 -167 0 ) ( -88 -168 1 ) environment/planks_012 -24 0 0 1 1 +( -88 -168 0 ) ( -88 -168 1 ) ( -87 -168 0 ) environment/planks_012 -168 0 0 1 1 +( -88 -168 0 ) ( -87 -168 0 ) ( -88 -167 0 ) environment/planks_012 -168 24 0 1 1 +( -72 -152 8 ) ( -72 -151 8 ) ( -71 -152 8 ) environment/planks_012 -168 24 0 1 1 +( -72 -152 16 ) ( -71 -152 16 ) ( -72 -152 17 ) environment/planks_012 -168 0 0 1 1 +( -72 -152 16 ) ( -72 -152 17 ) ( -72 -151 16 ) environment/planks_012 -24 0 0 1 1 +} } // entity 1 { "classname" "light" -"origin" "136 -280 184" +"origin" "152 -280 232" } // entity 2 { "classname" "light" -"origin" "-200 24 184" +"origin" "-312 24 232" } // entity 3 { "classname" "info_player_start" -"origin" "-128 -112 16" +"origin" "-464 0 16" } // entity 4 { diff --git a/trenchbroom/stalag/GameEngineProfiles.cfg b/trenchbroom/stalag/GameEngineProfiles.cfg index 6c672e0..eab4cf2 100644 --- a/trenchbroom/stalag/GameEngineProfiles.cfg +++ b/trenchbroom/stalag/GameEngineProfiles.cfg @@ -2,9 +2,9 @@ "profiles": [ { "name": "Stalag", - "parameters": "+map ${MAP_BASE_NAME}", + "parameters": "--map ${MAP_BASE_NAME}", "path": "/home/m/Projects/stalag/bin/stalag" } ], "version": 1 -} \ No newline at end of file +} -- cgit v1.2.3