22#ifndef AGS_ENGINE_AC_STRING_H
23#define AGS_ENGINE_AC_STRING_H
25#include "ags/engine/ac/dynobj/cc_script_object.h"
26#include "ags/shared/util/string.h"
31#define VALIDATE_STRING(strin) if (!strin) quit("!String argument was null: make sure you pass a string buffer")
33const char *CreateNewScriptString(
const char *text);
34inline const char *CreateNewScriptString(
const AGS::Shared::String &text) {
return CreateNewScriptString(text.GetCStr()); }
35char *CreateNewScriptString(
size_t buf_len);
37int String_IsNullOrEmpty(
const char *thisString);
38const char *String_Copy(
const char *srcString);
39const char *String_Append(
const char *thisString,
const char *extrabit);
40const char *String_AppendChar(
const char *thisString,
int extraOne);
41const char *String_ReplaceCharAt(
const char *thisString,
int index,
int newChar);
42const char *String_Truncate(
const char *thisString,
int length);
43const char *String_Substring(
const char *thisString,
int index,
int length);
44int String_CompareTo(
const char *thisString,
const char *otherString,
bool caseSensitive);
45int String_StartsWith(
const char *thisString,
const char *checkForString,
bool caseSensitive);
46int String_EndsWith(
const char *thisString,
const char *checkForString,
bool caseSensitive);
47const char *String_Replace(
const char *thisString,
const char *lookForText,
const char *replaceWithText,
bool caseSensitive);
48const char *String_LowerCase(
const char *thisString);
49const char *String_UpperCase(
const char *thisString);
50int String_GetChars(
const char *texx,
int index);
51int StringToInt(
const char *stino);
52int StrContains(
const char *s1,
const char *s2);
61size_t break_up_text_into_lines(
const char *todis,
bool apply_direction, SplitLines &lines,
int wii,
int fonnt,
size_t max_lines = -1);
62inline size_t break_up_text_into_lines(
const char *todis, SplitLines &lines,
int wii,
int fonnt,
size_t max_lines = -1) {
63 return break_up_text_into_lines(todis,
true, lines, wii, fonnt, max_lines);
69size_t check_scstrcapacity(
const char *ptr);
73void commit_scstr_update(
const char *ptr);
80const char *parse_voiceover_token(
const char *text,
int *voice_num);