Austupaio's Potential Buildings

Acidia can’t have all the fun! I’m working on the details of actually coding these, so don’t expect fully fledged buildings from me just yet, however I do intend to get all the nitty gritty details done so that these can be contributed. I’m hoping for both constructive criticism and suggestions.

As of now I’m working on a small (24x24) storage facility, with a medium (48x48) one up next.

Small Storage Facility
Basic office supplies in the northwest.
Furniture, tools, tires, various trash and very rarely firearms all randomized in the 3x3 storage units
Bicycles, possibly a motorcycle chassis and tools in the southeast unit.

........................ .wwwwwwww............... .w..d.llw6......wwwwwww. .w.hd...wc#####cw.w...w. .w..d...G......6w.M...w. .w......g.......+.w...w. .w+wwwggw.......w.wwwww. .w.stw..........w.w...w. .wwwww..........w.M...w. .c..............w.w...w. .c..............w.wwwww. .c..............w.w...w. .c..............w.M...w. .c..............w.w...w. .wwwww+w........w+wwwww. .w...w.w..............c. .w...M.w......www+wwwww. .w...w.w......#.......w. .wwwww.w......#.......w. .w...w.w......#.......w. .w...M.w......#.......w. .w...w.+......w6.loooow. .wwwwwwwccccccwwwwwwwww. ........................

Current Object Legend:
w = Wall
c = Chainlink Fence
C = Chainlink Gate
g = Glass Wall
G = Glass Door

  • = Wooden Door
    m = Metal Wall
    M = Metal Door

= Large Metal Riser

6 = Metal Riser Control
d = Desk
h = Chair
s = Sink
t = Toilet
l = Locker
o = Counter

[spoiler]24x24























48x48















































…[/spoiler]

Why didn’t you just copy/paste symbols from one of the examples on this board?
Here, press and hold ALT while typing, make it a number. ₧ Š ʺ ̇ α
Here, this is an ASCII code no. 150: û
You can surely use ┤╡╖ (and so on) and those were 180, 181 and 182.
So, PRESS AND HOLD THE ALT KEY while typing a number on the NUMERIC KEYPAD, with NUMLOCK ON.

vultures, there is currently no support for non ASCII characters. This includes the various ANSI characters, like ┤╡╖.

Really not complying with this.
There are numerous examples here, on this board, on the subject.
As the matter of fact - the board uses CP1252, a US layout.
Without us getting overly technical, ANSI is extended ASCII, but since… well, a lot. :slight_smile:
So if you have the means (Unix, MSWin, OSX) to set a codepage to anything, you’ll get along just fine.

vultures, he means that the game has no way of displaying non-ASCII characters. Hence, if the goal is to get building designs added into the game, using non-ASCII characters kinda undermines that goal.

Ok, if there is a way to do it ASCIIwise I’m sure it will not go unnoticed. I just stated a point, though - ASCII codes are a part of a code page you’re using on whatever system you have.
Hope you don’t mind my creative discussion.

Nice work, I’ll try and lend you a hand if I can. The more diverse and alive development is, the better chances this game will still be kicking years from now. I’ll give you a quick run down on getting it in game and what the code would generally look like.

mapgen.ccp

case ot_small_storage_north:
case ot_small_storage_east:
case ot_small_storage_south:
case ot_small_storage_west: {
// Init to grass & dirt;
  fill_background(this, &grass_or_dirt);
   mapf::formatted_set_terrain(this, 0, 0,
"........................\n\
.|------|...............\n\
.|,,d,ll|6......|-|---|.\n\
.|,hd,,,|C#####C|,|,,,|.\n\
.|,,d,,,=......6|,M,,,|.\n\
.|,,,,,,G.......+,|,,,|.\n\
.|+--|gg|.......|,|---|.\n\
.|,st|..........|,|,,,|.\n\
.|---|..........|,M,,,|.\n\
.c..............|,|,,,|.\n\
.c..............|,|---|.\n\
.c..............|,|,,,|.\n\
.c..............|,|,,,|.\n\
.c..............|,|,,,|.\n\
.|---|+|........|+|---|.\n\
.|,,,|,|..............c.\n\
.|,,,M,|......|--+----|.\n\
.|,,,|,|......#,,,,,,,|.\n\
.|---|,|......#,,,,,,,|.\n\
.|,,,|,|......#,,,,,,,|.\n\
.|,,,M,|......#,,,,,,,|.\n\
.|,,,|,+......|6,loooo|.\n\
.|---|-|CCCCCC|-------|.\n\
........................\n",
   mapf::basic_bind("g G = o l s h d # M . c C 6 , - | t +",
         t_wall_glass_h, t_wall_glass_v, t_door_glass_c, t_counter, t_locker, t_sink, t_chair, t_desk, t_door_metal_locked,
 t_door_metal_c, t_grass, t_fence_v, t_fence_h, t_gates_mech_control, t_floor, t_wall_h, t_wall_v, t_toilet, t_door_c),
   mapf::end() );

//Place item spawns here

   if (terrain_type == ot_small_storage_east)
    rotate(1);
   if (terrain_type == ot_small_storage_south)
    rotate(2);
   if (terrain_type == ot_small_storage_west)
    rotate(3);
 } break;

omdata.h

//add this to the list under "enum oter_id" 
 ot_office_cubical_north, ot_office_cubical_east, ot_office_cubical_south, ot_office_cubical_west,
//in the same relative position after "oter_t oterlist[num_ter_types]" add this...
{"small storage unit",		'^',	c_ltgray,	5, build_extras, false, false},
{"small storage unit",		'>',	c_ltgray,	5, build_extras, false, false},
{"small storage unit",		'v',	c_ltgray,	5, build_extras, false, false},
{"small storage unit",		'<',	c_ltgray,	5, build_extras, false, false},

Finally, in overmap.ccp

Line ~81
...
 oter_id ret = ot_s_lot;
 const int type = rng(0, 28);

 switch (type) {
...
  case 27: ret = ot_police_north;        break;
  case 28: ret = ot_small_storage_north;        break;
 }
...

Tips
-I prefer to make my floor tiles periods and leave the grass squares as spaces. The game interprets these as randomized dirt/grass so that it blends with the natural background.
-The game separates walls into vertical and horizontal, the same with glass walls. At intersections a vertical wall always triumphs and the game uses logic to decide how it should look.
-Add pavement and sidewalks to her and I’d make the bathroom have at least one path of walkway around the sink/toilet.
-for 2x2 buildings the code is setup to place the entrance at the south west corner and facing south
-don’t feel intimidated by the code, once you get the hang of it you can add a 1x1 building in less than an hour

I’m looking forward to what you come up with.

Hey, thanks for the start-up code, Acidia, I appreciate it. I’ll definitely have a couple of questions for you later but I’ll see what I can accomplish with what you’ve given me for now.

I’ll also use your tips regarding grass versus floors.

As a side note, I’m not really sure what vultures was getting at.

Vultures is our resident maniac/insane poster. Nobody really understands what he’s saying, so just take it in stride.

He’s like the Saladin of the cataclysmdda forums, except a lot less funny.

He’s the candyman holding a chinese AK. :smiley:
Good thing is - acidia helps the future developers, and here we have a clear picture of the code that actually enters the game.