Mercurial > hg > dmlib
comparison dmres.c @ 4:e0fc7863d024
Mask out bits from resFlags that should not be there after initialization.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 28 Sep 2012 03:45:02 +0300 |
parents | 32250b436bca |
children | 2f463a59d732 |
comparison
equal
deleted
inserted
replaced
3:82fc316e70d0 | 4:e0fc7863d024 |
---|---|
781 } | 781 } |
782 | 782 |
783 // Initialize resources from a PACK file | 783 // Initialize resources from a PACK file |
784 for (node = dfResPackFile->entries; node != NULL; node = node->next) | 784 for (node = dfResPackFile->entries; node != NULL; node = node->next) |
785 { | 785 { |
786 DMResource *res = dmres_new(node->filename, node->resFlags, node->size); | 786 DMResource *res = dmres_new(node->filename, node->resFlags & DMF_MASK, node->size); |
787 if (res == NULL) | 787 if (res == NULL) |
788 { | 788 { |
789 dmError("Could not allocate memory for resource node '%s' [0x%08x], %d.\n", | 789 dmError("Could not allocate memory for resource node '%s' [0x%08x], %d.\n", |
790 node->filename, node->resFlags, node->size); | 790 node->filename, node->resFlags, node->size); |
791 return DMERR_INIT_FAIL; | 791 return DMERR_INIT_FAIL; |
876 } | 876 } |
877 } | 877 } |
878 | 878 |
879 if (dfPreload != NULL) | 879 if (dfPreload != NULL) |
880 { | 880 { |
881 if (dfPreload->flags & DMF_PRELOAD) | 881 if ((dfPreload->flags & DMF_PRELOAD) && (dfPreload->flags & DMF_LOADED) == 0) |
882 { | 882 { |
883 (*loaded)++; | 883 (*loaded)++; |
884 } | 884 } |
885 | 885 |
886 dfPreload = dfPreload->next; | 886 dfPreload = dfPreload->next; |