Pokered Save Editor 2
Pokemon Red & Blue save file editor - Qt 6 C++/QML
Toggle main menu visibility
Loading...
Searching...
No Matches
bridge.cpp
Go to the documentation of this file.
1
/*
2
* Copyright 2020 Twilight
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
22
23
#include "
./bridge.h
"
24
#include <
pse-savefile/savefile.h
>
25
#include <
pse-savefile/expanded/savefileexpanded.h
>
26
#include <
pse-savefile/expanded/area/area.h
>
27
#include <
pse-savefile/expanded/area/areamap.h
>
28
#include <
pse-savefile/expanded/player/player.h
>
29
#include <
pse-savefile/expanded/player/playerpokedex.h
>
30
#include <
pse-savefile/expanded/storage.h
>
31
#include <
pse-savefile/expanded/fragments/itemstoragebox.h
>
32
33
Bridge::Bridge
(
FileManagement
*
file
)
34
:
file
(
file
),
35
recentFilesModel
(new
RecentFilesModel
(
file
)),
36
pokedexModel
(new
PokedexModel
(
file
->data->dataExpanded->player->pokedex,
router
)),
37
bagItemsModel
(new
ItemStorageModel
(
file
->data->dataExpanded->player->items,
router
)),
38
pcItemsModel
(new
ItemStorageModel
(
file
->data->dataExpanded->storage->items,
router
)),
39
itemOverviewModel
(new
ItemOverviewModel
(
file
->data->dataExpanded->player->items,
file
->data->dataExpanded->storage->items)),
40
pokemonOverviewModel
(new
PokemonOverviewModel
(
file
->data->dataExpanded->player->pokemon,
file
->data->dataExpanded->storage,
file
->data->dataExpanded->player->basics)),
41
marketModel
(new
ItemMarketModel
(
42
file
->data->dataExpanded->player->items,
43
file
->data->dataExpanded->storage->items,
44
file
->data->dataExpanded->player->basics,
45
router
,
46
file
->data->dataExpanded->player->pokemon,
47
file
->data->dataExpanded->storage,
48
file
->data
49
)),
50
marketCartModel
(new
ItemMarketCartModel
(
marketModel
)),
51
marketViewModel
(new
ItemMarketViewModel
(
marketModel
)),
52
pokemonStorageModel1
(new
PokemonStorageModel
(
router
,
file
->data->dataExpanded->storage,
file
->data->dataExpanded->player->pokemon)),
53
pokemonStorageModel2
(new
PokemonStorageModel
(
router
,
file
->data->dataExpanded->storage,
file
->data->dataExpanded->player->pokemon)),
54
mapSelectModel
(new
MapSelectModel
(
file
->data->dataExpanded->area->map))
55
{
56
// Link the two
57
pokemonStorageModel1
->otherModel =
pokemonStorageModel2
;
58
pokemonStorageModel2
->otherModel =
pokemonStorageModel1
;
59
60
// Link the two item models too (for drag-to-transfer between the bag and the
61
// PC item box).
62
bagItemsModel
->otherModel =
pcItemsModel
;
63
pcItemsModel
->otherModel =
bagItemsModel
;
64
65
// Switch the second half to box 0, the two halves don't need to show the same
66
// box
67
pokemonStorageModel2
->switchBox(0);
68
69
// Setup paired select boxes after storage models are created and init
70
pokemonBoxSelectModel1
=
new
PokemonBoxSelectModel
(
pokemonStorageModel1
);
71
pokemonBoxSelectModel2
=
new
PokemonBoxSelectModel
(
pokemonStorageModel2
);
72
}
area.h
areamap.h
bridge.h
Bridge::pokemonStorageModel2
PokemonStorageModel * pokemonStorageModel2
Definition
bridge.h:174
Bridge::marketModel
ItemMarketModel * marketModel
Definition
bridge.h:170
Bridge::bagItemsModel
ItemStorageModel * bagItemsModel
Definition
bridge.h:166
Bridge::itemOverviewModel
ItemOverviewModel * itemOverviewModel
Definition
bridge.h:168
Bridge::marketViewModel
ItemMarketViewModel * marketViewModel
Definition
bridge.h:172
Bridge::marketCartModel
ItemMarketCartModel * marketCartModel
Definition
bridge.h:171
Bridge::file
FileManagement * file
Definition
bridge.h:149
Bridge::pokemonStorageModel1
PokemonStorageModel * pokemonStorageModel1
Definition
bridge.h:173
Bridge::pokemonOverviewModel
PokemonOverviewModel * pokemonOverviewModel
Definition
bridge.h:169
Bridge::router
Router * router
Definition
bridge.h:154
Bridge::Bridge
Bridge(FileManagement *file)
Definition
bridge.cpp:33
Bridge::recentFilesModel
RecentFilesModel * recentFilesModel
Definition
bridge.h:164
Bridge::pokemonBoxSelectModel2
PokemonBoxSelectModel * pokemonBoxSelectModel2
Definition
bridge.h:176
Bridge::pokemonBoxSelectModel1
PokemonBoxSelectModel * pokemonBoxSelectModel1
Definition
bridge.h:175
Bridge::mapSelectModel
MapSelectModel * mapSelectModel
Definition
bridge.h:185
Bridge::pcItemsModel
ItemStorageModel * pcItemsModel
Definition
bridge.h:167
Bridge::pokedexModel
PokedexModel * pokedexModel
Definition
bridge.h:165
FileManagement
Owns the on-disk side of a save: the current path, the recent-files list, and the live SaveFile.
Definition
filemanagement.h:46
ItemMarketCartModel
The "cart" view of ItemMarketModel – only the rows actually on the cart.
Definition
itemmarketcartmodel.h:40
ItemMarketModel
The Poke-mart / Game Corner "market" model – buy and sell with a cart.
Definition
itemmarketmodel.h:45
ItemMarketViewModel
The left-list VIEW of ItemMarketModel – the Buy or Sell slice.
Definition
itemmarketviewmodel.h:38
ItemOverviewModel
Read-only "where are my items" overview for the Bag screen's View All pane.
Definition
itemoverviewmodel.h:38
ItemStorageModel
Editable list model for an item box (the bag or a PC item box).
Definition
itemstoragemodel.h:39
MapSelectModel
Map picker model, tied to the current AreaMap.
Definition
mapselectmodel.h:40
PokedexModel
The Pokedex grid model – seen/owned state, with cycling sort orders.
Definition
pokedexmodel.h:44
PokemonBoxSelectModel
The "which PC box" selector model (Party + 12 boxes).
Definition
pokemonboxselectmodel.h:37
PokemonOverviewModel
Read-only "where are my Pokemon" overview for the Pokemon screen's View All pane – the Pokemon analog...
Definition
pokemonoverviewmodel.h:51
PokemonStorageModel
Editable list model for a PC box (or the party), with checkbox selection.
Definition
pokemonstoragemodel.h:49
RecentFilesModel
Recent-files list model for the start screen.
Definition
recentfilesmodel.h:30
itemstoragebox.h
player.h
playerpokedex.h
savefile.h
savefileexpanded.h
storage.h
projects
app
src
bridge
bridge.cpp
Generated by
1.17.0