EvilEngine/PGRS: Difference between revisions

From Heavy Iron Modding
Content added Content deleted
m (Seil moved page PGRS to EvilEngine/PGRS)
No edit summary
 
Line 10: Line 10:
{{AutoAssetInfobox}}
{{AutoAssetInfobox}}


Progress Script is similar to Script but without TimedLinks.
Progress Scripts is similar to Scripts but uses Percentages.


==Format==
==Format==
===xProgressScriptAsset===
===xProgressScriptAsset===
xProgressScriptAsset is the data structure that defines the format for PGRS assets. It inherits from xBaseAsset (8 bytes long).
xProgressScriptAsset is the data structure that defines the format for PGRS assets. It inherits from xBaseAsset (8 bytes long).
<source lang=cpp>
class xProgressScriptAsset : public xBaseAsset
{
public:
unsigned int eventCount;
};
</source>


{| class="wikitable"
{| class="wikitable"
! Offset !! Type !! Variable !! Description
! Offset !! Type !! Variable !! Description
|-
|-
| 0x08 || int || '''eventCount''' || Number of xProgressScriptEventAssets.
| 0x08 || u32 || '''eventCount''' || Number of xProgressScriptEventAssets.
|}
|}


===xProgressScriptEventAsset===
===xProgressScriptEventAsset===
xProgressScriptEventAsset defines the format for events in PGRS assets.
xProgressScriptEventAsset defines the format for events in PGRS assets.
<source lang=cpp>
class xProgressScriptEventAsset
{
public:
float percent;
signed int flags;
unsigned int widget;
unsigned int paramEvent;
float param[4];
unsigned int paramWidget;
};
</source>

{| class="wikitable"
{| class="wikitable"
! Offset !! Type !! Variable !! Description
! Offset !! Type !! Variable !! Description
|-
|-
| 0x00 || float || '''percent''' || .
| 0x00 || f32 || '''percent''' || .
|-
|-
| 0x04 || int || '''flags''' ||
| 0x04 || s32 || '''flags''' ||
|-
|-
| 0x08 || [[AssetID]] || '''widget''' || Asset to send this asset to.
| 0x08 || [[AssetID]] || '''widget''' || Asset to send this asset to.
|-
|-
| 0x0C || int || '''paramEvent''' || Event ID enum. (See the list of events for your game to find the correct event ID)
| 0x0C || u32 || '''paramEvent''' || Event ID enum. (See the list of events for your game to find the correct event ID)
|-
|-
| 0x10 || float[4] || '''param''' || Event parameters (can be floats, ints, AssetIDs, etc.)
| 0x10 || f32[4] || '''param''' || Event parameters (can be floats, ints, AssetIDs, etc.)
|-
|-
| 0x20 || [[AssetID]] || '''paramWidget''' || Asset ID parameter.
| 0x20 || [[AssetID]] || '''paramWidget''' || Asset ID parameter.

Latest revision as of 20:35, 23 March 2024

PGRS
Progress Script
TypeBase
Base Type0x75
Games usedThe Incredibles
Rise of the Underminer

Progress Scripts is similar to Scripts but uses Percentages.

Format

xProgressScriptAsset

xProgressScriptAsset is the data structure that defines the format for PGRS assets. It inherits from xBaseAsset (8 bytes long).

class xProgressScriptAsset : public xBaseAsset
{
public:
    unsigned int eventCount;
};
Offset Type Variable Description
0x08 u32 eventCount Number of xProgressScriptEventAssets.

xProgressScriptEventAsset

xProgressScriptEventAsset defines the format for events in PGRS assets.

class xProgressScriptEventAsset
{
public:
    float percent;
    signed int flags;
    unsigned int widget;
    unsigned int paramEvent;
    float param[4];
    unsigned int paramWidget;
};
Offset Type Variable Description
0x00 f32 percent .
0x04 s32 flags
0x08 AssetID widget Asset to send this asset to.
0x0C u32 paramEvent Event ID enum. (See the list of events for your game to find the correct event ID)
0x10 f32[4] param Event parameters (can be floats, ints, AssetIDs, etc.)
0x20 AssetID paramWidget Asset ID parameter.