Jump to content
Sign in to follow this  
Alloy007p

Satellite and mask creation?

Recommended Posts

Okay I have been trying to get through the quick visitor tutorial but, I can’t get my head around what the satellite mask creation thing is.

From what I think I can understand sat_lco would be the map of your island like in the editor or when you press the m key to bring up your map in game. AND mask_lco would be the actual textures on the ground in game.

So if this is all right so far my next question is, does the sat_lco determine where the textures(mask_lco) on ground go?

Share this post


Link to post
Share on other sites
So if this is all right so far my next question is, does the sat_lco determine where the textures(mask_lco) on ground go?

Well that depends on how you make the mask. The mask is just a simplified version of the satellite image which tells the game where to draw the detail textures using color codes. You can either paint it by hand (which would be a pain in the ass almost regardless of map size), or you can convert your satellite into the desired colors which is way less tedious. Unfourtunatly you're only limited to four different surface types per segment so I'd recommend at least when starting to just stick with that.

Here's sort of how I do it, it's a rudimentary and crude way, but works for me.

First I open up the satellite in Photoshop, then I go to the Hue/saturation tool and adjust/correct the individual surface types hue and saturation with single colors like green for grass to make them more prominent if need be. After that I go set saturation on max with the master. Then I turn contrast to max with legacy on and usually I should have a usable mask made, but in most cases there are more than 4 colors so I use the hue/sat and/or color replacement tool to remove small bit of undesired colors until I an left with 4 primary surfaces. Now I can determine which detail texture suits best for each surface type, read their RGB value and then smack that into the layers.cfg.

Hope that makes any sense at all, I've been up for 24 hours.

goodnight.gif

Share this post


Link to post
Share on other sites

Okay I think I understand. So it would be like this

First I have my Satellite image.

zep.jpg

And I edit it to look something like this

zep2.jpg

And then I find out the rgb code of those three differnt colors I have and assign textures to those those colors/rgb code?

And one last thing (hopefully) it said in your tutorial that im going to need the textures from the example map made by bi. So does this mean I can only get the textures through downloading the example map, or can I get get them from my addons folder?

Share this post


Link to post
Share on other sites
Okay I think I understand. So it would be like this

First I have my Satellite image.

img]http://i194.photobucket.com/albums/z149/Alloy007P/zep.jpg[/img]

And I edit it to look something like this

img]http://i194.photobucket.com/albums/z149/Alloy007P/zep2.jpg[/img]

And then I find out the rgb code of those three differnt colors I have and assign textures to those those colors/rgb code?

Yes, I assume you're just using that height map just as an example right?

And one last thing (hopefully) it said in your tutorial that im going to need the textures from the example map made by bi. So does this mean I can only get the textures through downloading the example map, or can I get get them from my addons folder?

You can get textures from Rahmadi (which are the same) or even Sahrani by unpacking the pbo's, you can even make your own textures too. Downloading the example map is just nice for seeing how a map project should structured.

Share this post


Link to post
Share on other sites

I am getting this error now when I try to import my sat_lco,layer.cfg, and mask_lco

Error loading p: 'mymap/soruce/Sat_lco'

I know I spelt soruce wrong but I made sure I spelt soruce the same way I did for the file name the same in all my other files.

My mask lco and sat lco are both 2048x2048, I cheked over all my texture rvmats and made sure they had the rigt paths in them, checked my layers.cfg. banghead.gif

EDIT:

Okay I was able to import my mask and sat LCO I saved the config.cpp in their tconverted the folder into pbo and guess what...no map, oh well im not suprised things like this never work for my on the first try. I guess I will try the whole thing over again tommorow. goodnight.gif

Share this post


Link to post
Share on other sites

gL33k seeing as you've been a member for quite some time you should know that the forum rules state that spamming is not allowed and that you should remove image tags when quoting, please follow the forum rules in future.

Share this post


Link to post
Share on other sites

My 4096 terrain grid by 12.5 meter cell island won't load ingame.

"out of memory" banghead.gif

Share this post


Link to post
Share on other sites
My 4096 terrain grid by 12.5 meter cell island won't load ingame.

"out of memory" banghead.gif

How is that related to this topic? Why don't either bump an appropriate one or create your own thread?

Share this post


Link to post
Share on other sites

So just where am I supposed to find the right RVMAT files. When I open my sara folder and go into the data folder there are only .paa files, but I see there are lots of Rvmat files in the layers folder. Now am I suppoesd to make my own rvmat, take one from the layers folder and rename it, or am I missing files? I ignored this last night and took the texture files from the sample map and used those instead and I was thinking mabey thats why my map didn't work.

Share this post


Link to post
Share on other sites

There's a code sample for an RVMAT in my tutorial.

Also, did you export a .wrp?

Share this post


Link to post
Share on other sites

Well...I downloaded the new version of visitor, and I can now actually see my textures in buldozer after I import my Sat loc mask lco and legend, but I still canot get my map In game. I did export world with bouldozer open put the config in there.

