This commit is contained in:
2024-07-09 22:38:21 +01:00
parent 374bfc8bf1
commit b37f0e1b8f
2 changed files with 6 additions and 30 deletions

View File

@@ -12,10 +12,9 @@ void debug_printf(wchar_t* format, ...) {
free(output); free(output);
} }
internal void outputSound(GameSoundOutputBuffer *soundBuffer) { internal void outputSound(GameSoundOutputBuffer *soundBuffer, int toneHz) {
local_persist real32 tSine; local_persist real32 tSine;
int16 toneVolume = 3000; int16 toneVolume = 3000;
int toneHz = 440;
int wavePeriod = soundBuffer->samplesPerSecond/toneHz; int wavePeriod = soundBuffer->samplesPerSecond/toneHz;
int16 *sampleOut = soundBuffer->samples; int16 *sampleOut = soundBuffer->samples;
@@ -43,6 +42,9 @@ internal void renderWeirdGradient(GameOffscreenBuffer *buffer, int xOffset, int
} }
internal void gameUpdateAndRender(GameOffscreenBuffer *videoBuf, GameInput *input, GameSoundOutputBuffer *soundBuf) { internal void gameUpdateAndRender(GameOffscreenBuffer *videoBuf, GameInput *input, GameSoundOutputBuffer *soundBuf) {
outputSound(soundBuf); local_persist int greenOffset = 0;
local_persist int blueOffset = 0;
local_persist int toneHz = 440;
outputSound(soundBuf, toneHz);
renderWeirdGradient(videoBuf, input->xOffset, input->yOffset); renderWeirdGradient(videoBuf, input->xOffset, input->yOffset);
} }

View File

@@ -3,21 +3,9 @@
#include <Xinput.h> #include <Xinput.h>
#include <dsound.h> #include <dsound.h>
#include "win32_handmade.h"
#include "handmade.cpp" #include "handmade.cpp"
struct Win32OffscreenBuffer {
BITMAPINFO info;
void *memory;
int width;
int height;
int bytesPerPixel;
};
struct Win32WindowDimensions {
int width;
int height;
};
global ATOM HH_CTRLW; global ATOM HH_CTRLW;
global bool running; global bool running;
global Win32OffscreenBuffer globalBackBuffer; global Win32OffscreenBuffer globalBackBuffer;
@@ -216,18 +204,6 @@ LRESULT mainWindowCallback(
return result; return result;
} }
struct Win32SoundOutput {
int samplesPerSecond;
int toneHz;
int wavePeriod;
int16 toneVolume;
uint32 runningSampleIndex;
int bytesPerSample;
int secondaryBufferSize;
real32 tSine;
int latencySampleCount;
};
internal void win32ClearBuffer(Win32SoundOutput *soundOutput) { internal void win32ClearBuffer(Win32SoundOutput *soundOutput) {
VOID *region1; VOID *region1;
DWORD region1Size; DWORD region1Size;
@@ -321,9 +297,7 @@ int APIENTRY WinMain(HINSTANCE instance, HINSTANCE prevInstance, PSTR commandLin
// sound test // sound test
Win32SoundOutput soundOutput = {}; Win32SoundOutput soundOutput = {};
soundOutput.samplesPerSecond = 48000; soundOutput.samplesPerSecond = 48000;
soundOutput.toneHz = 440; // A above middle C
soundOutput.wavePeriod = soundOutput.samplesPerSecond / soundOutput.toneHz; soundOutput.wavePeriod = soundOutput.samplesPerSecond / soundOutput.toneHz;
soundOutput.toneVolume = 6000;
soundOutput.runningSampleIndex = 0; soundOutput.runningSampleIndex = 0;
soundOutput.bytesPerSample = sizeof(int16)*2; soundOutput.bytesPerSample = sizeof(int16)*2;
soundOutput.secondaryBufferSize = soundOutput.samplesPerSecond*soundOutput.bytesPerSample; soundOutput.secondaryBufferSize = soundOutput.samplesPerSecond*soundOutput.bytesPerSample;