MCPcopy Create free account
hub / github.com/diasurgical/devilution / LoadGame

Function LoadGame

Source/loadsave.cpp:7–175  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5BYTE *tbuff;
6
7void LoadGame(BOOL firstflag)
8{
9 int i, j;
10 DWORD dwLen;
11 char szName[MAX_PATH];
12 BYTE *LoadBuff;
13 int _ViewX, _ViewY, _nummonsters, _numitems, _nummissiles, _nobjects;
14
15 FreeGameMem();
16 pfile_remove_temp_files();
17 pfile_get_game_name(szName);
18 LoadBuff = pfile_read(szName, &dwLen);
19 tbuff = LoadBuff;
20
21 if (ILoad() != 'RETL')
22 app_fatal("Invalid save file");
23
24 setlevel = OLoad();
25 setlvlnum = WLoad();
26 currlevel = WLoad();
27 leveltype = WLoad();
28 _ViewX = WLoad();
29 _ViewY = WLoad();
30 invflag = OLoad();
31 chrflag = OLoad();
32 _nummonsters = WLoad();
33 _numitems = WLoad();
34 _nummissiles = WLoad();
35 _nobjects = WLoad();
36
37 for (i = 0; i < NUMLEVELS; i++) {
38 glSeedTbl[i] = ILoad();
39 gnLevelTypeTbl[i] = WLoad();
40 }
41
42 LoadPlayer(myplr);
43
44 for (i = 0; i < MAXQUESTS; i++)
45 LoadQuest(i);
46 for (i = 0; i < MAXPORTAL; i++)
47 LoadPortal(i);
48
49 LoadGameLevel(firstflag, 4);
50 SyncInitPlr(myplr);
51 SyncPlrAnim(myplr);
52
53 ViewX = _ViewX;
54 ViewY = _ViewY;
55 nummonsters = _nummonsters;
56 numitems = _numitems;
57 nummissiles = _nummissiles;
58 nobjects = _nobjects;
59
60 for (i = 0; i < MAXMONSTERS; i++)
61 monstkills[i] = ILoad();
62
63 if (leveltype != DTYPE_TOWN) {
64 for (i = 0; i < MAXMONSTERS; i++)

Callers 2

ShowProgressFunction · 0.85
gamemenu_load_gameFunction · 0.85

Calls 15

FreeGameMemFunction · 0.85
pfile_remove_temp_filesFunction · 0.85
pfile_get_game_nameFunction · 0.85
pfile_readFunction · 0.85
ILoadFunction · 0.85
app_fatalFunction · 0.85
OLoadFunction · 0.85
WLoadFunction · 0.85
LoadPlayerFunction · 0.85
LoadQuestFunction · 0.85
LoadPortalFunction · 0.85
LoadGameLevelFunction · 0.85

Tested by

no test coverage detected