Help - Search - Members - Calendar
Full Version: Tutorial Links
Armed Assault Info Forums > English > Armed Assault > Addons - Work in progress
Pages: 1, 2
d@nte
Last update : 24.11.2008:

Normal Mapping:

http://www.bencloward.com
http://www.poopinmymouth.com
http://www.doom3world.org
Normal Map Tutorial for ArmA (using a colour map as the base)
How to create Normal Maps using a Gimp plugin
Normal/Specular/Colour Map Tutorial by Soul Assassin
Making of Varga Normal Map Tutorial


3D Studio Max :

3ds Max Shortcut list
TurnTool
UV Mapping in 3dsmax
3ds Max Unwrapping Techniques

How to model with various programs :

3dtutorials.sk
3D Total tutorials
3D Buzz


Texture Resource Sites:
PsicoSonic Textures - 25 free per day
Mayang's Free Texture Libary - 20 files a day limit
Image * After
Got3d - Free Textures
Ben Cloward Textures
TextureWarehouse - Free Textures

Texture Tutorials (Photoshop) :

Clothing textures
Making a leather jacket
http://forums.cgsociety.org/
http://www.pslover.com
http://www.photoshopcafe.com
http://www.tutorialized.com
http://www.pixel2life.com really good
http://www.totaltutorials.com/
http://www.psworkshop.net/

Resources
MLOD models released by BIS (to be used in/for ArmA only!)

ArmA specific tutorials :
How to Sign your Addon
Tutorial on Soldier models
BISoldier Configuration
Material Editor Tutorial
Glass Tutorial, Virtual reflective glass Material .rvmat Tutorial by ObmaR
Glass Damage Tutorial by ObmaR
Importing 3ds models to ArmA (Text)
Importing 3ds models to ArmA (Video)
Making Shadows
Uniform Texture Edit Tutorial

Island Making
--=Terrain Starter Kit=-- by blackknight63
Visitor RC3 Basic Tutorials
Visitor 3 Quick Tutorial

General BIS addonmaking tutorials :
BRSSEB's modeling tutorials
Linker Split
Wow good links D@nte... smile.gif always our m8 you are!
here is another link:
TurnTool wink.gif
JdB
I made a list for myself of my most used shortcuts for 3DSMAX:

QUOTE
7 = show facecount of currently selected object
Alt+Middle mouse button = Rotate view
Ctrl+Middle mouse button = Pan view
Middle mouse button = Zoom in/out
Alt+W = Maximize active viewport
Shift+Move = Copy selected object
Ctrl+D = Deselect all

1 = Modify Panel
F = Front
L = Left
T = Top
P = Perspective
C = Camera view
M = Material editor
Q = Select object
W = Move object
E = Rotate object
R = Change scale mode
H = Edit selection/select by name
M= Material Editor
O= adaptive degeneration toggle

Also bind the "\" key to "Keyboard Shortcut Override", which is essential for unwrapping.

Delete unnesessary polygons before Welding/Target welding in Editable Poly.
d@nte
posted by Araon from BIS, in the BIS forum

QUOTE

Araon
3D/2D artist

Group: ModMaker
Posts: 170
Joined: April 2003
Posted: Nov. 12 2006,16:55

Our normalmaps are used as normalmaps, but there is more ways of creating them. On some objects (mostly on soldiers) are normalmaps created from hi poly mesh, on other objects are normalmaps just generated from grayscale map handpainted in photoshop (for example is way faster draw dots on the texture than actually model 2000 rivets on blackhawk), and sometimes it's combination of those two (when you need to add button on the sleeve, is easier to paint it than model it).
So in short - yes, our normalmaps are real normalmaps, but in many cases they weren't created from hi poly model and theoretically plain bump map would do the same effect. But our engine doesn't have support for them.
Nuker
Seems to be pretty tough to create addons with normal-maps. But then, I am not really an experienced modeller.
d@nte
QUOTE
Seems to be pretty tough to create addons with normal-maps
yeah, but with the game, that will be easier to see exactly how they made their models and textures. for the moment, i don't understand a lot of things cry3.gif
JdB
I've been saying all along that it won't be as easy as people think (also to convert addons to ArmA standards), but would they listen? ....of course not.... dance.gif
surpher
Tutorial sites
3dtutorials.sk
3D Total tutorials

