changeset 1:9106f044f5f3 default tip

Add files that were previously unversioned in build directories
author IBBoard <dev@ibboard.co.uk>
date Sun, 07 Oct 2018 14:48:58 +0100
parents 8439bec53421
children
files IChunkyValidators/RSH.validator IChunkyValidators/RTX.validator IChunkyValidators/WTP.validator IChunkyViewer.csproj IChunkyViewerPref.xml Readme_IChunkyViewer.txt
diffstat 6 files changed, 233 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/IChunkyValidators/RSH.validator	Sun Oct 07 14:48:58 2018 +0100
@@ -0,0 +1,2 @@
+# RSH file validator by IBBoard, v1.0
+FOLDSHRF[ FOLDTXTR(1-6)[ DATAHEAD FOLDIMAG[ DATAATTR DATADATA ] ] FOLDSHDR[ DATAINFO DATACHAN(6) ] ]
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/IChunkyValidators/RTX.validator	Sun Oct 07 14:48:58 2018 +0100
@@ -0,0 +1,2 @@
+# RTX file validator by IBBoard, v1.0
+FOLDTXTR[ DATAHEAD FOLDIMAG[ DATAATTR DATADATA ] ]
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/IChunkyValidators/WTP.validator	Sun Oct 07 14:48:58 2018 +0100
@@ -0,0 +1,2 @@
+# WTP file validator by IBBoard, v1.0
+FOLDTPAT[ DATAINFO DATAPTLD(1-6) FOLDIMAG[ DATAATTR DATADATA ] DATAPTBD(0-1) DATAPTBN(0-1) ]
\ No newline at end of file
--- a/IChunkyViewer.csproj	Sat Oct 06 20:00:56 2018 +0100
+++ b/IChunkyViewer.csproj	Sun Oct 07 14:48:58 2018 +0100
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
     <ProjectType>Local</ProjectType>
@@ -24,7 +24,7 @@
     </UpgradeBackupLocation>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <OutputPath>C:\Documents and Settings\ibboard\My Documents\Visual Studio 2005\Projects\IChunkyViewer\bin\Debug\</OutputPath>
+    <OutputPath>bin\Debug\</OutputPath>
     <BaseAddress>285212672</BaseAddress>
     <ConfigurationOverrideFile>
     </ConfigurationOverrideFile>
@@ -118,5 +118,14 @@
       <Project>{D3B2F94E-ADE9-45E1-829F-698C0F4F1CFC}</Project>
       <Name>RelicTools</Name>
     </ProjectReference>
