diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/xeen/scripts.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/engines/xeen/scripts.cpp b/engines/xeen/scripts.cpp index 3a3e0c2578..0e5b412a63 100644 --- a/engines/xeen/scripts.cpp +++ b/engines/xeen/scripts.cpp @@ -1334,8 +1334,22 @@ bool Scripts::cmdDisplayBottomTwoLines(ParamsIterator ¶ms) { } bool Scripts::cmdDisplayLarge(ParamsIterator ¶ms) { - error("TODO: Implement event text loading"); - + Party &party = *g_vm->_party; + Common::String filename = Common::String::format("aaze2%03u.txt", party._mazeId); + uint offset = params.readByte(); + + // Get the text data for the current maze + File f(filename); + char *data = new char[f.size()]; + f.read(data, f.size()); + f.close(); + + // Get the message at the specified offset + _message = Common::String(data + offset); + delete[] data; + + // Display the message + _windowIndex = 11; display(true, 0); return true; } |