Lots of links to blueprints & some tutorials on this forum.
Military-Meshes.com

Texture Resources
PsicoSonic Textures - 25 free per day
Mayang's Free Texture Libary
Image * After
Got3d - Free Textures
Ben Cloward Textures
TextureWarehouse - Free Textures
d@nte

I did not know the first, thx smile.gif
Nuker
QUOTE(d@nte @ Nov 13 2006, 08:59) *

yeah, but with the game, that will be easier to see exactly how they made their models and textures. for the moment, i don't understand a lot of things cry3.gif


Thats the downside of new 'technologies' thumbsdownsmileyanim.gif But oh well, seems we need to study some more!
Rellikki
Does anyone know any good texturing tutorials, especially for clothing textures?
surpher
Clothing tutorials
Clothing textures
Making a leather jacket
d@nte
i didn't find a link for this kind of tuts. but maybe, you could find what you need here: http://forums.cgsociety.org/showthread.php?t=77484 smile.gif
Rellikki
Good, these will come useful for sure. Thanks! smile.gif

More would be appriciated, of course... tongue.gif
d@nte
what d o you need, photoshop tutorials? or 3dsmax tutorials?

photoshop tutorials:

http://www.pslover.com/tutorials/Textures/11/
http://www.photoshopcafe.com/tutorials.htm
http://www.tutorialized.com/tutorials/Photoshop/1
Rellikki
QUOTE(d@nte @ Nov 16 2006, 20:00) *


Photoshop, yes.

Thanks.
d@nte
ok Copy of rolleyes.gif


I had forgotten these websites:

http://www.pixel2life.com/tutorials/Adobe_Photoshop/All/ really good
http://www.totaltutorials.com/

a browser for tutorials (good too)

http://www.psworkshop.net/

smile.gif
Blackbuck
These are all good tuts people there are quite a few i need to use
Blackjack
i have some videos and webtutorials related to the techniques involved here. i would recomend 2 kind of tutorials to you guys.
1- creating bumpmaps with greyscale textures- its really easy to do, and results are good. i think u need the nvdia plugin for photoshop. anyway i have that video tutorial link somewhere, but its in portuguese...but u can understand almost everything just by watching it.
2-creating normalmaps from the high resolution models- this is the process that gives us a way to extract the perfect normal maps textures, directly from a 200.000 tris model to a low resolution model. i use this daily, so i'm very pleased with the results. it gives a lot of work ( creating a very high resolution model), but worth the trouble. but i agree that modeling 2000 rivets isnt the smart option. u gota learn to mix techniques.
there are enough xsi tutorials for that, and even more tutorials for max i'm sure

i dont have any suport from softimage, but xsi is really the best software i could buy now. the essentials version costs only 500dolars!! xsi is a professional tool, that was market leader few years ago (in anination industry)...max isnt for my wallet, so my option went directly to xsi. i was a max user before, so i know all that max can give... the point here is the $ ...
cant wait to have the game in my hands...and the basic moding editor tools for the addons...
maybe one day i'll try to compile it, in english.who know...

i'll post links when i found them. cya all soon.
Linker Split
The problem is...
How many of Us can use 3DStudio max????
angry.gif
I still can't, since I create addons for COD2 and FarCry... but I just don't even know how to:
map a solid (even a cube) cry3.gif
d@nte
it's not difficult, follow the tuts.
Linker Split
Ok, I'll do it! thanks wink.gif
JdB
QUOTE(Linker Split @ Nov 18 2006, 09:25) *

The problem is...
How many of Us can use 3DStudio max????


That's not a problem, if you never try then you'll never learn. You can't learn anything by crying and whining. Same goes for Photoshop/textures.
Guy
Well, ive been using 3ds max for about a year now, and im studying 'computer games design' at college using 3ds max etc. and all i can say is that it looks complicated, but when you have spent an hour or two in it, you will soon start to pick it up dont worry!

So for all those of you who wanna learn 3ds max, or who dont know much about it. Go out there and download the free trial! hop on to www.3dtotal.com and have a look at some of the tutorials. And i can promise you, you will be fast on your way!

Be confident, anyone can learn it!

