Renegade Projects Network Forums
Custom Foundations - Printable Version

+- Renegade Projects Network Forums (https://forums.renegadeprojects.com)
+-- Forum: Inject the Battlefield (https://forums.renegadeprojects.com/forumdisplay.php?fid=60)
+--- Forum: News from the Battlefield (https://forums.renegadeprojects.com/forumdisplay.php?fid=20)
+--- Thread: Custom Foundations (/showthread.php?tid=1378)

Pages: 1 2


Custom Foundations - Renegade - 30.09.2009

Straight from DCoder's test lab comes this screenshot of custom foundations in action:
[Image: CATEMP.png]
The foundation was generated by me in the process of coding the Ares Custom Foundation Generator, to test both the generator's output as well as the game's and Ares's handling of larger, more complex foundations.

The full foundation is 15x15 cells large, the (auto-generated) code to add it to the game is as follows:
Code:
[CATEMP]
Foundation = Custom
Foundation.X = 15
Foundation.Y = 15
Foundation.0 = 1,0
Foundation.1 = 10,0
Foundation.2 = 11,0
Foundation.3 = 12,0
Foundation.4 = 13,0
Foundation.5 = 14,0
Foundation.6 = 0,1
Foundation.7 = 1,1
Foundation.8 = 2,1
Foundation.9 = 6,1
Foundation.10 = 7,1
Foundation.11 = 8,1
Foundation.12 = 9,1
Foundation.13 = 10,1
Foundation.14 = 11,1
Foundation.15 = 12,1
Foundation.16 = 13,1
Foundation.17 = 1,2
Foundation.18 = 2,2
Foundation.19 = 5,2
Foundation.20 = 6,2
Foundation.21 = 7,2
Foundation.22 = 8,2
Foundation.23 = 9,2
Foundation.24 = 10,2
Foundation.25 = 11,2
Foundation.26 = 3,3
Foundation.27 = 4,3
Foundation.28 = 5,3
Foundation.29 = 6,3
Foundation.30 = 7,3
Foundation.31 = 8,3
Foundation.32 = 9,3
Foundation.33 = 10,3
Foundation.34 = 11,3
Foundation.35 = 3,4
Foundation.36 = 4,4
Foundation.37 = 5,4
Foundation.38 = 6,4
Foundation.39 = 7,4
Foundation.40 = 8,4
Foundation.41 = 9,4
Foundation.42 = 2,5
Foundation.43 = 3,5
Foundation.44 = 4,5
Foundation.45 = 5,5
Foundation.46 = 6,5
Foundation.47 = 7,5
Foundation.48 = 8,5
Foundation.49 = 1,6
Foundation.50 = 2,6
Foundation.51 = 3,6
Foundation.52 = 4,6
Foundation.53 = 5,6
Foundation.54 = 6,6
Foundation.55 = 7,6
Foundation.56 = 8,6
Foundation.57 = 9,6
Foundation.58 = 1,7
Foundation.59 = 2,7
Foundation.60 = 3,7
Foundation.61 = 4,7
Foundation.62 = 5,7
Foundation.63 = 6,7
Foundation.64 = 7,7
Foundation.65 = 8,7
Foundation.66 = 9,7
Foundation.67 = 1,8
Foundation.68 = 2,8
Foundation.69 = 3,8
Foundation.70 = 4,8
Foundation.71 = 5,8
Foundation.72 = 6,8
Foundation.73 = 7,8
Foundation.74 = 8,8
Foundation.75 = 9,8
Foundation.76 = 10,8
Foundation.77 = 1,9
Foundation.78 = 2,9
Foundation.79 = 3,9
Foundation.80 = 4,9
Foundation.81 = 6,9
Foundation.82 = 7,9
Foundation.83 = 8,9
Foundation.84 = 9,9
Foundation.85 = 10,9
Foundation.86 = 11,9
Foundation.87 = 0,10
Foundation.88 = 1,10
Foundation.89 = 2,10
Foundation.90 = 3,10
Foundation.91 = 8,10
Foundation.92 = 9,10
Foundation.93 = 10,10
Foundation.94 = 11,10
Foundation.95 = 0,11
Foundation.96 = 1,11
Foundation.97 = 2,11
Foundation.98 = 3,11
Foundation.99 = 9,11
Foundation.100 = 10,11
Foundation.101 = 11,11
Foundation.102 = 12,11
Foundation.103 = 0,12
Foundation.104 = 1,12
Foundation.105 = 11,12
Foundation.106 = 12,12
Foundation.107 = 0,13
Foundation.108 = 1,13
Foundation.109 = 13,13
Foundation.110 = 0,14
FoundationOutline.Length = 94
FoundationOutline.0 = 0,-1
FoundationOutline.1 = 1,-1
FoundationOutline.2 = 2,-1
FoundationOutline.3 = 9,-1
FoundationOutline.4 = 10,-1
FoundationOutline.5 = 11,-1
FoundationOutline.6 = 12,-1
FoundationOutline.7 = 13,-1
FoundationOutline.8 = 14,-1
FoundationOutline.9 = 15,-1
FoundationOutline.10 = -1,0
FoundationOutline.11 = 0,0
FoundationOutline.12 = 2,0
FoundationOutline.13 = 3,0
FoundationOutline.14 = 5,0
FoundationOutline.15 = 6,0
FoundationOutline.16 = 7,0
FoundationOutline.17 = 8,0
FoundationOutline.18 = 9,0
FoundationOutline.19 = 15,0
FoundationOutline.20 = -1,1
FoundationOutline.21 = 3,1
FoundationOutline.22 = 4,1
FoundationOutline.23 = 5,1
FoundationOutline.24 = 14,1
FoundationOutline.25 = 15,1
FoundationOutline.26 = -1,2
FoundationOutline.27 = 0,2
FoundationOutline.28 = 3,2
FoundationOutline.29 = 4,2
FoundationOutline.30 = 12,2
FoundationOutline.31 = 13,2
FoundationOutline.32 = 14,2
FoundationOutline.33 = 0,3
FoundationOutline.34 = 1,3
FoundationOutline.35 = 2,3
FoundationOutline.36 = 12,3
FoundationOutline.37 = 1,4
FoundationOutline.38 = 2,4
FoundationOutline.39 = 10,4
FoundationOutline.40 = 11,4
FoundationOutline.41 = 12,4
FoundationOutline.42 = 0,5
FoundationOutline.43 = 1,5
FoundationOutline.44 = 9,5
FoundationOutline.45 = 10,5
FoundationOutline.46 = 0,6
FoundationOutline.47 = 10,6
FoundationOutline.48 = 0,7
FoundationOutline.49 = 10,7
FoundationOutline.50 = 11,7
FoundationOutline.51 = 0,8
FoundationOutline.52 = 11,8
FoundationOutline.53 = 12,8
FoundationOutline.54 = -1,9
FoundationOutline.55 = 0,9
FoundationOutline.56 = 5,9
FoundationOutline.57 = 12,9
FoundationOutline.58 = -1,10
FoundationOutline.59 = 4,10
FoundationOutline.60 = 5,10
FoundationOutline.61 = 6,10
FoundationOutline.62 = 7,10
FoundationOutline.63 = 12,10
FoundationOutline.64 = 13,10
FoundationOutline.65 = -1,11
FoundationOutline.66 = 4,11
FoundationOutline.67 = 7,11
FoundationOutline.68 = 8,11
FoundationOutline.69 = 13,11
FoundationOutline.70 = -1,12
FoundationOutline.71 = 2,12
FoundationOutline.72 = 3,12
FoundationOutline.73 = 4,12
FoundationOutline.74 = 8,12
FoundationOutline.75 = 9,12
FoundationOutline.76 = 10,12
FoundationOutline.77 = 13,12
FoundationOutline.78 = 14,12
FoundationOutline.79 = -1,13
FoundationOutline.80 = 2,13
FoundationOutline.81 = 10,13
FoundationOutline.82 = 11,13
FoundationOutline.83 = 12,13
FoundationOutline.84 = 14,13
FoundationOutline.85 = -1,14
FoundationOutline.86 = 1,14
FoundationOutline.87 = 2,14
FoundationOutline.88 = 12,14
FoundationOutline.89 = 13,14
FoundationOutline.90 = 14,14
FoundationOutline.91 = -1,15
FoundationOutline.92 = 0,15
FoundationOutline.93 = 1,15



Of course, that's an extreme example. The game's 3x3Refinery foundation's code would look like this:
Code:
[GAREFN]
Foundation = Custom
Foundation.X = 3
Foundation.Y = 3
Foundation.0 = 0,0
Foundation.1 = 1,0
Foundation.2 = 2,0
Foundation.3 = 0,1
Foundation.4 = 1,1
Foundation.5 = 0,2
Foundation.6 = 1,2
Foundation.7 = 2,2
FoundationOutline.Length = 17
FoundationOutline.0 = -1,-1
FoundationOutline.1 = 0,-1
FoundationOutline.2 = 1,-1
FoundationOutline.3 = 2,-1
FoundationOutline.4 = 3,-1
FoundationOutline.5 = -1,0
FoundationOutline.6 = 3,0
FoundationOutline.7 = -1,1
FoundationOutline.8 = 2,1
FoundationOutline.9 = 3,1
FoundationOutline.10 = -1,2
FoundationOutline.11 = 3,2
FoundationOutline.12 = -1,3
FoundationOutline.13 = 0,3
FoundationOutline.14 = 1,3
FoundationOutline.15 = 2,3
FoundationOutline.16 = 3,3

Editor view:
[Image: arescustomfoundation3x3.png]

Illustration of how it usually looks ingame (courtesy of Vinifera7):
[Image: 3x3refinery.png]

With the code fixed/expanded and the tool to generate them available, custom foundations should now fully work in Ares! Smile


RE: Custom Foundations - pd - 30.09.2009

Nice!
Sorry about losing (*cough* deleting *cough*) everything related to RP2, including the FoundationMaker sources.

Seems you already got a working replacement.
What the heck is that GUI? :S


RE: Custom Foundations - Renegade - 30.09.2009

Had you followed the link provided, you would have seen it Wink - it's a website. A self-contained HTML file, to be exact, also placed in Ares's Doc folder to ensure availability of the generator. Needs a 'net connection, though, 'cause it gets jQuery from Google.


RE: Custom Foundations - Marshall - 30.09.2009

Question: what is the purpose of the outline - what does the game do with it?


RE: Custom Foundations - Guest - 01.10.2009

great! I wonder what kind of building people will create now.
Only if gamemate was still here......


RE: Custom Foundations - Nikademis Von Hisson - 01.10.2009

So does this mean I could make a building 4 by 6 now? Or do we have to wait for Ares


RE: Custom Foundations - DCoder - 01.10.2009

lol

Marshall: The original foundations all have it, but the only use I've seen for it is on land based war factories, where the 11th cell, FoundationOutline.10= , will be used as the default exit point for produced vehicles. If it's occupied, objects in all eight cells surrounding this cell, regardless of whether they are declared as part of Outline, will receive the instructions to Scatter as to make room. The rest of the outline cells are also treated as preferential exit locations, but obviously that doesn't work well for some reason. Basically, as far as I can tell, just make sure that 11th cell is the center of where you want the produced units to gather around.


RE: Custom Foundations - Renegade - 01.10.2009

(You can set FoundationOutline.10 explicitly by using shift+click in the editor.)


RE: Custom Foundations - DCoder - 02.10.2009

Update regarding War Factories: Using different exit paths than the existing one for normal vehicles is impossible for now, and will stay that way until someone smarter than me can read the locomotor code and extend it. Hover vehicles and jumpjets have their own exit paths which can be made changeable, but I don't think it's worth fixing without ordinary vehicle support. So, using custom foundations on War Factories is not supported.

Details: When exiting War Factories, objects get spawned in the ExitCoord= cell of the factory.
If the object uses Teleport or Tunnel Locomotors, it gets imbued with the Drive Locomotor and instructed to Force_Track(66) and go to the earlier mentioned Outline.10 cell.
If the object uses the Drive Locomotor, it also gets instructed to Force_Track(66) and go to Outline.10.
Otherwise, the object is told to go to cell (4, 1) relative to the factory's top corner cell.

Problem is, Force_Track() is an instruction for it to pick one of the predefined behaviours. In this case, track 66 is "four cells down that way\", and it calculates where it should start from based on the wanted exit position. Which means that, for example, if I pick a 3x5 foundation to mirror the current 5x3, and set an arbitrary ExitCoord=, this will happen:
[Image: warfac.png]
1. All units spawn here.
2. Teleport, Tunnel or Drive Locomotor -equipped units will warp to here...
3. ... and drive out to here ignoring any obstructions in the way.
4. Whereas all other units will use their normal Locomotor from (1) to arrive here.


RE: Custom Foundations - TSHyper - 05.10.2009

Nice to see this features return, i remember very well when pd was first coding it up!


RE: Custom Foundations - Darkstorm - 11.10.2009

May one inquire how you got the Custom Foundation Generator to be rotated?

Sad thing about the War Factory though, but for most people, it probably won't be too much of a big deal. Though we couldn't do anything about it anyway.


RE: Custom Foundations - Renegade - 11.10.2009

Simple: I use a real browser, rather than a standards-slaying infection vector.


RE: Custom Foundations - Black Shadow 750 - 11.10.2009

I know War Factory's have problems, but what about Ore Refineries? Don't they have a hardcoded docking cell?


RE: Custom Foundations - Nighthawk - 11.10.2009

Middle cell of the bottom row, I think.


RE: Custom Foundations - Professor_Tesla - 15.10.2009

(11.10.2009, 08:00:00)Renegade Wrote: Simple: I use a real browser, rather than a standards-slaying infection vector.

Which browser? I checked in Firefox and Opera and it still wasn't rotated.
EDIT: It rotates in Google Chrome.