ImageServer
ImageServer is a command line option to the city of heroes client program that causes it to output image files from costume csv files. There are two ways to generate these files at present - use the MapServer CharInfo Mode or use the /costume_save command.
Usage
To save your costume using the command, be logged in on a level 9 user and enter the following to export your current costume.
/costume_save "absolute\path\to\file.csv"
The client takes two parameters for imageserver, in and out:
cityofheroes.exe -project coh -imageserver "absolute\path\to\in\dir" "absolute\path\to\out\dir"
You can also start imageserver in-game on *any* account (its level 0), using:
/imageserver "absolute\path\to\in\dir" "absolute\path\to\out\dir"
Once imageserver is started, it cannot be stopped until the client exits. It will continally monitor the in directory and parse any csv file that appears, so you can change costumes and save them and it will immediately parse them, or you can save them all first and it will parse the whole lot in one go when you start the imageserver.
Any csv file found in the in directory will be processed and saved as an image in the out directory.
There are two additional options:
-notga -nojpg
The former supresses the output of TGA files in the output directory. The latter suppresses the output of JPG files ((Where? Are these in the out dir or the charinfo dir, need to check)). The CSV file itself can have parameters added to the top.
Parameters
Parameters are inserted at the start of the CSV file, and consist of PARAMS: followed by a comma seperated list of parameters in the form key=value. Some don't have a value and are just flags.
All Params
X= | Width of output image in pixels |
Y= | Height of output image in pixels |
BGTEXTURE= | Background texture |
BGCOLOR= | Background colour, an decimal or a hexadecimal (0x??????) number |
HEADSHOT | Generate a headshot not a fully body image |
DELETECSV | Delete the source CSV after processing |
OUTPUTNAME= | Filename for output |
CAPTION= | ?? Caption? |
COSTUMENAME= | Use this costume instead of the contents of the CSV. The name is from the NPC .nd file. |
CharInfo Params
PARAMS: X=200,Y=400 PARAMS: OUTPUTNAME=c:/charinfo/html/freedom/villain_costume1.jpg PARAMS: BGTEXTURE=V_Portrait_bkgd_red.tga PARAMS: BGCOLOR=16777215 PARAMS: DELETECSV
CharInfo Thumbnail Params
PARAMS: X=80,Y=80 PARAMS: OUTPUTNAME=c:/charinfo/html/freedom/villain_thumbnail.jpg PARAMS: BGTEXTURE=V_Portrait_bkgd_red.tga PARAMS: BGCOLOR=16777215 PARAMS: HEADSHOT PARAMS: DELETECSV
CSV File Format
First, any PARAMS lines Then, each line as follows:
Index - starts at 0, add 1 each line Geometry Texture 1 Texture 2 Name Colour 0 Colour 1 Body Type 0: Male 1: Female 2: BasicMale 3: BasicFemale 4: Huge 5: Enemy 6: Villain 7: Enemy2 8: Enemy3 Skin Colour Global Scale AllBones Scale Head Scale Shoulder Scale Chest Scale Waist Scale Hip Scale Leg Scale Arm Scale HeadX Scale HeadY Scale HeadZ Scale BrowX Scale BrowY Scale BrowZ Scale CheekX Scale CheekY Scale CheekZ Scale ChinX Scale ChinY Scale ChinZ Scale CraniumX Scale CraniumY Scale CraniumZ Scale JawX Scale JawY Scale JawZ Scale NoseX Scale NoseY Scale NoseZ Scale FX Name, or "none" Colour 2, or 0 Colour 3, or 0 Region Name, or 0 Body Set, or 0
Sample Costume CSV
Sample costume CSV. It should in theory be possible to generate a .costume to .csv convertor.
PARAMS: X=200,Y=400 PARAMS: OUTPUTNAME=c:/charinfo/html/freedom/villain_costume1.jpg PARAMS: BGTEXTURE=V_Portrait_bkgd_red.tga PARAMS: BGCOLOR=16777215 PARAMS: DELETECSV 0,"tucked_in","Pants","!hips_v_pattern_thin_stripe_02","None",2039583,14935011,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,"lower_body","tuckedin" 1,"jackets_sleeves","Tights","none","None",2039583,14935011,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,"upper_body","Jackets" 2,"v_fem_head.geo/geo_head_v_asym_standard","!face_skin_v_fem_head_10","none","None",2039583,14935011,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,"Head","halfhelmets" 3,"smooth","skin_bare","none","None",2039583,14935011,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,"upper_body","Jackets" 4,"smooth","combat_01","!boot_v_thin_stripe_02","None",2039583,14935011,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,"lower_body","tuckedin" 5,"none","none","none","None",2039583,14935011,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,"upper_body","Jackets" 6,"halfhelm_round","halfhelm_round_01","helm_stripes_1","None",2039583,14935011,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,"Head","halfhelmets" 7,"none","none","none","None",0,0,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,0,0 8,"v_fem_eyes.geo/geo_eyes_mirror_glasses_03","!x_mirror_glasses","none","None",2039583,14935011,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,"Head","halfhelmets" 9,"none","none","none","None",2039583,14935011,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,"upper_body","Jackets" 10,"none","none","none","None",2039583,14935011,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,"upper_body","Jackets" 11,"none","none","none","None",0,0,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,0,0 12,"none","none","none","None",2039583,14935011,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"weapons/custom_pulserifle/fem_pulserifle_villainbase.fx",2039583,14935011,"Weapons","Weapons" 13,"none","none","none","None",2039583,14935011,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,"Head","halfhelmets" 14,"none","none","none","None",0,0,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,0,0 15,"none","none","none","None",0,0,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,0,0 16,"none","none","none","None",0,0,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,0,0 17,"none","none","none","None",0,0,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,0,0 18,"none","none","none","None",0,0,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,0,0 19,"none","none","none","None",0,0,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,0,0 20,"motorcycle","japan_01a","japan_01b","None",2039583,14935011,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,"upper_body","Jackets" 21,"motorcycle_long","japan_long_01a","japan_long_01b","None",2039583,14935011,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,"upper_body","Jackets" 22,"none","none","none","None",2039583,14935011,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,"Head","halfhelmets" 23,"none","none","none","None",2039583,14935011,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,"Head","halfhelmets" 24,"none","none","none","None",0,0,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,0,0 25,"none","none","none","None",0,0,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,0,0 26,"none","none","none","None",0,0,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,0,0 27,"none","none","none","None",2039583,14935011,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,"lower_body","tuckedin" 28,"none","none","none","None",0,0,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,0,0 29,"none","none","none","None",0,0,1,-6573313,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,"none",0,0,0,0