Elaztek Developer Hub
Blamite Game Engine - Guerilla (Library)  00402.09.29.23.0627.blamite
The tag editor for the Blamite Game Engine.
plugin_verification.cpp File Reference
#include "tags.h"
#include <regex>
#include <Strings/components/utils/list/list.h>
#include "fields/block/block.h"
#include <Strings/components/logger/logger.h>
+ Include dependency graph for plugin_verification.cpp:

Functions

bool VerifyOffsetOverflows (std::vector< BlamPluginField * > field_list, std::string scope_name)
 Checks all offsets for overlaps/overflows. More...
 
bool VerifyOffsetSequence (std::vector< BlamPluginField * > field_list, std::string scope_name)
 Checks all offsets for valid sequence. More...
 
bool VerifyOffsetDuplicates (std::vector< BlamPluginField * > field_list, std::string scope_name)
 Checks all offsets for duplicates. More...
 
bool VerifySizes (int base_size, std::vector< BlamPluginField * > field_list, std::string scope_name)
 Checks all field and container sizes. More...
 

Function Documentation

◆ VerifyOffsetDuplicates()

bool VerifyOffsetDuplicates ( std::vector< BlamPluginField * >  field_list,
std::string  scope_name 
)

Checks all offsets for duplicates.

This will ensure that no two fields have identical offset values.

Parameters
field_list- The list of fields to check.
scope_name- A name of the "scope" of field_list. This is used for log messages.
Returns
true if all fields passed the check, otherwise returns false.
+ Here is the caller graph for this function:

◆ VerifyOffsetOverflows()

bool VerifyOffsetOverflows ( std::vector< BlamPluginField * >  field_list,
std::string  scope_name 
)

Checks all offsets for overlaps/overflows.

This will ensure that no offsets are placed in such a way as to overlap with data before or after it.

Parameters
field_list- The list of fields to check.
scope_name- A name of the "scope" of field_list. This is used for log messages.
Returns
true if all fields passed the check, otherwise returns false.
+ Here is the caller graph for this function:

◆ VerifyOffsetSequence()

bool VerifyOffsetSequence ( std::vector< BlamPluginField * >  field_list,
std::string  scope_name 
)

Checks all offsets for valid sequence.

This will ensure that all offsets follow a consistent order, and that no offsets further down in a file point to data earlier in the tag file.

Parameters
field_list- The list of fields to check.
scope_name- A name of the "scope" of field_list. This is used for log messages.
Returns
true if all fields passed the check, otherwise returns false.
+ Here is the caller graph for this function:

◆ VerifySizes()

bool VerifySizes ( int  base_size,
std::vector< BlamPluginField * >  field_list,
std::string  scope_name 
)

Checks all field and container sizes.

This will ensure that the combined sizes of all fields within a given scope matches the expected size of that scope. For tag blocks, this would be the block's entry size. For top-level tag fields, this would be the tag's base size.

Parameters
field_list- The list of fields to check.
scope_name- A name of the "scope" of field_list. This is used for log messages.
Returns
true if all fields passed the check, otherwise returns false.
+ Here is the caller graph for this function: