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);
|
hi = HIWORD (ResHeaderPtr->PackageList[res_package - 1].flags_and_data_loc);
|
||||||
if (HIBYTE (hi) == 0)
|
if (HIBYTE (hi) == 0)
|
||||||
|
// Package is loaded.
|
||||||
hList = (MEM_HANDLE)LOWORD (
|
hList = (MEM_HANDLE)LOWORD (
|
||||||
ResHeaderPtr->PackageList[res_package - 1].flags_and_data_loc);
|
ResHeaderPtr->PackageList[res_package - 1].flags_and_data_loc);
|
||||||
else
|
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
|
#ifdef DEBUG
|
||||||
fprintf (stderr, "Unable to load package %u\n", res_package);
|
fprintf (stderr, "Unable to load package %u\n", res_package);
|
||||||
|
|||||||
@@ -80,6 +80,10 @@ typedef INDEX_HEADER *PINDEX_HEADER;
|
|||||||
|
|
||||||
typedef PINDEX_HEADER INDEX_HEADERPTR;
|
typedef PINDEX_HEADER INDEX_HEADERPTR;
|
||||||
|
|
||||||
|
void forAllResourceIndices(
|
||||||
|
void (*callback)(INDEX_HEADERPTR ResHeaderPtr, void *extra),
|
||||||
|
void *extra);
|
||||||
|
|
||||||
#define PackageList index_info.lists.package_list
|
#define PackageList index_info.lists.package_list
|
||||||
#define TypeList index_info.lists.type_list
|
#define TypeList index_info.lists.type_list
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
static MEM_HANDLE hIndexList;
|
static MEM_HANDLE hIndexList;
|
||||||
|
|
||||||
|
// Add a package index to the global list of package indices.
|
||||||
static void
|
static void
|
||||||
_add_index_list (MEM_HANDLE hRH)
|
_add_index_list (MEM_HANDLE hRH)
|
||||||
{
|
{
|
||||||
@@ -46,6 +47,7 @@ _add_index_list (MEM_HANDLE hRH)
|
|||||||
hIndexList = hRH;
|
hIndexList = hRH;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Remove a package index from the global list of package indices.
|
||||||
static void
|
static void
|
||||||
_sub_index_list (MEM_HANDLE hRH)
|
_sub_index_list (MEM_HANDLE hRH)
|
||||||
{
|
{
|
||||||
@@ -410,3 +412,21 @@ CountResourceTypes (void)
|
|||||||
return ((COUNT)ResHeaderPtr->num_types);
|
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