[Rel] Construction Set Extender 6.0

Post » Tue Sep 25, 2012 6:08 am

Construction Set Extender
Showing the CS the love it deserves
version 6.0


Requires http://www.gamesas.com/topic/1410286-rel-oblivion-script-extender-obse-0021-beta/


Download : http://www.tesnexus.com/downloads/file.php?id=36370



Description

A wise old person once started a thread in the BGS forums with these words:

We've all done it at some point - Wished that Bethesda would fix the damned thing *show of rage* ... and add some of those godsend features that would make life so much easier.

Unfortunately, nothing ever came of it. Beth moved on to creating more trouble with the GECK, leaving us in the dust with an aging, one-legged buzzard. But hope springs eternal. I've created this thread just in case a lone (and handsome) vagabond chances upon it and takes to themself the task of fattening the damned bird.


*tumbleweeds fly* *the wind makes an obscene sign in the sand* *the snow…oh* *the smoke clears, albeit slowly*

“Well, I’ve been told that I’m handsome…”




Fine Print

The Construction Set Extender is a lone and handsome vagabond OBSE plugin that enhances the TES4 CS by fixing various bugs and adding new tools. One may say it makes the CS what it was meant to be, but that would be a lie [snip]*.

* - Modified for political correctness.



Compatibility

This mod is, and should be, compatible with every other mod there is.



Credits

Special thanks to :
  • Ian Patterson, Stephen Abel and Paul Connelly (The OBSE Team) – For keeping up the Oblivion Modding spirit and providing the modding community with TES4 Oblivion's Elixir of Immortality
  • LHammonds – For his Readme generator
  • Scruggsywuggsy the ferret - For putting up with me over the course of CSE's development, providing advice, adding stuff to OBSE as I needed and letting me do all sorts of immoral stuff to the code. Kudos to you, mate!
  • IanPat – Same as above.
  • Cipscis - For inspiring the very first version of the plugin that came to become CSE.
  • haama, Waruddar, Corepc, kyoma, DragoonWraith, PacificMorrowind, tejon, JRoush and Vacuity - For taking interest in and testing the plugin and working with me through the many arduous months of development. Hats off to you guys!
  • JRoush & Kyoma – For their many contributions to the code base.
  • Sen-Chan, CorePC, lilith, daemondarque and the rest of the ... group - For being such a friendly bunch and keeping me company.
  • Lilith & Andalaybay – For proof-reading the manual.
  • AndalayBay – For a whole lot of stuff, far too many to list here. It includes spelunking, for Grud’s sake!
  • Arthmoor – For constantly breaking the development builds.
  • Vorians – For forgiving the auxiliary viewport window in the end.
  • The “Dark Creations” Denizens – For eta testing the various development builds.
  • All the modders who contributed to the 'CS Wishlist' and 'Script Editor Wishlist' thread - CSE's chock-full of your suggestions and requests.
The Rest of the Modding Community – For the inspiration I needed to start modding and all the wonderful mods which I use.
Bethesda – For providing a great game Construction Set with enough flaws to keep us me busy.


Change Log

Spoiler
6.0 –

