- Site Map >
- Modding and Creation >
- Sims 3 Creation >
- Modding Discussion >
- s3oc Cloner
- Site Map >
- Modding and Creation >
- Sims 3 Creation >
- Modding Discussion >
- s3oc Cloner
Locked thread |
Replies: 22 (Who?), Viewed: 158266 times.
#1
8th Aug 2009 at 2:40 PM
Last edited by HugeLunatic : 1st Feb 2021 at 8:52 PM.
Posts: 425
s3oc Cloner
This tool is now obtained and supported via http://www.simlogical.com/ContentUp...s/190/index.htm
#2
8th Aug 2009 at 5:26 PM
Last edited by pljones : 16th Aug 2009 at 2:00 PM.
Posts: 11,689
Thanks: 9727 in 11 Posts
0907-18-1004 -- latest rev:199
General
Choosing an object to work on
Stepping through the process
Cloning
Making the object unique
-------------------------------------------------------
0907-21-1016 -- latest rev:216
Add F1 shortcut for Help->Contents.
Move overview tab details to details tab (and rename everything).
Add overview items to overview tab (including large thumb, English catalogue strings an object price)
Allow thumbnail images to be replaced (Fix mode).
Allow object price and catalogue strings (in English, optionally copied to all) to be edited (Fix mode).
Option to have *only* the catalogue details updated (Fix mode). Skips past all intermediary steps. (And quite a lot of the last step.)
Checkboxes now disabled earlier in process to tie in with where they have effect.
Change Start button short cut so it doesn't clash with Settings menu.
Automate pressing of >>>Next>>> button.
Make "Please wait" text bigger.
"Please wait" text for save and fix amended.
Use Creator Name as prefix to object name for default package name when saving clone.
Forget the previous package name when doing File->Open...
Default unique object name is just the package name.
Prompt for unique object name on Start rather than File->Open...
Failure to give a unique object name now just returns to the object chooser, rather than closing the package.
Package the source for this project rather than some random other one...
Fix: if nameGUID and descGUID were the same, duplicate oldToNew key error was raised; no longer using the map for these values. (Introduced an opportunity for further improvement...)
Try to make closing the application window not crash the application. (The opportunity to fix this still exists...)
Remove ancient and unused "Packages_PATH" setting
Move "getImage" methods to MainForm as static methods.
Get rid of "setThumbPackage" - make ThumbPkg a property that does the same.
Cache English STBL while package open.
Make closing a package consistent by putting the code into a method and calling it.
-------------------------------------------------------
0907-21-1152 -- latest rev:217
[#]Oops: Update STBLs with newNameGUID/newDescGUID so strings actually work...
[#]Also use Item.Commit() to save images.
[#]Include updated Help
-------------------------------------------------------
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.
-------------------------------------------------------
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-29-1852 -- latest rev:263
This version is Patch2-ready -- PLEASE UPDATE
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...
"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
General
- Rename to "Sims3 Object Cloner" / "s3oc"
- Includes latest s3pi library.
- Help->Contents now displays the manual.
- Checkbox to select default textures only. Checkboxes appropriately enabled and set depending on mode.
Commit renamed to Save. - Don't crash if Sims3 folder has moved: prompt for new location
- Oops: Prompt for user name if not set
Choosing an object to work on
- Focus on first item in object list at the start (Single item selection interface added to ObjectChooser)
Stepping through the process
- Step 2: By default, don't clone any OBJD-referenced resource except OBJK.
- Step 3: Simplified as OBJK resource now retrieved in step 2.
- Step 4: Just check for "modelKey" entry name.
- Step 5: Skip step 5 by default. In any event, only clone Preset XML.
- New step 8: Clone TXTC-referenced resources.
- Step 9 (was 8.): By default, only clone THUMs in group 0.
Cloning
- Cloning gets DDS names from FB2.
Making the object unique
- Allow renumbering of OBJD (and related) instance to be disabled.
- Display a nicer "OK" box after Fix
- Oops: Add in the code to update TGIs within resources! Dig into *any* enumerable field, not just IList<T> ones, both for slurping TGIs and for updating TGIs.
- Fix: if name or desc keys don't change, don't crash. (Always "update" GUIDs. Remember the GUIDs on first reading them, so don't need to reread objd for them.)
- Do not renumber null TGI (TGI struct has full equality testing support).
- (Minor source tidy ups: renamed a variable; removed unused flag; remove unused RCOL list; add an enum for LastInChain indicating end of RCOL-linked steps).
-------------------------------------------------------
0907-21-1016 -- latest rev:216
Add F1 shortcut for Help->Contents.
Move overview tab details to details tab (and rename everything).
Add overview items to overview tab (including large thumb, English catalogue strings an object price)
Allow thumbnail images to be replaced (Fix mode).
Allow object price and catalogue strings (in English, optionally copied to all) to be edited (Fix mode).
Option to have *only* the catalogue details updated (Fix mode). Skips past all intermediary steps. (And quite a lot of the last step.)
Checkboxes now disabled earlier in process to tie in with where they have effect.
Change Start button short cut so it doesn't clash with Settings menu.
Automate pressing of >>>Next>>> button.
Make "Please wait" text bigger.
"Please wait" text for save and fix amended.
Use Creator Name as prefix to object name for default package name when saving clone.
Forget the previous package name when doing File->Open...
Default unique object name is just the package name.
Prompt for unique object name on Start rather than File->Open...
Failure to give a unique object name now just returns to the object chooser, rather than closing the package.
Package the source for this project rather than some random other one...
Fix: if nameGUID and descGUID were the same, duplicate oldToNew key error was raised; no longer using the map for these values. (Introduced an opportunity for further improvement...)
Try to make closing the application window not crash the application. (The opportunity to fix this still exists...)
Remove ancient and unused "Packages_PATH" setting
Move "getImage" methods to MainForm as static methods.
Get rid of "setThumbPackage" - make ThumbPkg a property that does the same.
Cache English STBL while package open.
Make closing a package consistent by putting the code into a method and calling it.
-------------------------------------------------------
0907-21-1152 -- latest rev:217
[#]Oops: Update STBLs with newNameGUID/newDescGUID so strings actually work...
[#]Also use Item.Commit() to save images.
[#]Include updated Help
-------------------------------------------------------
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.
-------------------------------------------------------
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-29-1852 -- latest rev:263
This version is Patch2-ready -- PLEASE UPDATE
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...
"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
#3
8th Aug 2009 at 5:29 PM
Posts: 425
s3oc_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.
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.
#4
16th Aug 2009 at 12:55 PM
Posts: 11,689
Thanks: 9727 in 11 Posts
If anyone has a tutorial that involves s3oc, you will need to update it soon for the new cloner interface. I can let you have a preview of the tool before general release, if you contact me.
"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
#5
19th Aug 2009 at 7:21 PM
Posts: 425
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.
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.
#6
12th Sep 2009 at 11:29 AM
Posts: 425
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.
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.
#7
13th Sep 2009 at 12:01 PM
Posts: 425
0909-13-1134 -- latest rev:364 FIXES CRASH BUG WITH TREES
Filter what gets added to vpxylist from OBJK -- trees don't just have VPXY resources.
Filter what gets added to vpxylist from OBJK -- trees don't just have VPXY resources.
#8
19th Sep 2009 at 7:19 PM
Posts: 425
#9
11th Oct 2009 at 10:55 AM
Posts: 425
#10
12th Oct 2009 at 4:50 PM
Posts: 425
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.
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.
#11
1st Nov 2009 at 10:23 AM
Last edited by pljones : 1st Nov 2009 at 10:34 AM.
Posts: 425
0910-31-2006 -- latest rev:377 (released 1 November)
Rebuilt against latest s3pi for TypeCode01 fix. Was breaking textures.
Rebuilt against latest s3pi for TypeCode01 fix. Was breaking textures.
#12
1st Nov 2009 at 3:50 PM
Posts: 425
0911-01-1539 -- latest rev:377
Rebuilt against latest s3pi for re-implemented TypeCode01 fix.
Rebuilt against latest s3pi for re-implemented TypeCode01 fix.
#13
26th Nov 2009 at 2:28 PM
Posts: 425
0911-25-1728 Released 26 November -- 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
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
#14
1st Dec 2009 at 1:52 PM
Posts: 425
0911-28-1711 Released 1 December -- latest rev:407
Make sure we look in the folder containing s3oc.exe for s3oc-ini.ttl.
Make sure we look in the folder containing s3oc.exe for s3oc-ini.ttl.
#15
6th Dec 2009 at 1:30 PM
Posts: 11,689
Thanks: 9727 in 11 Posts
Please read important warning http://forums.modthesims.info/showthread.php?t=381099
"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
#16
10th Dec 2009 at 6:42 PM
Last edited by pljones : 27th Jan 2010 at 8:09 AM.
Posts: 425
#17
13th Dec 2009 at 5:51 PM
Posts: 425
0912-13-1531 *Fixes TerrainPaints for Patch / EP1* -- latest rev:408
Respin to pick up TerrainPaintBrushCatalogResource fix.
Respin to pick up TerrainPaintBrushCatalogResource fix.
#18
10th Jan 2010 at 11:51 AM
Last edited by pljones : 12th Jan 2010 at 11:25 AM.
Posts: 425
Don't renumber brush pairs if not renumbering.
Pick up latest s3pi.
Shouldn't have been released.
#19
12th Jan 2010 at 9:37 AM
Last edited by pljones : 12th Jan 2010 at 11:42 AM.
Posts: 425
Please note there are problems with 1001-02-1835 version that are currently under investigation. Please continue to use 0912-13-1531 version until the next update.
-edit- The 1001-02-1835 version contained code still in development and shouldn't have been released. Take care with Terrain Paints: you probably do want to renumber but be aware of the issue if you're thinking of making an override object (for a terrain paint, why??!).
-edit- The 1001-02-1835 version contained code still in development and shouldn't have been released. Take care with Terrain Paints: you probably do want to renumber but be aware of the issue if you're thinking of making an override object (for a terrain paint, why??!).
#20
12th Jan 2010 at 5:40 PM
Posts: 11,689
Thanks: 9727 in 11 Posts
Anyone who used the 10th Jan release to make game content should redo their work. Sorry.
"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
#21
21st Mar 2010 at 10:24 AM
Posts: 425
Re: s3oc Cloner - Updated 21 March 2010
1003-06-2138 Released 21 March 2010 -- latest rev:476Remove 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
------
1001-02-1835
latest rev:423
Don't renumber brush pairs if not renumbering.
Pick up latest s3pi.
---
1001-16-1637
latest rev:431
Change terrain paint subcategory when cloning; rewrite label mapping stuff.
Pick up latest s3pi.
---
1001-30-1249
latest rev:437
Replace exception messages with calls to CopyableMessageBox.IssueException().
MainForm.cs: Include VPXY kin in default resources.
---
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.
Pick up latest s3pi.
#22
21st Mar 2010 at 2:31 PM
Posts: 425
1003-14-1747 Released 21 March 2010 (second time lucky, eh?) -- latest rev:480
Oops: not everything ending "Index" is an TGIBlockList index.
Oops: not everything ending "Index" is an TGIBlockList index.
#23
21st Mar 2010 at 2:32 PM
Posts: 11,689
Thanks: 9727 in 11 Posts
I thought we had that one (14th March) up in the QA, I had not realised it was still the 6th March one - that's why I told him to release it Naughty testers you should have spotted the bug!
"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
Locked thread
Back to top
Who Posted
|