Guy
Gielovic
i tried a while ago also with a trail-version...But 3d-moddeling is definately not my thing (enligh isn't either)

I'll stick to mission editing, coding and perhaps island making:D
SpecOp9
GIMP 2.0 auto-creates normal maps I believe.
d@nte
hum! i don't think, you need a plug-in like for photoshop. smile.gif
Blackjack
u can get it here... normal maps plugin for gimp

its very simple to use, but the results can be very tricky...all depends on the image ur starting from. the best option is start from a greyscale bump map image . if u start from a color image, u will have a normal map, but it wont have much "realism". it will calculate the normals anyway, but what's suposed to be "in" can show up "out" and viceversa.

so in gimp do this:
-open image
-go the layer panel and u will be looking to your image in an autocreated layer.
-right click the image in the layer panel and "add layer mask"---"grayscale copy of layer"
-now u will see there's a copy of the layer (greyscale) attached to the image in layer panel
-click the layer again and then go to "filters-maps-normal maps"
-a window pops out and u will see a preview of the normal map and some parameters to change. play around, raise the scale a bit. filter depends on the starting image and so do the other options. u can have a 3d preview, so my advise is click the light button and drag mouse around. it will simulate the light influence in the normal texture. when ur happy click done.
-voilá, u have a normal map now, but probably it will look faded, that's because of the mask u created before, so click on top of the maks layer (in the layer window) and remove your mask.
-now u'll have the normal map texture rdy to be saved and used.


like i said before, this is the more inacurate way of extracting normal maps. the best way is always extracting from a high resolution model to a low resolution. but if the starting map is a bump map texture, the results are very good.

i hope to start seeing some works here with this techniques, and some discussions about it. arma is almost on our machines, rdy to be moded smile.gif
UNIT-716
does anyone have any good UV mapping tutorials or programs?
Jukka
Here is something:

for 3ds Max
UNIT-716
Thanks Jukka, very useful tut there
Elliot Carver
Cheers SS happy.gif I'll pass the link onto him
Rock on,
Carver


EDIT: User banned so post as been trashed rolleyes.gif
JdB
QUOTE(Elliot Carver @ Jul 8 2007, 10:32) *
EDIT: User banned so post as been trashed rolleyes.gif


Long live my bookmarks:

[The link]
Linker Split
Normal and Specular mapping in Armed Assault


By Linker Split


Introduction

I decided to write this tutorial because I came into the deep process of normal and specular mapping with my HDT island.

The process isn't easy, since you should have experience with many graphic tools like Adobe Photoshop©, or Maya© and 3DStudio max©.
ArmA, unfortunately, use a different method of applying NormMap: you'll have to write some C++ code lines into your main config.cpp in order to define it, but I'll clear it up afterwards.


Some definition
Before starting, it would be good to make you understand what we are going to do:

Normal mapping: is the technique to replace the existing normals on model. It can be used to greatly enhance the appearance of a low poly model without using more polygons, so we could have a 2.000 poly model (very poor model) with a lot of details.

Specular mapping: basically in real life every highlight in an object is actually a reflection of a light source and specularity is a way to fake those reflections by placing a highlight in the position that the giving object would be reflecting the virtual light.

Bump Mapping: are textures that store an intensity, the relative height of pixels from the viewpoint of the camera. The pixels seem to be moved by the required distance in the direction of the face normals. You may either use greyscale pictures or the intensity values of a RGB-Texture.


Let's start!
Ok, in this tutorial, we are going to make a simple normal mapped cube with a texture applied to it.
I can assure the results will be very good. wink.gif

______________________________
Point 1: First of all, make sure you installed all the required tools:
Download and install Kegetys ArmA tool (in particular PAAPlug)
Download and install Adobe Photoshop Normal Map and DDS Authoring Plug-ins (for users with a NVIDIA GPU) OR Download and install ATI’s normal map generator program (for users with an ATI GPU)

______________________________
Point 2: Now Open your Adobe Photoshop and create a new image, 256x256 px, and paint something like in this one:

(remember to have it in RGBA format, neither greyscale or other formats)

______________________________
Point 3: Now save your Image as TGA, so: tex1.tga, 32 bits/pixels. Then open TexView 2 and save the file as tex1_co.paa
NOW, WHY DID WE SAVE IT WITH _CO.PAA EXTENSION?
It's easy, cause in TexView 2, this extension means: color (difuse map)


______________________________
Point 4: Now that the texture has been done, create a folder, call it BOX, and cut and paste the file in it. (se we have ..\BOX\tex1_co.paa)
open up Oxygen, create a new cube, and apply the texture. Save the model as box.p3d:

(if you can't use Oxygen, I invite you to follow Brsseb tutorials)

______________________________
Point 5: Well, we created a very simple model (indeed for a tutorial we don't need a UBER 30000 poly one biggrin.gif)
Cut and paste it into the BOX folder (as for texture tex1_co.paa).

And the little part of the addon has been done. Now let's proceed to the difficult one.

Creating Normal Maps
Since now, we've just created a simple cube that will appear very ugly in ArmA game:

weirdsmiley.gif IT SCARES ME!

Ok, let's proceed to make a lifting for it! cool.gif
______________________________
Point 1: Open up your Photoshop, and open the texture tex1_co.paa thanks to PAAplug by Kegetys.
Now, I have a NVIDIA Graphic Card, so I'll explain the process for NVIDIA USERS, even if I think for ATI USERS would be the same.

Go to the Photoshop menu Filter and then NVIDIA tools-->Normalmapfilter:

A new tab will come up, the NormMap filter interface: configure it as in the image below:

Then apply it:

Ok some explanation:
Filter type defines the size of the pixel depth.
Scale defines the pixel depth.
Average Source defines the source from which the filter takes the colours to be normal mapped.
Other options seems not to work in ArmA.

______________________________
Point 2: Now that the normal map texture has been done, save it as tex1_nohq.paa (using PAAplug, and leaving all the options as they are)
Then cut and paste the file into BOX folder.
You'll notice that if you'll try to open the texture with texView 2, the program will crash: don't worry, it's not a problem wink.gif
______________________________
Point 3: let's create the Specular map.
Open texView 2, then tex1_co.paa, and go to EDIT-->FILTER... and write in the box (repacing the exiting code):

CODE
sp = 10;
p = src pixel [u,v];
x = 1 - green p;
y = green p * ((sp * blue p + 1) / (sp + 1));
c = color[x,y,blue p,1];


QUOTE
Basically, this code is a bit difficult to understand. But...
sp: specular.
p: pixel.
x: X axis.
y: Y axis.
c: combined color.

This is what I understood so far
Now save the new obtained texture as tex1_smdi.paa
WHY DID WE SAVE IT WITH _SMDI.PAA EXTENSION?
It's easy, cause in TexView 2, this extension means: optimised specular map for better bitdepth

ou should obtain something like this:

with this particular red tone applied.
Copy and paste the file into BOX folder (as for all files)

Now textures creation is completed. We must proceed to configure the model, to have it ingame! wink.gif

Configuring the model!
Open the notepad, and write in it:

QUOTE
#define ReadAndWrite 0
#define ReadAndCreate 1
#define ReadOnly 2
#define ReadOnlyVerified 3

#define private 0
#define protected 1
#define public 2

#define true 1
#define false 0

#define TEast 0
#define TWest 1
#define TGuerrila 2
#define TCivilian 3
#define TSideUnknown 4
#define TEnemy 5
#define TFriendly 6
#define TLogic 7

class CfgPatches
{
class Linker_test1
{
units[] = {"BOX_BOX"};
weapons[] = {};
requiredVersion = 0.1;
requiredAddons[] = {};
};
};
class cfgVehicleClasses
{
class Simple_box_class
{
displayName = "SIMPLE BOX";
};
};
class CfgDestroy
{
class BuildingHit
{
sound[] = {};
};
};

class CfgTextureToMaterial
{
class BOX_material
{
textures[] = {"BOX\tex1_co.paa"};
material = "#BOX_material";
};
};

class CfgMaterials
{
class BOX_material
{
ambient[] = {1.0, 1.0, 1.0, 1.0};
diffuse[] = {0.0, 0.0, 0.0, 1.0};
forcedDiffuse[] = {0.0, 0.0, 0.0, 1.0};
emmisive[] = {0.0, 0.0, 0.0, 1.0};
specular[] = {0.0, 0.0, 0.0, 1.0};
specularPower = 0.0;
PixelShaderID = "NormalMapDetailSpecularMap";
VertexShaderID = "NormalMap";

class Stage1
{
texture = "BOX\tex1_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0, 0.0, 0.0};
up[] = {0.0, 1.0, 0.0};
dir[] = {0.0, 0.0, 0.0};
pos[] = {0.0, 0.0, 0.0};
};
};
class Stage2
{
texture = "BOX\tex1_co.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0, 0.0, 0.0};
up[] = {0.0, 1.0, 0.0};
dir[] = {0.0, 0.0, 0.0};
pos[] = {0.0, 0.0, 0.0};
};
};
class Stage3
{
texture = "BOX\tex1_smdi.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0, 0.0, 0.0};
up[] = {0.0, 1.0, 0.0};
dir[] = {0.0, 0.0, 0.0};
pos[] = {0.0, 0.0, 0.0};
};
};

};
};

