FFTPatcher: * Added type ahead functionality to the Proposition Details editor. ESC to clear the search, like in all the other areas. * Expanded the job box in the Proposition Entries section. * File checkboxes inside the patch PSX/PSP form now check/uncheck with a single click. * ENTD unit table now displays (X,Y,UpperLevel), UnitID, Always/Randomly present values, and Team. * ENTD unit table colors rows based on team color, and fades rows when units are not Always present. Enabling and disabling this feature, as well as changing the colors, can be done by editing Settings.xml. * Conditional Gameshark codes now generate in appropriate Gameshark format and use better file checks. Added ATTACK.OUT and REQUIRE.OUT file checks. * Formation sprite entry values for special jobs (0x00 to 0x49) are now editable via FFTPatcher in the Jobs tab. There are two new values labeled "Formation Sprites" that correspond to the entry numbers in UNIT.BIN and WLDFACE.BIN. * Fixed some issues relating to Proposition level bonuses. FFTPatcher generates patches to apply a fix to propositions (since before .478 - apparently, the game checks for level bonuses in the wrong place), but they don't show up in the Gameshark tab and won't actually apply unless you select the Propositions checkbox on the appropriate patch form. However, it will no longer load the wrong values, and will no longer try to mirror the level bonuses in the grid. * Added the blue color for changed entries to the list boxes on the left side. Now includes Item Attributes and Status Attributes! * Rows with Unit (formerly Sprite Set) set to 00 now appear as a blank row in the ENTD unit editor. * Item Attributes and Status Inflictions: * Additional colors are now used for left side list boxes. Green indicates an unused entry and red indicates a duplicate value in use. This setting and the colors it uses are configurable in Settings.xml. * Can now be repointed on a per-entry basis, with all references being updated to the specified entry. * Can now be consolidated via the Edit menu, which repoints all duplicates to the first equivalent entry. * Now displays how many Item and Ability entries are referencing the selected entry, as well as the ID and name of the first Item or Ability entry to do so. Clicking the name brings up the Item or Ability tab with the appropriate entry selected. Clicking the number also switches to the Item or Ability entry, but also highlights all the other referencing entries with another color. The color can be cleared by pressing ESC. This feature (and color) can be configured in Settings.xml. * Now uses dropdowns for M.Graphic (now Monster Type) and M.Portrait (Monster Portrait). * Ability 00 is once again listed as because the data there doesn't seem to affect Attack (even though the ability ID does seem to be set to 00 in-game when using Attack). * The Chemist Item formula list now uses the same formula list as normal Abilities do. * The current patch data can now be set as Defaults via the Edit menu. The normal defaults can also be restored. * The Jobs tab now contains a simple stat preview that can be brought up via the View Stats button. This is a new form that allows the user to select base stats, growths, and multipliers to see what the stats are at each level. * Cleaned up formatting in the main menu. * Updated various labels. * Internally, the patch data is no longer static, and there is no longer a static tooltip on the patch editor. FFTacText: * Fixed an issue with disappearing Proposition text by no longer compressing Proposition reward text. * Now uses the same logic to patch, and generates the same resulting disc image, as version .457 would have, with the exception of not compressing the Proposition reward text. * Can now generate a Resources.zip file from the File menu. * Can now toggle a Use FFT Font option, which uses the Altima font used by the FFTText editor. * Added Regulate Newlines option from the Edit menu which inserts newlines after {Newline} if they don't exist, and removes other newlines. * In certain error cases, the "Object reference not set to an instance of an object" error is now instead displayed more specifically as a DTE error. * Section numbering is now zero-based (as it is in game). * Now uses internal C# code to do the text compression instead of an embedded C++ library. FFTorgASM: * Many more patches have been added and/or updated, including the addition of several new XML files! * Now displays error messages for invalid ASM patches (syntax errors, unknown/illegal instructions, bad label references, etc.) The warning messages shown previously didn't include these; as a result, broken patches could show up normally. They should now display in the error color with the appropriate error messages. * Now includes a HideInDefault option for individual patches, or for an entire patch file. This causes the patches to be visible when the appropriate XML file is selected, but not from the All list. Currently used on a few patches in Xjamxx.xml which are modified versions of previously existing patches. * Patch checkboxes now check and uncheck with a single click. * Added an Uncheck All option for patches. * The file list is now always one column, even if many files are added to the XmlPatches directory. * The patch list now has type ahead functionality. ESC clears the current search, like in FFTPatcher. * Now only runs the error checker when patches are loaded initially (or reloaded) instead of doing it each time a file is selected in the file list. * Now supports a default File or Sector attribute which can be specified on the tag and is used if no File or Sector attribute is specified on or tags. * In and tags: * There is a new "specific" attribute that can optionally be used instead of "file" and "offset" attributes. File names or sector numbers can be used. Example: * If no File or Sector attribute is specified, and there is no default, the File or Sector attribute from the previous tag will be used. This will mark the block as sequential. * For tags: * Can now use offsetMode="RAM". * Can now have multiple offsets specified in the "offset" attribute, like tags can. * Can now reference other variables and perform simple arithmetic to find a value. Supports (+, -, *, /) as operators. Example: * Variables are now added as macros (equivalences) in ASM sections. Spaces are removed in the resulting name. A variable called X will be defined as %X. * tags now support a "label" attribute which allows the location to be referenced as a label in ASM sections. Example: (Later referenced as @address_calc_skip_type) * The Free Space viewer has been re-written: * Loads patches based on the file selected in the file list box. If you want to load all patches, select "All" in the file list box before pressing View Free Space. * Now uses already loaded patch data, and no longer attempts to read XML files independently. As a result, there should no longer be discrepancies in displayed patch length compared to the actual size of the patches, and the processing is significantly faster. * Free space ranges are now taken from an external XML file (FreeSpace.xml). The two SCUS free space ranges (empty subroutines) are in by default. * Now has the ability to move blocks in free space within patches. Doing so will move the block in free space and update any references to it in the patch (from unconditional jump commands). When a row is selected in the Free Space viewer, the address of the corresponding block will appear in a textbox on the left. Change the address and press the Move button to move the block (as well as sequential and overlapping blocks). The patch will now be changed in the current session, but the XML file it was loaded from will not be altered. Use Save Patch XML (referenced below) to save the patch with the updated locations/references. * Now includes a File column. * Now sorts hex numbers correctly. * Now uses a softer red conflict color. * The Conflict Checker has been re-written: * Loads patches based on the file selected in the file list box. If you want to load all patches, select "All" in the file list box before pressing View Free Space. * Now uses already loaded patch data, and no longer attempts to read XML files independently. * Now only displays patches that have conflicts. * The Files list box on the left has been removed in favor of listing the Sector in the Conflicts area. * Background colors are used to highlight which patches conflict with which other patches. The colors are random and opening and closing the Conflict Checker will reroll them. Note that it can still be difficult to tell visually which patches conflict with which if there are conflicts with many other patches. * Conflicts in free space ranges are listed with a white background color in the Conflicts area (and may be able to be resolved via the Free Space viewer Move function), whereas conflicts outside of free space are listed with a red background color. * Save Patch XML button added, which saves the currently selected patches as an XML file. If a patch has been moved in the Free Space Viewer, it will be saved as the moved version into the resulting XML file. * Now indicates completion of Save Patch XML, Patch to pSX Savestate, and Patch ISO by bringing up a message box with the text "Complete!" Patch to pSX Savestate now lists all absent and unsupported files in that same message box. Shishi: * Now has Zoom functionality in the main sprite image, the Frame/Animation image, and Other Images. Controlled by dropdown and goes from 100% to 1600% with 100% increments. * Now uses the selected palette in the Frame/Animation image. * When importing a multi-palette 4bpp image as 8bpp, now only imports/exports as many palettes are available in the image on the disc, if less than 16. * Resizing the form should now expand the appropriate image boxes correctly. Minimum size is the same as the original form size. * Sprites can now be imported and exported as 4bpp. * Now supports drag and drop functionality for sprites. * Added functionality to Import and Dump all sprites. * Now includes the WLDFACE.BIN sets as a separate section. * Now includes the entire WLDFACE4.BIN image as a separate section. * Now has a separate section for the extra palettes of UNIT.BIN and WLDFACE.BIN. * For Import/Dump all images, images that point to the same image data have filenames affixed with "_#" if they would have had duplicate names, where # starts at 2 and increases for each duplicate. * Effects are now included a separate section in Other Images! * Entry and palette numbers now start at 0 in Other Images. * Entry numbers in the Other Images section are now displayed in hex. * Sections in Other Images now have the option to hide the entry index via the HideEntryIndex attribute. Also used in the Effects section (set programatically). ASM Encoder/Decoder: * Now uses more strict encoding and decoding for PSX/PSP modes when trying to use instructions outside of the appropriate instruction set. * Now reports an error when an invalid negative number is entered. * Equivalences (macros) no longer cause problems when defined with uppercase characters. * Added support for pseudoinstructions involving basic ALU operations with no specified source register (e.g. addiu r4, 2 translated to addiu r4, r4, 2). * Fixed the order of operands for the jalr instruction.