summaryrefslogtreecommitdiff
path: root/code/game.c
diff options
context:
space:
mode:
Diffstat (limited to 'code/game.c')
-rw-r--r--code/game.c70
1 files changed, 65 insertions, 5 deletions
diff --git a/code/game.c b/code/game.c
index 8b37c99..39420b4 100644
--- a/code/game.c
+++ b/code/game.c
@@ -56,7 +56,8 @@ void Logf(char *Format, ...)
LogMessage(MessageLength, MessageBuffer);
}
-void RenderGradient(s32 Width, s32 Height, r32 dtForFrame)
+void RenderGradient(s32 Width, s32 Height, r32 dtForFrame,
+ b32 MouseDown, s32 MouseX, s32 MouseY)
{
local_persist s32 Counter = 0;
local_persist b32 Toggle = true;
@@ -71,14 +72,19 @@ void RenderGradient(s32 Width, s32 Height, r32 dtForFrame)
if(Toggle)
{
R = 1.0f - ((r32)Counter/(r32)Width);
- G = ((r32)Counter/(r32)Width);
+ G = 1.0f - ((r32)Counter/(r32)Width);
}
else
{
- G = 1.0f - (r32)Counter/(r32)Width;
+ G = (r32)Counter/(r32)Width;
R = (r32)Counter/(r32)Width;
}
+ if(MouseDown)
+ {
+ B = 0.5f;
+ }
+
// AA BB GG RR
u32 Color = ((0xFF << 24) |
((u32)(0xFF * B) << 16) |
@@ -89,7 +95,61 @@ void RenderGradient(s32 Width, s32 Height, r32 dtForFrame)
}
}
- Counter += (dtForFrame * 1000) * .3;
+ if(MouseDown)
+ {
+ u32 Color = 0;
+
+ u32 Pitch = BYTES_PER_PIXEL * Width;
+
+ s32 Width = 5;
+ s32 MinX = MouseX - Width;
+ s32 MaxX = MouseX + Width;
+ s32 MinY = MouseY - Width;
+ s32 MaxY = MouseY + Width;
+
+#if 0
+ if(MinX < 0)
+ {
+ MinX = 0;
+ }
+
+ if(MaxX > Width)
+ {
+ MaxX = Width;
+ }
+
+ if(MinY < 0)
+ {
+ MinY = 0;
+ }
+
+ if(MaxY > Height)
+ {
+ MaxY = Height;
+ }
+#endif
+
+ u8 *Row = ((u8 *)Buffer) + ((BYTES_PER_PIXEL*MinX) + (Pitch*MinY));
+
+ for(s32 Y = MinY;
+ Y < MaxY;
+ Y++)
+ {
+ u32 *Pixel = (u32 *)Row;
+ for(s32 X = MinX;
+ X < MaxX;
+ X++)
+ {
+ *Pixel++ = Color;
+ }
+ Row += Pitch;
+ }
+
+
+ }
+
+
+ Counter += 1000 * dtForFrame * 0.5;
if(Counter > Width)
{
Counter -= Width;
@@ -97,7 +157,7 @@ void RenderGradient(s32 Width, s32 Height, r32 dtForFrame)
}
#if 1
- Logf("%d", Width);
+ Logf("%.3f / (%d, %d) / %s", dtForFrame, MouseX, MouseY, ((MouseDown) ? "down" : "up"));
#endif
} \ No newline at end of file