mr. bravo 17 Posted June 26, 2009 Hey guys! I've played ArmA 2 now for a few days with some friends, and now that we've gotten to know the game better, it's time we make some own stuff to use. As I've got some knowledge already from texturing in other games, I gladly took the task of creating our own characters :D So now, to my little problem. I'm totally inexperienced of how this works in the ArmA-engines. I've searched around a lot, and have come to the conclusion that it pretty much works as in the first ArmA. So I've looked around for tutorials and such for how it's done in ArmA 1 as well, but most of them have either been too basic (And cut out details for the real noobs), or there're differences in ArmA 2 that leaves you to improvise, which is hard if you barely know anything about how everything is built and works together! So now I'm turning to you, kind kind people :D Let me first tell you what I want to do, and what I've managed so far; I want to retexture a few existing character-models and be able to add them as unique playable characters in the game-editor. After looking at all the USMC-character-models in the editor, I came to the conclusion that I wanted to use three of the Razor-team characters for my little project. I'll begin with Cooper to learn, and will do the rest afterwards. This is what I've done so far; -Downloaded a recently updated tool-pack by Kegetys (I bet you know which one ;) ). -Installed the .paa-plugin and normalmap-plugin for photoshop. -Unpacked the Character.pbo files to reach the textures and models. -Located the P3D-files (Which I assume are the 3d-models themselves?) -Located the folder of the used textures, and are able to open them in PS. -Downloaded Hex-editor XVI32. That's as far as I've gone now. The next step before working with the texturing is to create and implement the model/character into the game, and this is what's confusing me! Here are some questions to begin with; -Obviously I should make a new folder for my character-files, but where? Can I simply make a "my new character"-folder into the "\ArmA2\AddOns\"-directory containing all the files? Or do the model and texture files have to be in different/special folders? -I read something that said my new folders has to have the exact amount of characters in it as the full pathway to the original files. Is this true? And from where exactly does it count? -When I've created a folder for my files, I have to change the pathways for the textures to my new own ones in some file. Is this what you do with the Hex-editor in the .p3d-file? Does for example the pathway "ca\characters2\usmc\data\" sound like what I'm going to change to something like "ca\characters2\mynewcharacter\"? Give me an example :) -And finally, what does all the different files around the texture-files do, and do I need them all for my mod? The name of the textures I want to change seems to always and with _co, which is the painted texture. Then there are _smdi, _nohq, _mc, and _as. They all look weird in paintshop, and I'm guessing the -nohq is the normalmap? And then there are the .rvmat files, which seems to be non-ps files. What do I use them for? Sorry for the long thread, but I'm just tired of puzzling different pieces of information together of how this is done from different sites on google. If there are some mega awesome wiki somewhere that have all the answeres I'm looking for, please tell me :) Considering how everyone from ArmA 1 seem to instantly know how to mod stuff like this in ArmA 2 as well, there has to be some source of knowledge somewhere! Thank you for any helping answeres anyway, Good night! Share this post Link to post Share on other sites
Spetz 0 Posted June 26, 2009 try OFPEC.com for tutorials, I usually just Edit other peoples models for my own personal use, like to match them up to other addons, Share this post Link to post Share on other sites
mr. bravo 17 Posted June 26, 2009 Thank you, but I've been there looking around some already, and I havent found any tutorial that helps so far. I'm looking around on the forum as well, but I only find clues here and there, but nothing concrete about ArmA 2. And yap, it would be a lot easier to just download some one elses mod and change it as I please, but so far I havent even found a mod that change these things for ArmA 2 :/ Another important thing I need help with is the config-file. Apparantly I need one to add the new model/character into the game, which contains all info the editor needs to create the character with name, weapons, stats, and so on. The configs in ArmA1 seems to be a little different compared to ArmA 2, and another format, so I dont have much info or examples about this at all. Is it the config.bin file you see in every pbo-file? It containes a lot of info that looks a lot like what the ArmA1 configs contains anyway. But most of them are a complete mess, and I cant really get anything out of them since they handle all files from their pbo-files, which just makes it awfully confusing :( Config-files are what I'm most conserned about right now anyway, the rest has become a bit clearer now since I cant sleep and got stuck here again zapping around for more info :p Share this post Link to post Share on other sites
PuFu 4600 Posted June 26, 2009 (edited) -Obviously I should make a new folder for my character-files, but where? Can I simply make a "my new character"-folder into the "\ArmA2\AddOns\"-directory containing all the files? Or do the model and texture files have to be in different/special folders? No. Once you have finished your pbo(s), they should be \ArmA2\YourModFolder\Addons\ -I read something that said my new folders has to have the exact amount of characters in it as the full pathway to the original files. Is this true? And from where exactly does it count? I am not really sure what you are talking about, but i can only guess you read about Hex editing a p3d paths...Yes, when editing a path, the size of the path you wanna edit with the new one needs to be the exact same size in number of character used. -When I've created a folder for my files, I have to change the pathways for the textures to my new own ones in some file. Is this what you do with the Hex-editor in the .p3d-file? Does for example the pathway "ca\characters2\usmc\data\" sound like what I'm going to change to something like "ca\characters2\mynewcharacter\"? Give me an example :) Hex editing is something used to be done in ArmA 1, before MLOD were released, since every retexture needed it's own new 3d model file (.p3d). Now, with arma2, it is possible to be using hiddenselection. I am not really sure how that works, i need to check configs. "ca\characters2\usmc\data\" needs to be replaces with "\~pboname~\~folder~" and needs to have the same exact lenght in terms of characters used. IE: 25 chrs for your example of root, would need 25 in your modified/created new root. -And finally, what does all the different files around the texture-files do, and do I need them all for my mod? The name of the textures I want to change seems to always and with _co, which is the painted texture. Then there are _smdi, _nohq, _mc, and _as. They all look weird in paintshop, and I'm guessing the -nohq is the normalmap? And then there are the .rvmat files, which seems to be non-ps files. What do I use them for? the .paa are the texture files, while the .rvmat are the material files(setting up those textures). For what you'll need to do, you'll have to derapify those, change their name (or not), but make sure you change the paths for the textures you'll find in them to your own. http://community.bistudio.com/wiki/TexView_2_Manual#How_to_use_it Sorry for the long thread, but I'm just tired of puzzling different pieces of information together of how this is done from different sites on google. If there are some mega awesome wiki somewhere that have all the answeres I'm looking for, please tell me :) Considering how everyone from ArmA 1 seem to instantly know how to mod stuff like this in ArmA 2 as well, there has to be some source of knowledge somewhere! It's mostly trial and error. There are a few places where you can find tutorials, and some information, but not all that many. I guess it's because ppl tend to spend time on making those addons rather than writing tutorials. Also, asking about can save you from this trial and error part, but bear in mind that holding ones hand has its limits. Another important thing I need help with is the config-file. Apparantly I need one to add the new model/character into the game, which contains all info the editor needs to create the character with name, weapons, stats, and so on. The configs in ArmA1 seems to be a little different compared to ArmA 2, and another format, so I dont have much info or examples about this at all. Is it the config.bin file you see in every pbo-file? It containes a lot of info that looks a lot like what the ArmA1 configs contains anyway. But most of them are a complete mess, and I cant really get anything out of them since they handle all files from their pbo-files, which just makes it awfully confusing yes, you will need config files. You can base yours on ArmA2 ones, and for a retexture is not really much work to do config wise really. You can inherit all properties from the USMC entries you are redoing models, and just add their name etc. yes, config.bin is what you should be look at, you will need it derapified first. There are a number of tools available to do that (i think you managed to go that far). Regarding the confuse created by all the entries there, you will just need to find the class name of the original USMC unit you want modified, and go from there. Configs holds a lot more inforation that you will need for your small project Edited June 26, 2009 by PuFu Share this post Link to post Share on other sites
mr. bravo 17 Posted June 26, 2009 Thank you pufu! That cleared a lot of my questions and wonderings :) yes, you will need config files. You can base yours on ArmA2 ones, and for a retexture is not really much work to do config wise really. You can inherit all properties from the USMC entries you are redoing models, and just add their name etc.yes, config.bin is what you should be look at, you will need it derapified first. There are a number of tools available to do that (i think you managed to go that far). Regarding the confuse created by all the entries there, you will just need to find the class name of the original USMC unit you want modified, and go from there. Configs holds a lot more inforation that you will need for your small project Well I dont have any special program for the config-files, just Notepad. The problem with notepad though, is that sometimes it doesnt understand when to make a space or new row. So all the code is just rambled up in one huge sentance, leaving me incredibly confused. And this is the case with the big ArmA2-config where I need to find the code I need in my config :butbut: Sooo you wouldnt happen to know a small program that can display the config-file in a correct and more readable manner? I tried to google, but I quickly realized I dont really know what to google for :p It's mostly trial and error. There are a few places where you can find tutorials, and some information, but not all that many. I guess it's because ppl tend to spend time on making those addons rather than writing tutorials. Also, asking about can save you from this trial and error part, but bear in mind that holding ones hand has its limits. Absolutely, but I'm actually just interested in adding new textures, not coding new config-files :p All I'm after is a some sort of placeholder-config, so I can throw in my own character-models into the editor, and so that I know the basics of how it's built. I have found one config for arma1, which was included in a tutorial I found yesterday, and I think it contains just about all info I need. This is what it contains; #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 RC_SweFor { units[] = {""}; requiredVersion = 1.0; }; }; class CfgVehicleClasses { class RC_SweForInf { displayName = "RC: Swedish Forces"; }; }; class CfgVehicles { class Land; // External class reference class Man : Land {}; class Soldier : Man {}; class SoldierGB : Soldier {}; class SoldiereB : Soldier {}; class SoldierWB : Soldier {}; class RC_SSG: SoldierWB { scope=private; displayName="SSG"; vehicleClass = "RC_SweForInf"; model = "\RC_SweFor\RC_SSG"; nameSound="soldier"; weapons[] = {"G36C","Throw", "Put"}; magazines[] = { 30Rnd_556x45_G36,30Rnd_556x45_G36, 30Rnd_556x45_G36, 30Rnd_556x45_G36, 30Rnd_556x45_G36, 30Rnd_556x45_G36}; }; class RC_SSG_Rifleman : RC_SSG { scope=public; weapons[] = {"G36C","Throw", "Put"}; magazines[] = { 30Rnd_556x45_G36,30Rnd_556x45_G36, 30Rnd_556x45_G36, 30Rnd_556x45_G36, 30Rnd_556x45_G36, 30Rnd_556x45_G36}; }; class RC_SSG_MG : RC_SSG { scope=public; displayName="SSG (KSP 90)"; weapons[] = {"M249","Throw", "Put"}; magazines[] = { 200Rnd_556x45_M249, 200Rnd_556x45_M249, 200Rnd_556x45_M249, 200Rnd_556x45_M249, 200Rnd_556x45_M249}; }; class RC_SSG_AT : RC_SSG { scope=public; displayName="SSG (Pskott)"; weapons[] = {"G36C","M136","Throw", "Put"}; magazines[] = { 30Rnd_556x45_G36,30Rnd_556x45_G36, 30Rnd_556x45_G36, 30Rnd_556x45_G36, 30Rnd_556x45_G36, 30Rnd_556x45_G36,M136}; }; }; If I understand this correctly, it creates the new class "Swedish Forces", which also has it's own infantry-model connected to it. Within this class, it also creates three types of soldiers (Rifleman, MG and AT), and their default configurations with names and equipment. Am I right so far? Would this be enough to add in my config to have it available in the editor? Of course I'll change some obvious values and paths to have it working with my own files. But I do wonder if that first part with the "#define"-commands is really necessary? Looks like some sort of server-configuration. Anyways, if I only could complete this as a placeholder to use for now and keep working with later on, it would save me a lot of time and give me an idea of how it's built. And the last question, do I simply make this a config.bin and put it in my "ArmA2\mynewmodelwith25characters\"-directory to have the game acknowledge my new class and model? Or are there more to add or do? Thank you for helping answeres! :bounce3: Share this post Link to post Share on other sites
PuFu 4600 Posted June 27, 2009 Thank you pufu! That cleared a lot of my questions and wonderings :)Well I dont have any special program for the config-files, just Notepad. The problem with notepad though, is that sometimes it doesnt understand when to make a space or new row. So all the code is just rambled up in one huge sentance, leaving me incredibly confused. And this is the case with the big ArmA2-config where I need to find the code I need in my config :butbut: Sooo you wouldnt happen to know a small program that can display the config-file in a correct and more readable manner? I tried to google, but I quickly realized I dont really know what to google for :p There is no syntax highlight program for ArmA configs as far as i know. I use Notepad++ since it allows me to mass edit a config, search-replace etc. Oh, and it's free and can open basically any type of file. Absolutely, but I'm actually just interested in adding new textures, not coding new config-files :p All I'm after is a some sort of placeholder-config, so I can throw in my own character-models into the editor, and so that I know the basics of how it's built. I have found one config for arma1, which was included in a tutorial I found yesterday, and I think it contains just about all info I need. This is what it contains; #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 RC_SweFor { units[] = {""}; requiredVersion = 1.0; }; }; class CfgVehicleClasses { class RC_SweForInf { displayName = "RC: Swedish Forces"; }; }; class CfgVehicles { class Land; // External class reference class Man : Land {}; class Soldier : Man {}; class SoldierGB : Soldier {}; class SoldiereB : Soldier {}; class SoldierWB : Soldier {}; class RC_SSG: SoldierWB { scope=private; displayName="SSG"; vehicleClass = "RC_SweForInf"; model = "\RC_SweFor\RC_SSG"; nameSound="soldier"; weapons[] = {"G36C","Throw", "Put"}; magazines[] = { 30Rnd_556x45_G36,30Rnd_556x45_G36, 30Rnd_556x45_G36, 30Rnd_556x45_G36, 30Rnd_556x45_G36, 30Rnd_556x45_G36}; }; class RC_SSG_Rifleman : RC_SSG { scope=public; weapons[] = {"G36C","Throw", "Put"}; magazines[] = { 30Rnd_556x45_G36,30Rnd_556x45_G36, 30Rnd_556x45_G36, 30Rnd_556x45_G36, 30Rnd_556x45_G36, 30Rnd_556x45_G36}; }; class RC_SSG_MG : RC_SSG { scope=public; displayName="SSG (KSP 90)"; weapons[] = {"M249","Throw", "Put"}; magazines[] = { 200Rnd_556x45_M249, 200Rnd_556x45_M249, 200Rnd_556x45_M249, 200Rnd_556x45_M249, 200Rnd_556x45_M249}; }; class RC_SSG_AT : RC_SSG { scope=public; displayName="SSG (Pskott)"; weapons[] = {"G36C","M136","Throw", "Put"}; magazines[] = { 30Rnd_556x45_G36,30Rnd_556x45_G36, 30Rnd_556x45_G36, 30Rnd_556x45_G36, 30Rnd_556x45_G36, 30Rnd_556x45_G36,M136}; }; }; If I understand this correctly, it creates the new class "Swedish Forces", which also has it's own infantry-model connected to it. Within this class, it also creates three types of soldiers (Rifleman, MG and AT), and their default configurations with names and equipment. Am I right so far? Yes, correct. In a basic config for what you want, you will need: defines (optional) CfgPatches CfgAddons CfgVehicleClasses CfgVehicles etc Would this be enough to add in my config to have it available in the editor? Of course I'll change some obvious values and paths to have it working with my own files. But I do wonder if that first part with the "#define"-commands is really necessary? Looks like some sort of server-configuration. Anyways, if I only could complete this as a placeholder to use for now and keep working with later on, it would save me a lot of time and give me an idea of how it's built. in the define part, you can define anything you like, in order to use it faster and right down one line instead of 10. IE: #define SENSITIVITY_BASE_SKILL 1.5 - this will add a 1.5 value in the line you are using. Doing this can mean you can edit faster the whole config, just by changing that one value defined earlier rather than working your way through the whole config (especially if that is huge). And the last question, do I simply make this a config.bin and put it in my "ArmA2\mynewmodelwith25characters\"-directory to have the game acknowledge my new class and model? Or are there more to add or do? you can work with config.hpp/config.h file no problem. Bin file is created on binarization of the whole folder, transforming it in a pbo. Obvioulsy you can binarize/rapify individual files as well. there is a number of user created software of that, as well as BIS ones (available in the ArmA BIS editing tools pack). I am using Eliteness by mikero Good luck! Share this post Link to post Share on other sites
mr. bravo 17 Posted June 28, 2009 Ah, thank you very much again, Pufu! I'll keep trying to create this config later on. Good news is that I at least managed to add a working texture into the game. For now, it's just a replacer for the original texture, so a config is not needed. But I will still have to make one at the end of the project anyway, at least if I decide to release it :p For now, it's just a 10-minute-job for testing. But the original normalmap made it look way better than I expected. I bet at least swedish members here will enjoy it, since it's a first piece of a swedish camo uniform ;) Check out some pictures; http://i166.photobucket.com/albums/u96/Da__Tobb/screens/m901.jpg http://i166.photobucket.com/albums/u96/Da__Tobb/screens/m902.jpg http://i166.photobucket.com/albums/u96/Da__Tobb/screens/m903.jpg Share this post Link to post Share on other sites