Spielstandslot laden
Hallo zusammen,
ich bin nach einer laangen Pause mal wieder dabei meine private G2 Mod weiter zu entwickeln.
Und zwar will ich gerade mein eigenes Quick Save/Load System einbauen.
Ich habe dabei Elemente des Autosave Ninja Patch von mud-freak genutzt: https://forum.worldofplayers.de/foru...Patch-Autosave
Meine Quick-Save Funktion funktioniert fehlerfrei, wodurch ich beim Slot-Integer einen Spielstand speichern kann. Dafür wird zur expliziten Ausführung folgender Code von mud-freak genutzt:
Code:
// Save game to save slot
const int CGameManager__Write_Savegame_G1 = 4360080; //0x428790
const int CGameManager__Write_Savegame_G2 = 4367056; //0x42A2D0
const int call = 0;
if (CALL_Begin(call)) {
CALL_IntParam(_@(slot));
CALL__thiscall(MEMINT_gameMan_Pointer_address, MEMINT_SwitchG1G2(CGameManager__Write_Savegame_G1,
CGameManager__Write_Savegame_G2));
call = CALL_End();
};
Ich habe ehrlich gesagt keine Ahnung von diesen Adresscodes und was da genau passiert, aber weiß vielleicht jemand, wie dieser Code abgeändert werden muss, sodass der Spielstand im jeweiligen Slot geladen wird? Es würde mir reichen, wenn das ganze bei G2 funktioniert. Der Code für G1 ist nicht relevant für mich.
EDIT:
Okay ich habe eine Excel-Datei im Forum gefunden und den Code für Read_Savegame gesehen: 0x0042A040
Diesen habe ich zu einer Dezimalzahl konvertiert: 4366400
Und mit dem Code zum Speichern ersetzt. Das ganze funktioniert soweit bei mir und ich kann einen Spielstand laden, aber vielleicht kann nochmal jemand mit Ahnung verifizieren, dass mir dadurch keine Bugs entstehen?
Geändert von Maximus93 (21.02.2021 um 15:56 Uhr)