13-0315-2004 ------------ latest rev: 1124 (respin for Uni Life) --- 13-0210-1856 ------------ latest rev: 1124 Get GEOM group-kinned resources. --- 13-0128-1924 ------------ latest rev: 1113 (respin) --- 13-0126-2145 ------------ latest rev: 1113 (respin) --- 13-0118-2257 ------------ latest rev: 1113 (respin) --- 13-0105-1939 ------------ latest rev: 1113 (respin) --- 12-1225-1207 ------------ latest rev: 1113 (respin) --- 12-1213-2000 ------------ latest rev: 1113 (respin) --- 12-1210-1322 ------------ latest rev: 1113 Replace initial blueprint cloning with hopefully more robust approach. --- 12-1201-2024 ------------ latest rev: 1111 Remove STBL shortcut that causes problems if EA decide to include a blank string. --- 12-1129-2009 ------------ latest rev: 1109 Support for cloning blueprints enhanced further, including some of the kinned resources for the BlueprintXML. (and further re-spinning!) --- 12-1124-1536 ------------ latest rev: 1106 Bind tightly to OBJD (and OBJK where it wasn't already), rather than through TypedValue. (Re-spin for latest s3pi - recognises actual Seasons content!) --- 12-1117-1417 ------------ latest rev: 1105 Support cloning Blueprints. (Also re-spin for latest s3pi.) --- 12-1103-0956 ------------ latest rev: 1103 Compliance with changes to Add(). (Also re-spin for latest s3pi, of course.) --- 12-0923-1032 ------------ latest rev: 1094 Update installer "Help" URL. Oops: when redisplaying, it's the SelectedItem that we want showing. Fix: Don't forget CTPTPairs anywhere (as opposed to everywhere..!) Fix: Don't move cached ListViewItems between ListView components (use clone). Clear tabs in more places. Forget selectedItems when clearing tabs. FR: Export (largest) thumbnail. --- 12-0822-1505 ------------ (Respin for s3pi changes.) --- 12-0819-1509 ------------ latest rev: 1080 Do not copy in all those now embedded config files. Fix RunRepair (and StartFixing) not to use cloneFixOptions (which could be null). (Respin for s3pi changes.) --- 12-0608-0858 ------------ latest rev: 1078 Fix up how PngInstance-referenced ICON image resources are found. --- 12-0530-0825 ------------ latest rev: 1070 Renumber TXTF ("Superblock") chunks in TXTCs (or, indeed, standalone). Only touch Fallback Index when renumbering (oops). Log _KEY addition IIDs in hex not decimal. --- 12-0415-1033 ------------ latest rev: 1066 ActionExport: Check before adding an entry to the _KEY. ActionExport: Close the package before passing it to the editor. CASP: Another rewrite of the cloning process. --- 12-0310-0916 ------------ latest rev: 1063 Ensure unique keys when finding multi-tile fireplace resources. Use splash screen around AutoUpdate check, just in case user's Internet connection is unavailable. Table controls renamed (e.g. tlpUnknown8 -> tlpObjectTypeFlags) to make the code more readable New table control (tlpObjectTypeFlags2) for ObjectTypeFlags2. Two new tables (tlpFuncSub2Low and tlpFuncSub2High) for FunctionSubCategoryFlags2. Tab pages reorganised (new Funcs (2) tab for FunctionSubCategoryFlags2; Build renamed Misc (2) and has WallPlacementFlags on, too). Flag fields are only available in OBJDs of the appropriate version, based on what the OBJD itself says it has available Appropriate visual feedback given for the above --- 12-0222-2101 ------------ latest rev: 1061 Move Splash into its own file and tart it up a bit. Redesign CASP form to make it more stretchy. Bring s3oc and s3pe command line handling in line (again). Allow both /select and user package on command line to work. Process command line arguments once the main window is shown (more responsive). Use DropDownList for CASP comboboxes. Rewrite CASP tab combobox initialisation, filling and value determination to make it easier to read. Split out Region from ClothingCategoryFlags. Align CASP non-deep cloning with current thinking (remove all _XML except explicitly required). Remove "(Experimental)" from CASP menu item. Prevent Search sending SelectedIndexChanged events after it's meant to have stopped. Additional diagnostics. Don't worry about tabs if selected index changed on formClosing. Set lastStepInChain correctly for CASP. Be more choosy with LOD images in non-deepclone. --- 12-0204-2341 ------------ latest rev: 1047 Settings/Package Editor: Change button labels. Fix CASP settings not being set during clone. Allow multi-select for open in editor. Bring Search and Find Resource back in line. Move "controller" code out of Search and Find Resource forms. Allow package on command line. --- 12-0128-2159 ------------ latest rev: 1042 Drop the semweb readme and reference (code dropped some time ago!). Pick up MeshChunks (for GEOM, for CASP). Refactor CASP deep clone code. CASP cloning enhanced, now supporting deep and not-so-deep cloning. TGISearch: New PasteRK button and improved upper context menu sensitive area TGISearch: Lower context menu "Open in editor" now exports the resource selected to a new package and opens that. Cache completed objectchooser EA result lists (lots of changes). Cache individual list entries, too, in case we see them again. Don't use objectchooser for Fix pass. Turn off the list sorter whilst filling it!! Enumerate through matching SpecificResource values, adding as we go now it's fast. Spash screen... New "/select" command line option to select the resource to clone. Accept a package on the command line (as if File->Open...'d). Various form handling tidy-ups. 'isFix' variable now only needed for Clone/Fix code. Window title includes the "busy" reason. Add a splash when initialising the OBJD tabs, as it can take a while. Never stop the user from losing work. Improve wait messages during CheckInstallDirs. Remove "Do you want to re-open in s3oc?" prompt. --- latest rev: 1032 Migrate sims3tools to .Net4. Add loadFromRemoteSources [http://msdn.microsoft.com/en-us/library/dd409252%28VS.100%29.aspx] to app.config everywhere. (It's a security feature designed to make life difficult for developers.) Adopt PortableSettingsProvider. System.Configuration.PortableSettingsProvider Update assembly properties. Update AgeGenderFlags for Pets. makedist-s3oc.bat: OCD changes to align with makedist-s3pe.bat. AutoUpdate: Change DEBUG version to actually return a value (the current executing versions). AutoUpdate: Return a Library version (same way it does the exe version). AutoUpdate: Delete the 2009 XML UpdateInfo parsing code. Use PortableSettingsProvider.ExecutableName rather than Application.ProductName (which is now sims3tools). Remove settings deletion from the installer Do a silent uninstall if called from the installer. Fix for strange UI glitch (may be .Net4 related). Fix silent uninstall to ... uninstall (un.onGUIInit not called). --- latest rev: 986 Catlg_IncludePresets now included for anything with a VPXY (if field present). CloneFixOptions: Try to make it clear that DeepClone is ignored on Fix. TGISearch: Add some blank lines to the pop-up. --- 11-1113-1118 ------------ latest rev: 975 (respin for s3pi fixes) --- 11-1102-1444 ------------ latest rev: 975 (respin for s3pi fixes) --- 11-1022-2303 ------------ latest rev: 975 Oops: don't get CommonBlock.Name when _KEY has no name for a CASP! Oops: don't call Abort(true) unless GameFolders Settings change. (respin for Pets) --- 11-1010-1557 ------------ latest rev: 973 Split Filetable from s3oc into s3pi. Add a little bit of randomness to the proposed Unique Name. Rewrite exclusions list support post-Filetable removal; not actually active, though. Search/TGISearch: Fix the start/stop button to be disabled when clicking it would be a bad idea. Use the Filetable.Current.Path for the unique name when not cloning (we might not have gone through File->Open ever). Changes to take advantage of enumeration from PathPackageTuple.FindAll(). Avoid unnecessary lookups of SpecificResourceIndex.ResourceIndexEntry. Flag CAS Part cloning "experimental". --- 11-0815-1449 ------------ latest rev:934 Prevent CASP resources having CatalogResource-only criteria applied when "Any" selected in Search. Write updates to CASP resources to the correct object so they commit to the package being worked on. Update s3oc-ini.ttl for patches. --- 11-0809-1027 ------------ latest rev:919 Reorganise CASP tab to avoid disappearing ages. --- 11-0727-1052 ------------ latest rev:901 Fix for crash on missing thumbnails introduced with CASP. --- 11-0724-2214 ------------ latest rev:900 Support CAS Part thumbnails. Fix to CAS Part deep cloning (including nice new enumerable types). Add CAS Part kindred _XML resource. --- 11-0720-1138 ------------ latest rev:896 Avoid errors when Topic or Rating text boxes are empty. Improve protection on calls to SlurpRKsfromRK(). FIX: NameMap updates were being lost if Create Missing Strings Tables was selected. --- 11-0713-0910 ------------ latest rev:891 Overhaul installers to try to prevent "can't install due to previous install breakage" problems. Use "oldKey" (not "key") when checking line length in XML updates. Revert "using" - it disposes of stuff we still need. Additional diagnostics. --- 11-0710-1140 ------------ latest rev:870 Add support for cloning CASP resources. --- 11-0627-2204 ------------ latest rev:837 New option to repair a package when using File->Open... Rename "TopPanelComponents" to "SplitterComponents" (as they haven't been at the top for years). MenuBarWidget: Add new menu options: File->Close; File->Refresh (reload); Tools->Replace TGI; Tools->Fix Integrity. Allow ObjectChooser.SelectedItem and Search.SelectedItem to be set to null to clear selected item. Add "Cancel" button to Search and TGISearch. Delete ResourceList SplitterComponent. New ReplaceTGI and FixIntegrityResults SplitterComponents. Add IEquatable<> to PathPackageTuple. Add IEquatable<> to SpecificIndexEntry. THUM: New SpecificResource getTHUM(THUMSize size, SpecificResource item) method. Stop splitter creeping - store position in pixels. New method to display prompt and clone/fix button. Various other changes to how splitter components are managed. Some not actually required changes to how CloneFixOptions are managed. Implementations for File->Close, File->Refresh, Tools->Replace TGI and Tools->Fix Integrity. Code for existing single-object Fix refactored for reuse by Replace TGI and multi-object Fix Integrity. On search screens, ensure the Cancel button gets disabled like it should. On search screens, ensure that there's no blank screen when kicking off the search. Cancel button and "Use EA" checkbox added to Search and TGISearch. Add a setting for Package Editor and add it, for the timebeing, to the Game Folders Settings dialog. New context menus for Search/Find. New protection against losing work. --- 11-0603-2031 ------------ latest rev:817 Correctly updated TTL file for Generations. --- 11-0602-0833 ------------ latest rev:816 TGISearch: Disable Use CC checkbox during search. Clear tabs before search or filling object chooser. Move code around into "better" places. THUM: Move code around, generally tidying it up. THUM: Lose THUM.Reset(), it's useless. NameMap: Add IsOK property. EPsDisabled: Caller is responsible for resetting the FileTable. GameFolders: Caller is responsible for resetting the FileTable. PleaseWait.DoWait static method can now be passed the control name. Search, TGISearch: Use CC checkbox defaults to current FileTable.UseCustomContent setting. Search: Move check detecting "Stop" before code to set up search. Only reset NameMap and STBLs when closing or opening Current, changing Use Custom Content or Append FileTable. Remove hopefully unnecessary calls to ClosePkg - renamed to CloseCurrent. Split out reset NameMap and STBLs into a new method ("Reset"). New method to abort searches and initialise File Table settings. Move ClearTabs calls. Remove currentCatalogType variable. Merge cloneType() into menuBarWidget1_MBCloning_Click(). Reinstate CheckInstallDirs for LoadObjectChooser. Remember that we've created the OBJD Flag tabs. Replace use of ArrayCompare() with Equals<>(). Initial attempt at extending the TTL file for Generations and the next stuff pack. --- 11-0430-1004 ------------ latest rev:778 New option to keep STBL IIDs per source when renumbering. Fixed slurping from VPXYKin, not that it appears to make a difference. Removed View menu and all code to support views other than "Details". Split handling of disabled EPs into its own class and source file. Moved all handling of game folder preferences into GameFolders.cs file. Added initial code to handle Completion of packages (but with option hidden from view). Moved "Loading" thread into ObjectChooser.cs and renamed from "Load" to "Fill". New PleaseWait.DoWait() static method to put a wait message into a control. Bring ObjectChooser(), Search() and TGISearch() into line. Rewrite search routines. Add Path column to Search (but not ObjectChooser). Allow choice of Custom Content from Search and TGI Search options panels. Split CatalogType enum into separate file. Split Diagnostics class into separate file. Create FileTable class to manage locations of Objects, DDS Images and Thumbnails, including whether the current package and custom content should be used when searching. Old "FillListView.cs" code all now elsewhere, so file deleted. All NameMap handling code moved to NameMap.cs from MainForm.cs. New PathPackageTuple class to handle tracking of path names for packages. RK class moved from FillListView.cs to its own class; still would like less reliance on this... All TTL handling code moved to s3ocTTL.cs from MainForm.cs. Item and RIE from FillListView.cs renamed to SpecificResource and SpecificIndexEntry and moved to SpecificResource.cs. (SpecificIndexEntry is only used by SpecificResource as a base class; everything uses SpecificResource.) All STBL handling code moved to STBLHandler.cs from MainForm.cs. All Thumnail handling code from to THUM.cs from MainForm.cs. --- 11-0306-1715 ------------ latest rev:760 Always Deep Clone on Fix pass Correct VPXYs_getKin*() use SpecificRK rather than RequestedRK for Instance ID of potential kin Enable creation of missing STBL entries. Don't bother doing a STBL lookup for a guid with FNV64 of an empty string Diagnostic logging to "%TEMP%/s3oc-{DateTime}.log" TGI Search explains which package list a package was in for a found resource Parsing RKs is more forgiving of spaces and case RIE now has a "LongName" property: "{tag}-{RK} from {pkgPath list[index]}", which is revealed by Item Rename "Diagnostics.Enabled" to "Diagnostics.Popups" to allow for "Diagnostics.Logging" toggle On FormClosing, pass "true" to Abort* methods regardless of CloseReason searchPane should be set to null when DisplayTGISearch and DisplayNothing are called TabEnable(false) should be called in DisplayNothing New methods to return "{pkgPath list[index]}" Disable fetching of images completely (menu option hidden, code commented out) Correct position of DoWait("...") for creating and updating package Don't bother trying to save a resource that already exists in the output package Tidy up display after creating package before "OK" popup Move dummy "None()" step down to be with other steps, pluralise Catlg_getVPXY and OBJK_getVPXYs Insert OBJD_setFallback before OBJD_getOBJK rather than at the start of the step list Correct test for missing OBJK (it would never have tested true) --- 11-0226-0849 ------------ latest rev:757 Copy'n'paste of Resource Keys. Stop putting OBJD's extra steps before Item_addSelf. "Resource Key" changed to "ResourceKey". --- 11-0220-1920 ------------ latest rev:748 Change "Default resources only" to "Deep clone" (opposite meaning). Only slurp from TXTCs when doing a deep clone. When not doing a deep clone, pull in complateOverride resources from an OBJD. Get tbCatlgName and tbCatlgDesc fields' background colours set correctly. --- 11-0130-1150 ------------ latest rev:737 Check there's at least one OBJD when cloning a CFIR or MDLR. Indicate no data found when no OBJDs for a MDLR. Remove old ResourceList bits. Packaging: nicer installer. STBL processing rewritten. A few variables renamed and code restructured. "Include thumbnails" fixed. New setting and control of "hard" search for language strings. Add Fountain/Pool cloning. Add TGI Search. Add Custom Content folder (for TGI Search only). --- 10-1218-1246 ------------ latest rev:703 Oops: it appears EA have stopped always having nameMap resources in their patch updates, so search better allow for it! When cloning a tree with a _SPT resource, also clone the kinned SPT2. --- 10-1128-1747 ------------ latest rev: 694 Merge wikiUpdatesNovember2010 changes: see below. Fix BuildBuyProductStatusFlags so it's set in the right place for MDLR and CFIR OBJDs. 10-1120-2023 ------------ (wikiUpdatesNovember2010) latest rev: 652 Updates for changes to CommonBlock. New Advanced Cloning setting/menu item. Remove reference to Boolset. --- --- 10-1107-1415 ------------ latest rev: 603 Filter out any TGIBlock fields. --- 10-1104-1244 ------------ latest rev: 600 (respin) --- 10-1031-1514 ------------ latest rev: 600 Late Night updates and, courtesy of Atavera, lots more flag names. --- 10-0925-1547 ------------ latest rev: 578 Rewrite TopicRatings custom control to display the value after both input fields. New TopicRating custom control. Window position saved/restored. Code reorganisation/optimisation/lamba expressions. --- 10-0919-1349 ------------ latest rev: 575 Don't debug AutoUpdate unless DEBUGUPDATE defined. New EnumTextBox custom control. New TopicRatings custom control. Amend TTL file to specify location of "Program Files" below which things are installed, so hasDefaultInstallDir is relative. Details tab only for OBJD and terrain paintbrushes. Build flags only on Build Flags tab; tlpOther now not used (set invisible); new Misc Flags tab. All (known) Details tab fields for OBJD that are displayed made editable (using EnumTextBox and TopicRatings where needed). Sundry fields removed from Details Tab. CommonBlock GUIDs moved to Overview Tab. Loose boolean fields are now checkboxes. Some common code source optimisation. TTL updated for Fast Lane. Default "Renumber" off when working on a previously-cloned package (i.e. from File->Open). Add two spare slots to TTL... and fix GameFolders form to allow for it. --- 10-0830-1212 ------------ latest rev: 568 Find{,All}() never returns IResourceIndexEntrys with IsDeleted==true, so don't need to test for that. --- 10-0721-2021 ------------ latest rev: 553 FillListView.cs: New method for comparing an RK with another IResourceKey, allowing for RGVsn and VPXY IID version. RK Equals() uses RK.Compare(). struct RIE fields and properties renamed to make more sense. Use RK class appropriately. Use RK.Equals() to find requested RKs in Package.GetResourceList. Item fields and properties renamed in line with struct RIE. Item.Compare() removed (redundant). ObjectChooser.cs: Sort uses RK.Compare(). Search.cs: Class Item property renames. Use IPackage.FindAll(Predicate Match) to find resources in packages. Avoid returning duplicates from different EPs. Mainform.cs: class Item property renames. When saving, use the RK of the resource found, not the requested RK. RK.Equals() changes. Rename some variables for clarity. FixIntegrity now assigns new IIDs in two passes; on the first pass, it assigns IIDs for the resources included in the package (i.e. the "real" IID); on the second pass, it assigns IIDs for all other references (i.e. weird OBJK->VPXY requests and RCOL chunk IIDs); OBJK->VPXY requests use the new IID of the "real" VPXY. Use IPackage.FindAll(Predicate Match) to find resources in packages. Use List.Exists(new RK().Equals) for uniqueness tracking. Remove redundant check for vpxyKin item (having found it in the package index). SlurpKindred() now takes Predicate Match to pass to IPackage.FindAll(). --- 10-0711-1434 ------------ latest rev: 544 Remove update splash-screen and calls to platform-specific force focus code. --- 10-0711-1317 ------------ latest rev: 539 AutoUpdate feature added. --- 1007-03-1909 ------------ latest rev: 512 (Respin for latest s3pi) --- 1006-27-0909 ------------ latest rev: 512 New Settings->Diagnostics option. Lots of diagnostics available when enabled. When finding items from a package, use 27bits of ResourceGroup rather than 24bits (hang over from previous way of doing EP Flags). Compare ResourceKeys by value to identify 0th OBJD of a Fireplaces so NameGUID and DescGUID get updated correctly when renumbered (caused a second renumber to crash). Amended test for base game object to test top 5 bits of ResourceGroup rather than bottom 8, which affected when Fallback instance was set (i.e. we should only reset if it's base game). Use on 27 bits of ResourceGroup rather than 24 bits. PngInstance was always being renumbered. Added an "if" test so it only got renumbered when renumbering. Fix was trying to update the Thumbnail using the renumbered PngInstance, hence always using the default image. Swapped the order, so the replace happens before the renumber (like it should - it was a definite "d'uh" error). (Also, only allocate a new IID if we're renumbering.) Added a Image.GetThumbnail() call to resize the default image to the appropriate Thumb size. Removed commented out code that is no longer needed. New static Equals method on RK class to ease IResourceKey comparisons ignoring RGVsn. --- 1006-12-1826 ------------ latest rev: 506 New s3oc_ini.ttl with patches and hasRGVersion RGVsn in search results and normal list view Stop fetching thumbs whilst cloning. Disambiguate RK parameter. --- 1006-06-0854 ------------ latest rev: 499 Swap out ttl for tested one. --- 1006-05-2044 ------------ latest rev: 498 Update EP flags for Ambitions. --- 1006-05-1643 ------------ latest rev: 497 Don't change the IID of the MDLR when not renumbering. Updated TTL file for Ambitions. (respin to pick up Ambitions s3pi changes.) --- 1005-03-0953 ------------ latest rev: 491 (respin to pick up latest s3pi changes.) --- 1004-11-1534 ------------ latest rev:491 When cancelling from cloning, make sure to go back to the right results list. --- 1004-11-1114 ------------ latest rev:490 Fix: Need to set "mode" to "Clone" when coming from the search results list. Fix: left a reference to the "normal" list, rather than testing to see if the search results list should be used. Also a few fixes to the field tab order on the Options panel and on the Overview tab. --- 1004-04-1553 ------------ latest rev:487 New Tools->Search feature --- 1003-28-0935 ------------ latest rev:481 When outputting thumbnails, ensure a full set is created; allow replace when none originally present. (Pick up latest s3pi) --- 1003-14-1747 ------------ latest rev:480 Oops: not everything ending "Index" is an TGIBlockList index. --- 1003-06-2138 ------------ latest rev:476 Remove EPFlags/ContentCategoryFlags from everywhere. Implement local support for ignoring the top byte of ResourceGroup when matching RKs. New "Exclude Common Resources" check box (with details in the .ttl file). Display "s3oc [busy]" when actively busy. Add "[busy]" tag and hourglass pointer when updating Tabs. Tick boxes under "Create Clone" disabled for "Open Package". Include SP1 (High End Loft stuff). Enable x64 build environment. Update to VS2010. Fix: Replacing thumb in MDLRs caused error. Fallback TGI changes - All index fields display TGI values on Details tab - Fallback TGI entry does not get renumbered on OBJDs - OBJDs referenced from an OBJD are never cloned - When cloning, set fallback for clones of basegame OBJDs with no fallback TGI --- 1002-19-1757 ------------ latest rev:453 Remove EPFlags/ContentCategoryFlags from everywhere. Implement local support for ignoring the top byte of ResourceGroup when matching RKs. --- 1002-13-1333 ------------ latest rev:442 Replace "do not renumber catalogue IIDs" with "use 32bit OBJD/OBJK IIDs". Code tidy up: move XML renumber code to UpdateRKsFromXML(). Code tidy up: Rename some SlurpTGIs to SlurpRKs. New Slurp: SlurpRKsFromXML(), iterates over vpxyKinItems and Slurps their contained RKs. SlurpKindred() adds to vpxyKinItems list. New Step: VPXYKin_SlurpRKs, called for OBJDs, Common Catlgs, CWALs Catlg_getVPXY, OBJK_getVPXY initialises vpxyKinItems. --- 1001-30-1249 ------------ latest rev:437 MainForm.cs: Include VPXY kin in default resources. --- 1001-16-1637 ------------ latest rev:431 (respin against latest s3pi to fix messed up meshed) --- 1001-02-1835 ------------ latest rev:423 Don't renumber brush pairs if not renumbering. Pick up latest s3pi. --- 0912-13-1531 ------------ latest rev:408 Respin to pick up TerrainPaintBrushCatalogResource fix. --- 0912-10-1839 ------------ latest rev:408 Fix: If there's no NameMap in the package, create one (using the IID of the catalog object). --- 0911-28-1711 ------------ latest rev:407 Make sure we look in the folder containing s3oc.exe for s3oc-ini.ttl. --- 0911-25-1728 ------------ latest rev:406 Replace "struct TGI" with "class RK" which implements AResourceKey, allowing concrete instances of IResourceKey to be created and supplying a static zero key. Amend "struct RIE" to use IResourceKey. Amend "class Item" to use IResourceKey. Oops: append override locations to InstallDirs setting Generally replace use of "struct TGI" with IResourceKey except when a concrete instance is required. Where a THUM is not found, its ResourceKey displays as zero. Add EPFlags column to ObjectChooser. Legacy File->New removed Cloning menu checkmark removed Fixed bug that prevented switching back to resource list in some circumstances Oops: add settingsToolStripMenuItem to tsMD Created SettingsForms subfolder Move StringInputDialog to SettingsForms Settings menu "Sims3 Installation Folder..." changed to "Game Folders..." New "Game Folders" form to capture install dirs, with Reset button. Check after editing a path whether it enables all the expected files to be found and warn if not. Replaced test of valid InstallDir per EP with check that ini_fb0/fb2/tmb not null and ini_fb0.Count > 0; don't popup Game Folders dialog here, just issue a message. Introduce dependency on SemWeb (may change to include this in the project for simplicity). New ini file written in Turtle Large amount of code to handle Turtle ini file Sims3Folder setting removed InstallDirs setting added for overrides to the defaults EPsDisabled setting added for overrides to the config file values --- 0911-22-1407 ------------ latest rev:394 Hide Game Folders' "Enabled" checkbox if it cannot be used. Game Folders' Edit button enable status tracks whether the entry can be edited effectively. Pick up thumbnails in EP1. Drop legacy File->New menu entry. Also pick up CommonBlock version 0x0D change. --- 0911-20-1415 ------------ latest rev:390 Replaced test of valid InstallDir per EP with check that ini_fb0/fb2/tmb not null and ini_fb0.Count > 0 Don't popup Game Folders dialog here, just issue a message. Add Reset button to Game Folders form and code to make setting back to the initial value remove the override Check after editing a path whether it enables all the expected files to be found and warn if not. Improve handling of ":isSuppressed" predicate (only "false" allows change through the UI) Don't crash if an EP is left enabled but not installed (just skip it) --- 0911-20-1043 ------------ latest rev:389 Created a SettingsForms folder for settings dialogs Moved StringInputDialog to the new folder New "Game Folders" form to capture install dirs New ini file written in Turtle Introduce dependency on SemWeb -- may change to include this in the project for simplicity. Settings menu "Sims3 Installation Folder..." changed to "Game Folders..." Sims3Folder setting removed InstallDirs setting added for overrides to the defaults EPsDisabled setting added for overrides to the config file values Large amount of code to handle Turtle ini file --- 0911-18-2308 ------------ latest rev:377 Rebuilt against latest s3pi for Patch 1.6 updates. --- 0911-01-1539 ------------ latest rev:377 Rebuilt against latest s3pi for re-implemented TypeCode01 fix. --- 0910-31-2006 ------------ latest rev:377 Rebuilt against latest s3pi for TypeCode01 fix. Was breaking textures. --- 0910-12-1531 ------------ latest rev:377 Tidy up tab order in options panel. Stop orphaning thumbnails on renumber. Slight oops. Roof patterns are identified by the PngInstance in the Common Block of the catalog resource. Everywhere else, I check whether PngInstance is set and use it - except I missed it for replacing the PNG! Also took the opportunity to: a) replace lots of ((AApiVersionedFields)selectedItem.Resource["CommonBlock"].Value)["someVal"] with selectedItem.Resource["CommonBlock.someVal"] which makes the code easier to read (and saves a call to the library - not that it's slow). b) get rid of array catalogTypes (which I was subscripting into to get type numbers) and use an enum instead, again making the code much more readable. This lead to some rework on the menu code. --- 0910-11-1046 ------------ latest rev:374 Avoid STBL IID clashes for similarly-named objects. --- 0909-19-1830 ------------ latest rev:370 CTPT (terrain paintbrushes) now pick right partner. --- 0909-13-1134 ------------ latest rev:364 Filter what gets added to vpxylist from OBJK -- trees have TREE resources, too. --- 0909-12-1121 ------------ latest rev:343 Set compression status absolutely before save. (i.e. not just *to* compressed.) Remove some commented out code. Add TabEnable(false). Fix off-by-one error in lastInChain calculation. Add reference to OBJK; directly fetch modelKey value for VPXY index. --- 0908-19-1854 ------------ latest rev:333 Updated help! Relabel Cloning and File->New menu items and fix typo. ObjectChooser displays tag as well as TGI. Complete overhaul of process flow - clone and fix now merged. UI changed to support this - options panel expanded and rearranged. STBLs can now be padded whether cloning or not. Thumbnails are now optional. Menu updates: add shortcuts to Cloning menu; remove File->New shortcut as it's Cloning->Normal Object - Ctrl+N; and add shortcut on Help->Contents. Where a string GUID lookup fails and we're padding STBLs, output an empty string. Only change catalogName and Desc and renumber GUIDs when renumbering. Fix format of STBL _KEY entries. Stabilise splitter creep. Many other minor changes - see SVN commit logs. --- 0908-08-1553 ------------ latest rev:311 New (experimental) "Cloning" menu. - (Nearly) all CatalogResource types. - Modular Resources (display as their zeroth OBJD). File->Open now displays all CatalogResource types in the package. Changes to handle switching between the type of resource being worked on. - what steps get run - what information is displayed - where thumbnails are found UI tweaks to what happens after Save. Process command line arguments: "help" and "test", where "test" makes ckbDefault visible. Add Large Thumbnail TGI below the thumbnail. (Zero when not applicable.) Move Product Status to Details tab (so it's always available). Renumber cloned STBLs to end 0000. Fix: Renumber "key:" references in XML files. Fix: need Catlg_Self for Catalog Details Only fix. Fix: PngInstance should be fixed. Fix to handle fetching fewer than 100 thumbnails. Handle wrapper exceptions more elegantly. Handle exceptions when saving cloned package more elegantly. Add ModularResource. --- 0907-29-1852 ------------ latest rev:263 Add package compression by default. (Thanks to Tiger for the compression code.) Add support for Sims3 Patch2. s3oc now has an ini file ("s3oc.ini" in the same folder as the .exe). Add support for localised help files. Tiny source "fix": added a space... --- 0907-25-2143 ------------ latest rev:247 Progress bar and text had gone AWOL; restored String fields had become too short; restored Added new option to create missing languages (as copies of English) when cloning Rename CopyableMessageBox project to CustomForms; use updated version. --- 0907-24-1554 ------------ latest rev:232 Use xanathon's s3oc icon -- thanks! :) Catalog Flag fields Additional fields Validation of Price (and new hex fields) Reorganised tab code a bit Price should be read-only except when fixing Update catalog item from new fields Packaging tidy up: use ${tla} more often to reduce diffs between mknsis.nsi for OC and PE. ---