No Description

project.h 4.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. #ifndef PROJECT_H
  2. #define PROJECT_H
  3. #include "map.h"
  4. #include "blockdata.h"
  5. #include <QStringList>
  6. #include <QList>
  7. #include <QStandardItem>
  8. class Project
  9. {
  10. public:
  11. Project();
  12. QString root;
  13. QStringList *groupNames = NULL;
  14. QMap<QString, int> *map_groups;
  15. QList<QStringList> groupedMapNames;
  16. QStringList *mapNames = NULL;
  17. QMap<QString, QString>* mapConstantsToMapNames;
  18. QMap<QString, QString>* mapNamesToMapConstants;
  19. QList<QString> mapLayoutsTable;
  20. QList<QString> mapLayoutsTableMaster;
  21. QMap<QString, MapLayout*> mapLayouts;
  22. QMap<QString, MapLayout*> mapLayoutsMaster;
  23. QStringList *regionMapSections = NULL;
  24. QStringList *itemNames = NULL;
  25. QStringList *flagNames = NULL;
  26. QStringList *varNames = NULL;
  27. QStringList *movementTypes = NULL;
  28. QStringList *mapTypes = NULL;
  29. QStringList *mapBattleScenes = NULL;
  30. QStringList *weatherNames = NULL;
  31. QStringList *coordEventWeatherNames = NULL;
  32. QStringList *secretBaseIds = NULL;
  33. QStringList *bgEventFacingDirections = NULL;
  34. QStringList mapsWithConnections;
  35. QMap<QString, Map*> *map_cache;
  36. Map* loadMap(QString);
  37. Map* getMap(QString);
  38. QMap<QString, Tileset*> *tileset_cache = NULL;
  39. Tileset* loadTileset(QString);
  40. Tileset* getTileset(QString);
  41. Blockdata* readBlockdata(QString);
  42. void loadBlockdata(Map*);
  43. QString readTextFile(QString path);
  44. void saveTextFile(QString path, QString text);
  45. void appendTextFile(QString path, QString text);
  46. void deleteFile(QString path);
  47. void readMapGroups();
  48. Map* addNewMapToGroup(QString mapName, int groupNum);
  49. QString getNewMapName();
  50. QString getProjectTitle();
  51. QList<QStringList>* getLabelMacros(QList<QStringList>*, QString);
  52. QStringList* getLabelValues(QList<QStringList>*, QString);
  53. void readMapHeader(Map*);
  54. void readMapLayoutsTable();
  55. void readAllMapLayouts();
  56. QStringList* readLayoutValues(QString layoutName);
  57. void readMapLayout(Map*);
  58. void readMapsWithConnections();
  59. void loadMapTilesets(Map*);
  60. void loadTilesetAssets(Tileset*);
  61. void saveBlockdata(Map*);
  62. void saveMapBorder(Map*);
  63. void writeBlockdata(QString, Blockdata*);
  64. void saveAllMaps();
  65. void saveMap(Map*);
  66. void saveAllDataStructures();
  67. void saveAllMapLayouts();
  68. void saveMapGroupsTable();
  69. void saveMapConstantsHeader();
  70. QList<QStringList>* parseAsm(QString text);
  71. QStringList getSongNames();
  72. QStringList getVisibilities();
  73. QMap<QString, QStringList> getTilesets();
  74. void readRegionMapSections();
  75. void readItemNames();
  76. void readFlagNames();
  77. void readVarNames();
  78. void readMovementTypes();
  79. void readMapTypes();
  80. void readMapBattleScenes();
  81. void readWeatherNames();
  82. void readCoordEventWeatherNames();
  83. void readSecretBaseIds();
  84. void readBgEventFacingDirections();
  85. void loadEventPixmaps(QList<Event*> objects);
  86. QMap<QString, int> getEventObjGfxConstants();
  87. QString fixGraphicPath(QString path);
  88. void readMapEvents(Map *map);
  89. void loadMapConnections(Map *map);
  90. void loadMapBorder(Map *map);
  91. void saveMapEvents(Map *map);
  92. QStringList readCArray(QString text, QString label);
  93. QString readCIncbin(QString text, QString label);
  94. QMap<QString, int> readCDefines(QString text, QStringList prefixes);
  95. private:
  96. QString getMapLayoutsTableFilepath();
  97. QString getMapLayoutFilepath(QString);
  98. void saveMapHeader(Map*);
  99. void saveMapConnections(Map*);
  100. void updateMapsWithConnections(Map*);
  101. void saveMapsWithConnections();
  102. void saveMapLayoutsTable();
  103. void updateMapLayout(Map*);
  104. void readCDefinesSorted(QString, QStringList, QStringList*);
  105. void readCDefinesSorted(QString, QStringList, QStringList*, QString, int);
  106. void setNewMapHeader(Map* map, int mapIndex);
  107. void setNewMapLayout(Map* map);
  108. void setNewMapBlockdata(Map* map);
  109. void setNewMapBorder(Map *map);
  110. void setNewMapEvents(Map *map);
  111. void setNewMapConnections(Map *map);
  112. };
  113. #endif // PROJECT_H