|
Editing
Existing SP Missions
By EricJ
Let’s face it, the missions in GRAW are pretty full
of threats. Ambushes and maybe a swarm of troops. However,
it is just kinda getting boring. Flank here, the same spots
and the same and same. Here we’re going to add some
more targets. Overall of course you know where they are, duh,
but still it adds some more pressure to most missions. You’ll
need:
Easy
enough, you should open the Bundle Extractor, open the “quick.bundle”
and go to data/levels/missionxx, where “xx” is
the mission number. Then expand the “xml” and
extract the world.xml file. Open the file with your editor.
A LOT of stuff to read. Some reference:
- Cover:
This refers to any vehicle really, such as the cars, which
obviously are used for cover in fights.
- Human: This is every AI, to include your teammates, as well
as your insertion chopper/Stryker.
- Small_Static: Plants, streetlights, benches, etc.
- Sounds: Pretty obvious.
- Static: Roads, monuments, buildings, etc.
- Vehicle: Any vehicles that may in the game. Note these are
the AI enemy and friendly used vehicles.
Pretty much, all of it is pretty
straightforward. Copy this file into a folder name/xml/ with
the world.xml in the “xml” folder. If you have
previous editor use, then this is pretty easy to do. Open
the Editor and select your folder and Load it. It’ll
take a bit of course on what you have for horsepower.
Next is just the easy stuff.
Pretty much most of it is pretty Greek but with enough experimenting
around, you can figure out what is what. Since the game editor
works in layers, selecting the layer as per above, again,
is pretty self explanatory. Note however, “Cover”
is the “Dynamic” layer. The dropdown menus show
up, easy stuff.
Placing additional soldiers
GRAW works off of the data/lib/managers/xml/group_manager.xml.
This file has the normal “template” for the game,
i.e. to easily place the badguys on the map. If you have previous
work with the map editor, select “Human” and a
globe on a stand appears:

I then right-click:

The four red globes represent
the amount of soldiers that will be placed in that particular
area. You can drag this on top of buildings for sniper positions.
The little “stand” is where the soldier will initially
point. The blue circle around the icon is the radius in which
it will encompass, or the “footprint”. Now here’s
the main selection screen:

By default the “Blackhawk_crew”
is selected. Since we’re not putting any friendlies
here, we’re going to select:
Since “Strong Point”
is a quasi-night map, we’ll just do this for giggles.
Now since it’s near the power station:
In the appropriate mission.xml
file it refers to this group. Pretty much I go for the closest
units near where I want to add, it keeps it simple and not
going too far into mission editing. This is good enough for
now. Click on the “Group ID” box, backspace and
enter the “power_wave” as that group, when the
game spawns the enemies.
Now we can select general orders.
Right now I’ll leave it at Guard, since obviously they’re
guarding the Power Station. If we select Patrol:
Save:

Placing
Panhards and their squads
The length of time of course
depends on the complexity, etc. Again for ease, keep the names
similar, and you shouldn’t have any problems. If anything,
they won’t show up because they weren’t specified
in the mission.xml file. Now at the first town, we want to
add a Panhard and it’s crew and soldiers:
Specify the vehicle ID as
“fight” as that’s the group that is there.
Add the other soldiers:

As you can see, I adjusted
the Panhard slightly as it would be slightly “realistic”
for it to be parked that way. Finished group:
Note it may be a good idea
to check off the “Crew” box:

Another Panhard team:

Sniper!
Placing another sniper can
be weird at first, but here goes. First off, create the sniper
just like any soldier, or use a single soldier for this. Reason
being collision detection will get the game to crash, so one
guy only.
We’ll use a G36 armed
sniper for this tutorial, unless of course you’d like
to use a PSG-1 equipped one… Now placement, does really
make a difference as to where he needs to “watch”
your initial placement gives him location. Select Sniper for
his Order:
A wireframe yellow cone shows
up initially, pointing in some odd direction. Now the next
part is the secondary placement, i.e. where youneed him to
Overwatch. Leaving the sniper highlighted, place him (on this
corner of a building for example):
Initial area to watch

