/EHM_DAL

Unofficial Qt/C++ data abstraction layer for Eastside Hockey Manager 1 databases and saved games.

Primary LanguageC++GNU General Public License v3.0GPL-3.0

EHM DAL: A data abstraction layer for Eastside Hockey Manager 1

GitHub tag GitHub last commit GitHub GitHub top language

EHM DAL is an unofficial data abstraction layer for Eastside Hockey Manger 1 databases and saved games which you can integrate into your own Qt/C++ projects. EHM DAL provides a library of functions which enable an EHM database or saved game to be loaded and parsed without needing to code any of your own file i/o functions or any database structures. Parsing a database or saved game is as simple as integrating the EHM DAL library into your Qt/C++ project and then adding the following code:

// The following code will open and process a database
auto db_manager{ehm_dal::file_io::DatabaseFileManager()};
db_manager.read("C:\\Program Files (x86)\\Steam\\steamapps\\common\\Eastside Hockey Manager\\data\\database\\database.db");

// The following code will open and process a saved game
auto sav_manager{ehm_dal::file_io::SavedGameFileManager()};
sav_manager.read("C:\\Users\\archibalduk\\Documents\\Sports Interactive\\EHM\\games\\Test.sav");

EHM DAL's database table classes inherit from QAbstractTableModel and are therefore compatible Qt's model/view architecture. This means that database tables can be easily assigned to Qt's view widgets such as QTableView.

Data can be accessed using QModelIndex or EHM DAL's Pointer class.

EHM DAL is presently a work in progress and should be considered alpha quality.

Visit the EHM DAL documentation for details of the various classes and functions.

Visit the EHM DAL wiki for guides and tutorials.

Features

  1. Read-only access to the EHM database and saved games;
  2. Access binary data for each saved game table for parsing by the user's own code;
  3. Various search functions for searching and filtering data; and
  4. Export custom spreadsheets to csv or xlsx format.

Limitations

  1. No editing is currently possible (limited editing is planned for a future release);
  2. No access to playable league-related structures; and
  3. Few details of EHM saved game tables are known and will therefore require the user to figure out the structure and implement their own code.

System Requirements

Author

@archibalduk

Credits

EHM DAL uses QXlsx by j2doll. QXlsx is licensed under the MIT license.

License

GNU General Public License v3.0