diff options
author | Torbjörn Andersson | 2005-01-13 07:47:04 +0000 |
---|---|---|
committer | Torbjörn Andersson | 2005-01-13 07:47:04 +0000 |
commit | 8c708cce8e677a83b12a4360c97c668158401601 (patch) | |
tree | e228c938d837c60cddfaeebb3bcd1bbb6b0ff126 /saga/actor.h | |
parent | 1e499f47f2964836e09cc00e44c583ef2c11bcbb (diff) | |
download | scummvm-rg350-8c708cce8e677a83b12a4360c97c668158401601.tar.gz scummvm-rg350-8c708cce8e677a83b12a4360c97c668158401601.tar.bz2 scummvm-rg350-8c708cce8e677a83b12a4360c97c668158401601.zip |
A few subtitle-related changes:
* Added speechCoords to the SpeechData structure so that talking actors
don't drag their speech subtitles with them just because they're moving
and talking at the same time. (Could this also be useful for non-actor
speech?) If the actor has multiple strings, the coordinates are updated
for each new string.
* Made speechColor and outlineCoor arrays so that simultaneous speech (i.e.
where several actors are talking at the same time) multi-coloured. This
is completely untested, though.
* Used getBlack() to get the black colour for the text outline. The
original uses a constant, but we could always make getBlack() return
that constant, if we want to.
svn-id: r16550
Diffstat (limited to 'saga/actor.h')
-rw-r--r-- | saga/actor.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/saga/actor.h b/saga/actor.h index 5c6b47b0cd..955e78b541 100644 --- a/saga/actor.h +++ b/saga/actor.h @@ -243,10 +243,11 @@ typedef ActorData *ActorDataPointer; typedef SortedList<ActorDataPointer> ActorOrderList; struct SpeechData { - int speechColor; - int outlineColor; + int speechColor[ACTOR_SPEECH_ACTORS_MAX]; + int outlineColor[ACTOR_SPEECH_ACTORS_MAX]; int speechFlags; const char *strings[ACTOR_SPEECH_STRING_MAX]; + Point speechCoords[ACTOR_SPEECH_ACTORS_MAX]; int stringsCount; int slowModeCharIndex; uint16 actorIds[ACTOR_SPEECH_ACTORS_MAX]; @@ -294,8 +295,8 @@ public: void nonActorSpeech(const char **strings, int stringsCount, int speechFlags); void simulSpeech(const char *string, uint16 *actorIds, int actorIdsCount, int speechFlags); void setSpeechColor(int speechColor, int outlineColor) { - _activeSpeech.speechColor = speechColor; - _activeSpeech.outlineColor = outlineColor; + _activeSpeech.speechColor[0] = speechColor; + _activeSpeech.outlineColor[0] = outlineColor; } void abortAllSpeeches(); void abortSpeech(); |