gitextract__n2furko/ ├── .clangformat ├── .github/ │ └── workflows/ │ └── build.yml ├── .gitignore ├── ANALYSIS.md ├── LICENSE ├── README.md ├── assets/ │ └── GMGeneric.SF2 ├── cinematics.txt ├── deps/ │ ├── include/ │ │ ├── SDL3/ │ │ │ ├── SDL.h │ │ │ ├── SDL_assert.h │ │ │ ├── SDL_asyncio.h │ │ │ ├── SDL_atomic.h │ │ │ ├── SDL_audio.h │ │ │ ├── SDL_begin_code.h │ │ │ ├── SDL_bits.h │ │ │ ├── SDL_blendmode.h │ │ │ ├── SDL_camera.h │ │ │ ├── SDL_clipboard.h │ │ │ ├── SDL_close_code.h │ │ │ ├── SDL_copying.h │ │ │ ├── SDL_cpuinfo.h │ │ │ ├── SDL_dialog.h │ │ │ ├── SDL_dlopennote.h │ │ │ ├── SDL_egl.h │ │ │ ├── SDL_endian.h │ │ │ ├── SDL_error.h │ │ │ ├── SDL_events.h │ │ │ ├── SDL_filesystem.h │ │ │ ├── SDL_gamepad.h │ │ │ ├── SDL_gpu.h │ │ │ ├── SDL_guid.h │ │ │ ├── SDL_haptic.h │ │ │ ├── SDL_hidapi.h │ │ │ ├── SDL_hints.h │ │ │ ├── SDL_init.h │ │ │ ├── SDL_intrin.h │ │ │ ├── SDL_iostream.h │ │ │ ├── SDL_joystick.h │ │ │ ├── SDL_keyboard.h │ │ │ ├── SDL_keycode.h │ │ │ ├── SDL_loadso.h │ │ │ ├── SDL_locale.h │ │ │ ├── SDL_log.h │ │ │ ├── SDL_main.h │ │ │ ├── SDL_main_impl.h │ │ │ ├── SDL_messagebox.h │ │ │ ├── SDL_metal.h │ │ │ ├── SDL_misc.h │ │ │ ├── SDL_mouse.h │ │ │ ├── SDL_mutex.h │ │ │ ├── SDL_oldnames.h │ │ │ ├── SDL_opengl.h │ │ │ ├── SDL_opengl_glext.h │ │ │ ├── SDL_opengles.h │ │ │ ├── SDL_opengles2.h │ │ │ ├── SDL_opengles2_gl2.h │ │ │ ├── SDL_opengles2_gl2ext.h │ │ │ ├── SDL_opengles2_gl2platform.h │ │ │ ├── SDL_opengles2_khrplatform.h │ │ │ ├── SDL_pen.h │ │ │ ├── SDL_pixels.h │ │ │ ├── SDL_platform.h │ │ │ ├── SDL_platform_defines.h │ │ │ ├── SDL_power.h │ │ │ ├── SDL_process.h │ │ │ ├── SDL_properties.h │ │ │ ├── SDL_rect.h │ │ │ ├── SDL_render.h │ │ │ ├── SDL_revision.h │ │ │ ├── SDL_scancode.h │ │ │ ├── SDL_sensor.h │ │ │ ├── SDL_stdinc.h │ │ │ ├── SDL_storage.h │ │ │ ├── SDL_surface.h │ │ │ ├── SDL_system.h │ │ │ ├── SDL_test.h │ │ │ ├── SDL_test_assert.h │ │ │ ├── SDL_test_common.h │ │ │ ├── SDL_test_compare.h │ │ │ ├── SDL_test_crc32.h │ │ │ ├── SDL_test_font.h │ │ │ ├── SDL_test_fuzzer.h │ │ │ ├── SDL_test_harness.h │ │ │ ├── SDL_test_log.h │ │ │ ├── SDL_test_md5.h │ │ │ ├── SDL_test_memory.h │ │ │ ├── SDL_thread.h │ │ │ ├── SDL_time.h │ │ │ ├── SDL_timer.h │ │ │ ├── SDL_touch.h │ │ │ ├── SDL_tray.h │ │ │ ├── SDL_version.h │ │ │ ├── SDL_video.h │ │ │ └── SDL_vulkan.h │ │ ├── TinySoundFont/ │ │ │ ├── tml.h │ │ │ └── tsf.h │ │ ├── TracyC.h │ │ ├── shl/ │ │ │ ├── array.h │ │ │ ├── binary_heap.h │ │ │ ├── flic.h │ │ │ ├── list.h │ │ │ ├── map.h │ │ │ ├── memory_buffer.h │ │ │ ├── memzone.h │ │ │ ├── memzone_audit.h │ │ │ ├── queue.h │ │ │ ├── set.h │ │ │ ├── shl_internal.h │ │ │ ├── stack.h │ │ │ ├── wav.h │ │ │ └── wstr.h │ │ └── stb/ │ │ ├── stb_image.h │ │ ├── stb_image_resize.h │ │ └── stb_image_write.h │ └── lib/ │ ├── arm64/ │ │ ├── libSDL3.so.0 │ │ └── libSDL3.so.0.5.0 │ ├── linux64/ │ │ ├── libSDL3.so.0 │ │ └── libSDL3.so.0.5.0 │ ├── win32/ │ │ ├── SDL3.lib │ │ ├── Tracy.lib │ │ └── libSDL3.dll.a │ └── win64/ │ ├── SDL3.lib │ ├── Tracy.lib │ └── libSDL3.dll.a ├── docs/ │ ├── ACTION_SYSTEM.md │ ├── ANIMATION_SYSTEM.md │ ├── COMMANDS_SYSTEM.md │ ├── ENTITIES_SYSTEM.md │ ├── INPUT_SYSTEM.md │ ├── SCENES_SYSTEM.md │ ├── STATE_MACHINE_SYSTEM.md │ └── UI_SYSTEM.md ├── nob.c ├── nob.h ├── src/ │ ├── common.h │ ├── war.h │ ├── war1.c │ ├── war_actions.c │ ├── war_actions.h │ ├── war_ai.c │ ├── war_ai.h │ ├── war_alloc.c │ ├── war_alloc.h │ ├── war_animations.c │ ├── war_animations.h │ ├── war_audio.c │ ├── war_audio.h │ ├── war_campaigns.c │ ├── war_campaigns.h │ ├── war_cheats.c │ ├── war_cheats.h │ ├── war_cheats_panel.c │ ├── war_color.h │ ├── war_commands.c │ ├── war_commands.h │ ├── war_database.h │ ├── war_entities.c │ ├── war_entities.h │ ├── war_enums.h │ ├── war_file.c │ ├── war_file.h │ ├── war_font.c │ ├── war_font.h │ ├── war_fwd.h │ ├── war_game.c │ ├── war_game.h │ ├── war_imui.c │ ├── war_imui.h │ ├── war_log.c │ ├── war_log.h │ ├── war_map.c │ ├── war_map.h │ ├── war_map_menu.c │ ├── war_map_menu.h │ ├── war_map_ui.c │ ├── war_map_ui.h │ ├── war_math.c │ ├── war_math.h │ ├── war_net.c │ ├── war_net.h │ ├── war_pathfinder.c │ ├── war_pathfinder.h │ ├── war_projectiles.c │ ├── war_projectiles.h │ ├── war_render.c │ ├── war_render.h │ ├── war_resources.c │ ├── war_resources.h │ ├── war_roads.c │ ├── war_ruins.c │ ├── war_scene_blizzard.c │ ├── war_scene_blizzard.h │ ├── war_scene_briefing.c │ ├── war_scene_briefing.h │ ├── war_scene_download.c │ ├── war_scene_download.h │ ├── war_scene_menu.c │ ├── war_scene_menu.h │ ├── war_scenes.c │ ├── war_scenes.h │ ├── war_sprites.c │ ├── war_sprites.h │ ├── war_state_machine.c │ ├── war_state_machine.h │ ├── war_state_machine_attack.c │ ├── war_state_machine_build.c │ ├── war_state_machine_cast.c │ ├── war_state_machine_chopping.c │ ├── war_state_machine_collapse.c │ ├── war_state_machine_death.c │ ├── war_state_machine_deliver.c │ ├── war_state_machine_follow.c │ ├── war_state_machine_gather_gold.c │ ├── war_state_machine_gather_wood.c │ ├── war_state_machine_idle.c │ ├── war_state_machine_mining.c │ ├── war_state_machine_move.c │ ├── war_state_machine_patrol.c │ ├── war_state_machine_repair.c │ ├── war_state_machine_repairing.c │ ├── war_state_machine_train.c │ ├── war_state_machine_upgrade.c │ ├── war_state_machine_wait.c │ ├── war_trees.c │ ├── war_ui.c │ ├── war_ui.h │ ├── war_units.c │ ├── war_units.h │ └── war_walls.c └── todo.md