[CSE]
Rewrote the majority of the code base
Implemented a new scripting language for the CS
Fixed a CS bug that incorrectly labeled generated LOD diffuse maps
Removed the size limitation placed on the texture sample viewer
Fixed a CS bug that prevented the save tool from being reused after an invalid/prematurely-ended operation
Modified the 'About' dialog a bit to make it more flashy
Fixed a bug that prevented temporary reference nodes from being culled in the render window
Fixed a bug that prevented the overwriting of ESM files during a save operation
Added a toggle for the deisolation fix
Added the ability to launch external tools from the main menu
Fixed a bug that prevented some CS INI settings from being flushed at program close
Added a new render window tool: Reveal all in Cell
Initialized idle anim tree root nodes on CS startup
Added a new INI option and corresponding tool to backup active plugins before performing a save operation: BackupOnSave
Fixed a CS bug that displayed incorrect line numbers in script error messages
Fixed a CS bug that caused a CTD when a light record's reference was placed for the first time
Fixed a CS bug that caused a CTD when performing the fall operation under certain conditions
Modified render window selection info text to display rotation in degrees
Added new context menu tool: Show Override List
Initial implementation of the change log tool
Cached URL strings passed through CSEIntelliSenseInterface
Compacted control placement in the Bind Script dialog
Updated old references to the vanilla usage reference system to account for the new count-based system
Fixed a bug that caused reference extra data to be reset after using the Batch Reference Editor or Selection Alignment tool
Moved the component DLL repository to 'Data\\OBSE\\Plugins\\CSE'
Fixed a CS bug that prevented quest result scripts from being cleared
Fixed a CS bug that occasionally caused reference edit dialogs to be sent to the bottom of the z-order when opened from the render window
Fixed a bug that raised an exception when creating default directories for new workspaces
Made Windows XP a minimum requirement
Fixed a CS bug that prevented NPC models from being updated correctly in the preview window after an item was removed from their inventory
Fixed a CS bug that prevented factions from being passed as argiments to condition script commands that accepted parameters of the type 'Owner'
Patched the Search and Replace dialog to stay open after a successful replace operation
Fixed a CS bug that caused strange CTDs during plugin load when under certain unknown conditions
Fixed a CS bug that trashed ESP/ESM file associations at CS startup
Fixed a CS bug that invalidates the viewport after linking a path grid point
Added the ability to toggle b'ween two sets of render window movement settings
Added the ability to unlink a path grid point from a reference, fixing a bug in the process ([that] disallowed the relinking of pre-linked path grid points)
Fixed a bug that triggered a deadlock when the legacy CS crashed during lip sync generation
Result script compilation ops generate a notification when failed
Improved object window refresh performance
Added new filter tools to the Object and Cell View windows
Added the ability to change the active landscape texture from the 'Landscape Texture Use' dialog
Added the ability to edit result scripts in a larger text edit field
Fixed a CS bug that progressively reduced the size of the Cell View window's controls after each plugin load
Added the ability to sample sound files inside BSA archives without having to extract them
Added various "achievements" to the CS
Added a toggle to prevent plugin save operations from modifying their file timestamps
Removed a couple of redundant items for the main menu
Added a 'Jump to Cell Coords' tool to the Cell View window, a la the GECK
Fixed a bug that occasionally caused a CTD when using the 'Copy External File' tool in the response window
Added error handling for the lip sync generator code
Default CS/CSE directories are now created on CS startup
Fixed a bug in the asset selector code that incorrectly handled idle anim file paths
Improved asset selector UI
Added new asset selector tool: Extract asset
The Find Text tool now hides unmodified/deleted forms accordingly
Form edit dialogs now display the working form's editorID
Improved plugin loading speed
Fixed a CS bug that caused CTDs when painting theme-enabled owner-drawn preview controls
Fixed a CS bug that caused the render window to lose focus after the active landscape texture was switched
Fixed a bug that threw an out-of-bounds exception when COEF-created forms were handled by various editor functions
Improved plugin load performance still further
Added the ability to undo path grid editing actions
Added new render window tool: Thaw All In Cell
Fixed a CS bug that caused a CTD when a path grid point was created after every loaded pathgrid was destroyed
Fixed a CS bug that prevented the selection rectangle from showing on multiple path grid node selections
Made render window selection alignment undo-able
Fixed a CS bug that caused a CTD when deleting quest stages in the theme-enabled EXE
The main CS windows are now completely hidden instead of being minimized to the bottom of the desktop
The camera now focuses the origin on loading an interior cell, or the first reference (if any)
Increased the landscape edit brush size's upper limit to 25 units
Fixed a CS bug that reverted the render window selection to the original references during a duplication operation
Fixed a CS bug that prevented the correct parsing of script text containing non-standard line endings
The visibility state of the main windows is preserved b'ween multiple CS sessions
Fixed a CS bug prevented the proper destruction of modeless dialogs, eventually leading to the exhaustion of the OS's global user-mode handle pool
Improved dialog instantiation performance
Improved the performance, stability and usability of the LOD texture generator significantly
Made the output resolution of generated LOD diffuse maps configurable, increased upper limit to 6144px
Fixed a CS bug that prevented full resolution LOD diffuse maps from being rendered correctly (the 'Black LOD' bug)
Improved the performance of most render window operations
Permanently allowed multiple editor instances
Added the ability to collectively scale multiple object references in world space with the ALT modifier key
Added a RAM usage counter to the render window viewport
Fixed a bug that prevented the batch editing of exterior cells
Added the ability to view the use reports of selected object references in the render window with the F1 key
Added various dependency checks during plugin init
Increased verbosity when the extender failed to load, prevented it from bringing down the editor during such an event
Added new render window context menu tools: Invert Selection, Freeze Inactive Refs
Allowed the use of existing WAV files when generating lip sync files
Fixed a CS bug that caused dirty edits when selecting cells in the cell edit window
Fixed a CS bug that unnecessarily added cell water extra data to cells that didn't have water
Added a new object window context menu tool: Preview
Permanently turned off version control
Fixed a bug that caused occasional CTDs when using the Freeze tool
Added a last chance handler that attempts to save the active plugin on an event of a crash
Added new tools: Quick Lookup EditorID, Batch Generate LIP files
Improved the quest editor window's UI
Fixed a bug that caused autosaves to add the active plugin as their master
Fixed a bug that would occasionally cause CTDs when opening certain dialogs
Prevented the OS from triggering the screen-saver/switching to standby mode when generating LOD textures
Improved the following dialog UIs - Find Text, Idle Animation, AI packages
Fixed a rare bug that caused CTDs when closing an edit dialog with a 'Numeric EditorID' warning message box open
Fixed a CS bug that caused the viewport to flicker when loading exterior cells
Added a counter to track the time spent in the CS
Added an insulting note to the debug build that gets displayed when someone other than me uses it
Fixed a CS bug that skipped over lighting data when duplicating an interior cell
Inducted two new members into the hall of fame; messed around with the rest
Nonchalantly pierced the chitinous armor of the CS bug that caused the render window to select every pathgrid point in the loaded cell(s) while reclaiming input focus
Improved the following dialog UIs: Quest data, Quest stages, Quest targets, Dialogue Editor, Filtered Dialogue, Region Editor
Made most dialog windows show up in the taskbar
Fixed a CS bug that caused the quest editor to close whenever the Enter key was pressed inside the Log Entry textbox
Fixed a CS bug that caused the 'Path Grid Edit Mode' main menu/toolbar buttons to relinquish their checked state occasionally for no reason
Fixed a bug that caused occasional CTDs when a result script failed to compile
Improved the dialog editor UI's responsiveness
Added the ability to place new refs coplanar with the surface under the drop location
Fixed a CS bug that caused path grid points to incorrectly appear as selected when entering the path grid edit mode
Fixed a CS bug that caused a CTD when a detached reference was loaded into the render window
Updated the TESObjectREFR class definition to correctly account for position/rotation changes made through the API
Fixed a CS bug that caused a CTD when a reference variable was used as a calling reference in a compound expression
Added a 'Time of Day' slider to the main window toolbar
Removed the ability to quick load active plugins as it caused occasional CTDs when used
Fixed a CS bug that prevented the script compiler from warning about mismatching parentheses in set expressions
Added the ability to swap the functionalities of the C and Y render window hotkeys
Fixed a CS bug that prevented the extended common dialog control from being used when looking for NIF assets on disk
Made active forms sort to the top of all form lists
Colorized the background of active form items in form lists
Added the following new columns to the cell view window's object listview: Persistent, Initially Disabled, VWD, Enable Parent and Count
Spruced up the 'Select Topic/Quest' dialogs a bit
Modified the 'Mark As Unmodified' and 'Undelete' context menu tools to work with multiple forms when invoked from the object window
Fixed a CS bug that caused the editor to reset its 'Unsaved changes' flag when the Data dialog was closed
Fixed a CS bug that caused a CTD when the sounds listview in a TESWeather edit dialog was sorted
Fixed a CS bug that caused the render window axis modifier keys to work incorrectly
Modified the "Toggle (Children) Visibility" cell view context menu tools to work on the active render window selection
Moved the "Unload Current Cell" main menu item to the render window context menu
Removed the redundant "Batch Reference Editor" item from the main menu
Added the ability to maximize the object, cell view, render and aux. viewport windows
Added a render window shortcut to toggle path grid editing mode
Prevented the render window rubber band selector from selecting invisible refs
Added a static rotation pivot for the render window viewport camera and the Control key as a modifier to force rotation around it
Forced form cross reference list dialogs to show modally
Improved compatibility with COEF plugins
Fixed a CS bug that prevented the recursive loading of master files during plugin load
Refreshing the render window (F5) now resets the visibility of the loaded cell's objects
Implemented "Select Asset" button tooltips
Minor changes, additions and fixes