class CfgVehicles
{
class Thing;
class Building;
class Strategic;
class NonStrategic : Building{class DestructionEffects;};
class HouseBase;
class Land_VASICore;
class House : HouseBase{class DestructionEffects;};
class BOX_BOX : House
{
scope = public;
simulation = "house";
vehicleClass = "Simple_box_class";
model = "\BOX\box.p3d";
displayName = "Simple box!";
};
};


Ok, some explanation:

class CfgTextureToMaterial
{
class BOX_material
{
textures[] = {"BOX\tex1_co.paa"};
material = "#BOX_material";
};
};

This part of the config is needed to define the conversion of the textures to the material defined in the CfgMaterials class.

QUOTE
class BOX_material
{
ambient[] = {1.0, 1.0, 1.0, 1.0};
diffuse[] = {0.0, 0.0, 0.0, 1.0};
forcedDiffuse[] = {0.0, 0.0, 0.0, 1.0};
emmisive[] = {0.0, 0.0, 0.0, 1.0};
specular[] = {0.0, 0.0, 0.0, 1.0};
specularPower = 0.0;
PixelShaderID = "NormalMapDetailSpecularMap";
VertexShaderID = "NormalMap";


To understand the use of numbers in this class, go to Biki about RVMAT file. I don't want to repeat what is written there wink.gif

QUOTE
class Stage1
{
texture = "BOX\tex1_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0, 0.0, 0.0};
up[] = {0.0, 1.0, 0.0};
dir[] = {0.0, 0.0, 0.0};
pos[] = {0.0, 0.0, 0.0};
};
};
class Stage2
{
texture = "BOX\tex1_co.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0, 0.0, 0.0};
up[] = {0.0, 1.0, 0.0};
dir[] = {0.0, 0.0, 0.0};
pos[] = {0.0, 0.0, 0.0};
};
};
class Stage3
{
texture = "BOX\tex1_smdi.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0, 0.0, 0.0};
up[] = {0.0, 1.0, 0.0};
dir[] = {0.0, 0.0, 0.0};
pos[] = {0.0, 0.0, 0.0};
};
};


