OniUnPacker/source: Difference between revisions

From OniGalore
Jump to navigation Jump to search
mNo edit summary
 
(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:
{|border="1" cellspacing="0"
* \DataAccess
!File
*: Units for accessing different kinds of containers
!#bla#
** .\ConnectionManager.pas
|-
*: Handles Connections and keeps track of DataAccess-instances
|test1
** .\DataAccess.pas
|test2
*: (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.


=== Download ===
[[Category:Outdated modding tools]][[Category:Windows-only modding tools]]
You can always get the newest release at [http://chrilly.net/oup/ http://chrilly.net/oup/]. Each archive contains the binary and the complete [[OBD:OUP_source|source code]] (Delphi 2006, should be working with Delphi 2005 too).

Latest revision as of 18:50, 7 February 2021

OBD.png

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.