Day 27 complete.

This commit is contained in:
2026-04-01 19:26:21 -07:00
parent 34727294b7
commit 88f235ede6
3 changed files with 84 additions and 8 deletions
+66
View File
@@ -37,6 +37,64 @@ static void GameOutputSound(game_state *GameState,
*/
}
static void ClearBackground(game_offscreen_buffer *Buffer)
{
S32 Width, Height, X;
Width = Buffer->Width;
Height = Buffer->Height;
for(X = 0; X < Width * Height; X++) {
U32 *Pixel = &((U32 *)Buffer->Memory)[X];
*Pixel = 0xFFFFFF;
}
}
static S32 RoundF32toS32(F32 Real32)
{
S32 Result = (S32)(Real32 + 0.5f);
return Result;
}
static void DrawRectangle(game_offscreen_buffer *Buffer,
F32 RealMinX, F32 RealMinY,
F32 RealMaxX, F32 RealMaxY,
U32 Color)
/*F32 R, F32 G, F32 B)*/
{
S32 MinX = RoundF32toS32(RealMinX);
S32 MinY = RoundF32toS32(RealMinY);
S32 MaxX = RoundF32toS32(RealMaxX);
S32 MaxY = RoundF32toS32(RealMaxY);
S32 Width = Buffer->Width;
S32 Height = Buffer->Height;
U8 *Row;
S32 Y, X;
if(MinX < 0)
MinX = 0;
if(MinY < 0)
MinY = 0;
if(MaxX > Width)
MaxX = Width;
if(MaxY > Height)
MaxY = Height;
Row = ((U8 *)Buffer->Memory + MinX*Buffer->BytesPerPixel +
MinY*Buffer->Pitch);
for(Y = MinY; Y < MaxY; Y++) {
U32 *Pixel = (U32 *)Row;
for(X = MinX; X < MaxX; X++) {
*(U32 *)Pixel = Color;
Pixel++;
}
Row += Buffer->Pitch;
}
}
static void RenderRectangle(game_offscreen_buffer *Buffer, S32 MouseX,
S32 MouseY)
{
@@ -87,6 +145,14 @@ void UpdateAndRender(thread_context *Thread, game_memory *Memory,
}
}
DrawRectangle(Buffer, 0.0f, 0.0f, (F32)(Buffer->Width),
(F32)(Buffer->Height), 0x000000);
DrawRectangle(Buffer, 10.0f, 10.0f, 20.0f, 20.0f, 0xFFFFFF);
DrawRectangle(Buffer,
(F32)(Input->MouseX), (F32)(Input->MouseY),
(F32)(Input->MouseX) + 10.0f, (F32)(Input->MouseY) + 10.0f,
0xFF0000);
GameOutputSound(GameState, SoundBuffer, 400);
}