Skip to content
Arves100 edited this page May 25, 2021 · 4 revisions

Application

Basic skeleton of an application, this was used in both the executor and the viewer.

Reworked to get the SDL initialization and event system

newbase: wipe (Viewer->Qt6 main (imgui in executor?), Executor->SDL_Main, FileArchiver->qt6 main, config ->qt6 main)

File

Generic File API implementation (includes custom files used by dhn)

Reader/Writer

Interfaces for generic read and write (much like BitConverter in C# in a class)

newbase: depends on how RW stuff will be done

ByteBuffer

Simple data buffer (uint8_t) that supports zlib (inflate/deflate)

newbase: wipe (use std::vector<uint8_t>)

File

Basic file operations, such as creating a folder or searching a directory

  • Create directory
  • Delete
  • Exists
  • Get file size
  • Open with multiple types
  • Read
  • Write
  • Seek
  • List of files inside this path
  • List of directories inside this path

newbase: move & depends (qt apps will use Qt Native API, if bx? keep and modify, if engine? delete)

ArchiveFileEntry

FileArchiver

ArchiveFile

FileManager

Recordable

RecordEntry

RecordBuffer

PropertyFile

Compressor

DeCompressor

SystemValueManager

FpsController

FpsController

StaticFpsController

AutoSkipFpsController

FpsControlObject

GstdConstant

Constants and inclusions of the library

newbase: depends on how it will be constructed

GstdLib

Main inclusion for all the files inside the library

newbase: depends on how it will be constructed

GstdUtility

wexception

Custom UNICODE/UTF16 exception

newbase: wipe

DebugUtility

Windows only to dump memory leaks at exit

newbase: move it to a single definition and flag it on main only for viewer/executor

SystemUtility

Unused

Encoding

Utility class to detect the encoding of a file

newbase: wipe (pls use something like libicu)

StringUtility

API for converting various strings (uses both wstring and string)

  • Converting to Unicode and viceversa (utf8+shift-jis)
  • Split
  • Format
  • Count characters inside a string
  • convert to int
  • convert to double
  • replace
  • replace all
  • slice
  • trim
  • count how many ascii characters there are in a string
  • get the size of the string in bytes

newbase: depends (qt? use qt)

ErrorUtility

Utility library for getting errors from Windows Native API

newbase: depends

Math

Very small math class

  • Rounds
  • Rad to Deg
  • Deg to Rad
  • Initializes FPU (inline asm)

newbase: wipe (bx? use bx, engine? use engine)

ByteOrder

Small class that reverses the byte orders of bytes (like LE to BE)

SortUtility

PathProperty

Utility to extract infos out of a path

  • Get file name
  • Get directory file
  • Get directory of the file
  • Get name of the drive
  • Get file name without extensions
  • Get extension of a file
  • get current directory of the executing file (module directory)
  • get name of the executing file (module name)
  • get parent directory of the executing file
  • get a generic path without the module directory
  • get the relative directory of a path based from a path
  • replace "\" to "/" ("YEN" due to asian encoding)
  • Canonicalize paths (removes "." and "..")
  • Canonicalize path from "/"

BitAccess

A wrapper to bit values (set/get bit)

newbase: wipe (srly?)

IStringInfo

An interface that implementes a function to retrive the type information of a pointer