diff --git a/Data-1.13/JA2_DG_Merc.txt b/Data-1.13/JA2_DG_Merc.txt deleted file mode 100644 index 019251a1f..000000000 --- a/Data-1.13/JA2_DG_Merc.txt +++ /dev/null @@ -1,19 +0,0 @@ -** AIM ** -Spike -Kelly -Boss -Spam -Snake -Bob -Jimmy -Vinny - -** MERC ** -Postie - - -Installation: -Just copy/paste the whole files in your "Data-1.13" folder and overwrite any existing files - -Discussion: -http://www.ja-galaxy-forum.com/board/ubbthreads.php?ubb=showflat&Number=298288#Post298288 \ No newline at end of file diff --git a/Docs/Additional 1.13 Documents.txt b/Docs/Additional 1.13 Documents.txt new file mode 100644 index 000000000..2868dbee0 --- /dev/null +++ b/Docs/Additional 1.13 Documents.txt @@ -0,0 +1,2 @@ +You can find additional 1.13 Documents (Modding-Examples, Tools, ...) which are useful for 1.13 Modders in the following SVN Location: +https://ja2svn.dyndns.org/source/ja2/trunk/Documents diff --git a/Download JA2UB v1.13 User Campagins - ReadMe.txt b/Docs/Additional JA2 1.13 UB Campaigns/Download JA2UB v1.13 User Campagins - ReadMe.txt similarity index 100% rename from Download JA2UB v1.13 User Campagins - ReadMe.txt rename to Docs/Additional JA2 1.13 UB Campaigns/Download JA2UB v1.13 User Campagins - ReadMe.txt diff --git a/Docs/Additional Merc Examples.zip b/Docs/Additional Merc Examples.zip deleted file mode 100644 index a4821bdbc..000000000 Binary files a/Docs/Additional Merc Examples.zip and /dev/null differ diff --git a/Docs/Additional Merchants Modifications.txt b/Docs/Additional Merchants Modifications.txt deleted file mode 100644 index 54ea793c0..000000000 --- a/Docs/Additional Merchants Modifications.txt +++ /dev/null @@ -1,96 +0,0 @@ -Right now their merchandise selection is configurable but how they actually select from the list, -how much money they have, and a few other things are hard coded. -This is actually quite easy to do and I was nearly done with it but I'm not sure where I stashed the changes. - ------------------------------------- - -In doing this I am thinking of just adding some new stuff into the existing .XML files. -If the new stuff doesn't exist the current built-in behavior would be the default. -So one of the XXXXInventory.XML files would in the future look something like this (Using Tony as an example): - -- setting Tony to be a repair guy probably will not work -0 -91 - ----------------------- - -A few notes: -0) You MUST specify ARMSDEALERINDEX if you use any other field. -1) You don't have to update any of the dealer inventory files as they all default to the existing behavior. You can do things piecemeal, too. So if you just want to change Tony's max cash you can change just that. -2) You can't change dealer basic functions (yet). So Tony will buy and sell and not repair things and so on. -3) I don't know what effect changing those ARMS_DEALER_XXXX flags have. Use at your own peril! -4) Changing ARMSDEALERINDEX and SHOPKEEPERID will probably break things in the game. Again, change at your own peril! - -The arms dealer indices are: ProfileID - -0: Tony 91 -1: Franz Hinkle 124 -2: Keith Hemps 147 -3: Jake Cameron 113 -4: Gabby Mulnick 104 -5: Devin Connell 61 -6: Howard Filmore 125 -7: Sam Rozen 126 -8: Frank 92 -9: Bar Bro 1 151 -10: Bar Bro 2 152 -11: Bar Bro 3 153 -12: Bar Bro 4 154 -13: Micky O'Brien 96 -14: Arnie Brunzwell 128 -15: Fredo 130 -16: Perko 74 -17: Elgin 112 -18: Manny 155 - ------------------ - -You edit one of the xxxxxInventory.xml files as I show above. -In your case to just change the dealer's cash. So to increase Tony's daily cash to $45,000 you would do: - - - - - 0 - - 45000 - - 45000 - 45000 - 0 - - - - - ...etc. as usual... - ----------------- - - - 2 - - 10000 - - 10000 - 10000 - 0 - - - - -That would change Keith to have 10,000 to start and $10,000 a day - ------------------------ - -. Initial is what it is set to at start of game. -. Retained is the % of the previous days $$$ that they retain. -. Increment is what is added each day. -. Maximum is the most they will keep after incrementing. - -I did it that way so you could have a merchant slowly build up a fairly significant amount: set init and increment small with drain at some no-zero value plus max large -Or maybe someone who keeps a lot of cash after sales but it slowly drains away. - --------------------- - - - diff --git a/Docs/Additional_Female_IMPs.zip b/Docs/Additional_Female_IMPs.zip deleted file mode 100644 index f0835f638..000000000 Binary files a/Docs/Additional_Female_IMPs.zip and /dev/null differ diff --git a/Docs/Briefing Room Example 1.zip b/Docs/Briefing Room Example 1.zip deleted file mode 100644 index 1addf7826..000000000 Binary files a/Docs/Briefing Room Example 1.zip and /dev/null differ diff --git a/Docs/Briefing Room Example 2.zip b/Docs/Briefing Room Example 2.zip deleted file mode 100644 index 88dc10d6d..000000000 Binary files a/Docs/Briefing Room Example 2.zip and /dev/null differ diff --git a/Docs/CivGroupNames_MapEditor.png b/Docs/CivGroupNames_MapEditor.png deleted file mode 100644 index c2e98e490..000000000 Binary files a/Docs/CivGroupNames_MapEditor.png and /dev/null differ diff --git a/Docs/CivGroupNames_ReadMe.txt b/Docs/CivGroupNames_ReadMe.txt deleted file mode 100644 index 9f4bfb8c6..000000000 --- a/Docs/CivGroupNames_ReadMe.txt +++ /dev/null @@ -1,296 +0,0 @@ -Version 0.1 by Jazz - -You can alter/define more groups, than the 14 defined JA2 Vanilla groups (Rebel, Kingpin, Beggars, ...) -in the file TableData\CivGroupNames. -The CIV-Quote files (CIV*.edt) are stored in the Data\NPCDATA folder. - -The files (civ40.edt to civ519.edt) are optional files for new groups (which are not used by the default 1.13). -The game random texts from 15 records defined in the edt file. - ----------------------------------------------------------------------------------------- -Here you have the CIV EDT mapping to the groups from TableData\CivGroupNames. - - -Friendly edt | Enemies edt | Group | - NONE -civ20.edt civ21.edt REBEL -civ18.edt civ19.edt KINGPIN - SANMONA ARMS - ANGELS - BEGGARS - TOURISTS - ALMA MIL - DOCTORS - COUPLE1 -civ16.edt civ17.edt HICKS - WARDEN - JUNKYARD -civ33.edt civ34.edt FACTORY KIDS - QUEENS -civ40.edt civ41.edt Empty Slot 15 -civ42.edt civ43.edt Empty Slot 16 -civ44.edt civ45.edt Empty Slot 17 -civ46.edt civ47.edt Empty Slot 18 -civ48.edt civ49.edt Empty Slot 19 - -civ50.edt civ51.edt Empty Slot 20 -civ52.edt civ53.edt Empty Slot 21 -civ54.edt civ55.edt Empty Slot 22 -civ56.edt civ57.edt Empty Slot 23 -civ58.edt civ59.edt Empty Slot 24 -civ60.edt civ61.edt Empty Slot 25 -civ62.edt civ63.edt Empty Slot 26 -civ64.edt civ65.edt Empty Slot 27 -civ66.edt civ67.edt Empty Slot 28 -civ68.edt civ69.edt Empty Slot 29 - -civ70.edt civ71.edt Empty Slot 30 -civ72.edt civ73.edt Empty Slot 31 -civ74.edt civ75.edt Empty Slot 32 -civ76.edt civ77.edt Empty Slot 33 -civ78.edt civ79.edt Empty Slot 34 -civ80.edt civ81.edt Empty Slot 35 -civ82.edt civ83.edt Empty Slot 36 -civ84.edt civ85.edt Empty Slot 37 -civ86.edt civ87.edt Empty Slot 38 -civ88.edt civ89.edt Empty Slot 39 - -civ90.edt civ91.edt Empty Slot 40 -civ92.edt civ93.edt Empty Slot 41 -civ94.edt civ95.edt Empty Slot 42 -civ96.edt civ97.edt Empty Slot 43 -civ98.edt civ99.edt Empty Slot 44 -civ100.edt civ101.edt Empty Slot 45 -civ102.edt civ103.edt Empty Slot 46 -civ104.edt civ105.edt Empty Slot 47 -civ106.edt civ107.edt Empty Slot 48 -civ108.edt civ109.edt Empty Slot 49 - -civ110.edt civ111.edt Empty Slot 50 -civ112.edt civ113.edt Empty Slot 51 -civ114.edt civ115.edt Empty Slot 52 -civ116.edt civ117.edt Empty Slot 53 -civ118.edt civ119.edt Empty Slot 54 -civ120.edt civ121.edt Empty Slot 55 -civ122.edt civ123.edt Empty Slot 56 -civ124.edt civ125.edt Empty Slot 57 -civ126.edt civ127.edt Empty Slot 58 -civ128.edt civ129.edt Empty Slot 59 - -civ130.edt civ131.edt Empty Slot 60 -civ132.edt civ133.edt Empty Slot 61 -civ134.edt civ135.edt Empty Slot 62 -civ136.edt civ137.edt Empty Slot 63 -civ138.edt civ139.edt Empty Slot 64 -civ140.edt civ141.edt Empty Slot 65 -civ142.edt civ143.edt Empty Slot 66 -civ144.edt civ145.edt Empty Slot 67 -civ146.edt civ147.edt Empty Slot 68 -civ148.edt civ149.edt Empty Slot 69 - -civ150.edt civ151.edt Empty Slot 70 -civ152.edt civ153.edt Empty Slot 71 -civ154.edt civ155.edt Empty Slot 72 -civ156.edt civ157.edt Empty Slot 73 -civ158.edt civ159.edt Empty Slot 74 -civ160.edt civ161.edt Empty Slot 75 -civ162.edt civ163.edt Empty Slot 76 -civ164.edt civ165.edt Empty Slot 77 -civ166.edt civ167.edt Empty Slot 78 -civ168.edt civ169.edt Empty Slot 79 - -civ170.edt civ171.edt Empty Slot 80 -civ172.edt civ173.edt Empty Slot 81 -civ174.edt civ175.edt Empty Slot 82 -civ176.edt civ177.edt Empty Slot 83 -civ178.edt civ179.edt Empty Slot 84 -civ180.edt civ181.edt Empty Slot 85 -civ182.edt civ183.edt Empty Slot 86 -civ184.edt civ185.edt Empty Slot 87 -civ186.edt civ187.edt Empty Slot 88 -civ188.edt civ189.edt Empty Slot 89 - -civ190.edt civ191.edt Empty Slot 90 -civ192.edt civ193.edt Empty Slot 91 -civ194.edt civ195.edt Empty Slot 92 -civ196.edt civ197.edt Empty Slot 93 -civ198.edt civ199.edt Empty Slot 94 -civ200.edt civ201.edt Empty Slot 95 -civ202.edt civ203.edt Empty Slot 96 -civ204.edt civ205.edt Empty Slot 97 -civ206.edt civ207.edt Empty Slot 98 -civ208.edt civ209.edt Empty Slot 99 - -civ210.edt civ211.edt Empty Slot 100 -civ212.edt civ213.edt Empty Slot 101 -civ214.edt civ215.edt Empty Slot 102 -civ216.edt civ217.edt Empty Slot 103 -civ218.edt civ219.edt Empty Slot 104 -civ220.edt civ221.edt Empty Slot 105 -civ222.edt civ223.edt Empty Slot 106 -civ224.edt civ225.edt Empty Slot 107 -civ226.edt civ227.edt Empty Slot 108 -civ228.edt civ229.edt Empty Slot 109 - -civ230.edt civ231.edt Empty Slot 110 -civ232.edt civ233.edt Empty Slot 111 -civ234.edt civ235.edt Empty Slot 112 -civ236.edt civ237.edt Empty Slot 113 -civ238.edt civ239.edt Empty Slot 114 -civ240.edt civ241.edt Empty Slot 115 -civ242.edt civ243.edt Empty Slot 116 -civ244.edt civ245.edt Empty Slot 117 -civ246.edt civ247.edt Empty Slot 118 -civ248.edt civ249.edt Empty Slot 119 - -civ250.edt civ251.edt Empty Slot 120 -civ252.edt civ253.edt Empty Slot 121 -civ254.edt civ255.edt Empty Slot 122 -civ256.edt civ257.edt Empty Slot 123 -civ258.edt civ259.edt Empty Slot 124 -civ260.edt civ261.edt Empty Slot 125 -civ262.edt civ263.edt Empty Slot 126 -civ264.edt civ265.edt Empty Slot 127 -civ266.edt civ267.edt Empty Slot 128 -civ268.edt civ269.edt Empty Slot 129 - -civ270.edt civ271.edt Empty Slot 130 -civ272.edt civ273.edt Empty Slot 131 -civ274.edt civ275.edt Empty Slot 132 -civ276.edt civ277.edt Empty Slot 133 -civ278.edt civ279.edt Empty Slot 134 -civ280.edt civ281.edt Empty Slot 135 -civ282.edt civ283.edt Empty Slot 136 -civ284.edt civ285.edt Empty Slot 137 -civ286.edt civ287.edt Empty Slot 138 -civ288.edt civ289.edt Empty Slot 139 - -civ290.edt civ291.edt Empty Slot 140 -civ292.edt civ293.edt Empty Slot 141 -civ294.edt civ295.edt Empty Slot 142 -civ296.edt civ297.edt Empty Slot 143 -civ298.edt civ299.edt Empty Slot 144 -civ300.edt civ301.edt Empty Slot 145 -civ302.edt civ303.edt Empty Slot 146 -civ304.edt civ305.edt Empty Slot 147 -civ306.edt civ307.edt Empty Slot 148 -civ308.edt civ309.edt Empty Slot 149 - -civ310.edt civ311.edt Empty Slot 150 -civ312.edt civ313.edt Empty Slot 151 -civ314.edt civ315.edt Empty Slot 152 -civ316.edt civ317.edt Empty Slot 153 -civ318.edt civ319.edt Empty Slot 154 -civ320.edt civ321.edt Empty Slot 155 -civ322.edt civ323.edt Empty Slot 156 -civ324.edt civ325.edt Empty Slot 157 -civ326.edt civ327.edt Empty Slot 158 -civ328.edt civ329.edt Empty Slot 159 - -civ330.edt civ331.edt Empty Slot 160 -civ332.edt civ333.edt Empty Slot 161 -civ334.edt civ335.edt Empty Slot 162 -civ336.edt civ337.edt Empty Slot 163 -civ338.edt civ339.edt Empty Slot 164 -civ340.edt civ341.edt Empty Slot 165 -civ342.edt civ343.edt Empty Slot 166 -civ344.edt civ345.edt Empty Slot 167 -civ346.edt civ347.edt Empty Slot 168 -civ348.edt civ349.edt Empty Slot 169 - -civ350.edt civ351.edt Empty Slot 170 -civ352.edt civ353.edt Empty Slot 171 -civ354.edt civ355.edt Empty Slot 172 -civ356.edt civ357.edt Empty Slot 173 -civ358.edt civ359.edt Empty Slot 174 -civ360.edt civ361.edt Empty Slot 175 -civ362.edt civ363.edt Empty Slot 176 -civ364.edt civ365.edt Empty Slot 177 -civ366.edt civ367.edt Empty Slot 178 -civ368.edt civ369.edt Empty Slot 179 - -civ370.edt civ371.edt Empty Slot 180 -civ372.edt civ373.edt Empty Slot 181 -civ374.edt civ375.edt Empty Slot 182 -civ376.edt civ377.edt Empty Slot 183 -civ378.edt civ379.edt Empty Slot 184 -civ380.edt civ381.edt Empty Slot 185 -civ382.edt civ383.edt Empty Slot 186 -civ384.edt civ385.edt Empty Slot 187 -civ386.edt civ387.edt Empty Slot 188 -civ388.edt civ389.edt Empty Slot 189 - -civ390.edt civ391.edt Empty Slot 190 -civ392.edt civ393.edt Empty Slot 191 -civ394.edt civ395.edt Empty Slot 192 -civ396.edt civ397.edt Empty Slot 193 -civ398.edt civ399.edt Empty Slot 194 -civ400.edt civ401.edt Empty Slot 195 -civ402.edt civ403.edt Empty Slot 196 -civ404.edt civ405.edt Empty Slot 197 -civ406.edt civ407.edt Empty Slot 198 -civ408.edt civ409.edt Empty Slot 199 - -civ410.edt civ411.edt Empty Slot 200 -civ412.edt civ413.edt Empty Slot 201 -civ414.edt civ415.edt Empty Slot 202 -civ416.edt civ417.edt Empty Slot 203 -civ418.edt civ419.edt Empty Slot 204 -civ420.edt civ421.edt Empty Slot 205 -civ422.edt civ423.edt Empty Slot 206 -civ424.edt civ425.edt Empty Slot 207 -civ426.edt civ427.edt Empty Slot 208 -civ428.edt civ429.edt Empty Slot 209 - -civ430.edt civ431.edt Empty Slot 210 -civ432.edt civ433.edt Empty Slot 211 -civ434.edt civ435.edt Empty Slot 212 -civ436.edt civ437.edt Empty Slot 213 -civ438.edt civ439.edt Empty Slot 214 -civ440.edt civ441.edt Empty Slot 215 -civ442.edt civ443.edt Empty Slot 216 -civ444.edt civ445.edt Empty Slot 217 -civ446.edt civ447.edt Empty Slot 218 -civ448.edt civ449.edt Empty Slot 219 - -civ450.edt civ451.edt Empty Slot 220 -civ452.edt civ453.edt Empty Slot 221 -civ454.edt civ455.edt Empty Slot 222 -civ456.edt civ457.edt Empty Slot 223 -civ458.edt civ459.edt Empty Slot 224 -civ460.edt civ461.edt Empty Slot 225 -civ462.edt civ463.edt Empty Slot 226 -civ464.edt civ465.edt Empty Slot 227 -civ466.edt civ467.edt Empty Slot 228 -civ468.edt civ469.edt Empty Slot 229 - -civ470.edt civ471.edt Empty Slot 230 -civ472.edt civ473.edt Empty Slot 231 -civ474.edt civ475.edt Empty Slot 232 -civ476.edt civ477.edt Empty Slot 233 -civ478.edt civ479.edt Empty Slot 234 -civ480.edt civ481.edt Empty Slot 235 -civ482.edt civ483.edt Empty Slot 236 -civ484.edt civ485.edt Empty Slot 237 -civ486.edt civ487.edt Empty Slot 238 -civ488.edt civ489.edt Empty Slot 239 - -civ490.edt civ491.edt Empty Slot 240 -civ492.edt civ493.edt Empty Slot 241 -civ494.edt civ495.edt Empty Slot 242 -civ496.edt civ497.edt Empty Slot 243 -civ498.edt civ499.edt Empty Slot 244 -civ500.edt civ501.edt Empty Slot 245 -civ502.edt civ503.edt Empty Slot 246 -civ504.edt civ505.edt Empty Slot 247 -civ506.edt civ507.edt Empty Slot 248 -civ508.edt civ509.edt Empty Slot 249 - -civ510.edt civ512.edt Empty Slot 250 -civ513.edt civ514.edt Empty Slot 251 -civ514.edt civ515.edt Empty Slot 252 -civ516.edt civ517.edt Empty Slot 253 -civ518.edt civ519.edt Empty Slot 254 - - - diff --git a/Docs/Cover Display & Mines Display Hotkeys.txt b/Docs/Cover Display & Mines Display Hotkeys.txt deleted file mode 100644 index bb052a624..000000000 --- a/Docs/Cover Display & Mines Display Hotkeys.txt +++ /dev/null @@ -1,18 +0,0 @@ -** COVER DISPLAY ** -- Show Merc View -o END: only display as long as the hotkey is pressed -o SHIFT + V: toggle permanent display on/off - -- Show Enemy View -o DELETE: only display as long as the hotkey is pressed -o SHIFT + C: toggle permanent display on/off - -** BOMBS / MINES / TRIPWIRES ** -- Display bombs/mines/tripwires planted by your team - Red is for bomb/mine, yellow is for tripwire and orange is for both at the same tile. -o ALT + END: only display as long as the hotkey is pressed -o ALT + SHIFT + V: toggle permanent display on/off - -- Display ALL (also enemy) planted BOMBS / MINES / TRIPWIRE when the selected merc has a metal detector in his hand -o ALT + DEL only display as long as the hotkey is pressed -o ALT + Shift + C toggle permanent display on/off diff --git a/Docs/Create New Faces.txt b/Docs/Create New Faces.txt deleted file mode 100644 index 34f17cf75..000000000 --- a/Docs/Create New Faces.txt +++ /dev/null @@ -1,41 +0,0 @@ -*** A nice face guide by Kazuya *** - -Well, two programs, that you certanly need, when you want to seriously work with sti files are STI Edit and GRV. -you can get them here: -http://kermi.pp.fi/JA_2/Modding_Tools/ - -If you want to edit an existing portrait, the best thing would be to open the sti file in STI Edit and export it to bmp. Then you can edit the face with any graphics program and reimport it to sti later. -Keep in mind that there are different faces for different types of characters. -Those are the following face files: - -The bigface files. Can be found in the ".../data/faces/bigfaces/" folder. -Their dimensions are 106x122. The files name is a two or three digits number (the slot index number). They are used in the mercenaries overvie screen in the laptop as well as in the AIM and MERC webpage. This file is just one picture with no animations. - -The NPC files. Can be found in the ".../data/faces/" folder. -Their dimensions are 90x100. The files name always starts with a "B" followed by the slot index number. They are used for characters that are either NPC or ingame recruitable characters. They appear whenever you talk to a character in the sector. AIM and MERC mercenaries, don't need this file, because they are all hired via the webpages. This file contains the entire face plus seven smaller subsurface for the animation (first four for the eyes and the last three for the mouth) - -Mercenaries files. Can be found in the ".../data/faces/" folder. -Their dimensions are 48x43. They are in the same folder as the NPC files, but their name is only their index slot number. All characters that can be hired or escorted, need this file. These portraites are used in various places for your mercenaries, most notably in the mercenary panel in the tactical screen. Like the NPC files, this files contains the face and the animation subsurfaces. - -small mercenary files. Can be found in the ".../data/faces/65face" folder. -Dimension is 31x27. Name is the corresponding index slot again. The small faces are used in the panel, when a battle is auto resolved. Although the original face files from JA2 all contain animation subsurface, they are not used in the game. - -very small files. Can be found in the ".../data/faces/33face" folder. -Dimension is 15x14. I probably don't need to mention what they are the named like. Don't ask what they are used for, every. Seriously I'm not kidding. Just don't do it. - -All other kind of face files you might find, have been put there for entertainment purposes only by the original JA2 developers. - - - -When you convert a new portrait to sti, keep in mind that the sti files use a reduced colour palette with a maximum of 256 colours, so reduce the colours of your new portrait, before you attempt to convert them. STI Edit and GRV don't do a good job, when handling files with more colours. - - -If you merely want to change portraits with new ones from the user-made portraits thread, then you have several options. The easiest one, that will always work, would be to simply go to your JA2 data folder and paste the files in the correct folders (see above) and rename the files to the cooresponding index slot number you want to change. You can find out the correct number by starting poredit.exe in the /data/binarydata/ folder. You then might need to change the face coordinates in proedit. You won't be able to change the coordinates for the IMPs and you wont be able to change the mercenary portrait coordinates for RPCs this way. - -If you have a recent version of 1.13, you can change the coordinates in the mercprofile.xml in the /data-1.13/tabledata folder (the slotindex number is here called uiIndex) - -An even more sophisticated way, would be to load your new faces over the old ones via vfs, but that's another topic. - -The eyes and mouth coordinates are the position of the top left pixel of the eyes and mouth subsurface, in the original face. Even the slightest deviation of only one pixel will cause the animation to look strange. - - diff --git a/Docs/Create_ja2Set.dat.xml_from_ja2set.dat.zip b/Docs/Create_ja2Set.dat.xml_from_ja2set.dat.zip deleted file mode 100644 index 8f2ff26c1..000000000 Binary files a/Docs/Create_ja2Set.dat.xml_from_ja2set.dat.zip and /dev/null differ diff --git a/Docs/Design Document - MOLLE.txt b/Docs/Design Document - MOLLE.txt deleted file mode 100644 index 54208cc19..000000000 --- a/Docs/Design Document - MOLLE.txt +++ /dev/null @@ -1,46 +0,0 @@ -Design Document MOLLE - -###Principles### - -For each LBE item, there's a definition which pockets may be changed and how much space the new pockets may take up in total. -For each Pocket, there's a definition how much space it takes up on a carrier. - -If there's a free pocket slot and enough space -> attach item and enable pocket. - -E.G.: -A Carrier leg rig may have an available Volume of 25 and 5 available pockets (=5 attachmentslots) -An AR-Mag pocket has a volume of 8 -A Small Utility pocket has a volume of 5 - -You may add 3 AR-Mag pockets to the Carrier -OR -5 SU pockets -OR -1 AR and 3 SU -OR -2 AR and 2 SU -BUT -not 4 AR, as their total volume would be 32 - -###Tags### - -===Pockets.xml=== - - How large is this pocket? This is used internally to check if a carrier can't fit anymore pockets, even if there are empty slots. - -===LoadBearingEquipment.xml=== - - How much space is there to add pockets? - - - A bitfield that determines if a free spot can be used at all (limits the number of slots on smaller carriers) - -===AttachmentSlots.xml=== - - The pocket that this slot changes - Range 1-12 - Corresponds to PocketIndex1...12 - -===Items.xml=== -16777216 - Not a new tag, but this AC denotes pouch attachments and accepts duplicates like Grenade and Rocket do \ No newline at end of file diff --git a/Docs/Externalized Music Example.zip b/Docs/Externalized Music Example.zip deleted file mode 100644 index 6d15b75c4..000000000 Binary files a/Docs/Externalized Music Example.zip and /dev/null differ diff --git a/Docs/Externalized Vehicles Example.zip b/Docs/Externalized Vehicles Example.zip deleted file mode 100644 index 853644a55..000000000 Binary files a/Docs/Externalized Vehicles Example.zip and /dev/null differ diff --git a/Docs/Extra Sector Items.txt b/Docs/Extra Sector Items.txt deleted file mode 100644 index 0778a79b1..000000000 --- a/Docs/Extra Sector Items.txt +++ /dev/null @@ -1,56 +0,0 @@ -This is an old 1.13 Feature which seems to be hidden for Modders long time. -This feature has been reworked by Headrock - -------------------------- -XML filename format: -------------------------- - -\tabledata\Map\[SectorGrid]_[ZLevel]_ExtraItems_[DifficultyName].xml - -Examples: -\TableData\Map\A9_0_ExtraItems_Novice.xml -> for entering the A9 surface sector (Omerta) when playing novice difficulty. -\TableData\Map\D13_1_ExtraItems_Expert.xml -> for entering the first level of the Drassen Mine on Expert difficulty. - -The following "DifficultyNames" are valid: - -- Novice -- Experienced -- Expert -- Insane - - -------------------------- -XML content format: -------------------------- - - - - # - # - # - # - # - - - - -------------------------- -XML notes: -------------------------- - -- For clarity, uiIndex should always come first. However, I've set it so that the position of uiIndex - in the list is not relevant (so long as it exists). Most XMLs work that way, and I think that's fine. -- All other tags can come in any order. -- Quantity can be set to any number, but will only create an item (or more) if above 0. - Quantity of 0 or less will not crash the game, it simply won't create items. - If this tag is completely omitted, the game will create one item by default. -- Condition can be set to 1-100. If it is set outside these values, the item will not be created - (the game won't crash). If this tag is completely omitted, the item will have 100 condition. -- Gridno can be set to any positive number, including 0. However, if it is out of bounds, - the game will generate a screen message that it could not place the item, but will not crash the game. - Obviously, there is no rational default for this tag, so it must always be included. -- Visible can be set to 0 or 1. When 1, will create an item that is visible from the moment you enter the map. - Otherwise, a merc must spot the item by simple sight, like all other items on the map. - If this tag is omitted, the item is created with 0 visibility by default (must be spotted). - - diff --git a/Docs/JA2 UB Tilesets.png b/Docs/JA2 UB Tilesets.png deleted file mode 100644 index 780499e3e..000000000 Binary files a/Docs/JA2 UB Tilesets.png and /dev/null differ diff --git a/Docs/JA2 UB Tilesets.txt b/Docs/JA2 UB Tilesets.txt deleted file mode 100644 index 41b64200c..000000000 --- a/Docs/JA2 UB Tilesets.txt +++ /dev/null @@ -1,27 +0,0 @@ -JA2 UB tilesets for JA2. -Snap - -This package contains files that are necessary to import maps using JA2 UB -tilesets #50-59 into JA2. - -Installation: Unpack the archive into the JA2 main directory. The files will be -unpacked into Data-1.13 subdirectory. If you are using a different custom data -directory, you need to move all of the included files and subdirectories there: - -Binarydata\ja2set.dat -Tilesets\50 -... -Tilesets\59 - -Notes: - -This add-on will only work in JA2 1.13, or any version of JA2 that has been -modified to accept tilesets with numbers 50 or higher. Alternatively, the UB -tilesets can be used to replace existing JA2 tilesets (for that, ja2set.dat -needs to be modified accordingly). - -Maps created with the UB editor or original UB campaign maps need to be -converted to JA2 format first. - -In tilesets 53-59 snow-covered graphics, such as sandbags, were replaced with -more appropriate JA2 graphics. diff --git a/Docs/JA2_Patch112.txt b/Docs/JA2_Patch112.txt deleted file mode 100644 index da751c844..000000000 --- a/Docs/JA2_Patch112.txt +++ /dev/null @@ -1,27 +0,0 @@ -Changes in 1.12: -- fixed the history record added when you give Carmen one of the terrorist's heads -- Shank will no longer automatically be added to your party if you talk to him long enough -- fixed problems with MERCs not being hireable if you withheld money so long that they quit, then - you paid your balance -- fixed problem if at the last stage of IMP character creation (confirming payment) you hit 'cancel' - (which resulted in no custom character being created, but at the same time preventing you from - creating another) -- prevented player from switching to the map screen if a list of items to pick up is being displayed -- fixed problem with the code to handle mercs surrendering to the enemy that would occur if you had - already played through the first surrender situation (Alma prison) and then had more mercs - surrender (which is supposed to trigger the interrogation scene with Deidranna, Eliot, and Joe) -- fixed history record for when characters die -- fixed the infamous "burst bug" which prevented some bullets from hitting a character if they - were standing when hit - -Changes in 1.11: -- fixed bug in which breath damage could cause values to wrap from very low to high values. (Typically - seen with stun grenades – the player throws a stun grenade at an enemy who is knocked down, but gets - up the next turn raring to go.) -- fixed a bug that would temporarily disable interrupts -- fixed two bugs related to stealing a weapon from an enemy, that would cause the hourglass cursor to appear - and not go away -- fixed a bug in which the chance to hit someone was incorrectly calculated when aiming at a specific - body part. A character that had partial cover behind the edge of a roof (e.g. only their head visible) - might have been impossible to hit due to a bullet-path check which was incorrectly - targeted at their chest. diff --git a/Docs/Hotkeys 1.13.pdf b/Docs/Manuals/JA2_113_Hotkeys.pdf similarity index 100% rename from Docs/Hotkeys 1.13.pdf rename to Docs/Manuals/JA2_113_Hotkeys.pdf diff --git a/Docs/Manuals/JA2_113_Map_Editor.pdf b/Docs/Manuals/JA2_113_Map_Editor.pdf new file mode 100644 index 000000000..5cd4a6aed Binary files /dev/null and b/Docs/Manuals/JA2_113_Map_Editor.pdf differ diff --git a/Docs/Mercenary Spreadsheet.txt b/Docs/Manuals/JA2_113_Mercenary_Spreadsheet.txt similarity index 100% rename from Docs/Mercenary Spreadsheet.txt rename to Docs/Manuals/JA2_113_Mercenary_Spreadsheet.txt diff --git a/Docs/Manuals/JA2_Manual.pdf b/Docs/Manuals/JA2_Manual.pdf new file mode 100644 index 000000000..805c48797 Binary files /dev/null and b/Docs/Manuals/JA2_Manual.pdf differ diff --git a/Docs/Manuals/JA2_Manual_Gold_Pack.pdf b/Docs/Manuals/JA2_Manual_Gold_Pack.pdf new file mode 100644 index 000000000..59a835e7f Binary files /dev/null and b/Docs/Manuals/JA2_Manual_Gold_Pack.pdf differ diff --git a/Docs/Manuals/JA2_Map_Editor_Tutorial.pdf b/Docs/Manuals/JA2_Map_Editor_Tutorial.pdf new file mode 100644 index 000000000..2ce558449 Binary files /dev/null and b/Docs/Manuals/JA2_Map_Editor_Tutorial.pdf differ diff --git a/Docs/Merge INI Files.txt b/Docs/Merge INI Files.txt deleted file mode 100644 index bbb27b081..000000000 --- a/Docs/Merge INI Files.txt +++ /dev/null @@ -1,16 +0,0 @@ -Per default, merging (overwriting existing property values + adding missing ones) of INI files is disabled. -BUt you can enable it for specific INI files inside your ja2.ini. - -Just put the property "MERGE_INI_FILES" in your ja2.ini. - -For example, if you want to enable merging for the files "Ja2_Options.ini" and "Ja2Settings.ini" just enter -the following line in your ja2.ini file: - -MERGE_INI_FILES = Ja2_Options.ini, Ja2Settings.ini - -Now you can put your custom Ja2_Options.ini and Ja2Settings.ini inside your -"Profiles\UserProfile_JA2113" folder. Please note, you only need to put the custom properties (that differ from the base 1.13 INI) plus the section name -inside your custom INI-Files. That's all. - - - diff --git a/Docs/Multiplayer_Changelog.txt b/Docs/Multiplayer_Changelog.txt deleted file mode 100644 index 752130dac..000000000 --- a/Docs/Multiplayer_Changelog.txt +++ /dev/null @@ -1,152 +0,0 @@ -***************************************************** -** JA2 1.13 Multiplayer - Version 1.5 - 01/11/2009 ** -***************************************************** - -Bugs Fixed -========== -In a Deathmatch and Team-Deathmatch game each client should start per Default in a separate map edge, if not RANDOMISE STARTING EDGE is choosen by the server -In a CO-OP game, no teams should be selectable ("N/A") -In a Team-Deathmatch game there must be at least 2 different teams, before the server can start on “START GAME” -Fixed checking of "Sync folder". On some PCs, the game reported that the "Sync folder" is missing, even if it exists -Fixed CTD when throwing item (grenade, rock, throwing knife, ...) in tactical when item description box is open -Fixed synchronisation of doors -Removed the buggy sync of the turnbar on an interrupt on the remote clients -Client receives files again from server after restarting a new game (from the scoreboard) - -New Features -============ -Synced Explosives (Grenades, Mortars, Mines, ...) and destruction of objects -Disarming and stealing of Explosives placed in world -Reenabled AI use of explosives / mortars etc in MP game -Reenabled 6 merc / team in MP game -Reenabled old pathing for AI instead of A* -Increased MAX_GARRSION_GROUPS from 100 to 200 -Added customizable Multiplayer Teams (TableData\Multiplayer\RandomTeams.xml) if choosen "RANDOM MERCS". If xml file does not exists, "hardcoded" mercs will be taken - - - -***************************************************** -** JA2 1.13 Multiplayer - Version 1.4 - 30/08/2009 ** -***************************************************** - -Bugs Fixed -========== -Fixed randomly occuring CTD after hiring a merc -Fixed download progress bar bugging out when another client connects and starts downloading - - - -***************************************************** -** JA2 1.13 Multiplayer - Version 1.3 - 17/08/2009 ** -***************************************************** - -Bugs Fixed -========== -Assertion Error, if user clicks in an empty Textbox field in the Host or Join screen -Reset "fast loading of WWW pages in laptop" when quitting a MP game and then start a SP game -Fixed saving/loading of MP games -If server selected NIV, still OIV was initialized on the other clients, so merc starting gear was read from prof.dat instead of mercstartinggear.xml -Game ends (goes to scoreboard), after a team is wiped out in a COOP game and another team is still present -Fixed CTD that could occur when killing an enemy (merc) with fallback animation -Fixed CTD on server when bullet hits window - -New Features -============ -Synchronized "Cutting Fences" -New starting "Center" position for a team -Synchronized dismiss of mercs -Instead of random sectors set fixed sectors in a MP game: -o Skyrider: 15/B -o Madlab: 7/H -o Micky: 9/G -o Bob & Gabby: They do not show up, because MP game is always REALISITIC game mode! -Disable "AIM" and "MERC" Bookmark if server selected "Random Mercs" -Disabled "Bobby Ray" Bookmark if server has not selected "Allow Bobby Ray" -Disabled the chance of alternate sectors no matter what is defined in the file "TableData/Map/AltSectors.xml" -Disabled "Dismiss" button in the menu, if server has chosen RANDOM MERC (because hiring new mercs is not allowed with RANDOM MERC) -Disabled all the "Contracts" renew button in the menu in a MP game - - - -***************************************************** -** JA2 1.13 Multiplayer - Version 1.2 - 05/06/2009 ** -***************************************************** - -Bugs Fixed -========== -Updated turn bar on enemy interrupt -Civs in a CO-OP game are displayed in Red instead of White on the overhead map -Scoreboard for Queen's Army -Clicking on "Cancel" in the scoreboard screen did not shut down the server and client. MP Game was in a bad state -DIFFICULT_LEVEL was not saved to ja2_mp.ini -Game on the server was always initialized with EXPERIENCED game difficult. It did not had any effect what you have chosen in the HOST screen -Last character of client player name was not saved to ja2_mp.ini - -New Features -============ -Changed Team colors in radarmap so it can be seen more easily -The merc of each client in the Overhead Map have now different colors (the same than on the radar map) for their merc -Disabled Reinforcements and Real-Time Mode in a multiplayer game -Feature to avoid CTD: If a user select an insertion direction which is not supported by the map the next valid insertion direction will be chosen for the map when entering Tactical Placement GUI. - - -***************************************************** -** JA2 1.13 Multiplayer - Version 1.1 - 01/06/2009 ** -***************************************************** - -Bugs Fixed -========== -Fixed saving of ja2_mp.ini which leads to wrong initializing of HOST values. Now there is only ONE ja2_mp.ini inside the "Profiles/UserProfile" folder -Name Corruption in the turn bar -Turn bar was not updated on the clients, if Enemy got back its turn after interrupt -The file "transfer_rules.txt" did not allow "Umlaute" -CTD in Tactical when "Enforce Maximum AI" was selected in CO-OP after first enemy was killed -Possible CTD when client disconnects from game -When server is running in 640x480 and select NIV in host screen, it did not check if NIV is allowed and it was initialized with NIV even NIV is not allowed in 640x480 -If you quit a MP game and start another one at night time it was still daytime in tactical placement GUI -Valid starting times (eg: 12:00, 00:30) was outputted as invalid times in the HOST screen -Added KIT_BAG to ja2_mp.ini when saving -Fixed teams not initialised properly when starting a new MP game - -Changes / Improvements -====================== -Some VFS improvements -Player Name can now only have 11 characters -Changed client colors in radarmap. Now they can be seen more easily and are more different -Disabled special features (merc capturing, ...) that could occur in a CO-OP game in tactical for multiplayer -Removed adding messages to the file log -Changed some MP message colors -Renamed "Client #n - 'PLAYER NAME'" from the turn bar to "#n - 'PLAYER NAME'" - -New Features -============ - - -***************************************************** -** JA2 1.13 Multiplayer - Version 1.0 - 19/05/2009 ** -***************************************************** - -Bugs Fixed -========== -Crash bug when shooting out windows or certain types of a missed shot -Fixed some tactical resources and buttons not being deallocated properly when disconnected from in-game to the main menu -Sometimes losing port settings from the JA2_mp.ini -Chat : Send to allies did sometimes not work for the second team in Team Deathmatch -Chat : Crash when entering a long uninteruptted string into chat - -Changes / Improvements -====================== -Chat : Changed chatlog text colour -Chat : Added PGUP - PGDN - END - HOME to chat log -Chat : Added Copy / Paste between Windows and the Game's text boxes (useful for copy/pase of Server IP and/or Port) -Chat : Added scrolling left and right of text to textboxes -Extra translation and Other language MP Buttons Graphics -TEMPORARY : Max mercs has been limited to 5 until the bugs with 6 are resolved - -New Features -============ -New Option for CO-Op : Maximum Enemy AIs ( always spawn 32 enemies on a map ) -Version Checking : Clients and Server must be the same version to play -File Transfer : This great new feature means that servers are able to host mods ( modified gamedata for balance or maps ). For more on this feature see File_Transfer.txt -New Connecting screen : Incorporates file downloading progress and version checking as well as timeouts -Virtual File System : This powerful system makes it much easier to install mods, and a great way for us to store seperate settings per server \ No newline at end of file diff --git a/Docs/Multiplayer_FileTransfer.txt b/Docs/Multiplayer_FileTransfer.txt deleted file mode 100644 index 0910a39a2..000000000 --- a/Docs/Multiplayer_FileTransfer.txt +++ /dev/null @@ -1,68 +0,0 @@ -File Transfer -============= - -This document explains how to set up and use the new File Transfer feature in JA2MP. - -First off let it be clear that downloading files from a server will NOT overwrite any of your game files -or data. Files downloaded from any server are stored in a VFS profile (a folder) that is unique for that server. -This means that you can play on many different servers that have different settings and never have to worry -about your game data getting messed up. - - -1. Security ------------ - -File transfer has two levels of built in security: - 1) As a client connects to a server that wants to send files, they will be asked if they want - to proceed or disconnect without downloading anything. - 2) Both the client and the server use the new VFS system by Birdflu. Clients can configure this - to filter out files / folders / filetypes they do not wish to recieve (transfer_rules.txt). If the server sends any of - these files they are ignored. - -2. Setting up Files to send as a Server ---------------------------------------- - -To send files to a client, you need to set up a mod folder in your GAME DIRECTORY (in short: GAMEDIR) ( this is where your ja2.exe's -are stored ). You can call this mod folder whatever you like, "My Server" for example. -Per default, this folder is in your "GAMEDIR\MULTIPLAYER\Servers\My Server", but can also be in another location inside your GAMEDIR folder. - -Once you have created a folder (the folder "GAMEDIR\MULTIPLAYER\Servers\My Server" should already be created), you can add the modified game files to it in the -relative places they would be stored under GAMEDIR\Data\ or GAMEDIR\Data-1.13\. For example put modified TABLEDATA xml files -into "GAMEDIR\MULTIPLAYER\Servers\My Server\TABLEDATA\" and the "ja2_Options.ini" inside the "GAMEDIR\MULTIPLAYER\Servers\My Server\" folder. - -Once this is done you can host a game. Run the game and do the following on the HOST options screen: - 1) Check the Sync MP Clients Directory option. - 2) Enter 'MULTIPLAYER/Servers/My Server' or the name of your mod folder (do not start with the GAMEDIR folder), without the quotes (''). If your path is nested, - seperate the folder names with a forwardslash /. Eg 'MULTIPLAYER/Servers/My Server' - 3) Host the game! - 4) NOTE: Even if you do not want to send files to the client ("Sync. MP Clients Directory" option is unchecked) - the folder entered in "MP Sync directory" has to exist on the server, because this folder will be used in the first place for initializing files. - If the specificed files are not found in this folder it will look in the "Data-1.13" folder and then in the "Data" folder. - -You will host the game as normal, now when clients connect you will see a blue progress bar behind their -name in the player list (in the Strategy Screen) so you can see how long they have left on thier downloads. - -NOTE: you cannot START GAME until all players have finished downloading - -3. Using File Transfer as a client ----------------------------------- - -Before you connect to the server you can set up the file "transfer_rules.txt" inside your GAMEDIR. There you can set any files to the "ignore list" which you would not receive from the server. Normally you do not need to change this file for the client. (The server is responsible for sending only valid files to the clients). - -When you connect to a server that wishes to send you files, you will be asked if you wish to continue: - 1) If you click YES, you will start downloading files from the server. - 2) If you click NO, you will leave the game and go back to the Join screen. - -When you are downloading files from the server you will see a progress bar so you can estimate remaining -time, you will also see the names of the files you are downloading. During this time you can also chat -with other players using the "Y" key. - -Once all files are downloaded you will progress to the Strategy Screen where you can see if other players are -still downloading and how long they have left. - -NOTE: The downloaded files are automatically stored on the client in the "GAMEDIR\MULTIPLAYER\Servers\Unique_Server_Id" folder. -Unique_Server_id will be a unique string (e.g: 4MWZX-5WUKF-BXJSQ-MWFCW-FDM5E) which identifies each different server. -The folder "GAMEDIR\MULTIPLAYER\Servers\Unique_Server_Id" will always be created (if not exists) even if the server does not send any files. -This folder "GAMEDIR\MULTIPLAYER\Servers\Unique_Server_Id" will be used in the first place for initializing GameDir files. -If the specificed files are not found in this folder it will look in the "Data-1.13" folder and then in the "Data" folder. - diff --git a/Docs/Multiplayer_GettingStarted.txt b/Docs/Multiplayer_GettingStarted.txt deleted file mode 100644 index 02d58e5d6..000000000 --- a/Docs/Multiplayer_GettingStarted.txt +++ /dev/null @@ -1,83 +0,0 @@ -Jagged Alliance 2 1.13 Multiplayer -================================== - -Credits -------- -JA2MP by: -- Haydent -- RoWa21 -- Zathras -- BirdFlu - - -How to Use ----------- -1. Hosting the game - a. Click "Multiplayer Game" on the main menu. - b. Click "Host" on the Join screen. - c. Configure Game Type and game options, click "Start". - d. The game will switch to the map screen. - e. Before the game is "Started" (laptop unlocked) : - - you can change the starting sector by moving the dropzone in the airspace view - - new players can connect to the game - - players can change their starting edge ( click the Button with the Compass ICON ) - - players can change their team in the same manner ( click the Team Button ) - f. Host (you, the server) clicks "Start Game" to Unlock the laptop. At this point: - - the game settings are locked - - players can hire mercs (unless random mercs is selected in which case they are automatically hired for the players) - - players can click "Ready" - g. When all players are ready, the game will commence. - -2. Joining the Game - a. Click "Multiplayer Game" on the main menu. - b. Type in your player name. - c. Type in (or copy/paste) the server ip address (external ip of the server) and port. - d. Click "Join". - e. The Game will switch to the map screen or to a connect screen where you receive special GameDir files from the server. - f. While the game has not yet "Started" (laptop unlocked) : - - players can change their starting edge ( drop down by clicking IN the column next to thier name ) - - players can change their team in the same manner ( IF TDM or CO-OP ) - g. Host (the server) clicks "Start Game" to Unlock the laptop. At this point: - - players can hire mercs (unless random mercs is selected in which case they are automatically hired for the players) - - players can click "Ready" - h. When all players are ready, the game will commence. - -3. Ending the Game - When the battle is over in a sector, after a few seconds the Scoreboard will be displayed. - If you wish to play another game, press "Continue" to re-join (or re-host) the server. Otherwise - you can press "Cancel" to return to the main menu. - -4. In-game chat - Press the 'y' key to open ingame chat. - - -FAQs ----- - -Q: I started the server, but others can't connect. -A: Check the following things: - a.) The JA2 MP Executable file should not be blocked by your firewall - b.) The other players have my external IP and use them for joining. - You can get your external IP from here: http://www.whatismyip.com - c.) The Port (default: 60005) is forwarded on your router - -Q: How do I forward my port on the router? -A: Take a look at the following website: http://portforward.com/ - -Q: How can I find out my external IP? -A: http://www.whatismyip.com - -Q: How can I find out my internal IP? -A: Click "START" -> "RUN" -> cmd - Type "ipconfig /all" (Search for IP Address) - -Q: Please give me a step by step example how you forwarded the port on your router. -A: I have a (wireless) Belkin router. The steps I did are the following: - a.) First I check my internal ip address (-> 192.168.2.2) - b.) I open the routers configuration page in the web browser. This is often your IP ending with a "1". - In my case this is "192.168.2.1". So I entered "http://192.168.2.1" in the browser and the configuration site opens - c.) I click on "Firewall" -> "Virtual Servers" and "Submit" the login page with a blank password. - d.) Now I see a table on the website where I can enter the IP addresses and ports for forwarding - e.) I enter the internal IP address (192.168.2.2) and the port (60005) and select the port forwaring for "UDP" and "TCP" - f.) Save the changes on the configuration site - g.) Start the JA2 1.13 MP Executable and host a game \ No newline at end of file diff --git a/Docs/Multiplayer_HowItWorks.html b/Docs/Multiplayer_HowItWorks.html deleted file mode 100644 index af20d37d4..000000000 --- a/Docs/Multiplayer_HowItWorks.html +++ /dev/null @@ -1,1223 +0,0 @@ - - - - - JA2 v1.13 Multiplayer - - - b3
-
-
-

