SUBSIM: The Web's #1 resource for all submarine & naval simulations since 1997 |
08-08-16, 01:40 PM | #1 |
Lieutenant
Join Date: Jun 2010
Location: Germany
Posts: 253
Downloads: 3
Uploads: 1
|
mySH3-TooL_v1 small SH3 Mod-Helper Tool (this is not a Mod)
[EDIT] v2.2a
Hello boys, and girls! This is a perfect moment to say thank you, all you Modders out there. This time i would like to give some feedback, with a small Helper-Tool. In the old days my computer seams to be not smart enough running a lot Mods or some bigMods. I get often a crash, after loooong Loading time. 8 - 10 minutes waiting, and boom. So i start peek and poking around, trying to find out whats going on. On the way i create some small Helpers, which was someday put together under one GUI. This is the result. You can find it here in the Subsim-Downloads section Utilities. Link on Bottom. from the readme: -------------------- mySH3-TooL v2.2a by HEB. This tool is made assist me in modifying diverse text-files in the SH3-game. You may find it useful if you are doing so for yourself. If not, it may be useless. There are functions of find Errors/Quirks, non-working entries, renumber, extract, or give some info. For a complete List what it can do see the description of Buttons below. It performs a lot of Date/Time Checks. The range allowed for Year is 1938-1945 in messages_*.txt and 1850-1999 on all other Dates. first: mySH3-TooL will not start if something wrong in the Configuration- file (mySH3-TooL.cfg). So edit this for your needs. Your Operating-System may prevent access of any downloaded file. mySH3-TooL will never show a full path in any of its Window-titles! needs: o Windows2000 and up, Win95 does not work, run fine with Win7-64 o a Text-Editor like Notepad (with nonproportional fixed width font is best) o a Compare-Tool like WinMerge (Left and Right pane, not up and down, with nonproportional fixed width font is best) o a installed SH3-game how does it work: mySH3-TooL is made with a Left-Pane for directories and a Right-Pane for the files in these dirs, and some buttons around. Navigate by Mouse-Click on Drawers foreward and on the TwoPoints-".." backward. The drawer where you are into will be seen on top of the panes. The Status-Line on bottom mostly shows results of operation. The Tool will not modify your original files, exept you say so. Some buttons create companion-like files to work with. These may be rolling away by yourself. Most buttons begin with 3 letters indicating the file-extension they work with. Some Buttons have Help-Text. Some information will be shown in some message boxes. You may read them before click them away. For history please see "mySH3-TooL_H.log". ---------------------------------------------------------------------- -----Right-Buttons---------------------------------------------------- [Load Dir] Load a Directory to work with. ---------------------------------------------------------------------- [ED] Start Text-Editor for a quick look into the file, or edit it. ---------------------------------------------------------------------- [DELETE] If you know what you are doing, this button can be activated by apending "PRO" to the CommandLine. One Click - and the selected file will be gone; No Recycler! ---------------------------------------------------------------------- [Calc] Five panes of calculations: Crop2Pix, Pix2Crop, LonLatDist, LonLatHead and Hex2revers. The 1st two calculates Percent Crop= entries to the more readable form or the other way around - from Cut-Pixels to Percent Crop. Maybe 0.779297,0.564453,0.078125,0.0800781 in menu_1024_768.ini and the dimension of the used picture maybe 512x512 becomes Start X:399 Y:289 - High X:40 Y:41 where the originated pixels begin and end. The third one will calculate the in-game-Distance between two sets of Longitude Latitude coordinates in Meters as shown in Campaign-files. It tries to show the same distance as the Sh3MissionEditor, but also a not that hard rounded value. For example -3191082.000000;4579035.000000 -3191075.000000;4579581.000000 becomes Distance is ~546.0m (546.044870). The fourth one will calculate the Heading from one set of Longitude Latitude coordinates to another one. For example -8864590.000000;4849250.000000 -8720940.000000;4750150.000000 becomes Heading=124.600676 (~124.6) The Fifth will show a Hexadezimal-Number in reversed form. Big-endian or Little-endian into its counterpart. For example 3bbbc07fda32fe5f becomes 5ffe32da7fc0bb3b -- 5FFE32DA7FC0BB3B. The results can be copied and pasted somewhere else. ---------------------------------------------------------------------- [Help] Start Editor with this "ReadMe". ---------------------------------------------------------------------- -----Bottom-Buttons-----(unsorted order)------------------------------ [1st: makeDBs - SH3] is needed before [csv Campaigne Check] and [cfg EnGeNames Check] Creates five "DataBase" DB-files in mySH3-TooL-directory named "DB_AirLndOrdSeaSub.csv", "DB_Roster.csv", "DB_EqpLoadout.csv", "DB_Sim.csv" and DB_Dat.csv of the current SH3-dir (selectable in Config-file) which are used to check Campaign-files or Names-files. This Function is the Base of Error-checking of relevant text-files in the SH3-installation. On the first run you will see that it can find Typos, write errors, that primarily occure when Humans type text into a text-file, but are essential to the game. Also these DB-files will be compared against each other to identify Differences and inconsistencies of the SH3-installation. If Diffs found also creates file "DB_Diffs.txt" and will open it in the external Editor. Beware, every click creates new DB-files overwrite existing ones, and deletes DB_Diffs. So for Future needs (compare/analyse/whatever) you may rename these files. AirLndOrdSeaSub means the Drawers Air Land Ordnance Sea Submarine. Roster means the Drawer Roster. Please keep in mind, most of the checks abort on the first quirk found in a file; there may be more than one. After you have corrected the quirk, run [makeDBs] again. (~10+ times of Roster/SSTypeVIIC.cfg ) (see [cfg RosterDateCheck] below) -------------------------------------------------------------------- | Please, never change SH3-files directly in your SH3-Installation. | | Instead use "JoneSoft Generic Mod Enabler" (JSGME) and make a Mod | | with an clear name to put all found (and corrected) files into. | | Do not, i repeat: _Do Not_ change MODs with JSGME if you have any | | files open to work with! This may corrupt your SH3-installation! | -------------------------------------------------------------------- For one quirk found two (or more) lines will be shown. One (or more) under "--CHECK-- AirLndOrdSeaSub:" One (or more) under "--CHECK-- Roster:" and One (or more) under "--CHECK-- Cfg Loadout:" One (or more) under "--CHECK-- Eqp Loadout:" These two (or more) lines may coexist for the same Quirk. Changing the cause of one will also eleminate the other one (or ones). You may prioritize lines introduced with a leading separate line like "DB_ALOSS.csv Line 175:". The Output from this [makeDBs] may be somewhat irritating, when a huge number of quirks is found (more then a fullscreen-size text-output), so the following procedure may be easier in the first place: These DB_*.csv files can be loaded into OpenOffice-SCalc or other Spreadsheet-style Tools for analyse. Look for entries begin with "==" (for example ==SomeErrorMessage==). If there are entries under AirLndOrdSeaSub but not under Roster and say only "==not (or Err) in Roster==", this means "Not In Roster". These found entries may only waste your (RAM/Disk-)Space since it is unlikely they are used in Campaign without any entry in Roster. It is unlikely you will find an lonely entry under Roster that says: "==not (or Err) in AirLndOrdSeaSub==" since that would also trigger an "Engine Message" on Starting Sh3MissionEditor saying unit class from country "not found in platforms library". Example 1: (part of unmodified SH3 v1.4b) ,--------------- |--CHECK-- AirLndOrdSeaSub: |DB_ALOSS.csv Line 55: <===this is an introducing line=== |NCO_Flower;SH3:\data\Sea\NCO_Flower\NCO_Flower.cf g;COFlower;==Line:25 "Number 5" mismatch== | |--CHECK-- Roster: |COFlower.cfg - "COFlower" - "1" (Sea/Canadian) ==not (or Err) in AirLndOrdSeaSub== |COFlower.cfg - "COFlower" - "1" (Sea/FreeFrench) ==not (or Err) in AirLndOrdSeaSub== |COFlower.cfg - "COFlower" - "1" (Sea/Greece) ==not (or Err) in AirLndOrdSeaSub== `--------------- This quirk is not located in Roster but in AirLndOrdSeaSub. Change Line 25 in NCO_Flower.cfg from "Area6" to "Area5" to go next. This will also eleminate the 3 entries under Roster. See above recommendation about JSGME. Example 2: (part of unmodified SH3 v1.4b) ,--------------- |--CHECK-- AirLndOrdSeaSub: |NDD_Somers - "DDSomers" - "4" (Sea) ==not (or Err) in Roster== | |--CHECK-- Roster: |DB_ROSTER.csv Line 22: <===this is an introducing line=== |DDSomers.cfg;SH3:\data\Roster\American\Sea\DDSome rs.cfg;DDSomers;American;4;==Line:59 "[Unit 11]" Sequential Order== `--------------- This quirk is located in Roster, not in AirLndOrdSeaSub. Delete the second item Nr.10 or rename it to 11 and renumber the rest of items till end from Line 59 in DDSomers.cfg to go next. This will also eleminate the entry under AirLndOrdSeaSub. See above recommendation about JSGME. Example 3: (part of unmodified SH3 v1.4b) ,--------------- |--CHECK-- cfg Loadout: |ALB_JU88 - "LBJU88" - "301" (Air) ==Loadout not exist in cfg (diff cfg<>eqp)== | |--CHECK-- eqp Loadout: |ALB_JU88 (Air) ==Loadout "10x50Kg Bombs" not found in cfg (diff eqp<>cfg)== `--------------- These two entries also coexist for the same quirk. Difference in Loadout-definitions in "Platform.cfg" and its *.eqp. The platform cfg "ALB_JU88.cfg" have 3 Loadouts: Basic, "5x500Kg Bombs" and "5x250Kg Bombs". The Equipment-file "ADB_JU87Stuka.eqp" have 4 Loadouts: Basic, "5x500Kg Bombs", "5x250Kg Bombs" and "10x50Kg Bombs". The "10x50Kg Bombs"-entry from eqp is useless; there is no Bomb50Kg in Library\Bombs.dat. See above recommendation about JSGME. When changing the Loadout, keep in mind this Loadout may also exist in a (Single-/Multi-)Mission- or Campaign-file! There are also some Date checks in DefSide.cfg and CargoDef.cfg. And some PQ (patrol-grid) check in Flotilla.cfg when Basic.cfg allows for Grid-Renown (is not set to "0"). This PQ-check works only for the SH3-original Gridmap and its 4-letter code for example AM52. Also, check for Single- and MultiMissions for there Name-integrity. (If there is an "Barham"-dir then must be an "Barham.mis" inside.) The paths to check are taken out of Localization.cfg. And a Check for MaxSpeed differences in Cfg- and Sim-files. You may look first into Campaign-files (see [csv Campaigne Check] below) which file of them (either Cfg or Sim) should be changed to equal MaxSpeed. In Case of unmodified SH3 v1.4b and Class=PCTrawler i recommend change Sim to 12, since there are a lot of Waypoints also set to 12 in the Campaign_SCR. These MaxSpeed-entries here are not needed to correct to make the [csv Campaigne Check] to work properly. The DB_Dat.csv is created to find very small or Zero-sized 3D-objects in DAT-files. On the way it will also count embedded images, find any sort of Shadows and give info of a index in these DATs. If there are no such things found, or the found index seems to be ok - the "mystic"-row will be almost empty as in original SH3 v1.4. The index is checked against the first found iD which should be enough to tell if its bad. The Statusbar will show only Dat-files in progress, not the mass other files. ---------------------------------------------------------------------- [open SH3dir] Try to open the SH3 directory (listed in Config mySH3-TooL.cfg) in the Systems file-manager (explorer.exe). ---------------------------------------------------------------------- [select Usedir] Try to open the working directory in the Systems file-manager (explorer.exe). ---------------------------------------------------------------------- [eqp/cfg Renum] o CargoDef.cfg o DefSide.cfg o Dials.cfg o Equipment EQP-file *.eqp o Locations.cfg ...can be renumbered to a new generated file. The original file is then compared to the new renumbered file and if they are identical, it will say so (no need to Renumber). This Renum can also used as an test if these files are sequential ordered. The Renumber will take in place; the files will not be sorted. ---------------------------------------------------------------------- [Campaigne - mis2csv] is needed before [csv Campaigne Check] All checks on Campaigne-files are done in (Comma-separated values) CSV-files. Actually there is no Comma, but Semicolon. Therefore it is possible to load these csv's into an Tool like OpenOffice-SCalc or another Spreadsheet-style Tool for much better reading or analyse. Reading and Analyse only. For Editings you may use an Tool like Notepad. And all saves should be in ANSI without any Formates. A simple mechanism; whenever an OpenBracked-"[" was found => NewLine. May work with Single-/MultiMission also. ---------------------------------------------------------------------- [Campaigne - csv2mis] This goes the other way around. When done edit the csv you may use this to make the csv a fully functional Campaigne-file "*.mis". You should compare the result with your original file before using it in-game. This works only for mis2csv-files (see above), not with CSV-files saved out of OpenOffice-SCalc. ---------------------------------------------------------------------- [csv Campaigne Check] First use [makeDBs]. Then [Campaigne - mis2csv] to create a CSV-style file to check then. This Check will not touch/work with your original *.mis CampaigneFile. It creates a companion-file (*--Check.csv), which you may delete afterwards. You can decide to start a full blown scan of all integrated checks which usualy find a great number of quirks or a much more reduced scan to show only the dangerous things by Right-Click the Button and configure the Campaigne Check. You get some infos first in a Dialog called "Part I", containing some counters. Also here a --Check-- hint when the Header of this Campaign- file is misused. And in Dialog "Part II" the Checkpoints which they are: ,---------- | DelLast: (Diff. DeleteOnLastWaypoint Group<>Unit) | Evolve : (Diff EvolveFromEntryDate Group<>Unit) | GrpDate: (Diff Entry-/Exit-Date CommandUnit<>Unit) | Command: (Diff CommandUnitName/Name or CommandEntry) | DateTime: (real Date or Time quirks) | DateEnEx: (GameEntryDate/Time vs. GameExitDate/Time) | EnExDate: (GameEntry/ExitDate vs. Roster Appearance/Disappear) | Loadout: (Loadout not found) | Cargo : (CargoExt) | Waypnt : (Speed Waypoints without Loop) | Docked : (Docked with Speed set) | ALOSS : (Not in AirLandOrdnanceSeaSub) | Roster : (Not in Roster) | Diverse: (various different things) |DB-ERRs: (Not found Entries in DB-files) | |INSERT/REPLACE: Result `---------- which means: (The "--CHECK--" line will be inserted into the companion-file.) If there are Ignores found, the complete Campaign-Check may be useless due to Errors in DB-files (not korrected quirk found in [makeDBs]), or not found entries in DB-files due to misspelled Class/Type/Origin. DelLast: (Diff. DeleteOnLastWaypoint Group<>Unit) --CHECK-- difference DeleteOnLastWaypoint Group<>Unit May Crash Game if you are near in the 3D-world when the (whole) Group is set to Delete on the last waypoint, but some entries are not. Also may Crash Game when the (whole) Group is not set to Delete, but the Leader-entry is. This Check will warn if any difference is found between Group-entry and its unit-entries even it may harmless. Evolve : (Diff EvolveFromEntryDate Group<>Unit) --CHECK-- difference EvolveFromEntryDate Group<>Unit This Check will warn if any difference is found between Group-entry and its unit-entries even it may harmless. GrpDate: (Diff Entry-Date CommandUnit<>Unit) --CHECK-- Diff EntryDate Unit < CommandUnit --CHECK-- Diff EntryDate Unit > CommandUnit This Check will warn if any difference is found between Group-Leader and its other Group-entries even it may harmless. If you have a short period of time from Group-CommandUnit Entry- and Exit-Date, but a lot of Waypoints, the Group may only reach its last Waypoint when you are near in Range in these short period of time, when the Group is rendered in 3D. Otherwise the Group may never reach its last Waypoint. Try Sh3MissionEditor "TimeAcc"-feature. Different Exit-Dates between Leader and Units are ignored. Only Leader exit-Dates seems to be used in-game. If these differences are found can be mean that this Group-EntryDate may not intended. Sh3MissionEditor does not create Groups with different Entrie-dates. Command: (Diff CommandUnitName/Name or CommandEntry) --CHECK-- CommandEntry as RndUnit not found --CHECK-- difference CommandUnitName<>Name Warns if the RND-Goups CommandEntry is not found in its Units or if the Groups CommandUnitName is different from 1st Unit-Name. This may also Crash the Sh3MissionEditor (ME). DateTime: (Date or Time quirks) --CHECK-- GameEntry/ExitDate/Time mismatch/Lenght This check finds nonexisting Date or Times. DateEnEx: (GameEntryDate/Time vs. GameExitDate/Time) --CHECK-- EntryDate ... ExitDate ... Time Entry-Exit-Date-Times makes no sense. For example when the ExitDate lives before the EntryDate, the unit may never appear. This Check will warn even it may harmless (normal-Unit in SCR-Group). Since my Tool can not detect Ships on the same place in different times, you may not change these Dates blind, better check the local area with Sh3MissionEditor (ME). Bewahre, ME change EntryDates (without notice) after 19451201 to Roster/Unit/AppearanceDate on "Properties/Accept". EnExDate: (GameEntry/ExitDate vs. Roster Appearance/Disappear) --CHECK-- ME GameEntryDate/GameExitDate vs. Roster GameEntry-/GameExitDate differ Roster Appearance-/DisappearanceDate between 19380101 and 19451231. This Check will warn if differences are found between Entry-/ExitDates and its corresponding Roster-Dates even it is harmless for SCR units. RND-units may not shown in-game until Roster-AppearanceDate and after Roster-DisappearanceDate. If both GameEntryDate and GameExitDate lives before Roster-Appearance-Date the RND-Unit may never shown in-game and this entry is useless. Scroll right to compare the dates with the above Group/Unit initial date-entries. "---ok---" means found Date on this place lives within Roster-range. "<==NoSpawn" means unit will never be seen. "<==Ghost==" means whole RND-Group have a Time-range from EntryDate till AppearanceDate (or from DisappearanceDate till ExitDate) of the Leader in which renders this Group as a Ghost; not real exist in the 3D-world, only the icon on Nav-map can be seen. "<==GhostAir" means the same, but also no icon on Nav-map. "<==Gap (or ERR)" means there may be a Gap between Entry- and ExitDate in which the Unit/Group will not spawn. Beware, ME may reset these Dates (without notice) on "Propertys/Accept". So these Hints may also useful for this, and do not disrupt the Campaign. Say, you have DisappearanceDate=19470101 in Roster, ME will reset ExitDate to 19450101. This Date may not what you want. All in all, you may let SCR-Dates as they are. But if you like to change them, again, do not change these Dates blind, better check the local area with ME. As there are alot of ExitDates that are different from Roster in the SH3 v1.4b, the special case ExitDate:19451231 vs Roster:19451201 is not shown, since at that time the war is over anyway. Loadout: (Loadout not found) --CHECK-- Loadout not found (in *cfg) Discrepancy in Loadout from "Platform.cfg". If this Loadout is not found, it will reset to "Basic" in-game, which may be not what you want. Cargo : (CargoExt) --CHECK-- CargoExt=0...x May crash game if Ext for Type=102 is -1, but should be above 0. For Type 102 it also checks that this number is inbetween CargoDef.cfg. Only shown if any 102-unit in the game has Cargo-nodes (cfg#Kxx). Waypnt : (Speed Waypoints without Loop) --CHECK-- NoLoop - LastSpeed is not 0 - or DeleteOnLastWaypoint not true --CHECK-- Loop LastWP - Speed is not 0 - or DeleteOnLastWaypoint not true --CHECK-- Loop mismatch --CHECK-- Loop mismatch somewhere above Warns if it finds something like 'Loop to itself' or 'Loop to Waypoints that not exist'. Or if the last Waypoint (WP) has Speed set above 0, but the Unit is not set to delete when reach the last WP. Also, this Check will warn even if DateTime between Entry- and ExitDate is short enough. (When Unit should be deleted on 'ExitDate'.) These Checks will not find all sort of possible combinations. The Sh3MissionEditor "TimeAcc"-feature may help. In MultiMission can be mean this Submarine-Commander is not set to 1. MaxSpeed-quirks have direct impact on ETA.WP-calculation, see below. Docked : (Docked with Speed set) --CHECK-- Docked - Speed not 0 If this unit is part of a group, the group raid away, and this unit will stay on place. Or the unit will stop when you come near in the 3D-world. The latter may or may not be intended. ALOSS : (Not in AirLandOrdnanceSeaSub) --CHECK-- Class/Type not (or Err) in AirLndOrdSeaSub (or old DB-File) May Crash Game on Load. (Sh3MissionEditor: Crash on item action.) Or not found unit in AirLandOrdnanceSeaSub due to quirk in [makeDBs]. Roster : (Not in Roster) --CHECK-- Class/Type/Origin not (or Err) in Roster (or old DB-File) o Origin not in Roster: No Flag, no RecManual, Unit neutral green. o Class not in RosterOrigin: RecManual no Ship only Country. o Class+Type not in RosterOrigin: RecManual no Ship only Country. o Class+Origin not in Roster: Crash Game on Load. o false Type: Crash Game on Load. (Sh3MissionEditor: no Names or Crash on item action.) Or not found unit in Roster due to quirk in [makeDBs]. Diverse: (various different things) see 4 paragraph below DB-ERRs: (Not found Entries in DB-files) If this Number is not Null, "Not Found"-entries are found in DB-files. INSERT/REPLACE: Result How many "--CHECK--"-lines are inserted into the new companion-file, and (if checked) how many CfgDates are replaced. IGNORES: (if in Status-line) This number shows not an 1:1 ErrorCount in DB-files, but how often all found Errors are counted by internal Program-routines. If this Number is shown, Errors are found in DB-files. There are some Checks without extra separate Checkpoints (as above), which will also grow the number of inserted lines. All of them are included under the following Checkpoint. Diverse: o Check for TAB (0x09) after some Entries --CHECK-- Tab after Name/Class/Origin (ME-Crash) This will Crash the Sh3MissionEditor (ME). o Check for Space (0x20) after some Entries (ME-Crash) --CHECK-- Space after Class/Origin (ME-Crash) This will Crash the Sh3MissionEditor (ME). o Check for DateTimes in Multi-/SingleMissions against Mission-Start/End-Dates and the used Commander-Unit with there Roster-Dates. --CHECK-- ERR: Player unit enters game after mission start or --CHECK-- ERR: Player unit exits game before mission start These ERRs may crash the Mission. An equal Error can be seen on Sh3MissionEditor "Check Mission". o Check for Entry-/ExitDates with there entries in Roster/DefSide.cfg. --CHECK-- StartDate/ExitDate not match Country in DefSide.cfg Units "without" Country in DefSide.cfg at that time. Units in-game are shown as neutral green. In case of unmodified SH3 v1.4b and Netherland you may change: ;StartDate=19390909 StartDate=19390801 in DefSide.cfg. See above recommendation about JSGME. o Check for units in groups which change Sides between 1 and 2 (not 0) --CHECK-- Side differ (allies/axis DefSide.cfg) - Line --CHECK-- Unit differ from last unit (Side= in DefSide.cfg) Maybe good visual effects if you are near in the area and able to see what units will survive in this group fighting. Submarines in Groups for generate intelligence- or contact-reports are ignored in this check. If there are more than one Check-line added can be mean that there may be also an quirk in DefSide.cfg, which may have also an impact on other entries in the same Group. o Check for some Entries not found --CHECK-- Speed/Lat/Lon not found --CHECK-- Class/Type/Origin not found self-explanatory o Check Duration of EntryExit-DateTime and Duration of Waypoints --CHECK-- Duration EnExDateTime < ETA.WPs ~Date Time Duration (is current) This Check try to calculate the Duration of all linear Waypoints (WP) (not the Loop ones) and compare these with the Duration from EntryDate till ExitDate+Time. It warns if the EnEx-DateTime is smaller than the calculated ETA-WPs DateTime. (ETA = Estimated Time of Arrival) This means the Group or Unit may disappear before the last WP is reached, if you are not in range. This ETA is the minimal Duration in GMT, not included WP-Radius, Loops or Local-time. ETA is what it is: estimated. The calculation tries to show the same result as the Sh3MissionEditor. If the difference is small (within minutes) you may let these Times as they are. But keep in mind that the used route may take much more time when alternate WPs and Loops are in effect. Also, any Speed-quirk found should be corrected first, since ETA- calculation is speed based. This check is not done in Single-/MultiMissions if EvolveFromEntryDate is set. o Check Groups/Units with Speed set above 0, but with no Waypoint (WP) --CHECK-- Speed set without Waypoint self-explanatory o Check Groups/Units with no Speed set (=0), but with more then 1 WP --CHECK-- Speed 0 with more then one Waypoint self-explanatory o Check for Distances of Units whithin Groups --CHECK-- Dist<300 UnitNum <> UnitNum ~Distance --CHECK-- Dist<300 Spacing Distance This check tests distances of all units in groups against each other and will warn if lower than 300m. This distance can be specified in the Config-file (MinDist=) from 300 to 1000 for RND- and SCR-units separatly. Units here mean all swimming units, but not ENV. If the distance within a Convoy is too small, some Units tend to not maintain its position on course redirection. In very rare sittuations the game may crash when you are near in range. o Check Units for Speed set greater then Sim.MaxSpeed or other Group-internal Speed-differences --CHECK-- UnitSpeed > Sim.MaxSpeed --CHECK-- GrpUnitSpeed > Sim.MaxSpeed --CHECK-- GrpUnitSpeed < GrpLeaderSpeed --CHECK-- GrpUnitSpeed > GrpLeaderSpeed --CHECK-- GrpSpeed > GrpMaxSpeedSim --CHECK-- SpeedWP (RND!) > GrpMaxSpeed Min (Max) --CHECK-- SpeedWP > SimMaxSpeed If the Speed for a Unit is set greater then the MaxSpeed-entry in the Sim-file the unit will reduce its speed when you came near in the 3D-world. The MaxSpeed value taken out of the Cfg-file for the Sh3MissionEditor (higher) and the entry in the Sim-file is then different (lower). If these units are found within a Convoy, they will also disturbe the Convoy-Formation. For RND-units the SpawnProbability is ignored. The MaxSpeed shown is the highest speed the unit in a group can go, as if all units are spawned. If the slowest unit in a RND-group is not spawned in-game the group may have a greater speed then - or, if the slowest unit is spawned, the RND-group may be split into faster and slower units when you come near in range. This 'Group distorsion' may or may not intended. If unsure let the RND-entries as they are. Since Land-units have usually a zero speed set in SIM-file, these non-common moving things are ignored. Even Leader-speed is used in-game, ME does not create Groups with different Speed-sets within groups (means not the WPs). o Check Units/Groups (not Land/Ordnance) for Heading=0 --CHECK-- Heading=0 - may be Angle (on WP1+) --CHECK-- Heading= count less then 6 num after point There may be two reasons for Heading=0 -- it is set to Zero by intention or it was forgotten to set in ME ("Head To Waypoint" or "Pivot To Heading"). This is relevant for SCR-Groups only, but will be checked for all with more than one Waypoint. SCR-Groups in-game will be turning around its Leader to its Waypoints- direction on the same place as they was initiated in 1st spawn-point. This can result in Group distorsion not intended. So its not a good idea to "correct" this Heading=0 automatically, even possible, without seen the Groups Start-position in ME with your own eyes. Also on Contact-reports (RND or SCR) they will be shown Heading=0 outside of ~500km around your Sub. If it finds no quirks, it will say so. All good. If it finds one (most often alot more than one), it will say so and open the external Compare-Tool with a new generated Companion-file to compare with. The quirks found will be documented by a new line inserted afterwards, telling what it think what it is. See above the --CHECK-- entries. An example: DeleteOnLastWaypoint=false Speed on last Waypoint is not 0 Loop=-1 With this constellation the Ship (or Unit) will be sail forever in the last direction. When your 3D-Dome in-game came across the actual Ship- position, the Ship may crash on Land when the 3D-World is created. The inserted Message will be: --CHECK-- NoLoop - LastSpeed is not 0 - or DeleteOnLastWaypoint not true This Campaigne-Check should be made against actual installed Campaigne-files and a fresh generated Set of DB-files with Zero "0" found quirks in [makeDBs]. Well, Zero is a good Startpoint, but there are exceptions. If you run this Check with a Set of files which do not rely on each other (DB-files and Campaign-file) you get more "--CHECK--" entries as it should be. This can happen, when you makeDBs first, then install a Mod that will change Units, and then try to check the Campaign file. By installing a Mod inbetween this process, the DB-files are no longer upto date and the check-result is useless. To be sure, run [makeDBs] before [csvCampaigneCheck]. If you run this CampaigneCheck with quirks found in [makeDBs], the result will be useless, as you may also get more "--CHECK--" entries. So please correct the found quirks from [makeDBs] first. See above recommendation about JSGME. May work with Single-/MultiMission also. See also next Button for one more Check. ---------------------------------------------------------------------- [csv Campaigne Renum] Renumber an Campaigne_*.csv file to a new generated file. The original file is then compared to the new renumbered file and if they are identical, it will say so (no need to Renumber). This Renum can also used as an check if the units (units only) are sequential ordered. May work with Single-/MultiMission also. ---------------------------------------------------------------------- [cfg EnGeNames Check] "EnglishNames.cfg" and "GermanNames.cfg" Sometimes in the Navigation-Map you may have seen the Name of the Unit is not shown. This comes from too long names. It will count them. Also check the Class-Name against DB-files AirLndOrdSeaSub and Roster if the En/GeNames-file reside in SH3-installation Path. If it finds no quirks, it will say so. All good. If it finds quirks, it will say so and open the external Compare-Tool with a new generated Companion-file to compare with. The quirks found will be documented by a new line inserted afterwards, telling what it think what it is. If the Filepath can be identified as SH3-install- Path then quirks may be also found on the end of the file. If you run this Check with quirks found in [makeDBs], the result will be useless, as you may get some more "--CHECK--" entries. It will be much better visual identify by use of a fixed width font in the Editorwindow like "Courier New". ---------------------------------------------------------------------- [cfg RosterDateCheck] is primary made for "Roster\German\Submarine\SSTypeVIIC.cfg" and is some sort of a "Light Version" of the date checks in [mkDBs]. Most of the Date-Quirks can be found, without restarting [mkDBs] again and again and again, but only for the selected file. If quirks found creates "Name.DatChk.txt" and open it in Editor. Please delete it yourself if you are done. Best practise is: o Locate quirky-file with Date problem o Copy file to a new JSGME-ModFolder-Structure o use [cfg RosterDateCheck] on these new Copy o correct items in these new Copy o activate new Mod o try another [makeDBs] Entries with the same day for DOC/DOD are not shown. (19430930) ---------------------------------------------------------------------- [txt messages* Check] "messages_de.txt" and "messages_en.txt" Some Radio-Messages may be not shown, such as: Date (End Transmision) is less then Date (Begin Transmision). This Check try to find this and other mistyped Quirks. The Content of the Message on the End will be not analysed, only there existence. This will create 4 helper-files. After job done, 2 are automatically deleted. The other 2 may be useful for analyse. Please delete them when you are done. Everytime will open the external Compare-Tool to compare. You have to scroll down to the bottom slowly as one can read. If the Line-Lenght in the newly created companion-file are all the same, then there are no quirks found. All good. If any line in the new file is longer than others you may investigate. All quirks found are inserted with "==" and makes the output-line longer. Also there may inserted entries from ERR0 to ERR8 with a hint like: "#==ERR0: begin line no digit==>". This means: found no Comment-Line, there must be an Date in front of this line, which is not found. EQU means equal. Example: (unmodified SH3 v1.4b) If you scan the messages_de.txt there are no quirks found. The only inserted "==" will be the Headerline, which is also commented out by "#", so "NoCheck ==>" here means: the whole line is not checked, as it is a Comment. If you scan the messages_en.txt there are (besides the Headerline) only a lot of TABs found on the End, which are useless and only waste Diskspace. ---------------------------------------------------------------------- [ini menu1024* Renum] Renumber the "menu_1024_768.ini" file to a new generated file. The original file is then compared to the new renumbered file and if they are identical, it will say so (no need to Renumber). It will also check if the Materials (Mat*=) are really exist. Right-click to enable (default) or disable this MatFileCheck. This Renum can also used as an check if the G*-Nums are in order. The Renumber will take in place, it will not sort all entries. Right-click for [Split ini for SH5edit] (see next) ---------------------------------------------------------------------- [Split ini for SH5edit] (for use menu_1024_768.ini) This function try to reduce work for loading parts of SH3-menu.ini into SH5-MenuEditor. Creates a Directory called "_SH3-Menu_forSH5-ED" in the MODS-directory of JSGME in SH3-directory. ---------------------------------------------------------------------- [dat getCFG] Will try to find some Equipment in this *.dat and in related files in the same drawer and output its result to a new generated *CFG.txt file which you may delete afterwards. Right-click to get [Dat Del.All.Idx.2.NewMod] (see next) ---------------------------------------------------------------------- [Dat Del.All.Idx.2.NewMod] means Dat Delete All Index to NewModDirectory Will delete all index from found Dat-files into a new Mod-Directory called "_NoINDEX" in the MODS-directory of JSGME in SH3-directory. On the way checks for things [makeDBs] does not check. If found mystic things creates "DB_idx.csv", or delete it when nothing found. Beware, you need alot Diskspace. For Test-purpose only. May find bad Index-Lenght or crippled files. ---------------------------------------------------------------------- [eqp Check] Will try to detect some quirks in this *.eqp using related files in SH3:\data\Library or \data\Objects. Its output is generated to two new *.txt Helper-files which you may delete afterwards. The eqp to be checked should live in the same Drawer where the other files for this Unit exists, else the check will Abort. Example: (part of unmodified SH3 v1.4b) SH3:\data\Sea\NCVE_Casablanca select NCVE_Casablanca.eqp ==> click [eqp Check] Result: NodeName=A09;<==not found== (Please delete the two *.txt Helper-files when you are done.) Node A09 does not exist in *.dat. The entry [Equipment 15] is useless and waste RAM- and Disk-Space. So it is a good idea to look into the related Dat-file, if and where the equipment is located. Sometimes there is no LinkNode, NodeName is wrong, or the Nodes exist on the same/false position. ---------------------------------------------------------------------- [sns Check] The same thing as [eqp Check] but for Sensor-files (*.sns). (Please delete the two *.txt Helper-files when you are done.) ---------------------------------------------------------------------- [dat EnvColors Count] gimmick This was made to detect the used colors in diverse environments, and try to create a usable "Tweak File" for the cool "SH3 Mini Tweaker". ---------------------------------------------------------------------- [ini2csv] gimmick, not yet useful. Can be used for *.ini or *.cfg files. ---------------------------------------------------------------------- [csv2ini] gimmick, not yet useful. Can be used for origin ini or cfg files, but the resulting ini-File-Extension must be renamed by yourself. ---------------------------------------------------------------------- [sim Check Gun-Shell] gimmick, not yet useful. Try to find IDs from AP, HE, AA or SS shells. ---------------------------------------------------------------------- [2nd: mkDB-LonLat0] This show some possibilities why the game may send your boat to Longitude Latitude 0.0, left of the West-coast of Africa. At the same time it will show you all collected infos from related files and also include checks about quirks found not related to [1st: MakeDBs] or [csv Campaigne Check], specially some quirks in en|de_menu.cfg, Campaign_LND.mis and Flotilla.cfg. It will find things like mis- spellings, conflicts, double Base-entries, Base-Lifetime gaps or overlaps. This is then written down to the File "DB_LonLat0.txt". Quirk-entries are enclosed with "==". The lots of "info:" given in the beginning is shown for better compare with some of the quirks found. Since ';' is already used in FlotillaNumbers '^' is used instead, if you try to open this in a Spreadsheet-Tool like SCalc. Flotilla.cfg has to be halfway correct, or the Check will not start. ---------------------------------------------------------------------- [zon AmmoDamageInfo] SH3 *.zon file in SH3:\data\Library Try to get some Info of AmmoDamageInfo from this zon and corresponding dat-file from Bombs, DC_X_H, DepthCharges, NavalMine, Shells, Torpedo, and create a new Companion-file (Name_iDs.csv) to identify differences with iD, Parent iD, MinEF, MaxEF, AP, MinRadius, MaxRadius, Name. You should delete this new created *_iDs.csv after usage, for the game it is useless in SH3/data/Library. Right-click will combine all above zon-files to a Database named "DB_AmmoDamageInfo.csv" into the mySH3-TooL-directory. Every use will overwrite this file with a new one. There may be other files with AmmoDamageInfo. ---------------------------------------------------------------------- [csv Camp.ExtrctUnt] means csv Campaigne Extract Unit It is made to compare my own capabilities of extracting a Unit from the Campaigne*.csv, to a more automatic-solution. For example "DDHunt" or "DockedShip=false;GameEntryDate=194105" or "Bismarck" or ";Class=NavalBase;" or "Origin=German" or "Minefield" (without Quotes) may be usable as input. The "Search" will be extracted with its Waypoints. Also if found within a Group, the whole Group is extracted. For making a playable *.mis-file with [csv2mis] a [csv Camp.Renum] and [csv Camp.Check] should be done before use in-game. May work with Single-/MultiMission also. ---------------------------------------------------------------------- [3rd: makeDB_ALL] get some entries out of DB_*.csv (must already exist and Error-free), created before with button [1st: makeDBs - SH3], and creates a new "DB_ALL.csv". Every click will overwrite it and creates a new one. This is made to have a faster view to some information needed when struggling with Campaign-files. Please open this new file with "SCalc" or whatever Spreadsheet-Tool you use, and save it later under new name and the new preferred extension (not csv). On Opening you may set all the Rows to "Text" but the last Row "Sil" to "Standard". This way you can click the Sil-entry and it will open your Operating System *.tga connected Program to have a fast view to see what this entry looks like. Change first line to Data/Filter/AutoFilter to restrict your Search. ---------------------------------------------------------------------- mySH3-TooL is FREEWARE, so make Money with it is not allowed. No warranty is given to whatever. Use at your own risk! -- Hebe Vollmaus on 2024-05-17 Germany END -- Download: http://www.subsim.com/radioroom/down...o=file&id=5022 Discussion thread: http://www.subsim.com/radioroom/showthread.php?t=227227 Last edited by Hebe Vollmaus; 05-18-24 at 12:17 AM. Reason: Update to v2.2a |
|
|