OniUnPacker/source: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
m (→Used third party components: link fix) |
||
(13 intermediate revisions by 4 users not shown) | |||
Line 3: | Line 3: | ||
|} | |} | ||
== OniUnPacker source code information == | == OniUnPacker source code information == | ||
=== Source folder === | |||
The source folder contains the following files: | The source folder contains the following files: | ||
* \DataAccess | |||
*: Units for accessing different kinds of containers | |||
** .\ConnectionManager.pas | |||
*: Handles Connections and keeps track of DataAccess-instances | |||
** .\DataAccess.pas | |||
*: (Virtual) Base class for access to data containers | |||
** .\Access_OniArchive.pas | |||
*: Access to Oni's archives (.dat in conjunction with .raw and .sep) | |||
** .\Access_OUP_ADB.pas | |||
*: Access to OUP's databases (AbsoluteDatabase) | |||
* \FileClasses | |||
*: BLA - DESCRIPTION NEEDED | |||
* \Global | |||
*: Globally used Units (functions, data, typedefs ...) | |||
** .\Data.pas | |||
*: Contains global constants, variables | |||
** .\DatLinks.pas | |||
*: Generates .dat-linkById-lists for each filetype | |||
** .\DatStructureLoader.pas | |||
*: Loads structure-definition files | |||
** .\Exporters.pas | |||
*: Handles exporting of .dat/.raw-content (including converters) | |||
** .\Functions.pas | |||
*: Common functions like en-/decoding of data | |||
** .\Img_DDSTypes.pas | |||
*: DDS-header-definitions used by OniImageClass | |||
** .\OniImgClass.pas | |||
*: Loading/saving/converting of Oni's texture-data | |||
** .\RawList.pas | |||
*: Generates lists of .raw-contents for files | |||
** .\TypeDefs.pas | |||
*: Definition of globally used types | |||
* \Helper | |||
*: Small helpful forms | |||
** .\LevelDB.dfm/.pas | |||
*: Converts OniArchives to OUP-DBs and vice versa | |||
** .\ValueEdit.dfm/.pas | |||
*: Input form for editing variable contents | |||
** .\WhatLinksHere.dfm/.pas | |||
*: Shows links to (only supported in DBs) / from a file | |||
* \icons | |||
*: Contains icons used in the gui | |||
* \ImportedStuff | |||
*: Units written by others | |||
** .\FolderBrowser.pas | |||
*: Select a folder as you do in any normal windows application. | |||
** .\FTypeReg.pas | |||
*: Set/Get registered file types | |||
** .\OneInst.pas | |||
*: Makes sure that only one instance of OUP can be run at a time | |||
* \Tools | |||
*: Contains the basic tools in OUP like Preview, BinEdit ... | |||
** .\Template.dfm/.pas | |||
*: Template-form used for most tools | |||
** .\BinEdit.dfm/.pas | |||
*: HexEditor for .dat-files with StructureViewer | |||
** .\RawEdit.dfm/.pas | |||
*: HexEditor for .raw-contents | |||
** .\Extractor.dfm/.pas | |||
*: Mass file extractor | |||
** .\Preview.dfm/.pas | |||
*: Preview window (only supports TXMP, TXMB, TXAN, PSpc atm) | |||
** .\TxmpReplace.dfm/.pas | |||
*: Replaces TXMP images by image files | |||
* \ExtraIcos.res | |||
*: Contains the icons used in the gui | |||
* \Main.dfm/.pas | |||
*: Main window of OUP | |||
* \OniUnPacker.bdsproj | |||
*: Delphi project file | |||
* \OniUnPacker.dpr | |||
*: Main unit | |||
* \OniUnPacker.res | |||
*: Program icon | |||
* \Settings.dfm/.pas | |||
*: Settings formular | |||
Note: Files which have a .dfm version besides the .pas version are units with forms (windows). Files which that are only there as a .pas are code only, sometimes global functions, some are global classes. | |||
=== Used third party components === | |||
*[https://web.archive.org/web/20070217204248/http://www.soft-gems.net/VirtualTreeview/ Virtual TreeView]: Used in binary editors. Really powerful tree view component. (Used v4.4.3, but any newer version should work too). License: Open source (MPL/GPL). | |||
*[https://www.componentace.com/bde_replacement_database_delphi_absolute_database.htm Absolute Database]: Used for storing level data for OUP. SQL database. You just have to give them your eMail address so they can send you an unlock key, you won't get any spam or newsletters. If you don't want to give them your normal address you can use a spam address like you can get at [https://www.spamgourmet.com/index.pl spamgourmet]. License: Free for personal use. | |||
*[http://www.mirkes.de/de/delphi/vcls/hexedit.php MPHexEditor]: Hex component for binary editors. License: Freeware with source. | |||
*[http://chrilly.net/crossedit.rar CrossEdit]: Input component with value validation. Original code from [https://web.archive.org/web/20160804060817/https://www.torry.net/vcl/edits/diffedits/crossedit.zip here]. License: Freeware with source. | |||
*[http://chrilly.net/twrapgrid.rar WrapGrid]: Used the code from [http://web.archive.org/web/20191108032711/http://www.mindspring.com/~cityzoo/tips/wrapgrid.txt here] and enhanced it for my special purposes. Needed additions are the column colorings, cell hints and images in cells. License: Couldn't find one. Suppose open source. | |||
*[https://jrsoftware.org/tb2k.php Toolbar2000]: Toolbar component. License: Freeware with source. | |||
*[http://www.mitec.cz/Downloads/MDITab.zip]: MDI Tabbar component. License: Freeware with source. | |||
*[https://imaginglib.sourceforge.io/ ImagingLib]: Image-handling library. License: MPL/LGPL. | |||
[[Category:Outdated modding tools]][[Category:Windows-only modding tools]] | |||
Latest revision as of 18:50, 7 February 2021
OniUnPacker source code information
Source folder
The source folder contains the following files:
- \DataAccess
- Units for accessing different kinds of containers
- .\ConnectionManager.pas
- Handles Connections and keeps track of DataAccess-instances
- .\DataAccess.pas
- (Virtual) Base class for access to data containers
- .\Access_OniArchive.pas
- Access to Oni's archives (.dat in conjunction with .raw and .sep)
- .\Access_OUP_ADB.pas
- Access to OUP's databases (AbsoluteDatabase)
- \FileClasses
- BLA - DESCRIPTION NEEDED
- \Global
- Globally used Units (functions, data, typedefs ...)
- .\Data.pas
- Contains global constants, variables
- .\DatLinks.pas
- Generates .dat-linkById-lists for each filetype
- .\DatStructureLoader.pas
- Loads structure-definition files
- .\Exporters.pas
- Handles exporting of .dat/.raw-content (including converters)
- .\Functions.pas
- Common functions like en-/decoding of data
- .\Img_DDSTypes.pas
- DDS-header-definitions used by OniImageClass
- .\OniImgClass.pas
- Loading/saving/converting of Oni's texture-data
- .\RawList.pas
- Generates lists of .raw-contents for files
- .\TypeDefs.pas
- Definition of globally used types
- \Helper
- Small helpful forms
- .\LevelDB.dfm/.pas
- Converts OniArchives to OUP-DBs and vice versa
- .\ValueEdit.dfm/.pas
- Input form for editing variable contents
- .\WhatLinksHere.dfm/.pas
- Shows links to (only supported in DBs) / from a file
- \icons
- Contains icons used in the gui
- \ImportedStuff
- Units written by others
- .\FolderBrowser.pas
- Select a folder as you do in any normal windows application.
- .\FTypeReg.pas
- Set/Get registered file types
- .\OneInst.pas
- Makes sure that only one instance of OUP can be run at a time
- \Tools
- Contains the basic tools in OUP like Preview, BinEdit ...
- .\Template.dfm/.pas
- Template-form used for most tools
- .\BinEdit.dfm/.pas
- HexEditor for .dat-files with StructureViewer
- .\RawEdit.dfm/.pas
- HexEditor for .raw-contents
- .\Extractor.dfm/.pas
- Mass file extractor
- .\Preview.dfm/.pas
- Preview window (only supports TXMP, TXMB, TXAN, PSpc atm)
- .\TxmpReplace.dfm/.pas
- Replaces TXMP images by image files
- \ExtraIcos.res
- Contains the icons used in the gui
- \Main.dfm/.pas
- Main window of OUP
- \OniUnPacker.bdsproj
- Delphi project file
- \OniUnPacker.dpr
- Main unit
- \OniUnPacker.res
- Program icon
- \Settings.dfm/.pas
- Settings formular
Note: Files which have a .dfm version besides the .pas version are units with forms (windows). Files which that are only there as a .pas are code only, sometimes global functions, some are global classes.
Used third party components
- Virtual TreeView: Used in binary editors. Really powerful tree view component. (Used v4.4.3, but any newer version should work too). License: Open source (MPL/GPL).
- Absolute Database: Used for storing level data for OUP. SQL database. You just have to give them your eMail address so they can send you an unlock key, you won't get any spam or newsletters. If you don't want to give them your normal address you can use a spam address like you can get at spamgourmet. License: Free for personal use.
- MPHexEditor: Hex component for binary editors. License: Freeware with source.
- CrossEdit: Input component with value validation. Original code from here. License: Freeware with source.
- WrapGrid: Used the code from here and enhanced it for my special purposes. Needed additions are the column colorings, cell hints and images in cells. License: Couldn't find one. Suppose open source.
- Toolbar2000: Toolbar component. License: Freeware with source.
- [1]: MDI Tabbar component. License: Freeware with source.
- ImagingLib: Image-handling library. License: MPL/LGPL.