Some documentation, debugging function.
git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@2001 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
@@ -392,11 +392,14 @@ res_GetResource (RESOURCE res)
|
||||
|
||||
hi = HIWORD (ResHeaderPtr->PackageList[res_package - 1].flags_and_data_loc);
|
||||
if (HIBYTE (hi) == 0)
|
||||
// Package is loaded.
|
||||
hList = (MEM_HANDLE)LOWORD (
|
||||
ResHeaderPtr->PackageList[res_package - 1].flags_and_data_loc);
|
||||
else
|
||||
{
|
||||
if ((hList = load_package (ResHeaderPtr, res_package)) == NULL_HANDLE)
|
||||
// Package is not loaded. Load now.
|
||||
hList = load_package (ResHeaderPtr, res_package);
|
||||
if (hList == NULL_HANDLE)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "Unable to load package %u\n", res_package);
|
||||
|
||||
@@ -80,6 +80,10 @@ typedef INDEX_HEADER *PINDEX_HEADER;
|
||||
|
||||
typedef PINDEX_HEADER INDEX_HEADERPTR;
|
||||
|
||||
void forAllResourceIndices(
|
||||
void (*callback)(INDEX_HEADERPTR ResHeaderPtr, void *extra),
|
||||
void *extra);
|
||||
|
||||
#define PackageList index_info.lists.package_list
|
||||
#define TypeList index_info.lists.type_list
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
|
||||
static MEM_HANDLE hIndexList;
|
||||
|
||||
// Add a package index to the global list of package indices.
|
||||
static void
|
||||
_add_index_list (MEM_HANDLE hRH)
|
||||
{
|
||||
@@ -46,6 +47,7 @@ _add_index_list (MEM_HANDLE hRH)
|
||||
hIndexList = hRH;
|
||||
}
|
||||
|
||||
// Remove a package index from the global list of package indices.
|
||||
static void
|
||||
_sub_index_list (MEM_HANDLE hRH)
|
||||
{
|
||||
@@ -410,3 +412,21 @@ CountResourceTypes (void)
|
||||
return ((COUNT)ResHeaderPtr->num_types);
|
||||
}
|
||||
|
||||
void
|
||||
forAllResourceIndices(
|
||||
void (*callback) (INDEX_HEADERPTR ResHeaderPtr, void *extra),
|
||||
void *extra) {
|
||||
MEM_HANDLE hRH;
|
||||
MEM_HANDLE hNextRH;
|
||||
INDEX_HEADERPTR ResHeaderPtr;
|
||||
|
||||
for (hRH = hIndexList; hRH != 0; hRH = hNextRH)
|
||||
{
|
||||
ResHeaderPtr = LockResourceHeader (hRH);
|
||||
hNextRH = ResHeaderPtr->hSuccHeader;
|
||||
(*callback) (ResHeaderPtr, extra);
|
||||
UnlockResourceHeader (hRH);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user