[SE]
Major rewrite; implemented AvalonEdit as the primary text editor
Added new UI adornments: Current line, Selection, Error line and Line limit highlighters
The script validator now halts script compilation when it encounters an error
Fixed a bug that prevented the 'New' and 'Open' keyboard shortcuts from working as expected
IntelliSense now parses global variables, game settings and basically every other record
Added support for Alt-modified mouse selections
Prevented the IntelliSense window from showing up unnecessarily after a keypress
Moved the IntelliSense window into a separate form to prevent clipping
Fixed a bug that prevented the correct window bounds from being passed to the script editor close handler
Made number of preprocessor passes customizable
Implemented accessory operator support for the define macro preprocessor directive
Added "stringize" (#) accessory operator
Reduced IntelliSense related console spam
Standard preprocessor directives are now read from every text file in their source folder
The script validator now validates IF/ELSEIF conditions
Saving a script now marks it as active, regardless of the compilation result
Added version information for OBSE commands parsed by IntelliSense
Renovated the tab control UI
Added refactoring tools: Add Variable, Create UDF Implementation, Document Script, Rename Variable
Added the ability to sort open tabs/workspaces
Added some fancy transition effects
Implemented code folding
Implemented remote variable lookup support for the QuickView tool
The script validator now checks for invalid variable identifiers
Made the script list dialog resizable
Improved thread-safety of the IntelliSense database update code
Added new shortcuts: Move line up/down
Fixed a bug that caused an infinite loop when a find/replace operation under certain conditions
Fixed a bug that caused a new workspace's initialization to fail under certain circumstances
Added new tools: Find In Tabs, Replace In Tabs
Fixed a bug that caused a stack overflow when closing the editor window
Added UI adornment support for bracket matching/highlighting
(Almost all)Changes to preferences are applied immediately
Added new shortcuts for the following operations: Save all open workspaces, Close workspace, Switch to workspace
Fixed a bug that prevented various shortcut keys from working under certain circumstances
Fixed a number of memory leaks regarding control/resource disposal (some garbage collected runtime .NET is!)
Added new script sanitization operations: Eval'ify If/ElseIf statements, Apply Compiler Override to Script Blocks
Added new tab manipulation shortcuts: Ctrl+#, Ctrl+PgUp/Dn
Implemented a reg-ex powered text search tool
Added auto-recovery support
Fixed IntelliSense Interface item list sorting
Fixed a bug that prevented the cleanup of selected items in the script list dialog
Fixed a bug that caused the IMPORT preprocessor directive to fail expansion
Fixed a bug that prevented scripts from being flagged as active when deleted
Greatly improved IntelliSense UI performance
Added support for partial substring matches in the script selection dialog
Fixed a bug that occasionally prevented the disposal of workspaces during a tab-tear operation
Modified the 'Anneal command casing' sanitize operation to include editorIDs and local variables
Reverted to the Toggle Comment tool's behaviour to its defaults
Fixed a bug that caused new workspaces to spawn when deleting a script
Scripts now need to be recompiled after variable index modification
Added a new shortcut for the 'Jump to script' tool: Ctrl + Click on a scriptable object's editorID
Text editor caret location is now correctly updated when the right mouse button is clicked
Changed IntelliSense's suggestion filter method to substring searching
The Find context menu tool now automatically initiates the search on use
Added a default indentation strategy
Implemented a code snippet manager
Fixed a bug that prevented IntelliSense from correctly extracting parameter info from compiler overridden function scripts
Added the option to update the IntelliSense database on demand through the Preferences dialog
Fixed a bug that prevented the Load Scripts tool from updating existing scripts under certain conditions
Fixed a bug that caused the preprocessor to skip the fractional part of enum directive values
The script validator now catches identifiers collisions b'ween variables and script commands/forms
Reimplemented the variable index modifier tool as a context menu refactoring tool
Added various new INI settings to the Preferences dialog
Fixed a bug that caused a CTD when IntelliSenseDatabase attempted to parse an uncompiled script
Minor changes, additions and fixes

[USE]
Added support for partial substring matches while filtering
Minor corrections

[BSA]
Fixed a bug that prevented the listview contents from being sorted on init
Minor changes to the UI

[BE]
Really, truly and honestly fixed the bug that caused batch edited references to lose their extra data
Fixed a bug that caused a CTD when the batch editor was used to remove Enable Parent/Ownership extra data from references

[TAG]
Added support for all form types and drop locations
Fixed a bug that caused a CTD when the browser was displayed for a second time
Added partial substring search support for the record list filter

5.1 -

[CSE]
Fixed a bug that caused a CTD when attempting to select a reference in the Enhanced Find Text tool
Re-implemented how ESM files are handled, fixing a number of master-file related bugs in the process
Fixed a bug that caused a CTD when the debug log file stream was closed during shutdown
Restricted script recompile operations to a single instance
Removed the TESDialogSubwindow::EnumChildControlsCallback hook for causing various issues with control z-ordering, sizing and general weirdness
Fixed a CS bug that prevented the correct serialization of deleted TESObjectREFR forms
Patched more spammy subroutines
Modified the Copy Hair/Eyes From Race tool to keep source hair/eye forms
Modified the TESObjectREFR::CopyFrom hook to prevent ExtraTeleport from being copied
Added new render window tool: Freeze/unfreeze selection
Added new tool: Set Workspace
Modified render window context menu items
Quadrupled LOD diffuse map texture resolution
Added new INI settings: SetWorkspaceOnStartup, DefaultWorkspacePath
Fully implemented GMST reinitializing during plugin load
Fixed a CS bug that broke usage reference counting when a form was referenced more than once by another
Fixed a bug that caused a CTD when initiating plugin quick-loading without an active plugin

[SE]
Fixed a bug that prevented the text editor from receiving focus after inserting an IntelliSense suggestion by mouse
Fixed a bug that prevented the context menu 'Copy' tool from working correctly
Fixed a bug that prevented the correct window bounds from being passed when closing a maximized window
Fixed a bug that incorrectly triggered the accumulation of compile errors during a recompile operation
Added a new context menu tool: Lookup on Google
Removed the message box that was displayed after a find-replace operation

[TAG]
Fully implemented form drag-dropping
Fixed a bug that prevented the creation of new tags with names that contained substrings of existing tag names

5.0 –

[CSE]
Added a warning when Oblivion.esm is loaded as the active plugin
Added command history to the console command box
Implemented deferred console updating
Allowed the use of the CONTROL key as a modifier when activating a door marker reference in the render window
Moved the hall of fame's initialization up in the plugin loading pipeline to fix linking issues
Added a warning that is displayed when setting a integer-prefixed editorID on a form
Fixed a CS bug that caused a CTD when compiling result scripts consisting of variable declarations
Prevented the Data dialog from showing onscreen all the time
Modified how the CS handles listview based form edit dialogs
Fixed a CS bug that prevented the correct activation of a newly created/duplicated form in a listview based form edit dialog
Added a new tool to the Race dialog that allows the transfer of hair and eye forms b'ween race forms
Fixed a CS bug that prevented the complete duplication of extradata b'ween TESObjectREFR forms
Fixed a bug in the Save As tool that caused the addition of the original plugin to the new plugin's masterlist
Fixed a bug in the Asset Selection tool that prevented the modification of idle animation model paths
Added new INI keys: ConsoleUpdatePeriod, ShowNumericEditorIDWarning
Added a new tool: Create Global Script [Gameplay > Create Global Script]
Added a Launch Game item to the main menu
Fixed a bug in the console command handler that prevented the execution of committed commands
Expanded message handler override to include all debug channels
Added new tool: Tag Editor/Browser [ View->Tag Browser ]
Trimmed some debug messages
Added new context menu tools: Toggle Visibility, Toggle Children Visibility, Add To Active Tag, Edit Base Form
Fixed the LOD landscape texture generation tools to automatically generate the entire mip chain for all textures
Fixed a CS bug that prevented records in esp masters from being overridden by deleted records
Add a preemptive access check to TESFile::UpdateHeader to help avoid file corruption
Added new tool to the asset selection interface: Copy Path
Added new INI settings: UpdatePeriod, DisplaySelectionStats, UpdateViewPortAsync
Added new render window tools: Align Selection, Group/Ungroup Selection
Prevented Oblivion.esm from being set as active when auto-loading it on startup
Patched various spammy message handling subroutines
Removed the ineffectual 'pink water' fix
Fixed a bug that prevented batch modified references updating their 3D data in the render window
Updated plugin API

[SE]
Rewrote much of the code to facilitate later switch to AvalonEdit
Added FontStyle INI setting
Bookmarks are no longer highlighted in the line number field
Fixed a bug that prevented the correct parsing of floating point values from the INI
Removed 'Invalid Identifier' warning from the script validator, making it (even)more redundant
Implemented a new, albeit fancy preprocessing engine
Fixed the Windows XP common dialog current directory reset bug
Removed IntelliSense-generated debug messages
Turned on autoword selection for script editor text boxes
Removed the directive limit on standard directive parser
Allowed the script validator to prevent script compilation when it encountered script errors
Removed numeric identifier check from the script validator, added check to warn about duplicate editorIDs when saving
Prevented an unnecessary exception from being raised when pasting text into the script editor
Fixed a bug that raised an exception when an external text file was loaded using the ‘Load Script...’ tools
Fixed a bug that prevented tokenless script lines from being commented by the Toggle Comment tool
Fixed a bug that prevented the variable index editor from identifying ref vars as such and modifying their index
Fixed the incorrect icon used by the 'Variable --- declared inside a script block.' script validator warning
Added the option to cancel a Search-Replace
Overhauled preferences dialog
Added new INI settings: LinesToScroll, LoadScriptUpdateExistingScripts, DatabaseUpdateInterval, UseQuickView, AnnealCasing, IndentLines
Added new tools: Sanitize Script Text, Bind Script
Prevented window size from being saved when maximized
Fixed a bug that raised an exception when the text field was cleared
Moved the script preprocessor to a separate assembly for external use
Updated 'Bind Script' toolbar icon
Trimmed some debug messages
Fixed a bug that prevented the editor from instantiating correctly when height was below a certain threshold

[BSA]
Fixed the Windows XP common dialog current directory reset bug
Enabled application visual styles for controls

[BE]
Fixed the bug that prevented extraData from being batch-modified {Thanks to JRoush for this!}

4.0 –

Initial (Public) Release
User avatar
Kari Depp
 
Posts: 3427
Joined: Wed Aug 23, 2006 3:19 pm

Post » Tue Sep 25, 2012 2:12 am

:bunny:

After nearly 1.5 years in development :touched:
User avatar
suniti
 
Posts: 3176
Joined: Mon Sep 25, 2006 4:22 pm

Post » Tue Sep 25, 2012 5:43 am

Squeeee!!!! Congratulations shadeMe. Now everyone else can experience this fine product for themselves. Even if you don't need OBSE for your mod - use this. It's essential. :)
User avatar
Farrah Lee
 
Posts: 3488
Joined: Fri Aug 17, 2007 10:32 pm

Post » Tue Sep 25, 2012 3:07 am

Seconded, thirded, and fourthed! Version 6 is a massive improvement over version 5.
User avatar
JAY
 
Posts: 3433
Joined: Fri Sep 14, 2007 6:17 am

Post » Tue Sep 25, 2012 12:15 am

Woot, thanks muchly...I'm off to download....
User avatar
Chloe Yarnall
 
Posts: 3461
Joined: Sun Oct 08, 2006 3:26 am


Return to IV - Oblivion