is presently its sole maintainer,
You can support him:
Goals for the day
Fixing a dumb audio bug
Failing to find a supposed SUCCEEDED related bug
Concerns about WasDown/IsDown
Fixing a bug in our gamepad input handling
Fun? with Krita
Back to Paint to illustrate the input bugfix
Changing our renderbuffer to have fixed dimensions
Improving the build.bat file
Changing the write location for our .hmi files
Writing some helper functions to create the dll path
Taking our helper functions and using them elsewhere
Testing the changes to input recording
Input Assert firing and turning off Topmost window
Changing Win32GetLastWriteTime() to use GetFileAttributesEx()
Using DeviceIoControl to potentially speed up input recording hitch
Removing stub functions from handmade.h for easier porting
Looking at improvments to our 1GB VirtualAlloc()
Whiteboard illustration of virtual memory
Looking at real world virtual memory addresses
Translation of virtual memory addresses into physical memory by the TLB
So what are large pages?
Changing VirtualAlloc() to use large pages
Putting aside the large page support for later
Start of Q&A
Can we go over really fast an overview of the game recording code?
When you're saving the game_state snapshot, how big is the file?
Can you check if the StringLength() needs a win32 prefix, or is this game code?
How many lines of code is the finished game estimated to be?
Maybe use two randoms in your batch file to get a more unique file name?
Any advice on where I could go or what to do to pick up a bit more coding or knowledge experience?
What is a good example of well-written game code? Everyone talks about the DOOM source code.
Assuming you want to record exactly what happens in the game, how would the looping handle random values; Say enemy bullets that are fired at random angles?
If we dump memory to disk in a large-scale application, wouldn't that cause more than a 1GB footprint for every state?
I don't get the stuff where you declare a variable without initializing it, and then you use the address to it in a function call. Is that a dummy thing, or what is it used for?
You can make the recording instantaneous using copy-on-write pages.
Would the sparse file flags dropped the .hmi file size?
I'm still not sure why we're using the Windows API to get memory instead of the standard library. Why are we making Windows calls if we are supposed to be doing everything from scratch?
As the game grows, how are you going to partition the game memory between systems to keep the record-and-playback feature working?
Would it make sense to temporary lessen the size of game memory we don't use at the moment anyway?
Are you happy with the timing FPS results? I found an old article on _rdtsc() for more accurate timing.
When would the Mac code start? I am following with Windows in a VM and it's really slow.
Is there any negative effects of making the page size bigger?
How do you calculate the size of a struct?
Can you add line numbers, so those of us following along have an easier time?
I believe some people think that the game_state is saved every time with the input, whereas it is only saved at the beginning of the recording and then modified through input playback.
Do you think the recording technique will run into problems if we have multiple threads using the game_state?
If VirtualAlloc() does not guarantee contiguous memory, could this pose a hindrance to cache optimizations?
Where can I get earlier versions of the code? The link only gives me the latest version.