//----SET void TBox::CreateBox(unsigned int m_iColor, const bool bText, const bool bSprite, const bool bLine) { if (m_pTextSprite == nullptr && bText) { m_pTextSprite = GfxTextSpriteCreate(); GfxSpriteSetFilteringEnabled(m_pTextSprite, true); } m_bIsDrawable = true; if (bLine) { //Line m_pLineSprite = GfxLineSpriteCreate(); } if (bSprite) { //Image TGfxImage * pImage = GfxImageCreate(1, 1); GfxImageGetData(pImage)[0] = EGfxColor_White; TGfxTexture * pTexture = GfxTextureCreate(pImage); m_pSprite = GfxSpriteCreate(pTexture); GfxSpriteSetFilteringEnabled(m_pSprite, false); GfxSpriteSetPivot(m_pSprite, 0.5f, 0.5f); SetColor(m_iColor); } }
void Initialize() { int sizeX = (GfxGetDisplaySizeX() / 2); int sizeY = (GfxGetDisplaySizeY() / 2); g_pLines = GfxLineSpriteCreate(); g_pLines2 = GfxLineSpriteCreate(); ArcheoStuffs::DrawCircle(g_pLines, TGfxVec2(0, 0), 8, GfxColor(255, 255, 0, 255), true); // Player creation for (int i = 0; i < g_iNbrCave; i++) { g_bCaveSearched[i] = false; } g_pImage = GfxImageCreate(1,1); unsigned int * pData = GfxImageGetData(g_pImage); *pData = EGfxColor_White; g_pTexture = GfxTextureCreate(g_pImage); g_pSpritePlayer = GfxSpriteCreate(g_pTexture); g_pSpriteBase = GfxSpriteCreate(g_pTexture); GfxSpriteSetScale(g_pSpritePlayer, 16, 16); GfxSpriteSetColor(g_pSpritePlayer, GfxColor(255, 255, 0, 255)); g_TPlayerData.iPos = TGfxVec2(sizeX - 8, sizeY - 8); g_TPlayerData.iPosX = sizeX - 8; g_TPlayerData.iPosY = sizeY - 8; GfxSpriteSetScale(g_pSpriteBase, 32, 32); GfxSpriteSetColor(g_pSpriteBase, GfxColor(0, 255, 0, 255)); GfxSpriteSetPosition(g_pSpriteBase, sizeX-16, sizeY-16); for (int i = 0; i < g_iNbrCave; i++) { ArcheoStuffs::CreateCave(i); } }
void CreateCave(int ActCave) { g_pCave[ActCave].iScale = GfxMathGetRandomInteger(32, 64); bool Collisioned = true; do { g_pCave[ActCave].iPosX = (GfxMathGetRandomInteger(g_pCave[ActCave].iScale, GfxGetDisplaySizeX() - g_pCave[ActCave].iScale)); g_pCave[ActCave].iPosY = (GfxMathGetRandomInteger(g_pCave[ActCave].iScale, GfxGetDisplaySizeY() - g_pCave[ActCave].iScale)); Collisioned = false; for (int e = 0; e < ActCave; e++) { if (!(g_pCave[ActCave].iPosX > g_pCave[e].iPosX + g_pCave[e].iScale + 20) && !(g_pCave[ActCave].iPosX < g_pCave[e].iPosX - g_pCave[ActCave].iScale - 20) && !(g_pCave[ActCave].iPosY < g_pCave[e].iPosY - g_pCave[ActCave].iScale - 20) && !(g_pCave[ActCave].iPosY > g_pCave[e].iPosY + g_pCave[e].iScale + 20)) { Collisioned = true; } } if (ActCave == 0) { Collisioned = false; } } while (Collisioned == true); g_pCave[ActCave].pLines = GfxLineSpriteCreate(); ArcheoStuffs::DrawCircle(g_pCave[ActCave].pLines, TGfxVec2(0, 0), g_pCave[ActCave].iScale / 2, EGfxColor_Blue, false); GfxSpriteSetPosition(g_pCave[ActCave].pLines, g_pCave[ActCave].iPosX, g_pCave[ActCave].iPosY); g_pCave[ActCave].g_pSpriteCave = GfxSpriteCreate(g_pTexture); GfxSpriteSetPivot(g_pCave[ActCave].g_pSpriteCave, 0.5, 0.5); GfxSpriteSetScale(g_pCave[ActCave].g_pSpriteCave, g_pCave[ActCave].iScale, g_pCave[ActCave].iScale); GfxSpriteSetColor(g_pCave[ActCave].g_pSpriteCave, GfxColor(0, 0, 255, 255)); GfxSpriteSetPosition(g_pCave[ActCave].g_pSpriteCave, g_pCave[ActCave].iPosX, g_pCave[ActCave].iPosY); g_iNbrCaveCreated++; }