This part is needed to define the stages of a single texture: in our case is tex1_co.paa. You have to add 3 stages for a single texture, because we have 3 different files: the nohq one, and the smdi one.

With this simple config we will have this result:

But, if we play with specular and specularpower, defining them in this way:

QUOTE
specular[] = {0.2, 0.3, 0.3, 0.6}; //{0.2, 0.3, 0.3, 0.6};
specularPower = 10.0;

we will have this amazing result:


HERE IT IS THE BOX FINISHED, AND THE FOLDER WITH THE FILES IN IT!
________________________________________________________________

Ok, this tutorial is enough to understand the basis of Normal and specular mapping in Armed Assault

First time i found it difficult, but now I know it isn't! You only have to sit in front of your PC, and try, try, try... smile.gif

I hope this tutorial helps!


Cheers all, Linker Split
AtStWalker
QUOTE(SpecOp9 @ Nov 23 2006, 08:48) *
GIMP 2.0 auto-creates normal maps I believe.


http://nifelheim.dyndns.org/~cocidius/normalmap/ thumbsup.gif
Linker Split
HERE IT IS MY TUTORIAL IN A SINGLE PDF FILE (THANKS DEADEYE! wink.gif)

PDF TUTORIAL!
Marco Cattaneo
This tutorial it's not correct, and kinda misleading.


