libElysianVMU 1.6.0
Full-featured, accurate, cross-platform library emulating the Dreamcast's Visual Memory Unit
Loading...
Searching...
No Matches
EvmuVmi Struct Reference

#include <evmu_vmi.h>

Data Fields

uint32_t checksum
 
char description [32]
 
char copyright [32]
 
EvmuTimestamp creationTimestamp
 
uint16_t vmiVersion
 
uint16_t fileNumber
 
char vmsResourceName [8]
 
char fileNameOnVms [12]
 
uint16_t fileMode
 
uint16_t unknown
 
uint32_t fileSize
 

Related Symbols

(Note that these are not member symbols.)

Read Accessors

Methods for reading/Calculating fields

GblBool EvmuVmi_isValid (const EvmuVmi *pSelf)
 
const char * EvmuVmi_description (const EvmuVmi *pSelf, GblStringBuffer *pBuff)
 
const char * EvmuVmi_copyright (const EvmuVmi *pSelf, GblStringBuffer *pBuff)
 
GblDateTimeEvmuVmi_creation (const EvmuVmi *pSelf, GblDateTime *pDateTime)
 
const char * EvmuVmi_vmsResource (const EvmuVmi *pSelf, GblStringBuffer *pBuff)
 
const char * EvmuVmi_fileName (const EvmuVmi *pSelf, GblStringBuffer *pbuff)
 
GblBool EvmuVmi_isGame (const EvmuVmi *pSelf)
 
GblBool EvmuVmi_isProtected (const EvmuVmi *pSelf)
 
uint32_t EvmuVmi_computeChecksum (const EvmuVmi *pSelf)
 
Write Accessors

Methods for writing to fields

size_t EvmuVmi_setDescription (EvmuVmi *pSelf, const char *pStr)
 
size_t EvmuVmi_setCopyright (EvmuVmi *pSelf, const char *pStr)
 
void EvmuVmi_setCreation (EvmuVmi *pSelf, const GblDateTime *pDt)
 
size_t EvmuVmi_setVmsResource (EvmuVmi *pSelf, const char *pStr)
 
size_t EvmuVmi_setFileName (EvmuVmi *pSelf, const char *pStr)
 
void EvmiVmi_setGame (EvmuVmi *pSelf, GblBool val)
 
void EvmuVmi_setProtected (EvmuVmi *pSelf, GblBool val)
 
Utilities

Miscellaneous methods

EVMU_RESULT EvmuVmi_load (EvmuVmi *pSelf, const char *pPath)
 
EVMU_RESULT EvmuVmi_save (const EvmuVmi *pSelf, const char *pPath)
 
void EvmuVmi_log (const EvmuVmi *pSelf)
 
Conversions

Methods for going to and from EvmuVmi and related types

EVMU_RESULT EvmuVmi_fromDirEntry (EvmuVmi *pSelf, const EvmuFat *pFat, const EvmuDirEntry *pDirEntry, const char *pVmsName)
 
EVMU_RESULT EvmuVmi_fromVmsFile (EvmuVmi *pSelf, const void *pData, size_t bytes)
 
const char * EvmuVmi_findVmsPath (const EvmuVmi *pSelf, const char *pVmiPath, GblStringBuffer *pVmsPath)
 

Detailed Description

Structure of the .VMI file format.

EvmuVmi offers a structure and C API around the decoded .VMI file format.

Note
All string fields are in Shift-JS format and are NOT NULL-terminated, hence the accessor utility methods.
See also
EvmuVms

Definition at line 86 of file evmu_vmi.h.

Friends And Related Symbol Documentation

◆ EvmiVmi_setGame()

void EvmiVmi_setGame ( EvmuVmi pSelf,
GblBool  val 
)
related

Sets the EvmuVmi::fileMode type field signifying whether or not file is a GAME.

◆ EvmuVmi_computeChecksum()

uint32_t EvmuVmi_computeChecksum ( const EvmuVmi pSelf)
related

Computes the checksum for the given VMI data.

◆ EvmuVmi_copyright()

const char * EvmuVmi_copyright ( const EvmuVmi pSelf,
GblStringBuffer pBuff 
)
related

Copies the EvmuVmi::copyright field to the given buffer.

◆ EvmuVmi_creation()

GblDateTime * EvmuVmi_creation ( const EvmuVmi pSelf,
GblDateTime pDateTime 
)
related

Converts the EvmuVmi::creationTimestamp field to GblDateTime.

◆ EvmuVmi_description()

const char * EvmuVmi_description ( const EvmuVmi pSelf,
GblStringBuffer pBuff 
)
related

Copies the EvmuVmi::description field to the given buffer.

◆ EvmuVmi_fileName()

const char * EvmuVmi_fileName ( const EvmuVmi pSelf,
GblStringBuffer pbuff 
)
related

Copies the EvmuVmi::fileNameOnVms field to the given buffer.

◆ EvmuVmi_findVmsPath()

const char * EvmuVmi_findVmsPath ( const EvmuVmi pSelf,
const char *  pVmiPath,
GblStringBuffer pVmsPath 
)
related

Finds the path for the VMS file coresponding to the given VMI file.

◆ EvmuVmi_fromDirEntry()

