isle/LEGO1/omni/include/mxdsmediaaction.h

84 lines
2.4 KiB
C
Raw Normal View History

#ifndef MXDSMEDIAACTION_H
#define MXDSMEDIAACTION_H
#include "decomp.h"
#include "mxdsaction.h"
(Proposal) Adjustments to "decomp" language (#308) * Adjustments to "decomp" language * Fix a comment * Fix accidental clang-formatting * Fix order * Fix order * Remove junk * Fix OFFSET * Adjustments based on new suggestions * Annotate globals * Globals in ISLE * More globals * Merge from parser2 branch * Allow prepending space for exact marker match * To eliminate noise, require the 0x prefix on offset for marker match * fix test from previous * Count tab stops for indented functions to reduce MISSED_END_OF_FUNCTION noise * FUNCTION to SYNTHETIC where needed * Missed marker conversion on SetAtomId * pylint cleanup, remove unused code * Fix unexpected function end, add more unit tests * Be more strict about synthetic name syntax * Revert "Missed marker conversion on SetAtomId" This reverts commit d87d665127fae7dd6e5bd48d9af14a0a829bf9e2. * Revert "FUNCTION to SYNTHETIC where needed" This reverts commit 8c815418d261ba8c5f67a9a2cae349fe4ac92db8. * Implicit lookup by name for functions * Fix VTABLE SYNTHETIC and other decomp markers * Get vtable class name * Vtable marker should identify struct * No colon for SIZE comment * Update README.md * Update README.md * Update CONTRIBUTING.md * Update README.md * Update README.md * Update CONTRIBUTING.md * Update README.md * Update CONTRIBUTING.md * Fix destructor/annotation * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md --------- Co-authored-by: disinvite <disinvite@users.noreply.github.com>
2023-12-06 07:10:45 -05:00
// VTABLE: LEGO1 0x100dcd40
2024-05-03 12:51:58 -04:00
// VTABLE: BETA10 0x101c2ad8
// SIZE 0xb8
2023-10-24 19:38:27 -04:00
class MxDSMediaAction : public MxDSAction {
public:
2023-10-24 19:38:27 -04:00
MxDSMediaAction();
~MxDSMediaAction() override;
2023-10-24 19:38:27 -04:00
void CopyFrom(MxDSMediaAction& p_dsMediaAction);
2024-05-03 12:51:58 -04:00
MxDSMediaAction(MxDSMediaAction& p_dsMediaAction);
2023-10-24 19:38:27 -04:00
MxDSMediaAction& operator=(MxDSMediaAction& p_dsMediaAction);
2023-08-10 13:57:53 -04:00
(Proposal) Adjustments to "decomp" language (#308) * Adjustments to "decomp" language * Fix a comment * Fix accidental clang-formatting * Fix order * Fix order * Remove junk * Fix OFFSET * Adjustments based on new suggestions * Annotate globals * Globals in ISLE * More globals * Merge from parser2 branch * Allow prepending space for exact marker match * To eliminate noise, require the 0x prefix on offset for marker match * fix test from previous * Count tab stops for indented functions to reduce MISSED_END_OF_FUNCTION noise * FUNCTION to SYNTHETIC where needed * Missed marker conversion on SetAtomId * pylint cleanup, remove unused code * Fix unexpected function end, add more unit tests * Be more strict about synthetic name syntax * Revert "Missed marker conversion on SetAtomId" This reverts commit d87d665127fae7dd6e5bd48d9af14a0a829bf9e2. * Revert "FUNCTION to SYNTHETIC where needed" This reverts commit 8c815418d261ba8c5f67a9a2cae349fe4ac92db8. * Implicit lookup by name for functions * Fix VTABLE SYNTHETIC and other decomp markers * Get vtable class name * Vtable marker should identify struct * No colon for SIZE comment * Update README.md * Update README.md * Update CONTRIBUTING.md * Update README.md * Update README.md * Update CONTRIBUTING.md * Update README.md * Update CONTRIBUTING.md * Fix destructor/annotation * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md --------- Co-authored-by: disinvite <disinvite@users.noreply.github.com>
2023-12-06 07:10:45 -05:00
// FUNCTION: LEGO1 0x100c8be0
2024-05-03 12:51:58 -04:00
// FUNCTION: BETA10 0x1015c700
inline const char* ClassName() const override // vtable+0x0c
2023-10-24 19:38:27 -04:00
{
// STRING: LEGO1 0x100f7624
2023-10-24 19:38:27 -04:00
return "MxDSMediaAction";
}
(Proposal) Adjustments to "decomp" language (#308) * Adjustments to "decomp" language * Fix a comment * Fix accidental clang-formatting * Fix order * Fix order * Remove junk * Fix OFFSET * Adjustments based on new suggestions * Annotate globals * Globals in ISLE * More globals * Merge from parser2 branch * Allow prepending space for exact marker match * To eliminate noise, require the 0x prefix on offset for marker match * fix test from previous * Count tab stops for indented functions to reduce MISSED_END_OF_FUNCTION noise * FUNCTION to SYNTHETIC where needed * Missed marker conversion on SetAtomId * pylint cleanup, remove unused code * Fix unexpected function end, add more unit tests * Be more strict about synthetic name syntax * Revert "Missed marker conversion on SetAtomId" This reverts commit d87d665127fae7dd6e5bd48d9af14a0a829bf9e2. * Revert "FUNCTION to SYNTHETIC where needed" This reverts commit 8c815418d261ba8c5f67a9a2cae349fe4ac92db8. * Implicit lookup by name for functions * Fix VTABLE SYNTHETIC and other decomp markers * Get vtable class name * Vtable marker should identify struct * No colon for SIZE comment * Update README.md * Update README.md * Update CONTRIBUTING.md * Update README.md * Update README.md * Update CONTRIBUTING.md * Update README.md * Update CONTRIBUTING.md * Fix destructor/annotation * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md --------- Co-authored-by: disinvite <disinvite@users.noreply.github.com>
2023-12-06 07:10:45 -05:00
// FUNCTION: LEGO1 0x100c8bf0
2024-05-03 12:51:58 -04:00
// FUNCTION: BETA10 0x1015c6a0
inline MxBool IsA(const char* p_name) const override // vtable+0x10
2023-10-24 19:38:27 -04:00
{
return !strcmp(p_name, MxDSMediaAction::ClassName()) || MxDSAction::IsA(p_name);
2023-10-24 19:38:27 -04:00
}
2023-08-10 13:57:53 -04:00
// SYNTHETIC: LEGO1 0x100c8cd0
2024-05-03 12:51:58 -04:00
// SYNTHETIC: BETA10 0x1015d810
// MxDSMediaAction::`scalar deleting destructor'
undefined4 VTable0x14() override; // vtable+14;
MxU32 GetSizeOnDisk() override; // vtable+18;
void Deserialize(MxU8*& p_source, MxS16 p_unk0x24) override; // vtable+1c;
MxDSAction* Clone() override; // vtable+2c;
2023-08-10 13:57:53 -04:00
2023-10-24 19:38:27 -04:00
void CopyMediaSrcPath(const char* p_mediaSrcPath);
// FUNCTION: LEGO1 0x100186e0
inline const char* GetMediaSrcPath() { return m_mediaSrcPath; }
2024-05-03 12:51:58 -04:00
// FUNCTION: BETA10 0x1013c2e0
inline MxS32 GetFramesPerSecond() const { return m_framesPerSecond; }
// FUNCTION: BETA10 0x1012efd0
inline MxS32 GetMediaFormat() const { return m_mediaFormat; }
// FUNCTION: BETA10 0x1013b860
inline MxS32 GetPaletteManagement() const { return m_paletteManagement; }
// FUNCTION: BETA10 0x1005ab60
inline MxLong GetSustainTime() const { return m_sustainTime; }
private:
2024-05-03 12:51:58 -04:00
struct Unk0x9cStruct {
// FUNCTION: BETA10 0x1015d7c0
void SetUnk0x00(undefined4 p_value) { m_unk0x00 = p_value; }
// FUNCTION: BETA10 0x1015d7e0
void SetUnk0x04(undefined4 p_value) { m_unk0x04 = p_value; }
// intentionally public
undefined4 m_unk0x00;
undefined4 m_unk0x04;
2024-05-03 12:51:58 -04:00
};
MxU32 m_sizeOnDisk; // 0x94
char* m_mediaSrcPath; // 0x98
Unk0x9cStruct m_unk0x9c; // 0x9c
MxS32 m_framesPerSecond; // 0xa4
MxS32 m_mediaFormat; // 0xa8
MxS32 m_paletteManagement; // 0xac
MxLong m_sustainTime; // 0xb0
undefined4 m_unk0xb4; // 0xb4
};
#endif // MXDSMEDIAACTION_H