+    <None Include="Readme_IChunkyViewer.txt">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="IChunkyViewerPref.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="IChunkyValidators\*.*">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
   </ItemGroup>
 </Project>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/IChunkyViewerPref.xml	Sun Oct 07 14:48:58 2018 +0100
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE races[
+  <!ELEMENT preferences (preferece*)>
+  <!ELEMENT preference (CDATA|preferenceArr)>
+  <!ELEMENT preferenceArr (CDATA)>
+  <!ATTLIST preference id ID #REQUIRED>
+  <!ATTLIST preference type CDATA #REQUIRED>
+  <!ATTLIST preferenceArr id ID #REQUIRED>
+]>
+<preferences>
+<preference id="ShowChunkSizes" type="System.Int32">0</preference>
+<preference id="DoWPath" type="System.String">c:\program files\thq\dawn of war\</preference>
+</preferences>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Readme_IChunkyViewer.txt	Sun Oct 07 14:48:58 2018 +0100
@@ -0,0 +1,203 @@
+IChunky Viewer v1.1.3
+=====================
+
+The IChunky Viewer (Intelligent Chunky Viewer) is a semi-intelligent replacement for Relic's official Chunky Viewer.
+
+Although the official Chunky Viewer will open chunky files and show you the content, it can hang on some files (mainly those extracted by SpookyRAT). IChunky Viewer is more stable, displays more detail about the content of the chunks (converting it in to meaningful text where possible) and is more visually integrated in to your Windows theme. The IChunky Viewer also includes additional features, such as saving chunks from a Chunky file, exporting and importing chunks, and deleting chunks.
+
+
+Installation
+------------
+
+1) Extract the Zip file to your Dawn of War folder (this is the recommended location)
+2) Run the EXE, and open a chunky file.
+
+
+Troubleshooting
+---------------
+
+Known errors:
+  "The application failed to initialize properly (0xc0000135). Click OK to termintate the application" - This error only occurs if you do not have the .Net Framework (v1.1) installed on your computer. Please go to http://msdn.microsoft.com/netframework/downloads/framework1_1/ for instructions on how to download and install the framework.
+
+If you have any problems, please email me at webmaster@ibboard.co.uk with as much information as you can about the error and what you were doing, and I will look into it.
+Please note that you need the .Net framework to run this application.  Later builds may be created that include the required framework code within the build, but that can wait for now.
+
+
+FAQ
+---
+
+Q) What is a 'chunky file' anyway?
+
+A) Relic have created their own structured file format called a 'chunky file'. Each normal chunky file starts with "Relic Chunky" and then contains a series of chunks (sections) which can be FOLD (folder) or DATA (data chunk). Each FOLD and DATA chunk has a four character type (e.g. IMAG or TPAT) that identifies what kind of content it will contain.
+
+Q) So what files are known as 'Chunky Files'?
+
+A) The current list of chunky files includes:
+    * RSH, RTX and WTP textures
+    * WHM and WHE model files
+    * SAV (game saves)
+
+REC files (game recordings) are also a form of chunky file (they contain a version number and a string, followed by two "Relic Chunky" sections), but are not currently supported due to an apparent incorrect length value in all tested REC files.
+
+Q) Why would I need to use IChunky Viewer?
+
+A) Normal game users will almost certainly not need the IChunky Viewer. The majority of modders will probably never need to use IChunky Viewer either. Where IChunky Viewer is useful is to investigate existing files to see how to make similar files, extracting single parts (currently only imagesas of v1.0) from a file, and finding out what the structure of files are. In future it should also be useful as a structured editor for editing chunky files.
+
+Q) How can I help development of the IChunky Viewer?
+
+A) The intelligence of the IChunkyViewer relies entirely on someone analysing a chunk and finding out what the content means. If a chunk hasn't got special formatting or has some unknowns, then investigate the file and send your findings to IBBoard (webmaster@ibboard.co.uk) for inclusion in later versions of the tool.
+
+Q) Why do some chunks only show a long list of numbers and nothing else?
+
+A) See above. If a chunk is showing a long list of numbers then its content is either not displayable as text (e.g. IMAG files, which contain a TGA or DDS file) or its content has not been analysed and understood.
+ Q) How do I add additional validators?
+
+A) Validators are stored in a folder called "IChunkyValidators" and are simple text files with the extension ".validator". To create a new validator just select a file format, create a new file and enter the correct validation string and save the file as FileExtension.validator. See below for more details on formatting the validator pattern.
+
+Q) Can I contribute my own validators?
+
+A) Yes, of course. The main reason for making validators simple strings in text files was so that the community could create their own for whatever area of expertise they have. I'm most familiar with textures, and so have created some texture validators as a starting point. Additional validators will either be included in future versions or released as separate packs.
+
+Q) What use is the validator string?
+
+A) Most of the time, not much, but it can be useful for creating new file validators and for working out why valid files are considered invalid. If you encounter any valid files that return invalid when validated then please email the validation string and the validator to IBBoard (webmaster@ibboard.co.uk)
+
+Q) My file keeps failing valitation, but the game loads it correctly. What can I do?
+
+A) See the question above. Please submit the file's validation string and the validator file that you're using to webmaster@ibboard.co.uk for error checking.
+
+Q) My file passes validation but the game doesn't load it. I thought validation was supposed to check that the file was correct?
+
+A) The validation only works at a certain level and cannot check all details of the file without being hugely more complex and non-customisable. It is possible that some changes to the Chunky files will make the game reject the file even though its structure of FOLDs and DATAs may appear to be correct. If this is the case then please contact IBBoard (webmaster@ibboard.co.uk) with as many details about the changed you made, which file you modified, how you modified it, and any related details that may be contained in the Dawn of War "warnings.log" file.
+
+
+Validator format
+
+----------------
+
+The "Validation String" from most files can be used as a basis for the validator file of most file formats, however some addition features (such as repetition of chunks) are detailed below.
+
+1) Folder chunks:
+
+Folder chunks are represented in the following format:
+
+FOLD####[ ... ]
+
+where #### is the ID of the folder (the four characters shown as the folder's name in the main IChunkyViewer window). The brackets then contain the chunks which are within the FOLD chunk. This can include further FOLD chunks.
+
+Note that the brackets must have a space after the opening square bracket and before the closing square bracket.
+
+2) Data chunks:
+
+Data chunks are represented in the following format:
+
+DATA####
+
+where #### is the ID of the chunk (the four characters shown as the chunk's name in the main IChunkyViewer window).
+
+Data chunks must be separated from any other chunk by spaces
+
+3) Spacing:
+
+All chunks must have a single space between themselves and any following chunks. In the case of FOLD chunks this follows the square bracket, not the ID. Closing brackets for FOLD chunks must also have a following space, unless they are the last character on the line.
+
+4) Repetition:
+
+To represent repetition the validator uses the following notation, either:
+
+(a-b)
+
+or:
+
+(a)
+
+directly following the chunk's ID, e.g. DATA####(1-6). (a-b) represents a minimum number to a maximum number (e.g. WTP files must contain between one and six pattern layers, represented as "DATAPTLD(1-6)") while (a) represents a fixed number of repetitions (e.g. RSH files must include six channels, represented as "DATACHAN(6)"). If the item is optional then it must be represented as (0-1). If there is only one occurance of the chunk then "(1)" does not need to be included and is assumed by the application.
+
+Note: repetitions come directly after the chunk, and hence before the opening square bracket for folders.
+
+Note: If a chunk repeats and it is left as repeating in the validator (instead of having a repetition value) then the validator will fail to validate correctly.
+
+5) Comments:
+
+Comments can be added on new lines within the .validator file by preceeding the line with a hash symbol ('#'). This is useful for tracking who made and edited which validators, or any related comments you feel the validator may require.
+
+6) Examples:
+
+Please see the WTP, RSH and RTX examples in the IChunkyValidators folder for examples of validator files. Between them, they cover all of the combinations of nested FOLDs, repetitions and formatting required to provide an example for most situations.
+
+
+Distribution
+------------
+
+The IChunkyViewer is now available under the GPLv3 license and is free to use, modify and distribute. Source code is available at https://dev.ibboard.co.uk/repos/RelicTools/IChunkyViewer/
+
+
+Licenses
+--------
+
+The IBBoard, IBBoard.Graphics and IBBoard.Graphics.OpenILPort libraries is released under the LGPLv3. Source code is available on https://dev.ibboard.co.uk/repos/.
+The IBBoard.Relic.RelicTools library is released under the GPLv3 license. Source code is available at https://dev.ibboard.co.uk/repos/RelicTools/RelicTools/.
+SquishWrapper and the Squish library are released under the MIT license. Source code for the SquishWrapper is available at https://dev.ibboard.co.uk/repos/SquishWrapper/
+SharpZipLib is released under a GPL license.
+
+
+Legal
+-----
+
+I don't have a copy of a legal disclaimed available to copy at the moment, but all of the usual applies. In summary (for all those who haven't read a software disclaimer before):
+You're using this program of your own free will, it may not do what you expect, it might not work at all, it might break your Dawn of War install and none of it is my fault.
+The application shouldn't really break anything (it's too simple) but legal disclaimers are legal disclaimers!
+
+
+History
+-------
+
+Version 1.1.3:
+  Updates:
+	Updated IBBoard.Relic.RelicTools.dll to later version that handles DATACHAN chunks without crashing on chaos_thermo_rgb.rsh (Bug reported by Max C)
+
+Version 1.1.2:
+  Updates:
+	Updated IBBoard.Relic.RelicTools.dll to later version that recognises DXT3 DATAIMAG chunks
+Version 1.1.1:
+  Updates:
+	Fixed bug that caused WHM and other multi-root items being saved correctly
+
+Version 1.1:
+  New Features:
+	Adding/deleting of chunks
+	Import/export of chunks to move them between files
+	Saving of modified Chunky files
+	Validation of the structure of a Chunky File (structure validators for WTP, RSH and RTX included)
+	Display of bytes of data in chunk (same as Relic's Chunky Viewer) or total size of chunk including headers
+	Options dialog box
+  Updates:
+	Visual theming for Windows XP
+	Move to a more generic folder separator to allow potential cross-platform compatibility
+
+Version 1.0:
+  New Features:
+    Loads all single-chunk Chunky files
+    Displays folder structure of files
+    Allows saving of some chunks (e.g. image-based chunks)
+    Meaningful display of data where content format is known
+    "Open in new window" to allow for easy comparison
+
+
+The Future
+----------
+
+Possible ideas for later builds of this app include:
+	Additional meaningful displays of data
+	Saving of more chunky types (where applicable)
+	Handling of REC files (which hold two Relic Chunky sections, one of which appears malformed)
+	Editing of data (where meaningful)
+
+Any other ideas would be greatly appreciated.
+
+
+Enjoy!
+
+IBBoard
+webmaster@ibboard.co.uk
+www.hiveworldterra.co.uk and skins.hiveworldterra.co.uk