MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / openEmbeddedVFSArchive

Function openEmbeddedVFSArchive

Engine/source/platformWin32/winVFS.cpp:54–91  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

52//-----------------------------------------------------------------------------
53
54Zip::ZipArchive *openEmbeddedVFSArchive()
55{
56 if(gVFSState.mZip)
57 {
58 ++gVFSState.mRefCount;
59 return gVFSState.mZip;
60 }
61
62 HRSRC hRsrc = FindResource(NULL, MAKEINTRESOURCE(IDR_ZIPFILE), dT("RT_RCDATA"));
63
64 if(hRsrc == NULL)
65 return NULL;
66
67 if((gVFSState.mResData = LoadResource(NULL, hRsrc)) == NULL)
68 return NULL;
69
70 void * mem = LockResource(gVFSState.mResData);
71 if(mem != NULL)
72 {
73 U32 size = SizeofResource(NULL, hRsrc);
74 gVFSState.mZipStream = new MemStream(size, mem, true, false);
75 gVFSState.mZip = new Zip::ZipArchive;
76
77 if(gVFSState.mZip->openArchive(gVFSState.mZipStream))
78 {
79 ++gVFSState.mRefCount;
80 return gVFSState.mZip;
81 }
82
83 SAFE_DELETE(gVFSState.mZip);
84 SAFE_DELETE(gVFSState.mZipStream);
85 }
86
87 FreeResource(gVFSState.mResData);
88 gVFSState.mResData = NULL;
89
90 return NULL;
91}
92
93void closeEmbeddedVFSArchive()
94{

Callers 2

initMethod · 0.85
handleCommandLineMethod · 0.85

Calls 1

openArchiveMethod · 0.45

Tested by

no test coverage detected