We are currently in the process of converting the website to the new design. Some pages, like this one, are still broken. We appreciate your patience.
Culver Fly
First I'd like to thank Casey for starting this series, have been following since Day 1, I've rea…
»
Asaf Gartner
You can configure Apache (or any other web server) to run your exe via CGI. Then you just have to…
»
Mārtiņš Možeiko
Imho compiler simply doesn't have enough free registers in 32-bit code to keep all needed values …
»
The_8th_mage
oops, a bit of redundancy i didn't catch becuase it got optimized away. it basiclly just return t…
»
Mārtiņš Možeiko
What does CosSSE function do?
»
Mārtiņš Možeiko
pthread_self is probably what you want to use if you are OK including pthread.h header in game co…
»
Mārtiņš Možeiko
Here are previous topics on the same question: https://forums.handmadehero.org/i...p/forum?view=t…
»
Connor
I can't seem to fully wrap my head around what metaprogramming really is. Could someone explain i…
»
Kim Jørgensen
In the TIMED_FUNCTION macro you need to cast __FUNCTION__ to char * 1#define TIMED_FUNCTION(...)…
»
Nuno
I also think that this will work: 1 2 3 4 5 6 7 8#include <sys/syscall.h> #include <uni…
»
Kim Jørgensen
That's exactly how I choose to implement these and that works fine. GetThreadID (day 182) is a b…
»
Steven
I'm a huge fan of Casey and this series and I find myself nodding in agreement constantly to his …
»
The_8th_mage
Hello, i'm writing an fft function, which takes 3 float pointers to arrays of float. after every …
»
Nuno
I'm not entirely sure if this is the right way to do it, but from my research I guess it is: 1 …
»
Christian H.
Hi Casey, Thank you for your answer. Now I understand what you are saying :) Chris
»
Casey Muratori
Being a C programmer, I write a lot of pointer and direct memory code as second nature, and that …
»
Casey Muratori
Moustache is an internal RAD tool. If someone is going to show it publicly, it should probably b…
»
Casey Muratori
Well, I had hoped that the answer would be clear enough, but I will be more precise: You only ne…
»
Casey Muratori
That was my assumption. So I do not think we want to do anything like that in our actual code. …
»
Casey Muratori
It's very unlikely that you would have to do any conversion regardless of the platform. Most (al…
»
Casey Muratori
Well, truth be told, we actually don't need those in Handmade Hero at all, since we control the t…
»
Timothy McCarthy
Well...I'm the visiting team at this game. Casey's park, his rules. I don't want to introduce som…
»
Mārtiņš Možeiko
Nowadays it is simpler to put only this at beginning of header: 1#pragma once While it was not …
»
Timothy McCarthy
I see an issue with the include file header guards. The implementation 1 2 3 4 5 6#if !defined(FI…
»
Timothy McCarthy
Aside: I'm late to this series having just started and trying to get caught up. I am sorry if thi…
»
andrea
C syntax is simple and understandable even by novice programmers as it's free from all the OOP bu…
»
Mārtiņš Možeiko
Right, adding __cpuid makes it significantly slower - more than 4 times. Here's benchmark on my …
»
Christian H.
Is handmade_optimized.cpp not a different translation unit than handmade.cpp that are linked toge…
»
Casey Muratori
On Handmade Hero, we do not use multiple translation units. - Casey
»
Eric Thompson
Cool link. Thanks for sharing.
»