• New Horizons on Maelstrom
    Maelstrom New Horizons


    Visit our website www.piratehorizons.com to quickly find download links for the newest versions of our New Horizons mods Beyond New Horizons and Maelstrom New Horizons!

Devlin Opera for the 65742th time

Only 2 out of 22 characters are left with voice clips that don't work, but those two are too good to be left out. I'll have to try and convert them somehow so they work.

Meanwhile, the next chapter is almost finished, except for a lot of finetuning which will include creating a map to examine. But there's some code problem for a change. All of us sitting at a table, Bonnie is supposed to talk to me. I tried both the ActorDialogNow and the ActorDialog line and also ActorDialogNow with the value -1, whatever that means but that was what worked with Rocoso Balboa earlier in the quest. Is this because Bonnie is not sitting right across, but diagonally from me at the table? I don't think so, because if necessary, characters can initiate dialog even over long distances.

There's no dialog and all I can do is marvel at the sit animation of the Blaze Devlin model, who does strange hand gestures that look as if he's catching a fly. :rofl

Code:
        case "Domingo_Debriefing":
            LAi_Fade("Domingo_Debriefing2", "Domingo_Debriefing3");
        break;

        case "Domingo_Debriefing2":
            LAi_SetActorType(pchar);
            LAi_ActorSetSitMode(pchar);
            ChangeCharacterAddressGroup(pchar, "Santo_Domingo_tavern", "sit", "sit5");
            ChangeCharacterAddressGroup(characterFromID("Blaze Devlin"), "Santo_Domingo_tavern", "sit", "sit4");
            ChangeCharacterAddressGroup(characterFromID("Bonnie Devlin"), "Santo_Domingo_tavern", "sit", "sit14");
            LAi_SetActorType(characterFromID("Bonnie Devlin"));
            LAi_ActorSetSitMode(characterFromID("Bonnie Devlin"));
        break;

        case "Domingo_Debriefing3":
            Characters[GetCharacterIndex("Bonnie Devlin")].Dialog.CurrentNode = "Bonnie_SD_Deb";
            //LAi_ActorDialogNow(Pchar, characterFromID("Bonnie Devlin"), "", 1.0);
            LAi_ActorDialog(characterFromID("Bonnie Devlin"), Pchar, "", 0.5, 0);
        break;
 
Try using:
Code:
LAi_SetSitType(characterFromID("Bonnie Devlin"));
... instead of:
Code:
LAi_SetActorType(characterFromID("Bonnie Devlin"));
LAi_ActorSetSitMode(characterFromID("Bonnie Devlin"));

And in case "Domingo_Debriefing3", uncomment 'LAi_ActorDialogNow(Pchar, characterFromID("Bonnie Devlin"), "", 1.0);' and comment out 'LAi_ActorDialog(characterFromID("Bonnie Devlin"), Pchar, "", 0.5, 0);'.

That's how it's done in "PROGRAM\QUESTS\quests_side.c", case "speak_with_Mergilo", where you sit at a table to talk to the captain of the Montanez in "Strange Things Going On in the Caribbean":
Code:
LAi_SetActorType(pchar);
LAi_ActorSetSitMode(pchar);
LAi_SetSitType(characterFromID("Mergildo Hurtado"));
LAi_ActorDialogNow(pchar, characterFromID("Mergildo Hurtado"), "", 1.0);
 
Here are the sound files. Eufony didn't take them so I guess your Eufony is as good/(bad) as mine.
I opened them in Audacity and saved them as .wav and that worked. Hope this Audacity will work for you too.
 

Attachments

  • voices fixed.7z
    117.5 KB · Views: 67
  • Audacity program.7z
    2 MB · Views: 64
Thanks so much. Yes when I checked the whole voice folder with eufony, there were only a few files that the program couldn't convert or even play, but for some reason it couldn't do most of my new ones. Everything works now. :bow
 
Chapter 3/5 (or if you count the little bit up to Martinica and the final bit to wrap everything up: 4/7) is taking shape! And with every chapter it's getting more time consuming, especially to code but hopefully also to play.

Soon I'll have to think about making quest maps examinable. Hopefully this won't be too hard since it's basically four times the archipelago map with some additional stuff drawn onto it, so I guess there's some texture I'll need to convert a hundred times to make the stuff in Adobe, convert it back and do some item coding for the "Examine" buttons.
 
@BathtubPirate: Here are my new files for the dining room. There are improved lighting files, especially for night. New locator files "Dining_room_locators_GR.gm" and "Dining_room_Nlocators_GR.gm" add locator "goto2" near the drinks table and move all the "sit" locators a little back in the chair. The difference is that "Dining_room_Nlocators_GR.gm" includes all the candle locators to light up the chandelier while "Dining_room_locators_GR.gm" does not, so you can use one for day and one for night. Not included are @Jack Rackham's "randitem" locators as I don't need them, but if you want, I can add one or more of them. One is for a second door, another is for a hatch in the ceiling, and a third is for a rope dangling from that hatch.

But the most important change is a replacement "Dining_room_patch.ptc" provided by @Myth here:
Need Help - Tavern From Potc in Coas
The existing version has a problem; anyone placed on a "sit" locator has his feet on the table and the rest of him floating above. The replacement allows characters placed on the "sit" locators to sit properly by the table.
 

Attachments

  • Dining_room.zip
    76.6 KB · Views: 71
Nice to have, but I don't have any super-specific ideas to use it right now. Maybe that rewrite for Martinica if I get a good idea for that.
 
Soon I'll have to think about making quest maps examinable. Hopefully this won't be too hard since it's basically four times the archipelago map with some additional stuff drawn onto it, so I guess there's some texture I'll need to convert a hundred times to make the stuff in Adobe, convert it back and do some item coding for the "Examine" buttons.
@Jack Rackham do you have a tip how to start on this?
 
