Mega Man 8-bit Deathmatch > Tutorial Collection

[TUTOR] SECTINFO Setup (Now with Domination!)

(1/1)

Thunderono:
What the heck is SECTINFO?
I can't blame you for not knowing-- before using it myself in Spectral Echo, the only person I know of that ever bothered using it in a map was Russel.  SECTINFO is a lump in your map's wad archive that assigns a name to sectors by sector number.  For instance, Spectral Echo's SECTINFO lump looked like this:

(click to show/hide)
--- Code: ---[TTT05]
names = {
"Upper Ruins" = {0, 15, 18, 27, 28, 29, 30, 31, 32, 33, 34, 35, 42, 44, 136, 147},
"Ruins" = {1, 8, 10, 11, 13, 16, 17, 19, 20, 21, 22, 24, 25, 26, 36, 37, 38, 39, 40, 41, 43, 117, 118, 119, 120, 121, 122, 123, 124, 125, 127, 128, 129, 137, 140, 143, 144, 154, 155, 156, 162, 163, 170, 189, 190, 398, 399, 400, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413},
"Mid" = {2, 3, 4, 5, 6, 9, 97, 98, 105, 112, 113, 114, 115, 180, 191, 192, 193, 199, 201, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 313, 338, 339, 365, 366, 367, 369, 377, 378, 397},
"Coast" = {23, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 111, 148, 149, 150, 151, 152, 153, 159, 160, 161},
"Falls" = {45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 62, 63, 66, 67, 68, 69, 70, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 164, 165, 166, 167, 168, 169, 171, 172, 173, 174, 175, 177, 178, 343, 344, 401, 402, 403},
"Sewers/Mid" = {64, 65, 374, 375, 376},
"Sewers/Balcony" = {72, 73, 74, 179, 182, 183, 184, 185, 214, 233, 234, 235, 236, 237},
"Spectral" = {138, 139, 141, 142, 187, 194, 197, 198, 217, 218, 219, 225, 226, 227, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 283, 284, 285, 287, 288, 292, 293, 296, 297, 318, 322, 331, 333, 379, 414},
"Upper Spectral" = {145, 186, 188, 195, 196, 215, 216, 220, 221, 222, 223, 224, 230, 231, 232, 381},
"Sewers" = {181},
"Catacombs" = {273, 274, 275, 276, 277, 278, 319, 320, 337},
"Hall" = {279, 280, 282, 321, 323, 325, 326, 327, 328, 329, 330, 332},
"Atomic" = {281, 311, 312, 314, 315, 316, 317, 324, 334, 335, 336, 340, 341, 342, 345, 346, 347, 348, 349, 350, 351, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 368, 370, 380, 382, 383, 384, 385, 386, 387}
}
--- End code ---

This has two relatively low-impact effects on gameplay.  The first is that typing $location in chat will display your actual location on the map, based on the mappings in SECTINFO.  The second, and often more noticeable, is that co-op info will now display your teammates' locations.

Is this a requirement for maps to be competitively viable or even casually viable?  No, not at all.
Is it cool?  Absolutely.

Unfortunately, all known versions of Doom Builder lack a mechanism to implement this, which means that in order to do so, you have to either manually gather sector numbers or cobble together an external workflow.  On top of that, since SECTINFO runs off of sector numbers, it would actually break whenever you were to split or delete a sector...

...or does it?

I spent my evening today crafting up a fix to this situation.  The result is a standalone tool that can root through information in your map's TEXTMAP to generate a SECTINFO for you!  The method this tool uses has a couple of upsides: you don't have to look at sector numbers, and since it uses information harmlessly saved in the map that doesn't rely on sector numbers, it will not break if you split or delete sectors.  If you don't mind briefly dipping into an external tool to make it, this can save you a lot of time and energy setting up callouts on your map.

Grab the tool here!

Included is a short .pdf file that details the workflow for getting these set up.  Enjoy!

oh and I guess you can use SECTINFO to set up control points for domination too but this tool doesn't do that uh oh
edit: OH YEAH IT DOES PAL

Thunderono:
At the request of Trillster, I've added support for Domination points to this tool.  The included pdf has been updated with a breakdown of how exactly they work, but the short version is that you would add a "user_point" user variable to all the sectors you want to make up a capture point.  This works alongside the user_callout uservar, so you'd want the sector to have both.  OP has been updated with the new link, have fun!

Navigation

[0] Message Index

Go to full version