Pokered Save Editor 2
Pokemon Red & Blue save file editor - Qt 6 C++/QML
Loading...
Searching...
No Matches
db_autoport.h
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#pragma once
17#include <QtCore/qglobal.h>
18
29
34#if defined(DB_LIBRARY)
35# define DB_AUTOPORT Q_DECL_EXPORT
36#else
37# define DB_AUTOPORT Q_DECL_IMPORT
38#endif
39
40
41// ── Opaque pointer declarations ───────────────────────────────────────────────
42// Qt 6 requires Q_PROPERTY pointer types to be fully defined OR declared here.
43// All DB entry pointer types used in Q_PROPERTY across the library are
44// listed once here so they can be shared without redefinition errors.
45// The actual struct/class definitions live in their respective headers.
46
47struct MapDBEntry;
48struct MissableDBEntry;
49struct SpriteDBEntry;
50struct SpriteSetDBEntry;
51struct MusicDBEntry;
52struct TilesetDBEntry;
53struct FlyDBEntry;
54struct ScriptDBEntry;
55struct PokemonDBEntry;
56struct ItemDBEntry;
57struct MoveDBEntry;
61struct TrainerDBEntry;
62struct MapDBEntryWarpIn;
63struct MapDBEntrySprite;
64class FontSearch;
65class MapSearch;
66class NamesPlayer;
67class NamesPokemon;
68
69Q_DECLARE_OPAQUE_POINTER(MapDBEntry*)
70Q_DECLARE_OPAQUE_POINTER(MissableDBEntry*)
71Q_DECLARE_OPAQUE_POINTER(SpriteDBEntry*)
72Q_DECLARE_OPAQUE_POINTER(SpriteSetDBEntry*)
73Q_DECLARE_OPAQUE_POINTER(MusicDBEntry*)
74Q_DECLARE_OPAQUE_POINTER(TilesetDBEntry*)
75Q_DECLARE_OPAQUE_POINTER(FlyDBEntry*)
76Q_DECLARE_OPAQUE_POINTER(ScriptDBEntry*)
77Q_DECLARE_OPAQUE_POINTER(PokemonDBEntry*)
78Q_DECLARE_OPAQUE_POINTER(ItemDBEntry*)
79Q_DECLARE_OPAQUE_POINTER(MoveDBEntry*)
80Q_DECLARE_OPAQUE_POINTER(MapDBEntrySpriteItem*)
81Q_DECLARE_OPAQUE_POINTER(PokemonDBEntryEvolution*)
82Q_DECLARE_OPAQUE_POINTER(GameCornerDBEntry*)
83Q_DECLARE_OPAQUE_POINTER(TrainerDBEntry*)
84Q_DECLARE_OPAQUE_POINTER(MapDBEntryWarpIn*)
85Q_DECLARE_OPAQUE_POINTER(MapDBEntrySprite*)
86Q_DECLARE_OPAQUE_POINTER(FontSearch*)
87Q_DECLARE_OPAQUE_POINTER(MapSearch*)
88Q_DECLARE_OPAQUE_POINTER(NamesPlayer*)
89Q_DECLARE_OPAQUE_POINTER(NamesPokemon*)
A chainable filter ("finder") over the font glyphs.
Definition fontsearch.h:40
A chainable filter ("finder") over the maps – the heart of map randomization.
Definition mapsearch.h:42
Random player-name source (an AbstractRandomString of player names).
Definition namesplayer.h:34
Random Pokemon-nickname source (an AbstractRandomString of names).
One fly destination: its name/index and the map it flies to.
Definition flydbentry.h:37
One Game Corner prize: a Pokemon or item, its coin price, and level.
One item's static data: name/flags, pricing, and where it's used.
Definition itemdbentry.h:46
A map sprite that is a pick-up item (type ITEM).
A map's sprite definition – base class for the four sprite kinds.
A warp-in point: a destination spot other maps' warp-outs land on.
One map's complete static definition – the root of the MapDBEntry family.
Definition mapdbentry.h:56
One missable definition: a script/sprite that can be hidden or shown.
One move's static data (type, power, accuracy, PP, TM/HM), with links.
Definition moves.h:46
One music track: its name and bank/id, plus the maps that use it.
Definition music.h:38
One evolution edge of a species: how it evolves (and de-evolves).
Definition pokemon.h:52
One species' complete static data – the richest entry in the db layer.
Definition pokemon.h:98
One map-script definition: its id/size and which maps use it.
Definition scripts.h:40
One sprite definition: its name/picture-id and the maps that use it.
Definition sprites.h:38
One sprite-set: the pre-loaded sprite group for an outdoor area.
Definition spriteSet.h:47
One tileset definition: its type, graphics/block/collision pointers, etc.
Definition tileset.h:45
One trainer-class definition (its name/index and flags).
Definition trainers.h:38