summaryrefslogtreecommitdiff
path: root/src/KingSystem/System/DebugMessage.h
blob: 953bee9aab9397cfb581e6b9edec0cbfd1f7293a (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
38
39
40
#pragma once

#include <basis/seadTypes.h>
#include <gfx/seadColor.h>
#include <prim/seadSafeString.h>
#include "KingSystem/Utils/Types.h"

namespace ksys {

struct DebugMessage {
    struct Buffer {
        ~Buffer() {
            if (buffer && _8)
                buffer[0x44] = 1;
        }

        char* buffer;
        bool _8;
    };

    DebugMessage() = default;
    explicit DebugMessage(const sead::SafeString& msg) : message(msg) {}

    virtual ~DebugMessage() { ; }

    Buffer log(const char* format, ...);

    u64 _8 = 0;
    sead::FixedSafeString<64> message;
    sead::Color4f color = sead::Color4f::cWhite;
    f32 _78 = 0.3;
    f32 _7c = 0.3;
    f32 _80 = 0.3;
    f32 _84 = 0.8;
    bool _88 = true;
    bool _89 = true;
};
KSYS_CHECK_SIZE_NX150(DebugMessage, 0x90);

}  // namespace ksys