Commit graph

69 commits

Author SHA1 Message Date
Filippos Karapetis
bc45372332 STARTREK: Rewrite more room texts with the new format 2021-02-19 23:19:00 +02:00
Filippos Karapetis
748aec5783 STARTREK: Refactor room text handling to use offsets (first part)
This is a major change, which allows us to read room texts directly
from RDF files in a deterministic way. The previous attempt to read
texts on the fly failed with some texts at runtime, which made it
unreliable. Additionally, the scope of all room text IDs has been
reduced to each room.

With this change, it's now possible to support text in CD and floppy
versions and support multiple game languages, without hardcoding all
of the game texts in the engine source.

This is 50% done (29 out of 55 rooms), with the following left to be
done:
- MUDD mission rooms (need to improve the text reader for these)
- TRIAL mission rooms (need to improve the text reader for these)
- SINS mission rooms (need to improve the text reader for these)
- The rest of VENG mission rooms

The DEMON, TUG, LOVE, FEATHER and part of the VENG mission rooms have
been converted.
2021-02-08 03:11:46 +02:00
Filippos Karapetis
78958a01f8 STARTREK: Load more messages from RDF files 2019-10-30 01:42:47 +02:00
Filippos Karapetis
8dca2bf30a STARTREK: Load the text for the VENG mission from RDF files 2019-10-30 01:42:46 +02:00
Filippos Karapetis
9a7f2c8374 STARTREK: Load the text of the TRIAL missions from RDF files 2019-10-29 17:46:13 +02:00
Filippos Karapetis
a0fb6deb29 STARTREK: Read the text for the SINS mission from RDF files 2019-10-29 17:46:13 +02:00
Filippos Karapetis
efb51d8fb5 STARTREK: Read the text of the FEATHER mission from RDF files 2019-10-29 02:58:36 +02:00
Filippos Karapetis
71346d15eb STARTREK: Read the text of the MUDD mission rooms from RDF files
Also, add a central mechanism to fix text typos
2019-10-20 15:23:44 +03:00
Filippos Karapetis
95f8cfff16 STARTREK: Handle shared messages
Also, start moving message patches inside patchRoomMessage(), and
remove some redundant state variables
2019-10-07 01:08:51 +03:00
Filippos Karapetis
cb3030508e STARTREK: Read most strings for the LOV mission from its RDF files 2019-08-26 02:45:33 +03:00
Filippos Karapetis
0add13ed43 STARTREK: Read most of the TUG mission texts from RDF files 2019-08-19 00:18:05 +03:00
Filippos Karapetis
ef71ebda4d STARTREK: Read TUG0 description messages from the respective RDF file 2019-08-17 21:56:14 +03:00
Filippos Karapetis
05301c240b STARTREK: Load more messages from RDF files
The whole Demon chapter has been converted to the new logic.
The offsets for the extra room messages have been hardcoded, for now,
inside loadOtherRoomMessages(), until we figure out how they are
referenced.
2019-06-11 00:48:16 +03:00
Filippos Karapetis
42ac19e804 STARTREK: Start reading text from RDF files, instead of hardcoding it
Rooms DEMON0 and DEMON5 have been partially adapted to the new logic.