The correct way to create a normal map is by making a Hi poly model to bake the normals, OR to transform a BUMP MAP into a normal map using the Nvidia photoshop filter (or gimp).

Just creating a normal map using a color map as a base, it's useless.


Some links


http://en.wikipedia.org/wiki/Normal_mapping

http://www.bencloward.com/tutorials_normal_maps1.shtml
Linker Split
QUOTE(Marco Cattaneo @ Jul 15 2007, 19:38) *
This tutorial it's not correct, and kinda misleading.
The correct way to create a normal map is by making a Hi poly model to bake the normals, OR to transform a BUMP MAP into a normal map using the Nvidia photoshop filter (or gimp).

Just creating a normal map using a color map as a base, it's useless.
Some links
http://en.wikipedia.org/wiki/Normal_mapping

http://www.bencloward.com/tutorials_normal_maps1.shtml


Well, if you are handy with google, see this:

Blender wiki about normal and bump mapping
Or this:
Wiki about bump and normal mapping
It's basically the same. ArmA uses Normal mapping, and the results are the images I put in this tutorial...
I know it would be better to use a bump map, but a color one is ok too (for not wasting time)...
since there aren't any tutorials about this hard argument, I decided to write one smile.gif
Marco Cattaneo
QUOTE(Linker Split @ Jul 15 2007, 20:17) *
Well, if you are handy with google, see this:

Blender wiki about normal and bump mapping
Or this:
Wiki about bump and normal mapping
It's basically the same. ArmA uses Normal mapping, and the results are the images I put in this tutorial...
I know it would be better to use a bump map, but a color one is ok too (for not wasting time)...
since there aren't any tutorials about this hard argument, I decided to write one smile.gif



I can assure you that I know what normal maps are and how to make them happy.gif


Using a bump map it's fine since height informations are traslated into normal infos by the plug in. Colour informations are useless for a normal map, it's like creating a bump map from the colour map, the colour hue/saturation of the texture cannot reproduce a correct height representation of the surface you are working on..

xEnigmax
i'm pretty sure that i've read you can take a decent normal map off of a Desaturated colour map,
yet to try it as of yet though.
JdB
QUOTE(xEnigmax @ Jul 17 2007, 10:50) *
i'm pretty sure that i've read you can take a decent normal map off of a Desaturated colour map,
yet to try it as of yet though.


That is using a shadow map to base a normal map on, which would work, but not like a true normal map (it would also make surfaces that are meant to be out of contact with direct sunlight due to shadow even deeper). Not all shadow is supposed to create the effects of normal mapping. The same goes for parts reflecting light.
Linker Split

first effect on a tree... smile.gif
Deadeye
Linker Split : This topic is not here to show off your texturing skills. Post the pics in your HDS thread blink.gif

BTW: I listed every tutorial, link.... whatever in the first page. Time to get some structure in this tuts thread smile.gif

Linker Split
QUOTE(Deadeye @ Jul 19 2007, 12:10) *
Linker Split : This topic is not here to show off your texturing skills. Post the pics in your HDS thread blink.gif

BTW: I listed every tutorial, link.... whatever in the first page. Time to get some structure in this tuts thread smile.gif

yeah sorry man, you are right... anyway, I'm discovering noew important things about the normal mapping process... smile.gif
hoz
Shouldn't you be using rvmat files instead of sections in the config for cfgtexturetomaterial and cfgmaterials?
Linker Split
QUOTE(hoz @ Aug 27 2007, 02:06) *
Shouldn't you be using rvmat files instead of sections in the config for cfgtexturetomaterial and cfgmaterials?


yes hoz, now is possible, thanks to the new Oxygen wink.gif
Linker Split

Hi Folks!


Due to the enormous requests I had in these weeks about the use of the MatEditor (included with Oxygen2PE), I finally wrote a tutorial!

Here is the download link:

Material Editor tutorial (220 Kb)


cheers all
Linker Split

Bracken
Thanks Linker Split thumbsup.gif

Very well written and easy to follow.
Rellikki
Added your tutorial on our Tutorials section. Good job! smile.gif
Linker Split
QUOTE(Rellikki @ Sep 20 2007, 00:51) *
Added your tutorial on our Tutorials section. Good job! smile.gif

Well thanks m8!!!!
and thanks also deadeye wink.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2017 Invision Power Services, Inc.