gitextract_k1kbwdwj/ ├── .clang-format ├── .gitattributes ├── .github/ │ └── workflows/ │ ├── cmake.yml │ └── docs.yml ├── .gitignore ├── .gitmodules ├── 3rdparty/ │ ├── CMakeLists.txt │ ├── NoesisApp/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── pch.h │ │ └── register.cpp │ ├── exprtk/ │ │ ├── CMakeLists.txt │ │ ├── exprtk.cpp │ │ ├── exprtk.hpp │ │ └── license/ │ │ └── license.json │ └── fastnoise/ │ ├── CMakeLists.txt │ ├── FastNoise.cpp │ ├── FastNoise.h │ ├── LICENSE │ └── README.md ├── CMakeLists.txt ├── Changelog.md ├── LICENSE ├── README.md ├── cmake/ │ └── modules/ │ ├── FindBugSplat.cmake │ ├── FindNoesis.cmake │ ├── FindOpenAL.cmake │ ├── FindSteam.cmake │ └── windeployqt.cmake ├── content/ │ ├── CMakeLists.txt │ ├── JSON/ │ │ ├── config.json │ │ ├── embarkpresets.json │ │ ├── menusettings.json │ │ ├── newgame.json │ │ └── profs.json │ ├── ai/ │ │ ├── animal_big.xml │ │ ├── animal_guard_dog.xml │ │ ├── animal_hunter.xml │ │ ├── animal_nighthunter.xml │ │ ├── animal_small_pasture.xml │ │ ├── animal_standard.xml │ │ ├── automaton_mark1.xml │ │ ├── automaton_mark2.xml │ │ ├── egg.xml │ │ ├── gnome_standard.xml │ │ ├── gnome_trader.xml │ │ ├── monster_mant_queen.xml │ │ ├── monster_mant_soldier.xml │ │ ├── monster_mant_worker.xml │ │ └── monster_standard.xml │ ├── db/ │ │ └── ingnomia.db.sql │ ├── shaders/ │ │ ├── axle_f.glsl │ │ ├── axle_v.glsl │ │ ├── selection_f.glsl │ │ ├── selection_v.glsl │ │ ├── thoughtbubble_f.glsl │ │ ├── thoughtbubble_v.glsl │ │ ├── world_f.glsl │ │ ├── world_v.glsl │ │ └── worldupdate_c.glsl │ └── xaml/ │ ├── Agriculture.xaml │ ├── CreatureInfo.xaml │ ├── DebugGui.xaml │ ├── Fonts/ │ │ └── SIL Open Font License.txt │ ├── GameGui.xaml │ ├── IngamePage.xaml │ ├── InventoryGui.xaml │ ├── LoadGamePage.xaml │ ├── Main.xaml │ ├── MainMenu.xaml │ ├── MainPage.xaml │ ├── MilitaryGui.xaml │ ├── Neighbors.xaml │ ├── NewGamePage.xaml │ ├── PopulationWindow.xaml │ ├── SelectionGui.xaml │ ├── SettingsPage.xaml │ ├── StockpileGui.xaml │ ├── Theme/ │ │ ├── Fonts/ │ │ │ ├── PT Root UI_Bold.otf │ │ │ └── PT Root UI_Regular.otf │ │ ├── NoesisTheme.Brushes.DarkAqua.xaml │ │ ├── NoesisTheme.Brushes.DarkBlue.xaml │ │ ├── NoesisTheme.Brushes.DarkCrimson.xaml │ │ ├── NoesisTheme.Brushes.DarkEmerald.xaml │ │ ├── NoesisTheme.Brushes.DarkGreen.xaml │ │ ├── NoesisTheme.Brushes.DarkLime.xaml │ │ ├── NoesisTheme.Brushes.DarkOrange.xaml │ │ ├── NoesisTheme.Brushes.DarkPurple.xaml │ │ ├── NoesisTheme.Brushes.DarkRed.xaml │ │ ├── NoesisTheme.Brushes.LightAqua.xaml │ │ ├── NoesisTheme.Brushes.LightBlue.xaml │ │ ├── NoesisTheme.Brushes.LightCrimson.xaml │ │ ├── NoesisTheme.Brushes.LightEmerald.xaml │ │ ├── NoesisTheme.Brushes.LightGreen.xaml │ │ ├── NoesisTheme.Brushes.LightLime.xaml │ │ ├── NoesisTheme.Brushes.LightOrange.xaml │ │ ├── NoesisTheme.Brushes.LightPurple.xaml │ │ ├── NoesisTheme.Brushes.LightRed.xaml │ │ ├── NoesisTheme.Colors.Dark.xaml │ │ ├── NoesisTheme.Colors.Light.xaml │ │ ├── NoesisTheme.DarkAqua.xaml │ │ ├── NoesisTheme.DarkBlue.xaml │ │ ├── NoesisTheme.DarkCrimson.xaml │ │ ├── NoesisTheme.DarkEmerald.xaml │ │ ├── NoesisTheme.DarkGreen.xaml │ │ ├── NoesisTheme.DarkLime.xaml │ │ ├── NoesisTheme.DarkOrange.xaml │ │ ├── NoesisTheme.DarkPurple.xaml │ │ ├── NoesisTheme.DarkRed.xaml │ │ ├── NoesisTheme.Fonts.xaml │ │ ├── NoesisTheme.LightAqua.xaml │ │ ├── NoesisTheme.LightBlue.xaml │ │ ├── NoesisTheme.LightCrimson.xaml │ │ ├── NoesisTheme.LightEmerald.xaml │ │ ├── NoesisTheme.LightGreen.xaml │ │ ├── NoesisTheme.LightLime.xaml │ │ ├── NoesisTheme.LightOrange.xaml │ │ ├── NoesisTheme.LightPurple.xaml │ │ ├── NoesisTheme.LightRed.xaml │ │ └── NoesisTheme.Styles.xaml │ ├── TileInfo.xaml │ ├── WaitPage.xaml │ ├── WorkshopGui.xaml │ ├── localization/ │ │ ├── _.xaml │ │ ├── en_US.xaml │ │ ├── fr_FR.xaml │ │ └── pt_BR.xaml │ └── styles/ │ ├── colors.xaml │ └── mainmenu/ │ ├── pageswap.xaml │ └── styles.xaml ├── devmessages.txt ├── docs/ │ ├── Pipfile │ ├── generate.py │ └── lib/ │ ├── __init__.py │ ├── db.py │ ├── material.py │ ├── render.py │ ├── sprites/ │ │ ├── __init__.py │ │ ├── layout.py │ │ ├── render.py │ │ └── sprite.py │ ├── store.py │ ├── themes/ │ │ ├── __init__.py │ │ └── default/ │ │ ├── __init__.py │ │ ├── assets/ │ │ │ ├── doc.js │ │ │ └── style.css │ │ ├── sprites.py │ │ ├── templates/ │ │ │ ├── base.html.j2 │ │ │ ├── constructions.html.j2 │ │ │ ├── food.html.j2 │ │ │ ├── index.html.j2 │ │ │ ├── item.html.j2 │ │ │ ├── items.html.j2 │ │ │ ├── macros.html.j2 │ │ │ ├── navtable.html.j2 │ │ │ ├── plants.html.j2 │ │ │ ├── sprites.css.j2 │ │ │ ├── tints.svg.j2 │ │ │ ├── workshop.html.j2 │ │ │ └── workshops.html.j2 │ │ └── theme.py │ └── util.py ├── gui/ │ ├── SampleData/ │ │ ├── GameModelSampleData.xaml │ │ ├── StockpileModelSampleData.xaml │ │ └── ViewModelSampleData.xaml │ ├── Src/ │ │ ├── App.config │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ └── stubs.cs │ ├── app.config │ └── gui.csproj ├── keybindings.json ├── resources/ │ └── Plants.docx ├── src/ │ ├── CMakeLists.txt │ ├── base/ │ │ ├── PathFinderThread.cpp │ │ ├── PathFinderThread.h │ │ ├── behaviortree/ │ │ │ ├── bt_factory.cpp │ │ │ ├── bt_factory.h │ │ │ ├── bt_node.cpp │ │ │ ├── bt_node.h │ │ │ ├── bt_nodeaction.cpp │ │ │ ├── bt_nodeaction.h │ │ │ ├── bt_nodebbprecondition.cpp │ │ │ ├── bt_nodebbprecondition.h │ │ │ ├── bt_nodeconditional.cpp │ │ │ ├── bt_nodeconditional.h │ │ │ ├── bt_nodefallback.cpp │ │ │ ├── bt_nodefallback.h │ │ │ ├── bt_nodefallbackstar.cpp │ │ │ ├── bt_nodefallbackstar.h │ │ │ ├── bt_nodeforcefailure.cpp │ │ │ ├── bt_nodeforcefailure.h │ │ │ ├── bt_nodeforcesuccess.cpp │ │ │ ├── bt_nodeforcesuccess.h │ │ │ ├── bt_nodeinverter.cpp │ │ │ ├── bt_nodeinverter.h │ │ │ ├── bt_noderepeat.cpp │ │ │ ├── bt_noderepeat.h │ │ │ ├── bt_noderepeatuntilsuccess.cpp │ │ │ ├── bt_noderepeatuntilsuccess.h │ │ │ ├── bt_nodesequence.cpp │ │ │ ├── bt_nodesequence.h │ │ │ ├── bt_nodesequencestar.cpp │ │ │ ├── bt_nodesequencestar.h │ │ │ └── bt_tree.h │ │ ├── config.cpp │ │ ├── config.h │ │ ├── counter.h │ │ ├── crashhandler.cpp │ │ ├── crashhandler.h │ │ ├── db.cpp │ │ ├── db.h │ │ ├── dbhelper.cpp │ │ ├── dbhelper.h │ │ ├── dbstructs.h │ │ ├── enums.h │ │ ├── filter.cpp │ │ ├── filter.h │ │ ├── gamestate.cpp │ │ ├── gamestate.h │ │ ├── global.cpp │ │ ├── global.h │ │ ├── io.cpp │ │ ├── io.h │ │ ├── lightmap.cpp │ │ ├── lightmap.h │ │ ├── logger.cpp │ │ ├── logger.h │ │ ├── octree.cpp │ │ ├── octree.h │ │ ├── pathfinder.cpp │ │ ├── pathfinder.h │ │ ├── position.h │ │ ├── priorityqueue.h │ │ ├── region.cpp │ │ ├── region.h │ │ ├── regionmap.cpp │ │ ├── regionmap.h │ │ ├── selection.cpp │ │ ├── selection.h │ │ ├── tile.h │ │ ├── util.cpp │ │ ├── util.h │ │ └── vptr.h │ ├── game/ │ │ ├── anatomy.cpp │ │ ├── anatomy.h │ │ ├── animal.cpp │ │ ├── animal.h │ │ ├── automaton.cpp │ │ ├── automaton.h │ │ ├── canwork.cpp │ │ ├── canwork.h │ │ ├── creature.cpp │ │ ├── creature.h │ │ ├── creatureEquipment.cpp │ │ ├── creaturefactory.cpp │ │ ├── creaturefactory.h │ │ ├── creaturemanager.cpp │ │ ├── creaturemanager.h │ │ ├── eventmanager.cpp │ │ ├── eventmanager.h │ │ ├── farm.cpp │ │ ├── farm.h │ │ ├── farmingmanager.cpp │ │ ├── farmingmanager.h │ │ ├── fluidmanager.cpp │ │ ├── fluidmanager.h │ │ ├── game.cpp │ │ ├── game.h │ │ ├── gamemanager.cpp │ │ ├── gamemanager.h │ │ ├── gnome.cpp │ │ ├── gnome.h │ │ ├── gnomeactions.cpp │ │ ├── gnomeconditions.cpp │ │ ├── gnomefactory.cpp │ │ ├── gnomefactory.h │ │ ├── gnomemanager.cpp │ │ ├── gnomemanager.h │ │ ├── gnometrader.cpp │ │ ├── gnometrader.h │ │ ├── grove.cpp │ │ ├── grove.h │ │ ├── inventory.cpp │ │ ├── inventory.h │ │ ├── item.cpp │ │ ├── item.h │ │ ├── itemhistory.cpp │ │ ├── itemhistory.h │ │ ├── job.cpp │ │ ├── job.h │ │ ├── jobmanager.cpp │ │ ├── jobmanager.h │ │ ├── mechanismmanager.cpp │ │ ├── mechanismmanager.h │ │ ├── militarymanager.cpp │ │ ├── militarymanager.h │ │ ├── monster.cpp │ │ ├── monster.h │ │ ├── neighbormanager.cpp │ │ ├── neighbormanager.h │ │ ├── newgamesettings.cpp │ │ ├── newgamesettings.h │ │ ├── object.cpp │ │ ├── object.h │ │ ├── pasture.cpp │ │ ├── pasture.h │ │ ├── plant.cpp │ │ ├── plant.h │ │ ├── room.cpp │ │ ├── room.h │ │ ├── roommanager.cpp │ │ ├── roommanager.h │ │ ├── soundmanager.cpp │ │ ├── soundmanager.h │ │ ├── stockpile.cpp │ │ ├── stockpile.h │ │ ├── stockpilemanager.cpp │ │ ├── stockpilemanager.h │ │ ├── techtree.cpp │ │ ├── techtree.h │ │ ├── workshop.cpp │ │ ├── workshop.h │ │ ├── workshopmanager.cpp │ │ ├── workshopmanager.h │ │ ├── world.cpp │ │ ├── world.h │ │ ├── worldconstructions.cpp │ │ ├── worldgenerator.cpp │ │ ├── worldgenerator.h │ │ ├── worldgetters.cpp │ │ ├── worldobject.cpp │ │ └── worldobject.h │ ├── gfx/ │ │ ├── sprite.cpp │ │ ├── sprite.h │ │ ├── spritefactory.cpp │ │ └── spritefactory.h │ ├── gui/ │ │ ├── aggregatoragri.cpp │ │ ├── aggregatoragri.h │ │ ├── aggregatorcreatureinfo.cpp │ │ ├── aggregatorcreatureinfo.h │ │ ├── aggregatordebug.cpp │ │ ├── aggregatordebug.h │ │ ├── aggregatorinventory.cpp │ │ ├── aggregatorinventory.h │ │ ├── aggregatorloadgame.cpp │ │ ├── aggregatorloadgame.h │ │ ├── aggregatormilitary.cpp │ │ ├── aggregatormilitary.h │ │ ├── aggregatorneighbors.cpp │ │ ├── aggregatorneighbors.h │ │ ├── aggregatorpopulation.cpp │ │ ├── aggregatorpopulation.h │ │ ├── aggregatorrenderer.cpp │ │ ├── aggregatorrenderer.h │ │ ├── aggregatorselection.cpp │ │ ├── aggregatorselection.h │ │ ├── aggregatorsettings.cpp │ │ ├── aggregatorsettings.h │ │ ├── aggregatorsound.cpp │ │ ├── aggregatorsound.h │ │ ├── aggregatorstockpile.cpp │ │ ├── aggregatorstockpile.h │ │ ├── aggregatortileinfo.cpp │ │ ├── aggregatortileinfo.h │ │ ├── aggregatorworkshop.cpp │ │ ├── aggregatorworkshop.h │ │ ├── eventconnector.cpp │ │ ├── eventconnector.h │ │ ├── keybindings.cpp │ │ ├── keybindings.h │ │ ├── license.h.in │ │ ├── mainwindow.cpp │ │ ├── mainwindow.h │ │ ├── mainwindowrenderer.cpp │ │ ├── mainwindowrenderer.h │ │ ├── openalwrapper.cpp │ │ ├── openalwrapper.h │ │ ├── strings.cpp │ │ ├── strings.h │ │ └── xaml/ │ │ ├── GameGui.xaml.cpp │ │ ├── GameGui.xaml.h │ │ ├── GameModel.cpp │ │ ├── GameModel.h │ │ ├── IngamePage.xaml.cpp │ │ ├── IngamePage.xaml.h │ │ ├── LoadGameModel.cpp │ │ ├── LoadGameModel.h │ │ ├── LoadGamePage.xaml.cpp │ │ ├── LoadGamePage.xaml.h │ │ ├── Main.xaml.cpp │ │ ├── Main.xaml.h │ │ ├── MainMenu.xaml.cpp │ │ ├── MainMenu.xaml.h │ │ ├── MainPage.xaml.cpp │ │ ├── MainPage.xaml.h │ │ ├── NewGameModel.cpp │ │ ├── NewGameModel.h │ │ ├── NewGamePage.xaml.cpp │ │ ├── NewGamePage.xaml.h │ │ ├── Population.xaml.cpp │ │ ├── Population.xaml.h │ │ ├── PopulationModel.cpp │ │ ├── PopulationModel.h │ │ ├── ProxyGameView.cpp │ │ ├── ProxyGameView.h │ │ ├── ProxyMainView.cpp │ │ ├── ProxyMainView.h │ │ ├── ProxyTileInfo.cpp │ │ ├── ProxyTileInfo.h │ │ ├── SettingsModel.cpp │ │ ├── SettingsModel.h │ │ ├── SettingsPage.xaml.cpp │ │ ├── SettingsPage.xaml.h │ │ ├── StockpileModel.cpp │ │ ├── StockpileModel.h │ │ ├── StockpileProxy.cpp │ │ ├── StockpileProxy.h │ │ ├── TileInfo.xaml.cpp │ │ ├── TileInfo.xaml.h │ │ ├── TileInfoModel.cpp │ │ ├── TileInfoModel.h │ │ ├── ViewModel.cpp │ │ ├── ViewModel.h │ │ ├── WaitPage.xaml.cpp │ │ ├── WaitPage.xaml.h │ │ ├── agriculture.xaml.cpp │ │ ├── agriculture.xaml.h │ │ ├── agriculturemodel.cpp │ │ ├── agriculturemodel.h │ │ ├── agricultureproxy.cpp │ │ ├── agricultureproxy.h │ │ ├── converters.cpp │ │ ├── converters.h │ │ ├── creatureinfo.xaml.cpp │ │ ├── creatureinfo.xaml.h │ │ ├── creatureinfomodel.cpp │ │ ├── creatureinfomodel.h │ │ ├── creatureinfoproxy.cpp │ │ ├── creatureinfoproxy.h │ │ ├── debug.xaml.cpp │ │ ├── debug.xaml.h │ │ ├── debugmodel.cpp │ │ ├── debugmodel.h │ │ ├── debugproxy.cpp │ │ ├── debugproxy.h │ │ ├── inventory.xaml.cpp │ │ ├── inventory.xaml.h │ │ ├── inventorymodel.cpp │ │ ├── inventorymodel.h │ │ ├── inventoryproxy.cpp │ │ ├── inventoryproxy.h │ │ ├── loadgameproxy.cpp │ │ ├── loadgameproxy.h │ │ ├── military.xaml.cpp │ │ ├── military.xaml.h │ │ ├── militarymodel.cpp │ │ ├── militarymodel.h │ │ ├── militaryproxy.cpp │ │ ├── militaryproxy.h │ │ ├── neighbors.xaml.cpp │ │ ├── neighbors.xaml.h │ │ ├── neighborsmodel.cpp │ │ ├── neighborsmodel.h │ │ ├── neighborsproxy.cpp │ │ ├── neighborsproxy.h │ │ ├── populationproxy.cpp │ │ ├── populationproxy.h │ │ ├── selection.xaml.cpp │ │ ├── selection.xaml.h │ │ ├── selectionmodel.cpp │ │ ├── selectionmodel.h │ │ ├── selectionproxy.cpp │ │ ├── selectionproxy.h │ │ ├── settingsproxy.cpp │ │ ├── settingsproxy.h │ │ ├── stockpilegui.xaml.cpp │ │ ├── stockpilegui.xaml.h │ │ ├── workshopgui.xaml.cpp │ │ ├── workshopgui.xaml.h │ │ ├── workshopmodel.cpp │ │ ├── workshopmodel.h │ │ ├── workshopproxy.cpp │ │ └── workshopproxy.h │ ├── main.cpp │ ├── pch.h │ └── version.h.in └── windows/ ├── Ingnomia.manifest ├── Ingnomia.rc └── resource.h