- JA2 v1.13 Multiplayer

- (you'll need NIV installed from now on) -
-
- - - - - - - - -
- - - -
-
- The Variables of "Ja2_mp.ini"
-
-
-
-
-
- Client Settings:
-
- SERVER_IP
-
- -
-
-
- -
-
- -
- -
-
-
- Developmental Comments
-
-
- The Online SVN Repo
-
- JagZilla (Bugzilla)
-
- How Co-Op Works
-
- Further Development
-
- How it all Works
-
- RakNet UDP Networking
-
- Changes
-
-

- -
-
-

-
-
-
-
-
-
-

- Getting Started

-
-
-

- Installing

-
- If you use SVN, just update the Game Directory.     
- If you do not use SVN, download the RAR-Package and extract it in your Jagged - Alliance 2 root directory.
-
-
-

- Setting up Ja2_mp.ini

-
- Don't think you can skip this step, there's too much in here - which needs independently configuring per client to achieve successfull connection - and gameplay.
-
- You will find a copy of this file with the release, this needs - to go in your root Ja2 directory, along with the .exe included. It contains all - the variables and parameters i have added which are convenient to change. They are - read in from the file as part of starting up the Raknet Client. So if you change - a setting in the file, you dont need to restart the game engine for effect, simply - restart the net client. More about these variables in the following section - where i detail each one.
-
-
-
-
-
-
-

- Setting the Drop Zone

-
- This is now the first step after starting a new game and choosing - initial game option, and is only done by the server, client changes have no effect. - This cannot be changed once server started/running.  
-
- Switch to the Airspace display by either clicking on the map button or pressing - the 'A' key. Then click on the 'bullseye' to select it, (which will at startup be - located at secotor 9,1 "Omerta"), then place it as the agreed/desired game sector. - All hired Mercs and Bobby Rays orders will now be sent there.
-
-
-
-
-
-
-

- Starting a Server

-
- Ok... start a new game and when presented with the map screen, - press the '1' key, (it works on the numpad too). You should see some little remarks - about the server starting up. If other clients cannot connect to you (the server), - be sure that the selected port in ja2_mp.ini is forwarded on your router!
-

- Connecting the Client

-
- If you are the host you automatically connected to the server - if you pressed '1'. If you aren't the host, start a new multiplayer game. The settings - in the start new game screen does not matter, because you will receive the settings - from the server after you connected. On strategy map screen, press the '2' key and - you get connected to the server. In either situation you should see some comments about the Raknet - network client starting up, and then if you have specified the right variables in - Ja2_mp.ini and your network/firewall is "ok", you should make connection and - see report of this from both the server and client. If you need to change a variable - in your config or simply have another go at connecting, you can press the '2' key - again after your attempt has been reported as failed, or kill the client/server - and start it again.
-

- Hiring you Mercs

-             When all clients are connected and only then - should you start hiring mercs, when the server is ready, they press the '3' key - to unlock the laptop access. -
- Boot up your laptop and hire up-to 7 Mercs from the selections - at AIM and MERC... Due to the assumed fact that their proceeding action wont be - longer than a day, the default chosen contract length, delivery time and confirmation - have been adjusted for ease of use.
-
- I might also add here that this can be a good time to save the - game, once all clients have hired their mercs, this way if there is a crash or some - other problem or you just want to start again or play once more, you can do so quicker. - Though bobby rays orders are not save at the moment, so save before placing them.
-

- Doin' the Bobby Ray's

-
- I just had to add this in because i could ;p ... the default - destination and shipping choice have been pre-set, and there's no difference in - changing them. 
-
- The delivery is now made immediately after order, and available - from the map inventory screen, without loading the level !, into your pre-located - crate as specified in the config file. Further orders can be made mid game. Note - i've changed the defualt game options to gives the best bobby rays selection, this - is great, unless you want it otherwise.
-

- Starting the Battle

-
- When all clients have followed the above steps and are ready - for battle, from the map screen, press the '3' key. When all clients are ready, - this will load the level and launch the "Tactical Placement GUI", as known - by the overhead map view of the sector, allowing placement of Mercs along allocated - edge space once all clients are loaded.
-

- Placing your Mercs

-
- When all clients are loaded you can begin. *Be carefull - if for some reason you will be placing opposed mercs along the same edge or at a - corner where they may be in immediate sighting range of another clients enemy merc - edge, you will probably have problems, as the code doesn't like starting the battle - (going into tactical) and going straight into turnbased mode when all clients aren't - in tactical yet, ie still in placement mode.
-

- Entering Tactical

-
- When all clients have finished with their merc placement and - are ready, all can selet "Done". This will set you as "ready" unless you cancel, - and when all are ready it will go into what is called "Tactical View". It will start - in realtime until the the first opposed sighting is made at which time it changes - to turn-based mode. The game can also switch back to realtime if each clients have - not seen each other for some turns.
-
-
-

- - Duke'in it out

-
- Let me break it to you now so as to dash those hopes you had - of experiencing the full spectrum of intricacy and complexity afforded by the Ja2 - engine but in Multiplayer...
-
- Very little of the combat components have been implemented at this stage... here - is the list of what is sent across the network and as such justifies allowed gameplay - manouvers:
-
- ** moving your mercs on the ground level, ** changing stance between standing, crouching, - and prone, ** changing facing direction,  ** firing a gun, ** bullet damages - and ** stopping a merc apon spotting new enemy...
-
- I might also mention that ** knife damages, ** punch damages, - ** and burst fire damages are implemented, however the animations are not. This - leaves pretty much all the rest of the fun un-implemented, so agree to avoid it - to save confusion and invalid battle actions, for example, roofs, med packs,  - and grenades etc. etc.
-
-
-
-

- The Battle Ends

-
-
-
- Once all but one team is left we have a winner, and you will - either be presented with notification of defeat or, be returned to realtime and - as such become the winner / survivor.
- From here im not sure whatis possible, you could obviously start a new game, but - you could also try hiring more mercs and gear, which will be delivered automatically. - Perhaps even the survivor could walk to another sector, and those defeated, hiring - more weapons and mercs could change their destination sector. Though it hasnt been - tested...
-
-
-
-
-

- Disconnecting a Server/Client

-
- By pressing the '4' key, from the Tactical (map) view, the server and client process's - if running will be disconnected and 'killed', reseting parameters relating to status - of connection.
-
-
-
-
-
-
-
-
-

- The Server Overide Functions - and In-game help

-
- Now's a good time to mention some new features, one is the Server Overide Function, - bound to the key '7', which can be used by the server to bypass any of the mod's - 4 launch checkpoints. There is also a small help display bound to 'F1' and 'F2' - if you forget your  keys..., oh, there is also bound to '5' a script to show - mouse grid coordinates.
-
-
-
-
-
- The server can now also Manually end another players turn (or if in realtime, start - turnbased action) with 'Alt+E'.
-
- As well the server can "kick" a player with 'Alt+K'. This removes all copies of - that clients mercs throughout the network , causing there turn to be skipped, but - leaving them connected to spectate.
-
-
-
-
-
-
-
-

- The Variables of "Ja2_mp.ini"

-
-

- - Client Settings: (set all on all):

-
-
    -
  • -

    - SERVER_IP 

    -
  • -
-
- This is the IP addess that your client will connect to. You can - use "127.0.0.1" if you are the host.
- If you are not the host you have to enter the external IP address of the server. - The server can look at www.whatismyip.com to get the external
- IP address.    
- Don't forget the - "quotation" marks. This doesnt need to be - set if you are the server.
-
    -
-
    -
  • -

    - SERVER_PORT

    -
  • -
-
-
- The port that the server and client - will connect through, best if not used by other apps and isnt blocked by a firewall, - router etc. > 6000 is best, set it the same on all machines and it doesnt need - to be writting in "quotation" marks as don't the rest of the variables.
- If other clients cannot connect to your server, be sure that this port is forwarded - on your router!
-
-
    -
-
    -
  • -

    - TEAM

    -
  • -
-
- Pick a team number, if its the same as another clients, you will be allied while - Teams are allowed by server.
-
    -
  • -

    - CLIENT_NAME

    -
  • -
-
- This can be upto 30 'char' characters. make sure to keep the "quotation" marks around - it ! ie "hayden"
-
-
-
-
-
    -
  • -

    - SECTOR_EDGE

    -
  • -
-
- Choose between 0 and 3, to set your starting sector edge - (ubStrategicInsertionCode) , 0=North, 2=East, 1=South, and 3=West. -
-
-
-

- - Server Only Settings: (no effect on client only game):

-
    -
  • -

    - MAX_CLIENTS

    -
  • -
-
-             This can't - be made higher than 4 (for the games sake), but lower is ok. Best to set this to - the expected number of clients to allow for proper game launch    
-          check progressions....
-
    -
  • -

    - MAX_MERCS

    -
  • -
-
-            Number of - mercs hireable by each player, Maximum for this mod is 7.  6 is good as that - is the squad limit (though you can have more than one sqaud.)
-
-
    -
  • -

    - DAMAGE_MULTIPLIER

    -
  • -
-
- Originally 'net_divisor' it is now the factor, and can handle decimal - value (float), eg 0.5 = half, 0.3333 = third, 2 = double.
-
    -
  • -

    - STARTING_BALANCE

    -
  • -
-
- The Starting balance for all clients set in dollars without the $ sign.
-
    -
  • -

    - TIME

    -
  • -
-
- Game starting time. (FLOAT). -The values are in hours (0.5 = 1/2 hour). -Default value is 7 (7am), ie 13.5 = 1:30pm
-
    -
  • -

    - TIMED_TURN_SECS_PER_TICK

    -
  • -
-
- A divisor of how much time each client has for its turn. Default = 100, - less = more time.
- 10 = 43 seconds, 15 = 28s, 20 = 22, 25 = 19s, 50 = 17s, 100 = 15s, *with only cliff, - fresh on 22 ap's*.
-
-
    -
  • -

    - SAME_MERC

    -
  • -
-

- Enable or disable the hiring of the same merc by more than - one client... 

-
    -
  • -

    - REPORT_NAME

    -
  • -
-

- If should report the Name of remotely hired mercs.

-
    -
  • -

    - GAME_MODE

    -
  • -
-

- 0 = All vs All only, 1= Team's Allowed, (as per client - TEAM variable lsited above), 2 = Only Co-Op (coop not still working)

-
    -
  • -

    - DISABLE_BOBBY_RAYS 

    -
  • -
-
- 1 = true, 0 = false.
-
-
    -
  • -

    - DISABLE_AIM_AND_MERC_EQUIP

    -
  • -
-
- 1 = true, 0 = false.
-
    -
  • -

    - ENEMY_ENABLED

    -
  • -
-
- This as with the following 3 options can now be set to 0 or 1, - to enable or disable the spawning of the respetive AI faction. The clients never - generate anything themselves, just spawn what is passed to them from the server - to make sure all players have same AI. The AI is only controlled/running on the - server game. Actions are from ther sent out.
-
- These options are now only server side, and need only be set - in its .ini -
-
    -
  • -

    - CREATURE_ENABLED

    -
  • -
-
- Leave creature disabled as thier team size was reduced - to 1 from 32 to make room for LAN players... 
-
    -
  • -

    - MILITIA_ENABLED

    -
  • -
-
- 0 = disable, 1 = enable.
-
    -
  • -

    - CIV_ENABLED

    -
  • -
-
- 0 = disable, 1 = enable.
-
    -
  • -

    - TESTING

    -
  • -
-
- when 1, enables cheat function bound to '9', containing helpfull testing - function, show all mercs, though i believe it makes getting an interrupt harder....
-
-
    -
  • -

    - DISABLE_MORALE

    -
  • -
-
- Enable or Disable Morale Changes during battle.
-
    -
  • -

    - KIT_BAG

    -
  • -
-
-  An array of items to be given to each merc hired at the start of the game, - repeat a item number for more than 1 each item can not have number of digits - greater than 4, is <=9999, total length for this string is 100, including brackets - and commas, and no more than 20 items int total. these can be adjusted apon request
- examples: 201=first aid, 214=canteen, 199=comp binoc's, 222=energy boost (aka stim - pack), 235=regen boost, 300=light knife, 49=knuckle dusters.
- look in items.xml for full list, of coarse this is also limited to mercs inc capactiy.
- Also note that right now they are not added to replicants, so they wont be dropped - by killed mercs other than your own.
-
-
-
-
-
-
-
-
-

- Developmental Comments

-
-
-
-
-

- The Online SVN Repo

-     Thanks to the forward help of  - lalienxx at the Bear's Bit i have some SVN space where you can get the source - code as i update it using an SVN client such as TortoiseSVN. I'm open to contributions, - i currently am running Visual Studio 2005 express.
-
- JagZilla (Bugzilla)     Thanks to - the forward help of JAPH - at the Bear's Bit we have a bugzilla space where you can post you comments, - requests and bugs without them getting lost in the forums, plus you get tracking - and it new ... ;)
-         - http://ja2.discusrock.org/bugzilla/
-

- How Co-Op Doesnt works (well not that well, right now...)

-      If it does... (you'll have to get back to me on that)
-                 I seems - to have nutted out the problem stopping my initial sometimes working attempt from - working all the time. it was that the Inv array part of the Merc Create struct , - which is a class and not that simple, was getting mangled through the RPC call, - so i fixed it by pulling out the inventory items into a dedicated struct to hold - them and the old struct, passing this, and then at the other end (the recieve) a - new create merc struct is initiated, and filled with values from the old struct, - (the bits that pass through ok), and the pulled out inventory items passed through - "outside" with it.
-
-     It seems to work out, so let me know if you have any experience - to comment on. The AI components are now set server side only. And are sent out - when the server creates them, which is generally after going from the tactical placement - gui, into the tactical "action" view. -

- Current Development

-      Currently we have RoWa21 from the boards coding some changes - ! He's helped allready by mergin my oringinal code with thet latest 1.13 and NIV, - he will also be helping with other coding areas. this being said theres plenty to - be done and more help would be good. hopefully we can get coop working and the basic - combat and movement systems working and synchronized effectively.
-
-     You can contact me ( - haydent ) through the Bear Pit's Forum
-
-                - http://www.ja-galaxy-forum.com/board/ubbthreads.php?ubb=showflat&Number=165740&page=1 -
-
-
-

- How it all Works

- (well some of it)     Maybe you dont want to get your head under - the bonet and into the code itself just yet but are just interested to know how - i went about certain things, here's a brief run down. -
-
-     Well firslty i hope it does work, atleast some for you, ive barely - play tested, just loading it up on my spare computer which is a laptop with no screen - and a damaged faulty monitor output plug, enough though that i could test my code - worked, but iver christmas i hope to test it further, perhaps you can to and give - some feedback.
-
-     Aside from the Initial Server and Client components which i transfered - and modified from a "Chat Example" project that comes with RakNet. I used a function - of RakNet called RPC or Remote Procedure Calls to send and recieve my communication. - This is easy as it avoid having to package my data into packets, send it, then open - it at the other end and work out what to do with it. An RPC function simply executes - the function specified on the other specified remote clients, in this case all but - the sender.
-
-     The server computer lets each client/side know when its there - turn and the clients tell the server when they've finished they're's. When a client - give the fire weapon order, an inital command is sent out to all the other clients - telling them to do the same. Except when the other clients get to the bit of code - which applies the hit and damage, if the command came from another Client they stop. - Then when the Original client works out the hit damage taking into consideration - random factors, and if it happened, and sends it out to all the other clients which - then apply it hopefully in time to make it all seem connected.... You will notice - wont short-coming of this, is that a client having recieved an order to replicate - a weapon firing, may do so, but calculate that this particaular shot is going to - miss, and such show the difference in arc for the bullet animation to miss, but - just as you see the bullet whizzing past your head, you recieve the second command - from the attacking client (the one which has the bullet hitting and it's damages) - ... this is then applied and your on half health after breathing what was in this - case, a too eager sigh of relief ... and the same example vice versa .
-
-     As for the few other implemented commands, the are pretty simple - and straight forward...
-
-     So much of the time i've been looking through the code and i - would find things that were almost perfectly set up for multiplayer and often not - used at all, there was a definate effort by the original creators and they came - close in my opinion... id love to know what stopped them... ?
-
-      Now another of the new systems implemented is the 4 new - LAN teams (bteam: 6, 7, 8, and 9). How i did this was to have 4 new teams, 1 for - wach client, max at 4. when client 1 hires a merc for example it is sent out and - spawned on the other clients in team 6. client 2 in 7, client 3 in 8 and 4 in 9. - The server (client 1) handles the team order and sends the command to each client - to start any particualr teams turn, including the AI. There are a set number range - of ubID's for each team: 6(client 1, the server) is 120 to 126 (7 members), on any - client, their own mercs take slots 0 through 19 team 0, but when a client sends - out a new move for example, the merc's ID (ubID) is prefixed (added) with a corresponding - number to their client number (netbTeam) to match it with the network spawned merc - copies in the other games. for example any clients first merc will be ubID 0 and - team 0, if its client 1 (server) a prefix of 120 is added on to make its ubID 120 - which is the first clot for team 6 which is used to hold the "copies" of client - 1's team remotely. if its client 2, the prefix is 127, and so on... i hope this - makes things clearer ;)
-
-     The interupts are working again for what i have tested... and - are only calculated by the merc (and owners computer) that is moving because they - have the most up-to date info regarding merc (namely theirs) positions.
-
-

- RakNet UDP Networking

-     If your interested in more information on the free C++ UDP based - network library used in this project follow this link for where there is a forum, - doxygen manual and you can download it yourself.
-         http://www.rakkarsoft.com/
-
-

- Changes:

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- b3 -- - Well i cant even remeber everything i did today...
- * menu changed (MP has its own save game directory)
- * bonus added towards interrupt if your has his weapon ready
- * various message tweaks
- *  Interrupt fix
-  and some more...
- -
- b2 -- - - you can now return to real time if all active lan teams request so within one round - of turns
- NIV actually was working, it just doesnt operate @ 640 res. ;)
-
- -
- b1 -- - - lots of help has brough about some further progress !
-
- no more interupt lockups
- interrupt reworkng
- updated source to include NIV 
- other changes: save in turnbased when not turn, stay in game after death,  etc - etc
-
- this is initial intermediatary release, just to put something playable out there - again...
-
- still needs more work on sync and interrutps etc etc.
-
- -
- rev. 02022008 --
- (prebeta post final) -
- I realised i got my exe's mixed up after doing some 3 player LAN testing today :), - and for the last few releases theres been some test code in there that would have - been making it not play well and wasnt meant to be in there... so while i was at - it again i have made some other quick fixes :
-
- * removed test code that shouldn't have been released (causing among other things - blue 'update' text and sliding merc movement)
-
- * fixed loss of UI lock during interrupt fter being shot at
-
- * removed some 'non-ready' MERC profiles
-
- * fixed new MERC profiles tactical selection and face animation
-
- * disabled roof climbing (temp)
-
- * prevented 3-sec pausing of repo merc movement apon it being spotted by your merc
-
- -
- rev. 28012008 --
- (prebeta final)   -
-    This is just adding the prerelease changes. nothing new. This is the - final pre-beta, after this it will be beta and feature hopefully a upgraded network - synch system. this will however require more bandwidth than before, (~ 2kbs/client) - , but i think its worth it even though it will make playing any version past - this over dialup obsolete. Hopefully it will open up the way for further un-implemeted - game state synchro on a more regular basis.
-
- * fixed door ani los issue/bug
-
- * fixed bobby rays crash
-
- * synced up bandage health levels
-
- * added ~15 new game mercs to MERC
-
- * synced up doors!
-
- * synced up burst fire sounds
-
- * fixed death messaging
-
- * re-enabled intterupts
-
- * allowed disabling of hired name display
-
- * started using a dvorak keyboard
-
- * enabled the rest of the MERC bios
-
- * added begining kit bag loadout, an array in the ini for free stuff !
-
- * disabled medical deposit costs
-
- * enabled the disabling of morale events
-
- * server can now manually end a clients turn or start a clients turn in realtime - or turnbased (bound to 'Alt+E'), making the previous ini setting and command 'START_TEAM_TURN' - obsolete .
-
- * removed the ini setting for testing interrupts now they are happening.
-
- * there is no more bobby rays crate (for now), items are dumped in the middle of - the sector.
-
- * fixed crash from death animation being tried to apply to allready dead soldier
-
- * disabled death messaging
-
- * Interrrupt syncronisation of interupted merc's location apon being interrupted
-
- * Kicking/Removal of a Clients team of Mercs, bound to 'Alt+K' (this doesnt disconnect - the client, allowing them to spectate)
-
- -
- rev. 17012008 -- -  ok , not alot of changes but some that will hopefully rectify a few of the - main issues popping up during testing so far... unfortuanately/fortunately this - is just a cheap hack/fix and a pretty raw solution, but ive ended going with it - for now as it is quick, it is accurate, and by the process of getting this far i - have learnt more that i can use later to upgrade or re-implement systems of synchronisation. - ie Dont get upset if it seems ive just patched some problems only to create some - more, (which may be the case as ive felt before), the aim is that this is atleast - a more evenly playable variant than before.
-
- * there is now a regular update sent out about every 2 seconds by the owner of each - merc with stats on location, health and breath, this should help with the related - issues.
-
- * when you assign a new destination for your merc, the calculated path is now sent - out as well as the destination grid, as to your mercs location. this way all merc - replications start their path from the same grid and follow the same path. (though - fences "work", they have not been refined)
-
- * There is a grid movement synchronisation system akin to what is known as "lock-step" - synchronisation, where no merc can advance further than the current grid with out - all the other replications of themselves being ready to do so as well. How i got - this to run smoothly and avoid the pause between the time of arrival, sending out - such, awaiting all others to do so, recieving the go-ahead and continuing, is by - requesting the sector in advance. So it is all happening in the background while - traversing a grid, and if all are in sync and ready, the next grid is moved onto - seemlesly ("nearly"), depending on ping... :)
-
- * stop commands are now synched further, such that when it is sent out it also contains - and thus applies the settings of position and direction so all replications are - stopped in the same grid.
-
- * The main Game engine no-longer automatically pauses game play while the Main Game - Window is not selected (or backgrounded/minimized). i havent got as far as blocking - game pausing altogether, but this will enable you to chat in irc etc. while the - game keeps running and updating graphics happily including network traffic. Due - to this the implementation of a chat system has been relegated in rank of things - to do as irc is an excellent system and the few times ive used it in my experience - ive been rather impressed. This too along with the fact that the implementation - of a chat system would hinder game play and game display more than using irc itself, - thus potentially bringing up further problems. You can quit easily fit a windowed - game of ja2 at 1024 along side a resized small window of irc with todays standard - 1280 res, but if you ahve an extra monitor your set ;)
-
- * I also fixed a problem which im not sure when or if it had come up before, where - the servers mercs were being autoplaced apon ui unlock without selecting so.
-
- * Also im now back to distibuting debug exe builds, as after packing it isnt much - size difference, and by running a debug exe you get a few more stats on errors and - such, and it is further tested, by the community which i owe a big thankyou to for - the feedback so far both through the forum thread and the ja2 1.13 jagzilla bugzilla - bug tracking site.
-
- * I also disabled a mercs reproduction checking for enough AP's before making moves - etc, as this is calculated by the owners game instance and results applied from - there.
-
- All these updates should work just and well (and have been slightly tested so) to - work with both real-time and turnbased.
-
- Happily all this synchronisation hasnt increased network traffic much at all and - it still quite happily trots along at under 1kb/s in idle tactical view.
-
- Please report any problems you have as i rely on this mostly, due to any spare time - i have being spent on resting and doing other things than coding, leaving little - time for testing than that is necessary to check my changes "work" atleast...
-
- regards,
-
- Hayden.
-
-
- -
- rev. 11012008 -- - * disabled hourly updates - causing breath loss on insertion on clients pc, but - not happening on remote merc duplicates, leading to unsync due to differing ani - speeds. this will have been accounting alot for some of why one merc has been faining - while the other still standing... this is big fix, you stil will get "slight unsyncs" - (a few grids), so someday i will still implement actualy updating of merc params - and traversal. (as there is atleast a small delay between when your werc starts - running and your merc replication starts running, throwing things like interrupts - and first time spots out of allignment between pc')
-
- * There was also some code which made enemy mercs anispeed different to a player's - (now overidden)
-
- * coop discription in documentation fixed, (was around the wrong way)
-
- * something i forgot to mention last time, you can now load game from tactical placement - gui, rather than only being able to quit game.
-
- * new spectator mode enabled once you are wiped out :)
-
- * fixed up death sends, to not create unkillable merc...
-
- * added in cheat testing function to the ini, to enalble showing of all mercs to - enable testing
-  
- * fixed panel shading while in opponent turn
-
- * fixed another possible unsyncer of a problem, where a client replicating a mercs - move would pause the merc when it spotted another enemy merc (possibly there's) - even though the merc being moved wasnt in their control and was a replication... - so now only stops if ordered from moving owner...
-  
- * added manual start for turn based mode, if the server want to start off a team - straight up without realtime, might be handy for testing...
-
- * add clients specified names to the turn title bar :)
-
- * there will be still slight out of sync until proper game clock animation syncing - between clients is implemented...
-
- * fixed a bug brought on by the  screen locking function i started using, (to - enable moving screen while not turn). prob was it wasnt unlocking prop for interrupts, - so that is fixed now.
-
- * fixed a bug where interupt timed turn was going too quick as to the turn after - that. its a quick hack that makes it the same time as you get for a "normal" turn... - i cant figure out any better right now.
-
- * first time using release build rather than debug, if you have issues let me know - and i can revert
- -
- rev. 08012008 -- - We got quite a few good ones here... (where to start hmmm...)
-
- * You can now move your screen around while its not your turn.
- * The bottom right mini 'radar' map view of the selected sector from map view screen - is now always active so you can see preview before play.
- * Bullet trajectory is now replicated, and follows same path on clients as on senders, - as to synced are bullet hits, bullet misses, bullet hit structures and bullet hit - windows.
- * Death's are networked as is the info relating to such, ie killer and team numbers..
- * more INI parameters: ability to specify alliances and factions, to enable 2v2 - or 1v3, and the specification of a Player name.
- * We got a bugzilla at http://ja2.discusrock.org/bugzilla/
- * When all your mercs are killed you stay in the game, especially good for server - to avoid droppouts for remaining players.
- * Interrupts work, (they did before but they do now for real...)
- * Change of state is replicated, ie blasted away, shrugging, animations
- * Dont expect anything from coop, i havent looked at it yet...
-
- -
- rev. 02012008 -- - A heap more requested change additions:
-
- * Timed Player Turns is now an option again, and the time allowed is adjustable - from the ini ! (TIMED_TURN_SECS_PER_TICK)
- * More externalised ini server variables: MAX_MERCS, STARTING_BALANCE, TIMED_TURN_SECS_PER_TICK, - DISABLE_BOBBY_RAYS, DISABLE_AIM_AND_MERC_EQUIP
- * M.E.R.C. hires now incur nominated daily salary apon hire.
- * All Game Options Screen choices are now only taken into effect by the server, - and sent to the clients from there...
- *  1 day contract length for AIM is now only option
-
- -
- rev. 02012008 -- - Quite alot of new changes:  
-
- * Bobby rays order are now delivered straight away into your sector, and can be - accessed before loading level, to allow time to dish out weaps befroe match...
- * There is now a 4 step, staged launching system with "ready" check points at: all - clients connected, all clients ready for load, all clients loaded, and all clients - placed and ready for battle... there is also a manual server overide feature is - someone drops or goes to sleep... -
- * All the server settings are now set only by the servers ini and sent out - to the clients apon connection, including the dropzone, which needs to be set before - starting the server.
- (there is however a small bug where a client (not the server) cant load a saved - game made once in tactical...)
-
-
- -
- rev. 31122007  -- - We now have slightly tested Interrupt system working. Tested only so far with 2 - players in Deathmatch, no AI. Needs for testing and no doubt modification...
-
- it has new ini setting: "INTERRUPTS" to disable, enable and always (extreme for - testing) it.
- The old "NET_DIVISOR" is now "DAMAGE_MULIPLIER" and is "decimal" (float), so 0.5 - = half damage, 2 = double.
- Added basic in game help display
- -
- rev. 30122007 -- -  CoOp has been fixed ... AI is now propogated to the clients where spawned, - though only slightly tested, also added new dev notes on lan team turn implementation - and coop. also i forgot to mention the grid coordinate display script bound to key - '5' was fixed last release, as the X and Y where around the wrong way. Interupts - are on their way.
-
- -
- rev. 24122007 -- - bug fixes: disabled interrupts to avoid lock-up, fixed crash bug of clicking in - "hashed" area while in tact place gui.
-
- -
- rev. 22122007 -- - small adjustment to fix team 4 being treated as PLAYER_PLAN member and getting a - green shader ! , there are now 7 slots per LAN team, but 1 creature and 1 player_plan.
-
- -
- rev. 21122007 -- - initial pre beta release
-
- -
-
-
-
- :)
-
- Page Created with NVU
-
- eof
-
- - diff --git a/Docs/New Attachment System_NAS_HowItWorks.txt b/Docs/New Attachment System_NAS_HowItWorks.txt deleted file mode 100644 index cc0e22e83..000000000 --- a/Docs/New Attachment System_NAS_HowItWorks.txt +++ /dev/null @@ -1,398 +0,0 @@ -##################### General Information ##################### - -NAS is short for the New Attachment System. -The aim of NAS is to grant more freedom with attachments, keeping everything externalized. - -In short, what NAS offers: - - * More attachments (or less, if the modder decides to) - * A more intuitive way of displaying attachments around the item. - * A new way of determining wether attachments fit or not. However by default all items accept the same attachments as in normal 1.13. - * More freedom in general with attachments. - * Almost everything is costumizable, even the position of the slots on the screen. (but you need to edit xml) - * Many new tooltips concerning attachments. - * Enemies may have more attachments, and they have only a small chance to drop them (customizable). - * More possible default attachments for weapons. - * Attachments can now add and/or remove slots (but merges are still needed to change the caliber of a gun). - * Big slots are now possible. - * Mag extenders don't have to be permanent attachments anymore (they still are though, but you can easily change it in the items.xml) - * You can choose in what attachment system items are available. - * Multishot launchers with separate grenades are possible. - * Attachment swapping is more intuitive. - * The result of merges is now checked for validity. - * Default slots for undefined items. - * Scopes are more customizable. - * The option to use attachments balanced for NAS. - - -NAS will NOT work with the Old Inventory System and it will NOT work in 640*480 mode. -This is because there just isn't enough space in those cases. -If you try you will get a warning and you will not be able to start the game (but nothing should spontaneously combust). -Also, attachments to LBE gear are no longer possible in NAS. - -Bugs should to be reported at the NAS thread at the Bear Pit: -http://www.ja-galaxy-forum.com/board/ubbthreads.php?ubb=showflat&Number=256358 - - -------------------- Ja2_options.ini ------------------- - -4 new options have been added to the Ja2_options.ini under [Item Property Settings] (the settings need to be in this section or they will not work). -;------------------------------------------------------------------------------------------------------------------------------ -; This option lets you turn NAS on or off. It can be changed in the middle of a game, but it's not recommended (attachments may disappear if they don't fit the item anymore). -;------------------------------------------------------------------------------------------------------------------------------ -USE_NEW_ATTACHMENT_SYSTEM = TRUE - -;------------------------------------------------------------------------------------------------------------------------------ -; When attachments have not been assigned for NAS, the game can add default slots that differ per item type. -; It is recommended to play with this set to FALSE when the attachments are assigned properly. -; This option is best used when playing a XML based mod that does not have the NAS xml fully updated. -; However when the mod is too different from 1.13, there will be a lot of strange and/or wrong attachments. -;------------------------------------------------------------------------------------------------------------------------------ -USE_DEFAULT_SLOTS_WHEN_MISSING = FALSE - -;------------------------------------------------------------------------------------------------------------------------------ -; The chance in percentages that an attachment will have to drop with the item if an NPC dies. -; Setting this higher than 20% will unbalance your game unless you change MAX_ENEMY_ATTACHMENTS. -; Inseperable attachments will always drop. Range: 0 - 100% -;------------------------------------------------------------------------------------------------------------------------------ -ATTACHMENT_DROP_RATE = 10 - - -;------------------------------------------------------------------------------------------------------------------------------ -; The maximum amount of attachments NPC's can get on their gun when they get random equipment. -; They will usually get less attachments than this value because of randomness. Range: 2 - 30 -;------------------------------------------------------------------------------------------------------------------------------ -MAX_ENEMY_ATTACHMENTS = 6 - - -Under [Tactical Gameplay Settings] there are another 3 options: - -; From what aiming bonus a scope is considered very high power (Sniper Scope 10x) -VERY_HIGH_POWER_SCOPE_AIM_THRESHOLD = 18 - -; From what aiming bonus a scope is considered high power (Battle Scope 7x) -HIGH_POWER_SCOPE_AIM_THRESHOLD = 13 - -; From what aiming bonus a scope is considered medium power (ACOG 4x) -MEDIUM_POWER_SCOPE_AIM_THRESHOLD = 8 - - -##################### How to install ##################### - -1: Get a clean JA2 install -2: Install the one click installer or checkout from SVN. -3: Download JA_3547_NAS_0.60b -4: Extract it into your main JA2 folder. -5: Report any bugs you find. (this is probably the most important step!) - -NAS was built on SVN revision 3547. - - -##################### New Items.xml ##################### - -Because NAS allows many more attachments to be attached, the main reason that made you consider what attachments to use is now gone. -You could slap on just about any attachment you wanted to, so a change was needed. -This change is optional however, because I don't want to force it on anyone. However in my opinion it's needed to restore the balance. - -The general idea was to give every attachment a drawback, so that you would at least have to think before you slap just any attachment on your gun. - - -A general list of changes: -Scopes now have a base CTH penalty and min range was increased. They're now only for long ranges, and will leave you at a disadvantage in CQC. - -The combination of a battle scope x7 and the reflex sight is no longer possible for balance reasons. - -All silencers now have a small penalty to damage, because the silencer might reduce bullet velocity (and I couldn't think of any other reasonable drawback). - -Mag extenders now suffer from a small CTH penalty, due to being heavy, but are now separable from the gun. (otherwise the weight it adds is enough of a drawback) - -Lasers and Flashlights now reduce your camo and stealth, because this is the only way I could make you more visable when using them. - -Bipods have a penalty to the ready costs, while grippods have only had their penalties decreased. Foregrips have remained unchanged. - -Rod & Spring gives a penalty to reliability now. It's just not a very solid construction... - -Folding stocks now have a slightly higher To-Hit penalty. - -The trigger group no longer adds reliability to your gun, it gives a small CTH penalty. - - - -##################### Version History ##################### - -Update 0.61b: - * Fixed CTD bug when merging. - * Some readme parts weren't updated. - * Included new map editor exe, because the old exe didn't know about default attachments, but it's just the latest editor and I've not tested it beyond seeing it it crashed. - -Update 0.60b: - - * Moved gun picture a bit to the left to allow 2 slots next to each other on the right. - * Fixed game sometimes not knowing about altered slots. - * Merged AttachmentSlotAssign.xml and AttachmentSlots.xml (Now there is just AttachmentSlots.xml) - * Revamped the adding and removing of slots. - Now you can add slots depending on the attachment ID, and if you want the item class / ID of the item it is attached to. - It is no longer dependant on the slot the attachment was in, because this restricted the system. - This change means it's now completely possible to add/remove slots in slots that were not originally on the gun. - * Fixed a crash when attaching in certain cases. - * Fixed grenade not attaching to the gun after adding the slot with the UGL. - * Made the amount of aimclicks dependant on wether you are actually using your scope. - * Added ini options to determine when a scope is considered "high powered" - * Default attachments per item class for items that do not have slots assigned. This can also be turned on or off in the ini. - * Fixed a 1.13 bug with reloadable rockets, also made semi-auto rocket launchers possible. Auto rocket launchers are still a problem. - * Increased the max amount of default attachments to 20 (by request). - * The result of merges is now checked for validity. This also means I had to change the coolness of these items to something that's not 0. - * Some general speed/readability improvements for the source that I shall not bother you with. - - -Update 0.503b: (also minor) - - * Added a readme. - * Added an optional items.xml with more balanced attachments. - - -Update 0.502b: (even more minor) - - * Fixed attachments possibly showing up multiple times in BR tooltips. - - -Update 0.501b: (minor and should not bother anyone. You don't have to redownload it.) - - * Fixed default ini - * fixed shift+f not removing attachments - * fixed players being able to start a game with NAS in OIV (which is not supported) - * removed svn files from the download archive. - - -Updates in 0.42a: - - * Fixed a crash when trying to attach in certain situations. - * Fixed "can't attach" messaging not always doing what I wanted. - * Fixed removing prohibited attachments sometimes being weird. - - -Updates in 0.41a: - - * Up to 10 default attachments. (just add the tags more times in items.xml) - * Added a listing of default attachments in bobby rays. - * Because there can now be more default attachments, they also have the same dropchance other attachments do. (Unless they are inseparable.) - This should balance the drops of default attachments a lot. - * Fixed a bug when creating items and then initializing them only to re-use them. (yeah whatever) - * Made some things more efficient and clear in the source. (but should not be noticed) - - -Updates in 0.40a: - - * More attachment for enemies, and a droprate for attachments in options in the Ja2_Options.ini. - * Made attachment swapping much more intuitive for the new system. - * Multiple launchables can be attached and fired when you add more slots to a launcher. - * Implemented big slots for bigger attachments than average. - * Fixed some undesirable behaviour when removing invalid attachments. - * Tooltips and warnings involving attachments improved. - * Fixed a crash when attaching something to some LBE gears - - -Updates in 0.36a: - - * Improved structure (for better stability later). - * Changed the way the game checks for invalid attachments. - * Fixed a crash with grenade slots (for real this time). - - -Updates in 0.35a: - - * Fixed savegame compatibility. - * Fixed a crash with grenade slots. (hopefully) - * Fixed a crash when adding slots through attachments - - -Updates in 0.34a: - - * Fixed slot adding/removing attachments - * Made everything more reliable internally (a big change internally, but you shouldn't notice it, the game now doesn't need ewish checks to work.) - * Magazine Adapters can now be made detachable safely (in your own items.xml), they still aren't by default though. - * Broke your savegame >:D - * Fixed a crash when sorting the map inventory, and then trying to sell it - - -Updates in 0.33a: - - * a few important bugfixes - - -Updates in 0.32a: - - * Renamed some things for more clarity - * New xml structure for ItemSlotAssign.xml. - * Added the possibility to add attachments that can add/remove item slots (people can make stuff like expansion rails now) - * Added a neater way of telling the player he can't play with OIV or the lowest resolution. - * Fixed some xml entries - * Gave underslung grenade launchers their own slot because you can apparently sometimes attach a grip alongside a UGL. This was causing the overlapping slots. - - -Updates in 0.31a: - - * Added all xml entries for *usefull* non-gun attachments - * Added all xml entries for combo-merges - * Fixed a minor placement issue and placed the default attachment slots elsewhere - * Moved from a debug exe to a normal exe. (It's just more practical) - - -Updates in 0.30a: - - * Fixed a few random lockups and crashes. - * GL's now work as intended - * Added support for ALL gun attachments (including weird ones such as ISM-V-IR) - - -##################### Modders Section ##################### - -If you want to add a new weapon, here is what you do. -1: Check if the slot you want exists in AttachmentSlots.xml, if it does, skip to step 3, otherwise you'll have to make a new slot. -2: Make a slot in AttachmentSlots, following the exmaples in the specific XML explenations under this section. -3: You can now add the slot to the itemID that you want in ItemSlotAssign.xml - -Booleans can be either 0 (false) or 1 (true). -Some of these attributes will have defaults, meaning if the tags are not found, the default value will be used. -These tags do not have to be used. - - -------------------- Items.xml ------------------- - -There are some extra tags in items.xml: - -0 -1 -> This item is only available with the old attachment system. -2 -> This item is only available with the new attachment system. -0 -> This item is available in both modes (default). - -5 This was already in the old items.xml, but it can now be used up to 20 times. -6 Like this. -2 - - -------------------- AttachmentSlots.xml ------------------- - -This xml is used to define the possible slots than can be used in other xml's. -It needs to be contiguous (e.g. the first block needs to have uiSlotIndex 0, the next one needs to be 1, then 2, etc). - -Usable tags: - Start of the xml. - Start of this slot. - 0 This number will be used to identify this slot throughout the other xml's. - I'm an example! The slot name, it is not (yet) used or read ingame so don't worry too much about it. It's just to more easily identify these slots (really, you'll be doing yourself a favor if you fill in these names). - 0 This is the position along the X axis relative to the upper left corner of the description box. - 0 This is the position along the Y axis relative to the upper left corner of the description box. - 0 This is a boolean determining wether or not this slot will fit a launchable that suits this weapon. Default is 0. - 0 Another boolean, this one determines if this is a bigger slot than usual. Default is 0. - 0 Boolean, slots with this tag are assigned to items that have no other slots (after other default slots have been applied). Default is 0. - 0 Boolean, default slots for pistols without slots. Default is 0. - 0 Boolean, default slots for machine pistols without slots. Default is 0. - 0 Boolean, default slots for SMG's without slots. Default is 0. - 0 Boolean, default slots for rifles without slots. Default is 0. - 0 Boolean, default slots for sniper rifles without slots. Default is 0. - 0 Boolean, default slots for assault rifles without slots. Default is 0. - 0 Boolean, default slots for light machine guns without slots. Default is 0. - 0 Boolean, default slots for pistols shotguns slots. Default is 0. - 0 Boolean, default slots for rocket launchers without slots. Default is 0. - 0 Boolean, default slots for grenade launchers without slots. Default is 0. - 0 Boolean, default slots for mortars without slots. Default is 0. - 0 Boolean, default slots for helmets without slots. Default is 0. - 0 Boolean, default slots for vests without slots. Default is 0. - 0 Boolean, default slots for leggings without slots. Default is 0. - Bind an attachment to this slot. - 0 The item Index (found in items.xml) of the attachment. - 0 The AP it costs to attach this item to this slot. (whichever item it's on and ONLY to this slot) - - You can have as many of these as you like. - 0 - 0 - - End of this slot. - End of the xml. - - -------------------- AlteringAttachments.xml ------------------- - -This xml is used to add or remove slots with attachments. The tags that are there twice means you can add more of them. -If ubWeaponClass and usItemInclude are both left empty, all items will get their slots changed by addsSlot and removesSlot, unless they are explicitly excluded by usItemExclude. -If you dont want to use a tag, just don't put it there. Things may go wrong if you add tags with just a 0 and expect them to not do anything. - -Usable tags: - - - 902 This is the ID of the attachment we want to add slots. - - 0 The weapon class of items we want to change the slots of. - 0 - 0 The item IDs of items we DON'T want to change the slots of. - 0 - 0 Items ID of the item we want to change the slots of. - 0 - 0 Slots to add if the above conditions are met. - 0 - 0 Slots to remove if the above conditions are met. - 0 - - You can have more effects per attachments, for different items. The game will pick the first valid ALTERATION it finds for the item. - 2 This ALTERATION will add slots to items with weaponclass 2 (AR's) or item ID 1, unless they have item ID 500. - 500 - 1 - 5 - 40 - - - - -------------------- ItemSlotAssign.xml ------------------- - -Assigns slots to items, so that the game knows what slots every item has (and in turn, that will reveal what attachments fit on the item). -Items that are not defined here, will get 4 default slots in which no attachments will fit, they are just there for merges. -The order in which items are added does not matter. - -Usable tags: - Start of the xml. - Start of this item. - 1337 The ID of this item, as defined in items.xml. - 3 This refers to uiSlotIndex in AttachmentSlots.xml. - 5 It defines that the slot with this index will be available on this item. - 7 You can use up to 30 of these tags, right now. (because that is the maximum number of attachments) - 4 Nobody cares about the order in which it is done. - 8 - End of this item. - New item. - 5 - 2 - - End of the xml. - - -------------------- NASIncompatibleAttachments.xml ------------------- - -Some attachments will prohobit the use of other attachments that go in a different slot. Normally NAS would allow this, because it's another slot. -This xml is made so that you can prohibit the use of these attachments when a certain attachment is attached (this is very similair to the way the old attachment system worked). - -Usable tags: - Start of the xml (just in case you haven't been paying attention before) - - 20 The item ID of the attachment (as defined in items.xml). - 50 The item ID of the attachment that this attachment is incompatible with. - - - 20 - 46 - - End of the xml. - - -##################### Contact ##################### - -I can be found at the Bear Pit, at the NAS thread: -http://www.ja-galaxy-forum.com/board/ubbthreads.php?ubb=showflat&Number=256358 - -Or I can be pm'd on the Bear Pit forums on WarmSteel. - -All NAS files can be found here: -http://www.mediafire.com/NewAttachmentSystem - -Sorry, no email :) \ No newline at end of file diff --git a/Docs/New Starting Gear Interface_NSGI_HowItWorks.txt b/Docs/New Starting Gear Interface_NSGI_HowItWorks.txt deleted file mode 100644 index 2f8d99536..000000000 --- a/Docs/New Starting Gear Interface_NSGI_HowItWorks.txt +++ /dev/null @@ -1,110 +0,0 @@ - - ,--. - ,--.'| .--.--. ,----.. ,---, - ,--,: : | / / '. / / \ ,`--.' | -,`--.'`| ' :| : /`. / | : : | : : -| : : | |; | |--` . | ;. / : | ' -: | \ | :| : ;_ . ; /--` | : | -| : ' '; | \ \ `. ; | ; __ ' ' ; -' ' ;. ; `----. \| : |.' .'| | | -| | | \ | __ \ \ |. | '_.' :' : ; -' : | ; .' / /`--' /' ; : \ || | ' -| | '`--' '--'. / ' | '/ .'' : | -' : | `--'---' | : / ; |.' -; |.' \ \ .' '---' -'---' `---` - - -New Starting Gear Interface Beta 0.4 -Build from MP Beta Branch Rev. 3582 -Credits for helping: Warmsteel, Headrock and smeagol - -Description: -Purpose of this modification is to make all starting gear items visible in the AIM website, at the -same time functionality to select up to 5 starting gear kits has been added. - -This modification will change the way that the AIM website will look, adjustments have been made to -the size and position of certain items to create space for the extra items that are displayed. - -For testing purposes the MercStartingGear.xml file has some changes, GEARKIT's from Mercs have been -randomly copied/pasted to act as extra GEARKIT's for other Mercs, the clean file is included in a 7z -file in the root of the folder. -The new MercStartingGear.xml file is not compatible with the XML Editor nor is it compatible with the -vanilla executable! - -Included in this release is a new hotkey for in the strategic view, SHIFT+W will make your selected merc drop ALL ITEMS -instead of just carried items in the case of SHIFT+E - -There's also a modification to the way the Merc on assignment system works. -In Ja2_Options.INI there's a way to set if a Merc can be on assignment at the start of the game, this -has been upgraded so that there's an option -that makes Mercs not go on any other assignments than yours during the whole duration of the campaign. -As default it's set to standard behaviour, so if you don't like it don't edit it. -The ini setting is placed under category [Recruitment Settings] - -;Mercs can be on assignment? -; 0 = default behaviour, mercs are on assignment at start, mercs go on assignment during campaign -; 1 = all mercs available at the start of the game, during the campaign they will go on assignment -; 2 = all mercs at your disposal. nobody goes on any other assignment than yours -MERCS_CAN_BE_ON_ASSIGNMENT = 0 - - -new in 0.4 is the possibility to enable/disable NSGI in Ja2_Options.ini under the category [Graphics Settings] -NSGI is ofcourse enabled in the ini in this package - -;New Starting Gear Interface -;This will enable the 21 item view in the AIM page and the possibility to select gearkits -;If set to FALSE, the game will use the original AIM page and 21 item view and gearkit selection are disabled (1st kit is used) -;If set to TRUE, the game will use the new starting gear interface, this will enable 21 item view and gearkit selection -USE_NEW_STARTING_GEAR_INTERFACE = TRUE - - -There are no settings for NSGI, it expects an altered MercStartingGear.xml -where the gear is put into GEARKIT's. -If only one GEARKIT is defined for a merc no selection buttons will be shown. -Up to 5 GEARKIT's can be defined per merc, the amount of GEARKIT's can vary per merc. -More than one GEARKIT will only work for AIM Merc's!! -Here under a demo of how the new XML looks, this is just for one Merc... - -single gearkit, only the mIndex and mName tag stay outside the GEARKIT, everything else goes into the GEARKIT - - - 0 - Barry - - items... - - - - -or multiple gearkits - - - 0 - Barry - - items... - - - items... - - - items... - - - items... - - - items... - - - - -compared to the original way - - - 0 - Barry - items... - - diff --git a/Docs/VirtualFileSystem_Setup.txt b/Docs/VirtualFileSystem_Setup.txt deleted file mode 100644 index 97b53e7ee..000000000 --- a/Docs/VirtualFileSystem_Setup.txt +++ /dev/null @@ -1,400 +0,0 @@ - - ------------- Howto setup the Virtual File System (VFS) ------------- - - v 1.1 by BirdFlu - - -* Table of Contents * ---------------------- -I. * Introduction - -II. * Configuration -II.1 - Glossary - -II.2 - Basic Configuration -II.2.1 main section -II.2.2 profiles -II.2.3 locations - -II.3 - Use Cases -II.3.1 main game files -II.3.2 "1.13 Mod" -II.3.3 User Mods - -II.4 - Extension -II.4.1 += Extension - -III. * Points of Discussion - -*********************************** -I. Introduction -*********************************** -The Virtual File System (VFS) manages file handling and offers a unified -view on the file system to the game at runtime. All files are accessible through -a path inside the VFS. During the setup, files and directories can be mapped -to a specified location in the VFS independent of its real location on the -hard disc. Additionally to the mapping of real files and directories, also -file archives can be mapped. Only SLF and uncompressed 7z archives are -supported right now. - -The current layout of the VFS is based on the original Ja2 game data directory, -i.e. the data directory is the root directory of the VFS. Further, there are -directories that are defined by the original SLF archives (Anims, BigItems, -Sounds etc.). These archives build the basic layer and on top of that come the -files from the Data directory. So, whenever a file is accessed (with path/filename -e.g. Tilesets/0/smguns.sti), the game looks in the Data directory first, and when -the file cannot be found there, it looks in the according archive (tilesets.slf -in this case). - -The 1.13 Mod adds another layer on top, the Data-1.13 directory, that -behaves in the same way as the Data directory. That is, when a file is accessed, -the game looks in the Data-1.13 directory first and only then continues with the -previously described steps. - -The VFS extends this system even further. It externalizes the definition and -configuration of these layers or profiles (as they are called in the VFS jargon) -and allows for an unlimited number of them. Additionally, the 7z file (uncompressed) -archive format is supported. Now the order of inclusion of the profiles and the -actual files and directories lie in the hands of the user. Thus a proper -configuration of the VFS is required. - -*********************************** -II. Configuration -*********************************** -The configuration of the VFS is done in an ini file (vfs_config.ini). You can -specify the filename in ja2.ini in key VFS_CONFIG_INI (section : Ja2 Settings). -If you don't do it, it defaults to vfs_config.ini. - -But lets define some basic terms(bottom to top), first. - -II.1 Glossary -=================================== -Location : A location can either be a real directory or a file archive. All files - inside these loactions are mapped into the VFS (recursively, i.e. contents of - subdirectories are also mapped). The user can specify the path inside the VFS - into which the external files are mapped. - -Profile : A profile is a named collection of locations. It is encouraged to define - a new profile for every mod and it is also encouraged to keep the data of this - mod "together". That is, the profile can define a profile root directory to - which the location directories are appended during initialization. (Keeping the - profile root empty gives you the possibility to stick together directories from - very different places on your hard disc. A better solution is to define a new - profile for non-related directories). - -Profile List (Stack) : Finally, the VFS is build from a list of profiles, where - the list is proccessed from left to right, i.e. the leftmost will be included - first and the rightmost profile will be included last (on the top of the stack). - During file access, the profiles are processed in reverse inclusion order. A - file search will start in the rightmost profile and will continue to the left. - -Profile mode : a profile can be defined as read-only (default) or as read-write. - You cannot write to a read-only profile. As there are some files that have to - be written (temporary file, savegames, logs, etc.) you have to define at least - one profile as read-write. Usually this should be the top (rightmost) profile. - Otherwise you could end up blocking a writable file with a read-only file. - -II.2 Basic configuration -=================================== -Lets start with a basic configuration. - -II.2.1 main section ------------------------------------ -The ini file start with - [vfs_config] - PROFILES = profile1, profile2, profile3, ... - -The value of the key PROFILES is a list of profile names. For every element -(profile) in this list another section must exist that has the format -[PROFILE_$name], where $name is a value from the profile list -(e.g. [PROFILE_profile1]. - -II.2.2 profiles ------------------------------------ - [PROFILE_profile1] - NAME = Some Arbitrary Name (probably a mod's Name) - LOCATIONS = location1, location2, loaction 3 - PROFILE_ROOT = Profiles\mod1 - WRITE = TRUE - -Each profile definition must have a NAME key and also a LOCATIONS key. The value -of NAME can be used inside the game to access the data of the specified profile. -The value of LOCATIONS is again a list of location names. Additionally a -PROFILE_ROOT path can be specified that will be prepended to all paths defined -in the location sections. A profile can have the WRITE property (default is FALSE). -At least one such profile must exist, as this is the place where temporary files -will be saved. Usually the top profile will have the WRITE property. - -Obviously a file must be saved in a real directory, so one of the locations is -supposed to have the TYPE = DIRECTORY. This directory should be mapped as root -(MOUNT_POINT = ). The most simple case is to define only one location with the -described properties. Thus the written temporary files will be saved in one place, -instead of being scattered over multiple unrelated directories. - -II.2.3 locations ------------------------------------ - [LOC_location1] - TYPE = DIRECTORY - PATH = - MOUNT_POINT = - - [LOC_location2] - TYPE = LIBRARY - PATH = profiles/libs/archive.slf - VFS_PATH = archive.slf - MOUNT_POINT = - -A location section name is build from an element from the LOCATIONS list of the -profile that is prepended with LOC_, e.g. [LOC_location1]. For every location the -TYPE has to be specified and can either be DIRECTORY or LIBRARY. - -For a DIRECTORY you can specify the PATH (directory) and the MOUNT_POINT. The -PATH value is appended to the PROFILE_ROOT path and decided where your files will -be located in the real file system. With the MOUNT_POINT value you can influence -the location of your files in the virtual file system. So, real path - PROFILE_ROOT/PATH/local_dir/file.name -will be mapped to - /MOUNT_POINT/local_dir/file.name -(accessible by just MOUNT_POINT/local_dir/file.name) - -A library is similar to a directory from the initialization point of view. But, -additionally, it has another key, VFS_PATH, which is similar to the PATH (file) -value. If the PATH value is not defined (= empty) or the specified file cannot -be opened, then the VFS_PATH value is evaluated. In order for this to work, you -have to have processed a location that contains the specified files. While this -is a more complex configuration process, it gives you the possibility to integrate -archives that are located in another archive themselves. - -II.3 Use Cases -=================================== - -II.3.1 main game files ------------------------------------ -The main use case is the setup of the main files for the game. - - ############## - [vfs_config] - PROFILES = Libs, Data - ############## - [PROFILE_Libs] - NAME = Ja2 game libraries - LOCATIONS = Anims, ..., Faces, ..., Tilesets, ... - PROFILE_ROOT = Data - - [PROFILE_Data] - NAME = Ja2 game files - LOCATIONS = Files - PROFILE_ROOT = Data - ############## - [LOC_Files] - TYPE = DIRECTORY - PATH = - MOUNT_POINT = - ############## - [LOC_Anims] - TYPE = LIBRARY - PATH = anims.slf - MOUNT_POINT = - - [...] - - [LOC_Tilesets] - TYPE = LIBRARY - PATH = tilesets.slf - MOUNT_POINT = - - ############## - -So, basically, you have the profile that specifies the game libraries as described -in (I.). Following is the profile with the Data directory. Since you need to have -a writable profile, we define a user profile that will contain only user data (the -other profiles contain only game data). - - [vfs_config] - PROFILES = Libs, Data, UserProfile - - [Libs and Data as before] - - [PROFILE_UserProfile] - NAME = User files - LOCATIONS = - PROFILE_ROOT = Profiles\UserProfile - WRITE = true - -If LOCATIONS is empty and WRITE is set to TRUE, then a writable directory in -PROFILE_ROOT will be initialized automatically. - -II.3.2 "1.13 Mod" ------------------------------------ -Adding a mod is simple. We take the 1.13 Mod as an example. - - [vfs_config] - PROFILES = Libs, Data, v113, UserProfile - - [Libs, Data and UserProfile as before] - - [PROFILE_v113] - NAME = v1.13 - LOCATIONS = datav113_dir - PROFILE_ROOT = - - [LOC_datav113_dir] - TYPE = DIRECTORY - PATH = Data-1.13 - MOUNT_POINT = - -The new profile for the Mod 1.13 is inserted into the profile list after the -Data profile, but before UserProfile. So, whenever a file is accessed, it -will be taken from the "Data-1.13" directory (when it exists there of course). -If not, the game will search in the following profiles ("Data", then "Libs"). - -II.3.3 User Mods ------------------------------------ -Instead of adding game data, the user can also add or replace the writable -profile (user profile). Thus, he can try out a new mod (that uses the VFS system) -without risking to overwite his savegames (and other temporary files). - - ################# - [vfs_config] - PROFILE = Libs, Data, v113, ExperimentalMod, UserProfile_exp - - ################# - [Libs, Data, v113 as before] - - ################# - [ExperimentalMod as in II.3.2] - [PROFILE_ExperimentalMod] - NAME = Files for experimental Mod - LOCATIONS = ExpMod_Libs, ExpMod_Files - PROFILE_ROOT = Profiles/ExpMod - - [LOC_ExpMod_Libs] - TYPE = LIBRARY - PATH = exp_mod.7z - MOUNT_POINT = Tabledata - - [LOC_ExpMod_Files] - TYPE = DIRECTORY - PATH = ModFiles - MOUNT_POINT = Interface - - ################# - [PROFILE_UserProfile_exp] - NAME = User file for ExpMod - LOCATIONS = - PROFILE_ROOT = Profiles\User_ExpMod - WRITE = true - -(NOTE: the user directory has to exist, even if it is empty) - -Since you can define the filenames for you VFS configuration file in ja2.ini, -you can create a couple of vfs config file and switch between them fairly -easy - - ############# ja2.ini - [Ja2 Settings] - ;VFS_CONFIG_INI = vfs_config.main.ini - ;VFS_CONFIG_INI = vfs_config.my_mod.ini - VFS_CONFIG_INI = vfs_config.ExpMod.ini - - -II.4 Extensions -=================================== - -II.4.1 += Extension ------------------------------------ -In an ini file it is possible to use the += operator, which appends a value to -a previously set entry, making it a essentially list. This is possible, because -internally a data structure (PropertyContainer) is used that contains a set of -mappings, that in turn map two keys to a property - [key1][key2] = property -This data structure can be initialized from an ini file, which make 'key1' a -section, 'key2' a key and 'property' the value of that section-key pair in that -ini file. This data structure can also be initialized from multiple ini files, -where the += operator appends a new value to an already defined entry. - -This extenstion is used in the configuration of the VFS, such that the definition -of the VFS_CONFIG_INI value in in ja2.ini accepts a list of configuration files. As -one value makes a one-valued list, this extension fits nicely in the system without -requiring modifications to existing configuration files. - -So, a possible application of this extension could be the stand-alone configuration -of a mod, where each mod brings an own configuration file that is merged with -configuration files from other mods. Thus, it is easy to create a valid configuration -for a larger number of mods, where otherwise for every mod combination an own -configuration file would have to be created. And even for a small amount of -(combinable) mods the total number of configuration files would increase very fast. - -For the default mod combination (Vanilla, 1.13) there would be two mod and one user -configuration file - - ############# vfs_config.ja2.ini - [vfs_config] - PROFILES = SlfLibs, Ja2Data - - [PROFILE_SlfLibs] - ... - - [PROFILE_Ja2Data] - ... - - [LOC_...] - ... - - ############# vfs_config.v113.ini - [vfs_config] - PROFILES += v113 - - [PROFILE_v113] - NAME = v1.13 - LOCATIONS = datav113_dir - PROFILE_ROOT = - - [LOC_datav113_dir] - TYPE = DIRECTORY - PATH = Data-1.13 - MOUNT_POINT = - - ############# vfs_config.user.ini - [vfs_config] - PROFILES += UserProf - - [PROFILE_UserProf] - NAME = User Profile - LOCATIONS = - PROFILE_ROOT = Profiles\UserProfile - WRITE = true - ############## - -The actual combination of mods would be done in the file ja2.ini, where - - ############# ja2.ini - [Ja2 Settings] - VFS_CONFIG_INI = vfs_config.ja2.ini, vfs_config.user.ini - -would be the Vanilla game configuration, and the following - - ############# ja2.ini - [Ja2 Settings] - VFS_CONFIG_INI = vfs_config.ja2.ini, vfs_config.v113.ini, vfs_config.user.ini - -would be the setup for the "1.13" mod. - -Other mods can be added by simply entering its configuration file -in the list - - ############# ja2.ini - [Ja2 Settings] - VFS_CONFIG_INI = vfs_config.ja2.ini, vfs_config.v113.ini, mod1.ini, mod2.ini, vfs_config.user.ini - -In order to avoid mixing savegames and temporary files of different mod combinations, -a separate user profile directory can be used, where every user profile is defined -in an own user configuration file. The user profile can be selected by adding the -according configuration file at the end of the mod configuration file list. - -*********************************** -II. Points of Discussion -*********************************** - -TODO: ... - diff --git a/JA2_113_Fixes.txt b/Docs/Windows Compatibility Fixes/ReadMe.txt similarity index 76% rename from JA2_113_Fixes.txt rename to Docs/Windows Compatibility Fixes/ReadMe.txt index 8d1cafcc3..4bb402b7c 100644 --- a/JA2_113_Fixes.txt +++ b/Docs/Windows Compatibility Fixes/ReadMe.txt @@ -1,15 +1,16 @@ --------------------- -Problems & Solutions --------------------- +------------------------------------------- +Windows Compatibility Problems & Solutions +------------------------------------------- -Graphic Glitches +* Graphic Glitches * http://www.ja-galaxy-forum.com/board/ubbthreads.php/ubb/showflat/Number/318670/Searchpage/1/Main/20951/Words/ati+graphic/Search/true/Re_graphical_glitch_with_4870_.html#Post318670 http://www.ja-galaxy-forum.com/board/ubbthreads.php/topics/300623/JA2_graphics_are_like_running_.html#Post300623 http://www.ja-galaxy-forum.com/board/ubbthreads.php/ubb/showflat/Number/201044/Searchpage/1/Main/14041/Words/catalyst/Search/true/Re_mouse_artifacts.html#Post201044 http://www.ja-galaxy-forum.com/board/ubbthreads.php/ubb/showflat/Number/275601/Searchpage/1/Main/18045/Words/catalyst/Search/true/Re_Jagged_Alliance_2_1_13_in_W.html#Post275601 -Windows 8 +* Windows 8 * http://www.ja-galaxy-forum.com/board/ubbthreads.php/ubb/showflat/Number/321861/Searchpage/1/Main/20560/Words/glitch+windows+7/Search/true/Re_Jagged_Alliance_2_on_Window.html#Post321861 +Just extract the "Windows 8 Fix.zip" to a temporary folder and read the included "ReadMe.txt" file! -Mousewheel not working +* Mousewheel not working * http://www.ja-galaxy-forum.com/board/ubbthreads.php/ubb/showflat/Number/321048/Searchpage/1/Main/21076/Words/glitch+windows+7/Search/true/Re_1_13_Mouse_wheel_issues.html#Post321048 \ No newline at end of file diff --git a/Windows 8 Fix.zip b/Docs/Windows Compatibility Fixes/Windows 8 Fix.zip similarity index 100% rename from Windows 8 Fix.zip rename to Docs/Windows Compatibility Fixes/Windows 8 Fix.zip diff --git a/Download latest ja2.exe - ReadMe.txt b/Download latest ja2.exe - ReadMe.txt new file mode 100644 index 000000000..0c288ffc5 --- /dev/null +++ b/Download latest ja2.exe - ReadMe.txt @@ -0,0 +1,7 @@ +Download latest ja2.exe (Development version) directly from: + +* D.Brot's SkyDrive * +https://skydrive.live.com/?cid=013a6926eac52083&id=13A6926EAC52083%21202 + +* Faalagorn's Location * +https://drive.google.com/folderview?id=0B6NEi4vM86_bUm1jc3pSNFNKM0k \ No newline at end of file diff --git a/LuaEdit 3.0.3 - Installer.exe b/LuaEdit 3.0.3 - Installer.exe deleted file mode 100644 index aaf3acc59..000000000 Binary files a/LuaEdit 3.0.3 - Installer.exe and /dev/null differ diff --git a/MercProfileEditor2_Beta.zip b/MercProfileEditor2_Beta.zip deleted file mode 100644 index 632b40dfd..000000000 Binary files a/MercProfileEditor2_Beta.zip and /dev/null differ diff --git a/german.cp b/german.cp deleted file mode 100644 index 6f1f14aa8..000000000 --- a/german.cp +++ /dev/null @@ -1,14 +0,0 @@ -mode = normal -48 = {0123456789} -65 = {abcdefghijklmnopqrstuvwxyz} - -186 = {ü+,-.#ö} -219 = {ß} -222 = {ä} - -mode = shift -48 = {=!"§$%&/()} -65 = {ABCDEFGHIJKLMNOPQRSTUVWXYZ} - -186 = {Ü*;_:'Ö} -222 = {Ä} diff --git a/ja2.exe.download.txt b/ja2.exe.download.txt deleted file mode 100644 index 4db2579ac..000000000 --- a/ja2.exe.download.txt +++ /dev/null @@ -1,2 +0,0 @@ -Download latest ja2.exe (Development version) directly from D.Brot's SkyDrive: -https://skydrive.live.com/?cid=013a6926eac52083&id=13A6926EAC52083%21202 \ No newline at end of file diff --git a/ja2export Help.txt b/ja2export Help.txt deleted file mode 100644 index 699215b3c..000000000 --- a/ja2export Help.txt +++ /dev/null @@ -1,27 +0,0 @@ -Use the tool ja2export.exe to export ja2 files (sti, jsd, ...) to new format (png, 7z, xml). - -ja2export.exe help - -> Shows the help -ja2export.exe help sti - -> Shows specific help for the sti command - ----------------------------- - -Option "ja2.ini" properties. Most of the properties need the tool ja2export.exe to first convert the data files in the proper format. - -USE_PNG_ITEM_IMAGES - -> Load item graphics from PNG files instead of STI files - -USE_XML_STRUCTURES - -> Load XML files for the tilesets structure instead of the default tileset structure (JSD files) - -USE_XML_TILESETS - -> Should the game use the new tilets structure files (XML and 7z-package) instead of the default tileset structure files (STI images) - -EXPORT_STRINGS - -> Exports the strings from the language specific files (_EnglishText.cpp, ...) to XML files when starting ja2.exe - -> USE_XML_STRINGS must be set to TRUE to use this - -> Once the files are exported, set this property to FALSE. - -USE_XML_STRINGS - -> Should the game use the texts from the XML files instead of the *.CPP files (e.g. _EnglishText.cpp, ...) diff --git a/ja2export.exe b/ja2export.exe deleted file mode 100644 index db02f910a..000000000 Binary files a/ja2export.exe and /dev/null differ diff --git a/transfer_rules.txt b/transfer_rules.txt index 64436b960..b88bd87ad 100644 --- a/transfer_rules.txt +++ b/transfer_rules.txt @@ -1,4 +1,5 @@ -; default action is 'ACCEPT', so everything that is not explicitely denied will be transferred +; This file is only used if you want to play JA2 1.13 Multiplayer +; default action is 'ACCEPT', so everything that is not explicitely denied will be transferred deny shadetables/* deny temp/* deny ja2_settings.ini