DAB on Counter-Strike: Source maps (and adding spawnpoints)

No sólo tacos y guitarras.

DAB on Counter-Strike: Source maps (and adding spawnpoints)

Postby SM Sith Lord » Tue Aug 05, 2014 9:13 am

Hi everybody, I just started playing DAB last week, fun stuff.

I wanted to play on some of my favorite Counter-Strike: Source map, so I whipped up this gameinfo.txt to mount CSS resources (changes are near the bottom):
Code: Select all
   game   "Double Action: Boogaloo"
   title   ""
   title2   ""
   type    multiplayer_only
//   type    singleplayer_only
   icon   "dab"

   supportsvr    1
   nomodels     1
   nohimodel    1
   nocrosshair  1
   nodegraph    0
   GameData     "da.fgd"

   developer "Double Action"
   developer_url http://doubleactiongame.com/

      // Hide maps from the start server dialog
      "test_speakers"      1
      "test_hardware"      1
      "dablogomenu"       1

      SteamAppId 243750 // Source SDK Base 2013 Multiplayer

         // First, mount all user customizations.  This will search for VPKs and subfolders
         // and mount them in alphabetical order.  The easiest way to distribute a mod is to
         // pack up the custom content into a VPK.  To "install" a mod, just drop it in this
         // folder.
         // Note that this folder is scanned only when the game is booted.
         game+mod         hl2mp/custom/*
         game+mod         hl2/custom/*

         gamebin            |gameinfo_path|debug_bin

         // Now search loose files.  We'll set the directory containing the gameinfo.txt file
         // as the first "mod" search path (after any user customizations).  This is also the one
         // that's used when writing to the "mod" path.
         game+mod         |gameinfo_path|.
         game+mod         |gameinfo_path|../da_info/.
         mod_write+default_write_path      |gameinfo_path|../da_info/.
         gamebin            |gameinfo_path|bin

         // We search VPK files before ordinary folders, because most files will be found in
         // VPK and we can avoid making thousands of file system calls to attempt to open files
         // in folders where they don't exist.  (Searching a VPK is much faster than making an operating
         // system call.)
         game_lv            hl2/hl2_lv.vpk
         game+mod         hl2mp/hl2mp_english.vpk
         game+mod         hl2mp/hl2mp_pak.vpk
         game            |all_source_engine_paths|hl2/hl2_english.vpk
         game            |all_source_engine_paths|hl2/hl2_pak.vpk
         game            |all_source_engine_paths|hl2/hl2_textures.vpk
         game            |all_source_engine_paths|hl2/hl2_sound_vo_english.vpk
         game            |all_source_engine_paths|hl2/hl2_sound_misc.vpk
         game            |all_source_engine_paths|hl2/hl2_misc.vpk
         platform         |all_source_engine_paths|platform/platform_misc.vpk

         // Add the HL2 directory as a game search path.  This is also where where writes
         // to the "game" path go.
         game+game_write      hl2mp

         // Where the game's binaries are
         gamebin            hl2mp/bin

         // Last, mount in shared HL2 loose files
         game            |all_source_engine_paths|hl2mp
         game            |all_source_engine_paths|hl2
         platform         |all_source_engine_paths|platform

         "game"      "|all_source_engine_paths|../Counter-Strike Source/cstrike/custom/*"
         "game"      "|all_source_engine_paths|../Counter-Strike Source/cstrike/cstrike_pak_dir.vpk"
         "game"      "|all_source_engine_paths|../Counter-Strike Source/cstrike"
         "game"      "|all_source_engine_paths|../Counter-Strike Source/cstrike/download"

After that, I dropped my map cs_harborbank into DAB's map folder and was able to load it up with the map console command.

There were 2 issues:
1. Since there were no info_player_deathmatch entities to spawn from, all players spawned at the world origin.
2. There seemed to be a missing texture for the cs_office-style glass after it begins to shatter.

So, to fix issue 1 I fired up Pakrat, loaded up the bank map's .bsp and added a bunch of info_player_deathmatch spawns. Worked great, lots of fun playing on that map.

I stumbled upon a pretty cool gameplay mechanic too! Let's say you're on the 2nd story of a building... if there's a HOLE in the floor to drop down to the 1st floor, and you do a SLIDE STUNT into the hole, you plop right down the hole and it looks VERY cool.

Anyways, I just thought some of you guys might want to try out DAB on some CSS add-on maps because some of them are pretty well suited for DAB. The bank map had so many routes that it is more like a deathmatch map than a CS map, I think that's why it worked so well. Here's a video of the map I played DAB on (sry its old and blury, I made the map like 7 years ago):

I'm not sure if you guys are aiming for DAB to be compatible with mounting content from other games, but seeing as the only entities you need are info_player_deathmatch, it seems like it wouldn't be too much of a stretch.

As far as spawn points being bad in CSS maps, you could do a couple things to get around that problem without having to modify the CSS maps used at all.
1. The Source code could be modified to also use info_player_terrorist & info_player_counterterrorist entity types for spawn points, not just info_player_deathmatch. This would work well for CSS maps that are already GG or DM game modes.
2. Since spawn points for DE and CS maps would be all wrong for DM games, you could package an additional KeyValues file with each CSS add-on map that has spawn point locations, then create info_player_deathmatch entities at these locations immediately after map load.

Of course, the 3rd option (modifying the maps by adding entities with entspy) works also, doesn't break checksum of the maps, but does require you to modify somebody else's work which isn't too cool.

Anyways, so far I've only been killing bots in the CSS maps cuz nobody else has CSS mounted to play with me, so msg me if you want to try out some DAB in this map!
SM Sith Lord
Posts: 1
Joined: Tue Aug 05, 2014 8:55 am

Return to Double Action Development

Who is online

Users browsing this forum: No registered users and 1 guest