Some character editor changes:

- Move Own Boats/Horses to Scenario menu
- Disable Scenario menu if not in a scenario
- Don't bother converting notes from legacy saves if not in a scenario (affects game too)
This commit is contained in:
2015-06-27 02:08:15 -04:00
parent 2397c540ab
commit dafe6c2790
7 changed files with 40 additions and 50 deletions

View File

@@ -379,14 +379,6 @@
<reference key="NSOnImage" ref="229763992"/>
<reference key="NSMixedImage" ref="909111550"/>
</object>
<object class="NSMenuItem" id="807827245">
<reference key="NSMenu" ref="551880289"/>
<string key="NSTitle">Own All Boats/Horses</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="229763992"/>
<reference key="NSMixedImage" ref="909111550"/>
</object>
</array>
<bool key="NSNoAutoenable">YES</bool>
</object>
@@ -452,6 +444,14 @@
<reference key="NSOnImage" ref="229763992"/>
<reference key="NSMixedImage" ref="909111550"/>
</object>
<object class="NSMenuItem" id="807827245">
<reference key="NSMenu" ref="779223651"/>
<string key="NSTitle">Own All Boats/Horses</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="229763992"/>
<reference key="NSMixedImage" ref="909111550"/>
</object>
<object class="NSMenuItem" id="196058737">
<reference key="NSMenu" ref="779223651"/>
<bool key="NSIsDisabled">YES</bool>
@@ -823,7 +823,6 @@
<reference ref="619546963"/>
<reference ref="607085164"/>
<reference ref="35616607"/>
<reference ref="807827245"/>
<reference ref="885300113"/>
<reference ref="426558583"/>
<reference ref="119197894"/>
@@ -896,6 +895,7 @@
<reference ref="528940421"/>
<reference ref="556155026"/>
<reference ref="892605041"/>
<reference ref="807827245"/>
</array>
<reference key="parent" ref="416266767"/>
</object>
@@ -993,11 +993,6 @@
<reference key="object" ref="35616607"/>
<reference key="parent" ref="551880289"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">817</int>
<reference key="object" ref="807827245"/>
<reference key="parent" ref="551880289"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">813</int>
<reference key="object" ref="528940421"/>
@@ -1043,6 +1038,11 @@
<reference key="object" ref="56062367"/>
<reference key="parent" ref="551880289"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">817</int>
<reference key="object" ref="807827245"/>
<reference key="parent" ref="779223651"/>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">

View File

@@ -22,6 +22,5 @@ The Tower of Magi timer is not currently running, so this will have no effect.
You now have a bit more time before the Tower of Magi timer runs out. This time can be used to accumulate potions, train, and do other things to help you survive. Note that the Tower of Magi messages will eventually repeat themselves.
If your characters became addicted to Skribbane herb, the addiction is now cured.
You are now able to see all dungeons and towns, whether or not someone has told you about them.
You can only use this feature if the current party is in a scenario.

View File

@@ -90,7 +90,6 @@ BEGIN
MENUITEM "Edit XP", IDM_PARTY_XP
MENUITEM SEPARATOR
MENUITEM "Reunite Party", IDM_PARTY_REUNITE
MENUITEM "Own All Boats/Horses", IDM_PARTY_VEHICLES
END
POPUP "&Scenario Editing"
BEGIN
@@ -100,6 +99,7 @@ BEGIN
MENUITEM "Make Towns Forget You", IDM_SCEN_TOWN_RESET
MENUITEM "Add All Town Maps", IDM_SCEN_TOWN_MAP
MENUITEM "Add All Outdoor Maps", IDM_SCEN_OUT_MAP
MENUITEM "Own All Boats/Horses", IDM_PARTY_VEHICLES
MENUITEM SEPARATOR
MENUITEM "Remove Party From Scenario", IDM_SCEN_LEAVE
MENUITEM "Set Stuff Done Flag", IDM_SCEN_SDF

View File