Maps have an examine button by default.

For an example of quest maps:

Search initItems.c for "mapBB3".
The picture of this map is placed in INTERFACES\items_maps2.tga. Many empty slots here - use them if you want.
What you see when you examine the map is placed in INTERFACES\Maps mapBB3.
The description is in the itemsdescribe file for your storyline like any questitem.
 
Ah, so I have to make the quest items into map items? But the cryptogram in Gold-Bug and the engineer letter are quest items, aren't they?

Which map texture from INTERFACES\Maps would I need to copy, convert and add my additions to? map.tga or map_scaled.tga? The latter seems a bit weird, I have never seen it in game. I just need to make copies of the standard archipelago map with some crosses and stuff drawn onto.

For the inventory pictures, I'll probably keep ItemsBTP number 8 (for the completed map, previously two separate parts from itemsBTP2) and ItemsBTP number 10.

Hopefully what I want to do is not too similar to something you have already done (still not finished with Woodes Rogers 2, shame on me, but I'm working on it).
 
so I have to make the quest items into map item
No that's not what I meant. But you asked about quest maps.

For any other quest items that should have an examine button you have to make them
EXAMINE_ITEM_TYPE. Search in initItems.c for how and where that is done.
crypto1 is such an item (GoldBug).
 
No that's not what I meant. But you asked about quest maps.
Yes, sorry, I wasn't even thinking about maps as in the map sub-inventory, I called them so because the objects are obviously maps, but so far they have just been quest items. It doesn't make a difference in which sub-inventory they end up, but personally I would first look for a quest-related object under quest items, even if it's a map, and only use the map inventory for island maps I bought. I'll try to make an examine button tonight, and then make textures for when you examine it.
 
Which map texture from INTERFACES\Maps would I need to copy, convert and add my additions to? map.tga or map_scaled.tga? The latter seems a bit weird, I have never seen it in game. I just need to make copies of the standard archipelago map with some crosses and stuff drawn onto
Both. "map.tga" is the normal version, "map_scaled.tga" is for people who play with the Open Seas mod enabled. You'd need to figure out how to make quest code check whether the player is using Open Seas and display the correct version.

Alternatively, leave the archipelago map alone and make quest versions of the individual island maps such as "mapHispaniola.tga". They're not dependent on Open Seas. And because they're larger scale, you can place your red crosses and other stuff more precisely.
 
Both. "map.tga" is the normal version, "map_scaled.tga" is for people who play with the Open Seas mod enabled. You'd need to figure out how to make quest code check whether the player is using Open Seas and display the correct version.

Alternatively, leave the archipelago map alone and make quest versions of the individual island maps such as "mapHispaniola.tga". They're not dependent on Open Seas. And because they're larger scale, you can place your red crosses and other stuff more precisely.
The idea is: You get half a map at the beginning, retrieve the second half from Rocoso Balboa one way or another and glue them together. This map has three places marked all over the caribbean with a person's name next to each cross. So you look for these people at these places (for now only in one order, could maybe later be upgraded to allow for every order, but that's not a priority). Each place/person leads to a quest, one as Beatrice (basically finished), one as Blaze, one as Bonnie. And with every quest, you get one more archipelago map, each with five places/islands marked. When you have all three of these, it shows that every place/island is featured on two of the three maps, and only one is on all three. This is where you need to go.

Doing something with individual island maps would require a different concept, and as for crosses on an archipelago map not being very precise, I can think of workarounds. So if such a check for Opean Sea mod exists, it should be easy, the check could e.g. determine whether you get a version of the item with an "examine" texture based on the normal map, or an identical item but with an "examine" texture based on the scaled map. Doubling the amount of customised map textures shouldn't be a problem either.
 
Here, if you want it:

Code:
n = InitQuestItem(n,"glue",        "glue",            "",     "JRH3",    15,    0,0,    "","",    "","",    "","",""); //glue
 
Thanks, I don't think I need it for the moment. :onya

I'm first trying to let the examinable item stay a quest item, not a map and made it in EXAMINE_ITEM_TYPE. Following "crypto1" I found PROGRAM\INTERFACE\items.c for sounds and other additional events upon examination. Copied the archipelago map texture and renamed it like my item and it seems to work. I only need to convert the map textures and make my additions in Adobe, plus find that check for Open seas mod ideally.
 
I've explored Cayman / Las Tortugas and found out how it's structured. There are three beaches.

Cayman Kai, connected to the town's port and a cave
Sand Bluff, connected to two jungle houses (copy of Eastwood's and Rheims' house respectively)
Eden Rock, connected to fort and town outskirts.

The three are not connected to each other except for Cayman Kai's and Eden Rock's connection through the town.

For my next part I need a jungle locations connected to
-one beach where you can moor
-a second beach (no mooring from sea necessary)
-a wooden fort (Pirate fort Douwesen)
-a house (Rheims)
-connected to town

I'm inclined to just add some quest intersections to the jungle between Eden Rock and the town for a quest beach, a wooden fort and the house. Another option would maybe be to redirect some reload locators so that Sand Bluff and Eden Rock are connected in this storyline, and use the Rheims house that's already there. But the house at Sand Bluff has these ugly bushes.
 
Might it not be a lot easier just to use Bonaire (Isla do Palo Brasil) instead of Cayman? It already has everything you need.

The check for Open Seas mod should be this:
Code:
if(iRealismMode>1 || OPEN_SEA_MOD)
That also checks if the player is using "Iron Man" mode, which also forces the larger worldmap. (Function 'InitOpenSeaMod()' in "NK.c" uses this condition to set a lot of variables depending on whether the Open Seas mod is active.)
 
Back
Top