Jump to content

SADX Mod Loader

From SA Docs

Source Code


HelperFunctions API

Struct

Below is the initialized version of the HelperFunctions struct. For the definition of the struct, you can find that in SADXModInfo.h

HelperFunctions

HelperFunctions helperFunctions =
{
	ModLoaderVer,
	&RegisterStartPosition,
	&ClearStartPositionList,
	&RegisterFieldStartPosition,
	&ClearFieldStartPositionList,
	&RegisterPathList,
	&ClearPathListList,
	&RegisterCharacterPVM,
	&ClearCharacterPVMList,
	&RegisterCommonObjectPVM,
	&ClearCommonObjectPVMList,
	&RegisterTrialLevel,
	&ClearTrialLevelList,
	&RegisterTrialSubgame,
	&ClearTrialSubgameList,
	&GetMainSavePath,
	&GetChaoSavePath,
	&GetReplaceablePath,
	&_ReplaceFile,
	&SetWindowTitle,
	&RegisterSoundList,
	&RegisterMusicFile,
	&LoadEXEData,
	&LoadDLLData,
	&_ReplaceFileForce,
	&PushScaleUI,
	&PopScaleUI,
	&SetScaleFillMode,
	&GetScaleFillMode,
	&ReplaceTexture,
	&MipmapBlacklistGBIX,
	&RegisterEnglishVoiceDuration,
	&RegisterJapaneseVoiceDuration,
	&RegisterCharacterWelds,
	&loaderSettings,
	&modList,
	&weightFuncs,
	&RegisterVoice,
	&PushInterpolationFix,
	&PopInterpolationFix,
	&RegisterPermanentTexlist,
	&ExpandPVMList,
	&UnreplaceFile,
	&PrintDebugUnicode,
	&PrintDebugLocal,
	&PrintDebugCodepage,
	&GetFileModIndex,
	&ReplaceFileAtIndex
};


  Please be aware that all examples on this page will be using helperFunctions which is how the variable is sent to a mod.

Properties

Mod Loader Version

int ModLoaderVer;

This returns the version of the mod loader. This can be used to check if the user has an old version of the mod loader that may not have functionality your mod requires.

Example

if (helperFunctions.ModLoaderVer <= 10)
    PrintDebug("This Mod Loader is way out of date.\n");


Mod Loader Settings

LoaderSettings loaderSettings;


Example

// TODO: Write example.


Mod List

std::vector<Mod> modlist;


Example

// TODO: Write example.


Weight Functions

BasicWeightFuncs weightFuncs;


Example

// TODO: Write example.

Functions

Register Start Position

static void RegisterStartPosition(unsigned char character, const StartPosition& position)

Registers a new Start Position for the specified character.

Example

StartPosition myStageStartPos = { 
    1,                          // Level ID 
    0,                          // Act ID
    { 100.0f, 200.0f, 100.0f }, // Position
    0                           // Y Rotation
};

// We pass our StagePosition variable as a pointer to this function
// and we have specified Sonic, so the level for this ID would now use
// our StartPosition instead of the original.
helperFunctions.RegisterStartPosition(Characters_Sonic, &myStageStartPos);


Clear Start Position List

static void ClearStartPositionList(unsigned char character)

Clears the Start Positions for the specified character.

Example

// Running this inside of your mod's Init export would
// clear all of Sonic's Start Positions for his stages.
helperFunctions.ClearStartPositionList(Characters_Sonic);


Register Field Position

static void RegisterFieldStartPosition(unsigned char character, const FieldStartPosition& position)


Example

// TODO: Write example.


Clear Field Start Position List

static void ClearFieldStartPositionList(unsigned char character)


Example

// TODO: Write example.


Register Path List

static void RegisterPathList(const PathDataPtr& paths)


Example

// TODO: Write example.


Clear Path List List

static void ClearPathListList()


Example

// TODO: Write example.


Register Character PVM

static void RegisterCharacterPVM(unsigned char character, const PVMEntry& pvm)


Example

// TODO: Write example.


Clear Character PVM List

static void ClearCharacterPVMList(unsigned char character)


Example

// TODO: Write example.


Register Common Object PVM

static void RegisterCommonObjectPVM(const PVMEntry& pvm)


Example

// TODO: Write example.


Clear Common Object PVM List

