The overall story is pretty impressive, they are clearly dedicated to this project. I had never heard of the game, I feel like I must play it now to honor this effort, if not the original game itself
Here is the original article from the dev: https://banteg.xyz/posts/crimsonland/
![[Image: cl2-development-shot-02.jpg]](https://banteg.xyz/posts/crimsonland/cl2-development-shot-02.jpg)
![[Image: vtable1.avif]](https://banteg.xyz/posts/crimsonland/vtable1.avif)
Quote:crimsonland (2003, remastered 2014, resurrected 2026) is a top-down shooter from the era when indie games were still called “shareware” and steam was something that came out of radiators. you play as a small man with a gun. things try to touch you. you shoot them. eventually there are too many things. you die. it’s perfect.
Here is the original article from the dev: https://banteg.xyz/posts/crimsonland/
![[Image: cl2-development-shot-02.jpg]](https://banteg.xyz/posts/crimsonland/cl2-development-shot-02.jpg)
![[Image: vtable1.avif]](https://banteg.xyz/posts/crimsonland/vtable1.avif)
Quote:our agent observes that a function searches existing entry by name, allocates a 0x24 entry when missing, strdup’s name/value, parses float via crt_atof_l, and is used by register_core_cvars with “cv_*” strings. it renames FUN_00402350 to console_register_cvar and adds an entry to our map.
{
"program": "crimsonland.exe",
"address": "0x00402350",
"name": "console_register_cvar",
"signature": "void * console_register_cvar(char *name, char *value)",
"comment": "registers or updates a console cvar entry (stores string + float value)"
},
on the next regen more types will propagate. then you repeat it 300 more times and confidently map around 2000 functions and labels we care about.