@@ -115,20 +115,22 @@ void cParty::append(legacy::party_record_type& old){
// journal.push_back(j);
// spec_items[i] = old.spec_items[i];
// }
special_notes.reserve(140);
for(i = 0; i < 140; i++){
if(old.special_notes_str[i][0] <= 0) continue;
cEncNote n;
n.append(old.special_notes_str[i], univ.scenario);
special_notes.push_back(n);
}
talk_save.reserve(120);
for(i = 0; i < 120; i++){
cConvers t;
t.append(old.talk_save[i], univ.scenario);
talk_save.push_back(t);
if(old.help_received[i])
help_received.insert(i);
if(!scen_name.empty()) {
special_notes.reserve(140);
for(i = 0; i < 140; i++){
if(old.special_notes_str[i][0] <= 0) continue;
cEncNote n;
n.append(old.special_notes_str[i], univ.scenario);
special_notes.push_back(n);
}
talk_save.reserve(120);
for(i = 0; i < 120; i++){
cConvers t;
t.append(old.talk_save[i], univ.scenario);
talk_save.push_back(t);
if(old.help_received[i])
help_received.insert(i);
}
}
direction = eDirection(old.direction);
at_which_save_slot = old.at_which_save_slot;

View File

@@ -257,13 +257,10 @@ void handle_menu_choice(eMenu item_hit) {
break;
case eMenu::LEAVE_SCENARIO:
if(!party_in_scen) {
display_strings(25,15);
break;
}
if(cChoiceDlog("leave-scenario",{"okay","cancel"}).show() != "okay")
break;
remove_party_from_scen();
menu_activate();
break;
case eMenu::EDIT_ALCHEMY:
display_alchemy(true);
@@ -279,10 +276,6 @@ void handle_menu_choice(eMenu item_hit) {
edit_day();
break;
case eMenu::ADD_OUT_MAPS:
if(!party_in_scen) {
display_strings(25,15);
break;
}
display_strings(13,15);
for(i = 0; i < 100; i++)
for(j = 0; j < 6; j++)
@@ -290,10 +283,6 @@ void handle_menu_choice(eMenu item_hit) {
univ.out_maps[i][j][k] = 255;
break;
case eMenu::ADD_TOWN_MAPS:
if(!party_in_scen) {
display_strings(25,15);
break;
}
display_strings(14,15);
for(i = 0; i < 200; i++)
for(j = 0; j < 8; j++)

View File

@@ -19,7 +19,7 @@ using MenuHandle = NSMenu*;
extern cUniverse univ;
extern fs::path file_in_mem;
extern bool scen_items_loaded;
extern bool scen_items_loaded, party_in_scen;
MenuHandle menu_bar_handle;
MenuHandle apple_menu, file_menu, reg_menu, extra_menu, items_menu[4];
@@ -65,10 +65,10 @@ void init_menubar() {
eMenu::EDIT_GOLD, eMenu::EDIT_FOOD, eMenu::EDIT_ALCHEMY, eMenu::NONE,
eMenu::HEAL_DAMAGE, eMenu::RESTORE_MANA, eMenu::RAISE_DEAD, eMenu::CURE_CONDITIONS, eMenu::NONE,
eMenu::EDIT_MAGE, eMenu::EDIT_PRIEST, eMenu::EDIT_TRAITS, eMenu::EDIT_SKILLS, eMenu::EDIT_XP, eMenu::NONE,
eMenu::REUNITE_PARTY, eMenu::OWN_VEHICLES,
eMenu::REUNITE_PARTY,
};
static const eMenu scen_choices[] = {
eMenu::EDIT_DAY, eMenu::NONE, eMenu::LEAVE_TOWN, eMenu::RESET_TOWNS, eMenu::ADD_OUT_MAPS, eMenu::ADD_TOWN_MAPS,
eMenu::EDIT_DAY, eMenu::NONE, eMenu::LEAVE_TOWN, eMenu::RESET_TOWNS, eMenu::ADD_OUT_MAPS, eMenu::ADD_TOWN_MAPS, eMenu::OWN_VEHICLES,
eMenu::NONE, eMenu::LEAVE_SCENARIO, eMenu::SET_SDF,
};
@@ -101,7 +101,7 @@ void menu_activate() {
for(int i = 3; i < [file_menu numberOfItems]; i++)
[[file_menu itemAtIndex: i] setEnabled: YES];
[[menu_bar_handle itemWithTitle: @"Edit Party"] setEnabled: YES];
[[menu_bar_handle itemWithTitle: @"Scenario Edit"] setEnabled: YES];
[[menu_bar_handle itemWithTitle: @"Scenario Edit"] setEnabled: party_in_scen];
}
}

View File

@@ -22,7 +22,7 @@ enum {
extern sf::RenderWindow mainPtr;
extern cUniverse univ;
extern bool scen_items_loaded;
extern bool scen_items_loaded, party_in_scen;
extern fs::path file_in_mem;
LONG_PTR mainProc;
HMENU menuHandle = NULL;
@@ -79,10 +79,10 @@ void init_menubar() {
eMenu::EDIT_GOLD, eMenu::EDIT_FOOD, eMenu::EDIT_ALCHEMY, eMenu::NONE,
eMenu::HEAL_DAMAGE, eMenu::RESTORE_MANA, eMenu::RAISE_DEAD, eMenu::CURE_CONDITIONS, eMenu::NONE,
eMenu::EDIT_MAGE, eMenu::EDIT_PRIEST, eMenu::EDIT_TRAITS, eMenu::EDIT_SKILLS, eMenu::EDIT_XP, eMenu::NONE,
eMenu::REUNITE_PARTY, eMenu::OWN_VEHICLES,
eMenu::REUNITE_PARTY,
};
static const eMenu scen_choices[] = {
eMenu::EDIT_DAY, eMenu::NONE, eMenu::LEAVE_TOWN, eMenu::RESET_TOWNS, eMenu::ADD_OUT_MAPS, eMenu::ADD_TOWN_MAPS,
eMenu::EDIT_DAY, eMenu::NONE, eMenu::LEAVE_TOWN, eMenu::RESET_TOWNS, eMenu::ADD_OUT_MAPS, eMenu::ADD_TOWN_MAPS, eMenu::OWN_VEHICLES,
eMenu::NONE, eMenu::LEAVE_SCENARIO, eMenu::SET_SDF,
};
static const eMenu help_choices[] = {
@@ -142,7 +142,7 @@ void menu_activate() {
EnableMenuItem(file_menu, i, MF_BYPOSITION | MF_GRAYED);
} else {
EnableMenuItem(menuHandle, PARTY_MENU_POS, MF_BYPOSITION | MF_ENABLED);
EnableMenuItem(menuHandle, SCEN_MENU_POS, MF_BYPOSITION | MF_ENABLED);
EnableMenuItem(menuHandle, SCEN_MENU_POS, MF_BYPOSITION | (party_in_scen ? MF_ENABLED : MF_GRAYED));
for(int i = 1; i < GetMenuItemCount(file_menu) - 1; i++)
EnableMenuItem(file_menu, i, MF_BYPOSITION | MF_ENABLED);
}