This is how Iv got every thing

p:mymap2

-source

  layers.cfg

  Mask_Lco.png (2048x2048)

  Sat_Lco.png (2048x2048)

  maplegend.png

  Config.cpp

  -Terrain

    mymap2.pew

    mymap2.wrp

    Terrain.pbl

    Terrain.png

    mymap2.hpp

-Data

 3 differnt textures im useing and the 4 differnt files for each

 -Layers

    Full of a bunch of .paa, .png, and .rvmat files.

I also changed everything that said MyMap to mymap2 in the config.cfg

Terrain grid size: 512x512

Terrain cell size: 25m

Terrain size: 12800x12800m

Satellite grid

Current: 120

Base texture layers is to 50mx50m

Game

satellite segment: 60 (valid)

Share this post


Link to post
Share on other sites

Is your Config.cpp still referring to mymap and not mymap2?

Share this post


Link to post
Share on other sites

No I just checked that I made sure I changed everything to mymap2

Heres my config.

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">

#define ReadAndWrite 0

#define ReadAndCreate 1

#define ReadOnly 2

#define ReadOnlyVerified 3

class CfgPatches {

class mymap2 {

units[] = {};

worlds[] = {mymap2};

requiredVersion = 0.1;

};

};

class DefaultLighting; // External class reference

class DefaultLighting_CA : DefaultLighting {};

