22#ifndef AGS_ENGINE_AC_DYNOBJ_SCRIPT_STRING_H
23#define AGS_ENGINE_AC_DYNOBJ_SCRIPT_STRING_H
25#include "ags/engine/ac/dynobj/cc_ags_dynamic_object.h"
38 inline static const Header &GetHeader(
const void *address) {
39 return reinterpret_cast<const Header &
>(*(
static_cast<const uint8_t *
>(address) - MemHeaderSz));
43 static DynObjectRef Create(
const char *text) {
return CreateImpl(text, 0); }
45 static DynObjectRef Create(
size_t buf_len) {
return CreateImpl(
nullptr, buf_len); }
47 const char *GetType()
override;
48 int Dispose(
void *address,
bool force)
override;
49 void Unserialize(
int index, AGS::Shared::Stream *in,
size_t data_sz)
override;
53 static const size_t MemHeaderSz =
sizeof(Header);
55 static const size_t FileHeaderSz =
sizeof(uint32_t);
57 static DynObjectRef CreateImpl(
const char *text,
size_t buf_len);
61 size_t CalcSerializeSize(
const void *address)
override;
63 void Serialize(
const void *address, AGS::Shared::Stream *out)
override;
Definition: cc_ags_dynamic_object.h:88
Definition: cc_script_object.h:50
Definition: script_string.h:29