Future Plans for CFG Studio 2
CFG Studio 2 will support nearly all of the text data formats from GTA3, GTAVC and GTASA. It will add more editing capabilities and refine the grid-based interface. It will offer even more freedom and fewer limitations than the previous CFG Studio.
An editor isn’t much use if it can’t save files! Functional release will use a single
TAB character to seperate values.
A lot of editors are very sensitive about how files are structured, especially the way values are seperated. I think compatibility with other tools is desirable but not essential. After all, the problem is them not being properly compatible with the data formats!
All editors will have been made to alter the original files. Saving edited files in the same style as the original Rockstar Games (R*) files should make them compatible.
- A lot of editors do things CFG Studio can’t, such as mapping tools display the map.
- There are lots of tools for editing specific files like
- CFG Studio can be used in conjunction with other tools, as intended.
- CFG Studio won’t be used by people if it breaks their current favourite editor!
- Lots of hardcoded values:
- Makes writing files slower.
- Makes the program more bloated.
- Harder to maintain the program.
- Impossible to make the files exactly like R* originals because the data will be different; so there’s still no guarantee of compatibility.
If anyone complains about actual incompatibility problems they experience, I’ll try and do this some more.
Aligned Data Mode
Although CFG Studio 2 is intended as a replacement for editing data files in Notepad, people might want to use it for some things still.
Before the file is saved:
- Find the value with the most number of characters in the each column.
- Save these as an array of values.
When saving a file in this mode, for each line do the following:
- Split the line into an array of values.
- Compare the length of each value in the current line against the corresponding array entry.
- Add enough spaces to the value equal that entry.
- Add one more space so this value is seperated from the next.
- Remove any space from the end of the line.
- Write the line to the file
Grid data was sorted in ascending order in the old CFG Studio and was fairly sophisticated. CFG Studio 2 hopes to carry this forward and build on it:
- Use heuristics to determine the format of the current column to avoid making a hardcoded catalogue of every column data type in every format.
- Do full string comparisons to get 100% accurate sorting.
- Use a Selection Sort algorithm instead of the current Bubble Sort to make this much faster.
- Allow user to change direction of sorting between ascending and descending:
- Add a View > Sort By > Ascending and a View > Sort By > Descending menu to set this explicitly?
- When user selects a column to sort by which has already been selected, reverse the sorting direction?
- Do both of the above?
- Allow sorting via the Model ID numbers in a relevant
- Maybe create a View > Sort By > IDE File... menu like Steve-M’s Collision Editor 2?
- Check whether the column is still sorted correctly when user makes an edit.
Rich Editing Controls
Dropdown lists for all columns which use preset values:
- Some columns use values which are identifiers in other sections of the current file.
- Examples of this are
- Silently look for files which contain other references?
- Could look for
vehicles.idewhen editing a
- Could go really overboard and look for a
gta*.datfile and load all relevant
*.idefiles from that in background when viewing a mapping
- Could look for
Dropdown checklists for all flags:
- Create hardcoded list of all flag columns in all formats.
*.idefiles can have draw distances and flags in the same column:
- Flags are always the last populated column in the current row.
- Use text like “Digit 3 value 4” if the exact purpose isn’t known.
Common dialogue colour picker for groups of RGB columns:
- Maybe add a “Colour” column immediately after these groups showing a preview?
- This column would be ignored when saving the file.
Visual Basic (VB) applications have a lot of dependancies. CFG Studio 2 uses some extra controls which add more dependacies as well. I need to package it with an installer to manage this stuff automatically.
FileSystemObject(FSO) for reading and saving data files, validating of paths, checking for file existence, etc.
- Common dialogues for File > Open and suchlike.
- Common controls like the tabs and status bar.
- Speadsheet grid thing.
Other VB6 dependancies.
Associating with File Types
Create a Tools > Default Editor... menu. Will which display a window where users can tick the file types they want CFG Studio to be the default editor for.
File types for the checklist:
No need to allow user to add other file types to this.