Where I want him to snipe
from
Now use the middle button
on your mouse, click:
Viola, he now will watch that
assigned area. Assign him as part of the wave that is closest,
and you are good to go.
Additional Atmosphere objects
And just to add some more
to a sparse base:
Note that YOU MUST be careful
on what and where you place it. For all intents and purposes
it’s a hunt on what is causing it to crash. Why? Because
the enemy may spawn where it shouldn’t, i.e. in a building
not designed for AI travel, or another “non walking”
area. It takes some time and ultimately patience to figure
it out before “it works” for you.
Changing
the Sky

Sometimes the map needs a
little “freshness” to it. As you can see, the
above shot is “VIP2 is Down”, at night. How did
I do it? Trial and error of course. Okay what you’ll
need:
Okay, let’s get started.
First we’ll use this mission, since well, I spent so
long on it. First off start some folders. In your Local/English/
directory, make a “levels” folder. We’ll
create another folder, “mission03”, which is the
mission name in the quick.bundle, and then create an “xml”
folder, which should look something like this:
Open Nemon’s Bundle extractor
and go to data/levels/mission03/xml and extract the “world.xml”
file. Then of course put it in the one you just made. Open
the world.xml and you should (I would highly recommend) and
hit CTRL-F and put in “lights”. It’ll take
you to the…. My bad, open the mission05 tree and do
the same. Extract if you don’t feel like hunting for
it, and of course put it where you can access it. Back to
business, open the recently extracted mission05 world.xml
and go to “lights”, copy these lines:
<lights name="first">
<light r="1" g="1" b="1"
far_range="5000"
type="directional|specular|shadow_caster">
<position pos_x="-9920.918" pos_y="-19277.945"
pos_z="4389.4434"/>
<rotation
yaw="156.4702" pitch="57.638336" roll="179.99989"/>
</light>
</lights>
And paste them at the same spot on the mission03
world.xml, and that’s settled. Then scroll down till
you see this, copy the mission05 onto the mission03.xml:
<sky name="first">
<rotation yaw="0" pitch="0" roll="-71.506332"/>
<setup sky_name="mission05"/>
</sky>
Naturally, this is the sky
texture that is applied onto the map, which is a globe:
Now we can go into the game,
and it’ll look like this:

Now go to the data/levels/mission03
file and extract the “mission03.xml” file into
the main directory. Open it and replace the mission05.xml
lines into the mission03.xml:
<load_scene file="/data/levels/mission03/mission03.diesel"
use_lightset="true" materials="/data/levels/mission05/materials.xml">
<object name="world_bb" hidden="true"/>
<!--Collisions
-->
<xi:include href="xml/mission05_collision.xml#xpointer(/collision/*)"/>
<global_ambient
color="60 60 40"/>
</load_scene>
DO NOT replace the “mission03.diesel”
line, that is the main 3d mesh, just leave it alone. Next
extract the “atlas_props.xml” from the mission03
folder and insert into the mission03 folder, and then add
this line:
atlas_mission_specific/mission05_specific/props
The last obstacle is the command
map. If you did not mod it so it’s color, skip this
part. If you have however, create a “textures”
folder (if you haven’t already) and do as such:

Then create two more folders,
“atlas0” and “atlas1”. Those are your
command map images and display. In the quick.bundle, extract
the appropriate files and edit it to what you desire. Keep
in mind, that these are part of the map, so if you want dayglow
pink, you will see it on your map, but if that floats your
boat… it’s your ocean ;). Seriously we’ll
edit it blackish/bluish so you can see the underlying images.
So when you open your Tactical Map:
Last but not least, extract
the mission05/xml/ambient_cubes.bin into the “mission03/xml”
folder, as that handles the rendering aspect.
As you can see, you
can’t get all, but that’s just a matter of working
with it. |