mirror of
https://gitlab.com/octospacc/BloccSpacc
synced 2024-12-12 08:16:48 +01:00
Start adding inventory support
This commit is contained in:
parent
c426420870
commit
a02e5a5675
@ -156,7 +156,21 @@ void EventHandle() {
|
||||
}
|
||||
|
||||
void DrawInventory() {
|
||||
|
||||
DebugMsg = TTF_RenderText_Blended( DebugFont, "Inventory", DebugTextColor );
|
||||
DrawSurf( ScreenWidth/2 - 4*9, 8, DebugMsg, NULL, Screen );
|
||||
int s;
|
||||
int y = 0;
|
||||
for ( int i = 0; i < BlocksetNum-1; i++ ) {
|
||||
s += 1;
|
||||
int x = ScreenWidth/16 + s*BlockSize + s*BlockSize/4;
|
||||
if ( x >= ScreenWidth - BlockSize - BlockSize/4 ) {
|
||||
y += BlockSize + BlockSize/4;
|
||||
x = ScreenWidth/16;
|
||||
s = 0;
|
||||
}
|
||||
DrawSurf( x, y, BlocksImg, &Blocks[i+1].Img, Screen );
|
||||
}
|
||||
DrawOutlineRect ( SDL_Surface * Dst );
|
||||
}
|
||||
|
||||
void DrawMap() { // TODO: Reoptimize this to draw only visible blocks
|
||||
@ -351,7 +365,7 @@ int main( int argc, char* args[] ) {
|
||||
}
|
||||
if ( Recalc ) {
|
||||
EventHandle();
|
||||
SDL_FillRect( Screen, &Screen->clip_rect, SDL_MapRGB( Screen->format, 0xFF, 0xFF, 0xFF ) );
|
||||
FillSurfRGB ( 0xFF, 0xFF, 0xFF, Screen );
|
||||
if ( InGame && !InInventory ) {
|
||||
SetCamera();
|
||||
DrawMap();
|
||||
|
@ -28,6 +28,14 @@ void DrawSurf ( int x, int y, SDL_Surface * Src, SDL_Rect * Clip, SDL_Surface *
|
||||
SDL_BlitSurface( Src, Clip, Dst, &Offset );
|
||||
}
|
||||
|
||||
void FillSurfRGB ( int R, int G, int B, SDL_Surface * Dst ) {
|
||||
SDL_FillRect( Dst, &Dst->clip_rect, SDL_MapRGB( Dst->format, R, G, B ) );
|
||||
}
|
||||
|
||||
void DrawOutlineRect ( SDL_Surface * Dst ) {
|
||||
SDL_FillRect( Dst, 8, 8, 4, 16, SDL_MapRGB( Dst->format, 0x00, 0x00, 0x00 ) );
|
||||
}
|
||||
|
||||
SDL_Surface * ScreenSet ( int Width, int Height, int Bits, SDL_Surface * Screen ) {
|
||||
Screen = SDL_SetVideoMode ( Width, Height, Bits,
|
||||
#ifdef Target_PocketGo
|
||||
|
@ -3,6 +3,8 @@
|
||||
|
||||
SDL_Surface * LoadImage ( char * FilePath );
|
||||
void DrawSurf ( int x, int y, SDL_Surface * Src, SDL_Rect * Clip, SDL_Surface * Dst );
|
||||
void FillSurfRGB ( int R, int G, int B, SDL_Surface * Dst );
|
||||
void DrawOutlineRect ( SDL_Surface * Dst );
|
||||
SDL_Surface * ScreenSet ( int Width, int Height, int Bits, SDL_Surface * Screen );
|
||||
bool FlipScreen( SDL_Surface * Screen );
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user