This isn't yet fully functional, for the following reasons:
- We only read the main text block. There are also some others which
are not handled yet. The unhandled blocks have been kept in text.cpp
- We load text in dictionaries, splitting the strings in look and talk.
However, there's a third category (look with a talker), which isn't
handled yet
- Text is loaded per-room, but there are enhancements where text and
samples are loaded from other rooms. These need to be refactored
2019-05-28 21:41:58 +03:00
Matthew Stewart
702aa6f6cb STARTREK: VENG8 text changes 2019-05-28 08:08:52 +03:00
Matthew Stewart
0715c64b38 STARTREK: VENG8 2019-05-28 08:08:52 +03:00
D G Turner
c5f2d0c1a7 STARTREK: Further Fix For Compilation. 2018-08-09 11:09:01 +01:00
Matthew Stewart
5f1f19be50 STARTREK: VENG7 2018-08-09 08:37:30 +02:00
Matthew Stewart
4887ba0fd2 STARTREK: VENG6 text changes 2018-08-09 08:37:30 +02:00
Matthew Stewart
20cc6ae56d STARTREK: VENG6 2018-08-09 08:37:30 +02:00
Matthew Stewart
6db428f006 STARTREK: VENG5 2018-08-09 08:37:30 +02:00
Matthew Stewart
1a12a25b54 STARTREK: VENG4 2018-08-09 08:37:30 +02:00
Matthew Stewart
ebc6f194c2 STARTREK: VENG3 2018-08-09 08:37:30 +02:00
Matthew Stewart
a089dc23f7 STARTREK: VENG2 2018-08-09 08:37:30 +02:00
Matthew Stewart
a5d7b86206 STARTREK: VENG1 2018-08-09 08:37:30 +02:00
Matthew Stewart
08ef636a98 STARTREK: VENG0 2018-08-09 08:37:30 +02:00
Matthew Stewart
1599e57dfe STARTREK: SINS5 text changes 2018-08-09 08:37:30 +02:00
Matthew Stewart
1c89c06508 STARTREK: SINS5 2018-08-09 08:37:30 +02:00
Strangerke
be4174dc3d STARTREK: Janitorial: Add end of namespace comments 2018-08-09 08:37:30 +02:00
Matthew Stewart
cba0567327 STARTREK: SINS3 text changes 2018-08-09 08:37:30 +02:00
Matthew Stewart
fe805de2ef STARTREK: SINS3 2018-08-09 08:37:30 +02:00
Matthew Stewart
10e22f7480 STARTREK: SINS4 text changes 2018-08-09 08:37:30 +02:00
Matthew Stewart
012b9ec47c STARTREK: SINS4 2018-08-09 08:37:30 +02:00
Matthew Stewart
b1fde33095 STARTREK: SINS2 text changes 2018-08-09 08:37:30 +02:00
Matthew Stewart
93ca6a7b48 STARTREK: SINS2 2018-08-09 08:37:30 +02:00
Matthew Stewart
dfb3bc586e STARTREK: Move text out of header file
For some reason this was inflating the executable size.
2018-08-09 08:37:30 +02:00
Matthew Stewart
abf711a4d3 STARTREK: text.cpp -> textbox.cpp 2018-08-09 08:37:30 +02:00
Matthew Stewart
f412328181 STARTREK: Implement text input boxes
Needed for SINS mission with the keypads
2018-08-09 08:37:30 +02:00
Matthew Stewart
fe98dbb69d STARTREK: Reformat with artistic style 2018-08-09 08:37:30 +02:00
Matthew Stewart
aa68655742 STARTREK: Formatting corrections 2018-08-09 08:37:30 +02:00
Matthew Stewart
0e85e19ee7 STARTREK: Move function descriptions to headers 2018-08-09 08:37:30 +02:00
Matthew Stewart
8c71f2db84 STARTREK: Make Action struct POD again 2018-08-09 08:37:30 +02:00
Matthew Stewart
aa41f89395 STARTREK: Fix memory leak in drawAllSprites 2018-08-09 08:37:30 +02:00
Matthew Stewart
14639d85f7 STARTREK: Fix choice numbers in textboxes (again) 2018-08-09 08:37:30 +02:00
Matthew Stewart
37e6a886c1 STARTREK: Right-clicking & keyboard in menus 2018-08-09 08:37:30 +02:00
Matthew Stewart
cfb5daa8f0 STARTREK: Fixes to textboxes
Center the speaker name, and show the choice number when there are
multiple choices.
2018-08-09 08:37:30 +02:00
Matthew Stewart
bd79e4d653 STARTREK: Begin on room-specific code for room 1 2018-08-09 08:37:30 +02:00
Matthew Stewart
66b4ec36bd STARTREK: Cleanup some text code 2018-08-09 08:37:30 +02:00
Matthew Stewart
a6bee58f62 STARTREK: Default behaviour for look action 2018-08-09 08:37:30 +02:00
Matthew Stewart
ec2306f8b0 STARTREK: Don't memset sprites, add Fixed16 type 2018-08-09 08:37:30 +02:00