EVMU_RESULT EvmuVmi_fromDirEntry ( EvmuVmi pSelf,
const EvmuFat pFat,
const EvmuDirEntry pDirEntry,
const char *  pVmsName 
)
related

Populates the given structure from an EvmuDirEntry, also needing a pointer to EvmuFat and a VMS name.

◆ EvmuVmi_fromVmsFile()

EVMU_RESULT EvmuVmi_fromVmsFile ( EvmuVmi pSelf,
const void *  pData,
size_t  bytes 
)
related

Populates the given structure from a VMS image, needing to know whether it's a GAME file or not.

◆ EvmuVmi_isGame()

GblBool EvmuVmi_isGame ( const EvmuVmi pSelf)
related

Returns whether the EvmuVmi::fileMode type field signifies a GAME file.

◆ EvmuVmi_isProtected()

GblBool EvmuVmi_isProtected ( const EvmuVmi pSelf)
related

Returns whether the EvmuVmi::fileMode protected field signifies copy protection.

◆ EvmuVmi_isValid()

GblBool EvmuVmi_isValid ( const EvmuVmi pSelf)
related

Returns whether the VMI structure passes a series of validation/sanity checks on its fields.

◆ EvmuVmi_load()

EVMU_RESULT EvmuVmi_load ( EvmuVmi pSelf,
const char *  pPath 
)
related

Populates the given structure by loading its contents from an external .VMI file.

◆ EvmuVmi_log()

void EvmuVmi_log ( const EvmuVmi pSelf)
related

Logs the fields of the VMI file to the libGimbal log system.

◆ EvmuVmi_save()

EVMU_RESULT EvmuVmi_save ( const EvmuVmi pSelf,
const char *  pPath 
)
related

Writes the contens of the given structure to an external .VMI file.

◆ EvmuVmi_setCopyright()

size_t EvmuVmi_setCopyright ( EvmuVmi pSelf,
const char *  pStr 
)
related

Sets the EvmuVmi::copyright field to the given string, returning the number of bytes copied.

◆ EvmuVmi_setCreation()

void EvmuVmi_setCreation ( EvmuVmi pSelf,
const GblDateTime pDt 
)
related

Sets the EvmuVmi::creationTimestamp field to the given GblDateTime value.

◆ EvmuVmi_setDescription()

size_t EvmuVmi_setDescription ( EvmuVmi pSelf,
const char *  pStr 
)
related

Sets the EvmuVmi::description field to the given string, returning the number of bytes copied.

◆ EvmuVmi_setFileName()

size_t EvmuVmi_setFileName ( EvmuVmi pSelf,
const char *  pStr 
)
related

Sets the EvmuVmi::fileNameOnVms field to the given string, returning the number of bytes copied.

◆ EvmuVmi_setProtected()

void EvmuVmi_setProtected ( EvmuVmi pSelf,
GblBool  val 
)
related

Sets the EvmuVmi::fileMode protected filed to signify whether or not the file is copy protected.

◆ EvmuVmi_setVmsResource()

size_t EvmuVmi_setVmsResource ( EvmuVmi pSelf,
const char *  pStr 
)
related

Sets the EvmuVmi::vmsResourceName field to the given string, returning the number of bytes copied.

◆ EvmuVmi_vmsResource()

const char * EvmuVmi_vmsResource ( const EvmuVmi pSelf,
GblStringBuffer pBuff 
)
related

Copies the EvmuVmi::vmsResourceName field to the given buffer.

Field Documentation

◆ checksum

uint32_t EvmuVmi::checksum

Checksum value for entire structure.

Definition at line 87 of file evmu_vmi.h.

◆ copyright

char EvmuVmi::copyright[32]

Copyright information string.

Definition at line 89 of file evmu_vmi.h.

◆ creationTimestamp

EvmuTimestamp EvmuVmi::creationTimestamp

File creation date.

Definition at line 90 of file evmu_vmi.h.

◆ description

char EvmuVmi::description[32]

Description of VMI file string.

Definition at line 88 of file evmu_vmi.h.

◆ fileMode

uint16_t EvmuVmi::fileMode

File mode bitfield (GAME bit + PROTECTED bit)

Definition at line 95 of file evmu_vmi.h.

◆ fileNameOnVms

char EvmuVmi::fileNameOnVms[12]

File name field within the .VMS file.

Definition at line 94 of file evmu_vmi.h.

◆ fileNumber

uint16_t EvmuVmi::fileNumber

File number in a series.

Definition at line 92 of file evmu_vmi.h.

◆ fileSize

uint32_t EvmuVmi::fileSize

File size of VMS (in bytes?)

Definition at line 97 of file evmu_vmi.h.

◆ unknown

uint16_t EvmuVmi::unknown

Unknown and undocumented (assumed to be 0)

Definition at line 96 of file evmu_vmi.h.

◆ vmiVersion

uint16_t EvmuVmi::vmiVersion

VMI version of the file, see EVMU_VMI_VERSION.

Definition at line 91 of file evmu_vmi.h.

◆ vmsResourceName

char EvmuVmi::vmsResourceName[8]

File name of the corresponding VMS file, expected within the same directory.

Definition at line 93 of file evmu_vmi.h.


The documentation for this struct was generated from the following file: