1003-06-1044 -- Released 13 March 2010 -- latest rev: 473 (Rather massive update. Well, all the QA releases rolled up...)
Force reload of selected resource after replacing resource content.
Pick up latest s3pi.
---------------------
1002-24-1519
latest rev: 471
BrowserWidget.cs: Need to check there is a selected resource before updating it.
MainForm.cs: Re-open file, even if it's the same as the current file.
MainForm.cs: Oops: don't use ContentCategory when finding a resource.
Build script updated for x64 build platform.
Project updated to VS2010.
Helpers buttons can now have tooltips.
Helpers re-write (split Helpers.txt into Helpers\*.helper; maintain list of disabled helpers).
ViewDDS: provide *.helper file for s3pe.
---------------------
1002-19-1031
latest rev: 451
VPXY Editor: fix parsing of line numbers (in hex)
Rename EPFlags to ContentCategoryFlags (and add SP1).
Use ConstructorParameters to add elements of abstract classes.
---------------------
1002-14-1246
latest rev: 447
VPXY Editor: Oops: currentVPXYentry is the wrong number; remove by TGIBlockCombo.
Fix updating ResourceIndexEntry details.
BrowserWidget now exposes ResourceKey and handles changes to this specially (i.e. doesn't get confused).
Fix Tab order on ResourceDetails form.
If the ResourceName changes, update the TGIN value.
Move UpdateNameMap to BrowserWidget and rename it ResourceName.
MainForm.cs: In resourceAdd(), create an empty resource and update the package explicitly, move ResourceName() after this.
MainForm.cs: In resourceDetails(), move ResourceName() after updating selected resource.
BrowserWidget.cs: Some additional code reorganisation.
---------------------
1001-03-1524
latest rev: 428
VPXY Resource Editor:
Start centred on screen
Use s3pi.DemoPlugins.RunHelper.Run()
Improve a couple of error messages
Don't lose the FTPT TGI Block for modular resources!
Only first BoundingBox field had a value changed handler - fixed
OK Button disabled until (a) the resource changes, (b) there are some TGI blocks and (c) if it's Modular, there a TGI selected for the FTPT
Don't crash if FTPT TGI index is invalid
Remove resource change handler whilst saving, as saving updates the resource, causing a call to the change handler, which then corrupts the save
Get Linked Part entry IDs correct (they start from 1, not zero)
Always add the FTPT TGI to the end of the list, regardless of whether it's in there elsewhere and set the FTPT index to point to it
When renumbering the lists of parts, keep the numbers pointing to the right TGI blocks and keep the Tab order correct
Provide a means to renumber the list of linked parts
Enabled status of move buttons tracks whether they can be used
Common Move Up/Down routines to move entries in the lists of parts
Adding or deleting a linked part renumbers the list of linked parts
Bounding box value changes were handled wrongly (given how the VPXY wrapper is coded) - have to assign an array, rather than indivual elements
The input boxes store Decimal rather than Single/float values, so may round - check whether the float value as a Decimal matches the Decimal, rather than vice versa
OBJK Resource Editor:
Use s3pi.DemoPlugins.RunHelper.Run()
Use TGIBlockCombo
STBL Resource Editor:
Use s3pi.DemoPlugins.RunHelper.Run()
ViewDDS
Rewrite Program.cs to follow RunHelper.cs model.
Grid:
NewGridForm.cs: NewGridForm(AApiVersionedFields) constructor to call NewGridForm(AApiVersionedFields, bool).
NewGridForm.cs: Only the Add button's visibility is dependent upon being able to add to a list.
NewGridForm.cs: new Copy button's Enabled state to track the Delete button's.
NewGridForm.cs: new Copy button Click handler (similar to Add button)
NewGridForm.cs: Add button click handler: remove unused "count"
NewGridForm.cs: Add button click handler: select the newly added resource
NewGridForm.cs: Add button click handler: fix display of Exceptions
NewGridForm.cs: Correct link to devel forum
NewGridForm.Designer.cs: New Copy button
S3PIPropertyGrid.cs: Expandable lists should also have [...] button.
S3PIPropertyGrid.cs: IDictionaryCTD: IDictionaryEditor: EditValue: call Add(..) with "bare" constructor arguments (do not create an object)
S3PIPropertyGrid.cs: AsKVP: tidy up "contentFields" - do not need a static class constructor
S3PIPropertyGrid.cs: AsKVP: Standardize AHandlerElement constructor argument lists and add a constructor that accepts an AsKVP
S3PIPropertyGrid.cs: AsKVP: amend Clone(..) to call constructor passing "this"
S3PIPropertyGrid.cs: AsKVPList: amend Add() to call Add(..) with "bare" constructor arguments (not create an object)
MainForm
Fix display of Exceptions in the preview pane.
Resource->Import->As dbc... feature added.
--
1001-10-1133
latest rev: 429
VPXY Resource Editor:
Start centred on screen
Use s3pi.DemoPlugins.RunHelper.Run()
Improve a couple of error messages
Don't lose the FTPT TGI Block for modular resources!
Only first BoundingBox field had a value changed handler - fixed
OK Button disabled until (a) the resource changes, (b) there are some TGI blocks and (c) if it's Modular, there a TGI selected for the FTPT
Don't crash if FTPT TGI index is invalid
Remove resource change handler whilst saving, as saving updates the resource, causing a call to the change handler, which then corrupts the save
Get Linked Part entry IDs correct (they start from 1, not zero)
Always add the FTPT TGI to the end of the list, regardless of whether it's in there elsewhere and set the FTPT index to point to it
When renumbering the lists of parts, keep the numbers pointing to the right TGI blocks and keep the Tab order correct
Provide a means to renumber the list of linked parts
Enabled status of move buttons tracks whether they can be used
Common Move Up/Down routines to move entries in the lists of parts
Adding or deleting a linked part renumbers the list of linked parts
Bounding box value changes were handled wrongly (given how the VPXY wrapper is coded) - have to assign an array, rather than indivual elements
The input boxes store Decimal rather than Single/float values, so may round - check whether the float value as a Decimal matches the Decimal, rather than vice versa
OBJK Resource Editor:
Use s3pi.DemoPlugins.RunHelper.Run()
Use TGIBlockCombo
STBL Resource Editor:
Use s3pi.DemoPlugins.RunHelper.Run()
ViewDDS
Rewrite Program.cs to follow RunHelper.cs model.
Grid:
NewGridForm.cs: NewGridForm(AApiVersionedFields) constructor to call NewGridForm(AApiVersionedFields, bool).
NewGridForm.cs: Only the Add button's visibility is dependent upon being able to add to a list.
NewGridForm.cs: new Copy button's Enabled state to track the Delete button's.
NewGridForm.cs: new Copy button Click handler (similar to Add button)
NewGridForm.cs: Add button click handler: remove unused "count"
NewGridForm.cs: Add button click handler: select the newly added resource
NewGridForm.cs: Add button click handler: fix display of Exceptions
NewGridForm.cs: Correct link to devel forum
NewGridForm.Designer.cs: New Copy button
S3PIPropertyGrid.cs: Expandable lists should also have [...] button.
S3PIPropertyGrid.cs: IDictionaryCTD: IDictionaryEditor: EditValue: call Add(..) with "bare" constructor arguments (do not create an object)
S3PIPropertyGrid.cs: AsKVP: tidy up "contentFields" - do not need a static class constructor
S3PIPropertyGrid.cs: AsKVP: Standardize AHandlerElement constructor argument lists and add a constructor that accepts an AsKVP
S3PIPropertyGrid.cs: AsKVP: amend Clone(..) to call constructor passing "this"
S3PIPropertyGrid.cs: AsKVPList: amend Add() to call Add(..) with "bare" constructor arguments (not create an object)
MainForm
Fix display of Exceptions in the preview pane.
Resource->Import->As dbc... feature added.
--
1001-10-1727
latest rev: 430
Oops: infinite loop in catch{} code; fix and update to provide stack trace.--
1001-16-1638
latest rev: 432
Annoying VisualStudio error removed, restoring context menu Add, Import and Export.
And pick up latest s3pi with fixed MATD.
--
1002-07-1313
latest rev: 440
PropertyGrid.cs: Reorder TypedValuePropertyDescriptor.GetValue() to match PropertyType.
PropertyGrid.cs: Put common PropertyDescriptor code used where there's a type converter into a public class and use that throughout.
PropertyGrid.cs: Remove ctd.field to name unmangling from ArrayAsHexConverter.
PropertyGrid.cs: Put the array element type name at the start of the property name (not the end) in ArrayAsHexConverter.
PropertyGrid.cs: Move all the classes that aren't CTDs to the end.
PropertyGrid.cs: Get the TGIBlockList editor integrated.
ResourceDetails.cs: Consistent length for Group value.
MainForm.cs: Create new static wrapper around CopyableMessageBox.IssueException().
MainForm.cs: Make getVersion() and getString() static, as used from IssueException().
MainForm.cs: Replace exception messages with calls to IssueException() for consistency.
MainForm.cs: Add a Close() after reading in new resource content (and getting the version string).
BrowserWidget.cs: Replace exception message with call to MainForm.IssueException().
NewGridForm.cs: Replace exception message with call to MainForm.IssueException().
ReaderEditorPanel.cs: Replace exception messages with calls to MainForm.IssueException().
Program.cs: Replace exception message with call to MainForm.IssueException().