From e71e3b8a9688ddff0464ebbb16f7086fc7e7a70a Mon Sep 17 00:00:00 2001 From: onpon4 Date: Thu, 7 Jan 2016 21:18:14 -0500 Subject: [PATCH] Moved the "brief" data files to C code. --- data/brief1.txt | 10 - data/brief10.txt | 5 - data/brief11.txt | 9 - data/brief12.txt | 9 - data/brief13.txt | 11 -- data/brief14.txt | 5 - data/brief15.txt | 7 - data/brief16.txt | 5 - data/brief17.txt | 7 - data/brief18.txt | 7 - data/brief19.txt | 9 - data/brief2.txt | 10 - data/brief20.txt | 9 - data/brief21.txt | 9 - data/brief22.txt | 9 - data/brief23.txt | 7 - data/brief24.txt | 5 - data/brief25.txt | 9 - data/brief26.txt | 5 - data/brief3.txt | 10 - data/brief4.txt | 8 - data/brief5.txt | 7 - data/brief6.txt | 7 - data/brief7.txt | 9 - data/brief8.txt | 5 - data/brief9.txt | 9 - src/intermission.cpp | 445 ++++++++++++++++++++++++++++++++++++++++--- 27 files changed, 415 insertions(+), 232 deletions(-) delete mode 100644 data/brief1.txt delete mode 100644 data/brief10.txt delete mode 100644 data/brief11.txt delete mode 100644 data/brief12.txt delete mode 100644 data/brief13.txt delete mode 100644 data/brief14.txt delete mode 100644 data/brief15.txt delete mode 100644 data/brief16.txt delete mode 100644 data/brief17.txt delete mode 100644 data/brief18.txt delete mode 100644 data/brief19.txt delete mode 100644 data/brief2.txt delete mode 100644 data/brief20.txt delete mode 100644 data/brief21.txt delete mode 100644 data/brief22.txt delete mode 100644 data/brief23.txt delete mode 100644 data/brief24.txt delete mode 100644 data/brief25.txt delete mode 100644 data/brief26.txt delete mode 100644 data/brief3.txt delete mode 100644 data/brief4.txt delete mode 100644 data/brief5.txt delete mode 100644 data/brief6.txt delete mode 100644 data/brief7.txt delete mode 100644 data/brief8.txt delete mode 100644 data/brief9.txt diff --git a/data/brief1.txt b/data/brief1.txt deleted file mode 100644 index b0da8cb..0000000 --- a/data/brief1.txt +++ /dev/null @@ -1,10 +0,0 @@ -Krass Tyler -FACE_KRASS -Hey, boy! You still owe me money for the Firefly I stole for you! But instead, I want you to go to the WEAPCO training ground and destroy all the craft there. -FACE_CHRIS -Oh? That's the job I contracted you to do, was it not? -FACE_KRASS -I know, but this way we can resolve your debt right now. Do this job, and also collect $500, and we will call it quits. And if you die... well, I guess the ship was not worth stealing! HA HA HA! -FACE_CHRIS -As usual, you take me too lightly, Krass. - diff --git a/data/brief10.txt b/data/brief10.txt deleted file mode 100644 index ce65ed1..0000000 --- a/data/brief10.txt +++ /dev/null @@ -1,5 +0,0 @@ -Sid Wilson -FACE_SID -A WEAPCO scientist just ran off in an escape pod and hid in the asteroid belt. If we capture him, we may be able to get some information about Mordor. -FACE_CHRIS -I'm on it. diff --git a/data/brief11.txt b/data/brief11.txt deleted file mode 100644 index 725721f..0000000 --- a/data/brief11.txt +++ /dev/null @@ -1,9 +0,0 @@ -Phoebe Lexx -FACE_SID -I've received word that the slaves we rescued have started a rebellion. Looks like the plan worked. -FACE_PHOEBE -WEAPCO has an automated mining ship in orbit around Elamale. How about we take it out and cause some confusion? -FACE_CHRIS -I like that idea! -FACE_SID -It'll work, but be careful. diff --git a/data/brief12.txt b/data/brief12.txt deleted file mode 100644 index 203010d..0000000 --- a/data/brief12.txt +++ /dev/null @@ -1,9 +0,0 @@ -Sid Wilson -FACE_CHRIS -What have you found out about that experimental fighter? -FACE_SID -It's got some kind of cloaking device that makes it invisible to radar. Could prove hard to track down. -FACE_CHRIS -I'll just have to run around the system until I run into it. -FACE_SID -It's likely to run away if you engage it in battle, so try and do as much damage to it as possible. diff --git a/data/brief13.txt b/data/brief13.txt deleted file mode 100644 index 54d9aa0..0000000 --- a/data/brief13.txt +++ /dev/null @@ -1,11 +0,0 @@ -Phoebe Lexx -FACE_PHOEBE -I've located my sister's ship currently in orbit around Odeon. She's ignoring my hails though. -FACE_SID -Something's off here. She seems to be travelling freely with a WEAPCO group. -FACE_CHRIS -Do you think she's turned traitor? -FACE_PHOEBE -No way. She hates WEAPCO with a passion. -FACE_SID -She must be under some kind of mind control. I've heard of WEAPCO developing a new "AI training program" recently. We'd better rescue her! diff --git a/data/brief14.txt b/data/brief14.txt deleted file mode 100644 index dc404b5..0000000 --- a/data/brief14.txt +++ /dev/null @@ -1,5 +0,0 @@ -Sid Wilson -FACE_SID -A rebel group has organized a counter strike. If we can help them secure a victory it will be a real boost to morale. -FACE_CHRIS -Awesome! I'm on it! diff --git a/data/brief15.txt b/data/brief15.txt deleted file mode 100644 index 7021404..0000000 --- a/data/brief15.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sid Wilson -FACE_SID -Seems like taking out that WEAPCO mining ship wasn't such a good idea. The Ore it collected from those asteroids is needed in weapon production. -FACE_CHRIS -Damn! I guess that means I'll have to mine some myself, then, huh? -FACE_SID -Yes. Be careful, Chris. Your weapons weren't designed for that sort of work and could have some devastating results. diff --git a/data/brief16.txt b/data/brief16.txt deleted file mode 100644 index d11ad0f..0000000 --- a/data/brief16.txt +++ /dev/null @@ -1,5 +0,0 @@ -Krass Tyler -FACE_CHRIS -Hey, Krass! I need you to help us out with something. Phoebe and Ursula are taking out key WEAPCO plants. Can you help me create a diversion by wreaking havoc a little bit away from that? -FACE_KRASS -Sure, I can help you out, boy. But I'll be needing my fee... diff --git a/data/brief17.txt b/data/brief17.txt deleted file mode 100644 index afed732..0000000 --- a/data/brief17.txt +++ /dev/null @@ -1,7 +0,0 @@ -Ursula Lexx -FACE_URSULA -I've remembered something. WEAPCO is transporting some high level personnel to Poswic. -FACE_SID -This could be really important to our success in Sol. I'll need some cover so I can disable that ship. -FACE_CHRIS -You got it! diff --git a/data/brief18.txt b/data/brief18.txt deleted file mode 100644 index 1ccdeb8..0000000 --- a/data/brief18.txt +++ /dev/null @@ -1,7 +0,0 @@ -Phoebe Lexx -FACE_CHRIS -Phoebe, I need you to keep an eye on things here. I'm going after that ship! -FACE_PHOEBE -Are you sure you can catch up to it? -FACE_CHRIS -Is that a challenge? Heh heh, don't worry about it. One thing that's really nice about the Firefly is its speed. I'll see you in a bit. diff --git a/data/brief19.txt b/data/brief19.txt deleted file mode 100644 index 20b8c5d..0000000 --- a/data/brief19.txt +++ /dev/null @@ -1,9 +0,0 @@ -Sid Wilson -FACE_SID -We've got to start from the outside and work our way in. That will give us less chance of being flanked during the final operation. -FACE_PHOEBE -Gotcha. -FACE_URSULA -Okay. -FACE_CHRIS -Alright. diff --git a/data/brief2.txt b/data/brief2.txt deleted file mode 100644 index 1f5aaca..0000000 --- a/data/brief2.txt +++ /dev/null @@ -1,10 +0,0 @@ -Sid Wilson -FACE_CHRIS -Hey, Sid, what's up? -FACE_SID -Chris, I've intercepted a communication from WEAPCO. Seems they're transporting some medical supplies around Ceradse. We need to get hold of those pods to save some lives! -FACE_CHRIS -How many do we need? -FACE_SID -All six, Chris! If you lose even a single one, thousands of people could perish in Spirit within the next few months. - diff --git a/data/brief20.txt b/data/brief20.txt deleted file mode 100644 index 20b8c5d..0000000 --- a/data/brief20.txt +++ /dev/null @@ -1,9 +0,0 @@ -Sid Wilson -FACE_SID -We've got to start from the outside and work our way in. That will give us less chance of being flanked during the final operation. -FACE_PHOEBE -Gotcha. -FACE_URSULA -Okay. -FACE_CHRIS -Alright. diff --git a/data/brief21.txt b/data/brief21.txt deleted file mode 100644 index 20b8c5d..0000000 --- a/data/brief21.txt +++ /dev/null @@ -1,9 +0,0 @@ -Sid Wilson -FACE_SID -We've got to start from the outside and work our way in. That will give us less chance of being flanked during the final operation. -FACE_PHOEBE -Gotcha. -FACE_URSULA -Okay. -FACE_CHRIS -Alright. diff --git a/data/brief22.txt b/data/brief22.txt deleted file mode 100644 index 9ff7d86..0000000 --- a/data/brief22.txt +++ /dev/null @@ -1,9 +0,0 @@ -Sid Wilson -FACE_SID -WEAPCO has set up a highly dangerous defense line between Saturn and Uranus. We'll need to take it out. -FACE_URSULA -What kind of defense system? -FACE_SID -Several mobile Energy Ray cannons, not unlike the weapon used by the Star Killer back in Spirit. -FACE_PHOEBE -Best check my ejection system then! diff --git a/data/brief23.txt b/data/brief23.txt deleted file mode 100644 index 4d8c3e4..0000000 --- a/data/brief23.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sid Wilson -FACE_SID -While you were gone I picked up a distress call coming from around Jupiter. -FACE_URSULA -Who would be sending out a distress call within Sol? -FACE_CHRIS -Let's check it out. Even if it's a trap, I think we can handle it. diff --git a/data/brief24.txt b/data/brief24.txt deleted file mode 100644 index a7492a4..0000000 --- a/data/brief24.txt +++ /dev/null @@ -1,5 +0,0 @@ -Sid Wilson -FACE_SID -Chris, we've got a small problem. WEAPCO has a minefield in the asteroid belt. We'll need you to clear a way through. -FACE_CHRIS -Alright. I'll radio in once I've cleared a safe path. diff --git a/data/brief25.txt b/data/brief25.txt deleted file mode 100644 index 4b8a0a6..0000000 --- a/data/brief25.txt +++ /dev/null @@ -1,9 +0,0 @@ -Everyone -FACE_CHRIS -Okay people, this is the big one. We go in fast and we go in hard. Don't hold back and hit them with everything we've got! -FACE_SID -We've come too far to turn back now. None of us better die out there! -FACE_PHOEBE -Right with you, Chris. -FACE_URSULA -WEAPCO'll regret sticking probes into my head! diff --git a/data/brief26.txt b/data/brief26.txt deleted file mode 100644 index 47d6843..0000000 --- a/data/brief26.txt +++ /dev/null @@ -1,5 +0,0 @@ -Sid Wilson -FACE_CHRIS -Kethlan has run off to Venus. I'm going after him. -FACE_SID -Be careful, Chris. We've won the war, but it would be a real shame if you died now! diff --git a/data/brief3.txt b/data/brief3.txt deleted file mode 100644 index 43a3264..0000000 --- a/data/brief3.txt +++ /dev/null @@ -1,10 +0,0 @@ -Sid Wilson -FACE_CHRIS -Wow! Missile boats? -FACE_SID -Yup. Looks like WEAPCO is starting to take notice of your actions. -FACE_CHRIS -Sounds like fun! This will really put the Firefly's fighting ability to the test! -FACE_SID -Please be careful, Chris. A single missile boat carries enough rockets to level most major cities. Try not to face them head-on, and keep your distance. - diff --git a/data/brief4.txt b/data/brief4.txt deleted file mode 100644 index ca3e929..0000000 --- a/data/brief4.txt +++ /dev/null @@ -1,8 +0,0 @@ -Sid Wilson -FACE_SID -We're going to have to get rid of the mine deployment unit around Joldar. The minefield is stopping interplanetary traffic. -FACE_CHRIS -Sounds kind of boring. Any fighters? -FACE_SID -Not at the moment, but that doesn't mean they won't turn up. Be very careful of those mines! They'll only explode when they encounter a ship that's not transmitting a WEAPCO signal. Shoot them down if they get in your way. - diff --git a/data/brief5.txt b/data/brief5.txt deleted file mode 100644 index e75db85..0000000 --- a/data/brief5.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sid Wilson -FACE_SID -We've got a major problem here! WEAPCO has decided to stop our resistance by destroying Spirit! The explosion will incinerate everything in the system! You've got to destroy that frigate before it gets in range! -FACE_CHRIS -Damn! I'll get right on it, then! -FACE_SID -We're all counting on you, Chris! But just remember - They didn't call that thing "Star Killer" just because it sounded nice! diff --git a/data/brief6.txt b/data/brief6.txt deleted file mode 100644 index dfd47ea..0000000 --- a/data/brief6.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sid Wilson -FACE_SID -As you know, WEAPCO has many slaves in this system. If we free a large number of them, it might help to spark a rebellion. I estimate that we will need to rescue around 250 to make a difference. -FACE_CHRIS -Most of the slaves are working in ore mines, aren't they? -FACE_SID -Yes, but attacking the ore mines directly would be dangerous. You'd be better off intercepting slave transports. What you'll have to do is fly around and see if you can intercept a WEAPCO patrol. Of course, they might not be escorting any slave units, so be careful! diff --git a/data/brief7.txt b/data/brief7.txt deleted file mode 100644 index 6eac2d9..0000000 --- a/data/brief7.txt +++ /dev/null @@ -1,9 +0,0 @@ -(unknown) -FACE_PHOEBE -Help! This is an SOS! Can anyone hear me?! -FACE_CHRIS -I'm hearing you loud and clear! What's up? -FACE_PHOEBE -Oh, thank God! I was intercepted by a large WEAPCO force near Nerod! I'm in need of assistance! -FACE_CHRIS -I'm on my way! diff --git a/data/brief8.txt b/data/brief8.txt deleted file mode 100644 index 1357905..0000000 --- a/data/brief8.txt +++ /dev/null @@ -1,5 +0,0 @@ -Sid Wilson -FACE_SID -I've just received another SOS. This one is coming from a supply craft carrying essential medical supplies. -FACE_CHRIS -Alright, Tell 'em I'm on my way. diff --git a/data/brief9.txt b/data/brief9.txt deleted file mode 100644 index 48e57b2..0000000 --- a/data/brief9.txt +++ /dev/null @@ -1,9 +0,0 @@ -Sid Wilson -FACE_SID -I need some resources before we leave, it'll make life a lot easier in Mordor. Problem is that WEAPCO hoards these parts. -FACE_CHRIS -Where can we get them, then? -FACE_SID -There's a big shipment of them nearby. I can disable the supply craft carrying them; I just need you to give me some cover while I do it. -FACE_CHRIS -You got it! diff --git a/src/intermission.cpp b/src/intermission.cpp index 7d93813..2c8564b 100644 --- a/src/intermission.cpp +++ b/src/intermission.cpp @@ -371,17 +371,24 @@ static void intermission_createCommsSurface(SDL_Surface *comms) intermission_updateCommsSurface(comms); } +static int intermission_renderDialog(SDL_Surface *comms, int y, int face, const char *string) +{ + int newY; + gfx_blit(gfx_faceSprites[face], 10, y, comms); + newY = gfx_renderString(string, 80, y, FONT_WHITE, 1, comms) + 25; + if (newY < y + 60) + newY += (60 - (newY - y)); + return newY; +} + static void intermission_createMissionDetailSurface(SDL_Surface *comms, int missionSlot) { char name[50]; char string[2000]; int y = 50; - int newY = y; - int col = FONT_WHITE; int mission = -1; - int faceNumber = -1; - FILE *fp; + // XXX: Magic number for (int i = 0 ; i < 10 ; i++) { if ((systemPlanet[i].messageSlot == missionSlot) && (systemPlanet[i].missionCompleted == 0)) @@ -395,37 +402,415 @@ static void intermission_createMissionDetailSurface(SDL_Surface *comms, int miss gfx_drawRect(comms, 0, 0, comms->w - 1, comms->h - 1, 0x00, 0x00, 0x25); - sprintf(string, "data/brief%d.txt", mission); - - fp = fopen(string, "rb"); - - if (fscanf(fp, "%[^\n]%*c", name) < 1) + // XXX: The "name" should correspond with whatever name was presented in + // the screen listing all of the comms. For some reason, this has always + // been defined twice, which is redundant and has led to inconsistencies in + // the past. + switch (mission) { - printf("Warning: Failed to retrieve name from \"%s\"\n", string); - strcpy(name, "Error"); + case MISN_HAIL: + strcpy(name, "Krass Tyler"); + + strcpy(string, "Hey, boy! You still owe me money for the Firefly I stole for you! But instead, I want you to go to the WEAPCO training ground and destroy all the craft there."); + y = intermission_renderDialog(comms, y, FS_KRASS, string); + + strcpy(string, "Oh? That's the job I contracted you to do, was it not?"); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + strcpy(string, "I know, but this way we can resolve your debt right now. Do this job, and also collect $500, and we will call it quits. And if you die... well, I guess the ship was not worth stealing! HA HA HA!"); + y = intermission_renderDialog(comms, y, FS_KRASS, string); + + strcpy(string, "As usual, you take me too lightly, Krass."); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + break; + + case MISN_CERADSE: + strcpy(name, "Sid Wilson"); + + strcpy(string, "Hey, Sid, what's up?"); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + strcpy(string, "Chris, I've intercepted a communication from WEAPCO. Seems they're transporting some medical supplies around Ceradse. We need to get hold of those pods to save some lives!"); + y = intermission_renderDialog(comms, y, FS_SID, string); + + strcpy(string, "How many do we need?"); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + strcpy(string, "All six, Chris! If you lose even a single one, thousands of people could perish in Spirit within the next few months."); + y = intermission_renderDialog(comms, y, FS_SID, string); + + break; + + case MISN_HINSTAG: + strcpy(name, "Sid Wilson"); + + strcpy(string, "Wow! Missile boats?"); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + strcpy(string, "Yup. Looks like WEAPCO is starting to take notice of your actions."); + y = intermission_renderDialog(comms, y, FS_SID, string); + + strcpy(string, "Sounds like fun! This will really put the Firefly's fighting ability to the test!"); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + strcpy(string, "Please be careful, Chris. A single missile boat carries enough rockets to level most major cities. Try not to face them head-on, and keep your distance."); + y = intermission_renderDialog(comms, y, FS_SID, string); + + break; + + case MISN_JOLDAR: + strcpy(name, "Sid Wilson"); + + strcpy(string, "We're going to have to get rid of the mine deployment unit around Joldar. The minefield is stopping interplanetary traffic."); + y = intermission_renderDialog(comms, y, FS_SID, string); + + strcpy(string, "Are any fighters around to keep me entertained?"); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + strcpy(string, "Not at the moment, but that doesn't mean they won't turn up. Be very careful of those mines! They'll only explode when they encounter a ship that's not transmitting a WEAPCO signal. Shoot them down if they get in your way."); + y = intermission_renderDialog(comms, y, FS_SID, string); + + break; + + case MISN_MOEBO: + strcpy(name, "Sid Wilson"); + + strcpy(string, "We've got a major problem here! WEAPCO has decided to stop our resistance by destroying Spirit! The explosion will incinerate everything in the system! You've got to destroy that frigate before it gets in range!"); + y = intermission_renderDialog(comms, y, FS_SID, string); + + strcpy(string, "Damn! I'll get right on it, then!"); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + strcpy(string, "We're all counting on you, Chris! But just remember - They didn't call that thing \"Star Killer\" just because it sounded nice!"); + y = intermission_renderDialog(comms, y, FS_SID, string); + + break; + + case MISN_RESCUESLAVES: + strcpy(name, "Sid Wilson"); + + strcpy(string, "As you know, WEAPCO has many slaves in this system. If we free a large number of them, it might help to spark a rebellion. I estimate that we will need to rescue around 250 to make a difference."); + y = intermission_renderDialog(comms, y, FS_SID, string); + + strcpy(string, "Most of the slaves are working in ore mines, aren't they?"); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + strcpy(string, "Yes, but attacking the ore mines directly would be dangerous. You'd be better off intercepting slave transports. What you'll have to do is fly around and see if you can intercept a WEAPCO patrol. Of course, they might not be escorting any slave units, so be careful!"); + y = intermission_renderDialog(comms, y, FS_SID, string); + + break; + + case MISN_NEROD: + strcpy(name, "(unknown)"); + + strcpy(string, "Help! This is an SOS! Can anyone hear me?!"); + y = intermission_renderDialog(comms, y, FS_PHOEBE, string); + + strcpy(string, "I'm hearing you loud and clear! What's up?"); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + strcpy(string, "Oh, thank God! I was intercepted by a large WEAPCO force near Nerod! I'm in need of assistance!"); + y = intermission_renderDialog(comms, y, FS_PHOEBE, string); + + strcpy(string, "I'm on my way!"); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + break; + + case MISN_ALLEZ: + strcpy(name, "Sid Wilson"); + + strcpy(string, "I've just received another SOS. This one is coming from a supply craft carrying essential medical supplies."); + y = intermission_renderDialog(comms, y, FS_SID, string); + + strcpy(string, "Alright, Tell 'em I'm on my way."); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + break; + + case MISN_URUSOR: + strcpy(name, "Sid Wilson"); + + strcpy(string, "I need some resources before we leave, it'll make life a lot easier in Mordor. Problem is that WEAPCO hoards these parts."); + y = intermission_renderDialog(comms, y, FS_SID, string); + + strcpy(string, "Where can we get them, then?"); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + strcpy(string, "There's a big shipment of them nearby. I can disable the supply craft carrying them; I just need you to give me some cover while I do it."); + y = intermission_renderDialog(comms, y, FS_SID, string); + + strcpy(string, "You got it!"); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + break; + + case MISN_DORIM: + strcpy(name, "Sid Wilson"); + + strcpy(string, "A WEAPCO scientist just ran off in an escape pod and hid in the asteroid belt. If we capture him, we may be able to get some information about Mordor."); + y = intermission_renderDialog(comms, y, FS_SID, string); + + strcpy(string, "I'm on it."); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + break; + + case MISN_ELAMALE: + strcpy(name, "Phoebe Lexx"); + + strcpy(string, "I've received word that the slaves we rescued have started a rebellion. Looks like the plan worked."); + y = intermission_renderDialog(comms, y, FS_SID, string); + + strcpy(string, "WEAPCO has an automated mining ship in orbit around Elamale. How about we take it out and cause some confusion?"); + y = intermission_renderDialog(comms, y, FS_PHOEBE, string); + + strcpy(string, "I like that idea!"); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + strcpy(string, "It'll work, but be careful."); + y = intermission_renderDialog(comms, y, FS_SID, string); + + break; + + case MISN_CLOAKFIGHTER: + strcpy(name, "Sid Wilson"); + + strcpy(string, "What have you found out about that experimental fighter?"); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + strcpy(string, "It's got some kind of cloaking device that makes it invisible to radar. Could prove hard to track down."); + y = intermission_renderDialog(comms, y, FS_SID, string); + + strcpy(string, "I'll just have to run around the system until I run into it."); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + strcpy(string, "It's likely to run away if you engage it in battle, so try and do as much damage to it as possible."); + y = intermission_renderDialog(comms, y, FS_SID, string); + + break; + + case MISN_ODEON: + strcpy(name, "Phoebe Lexx"); + + strcpy(string, "I've located my sister's ship currently in orbit around Odeon. She's ignoring my hails though."); + y = intermission_renderDialog(comms, y, FS_PHOEBE, string); + + strcpy(string, "Something's off here. She seems to be travelling freely with a WEAPCO group."); + y = intermission_renderDialog(comms, y, FS_SID, string); + + strcpy(string, "Do you think she's turned traitor?"); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + strcpy(string, "No way. She hates WEAPCO with a passion."); + y = intermission_renderDialog(comms, y, FS_PHOEBE, string); + + strcpy(string, "She must be under some kind of mind control. I've heard of WEAPCO developing a new \"AI training program\" recently. We'd better rescue her!"); + y = intermission_renderDialog(comms, y, FS_SID, string); + + break; + + case MISN_FELLON: + strcpy(name, "Sid Wilson"); + + strcpy(string, "A rebel group has organized a counter strike. If we can help them secure a victory it will be a real boost to morale."); + y = intermission_renderDialog(comms, y, FS_SID, string); + + strcpy(string, "Awesome! I'm on it!"); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + break; + + case MISN_SIVEDI: + strcpy(name, "Sid Wilson"); + + strcpy(string, "Seems like taking out that WEAPCO mining ship wasn't such a good idea. The Ore it collected from those asteroids is needed in weapon production."); + y = intermission_renderDialog(comms, y, FS_SID, string); + + strcpy(string, "Damn! I guess that means I'll have to mine some myself, then, huh?"); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + strcpy(string, "Yes. Be careful, Chris. Your weapons weren't designed for that sort of work, after all."); + y = intermission_renderDialog(comms, y, FS_SID, string); + + break; + + case MISN_ALMARTHA: + strcpy(name, "Krass Tyler"); + + strcpy(string, "Hey, Krass! I need you to help us out with something. Phoebe and Ursula are taking out key WEAPCO plants. Can you help me create a diversion by wreaking havoc a little bit away from that?"); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + strcpy(string, "Sure, I can help you out, boy. But I'll be needing my fee..."); + y = intermission_renderDialog(comms, y, FS_KRASS, string); + + break; + + case MISN_POSWIC: + strcpy(name, "Ursula Lexx"); + + strcpy(string, "I've remembered something. WEAPCO is transporting some high level personnel to Poswic."); + y = intermission_renderDialog(comms, y, FS_URSULA, string); + + strcpy(string, "This could be really important to our success in Sol. I'll need some cover so I can disable that ship."); + y = intermission_renderDialog(comms, y, FS_SID, string); + + strcpy(string, "You got it!"); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + break; + + case MISN_ELLESH: + strcpy(name, "Phoebe Lexx"); + + strcpy(string, "Phoebe, I need you to keep an eye on things here. I'm going after that ship!"); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + strcpy(string, "Are you sure you can catch up to it?"); + y = intermission_renderDialog(comms, y, FS_PHOEBE, string); + + strcpy(string, "Is that a challenge? Heh heh, don't worry about it. One thing that's really nice about the Firefly is its speed. I'll see you in a bit."); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + break; + + case MISN_PLUTO: + strcpy(name, "Sid Wilson"); + + strcpy(string, "We've got to start from the outside and work our way in. That will give us less chance of being flanked during the final operation."); + y = intermission_renderDialog(comms, y, FS_SID, string); + + strcpy(string, "Gotcha."); + y = intermission_renderDialog(comms, y, FS_PHOEBE, string); + + strcpy(string, "Okay."); + y = intermission_renderDialog(comms, y, FS_URSULA, string); + + strcpy(string, "Alright."); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + break; + + case MISN_NEPTUNE: + strcpy(name, "Sid Wilson"); + + strcpy(string, "We've got to start from the outside and work our way in. That will give us less chance of being flanked during the final operation."); + y = intermission_renderDialog(comms, y, FS_SID, string); + + strcpy(string, "Gotcha."); + y = intermission_renderDialog(comms, y, FS_PHOEBE, string); + + strcpy(string, "Okay."); + y = intermission_renderDialog(comms, y, FS_URSULA, string); + + strcpy(string, "Alright."); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + break; + + case MISN_URANUS: + strcpy(name, "Sid Wilson"); + + strcpy(string, "We've got to start from the outside and work our way in. That will give us less chance of being flanked during the final operation."); + y = intermission_renderDialog(comms, y, FS_SID, string); + + strcpy(string, "Gotcha."); + y = intermission_renderDialog(comms, y, FS_PHOEBE, string); + + strcpy(string, "Okay."); + y = intermission_renderDialog(comms, y, FS_URSULA, string); + + strcpy(string, "Alright."); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + break; + + case MISN_SATURN: + strcpy(name, "Sid Wilson"); + + strcpy(string, "WEAPCO has set up a highly dangerous defense line between Saturn and Uranus. We'll need to take it out."); + y = intermission_renderDialog(comms, y, FS_SID, string); + + strcpy(string, "What kind of defense system?"); + y = intermission_renderDialog(comms, y, FS_URSULA, string); + + strcpy(string, "Several mobile Energy Ray cannons, not unlike the weapon used by the Star Killer back in Spirit."); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + strcpy(string, "Best check my ejection system, then!"); + y = intermission_renderDialog(comms, y, FS_PHOEBE, string); + + break; + + case MISN_JUPITER: + strcpy(name, "Sid Wilson"); + + strcpy(string, "While you were gone I picked up a distress call coming from around Jupiter."); + y = intermission_renderDialog(comms, y, FS_SID, string); + + strcpy(string, "Who would be sending out a distress call within Sol?"); + y = intermission_renderDialog(comms, y, FS_URSULA, string); + + strcpy(string, "Let's check it out. Even if it's a trap, I think we can handle it."); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + break; + + case MISN_MARS: + strcpy(name, "Sid Wilson"); + + strcpy(string, "Chris, we've got a small problem. WEAPCO has a minefield in the asteroid belt. We'll need you to clear a way through."); + y = intermission_renderDialog(comms, y, FS_SID, string); + + strcpy(string, "Alright. I'll radio in once I've cleared a safe path."); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + break; + + case MISN_EARTH: + strcpy(name, "Everyone"); + + strcpy(string, "Okay people, this is the big one. We go in fast and we go in hard. Don't hold back and hit them with everything we've got!"); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + strcpy(string, "We've come too far to turn back now. None of us better die out there!"); + y = intermission_renderDialog(comms, y, FS_SID, string); + + strcpy(string, "Right with you, Chris!"); + y = intermission_renderDialog(comms, y, FS_PHOEBE, string); + + strcpy(string, "WEAPCO'll regret sticking probes into my head!"); + y = intermission_renderDialog(comms, y, FS_URSULA, string); + + break; + + case MISN_VENUS: + strcpy(name, "Sid Wilson"); + + strcpy(string, "Kethlan has run off to Venus. I'm going after him."); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + strcpy(string, "Be careful, Chris. We've won the war, but it would be a real shame if you died now!"); + y = intermission_renderDialog(comms, y, FS_SID, string); + + break; + + default: + strcpy(name, "Nobody"); + strcpy(string, "Hey, why am I talking to myself? This shouldn't happen! Clearly, this must be a bug."); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + sprintf(string, "I should go to starfighter.nongnu.org and report this bug there. In that report, I should mention that the mission number is %d.", mission); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); + + strcpy(string, "Wait, what am I still talking into empty space for? It's not like anyone can hear me..."); + y = intermission_renderDialog(comms, y, FS_CHRIS, string); } + sprintf(string, "+++ Communication with %s +++", name); gfx_renderString(string, -1, 20, FONT_GREEN, 0, comms); - while (fscanf(fp, "%[^\n]%*c", string) == 1) - { - faceNumber = getFace(string); - if (faceNumber > -1) - { - gfx_blit(gfx_faceSprites[faceNumber], 10, y, comms); - col = FONT_WHITE; - } - else - { - newY = gfx_renderString(string, 80, y, col, 1, comms) + 25; - if (newY < y + 60) - newY += (60 - (newY - y)); - y = newY; - } - } - - fclose(fp); - gfx_drawRect(comms, 5, comms->h - 28, 180, 20, 0x25, 0x00, 0x00); gfx_renderString("RETURN TO MESSAGES", 15, comms->h - 25, FONT_WHITE, 1, comms);