MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / UpdateIconOffsets

Function UpdateIconOffsets

src/dolphin/src/card/CARDStat.c:8–62  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6#include <dolphin/CARDPriv.h>
7
8static void UpdateIconOffsets(CARDDir* ent, CARDStat* stat) {
9 u32 offset;
10 BOOL iconTlut;
11 int i;
12
13 offset = ent->iconAddr;
14 if (offset == 0xffffffff) {
15 stat->bannerFormat = 0;
16 stat->iconFormat = 0;
17 stat->iconSpeed = 0;
18 offset = 0;
19 }
20
21 iconTlut = FALSE;
22 switch (CARDGetBannerFormat(ent)) {
23 case CARD_STAT_BANNER_C8:
24 stat->offsetBanner = offset;
25 offset += CARD_BANNER_WIDTH * CARD_BANNER_HEIGHT;
26 stat->offsetBannerTlut = offset;
27 offset += 2 * 256;
28 break;
29 case CARD_STAT_BANNER_RGB5A3:
30 stat->offsetBanner = offset;
31 offset += 2 * CARD_BANNER_WIDTH * CARD_BANNER_HEIGHT;
32 stat->offsetBannerTlut = 0xffffffff;
33 break;
34 default:
35 stat->offsetBanner = 0xffffffff;
36 stat->offsetBannerTlut = 0xffffffff;
37 break;
38 }
39 for (i = 0; i < CARD_ICON_MAX; ++i) {
40 switch (CARDGetIconFormat(ent, i)) {
41 case CARD_STAT_ICON_C8:
42 stat->offsetIcon[i] = offset;
43 offset += CARD_ICON_WIDTH * CARD_ICON_HEIGHT;
44 iconTlut = TRUE;
45 break;
46 case CARD_STAT_ICON_RGB5A3:
47 stat->offsetIcon[i] = offset;
48 offset += 2 * CARD_ICON_WIDTH * CARD_ICON_HEIGHT;
49 break;
50 default:
51 stat->offsetIcon[i] = 0xffffffff;
52 break;
53 }
54 }
55 if (iconTlut) {
56 stat->offsetIconTlut = offset;
57 offset += 2 * 256;
58 } else {
59 stat->offsetIconTlut = 0xffffffff;
60 }
61 stat->offsetData = offset;
62}
63
64s32 CARDGetStatus(s32 chan, s32 fileNo, CARDStat* stat) {
65 CARDControl* card;

Callers 2

CARDGetStatusFunction · 0.85
CARDSetStatusAsyncFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected