MCPcopy Create free account
hub / github.com/defold/defold / PreloadData

Function PreloadData

engine/resource/src/resource_streamer.cpp:83–111  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

81
82
83Result PreloadData(HFactory factory, const char* path, uint32_t offset, uint32_t size, FPreloadDataCallback cbk, void* cbk_ctx)
84{
85 ResourceStreamJob* job = new ResourceStreamJob;
86 memset(job, 0, sizeof(*job));
87 job->m_Callback = cbk;
88 job->m_CallbackCtx = cbk_ctx;
89 job->m_Offset = offset;
90 job->m_Size = size;
91
92 char canonical_path[RESOURCE_PATH_MAX];
93 dmResource::GetCanonicalPath(path, canonical_path, sizeof(canonical_path));
94
95 job->m_CanonicalPath = strdup(canonical_path);
96 job->m_Path = strdup(path);
97
98 HJobContext job_context = dmResource::GetJobThread(factory);
99 assert(job_context != 0);
100
101 Job threadjob = {0};
102 threadjob.m_Process = JobProcess;
103 threadjob.m_Callback = JobCallback;
104 threadjob.m_Context = (void*) factory;
105 threadjob.m_Data = (void*) job;
106
107 HJob hjob = JobSystemCreateJob(job_context, &threadjob);
108 JobSystemPushJob(job_context, hjob);
109
110 return dmResource::RESULT_OK;
111}
112
113}

Callers 3

StreamingPreloadCallbackFunction · 0.85
StreamResourceCreateFunction · 0.85
SoundDataReadCallbackFunction · 0.85

Calls 5

GetCanonicalPathFunction · 0.85
GetJobThreadFunction · 0.85
JobSystemCreateJobFunction · 0.85
JobSystemPushJobFunction · 0.85
assertFunction · 0.50

Tested by 2

StreamingPreloadCallbackFunction · 0.68
StreamResourceCreateFunction · 0.68