mirror of
https://github.com/ZDoom/raze-gles.git
synced 2025-01-14 20:00:49 +00:00
- exported cinema texts to the string table as well.
This commit is contained in:
parent
0843f5f04a
commit
d94077f833
4 changed files with 147 additions and 167 deletions
|
@ -861,44 +861,25 @@ void TextOverlay::Start(int starttime)
|
||||||
lastclock = starttime;
|
lastclock = starttime;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextOverlay::ComputeCinemaText(int nLine)
|
void TextOverlay::ComputeCinemaText()
|
||||||
{
|
{
|
||||||
linecount = 0;
|
int i = 0;
|
||||||
|
for (auto &line : screentext)
|
||||||
while (1)
|
|
||||||
{
|
{
|
||||||
if (!strcmp(gString[linecount + nLine], "END")) {
|
int nWidth = SmallFont->StringWidth(line);
|
||||||
break;
|
nLeft[i++] = 160 - nWidth / 2;
|
||||||
}
|
|
||||||
|
|
||||||
int nWidth = SmallFont->StringWidth(gString[linecount + nLine]);
|
|
||||||
nLeft[linecount] = 160 - nWidth / 2;
|
|
||||||
|
|
||||||
linecount++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
nCrawlY = 199;
|
nCrawlY = 199;
|
||||||
nHeight = linecount * 10;
|
nHeight = screentext.Size() * 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextOverlay::ReadyCinemaText(uint16_t nVal)
|
void TextOverlay::ReadyCinemaText(uint16_t nVal)
|
||||||
{
|
{
|
||||||
line = FindGString("CINEMAS");
|
FStringf label("TXT_EX_LASTLEVEL%d", nVal + 1);
|
||||||
if (line < 0) {
|
label = GStrings(label);
|
||||||
return;
|
screentext = label.Split("\n");
|
||||||
}
|
ComputeCinemaText();
|
||||||
|
|
||||||
while (nVal)
|
|
||||||
{
|
|
||||||
while (strcmp(gString[line], "END")) {
|
|
||||||
line++;
|
|
||||||
}
|
|
||||||
|
|
||||||
line++;
|
|
||||||
nVal--;
|
|
||||||
}
|
|
||||||
|
|
||||||
ComputeCinemaText(line);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextOverlay::DisplayText()
|
void TextOverlay::DisplayText()
|
||||||
|
@ -906,12 +887,12 @@ void TextOverlay::DisplayText()
|
||||||
if (nHeight + nCrawlY > 0)
|
if (nHeight + nCrawlY > 0)
|
||||||
{
|
{
|
||||||
double y = nCrawlY;
|
double y = nCrawlY;
|
||||||
int i = 0;
|
unsigned int i = 0;
|
||||||
|
|
||||||
while (i < linecount && y <= 199)
|
while (i < screentext.Size() && y <= 199)
|
||||||
{
|
{
|
||||||
if (y >= -10) {
|
if (y >= -10) {
|
||||||
DrawText(twod, SmallFont, CR_UNDEFINED, nLeft[i], y, gString[line + i], DTA_FullscreenScale, FSMode_ScaleToFit43, DTA_VirtualWidth, 320, DTA_VirtualHeight, 200, TAG_DONE);
|
DrawText(twod, SmallFont, CR_UNDEFINED, nLeft[i], y, screentext[i], DTA_FullscreenScale, FSMode_ScaleToFit43, DTA_VirtualWidth, 320, DTA_VirtualHeight, 200, TAG_DONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
|
|
|
@ -64,136 +64,6 @@ bool EndLevel = false;
|
||||||
/* these are XORed in the original game executable then XORed back to normal when the game first starts. Here they are normally */
|
/* these are XORed in the original game executable then XORed back to normal when the game first starts. Here they are normally */
|
||||||
const char *gString[] =
|
const char *gString[] =
|
||||||
{
|
{
|
||||||
"CINEMAS",
|
|
||||||
"THE ANCIENT EGYPTIAN CITY",
|
|
||||||
"OF KARNAK HAS BEEN SEIZED",
|
|
||||||
"BY UNKNOWN POWERS, AND GREAT",
|
|
||||||
"TURMOIL IS SPREADING INTO",
|
|
||||||
"NEIGHBORING LANDS, POSING",
|
|
||||||
"A GRAVE THREAT TO PLANET",
|
|
||||||
"EARTH. MILITANT FORCES FROM",
|
|
||||||
"ALL PARTS OF THE GLOBE HAVE",
|
|
||||||
"ENTERED THE KARNAK VALLEY,",
|
|
||||||
"BUT NONE HAVE RETURNED. THE",
|
|
||||||
"ONLY KNOWN INFORMATION",
|
|
||||||
"REGARDING THIS CRISIS CAME",
|
|
||||||
"FROM A DYING KARNAK VILLAGER",
|
|
||||||
"WHO MANAGED TO WANDER OUT OF",
|
|
||||||
"THE VALLEY TO SAFETY.",
|
|
||||||
"'THEY'VE STOLEN THE GREAT",
|
|
||||||
"KING'S MUMMY...', MURMURED",
|
|
||||||
"THE DYING VILLAGER, BUT THE",
|
|
||||||
"VILLAGER DIED BEFORE HE",
|
|
||||||
"COULD SAY MORE. WITH NO",
|
|
||||||
"OTHER OPTIONS, WORLD",
|
|
||||||
"LEADERS HAVE CHOSEN TO DROP",
|
|
||||||
"YOU INTO THE VALLEY VIA",
|
|
||||||
"HELICOPTER IN AN ATTEMPT",
|
|
||||||
"TO FIND AND DESTROY THE",
|
|
||||||
"THREATENING FORCES AND",
|
|
||||||
"RESOLVE THE MYSTERY THAT",
|
|
||||||
"HAS ENGULFED THIS ONCE",
|
|
||||||
"PEACEFUL LAND. FLYING AT",
|
|
||||||
"HIGH ALTITUDE TO AVOID",
|
|
||||||
"BEING SHOT DOWN LIKE OTHERS",
|
|
||||||
"BEFORE YOU, YOUR COPTER",
|
|
||||||
"MYSTERIOUSLY EXPLODES IN THE",
|
|
||||||
"AIR AS YOU BARELY ESCAPE,",
|
|
||||||
"WITH NO POSSIBLE CONTACT",
|
|
||||||
"WITH THE OUTSIDE WORLD.",
|
|
||||||
"SCARED AS HELL, YOU DESCEND",
|
|
||||||
"INTO THE HEART OF KARNAK...",
|
|
||||||
"HOME TO THE CELEBRATED",
|
|
||||||
"BURIAL CRYPT OF THE GREAT",
|
|
||||||
"KING RAMSES.",
|
|
||||||
"END",
|
|
||||||
"AN EVIL FORCE KNOWN AS THE",
|
|
||||||
"KILMAAT HAS BESIEGED THE",
|
|
||||||
"SANCTITY OF MY PALACE AND",
|
|
||||||
"IS PULLING AT THE VERY",
|
|
||||||
"TENDRILS OF MY EXISTENCE.",
|
|
||||||
"THESE FORCES INTEND TO",
|
|
||||||
"ENSLAVE ME BY REANIMATING",
|
|
||||||
"MY PRESERVED CORPSE. I HAVE",
|
|
||||||
"PROTECTED MY CORPSE WITH A",
|
|
||||||
"GENETIC KEY. IF YOU ARE",
|
|
||||||
"UNSUCCESSFUL I CANNOT",
|
|
||||||
"PROTECT CIVILIZATION, AND",
|
|
||||||
"CHAOS WILL PREVAIL. I AM",
|
|
||||||
"BEING TORN BETWEEN WORLDS",
|
|
||||||
"AND THIS INSIDIOUS",
|
|
||||||
"EXPERIMENT MUST BE STOPPED.",
|
|
||||||
"END",
|
|
||||||
"I HAVE HIDDEN A MYSTICAL",
|
|
||||||
"GAUNTLET AT EL KAB THAT WILL",
|
|
||||||
"CHANNEL MY ENERGY THROUGH",
|
|
||||||
"YOUR HANDS. FIND THE",
|
|
||||||
"GAUNTLET AND CROSS THE ASWAN",
|
|
||||||
"HIGH DAM TO DEFEAT THE EVIL",
|
|
||||||
"BEAST SET.",
|
|
||||||
"END",
|
|
||||||
"SET WAS A FORMIDABLE FOE.",
|
|
||||||
"NO MORTAL HAS EVEN CONQUERED",
|
|
||||||
"THEIR OWN FEAR, MUCH LESS",
|
|
||||||
"ENTERED MORTAL BATTLE AND",
|
|
||||||
"TAKEN HIS LIFE.",
|
|
||||||
"END",
|
|
||||||
"YOU'VE MADE IT HALFWAY TOWARD",
|
|
||||||
"FULLFILLING YOUR DESTINY.",
|
|
||||||
"THE KILMAAT ARE GROWING",
|
|
||||||
"RESTLESS WITH YOUR PROGRESS.",
|
|
||||||
"SEEK OUT A TEMPLE IN THIS",
|
|
||||||
"CITADEL WHERE I WILL PROVIDE",
|
|
||||||
"MORE INFORMATION",
|
|
||||||
"END",
|
|
||||||
"THE KILMAAT RACE HAS",
|
|
||||||
"CONTINUED THEIR MONSTEROUS",
|
|
||||||
"ANIMAL-HUMAN EXPERIMENTS IN",
|
|
||||||
"AN EFFORT TO SOLVE THE KEY OF",
|
|
||||||
"ANIMATING MY CORPSE. THE",
|
|
||||||
"VICTORY DEFEATING SET DIDN'T",
|
|
||||||
"SLOW YOU DOWN AS MUCH AS",
|
|
||||||
"THEY HAD PLANNED. THEY ARE",
|
|
||||||
"ACTIVELY ROBBING A SLAVE",
|
|
||||||
"GIRL OF HER LIFE TO CREATE",
|
|
||||||
"ANOTHER MONSTEROUS",
|
|
||||||
"ABOMINATION, COMBINING HUMAN",
|
|
||||||
"AND INSECT INTENT ON SLAYING",
|
|
||||||
"YOU. PREPARE YOURSELF FOR",
|
|
||||||
"BATTLE AS SHE WILL BE WAITING",
|
|
||||||
"FOR YOU AT THE LUXOR TEMPLE. ",
|
|
||||||
"END",
|
|
||||||
"YOU'VE DONE WELL TO DEFEAT",
|
|
||||||
"SELKIS. YOU HAVE DISTRACTED",
|
|
||||||
"THE KILMAAT WITH YOUR",
|
|
||||||
"PRESENCE AND THEY HAVE",
|
|
||||||
"TEMPORARILY ABANDONED",
|
|
||||||
"ANIMATION OF MY CORPSE.",
|
|
||||||
"THE ALIEN QUEEN KILMAATIKHAN",
|
|
||||||
"HAS A PERSONAL VENDETTA",
|
|
||||||
"AGAINST YOU. ARROGANCE IS",
|
|
||||||
"HER WEAKNESS, AND IF YOU CAN",
|
|
||||||
"DEFEAT KILMAATIKHAN, THE",
|
|
||||||
"BATTLE WILL BE WON.",
|
|
||||||
"END",
|
|
||||||
"THE KILMAAT HAVE BEEN",
|
|
||||||
"DESTROYED. UNFORTUNATELY,",
|
|
||||||
"YOUR RECKLESSNESS HAS",
|
|
||||||
"DESTROYED THE EARTH AND ALL",
|
|
||||||
"OF ITS INHABITANTS. ALL THAT",
|
|
||||||
"REMAINS IS A SMOLDERING HUNK",
|
|
||||||
"OF ROCK.",
|
|
||||||
"END",
|
|
||||||
"THE KILMAAT HAVE BEEN",
|
|
||||||
"DEFEATED AND YOU SINGLE",
|
|
||||||
"HANDEDLY SAVED THE EARTH",
|
|
||||||
"FROM DESTRUCTION.",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
"YOUR BRAVERY AND HEROISM",
|
|
||||||
"ARE LEGENDARY.",
|
|
||||||
"END",
|
|
||||||
"ITEMS",
|
"ITEMS",
|
||||||
"LIFE BLOOD",
|
"LIFE BLOOD",
|
||||||
"LIFE",
|
"LIFE",
|
||||||
|
|
|
@ -265,14 +265,14 @@ class TextOverlay
|
||||||
double nCrawlY;
|
double nCrawlY;
|
||||||
short nLeft[50];
|
short nLeft[50];
|
||||||
int nHeight;
|
int nHeight;
|
||||||
int linecount;
|
|
||||||
int line;
|
|
||||||
int lastclock;
|
int lastclock;
|
||||||
|
TArray<FString> screentext;
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
void Start(int starttime);
|
void Start(int starttime);
|
||||||
void ComputeCinemaText(int nLine);
|
void ComputeCinemaText();
|
||||||
void ReadyCinemaText(uint16_t nVal);
|
void ReadyCinemaText(uint16_t nVal);
|
||||||
void DisplayText();
|
void DisplayText();
|
||||||
bool AdvanceCinemaText(int totalclock);
|
bool AdvanceCinemaText(int totalclock);
|
||||||
|
|
|
@ -2158,3 +2158,132 @@ the central power source. This
|
||||||
is the big one buddy, best of
|
is the big one buddy, best of
|
||||||
luck... For all of us.
|
luck... For all of us.
|
||||||
",TXT_EX_LASTLEVEL3,,,,,,,,,,,,,,,,,,,,,,
|
",TXT_EX_LASTLEVEL3,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
"The ancient Egyptian city
|
||||||
|
of Karnak has been seized
|
||||||
|
by unknown powers, and great
|
||||||
|
turmoil is spreading into
|
||||||
|
neighboring lands, posing
|
||||||
|
a grave threat to planet
|
||||||
|
earth. Militant forces from
|
||||||
|
all parts of the globe have
|
||||||
|
entered the Karnak valley,
|
||||||
|
but none have returned. The
|
||||||
|
only known information
|
||||||
|
regarding this crisis came
|
||||||
|
from a dying karnak villager
|
||||||
|
who managed to wander out of
|
||||||
|
the valley to safety.
|
||||||
|
'They've stolen the great
|
||||||
|
King's mummy...', Murmured
|
||||||
|
the dying villager, but the
|
||||||
|
villager died before he
|
||||||
|
could say more. With no
|
||||||
|
other options, world
|
||||||
|
leaders have chosen to drop
|
||||||
|
you into the valley via
|
||||||
|
helicopter in an attempt
|
||||||
|
to find and destroy the
|
||||||
|
threatening forces and
|
||||||
|
resolve the mystery that
|
||||||
|
has engulfed this once
|
||||||
|
peaceful land. Flying at
|
||||||
|
high altitude to avoid
|
||||||
|
being shot down like others
|
||||||
|
before you, your copter
|
||||||
|
mysteriously explodes in the
|
||||||
|
air as you barely escape,
|
||||||
|
with no possible contact
|
||||||
|
with the outside world.
|
||||||
|
Scared as hell, you descend
|
||||||
|
into the heart of karnak...
|
||||||
|
Home to the celebrated
|
||||||
|
burial crypt of the great
|
||||||
|
King Ramses.
|
||||||
|
",TXT_EX_CINEMA1,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
"An evil force known as the
|
||||||
|
Kilmaat has besieged the
|
||||||
|
sanctity of my palace and
|
||||||
|
is pulling at the very
|
||||||
|
tendrils of my existence.
|
||||||
|
These forces intend to
|
||||||
|
enslave me by reanimating
|
||||||
|
my preserved corpse. I have
|
||||||
|
protected my corpse with a
|
||||||
|
genetic key. If you are
|
||||||
|
unsuccessful I cannot
|
||||||
|
protect civilization, and
|
||||||
|
chaos will prevail. I am
|
||||||
|
being torn between worlds
|
||||||
|
and this insidious
|
||||||
|
experiment must be stopped.
|
||||||
|
",TXT_EX_CINEMA1,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
"I have hidden a mystical
|
||||||
|
gauntlet at el kab that will
|
||||||
|
channel my energy through
|
||||||
|
your hands. Find the
|
||||||
|
gauntlet and cross the aswan
|
||||||
|
high dam to defeat the evil
|
||||||
|
beast set.
|
||||||
|
",TXT_EX_CINEMA2,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
"Set was a formidable foe.
|
||||||
|
No mortal has even conquered
|
||||||
|
their own fear, much less
|
||||||
|
entered mortal battle and
|
||||||
|
taken his life.
|
||||||
|
",TXT_EX_CINEMA3,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
"You've made it halfway toward
|
||||||
|
fullfilling your destiny.
|
||||||
|
The Kilmaat are growing
|
||||||
|
restless with your progress.
|
||||||
|
Seek out a temple in this
|
||||||
|
citadel where I will provide
|
||||||
|
more information.
|
||||||
|
",TXT_EX_CINEMA4,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
"the Kilmaat race has
|
||||||
|
continued their monsterous
|
||||||
|
animal-human experiments in
|
||||||
|
an effort to solve the key of
|
||||||
|
animating my corpse. The
|
||||||
|
victory defeating set didn't
|
||||||
|
slow you down as much as
|
||||||
|
they had planned. They are
|
||||||
|
actively robbing a slave
|
||||||
|
girl of her life to create
|
||||||
|
another monsterous
|
||||||
|
abomination, combining human
|
||||||
|
and insect intent on slaying
|
||||||
|
you. Prepare yourself for
|
||||||
|
battle as she will be waiting
|
||||||
|
for you at the Luxor temple.
|
||||||
|
",TXT_EX_CINEMA5,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
"You've done well to defeat
|
||||||
|
Selkis. You have distracted
|
||||||
|
the Kilmaat with your
|
||||||
|
presence and they have
|
||||||
|
temporarily abandoned
|
||||||
|
animation of my corpse.
|
||||||
|
The alien queen Kilmaatikhan
|
||||||
|
has a personal vendetta
|
||||||
|
against you. Arrogance is
|
||||||
|
her weakness, and if you can
|
||||||
|
defeat Kilmaatikhan, the
|
||||||
|
battle will be won.
|
||||||
|
",TXT_EX_CINEMA6,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
"The Kilmaat have been
|
||||||
|
destroyed. Unfortunately,
|
||||||
|
your recklessness has
|
||||||
|
destroyed the Earth and all
|
||||||
|
of its inhabitants. All that
|
||||||
|
remains is a smoldering hunk
|
||||||
|
of rock.
|
||||||
|
",TXT_EX_CINEMA7,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
"The Kilmaat have been
|
||||||
|
defeated and you single
|
||||||
|
handedly saved the Earth
|
||||||
|
from destruction.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Your bravery and heroism
|
||||||
|
are legendary.
|
||||||
|
",TXT_EX_CINEMA8,,,,,,,,,,,,,,,,,,,,,,
|
|
Loading…
Reference in a new issue