Various improvements toward getting high scores working again.

This commit is contained in:
elasota
2020-02-02 01:38:38 -05:00
parent 7cb6994f90
commit 265db139c8
48 changed files with 729 additions and 488 deletions

View File

@@ -16,6 +16,20 @@ struct Dialog;
typedef int16_t(*DialogFilterFunc_t)(Dialog *dialog, const TimeTaggedVOSEvent &evt);
struct DialogTextSubstitutions
{
Str255 m_strings[4];
DialogTextSubstitutions();
explicit DialogTextSubstitutions(const PLPasStr& str0);
DialogTextSubstitutions(const PLPasStr& str0, const PLPasStr& str1);
DialogTextSubstitutions(const PLPasStr& str0, const PLPasStr& str1, const PLPasStr& str2);
DialogTextSubstitutions(const PLPasStr& str0, const PLPasStr& str1, const PLPasStr& str2, const PLPasStr& str3);
private:
void Init(size_t numItems, const PLPasStr *items);
};
struct Dialog
{
virtual void Destroy() = 0;
@@ -33,7 +47,6 @@ typedef Boolean(*ModalFilterUPP)(Dialog *dial, EventRecord *event, short *item);
void DrawDialog(Dialog *dialog);
DrawSurface *GetDialogPort(Dialog *dialog);
void GetDialogItem(Dialog *dialog, int index, short *itemType, THandle<Control> *itemHandle, Rect *itemRect);
void GetDialogItemText(THandle<Control> handle, StringPtr str);
void SetDialogItem(Dialog *dialog, int index, short itemType, THandle<Control> itemHandle, const Rect *itemRect);