static void ClearCommonObjectPVMList()


Example

// TODO: Write example.


Register Trial Level

static void RegisterTrialLevel(unsigned char character, const TrialLevelListEntry& level)


Example

// TODO: Write example.


Clear Trial Level List

static void ClearTrialLevelList(unsigned char character)


Example

// TODO: Write example.


Register Trial Subgame

static void RegisterTrialSubgame(unsigned char character, const TrialLevelListEntry& level)


Example

// TODO: Write example.


Clear Trial Subgame List

static void ClearTrialSubgameList(unsigned char character)


Example

// TODO: Write example.


Get Main Save Path

static const char* GetMainSavePath()


Example

// TODO: Write example.


Get Chao Save Path

static const char* GetChaoSavePath()


Example

// TODO: Write example.


Get Replaceable Path

const char* __cdecl GetReplaceablePath(const char* path)


Example

// TODO: Write example.


Replace File

void _ReplaceFile(const char* src, const char* dst)


Example

// TODO: Write example.


Set Window Title

void SetWindowTitle(const char* title)


Example

// TODO: Write example.


Register Sound List

int RegisterSoundList(const SoundList& list)


Example

// TODO: Write example.


Register Music File

int RegisterMusicFile(const MusicInfo& track)


Example

// TODO: Write example.


Load EXE Data

void LoadEXEData(const wchar_t* filename, const wchar_t* mod_dir)


Example

// TODO: Write example.


Load DLL Data

void LoadDLLData(const wchar_t* filename, const wchar_t* mod_dir)


Example

// TODO: Write example.


Replace File Force

void _ReplaceFileForce(const char* src, const char* dst)


Example

// TODO: Write example.


Push Scale UI

void PushScaleUI(uiscale::Align align, bool is_background, float ratio_h, float ratio_v)


Example

// TODO: Write example.


Pop Scale UI

void PopScaleUI()


Example

// TODO: Write example.


Set Scale Fill Mode

void SetScaleFillMode(uiscale::FillMode mode)


Example

// TODO: Write example.


Get Scale Fill Mode

uiscale::FillMode GetScaleFillMode()


Example

// TODO: Write example.


Replace Texture

void ReplaceTexture(const char* pvm_name, const char* tex_name, const char* file_path, uint32_t gbix, uint32_t width, uint32_t height)


Example

// TODO: Write example.


Mipmap Blacklist GBIX

void MipmapBlacklistGBIX(Uint32 index)


Example

// TODO: Write example.


Register English Voice Duration

void RegisterEnglishVoiceDuration(const uint16_t voiceID, const uint16_t duration)


Example

// TODO: Write example.


Register Japanese Voice Duration

void RegisterJapaneseVoiceDuration(const uint16_t voiceID, const uint16_t duration)


Example

// TODO: Write example.


Register Character Welds

void RegisterCharacterWelds(const uint8_t character, const char* iniPath)


Example

// TODO: Write example.


Register Voice

uint16_t RegisterVoice(const char* fileJP, const char* fileEN, uint16_t durationJP, uint16_t durationEN)


Example

// TODO: Write example.


Push Interpolation Fix

void PushInterpolationFix()


Example

// TODO: Write example.


Pop Interpolation Fix

void PopInterpolationFix()


Example

// TODO: Write example.


Register Permanent Texlist

void RegisterPermanentTexlist(NJS_TEXLIST* texlist)


Example

// TODO: Write example.


Unreplace File

void UnreplaceFile(const char* file)


Example

// TODO: Write example.


Expand PVM List

TEX_PVMTABLE* ExpandPVMList(TEX_PVMTABLE* sourcepvmlist, const TEX_PVMTABLE &newpvmentry)


Example

// TODO: Write example.


Unreplace File

void UnreplaceFile(const char* file)


Example

// TODO: Write example.


void PrintDebugUnicode(char* utf8)


Example

// TODO: Write example.


void PrintDebugLocal(char* buf)


Example

// TODO: Write example.


void PrintDebugCodepage(char* buf, unsigned int source_cp)


Example

// TODO: Write example.


Get File Mod Index

int GetFileModIndex(const char* path)


Example

// TODO: Write example.


Replace File At Index

void ReplaceFileAtIndex(const char* src, const char* dst, int modIndex)


Example

// TODO: Write example.