class CfgWorlds {

class DefaultClutter {

scaleMin = 0.9;

scaleMax = 1.4;

};

class DefaultWorld; // External class reference

class Intro : DefaultWorld {};

class mymap2 : Intro {

access = 3;

cutscenes[] = {"DesertIntro1"};

description = "mymap2";

icon = "";

worldName = "\mymap2\mymap2.wrp";

pictureMap = "";

pictureShot = "";

plateFormat = "ML$ - #####";

plateLetters = ABCDEGHIKLMNOPRSTVXZ;

longitude = -40; // positive is east

latitude = -40; // positive is south

class Grid //OFP style Aa00 - JJ99

{

//colorGrid[]={0,0,1,1};

//colorGridMap[]={0,0,1,1};

offsetX=0;

offsetY=0;

class Zoom0

{

zoomMax=0.2;

format="XY";

formatX="Aa";

formatY="00";

stepX=256;

stepY=256;

};

class Zoom1

{

zoomMax=1.0;

format="XY";

formatX="A-";

formatY="0-";

stepX=2560;

stepY=2560;

};

}

startTime = 8:30;

startDate = 07/06/2007;

startWeather = 0.1;

startFog = 0.0;

forecastWeather = 0.3;

forecastFog = 0.0;

seagullPos[] = {1272.84, 150.0, 14035};

centerPosition[] = {2500, 2500, 300};

ilsPosition[] = {2545, 3000};

ilsDirection[] = {0, 0.08, 1};

ilsTaxiIn[] = {2495, 2725, 2495, 2850, 2508, 2860, 2508, 3000, 2520, 3010, 2545, 3000};

ilsTaxiOff[] = {2545, 2445, 2520, 2425, 2495, 2445, 2495, 2725};

drawTaxiway = 0;

class ReplaceObjects {};

class Sounds {

sounds[] = {};

};

class Animation {

vehicles[] = {};

};

class Lighting : DefaultLighting {};

clutterGrid = 1.11;

clutterDist = 55;

noDetailDist = 40;

fullDetailDist = 5;

minTreesInForestSquare = 3;

minRocksInRockSquare = 4;

class clutter {

class GrassGeneral : DefaultClutter {

model = "ca\plants\clutter_grass_general.p3d";

affectedByWind = 0.3;

swLighting = 1;

scaleMin = 0.75;

scaleMax = 1.0;

};

class GrassFlowers : GrassGeneral {

model = "ca\plants\clutter_grass_flowers.p3d";

};

class GrassLong : GrassGeneral {

model = "ca\plants\clutter_grass_long.p3d";

affectedByWind = 0.6;

scaleMin = 0.6;

scaleMax = 1.1;

};

class GrassSevenbeauty : GrassGeneral {

model = "ca\plants\clutter_grass_sevenbaeuty.p3d";

affectedByWind = 0.2;

scaleMin = 0.7;

scaleMax = 1.1;

};

class GrassYellow : GrassGeneral {

model = "ca\plants\clutter_grass_yellow.p3d";

affectedByWind = 0.2;

scaleMin = 0.7;

scaleMax = 1.1;

};

class GrassDesert : GrassGeneral {

model = "ca\plants\clutter_grass_desert.p3d";

};

class ForestFern : GrassGeneral {

model = "ca\plants\clutter_forest_fern.p3d";

affectedByWind = 0.1;

scaleMin = 0.9;

scaleMax = 1.1;

};

class SmallRocks : GrassGeneral {

model = "ca\rocks\clutter_stone_small.p3d";

affectedByWind = 0;

scaleMin = 0.9;

scaleMax = 1.1;

};

class FlowersColor : GrassGeneral {

model = "ca\plants\clutter_smetanka.p3d";

};

class FlowersWhite : GrassGeneral {

model = "ca\plants\clutter_white_flower.p3d";

};

class MushroomsHorcak : GrassGeneral {

model = "ca\plants\clutter_horcak.p3d";

affectedByWind = 0;

scaleMin = 0.85;

scaleMax = 1.25;

};

class MushroomsPrasivka : MushroomsHorcak {

model = "ca\plants\clutter_prasivky.p3d";

};

class MushroomsBabka : MushroomsHorcak {

model = "ca\plants\clutter_babka.p3d";

};

class MushroomsMuchomurka : MushroomsHorcak {

model = "ca\plants\clutter_muchomurka.p3d";

};

};

class Subdivision {

class Fractal {

rougness = 5;

maxRoad = 0.02;

maxTrack = 0.5;

maxSlopeFactor = 0.05;

};

class WhiteNoise {

rougness = 2;

maxRoad = 0.01;

maxTrack = 0.05;

maxSlopeFactor = 0.0025;

};

minY = 0.0;

minSlope = 0.02;

};

class Ambient {

class BigBirds {

radius = 300;

cost = "((1 + forest + trees) - ((2 * rain)) - houses) * (1 - night) * (1 - sea)";

class Species {

class Hawk {

probability = 0.2;

cost = 1;

};

};

};

class Birds {

radius = 170;

cost = "(1 - night) * ((1 + (3 * sea)) - (2 * rain))";

class Species {

class Seagull {

probability = 0.2;

cost = 1;

};

};

};

class BigInsects {

radius = 20;

cost = "(5 - (2 * houses)) * (1 - night) * (1 - rain) * (1 - sea) * (1 - windy)";

class Species {

class DragonFly {

probability = "0.6 - (meadow * 0.5) + (forest * 0.4)";

cost = 1;

};

class ButterFly {

probability = "0.4 + (meadow * 0.5) - (forest * 0.4)";

cost = 1;

};

};

};

class BigInsectsAquatic {

radius = 20;

cost = "(3 * sea) * (1 - night) * (1 - rain) * (1 - windy)";

class Species {

class DragonFly {

probability = 1;

cost = 1;

};

};

};

class WindClutter {

radius = 10;

cost = "((20 - 5 * rain) * (3 * (windy factor [0.2, 0.5]))) * (1 - sea)";

class Species {

class FxWindGrass1 {

probability = "0.4 - 0.2 * hills - 0.2 * trees";

cost = 1;

};

class FxWindGrass2 {

probability = "0.4 - 0.2 * hills - 0.2 * trees";

cost = 1;

};

class FxWindRock1 {

probability = "0.4 * hills";

cost = 1;

};

class FxWindLeaf1 {

probability = "0.2 * trees";

cost = 1;

};

class FxWindLeaf2 {

probability = "0.1 * trees + 0.2";

cost = 1;

};

class FxWindLeaf3 {

probability = "0.1 * trees";

cost = 1;

};

};

};

class NoWindClutter {

radius = 15;

cost = "(20 * (windy factor [0.1, 0.2])) * meadow * (1 - rain) * (1 - sea) * (1 - forest) * (1 - houses)";

class Species {

class FxWindPollen1 {

probability = 1;

cost = 1;

};

};

};

class SmallInsects {

radius = 3;

cost = "(12 - 8 * hills) * (1 - night) * (1 - rain) * (1 - sea) * (1 - windy)";

class Species {

class HouseFly {

probability = "deadBody + (1 - deadBody) * (0.5 - forest * 0.1 - meadow * 0.2)";

cost = 1;

};

class HoneyBee {

probability = "(1 - deadBody) * (0.5 - forest * 0.1 + meadow * 0.2)";

cost = 1;

};

class Mosquito {

probability = "(1 - deadBody) * (0.2 * forest)";

cost = 1;

};

};

};

class NightInsects {

radius = 3;

cost = "(9 - 8 * hills) * night * (1 - rain) * (1 - sea) * (1 - windy)";

class Species {

class Mosquito {

probability = 1;

cost = 1;

};

};

};

};

class Names {

class Veg_1 {

name = "";

position[] = {2713.62, 2140.92};

type = "VegetationPalm";

radiusA = 50;

radiusB = 50;

};

class Veg_2 {

name = "";

position[] = {2446.09, 3038.29};

type = "VegetationPalm";

radiusA = 50;

radiusB = 50;

};

class Veg_3 {

name = "";

position[] = {2940.52, 2923.19};

type = "VegetationPalm";

radiusA = 50;

radiusB = 50;

};

};

};

};

class CfgWorldList {

class mymap2 {};

};

Share this post


Link to post
Share on other sites

Okay I fixed it. the problem was mymap2 was in he wrong spot wow_o.gif (thought I had checked that about amillion times). Anyways thanks for all your help biggrin_o.gif

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×