summaryrefslogtreecommitdiff
path: root/mm/2s2h/resource/type/TextMM.h
blob: 742d113776a558ea64f4383ce72954a78ed22dd4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#pragma once

#include <cstdint>
#include <vector>
#include <ship/resource/Resource.h>
#include <libultraship/libultra/types.h>

namespace SOH {
// TODO: we've moved away from using classes for this stuff

class MessageEntryMM {
  public:
    uint16_t id;
    uint8_t textboxType;
    uint8_t textboxYPos;
    uint8_t icon;
    uint16_t nextMessageID;
    uint16_t firstItemCost;
    uint16_t secondItemCost;
    uint32_t segmentId;
    uint32_t msgOffset;
    std::string msg;
};

class TextMM : public Ship::Resource<MessageEntryMM> {
  public:
    using Resource::Resource;

    TextMM() : Resource(std::shared_ptr<Ship::ResourceInitData>()) {
    }

    MessageEntryMM* GetPointer();
    size_t GetPointerSize();

    std::vector<MessageEntryMM> messages;
};
}; // namespace SOH