|
12 | 12 | #include <editing/_scenes/level/lvl_scene.h> |
13 | 13 | #include <editing/_scenes/world/wld_scene.h> |
14 | 14 | #include <common_features/main_window_ptr.h> |
| 15 | +#include <main_window/dock/lvl_warp_props.h> |
15 | 16 |
|
16 | 17 | #include <editing/_components/history/item_searcher.h> |
17 | 18 |
|
@@ -170,6 +171,7 @@ void HistoryElementItemSetting::processLevelUndo() |
170 | 171 | return; |
171 | 172 |
|
172 | 173 | ItemSearcher levelSearcher; |
| 174 | + bool syncWarpsDialogue = false; |
173 | 175 |
|
174 | 176 | if(m_modLevelSetting == HistorySettings::SETTING_INVISIBLE) |
175 | 177 | { |
@@ -231,56 +233,67 @@ void HistoryElementItemSetting::processLevelUndo() |
231 | 233 | { |
232 | 234 | levelSearcher.setFindFilter(ItemTypes::LVL_S_Door); |
233 | 235 | connect(&levelSearcher, SIGNAL(foundDoor(LevelDoor, QGraphicsItem *)), this, SLOT(historyUndoSettingsTwoWayDoors(LevelDoor, QGraphicsItem *))); |
| 236 | + syncWarpsDialogue = true; |
234 | 237 | } |
235 | 238 | else if(m_modLevelSetting == HistorySettings::SETTING_NOVEHICLE) |
236 | 239 | { |
237 | 240 | levelSearcher.setFindFilter(ItemTypes::LVL_S_Door); |
238 | 241 | connect(&levelSearcher, SIGNAL(foundDoor(LevelDoor, QGraphicsItem *)), this, SLOT(historyUndoSettingsNoVehiclesDoors(LevelDoor, QGraphicsItem *))); |
| 242 | + syncWarpsDialogue = true; |
239 | 243 | } |
240 | 244 | else if(m_modLevelSetting == HistorySettings::SETTING_ALLOWNPC) |
241 | 245 | { |
242 | 246 | levelSearcher.setFindFilter(ItemTypes::LVL_S_Door); |
243 | 247 | connect(&levelSearcher, SIGNAL(foundDoor(LevelDoor, QGraphicsItem *)), this, SLOT(historyUndoSettingsAllowNPCDoors(LevelDoor, QGraphicsItem *))); |
| 248 | + syncWarpsDialogue = true; |
244 | 249 | } |
245 | 250 | else if(m_modLevelSetting == HistorySettings::SETTING_ALLOWNPC_IL) |
246 | 251 | { |
247 | 252 | levelSearcher.setFindFilter(ItemTypes::LVL_S_Door); |
248 | 253 | connect(&levelSearcher, SIGNAL(foundDoor(LevelDoor, QGraphicsItem *)), this, SLOT(historyUndoSettingsAllowNPCILDoors(LevelDoor, QGraphicsItem *))); |
| 254 | + syncWarpsDialogue = true; |
249 | 255 | } |
250 | 256 | else if(m_modLevelSetting == HistorySettings::SETTING_LOCKED) |
251 | 257 | { |
252 | 258 | levelSearcher.setFindFilter(ItemTypes::LVL_S_Door); |
253 | 259 | connect(&levelSearcher, SIGNAL(foundDoor(LevelDoor, QGraphicsItem *)), this, SLOT(historyUndoSettingsLockedDoors(LevelDoor, QGraphicsItem *))); |
| 260 | + syncWarpsDialogue = true; |
254 | 261 | } |
255 | 262 | else if(m_modLevelSetting == HistorySettings::SETTING_NEED_A_BOMB) |
256 | 263 | { |
257 | 264 | levelSearcher.setFindFilter(ItemTypes::LVL_S_Door); |
258 | 265 | connect(&levelSearcher, SIGNAL(foundDoor(LevelDoor, QGraphicsItem *)), this, SLOT(historyUndoSettingsBombNeedDoors(LevelDoor, QGraphicsItem *))); |
| 266 | + syncWarpsDialogue = true; |
259 | 267 | } |
260 | 268 | else if(m_modLevelSetting == HistorySettings::SETTING_HIDE_STAR_NUMBER) |
261 | 269 | { |
262 | 270 | levelSearcher.setFindFilter(ItemTypes::LVL_S_Door); |
263 | 271 | connect(&levelSearcher, SIGNAL(foundDoor(LevelDoor, QGraphicsItem *)), this, SLOT(historyUndoSettingsHideStarNumDoors(LevelDoor, QGraphicsItem *))); |
| 272 | + syncWarpsDialogue = true; |
264 | 273 | } |
265 | 274 | else if(m_modLevelSetting == HistorySettings::SETTING_ENABLE_CANNON) |
266 | 275 | { |
267 | 276 | levelSearcher.setFindFilter(ItemTypes::LVL_S_Door); |
268 | 277 | connect(&levelSearcher, SIGNAL(foundDoor(LevelDoor, QGraphicsItem *)), this, SLOT(historyUndoSettingsEnCannonDoors(LevelDoor, QGraphicsItem *))); |
| 278 | + syncWarpsDialogue = true; |
269 | 279 | } |
270 | 280 | else if(m_modLevelSetting == HistorySettings::SETTING_W_SPECIAL_STATE_REQUIRED) |
271 | 281 | { |
272 | 282 | levelSearcher.setFindFilter(ItemTypes::LVL_S_Door); |
273 | 283 | connect(&levelSearcher, SIGNAL(foundDoor(LevelDoor, QGraphicsItem *)), this, SLOT(historyUndoSettingsSpecialStateReqDoors(LevelDoor, QGraphicsItem *))); |
| 284 | + syncWarpsDialogue = true; |
274 | 285 | } |
275 | 286 | else if(m_modLevelSetting == HistorySettings::SETTING_W_NEEDS_FLOOR) |
276 | 287 | { |
277 | 288 | levelSearcher.setFindFilter(ItemTypes::LVL_S_Door); |
278 | 289 | connect(&levelSearcher, SIGNAL(foundDoor(LevelDoor, QGraphicsItem *)), this, SLOT(historyUndoSettingsStoodReqDoors(LevelDoor, QGraphicsItem *))); |
| 290 | + syncWarpsDialogue = true; |
279 | 291 | } |
280 | 292 | else if(m_modLevelSetting == HistorySettings::SETTING_HIDE_LEVEL_ENTER_SCENE) |
281 | 293 | { |
282 | 294 | levelSearcher.setFindFilter(ItemTypes::LVL_S_Door); |
283 | 295 | connect(&levelSearcher, SIGNAL(foundDoor(LevelDoor, QGraphicsItem *)), this, SLOT(historyUndoSettingsHideLvlEntSceneDoors(LevelDoor, QGraphicsItem *))); |
| 296 | + syncWarpsDialogue = true; |
284 | 297 | } |
285 | 298 | else if(m_modLevelSetting == HistorySettings::SETTING_GENACTIVATE) |
286 | 299 | { |
@@ -369,6 +382,9 @@ void HistoryElementItemSetting::processLevelUndo() |
369 | 382 | } |
370 | 383 |
|
371 | 384 | levelSearcher.find(m_modLevelData, lvlScene); |
| 385 | + |
| 386 | + if(syncWarpsDialogue) |
| 387 | + MainWinConnect::pMainWin->dock_LvlWarpProps->setDoorData(-2); |
372 | 388 | } |
373 | 389 |
|
374 | 390 | void HistoryElementItemSetting::processWorldRedo() |
@@ -440,6 +456,7 @@ void HistoryElementItemSetting::processLevelRedo() |
440 | 456 | return; |
441 | 457 |
|
442 | 458 | ItemSearcher levelSearcher; |
| 459 | + bool syncWarpsDialogue = false; |
443 | 460 |
|
444 | 461 | if(m_modLevelSetting == HistorySettings::SETTING_INVISIBLE) |
445 | 462 | { |
@@ -501,56 +518,67 @@ void HistoryElementItemSetting::processLevelRedo() |
501 | 518 | { |
502 | 519 | levelSearcher.setFindFilter(ItemTypes::LVL_S_Door); |
503 | 520 | connect(&levelSearcher, SIGNAL(foundDoor(LevelDoor, QGraphicsItem *)), this, SLOT(historyRedoSettingsTwoWayDoors(LevelDoor, QGraphicsItem *))); |
| 521 | + syncWarpsDialogue = true; |
504 | 522 | } |
505 | 523 | else if(m_modLevelSetting == HistorySettings::SETTING_NOVEHICLE) |
506 | 524 | { |
507 | 525 | levelSearcher.setFindFilter(ItemTypes::LVL_S_Door); |
508 | 526 | connect(&levelSearcher, SIGNAL(foundDoor(LevelDoor, QGraphicsItem *)), this, SLOT(historyRedoSettingsNoVehiclesDoors(LevelDoor, QGraphicsItem *))); |
| 527 | + syncWarpsDialogue = true; |
509 | 528 | } |
510 | 529 | else if(m_modLevelSetting == HistorySettings::SETTING_ALLOWNPC) |
511 | 530 | { |
512 | 531 | levelSearcher.setFindFilter(ItemTypes::LVL_S_Door); |
513 | 532 | connect(&levelSearcher, SIGNAL(foundDoor(LevelDoor, QGraphicsItem *)), this, SLOT(historyRedoSettingsAllowNPCDoors(LevelDoor, QGraphicsItem *))); |
| 533 | + syncWarpsDialogue = true; |
514 | 534 | } |
515 | 535 | else if(m_modLevelSetting == HistorySettings::SETTING_ALLOWNPC_IL) |
516 | 536 | { |
517 | 537 | levelSearcher.setFindFilter(ItemTypes::LVL_S_Door); |
518 | 538 | connect(&levelSearcher, SIGNAL(foundDoor(LevelDoor, QGraphicsItem *)), this, SLOT(historyRedoSettingsAllowNPCILDoors(LevelDoor, QGraphicsItem *))); |
| 539 | + syncWarpsDialogue = true; |
519 | 540 | } |
520 | 541 | else if(m_modLevelSetting == HistorySettings::SETTING_LOCKED) |
521 | 542 | { |
522 | 543 | levelSearcher.setFindFilter(ItemTypes::LVL_S_Door); |
523 | 544 | connect(&levelSearcher, SIGNAL(foundDoor(LevelDoor, QGraphicsItem *)), this, SLOT(historyRedoSettingsLockedDoors(LevelDoor, QGraphicsItem *))); |
| 545 | + syncWarpsDialogue = true; |
524 | 546 | } |
525 | 547 | else if(m_modLevelSetting == HistorySettings::SETTING_NEED_A_BOMB) |
526 | 548 | { |
527 | 549 | levelSearcher.setFindFilter(ItemTypes::LVL_S_Door); |
528 | 550 | connect(&levelSearcher, SIGNAL(foundDoor(LevelDoor, QGraphicsItem *)), this, SLOT(historyRedoSettingsBombNeedDoors(LevelDoor, QGraphicsItem *))); |
| 551 | + syncWarpsDialogue = true; |
529 | 552 | } |
530 | 553 | else if(m_modLevelSetting == HistorySettings::SETTING_HIDE_STAR_NUMBER) |
531 | 554 | { |
532 | 555 | levelSearcher.setFindFilter(ItemTypes::LVL_S_Door); |
533 | 556 | connect(&levelSearcher, SIGNAL(foundDoor(LevelDoor, QGraphicsItem *)), this, SLOT(historyRedoSettingsHideStarNumDoors(LevelDoor, QGraphicsItem *))); |
| 557 | + syncWarpsDialogue = true; |
534 | 558 | } |
535 | 559 | else if(m_modLevelSetting == HistorySettings::SETTING_ENABLE_CANNON) |
536 | 560 | { |
537 | 561 | levelSearcher.setFindFilter(ItemTypes::LVL_S_Door); |
538 | 562 | connect(&levelSearcher, SIGNAL(foundDoor(LevelDoor, QGraphicsItem *)), this, SLOT(historyRedoSettingsEnCannonDoors(LevelDoor, QGraphicsItem *))); |
| 563 | + syncWarpsDialogue = true; |
539 | 564 | } |
540 | 565 | else if(m_modLevelSetting == HistorySettings::SETTING_W_SPECIAL_STATE_REQUIRED) |
541 | 566 | { |
542 | 567 | levelSearcher.setFindFilter(ItemTypes::LVL_S_Door); |
543 | 568 | connect(&levelSearcher, SIGNAL(foundDoor(LevelDoor, QGraphicsItem *)), this, SLOT(historyRedoSettingsSpecialStateReqDoors(LevelDoor, QGraphicsItem *))); |
| 569 | + syncWarpsDialogue = true; |
544 | 570 | } |
545 | 571 | else if(m_modLevelSetting == HistorySettings::SETTING_W_NEEDS_FLOOR) |
546 | 572 | { |
547 | 573 | levelSearcher.setFindFilter(ItemTypes::LVL_S_Door); |
548 | 574 | connect(&levelSearcher, SIGNAL(foundDoor(LevelDoor, QGraphicsItem *)), this, SLOT(historyRedoSettingsStoodReqDoors(LevelDoor, QGraphicsItem *))); |
| 575 | + syncWarpsDialogue = true; |
549 | 576 | } |
550 | 577 | else if(m_modLevelSetting == HistorySettings::SETTING_HIDE_LEVEL_ENTER_SCENE) |
551 | 578 | { |
552 | 579 | levelSearcher.setFindFilter(ItemTypes::LVL_S_Door); |
553 | 580 | connect(&levelSearcher, SIGNAL(foundDoor(LevelDoor, QGraphicsItem *)), this, SLOT(historyRedoSettingsHideLvlEntSceneDoors(LevelDoor, QGraphicsItem *))); |
| 581 | + syncWarpsDialogue = true; |
554 | 582 | } |
555 | 583 | else if(m_modLevelSetting == HistorySettings::SETTING_GENACTIVATE) |
556 | 584 | { |
@@ -639,6 +667,9 @@ void HistoryElementItemSetting::processLevelRedo() |
639 | 667 | } |
640 | 668 |
|
641 | 669 | levelSearcher.find(m_modLevelData, lvlScene); |
| 670 | + |
| 671 | + if(syncWarpsDialogue) |
| 672 | + MainWinConnect::pMainWin->dock_LvlWarpProps->setDoorData(-2); |
642 | 673 | } |
643 | 674 |
|
644 | 675 | void HistoryElementItemSetting::historyUndoSettingPathBackgroundLevel(const WorldLevelTile &sourceLevel, QGraphicsItem *item) |
|
0 commit comments