void SpriteManager::Initialize(Rig3D::IMesh* spriteMesh, Rig3D::IShaderResource* spriteShaderResource)
{
	mRenderer = (Rig3D::Singleton<Rig3D::Engine>::SharedInstance()).GetRenderer();
	mSpritesShaderResource = spriteShaderResource;
	mSpriteMesh = spriteMesh;

	LoadFont("Assets/UI/Fonts/ashcanbb_reg.ttf_sdf.png");
	LoadFont("Assets/UI/Fonts/ashcanbb_bold.ttf_sdf.png");
	LoadSpriteSheet("Assets/UI/Health.png", 900, 112, 1, 4);
	LoadSpriteSheet("Assets/UI/UI_ghostIcons.png", 256, 256, 4, 4);
	LoadSpriteSheet("Assets/UI/UI_explorerIcons.png", 256, 256, 4, 4);
	LoadSpriteSheet("Assets/UI/Panels.png", 1024, 256, 1, 4);
	LoadSpriteSheet("Assets/UI/Keys.png", 96, 96, 8, 2);
	LoadSpriteSheet("Assets/UI/Icons.png", 256, 256, 4, 4);
	LoadSpriteSheet("Assets/UI/Start0.png", 1024, 1024, 1, 1);
	LoadSpriteSheet("Assets/UI/Start1.png", 1024, 1024, 1, 1);
	LoadSpriteSheet("Assets/UI/Start2.png", 1024, 1024, 1, 1);
	LoadSpriteSheet("Assets/UI/Start3.png", 1024, 1024, 1, 1);
}
Пример #2
0
void task_a_8143D04(u8 taskIdA)
{
    switch (gMain.state)
    {
    default:
    case 0:
    {
        u16 i;

        ResetSpriteData();
        FreeAllSpritePalettes();
        gReservedSpritePaletteCount = 8;
        LZ77UnCompVram(&gBirchHelpGfx, (void *)VRAM);
        LZ77UnCompVram(&gBirchGrassTilemap, (void *)(VRAM + 0x3800));
        LoadPalette(gBirchBagGrassPal[0] + 1, 1, 31 * 2);

        for (i = 0; i < 0x800; i++)
            HALL_OF_FAME_SHEET_0[i] = 0x11;
        for (i = 0; i < 0x800; i++)
            HALL_OF_FAME_SHEET_1[i] = 0x22;
        for (i = 0; i < 0x800; i++)
            HALL_OF_FAME_SHEET_2[i] = 0x33;

        EWRAM_1F800[0] = 0;
        EWRAM_1F800[1] = 0x53FF; // light yellow
        EWRAM_1F800[2] = 0x529F; // light red
        EWRAM_1F800[3] = 0x7E94; // light blue

        LoadSpriteSheet(gUnknown_0840CAA0);
        LoadSpritePalette(gUnknown_0840CAB0);

        gMain.state += 1;
        break;
    }
    case 1:
        gTasks[taskIdA].data[TDA_TASK_D_ID] = CreateTask(task_d_8144514, 0);
        gTasks[gTasks[taskIdA].data[TDA_TASK_D_ID]].data[TDD_STATE] = 1;
        gTasks[gTasks[taskIdA].data[TDA_TASK_D_ID]].data[TDD_TASK_A_ID] = taskIdA;
        gTasks[gTasks[taskIdA].data[TDA_TASK_D_ID]].data[TDD_2] = gTasks[taskIdA].data[TDA_7];

        BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0));
        REG_BG3HOFS = 0;
        REG_BG3VOFS = 32;
        REG_BG3CNT = BGCNT_PRIORITY(3) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(7) | BGCNT_16COLOR | BGCNT_TXT256x256;
        REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG3_ON | DISPCNT_OBJ_ON;

        gMain.state = 0;
        gUnknown_0203935C = 0;
        gTasks[taskIdA].func = task_a_8143B38;
        break;
    }
}
Пример #3
0
void sub_80C5CD4(struct PCScreenEffectStruct *unkStruct)
{
    u16 i;

    struct SpriteSheet sprSheet = { gUnknownGfx_083D190C, sizeof(gUnknownGfx_083D190C), 0 };
    struct SpritePalette sprPalette = { gUnknownPal_083D18EC, 0 };
    struct SpriteTemplate sprTemplate =
        {
            0,
            0,
            &gOamData_83D18D8,
            gSpriteAnimTable_83D18E8,
            NULL,
            gDummySpriteAffineAnimTable,
            sub_80C60CC,
        };

    sprSheet.tag = unkStruct->tileTag;
    sprTemplate.tileTag =  unkStruct->tileTag;
    sprPalette.tag = unkStruct->paletteTag;
    sprTemplate.paletteTag = unkStruct->paletteTag;

    LoadSpriteSheet(&sprSheet);
    LoadSpritePalette(&sprPalette);

    unkStruct->unk0C = 1;
    unkStruct->unk0A = 0;
    unkStruct->unk08 = 0;
    unkStruct->selectedPalettes  = ~(0x10000 << IndexOfSpritePaletteTag(unkStruct->paletteTag)) & 0xFFFF0000;

    if (unkStruct->unk04 == 0)
        unkStruct->unk04 = 16;

    if (unkStruct->unk06 == 0)
        unkStruct->unk06 = 20;

    gUnknown_020387EC = unkStruct;

    for (i = 0; i < 8; i++)
    {
        u8 spriteId = CreateSprite(&sprTemplate, 32 * i + 8, 80, 0);
        if (spriteId == MAX_SPRITES)
            break;
        gSprites[spriteId].data[0] = (i < 4) ? -unkStruct->unk04 : unkStruct->unk04;
    }

    REG_BLDCNT = 191;
    REG_BLDY = 16;
}
Пример #4
0
void sub_80C5E38(struct PCScreenEffectStruct * a0)
{
    u16 i;
    u8 spriteId;

    struct SpriteSheet spriteSheet = { gUnknownGfx_083D190C, sizeof(gUnknownGfx_083D190C), 0 };
    struct SpritePalette spritePalette = { gUnknownPal_083D18EC, 0 };
    struct SpriteTemplate spriteTemplate =
        {
            0,
            0,
            &gOamData_83D18D8,
            gSpriteAnimTable_83D18E8,
            NULL,
            gDummySpriteAffineAnimTable,
            sub_80C6130,
        };

    spriteSheet.tag = a0->tileTag;
    spriteTemplate.tileTag = a0->tileTag;
    spritePalette.tag = a0->paletteTag;
    spriteTemplate.paletteTag = a0->paletteTag;

    LoadSpriteSheet(&spriteSheet);
    LoadSpritePalette(&spritePalette);

    a0->unk0C = 0x50;
    a0->unk08 = 0;
    a0->unk0A = 0;
    a0->selectedPalettes = 0xffff0000 & ~(0x10000 << IndexOfSpritePaletteTag(a0->paletteTag));
    if (a0->unk04 == 0)
        a0->unk04 = 16;
    if (a0->unk06 == 0)
        a0->unk06 = 20;
    gUnknown_020387EC = a0;

    for (i = 0; i < 8; i++)
    {
        if (i < 4)
        {
            spriteId = CreateSprite(&spriteTemplate, i * 32 - 0x70, 0x50, 0);
            if (spriteId == MAX_SPRITES)
                break;
            gSprites[spriteId].data[0] = a0->unk04;
            gSprites[spriteId].data[1] = 1;
        }
        else
        {
            // Fakematching
            spriteId = CreateSprite(&spriteTemplate, ((i << 21) + (0x80 << 16)) >> 16, 0x50, 0);
            if (spriteId == MAX_SPRITES)
                break;
            gSprites[spriteId].data[0] = -a0->unk04;
            gSprites[spriteId].data[1] = -1;
        }
        gSprites[spriteId].data[2] = i * 32 + 8;
        gSprites[spriteId].data[4] = 0;
        gSprites[spriteId].invisible = TRUE;
    }
    REG_BLDCNT = BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN;
    REG_BLDY = 16;
    HBlankIntrOn(sub_80C6078);
}