├── .gitignore
├── .run
└── placeholder.txt
├── .vscode
├── c_cpp_properties.json
├── launch.json
└── tasks.json
├── .web
└── fonts
│ ├── cp437_10x10.png
│ ├── cp437_12x12.png
│ ├── cp437_14x14.png
│ ├── cp437_16x16.png
│ ├── cp437_18x18.png
│ ├── cp437_20x20.png
│ ├── cp437_24x24.png
│ ├── cp437_28x28.png
│ ├── cp437_32x32.png
│ ├── cp437_36x36.png
│ ├── cp437_40x40.png
│ ├── cp437_4x4.png
│ ├── cp437_6x6.png
│ └── cp437_8x8.png
├── LICENSE
├── PerlinNoise.hpp
├── README.md
├── SDL
└── placeholder.txt
├── a3d
├── game_map_y7.a3d
└── game_map_y8.a3d
├── asciicker.gif
├── asciicker.js
├── asciicker.json
├── asciicker.png
├── asciiid.code-workspace
├── asciiid.cpp
├── asciiid.sln
├── asciiid.vcxproj
├── asciiid.vcxproj.filters
├── asciiid.vcxproj.user
├── audio-post.js
├── audio-pre.js
├── audio.cpp
├── audio.h
├── build-web.sh
├── build.sh
├── clean.sh
├── controls.txt
├── enemygen.cpp
├── enemygen.h
├── fast_rand.h
├── favicon.ico
├── font1.cpp
├── font1.h
├── fonts
├── Roboto-Medium.ttf
├── cp437_10x10.png
├── cp437_10x10.png.bdf
├── cp437_10x10.png.psf
├── cp437_12x12.png
├── cp437_12x12.png.bdf
├── cp437_12x12.png.psf
├── cp437_14x14.png
├── cp437_14x14.png.bdf
├── cp437_14x14.png.psf
├── cp437_16x16.png
├── cp437_16x16.png.bdf
├── cp437_16x16.png.psf
├── cp437_18x18.png
├── cp437_18x18.png.bdf
├── cp437_18x18.png.psf
├── cp437_20x20.png
├── cp437_20x20.png.bdf
├── cp437_20x20.png.psf
├── cp437_24x24.png
├── cp437_24x24.png.bdf
├── cp437_24x24.png.psf
├── cp437_28x28.png
├── cp437_28x28.png.bdf
├── cp437_28x28.png.psf
├── cp437_32x32.png
├── cp437_32x32.png.bdf
├── cp437_32x32.png.psf
├── cp437_36x36.png
├── cp437_36x36.png.bdf
├── cp437_36x36.png.psf
├── cp437_40x40.png
├── cp437_40x40.png.bdf
├── cp437_40x40.png.psf
├── cp437_4x4.png
├── cp437_4x4.png.bdf
├── cp437_4x4.png.psf
├── cp437_6x6.png
├── cp437_6x6.png.bdf
├── cp437_6x6.png.psf
├── cp437_8x8.png
├── cp437_8x8.png.bdf
├── cp437_8x8.png.psf
└── fonts.dir
├── game.cpp
├── game.h
├── game.vcxproj
├── game.vcxproj.filters
├── game.vcxproj.user
├── game_api.cpp
├── game_api.h
├── game_app.cpp
├── game_svr.cpp
├── game_web.cpp
├── game_web.html
├── gamepad.cpp
├── gamepad.h
├── gl.c
├── gl.h
├── gl45_emu.cpp
├── gl45_emu.h
├── glxext.h
├── icons
├── app.png
├── basn0g01.png
├── basn0g02.png
├── basn0g04.png
├── basn0g08.png
├── basn0g16.png
├── basn2c08.png
├── basn2c16.png
├── basn3p01.png
├── basn3p02.png
├── basn3p04.png
├── basn3p08.png
├── basn4a08.png
├── basn4a16.png
├── basn6a08.png
└── basn6a16.png
├── images
└── menu.png
├── imgui
├── .editorconfig
├── .travis.yml
├── LICENSE.txt
├── docs
│ ├── CHANGELOG.txt
│ ├── README.md
│ ├── TODO.txt
│ ├── issue_template.md
│ └── pull_request_template.md
├── examples
│ ├── .gitignore
│ ├── README.txt
│ ├── example_allegro5
│ │ ├── README.md
│ │ ├── example_allegro5.vcxproj
│ │ ├── example_allegro5.vcxproj.filters
│ │ ├── imconfig_allegro5.h
│ │ └── main.cpp
│ ├── example_apple_metal
│ │ ├── README.md
│ │ ├── Shared
│ │ │ ├── AppDelegate.h
│ │ │ ├── AppDelegate.m
│ │ │ ├── Renderer.h
│ │ │ ├── Renderer.mm
│ │ │ ├── ViewController.h
│ │ │ ├── ViewController.mm
│ │ │ └── main.m
│ │ ├── example_apple_metal.xcodeproj
│ │ │ └── project.pbxproj
│ │ ├── iOS
│ │ │ ├── Base.lproj
│ │ │ │ └── Main.storyboard
│ │ │ ├── Default-568h@2x.png
│ │ │ ├── Info-iOS.plist
│ │ │ └── Launch Screen.storyboard
│ │ └── macOS
│ │ │ ├── Base.lproj
│ │ │ └── Main.storyboard
│ │ │ └── Info-macOS.plist
│ ├── example_apple_opengl2
│ │ ├── example_apple_opengl2.xcodeproj
│ │ │ └── project.pbxproj
│ │ └── main.mm
│ ├── example_freeglut_opengl2
│ │ ├── example_freeglut_opengl2.vcxproj
│ │ ├── example_freeglut_opengl2.vcxproj.filters
│ │ └── main.cpp
│ ├── example_glfw_opengl2
│ │ ├── Makefile
│ │ ├── build_win32.bat
│ │ ├── example_glfw_opengl2.vcxproj
│ │ ├── example_glfw_opengl2.vcxproj.filters
│ │ └── main.cpp
│ ├── example_glfw_opengl3
│ │ ├── Makefile
│ │ ├── build_win32.bat
│ │ ├── example_glfw_opengl3.vcxproj
│ │ ├── example_glfw_opengl3.vcxproj.filters
│ │ └── main.cpp
│ ├── example_glfw_vulkan
│ │ ├── CMakeLists.txt
│ │ ├── build_win32.bat
│ │ ├── build_win64.bat
│ │ ├── example_glfw_vulkan.vcxproj
│ │ ├── example_glfw_vulkan.vcxproj.filters
│ │ ├── gen_spv.sh
│ │ ├── glsl_shader.frag
│ │ ├── glsl_shader.vert
│ │ └── main.cpp
│ ├── example_marmalade
│ │ ├── data
│ │ │ └── app.icf
│ │ ├── main.cpp
│ │ └── marmalade_example.mkb
│ ├── example_null
│ │ ├── build_win32.bat
│ │ └── main.cpp
│ ├── example_sdl_opengl2
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── build_win32.bat
│ │ ├── example_sdl_opengl2.vcxproj
│ │ ├── example_sdl_opengl2.vcxproj.filters
│ │ └── main.cpp
│ ├── example_sdl_opengl3
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── build_win32.bat
│ │ ├── example_sdl_opengl3.vcxproj
│ │ ├── example_sdl_opengl3.vcxproj.filters
│ │ └── main.cpp
│ ├── example_sdl_vulkan
│ │ ├── example_sdl_vulkan.vcxproj
│ │ ├── example_sdl_vulkan.vcxproj.filters
│ │ └── main.cpp
│ ├── example_win32_directx10
│ │ ├── build_win32.bat
│ │ ├── example_win32_directx10.vcxproj
│ │ ├── example_win32_directx10.vcxproj.filters
│ │ └── main.cpp
│ ├── example_win32_directx11
│ │ ├── build_win32.bat
│ │ ├── example_win32_directx11.vcxproj
│ │ ├── example_win32_directx11.vcxproj.filters
│ │ └── main.cpp
│ ├── example_win32_directx12
│ │ ├── build_win32.bat
│ │ ├── example_win32_directx12.vcxproj
│ │ ├── example_win32_directx12.vcxproj.filters
│ │ └── main.cpp
│ ├── example_win32_directx9
│ │ ├── build_win32.bat
│ │ ├── example_win32_directx9.vcxproj
│ │ ├── example_win32_directx9.vcxproj.filters
│ │ └── main.cpp
│ ├── imgui_examples.sln
│ ├── imgui_impl_allegro5.cpp
│ ├── imgui_impl_allegro5.h
│ ├── imgui_impl_dx10.cpp
│ ├── imgui_impl_dx10.h
│ ├── imgui_impl_dx11.cpp
│ ├── imgui_impl_dx11.h
│ ├── imgui_impl_dx12.cpp
│ ├── imgui_impl_dx12.h
│ ├── imgui_impl_dx9.cpp
│ ├── imgui_impl_dx9.h
│ ├── imgui_impl_freeglut.cpp
│ ├── imgui_impl_freeglut.h
│ ├── imgui_impl_glfw.cpp
│ ├── imgui_impl_glfw.h
│ ├── imgui_impl_marmalade.cpp
│ ├── imgui_impl_marmalade.h
│ ├── imgui_impl_metal.h
│ ├── imgui_impl_metal.mm
│ ├── imgui_impl_opengl2.cpp
│ ├── imgui_impl_opengl2.h
│ ├── imgui_impl_opengl3.cpp
│ ├── imgui_impl_opengl3.h
│ ├── imgui_impl_osx.h
│ ├── imgui_impl_osx.mm
│ ├── imgui_impl_sdl.cpp
│ ├── imgui_impl_sdl.h
│ ├── imgui_impl_vulkan.cpp
│ ├── imgui_impl_vulkan.h
│ ├── imgui_impl_win32.cpp
│ ├── imgui_impl_win32.h
│ └── libs
│ │ ├── gl3w
│ │ └── GL
│ │ │ ├── gl3w.c
│ │ │ ├── gl3w.h
│ │ │ └── glcorearb.h
│ │ ├── glfw
│ │ ├── COPYING.txt
│ │ ├── include
│ │ │ └── GLFW
│ │ │ │ ├── glfw3.h
│ │ │ │ └── glfw3native.h
│ │ ├── lib-vc2010-32
│ │ │ └── glfw3.lib
│ │ └── lib-vc2010-64
│ │ │ └── glfw3.lib
│ │ └── usynergy
│ │ ├── README.txt
│ │ ├── uSynergy.c
│ │ └── uSynergy.h
├── imconfig.h
├── imgui.cpp
├── imgui.h
├── imgui_demo.cpp
├── imgui_draw.cpp
├── imgui_internal.h
├── imgui_widgets.cpp
├── imstb_rectpack.h
├── imstb_textedit.h
├── imstb_truetype.h
└── misc
│ ├── README.txt
│ ├── cpp
│ ├── README.txt
│ ├── imgui_stdlib.cpp
│ └── imgui_stdlib.h
│ ├── fonts
│ ├── Cousine-Regular.ttf
│ ├── DroidSans.ttf
│ ├── Karla-Regular.ttf
│ ├── ProggyClean.ttf
│ ├── ProggyTiny.ttf
│ ├── README.txt
│ ├── Roboto-Medium.ttf
│ └── binary_to_compressed_c.cpp
│ ├── freetype
│ ├── README.md
│ ├── imgui_freetype.cpp
│ └── imgui_freetype.h
│ └── natvis
│ ├── README.txt
│ └── imgui.natvis
├── imgui_impl_opengl3.cpp
├── imgui_impl_opengl3.h
├── input.cpp
├── inventory.cpp
├── inventory.h
├── io_mesh_akm
├── __init__.py
├── export_akm.py
├── import_akm.py
├── softlink.cmd
└── softlink.sh
├── lexer.h
├── log.bin
├── mainmenu.cpp
├── mainmenu.h
├── makefile_asciiid
├── makefile_asciiid_mac
├── makefile_game
├── makefile_game_mac
├── makefile_game_term
├── makefile_game_term_mac
├── makefile_server
├── matrix.h
├── meshes
├── brick-1.akm
├── brick-1.blend
├── bridge-1.akm
├── bridge-1.blend
├── bridge-2.akm
├── bridge-2.blend
├── bush-1.akm
├── bush-1.blend
├── fence.akm
├── fence.blend
├── house-3.akm
├── house-3.blend
├── laundry-1.akm
├── laundry-1.blend
├── old-tree-1.akm
├── old-tree-1.blend
├── old-tree-2.akm
├── old-tree-2.blend
├── rock-1.akm
├── rock-1.blend
├── ship-1.akm
├── ship-1.blend
├── skull.akm
├── skull.blend
├── tree-1.akm
├── tree-1.blend
├── tree-2.akm
├── tree-2.blend
├── tree-3.akm
├── tree-3.blend
└── tree-cut-1.blend
├── mswin.cpp
├── multiplayer.txt
├── network.cpp
├── network.h
├── palettes
├── 332.png
├── ansi.png
├── atari_pal_ntsc.png
├── palette.gz
├── xterm256.png
└── xterm666.png
├── physics.cpp
├── physics.h
├── platform.h
├── png2xp
├── build.sh
├── png2xp.cpp
├── png2xp.vcxproj
├── png2xp.vcxproj.filters
└── png2xp.vcxproj.user
├── render.cpp
├── render.h
├── rgba8.cpp
├── rgba8.h
├── run_console.sh
├── run_xterm.sh
├── samples
├── enc.sh
├── footsteps.ogg
├── footsteps.txt
├── footsteps.wav
├── forest.ogg
└── forest.wav
├── screen.cpp
├── sdl.cpp
├── server.vcxproj
├── server.vcxproj.filters
├── server.vcxproj.user
├── sha1.c
├── silhouettes.txt
├── snap
├── gui
│ ├── asciicker.desktop
│ └── asciicker.png
├── launcher
└── snapcraft.yaml
├── sprite.cpp
├── sprite.h
├── sprites
├── asciicker.xp
├── attack-0001.xp
├── attack-0011.xp
├── attack-0101.xp
├── attack-0111.xp
├── attack-1001.xp
├── attack-1011.xp
├── attack-1101.xp
├── attack-1111.xp
├── bigbee-0000.xp
├── bigbee-0001.xp
├── bigbee-0002.xp
├── bigbee-0010.xp
├── bigbee-0011.xp
├── bigbee-0012.xp
├── bigbee-0100.xp
├── bigbee-0101.xp
├── bigbee-0102.xp
├── bigbee-0110.xp
├── bigbee-0111.xp
├── bigbee-0112.xp
├── bigbee-1000.xp
├── bigbee-1001.xp
├── bigbee-1002.xp
├── bigbee-1010.xp
├── bigbee-1011.xp
├── bigbee-1012.xp
├── bigbee-1100.xp
├── bigbee-1101.xp
├── bigbee-1102.xp
├── bigbee-1110.xp
├── bigbee-1111.xp
├── bigbee-1112.xp
├── bigbee.xp
├── character.xp
├── desert_plants.xp
├── enemygen.xp
├── fire.xp
├── font-1.xp
├── gamepad.xp
├── grid-alpha-sword.xp
├── grid-apple.xp
├── grid-beet.xp
├── grid-big-axe.xp
├── grid-big-hammer.xp
├── grid-big-mace.xp
├── grid-blue-potion.xp
├── grid-bread.xp
├── grid-carrot.xp
├── grid-cheese.xp
├── grid-cherry.xp
├── grid-crossbow.xp
├── grid-cucumber.xp
├── grid-cyan-potion.xp
├── grid-cyan-ring.xp
├── grid-egg.xp
├── grid-flail.xp
├── grid-gold-potion.xp
├── grid-gold-ring.xp
├── grid-green-potion.xp
├── grid-grey-potion.xp
├── grid-heavy-armor.xp
├── grid-heavy-helmet.xp
├── grid-heavy-shield.xp
├── grid-light-armor.xp
├── grid-light-helmet.xp
├── grid-light-shield.xp
├── grid-lumber-axe.xp
├── grid-meat.xp
├── grid-milk.xp
├── grid-pink-potion.xp
├── grid-pink-ring.xp
├── grid-plum.xp
├── grid-plus-sword.xp
├── grid-red-potion.xp
├── grid-small-mace.xp
├── grid-small-saber.xp
├── grid-small-sword.xp
├── grid-water.xp
├── grid-white-ring.xp
├── grid-wine.xp
├── inventory.xp
├── item-apple.xp
├── item-armor.xp
├── item-axe.xp
├── item-beet.xp
├── item-blue-potion.xp
├── item-bread.xp
├── item-carrot.xp
├── item-cheese.xp
├── item-cherry.xp
├── item-crossbow.xp
├── item-cucumber.xp
├── item-cyan-potion.xp
├── item-cyan-ring.xp
├── item-egg.xp
├── item-flail.xp
├── item-gold-potion.xp
├── item-gold-ring.xp
├── item-green-potion.xp
├── item-grey-potion.xp
├── item-hammer.xp
├── item-helmet.xp
├── item-mace.xp
├── item-meat.xp
├── item-milk.xp
├── item-pink-potion.xp
├── item-pink-ring.xp
├── item-plum.xp
├── item-red-potion.xp
├── item-shield.xp
├── item-sword.xp
├── item-water.xp
├── item-white-ring.xp
├── item-wine.xp
├── keyb-07.xp
├── keyb-09.xp
├── keyb-11.xp
├── keyb-13.xp
├── keyb-15.xp
├── keyb-caps-a.xp
├── keyb-caps-b.xp
├── keyb-caps-c.xp
├── player-0000.xp
├── player-0001.xp
├── player-0002.xp
├── player-0010.xp
├── player-0011.xp
├── player-0012.xp
├── player-0100.xp
├── player-0101.xp
├── player-0102.xp
├── player-0110.xp
├── player-0111.xp
├── player-0112.xp
├── player-1000.xp
├── player-1001.xp
├── player-1002.xp
├── player-1010.xp
├── player-1011.xp
├── player-1012.xp
├── player-1100.xp
├── player-1101.xp
├── player-1102.xp
├── player-1110.xp
├── player-1111.xp
├── player-1112.xp
├── player-nude.xp
├── plydie-0000.xp
├── plydie-0001.xp
├── plydie-0002.xp
├── plydie-0010.xp
├── plydie-0011.xp
├── plydie-0012.xp
├── plydie-0100.xp
├── plydie-0101.xp
├── plydie-0102.xp
├── plydie-0110.xp
├── plydie-0111.xp
├── plydie-0112.xp
├── plydie-1000.xp
├── plydie-1001.xp
├── plydie-1002.xp
├── plydie-1010.xp
├── plydie-1011.xp
├── plydie-1012.xp
├── plydie-1100.xp
├── plydie-1101.xp
├── plydie-1102.xp
├── plydie-1110.xp
├── plydie-1111.xp
├── plydie-1112.xp
├── wolack-0001.xp
├── wolack-0011.xp
├── wolack-0101.xp
├── wolack-0111.xp
├── wolack-1001.xp
├── wolack-1011.xp
├── wolack-1101.xp
├── wolack-1111.xp
├── wolfie-0000.xp
├── wolfie-0001.xp
├── wolfie-0002.xp
├── wolfie-0010.xp
├── wolfie-0011.xp
├── wolfie-0012.xp
├── wolfie-0100.xp
├── wolfie-0101.xp
├── wolfie-0102.xp
├── wolfie-0110.xp
├── wolfie-0111.xp
├── wolfie-0112.xp
├── wolfie-1000.xp
├── wolfie-1001.xp
├── wolfie-1002.xp
├── wolfie-1010.xp
├── wolfie-1011.xp
├── wolfie-1012.xp
├── wolfie-1100.xp
├── wolfie-1101.xp
├── wolfie-1102.xp
├── wolfie-1110.xp
├── wolfie-1111.xp
├── wolfie-1112.xp
└── wolfie.xp
├── stb_vorbis.cpp
├── stb_vorbis.h
├── stdafx.h
├── targetver.h
├── term.cpp
├── term.h
├── terminal.cpp
├── terrain.cpp
├── terrain.h
├── texheap.cpp
├── texheap.h
├── tinfl.c
├── upng.c
├── upng.h
├── urdo.cpp
├── urdo.h
├── v8
├── x64.debug-args.gn
├── x64.release-args.gn
├── x86.debug-args.gn
└── x86.release-args.gn
├── water.cpp
├── wglext.h
├── world.cpp
├── world.h
└── x11.cpp
/.gitignore:
--------------------------------------------------------------------------------
1 | .*/
2 |
3 | imgui.ini
4 | asciicker.cfg
5 |
--------------------------------------------------------------------------------
/.run/placeholder.txt:
--------------------------------------------------------------------------------
1 | make output placeholder
2 |
--------------------------------------------------------------------------------
/.vscode/c_cpp_properties.json:
--------------------------------------------------------------------------------
1 | {
2 | "configurations": [
3 | {
4 | "name": "Linux",
5 | "includePath": [
6 | "${workspaceFolder}/v8/v8/include",
7 | "${workspaceFolder}/**"
8 | ],
9 | "defines": [
10 | "USE_SDL",
11 | "USE_GPM"
12 | ],
13 | "compilerPath": "/usr/bin/gcc",
14 | "cStandard": "c11",
15 | "cppStandard": "c++17",
16 | "intelliSenseMode": "gcc-x64",
17 | "configurationProvider": "ms-vscode.makefile-tools"
18 | }
19 | ],
20 | "version": 4
21 | }
--------------------------------------------------------------------------------
/.vscode/tasks.json:
--------------------------------------------------------------------------------
1 | {
2 | // See https://go.microsoft.com/fwlink/?LinkId=733558
3 | // for the documentation about the tasks.json format
4 | "version": "2.0.0",
5 | "tasks": [
6 | {
7 | "label": "run-game",
8 | "type": "shell",
9 | "command": ".run/game",
10 | "problemMatcher": [
11 | "$gcc"
12 | ],
13 | "group": {
14 | "kind": "build",
15 | "isDefault": true
16 | }
17 | },
18 | {
19 | "label": "build-all",
20 | "type": "shell",
21 | "command": "./build.sh",
22 | "problemMatcher": [
23 | "$gcc"
24 | ],
25 | "group": {
26 | "kind": "build",
27 | "isDefault": true
28 | }
29 | },
30 | {
31 | "label": "clean-all",
32 | "type": "shell",
33 | "command": "./clean.sh",
34 | "problemMatcher": [
35 | "$gcc"
36 | ],
37 | "group": {
38 | "kind": "build",
39 | "isDefault": true
40 | }
41 | },
42 | {
43 | "label": "build-web",
44 | "type": "shell",
45 | "command": "./build-web.sh",
46 | "problemMatcher": [
47 | "$gcc"
48 | ],
49 | "group": {
50 | "kind": "build",
51 | "isDefault": true
52 | }
53 | }
54 | ]
55 | }
--------------------------------------------------------------------------------
/.web/fonts/cp437_10x10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/.web/fonts/cp437_10x10.png
--------------------------------------------------------------------------------
/.web/fonts/cp437_12x12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/.web/fonts/cp437_12x12.png
--------------------------------------------------------------------------------
/.web/fonts/cp437_14x14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/.web/fonts/cp437_14x14.png
--------------------------------------------------------------------------------
/.web/fonts/cp437_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/.web/fonts/cp437_16x16.png
--------------------------------------------------------------------------------
/.web/fonts/cp437_18x18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/.web/fonts/cp437_18x18.png
--------------------------------------------------------------------------------
/.web/fonts/cp437_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/.web/fonts/cp437_20x20.png
--------------------------------------------------------------------------------
/.web/fonts/cp437_24x24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/.web/fonts/cp437_24x24.png
--------------------------------------------------------------------------------
/.web/fonts/cp437_28x28.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/.web/fonts/cp437_28x28.png
--------------------------------------------------------------------------------
/.web/fonts/cp437_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/.web/fonts/cp437_32x32.png
--------------------------------------------------------------------------------
/.web/fonts/cp437_36x36.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/.web/fonts/cp437_36x36.png
--------------------------------------------------------------------------------
/.web/fonts/cp437_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/.web/fonts/cp437_40x40.png
--------------------------------------------------------------------------------
/.web/fonts/cp437_4x4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/.web/fonts/cp437_4x4.png
--------------------------------------------------------------------------------
/.web/fonts/cp437_6x6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/.web/fonts/cp437_6x6.png
--------------------------------------------------------------------------------
/.web/fonts/cp437_8x8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/.web/fonts/cp437_8x8.png
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 gumix / msokalski
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # asciicker
2 |
3 |
4 | // TODO:
5 | // whatever you want
6 |
7 |
--------------------------------------------------------------------------------
/SDL/placeholder.txt:
--------------------------------------------------------------------------------
1 | for windows unpack SDL here it should contains ./include and ./lib dirs
2 | then copy ./lib/*.dll files to apriopriate build/run directories
--------------------------------------------------------------------------------
/a3d/game_map_y7.a3d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/a3d/game_map_y7.a3d
--------------------------------------------------------------------------------
/a3d/game_map_y8.a3d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/a3d/game_map_y8.a3d
--------------------------------------------------------------------------------
/asciicker.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/asciicker.gif
--------------------------------------------------------------------------------
/asciicker.js:
--------------------------------------------------------------------------------
1 | var CACHE_NAME = 'asciicker';
2 | var urlsToCache = [
3 | 'fonts/cp437_6x6.png',
4 | 'fonts/cp437_8x8.png',
5 | 'fonts/cp437_10x10.png',
6 | 'fonts/cp437_12x12.png',
7 | 'fonts/cp437_14x14.png',
8 | 'fonts/cp437_16x16.png',
9 | 'fonts/cp437_18x18.png',
10 | 'fonts/cp437_20x20.png',
11 | 'index.html',
12 | 'index.data',
13 | 'index.js',
14 | 'index.wasm',
15 | 'asciicker.png',
16 | 'asciicker.json',
17 | 'asciicker.js'
18 | ];
19 |
20 | self.addEventListener('install', function (event) {
21 | // Perform install steps
22 | event.waitUntil(
23 | caches.open(CACHE_NAME)
24 | .then(function (cache) {
25 | console.log('Opened cache');
26 | return cache.addAll(urlsToCache);
27 | })
28 | );
29 | });
30 |
31 | self.addEventListener('fetch', function (event) {
32 | event.respondWith(
33 | caches.match(event.request)
34 | .then(function (response) {
35 | // Cache hit - return response
36 | if (response) {
37 | return response;
38 | }
39 |
40 | return fetch(event.request).then(
41 | function (response) {
42 | // Check if we received a valid response
43 | if (!response || response.status !== 200 || response.type !== 'basic') {
44 | return response;
45 | }
46 |
47 | // IMPORTANT: Clone the response. A response is a stream
48 | // and because we want the browser to consume the response
49 | // as well as the cache consuming the response, we need
50 | // to clone it so we have two streams.
51 | var responseToCache = response.clone();
52 |
53 | caches.open(CACHE_NAME)
54 | .then(function (cache) {
55 | cache.put(event.request, responseToCache);
56 | });
57 |
58 | return response;
59 | }
60 | );
61 | })
62 | );
63 | });
64 |
65 | /*
66 | self.addEventListener('fetch', function (event) {
67 | // it can be empty if you just want to get rid of that error
68 | });
69 | */
70 |
71 |
--------------------------------------------------------------------------------
/asciicker.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "asciicker",
3 | "name": "asciicker",
4 | "icons": [
5 | {
6 | "src": "asciicker.png",
7 | "sizes": "256x256",
8 | "type": "image/png"
9 | }
10 | ],
11 | "start_url": "index.html",
12 | "display": "fullscreen",
13 | "orientation": "landscape",
14 | "background_color": "#000000",
15 | "theme_color": "#000000"
16 | }
17 |
--------------------------------------------------------------------------------
/asciicker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/asciicker.png
--------------------------------------------------------------------------------
/asciiid.code-workspace:
--------------------------------------------------------------------------------
1 | {
2 | "folders": [
3 | {
4 | "path": "."
5 | }
6 | ],
7 | "settings": {
8 |
9 | "terminal.integrated.fontSize" : 16,
10 | "terminal.integrated.lineHeight" : 1,
11 | "terminal.integrated.fontWeight" : "100",
12 | // "terminal.integrated.fontFamily" : "PxPlus IBM CGAthin",
13 |
14 | "disasexpl.associations": {
15 | "**/*.c": "${workspaceFolder}/.o_game/${relativeFileDir}/${fileBasenameNoExtension}.s",
16 | "**/*.cpp": "${workspaceFolder}/.o_game/${relativeFileDir}/${fileBasenameNoExtension}.s"
17 | },
18 | "files.associations": {
19 | "cmath": "cpp",
20 | "random": "cpp",
21 | "*.tcc": "cpp",
22 | "array": "cpp",
23 | "string_view": "cpp",
24 | "initializer_list": "cpp",
25 | "utility": "cpp",
26 | "typeinfo": "cpp",
27 | "map": "cpp",
28 | "__config": "cpp",
29 | "typeindex": "cpp",
30 | "functional": "cpp",
31 | "*.inc": "cpp",
32 | "exception": "cpp",
33 | "system_error": "cpp",
34 | "sstream": "cpp",
35 | "numbers": "cpp",
36 | "__locale": "cpp",
37 | "regex": "cpp",
38 | "strstream": "cpp",
39 | "atomic": "cpp",
40 | "memory": "cpp",
41 | "charconv": "cpp",
42 | "__node_handle": "cpp",
43 | "queue": "cpp",
44 | "stack": "cpp",
45 | "ios": "cpp",
46 | "rope": "cpp",
47 | "ostream": "cpp"
48 | }
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/asciiid.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $(ProjectDir)
5 | WindowsLocalDebugger
6 |
7 |
8 | $(ProjectDir)
9 | WindowsLocalDebugger
10 |
11 |
12 | $(ProjectDir)
13 | WindowsLocalDebugger
14 |
15 |
16 | $(ProjectDir)
17 | WindowsLocalDebugger
18 |
19 |
--------------------------------------------------------------------------------
/audio-pre.js:
--------------------------------------------------------------------------------
1 | var performance_fake = 0;
2 | var performance = {now:function() { return performance_fake++; }};
3 |
--------------------------------------------------------------------------------
/audio.h:
--------------------------------------------------------------------------------
1 | #ifndef AUDIO_H
2 | #define AUDIO_H
3 |
4 | #include
5 |
6 | struct SpriteReq;
7 |
8 | bool InitAudio();
9 | void FreeAudio();
10 |
11 | void CallAudio(const uint8_t* data, int size);
12 | void AudioWalk(int foot, int volume, const SpriteReq* req, int material);
13 | void AudioMute(bool mute);
14 |
15 | enum AUDIO_FILE
16 | {
17 | // merge them all into single file, use in file markers
18 | // prepare similar files for several armor levels
19 |
20 | FOREST,
21 | FOOTSTEPS,
22 | /*
23 | WALK_ROCK_L,
24 | WALK_ROCK_R,
25 | WALK_WOOD_L,
26 | WALK_WOOD_R,
27 | WALK_DIRT_L,
28 | WALK_DIRT_R,
29 | WALK_GRASS_L,
30 | WALK_GRASS_R,
31 | WALK_BUSH_L,
32 | WALK_BUSH_R,
33 | WALK_BLOOD_L,
34 | WALK_BLOOD_R,
35 | WALK_WATER_L,
36 | WALK_WATER_R,
37 | */
38 |
39 |
40 | AUDIO_FILES
41 | };
42 |
43 | int GetSampleID(AUDIO_FILE af);
44 |
45 |
46 | // is this right direction?
47 | /*
48 | void SetAudioSteps(int num_steps, int contact);
49 | void SetAudioWingsFreq(int freq);
50 | void SetAudioSwoosh(int speed, int contact);
51 | void SetAudioJump(int contact, bool end);
52 | void SetAudioShoot(int contact);
53 | void SetAudioWater(int height, int speed);
54 | */
55 |
56 | #endif
57 |
--------------------------------------------------------------------------------
/clean.sh:
--------------------------------------------------------------------------------
1 | make -f makefile_asciiid clean
2 | make -f makefile_server clean
3 | make -f makefile_game clean
4 | make -f makefile_game_term clean
5 |
6 |
7 |
--------------------------------------------------------------------------------
/controls.txt:
--------------------------------------------------------------------------------
1 | Control your character:
2 | -----------------------
3 |
4 | by keyboard:
5 | - arrow keys: move
6 | - WASD keys: move (alternate)
7 | - Q/E keys: rotates view
8 | - SPACE key: jump
9 | - ENTER: attack (you must be equipped)
10 |
11 | by mouse:
12 | - push and hold LMB in desired move direction, relative to character
13 | - while holding LMB press RMB to jump
14 | - drag with RMB to rotate view
15 |
16 | by touch:
17 | - start touch anywhere excluding areas covered by popup elements
18 | - move your finger in desired direction
19 | - while holding 'move' finger tap with another finger anywhere to jump
20 | - hold finger on left/right screen edge to rotate view
21 |
22 | Picking up items:
23 | - get close to the item / items, popup elements will appear below character
24 | - tap / click on item or press coresponding number on keyboard to pick it up
25 | - if inventory is open you can drag item from popup right into inventory
26 |
27 | Open / close inventory:
28 | -----------------------
29 |
30 | by keyboard:
31 | - press I key
32 |
33 | by mouse / touch:
34 | - tap on character icon in upper-left corner
35 |
36 | Removing items from inventory:
37 | ------------------------------
38 |
39 | - drag item outside inventory window and drop
40 | - hilight item and press 0 key (also possible when inventory is closed)
41 |
42 | Consuming / Using / Unusing items
43 | ---------------------------------
44 |
45 | - by mouse: RMB click on item in inventry
46 | - by touch: hold one finger on item in inventory and tap with another finger anywhere
47 |
48 |
--------------------------------------------------------------------------------
/enemygen.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | struct EnemyGen
4 | {
5 | EnemyGen* next;
6 | EnemyGen* prev;
7 | float pos[3];
8 | int alive_max; // 1-7
9 | int revive_min, revive_max; // (0-10) 2^n seconds
10 | int armor; // 0-10
11 | int helmet; // 0-10
12 | int shield; // 0-10
13 | int sword; // 0-10
14 | int crossbow; // 0-10
15 |
16 | // maybe add story_id
17 | // for generated enemies?
18 | };
19 |
20 | extern EnemyGen* enemygen_head;
21 | extern EnemyGen* enemygen_tail;
22 |
23 | void FreeEnemyGens();
24 | void LoadEnemyGens(FILE* f);
25 | void SaveEnemyGens(FILE* f);
26 |
27 | #ifdef EDITOR
28 | EnemyGen* HitEnemyGen(double* p, double* v);
29 | void DeleteEnemyGen(EnemyGen* eg);
30 | #endif
31 |
--------------------------------------------------------------------------------
/fast_rand.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | static unsigned int g_seed = 0x57654321;
4 |
5 | // Used to seed the generator.
6 | inline void fast_srand(int seed) {
7 | g_seed = seed;
8 | }
9 |
10 | // Compute a pseudorandom integer.
11 | // Output value in range [0, 32767]
12 | #define FAST_RAND_MAX 0x7fff
13 | inline int fast_rand(void) {
14 | g_seed = (214013 * g_seed + 2531011);
15 | return (g_seed >> 16) & 0x7FFF;
16 | }
17 |
--------------------------------------------------------------------------------
/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/favicon.ico
--------------------------------------------------------------------------------
/font1.h:
--------------------------------------------------------------------------------
1 | #ifndef FONT1_H
2 | #define FONT1_H
3 |
4 | void LoadFont1();
5 | void FreeFont1();
6 |
7 | #define FONT1_GREY_SKIN 0
8 | #define FONT1_GOLD_SKIN 1
9 | #define FONT1_PINK_SKIN 2
10 |
11 | void Font1Size(const char* str, int* w, int* h);
12 | void Font1Paint(AnsiCell* ptr, int width, int height, int x, int y, const char* str, int skin = 0, bool underline = false);
13 | void Font1UnderLine(AnsiCell* ptr, int width, int height, int x, int y, int w, int skin = 0);
14 |
15 | #endif
16 |
--------------------------------------------------------------------------------
/fonts/Roboto-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/Roboto-Medium.ttf
--------------------------------------------------------------------------------
/fonts/cp437_10x10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_10x10.png
--------------------------------------------------------------------------------
/fonts/cp437_10x10.png.psf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_10x10.png.psf
--------------------------------------------------------------------------------
/fonts/cp437_12x12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_12x12.png
--------------------------------------------------------------------------------
/fonts/cp437_12x12.png.psf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_12x12.png.psf
--------------------------------------------------------------------------------
/fonts/cp437_14x14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_14x14.png
--------------------------------------------------------------------------------
/fonts/cp437_14x14.png.psf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_14x14.png.psf
--------------------------------------------------------------------------------
/fonts/cp437_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_16x16.png
--------------------------------------------------------------------------------
/fonts/cp437_16x16.png.psf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_16x16.png.psf
--------------------------------------------------------------------------------
/fonts/cp437_18x18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_18x18.png
--------------------------------------------------------------------------------
/fonts/cp437_18x18.png.psf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_18x18.png.psf
--------------------------------------------------------------------------------
/fonts/cp437_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_20x20.png
--------------------------------------------------------------------------------
/fonts/cp437_20x20.png.psf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_20x20.png.psf
--------------------------------------------------------------------------------
/fonts/cp437_24x24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_24x24.png
--------------------------------------------------------------------------------
/fonts/cp437_24x24.png.psf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_24x24.png.psf
--------------------------------------------------------------------------------
/fonts/cp437_28x28.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_28x28.png
--------------------------------------------------------------------------------
/fonts/cp437_28x28.png.psf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_28x28.png.psf
--------------------------------------------------------------------------------
/fonts/cp437_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_32x32.png
--------------------------------------------------------------------------------
/fonts/cp437_32x32.png.psf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_32x32.png.psf
--------------------------------------------------------------------------------
/fonts/cp437_36x36.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_36x36.png
--------------------------------------------------------------------------------
/fonts/cp437_36x36.png.psf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_36x36.png.psf
--------------------------------------------------------------------------------
/fonts/cp437_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_40x40.png
--------------------------------------------------------------------------------
/fonts/cp437_40x40.png.psf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_40x40.png.psf
--------------------------------------------------------------------------------
/fonts/cp437_4x4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_4x4.png
--------------------------------------------------------------------------------
/fonts/cp437_4x4.png.psf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_4x4.png.psf
--------------------------------------------------------------------------------
/fonts/cp437_6x6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_6x6.png
--------------------------------------------------------------------------------
/fonts/cp437_6x6.png.psf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_6x6.png.psf
--------------------------------------------------------------------------------
/fonts/cp437_8x8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_8x8.png
--------------------------------------------------------------------------------
/fonts/cp437_8x8.png.psf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/fonts/cp437_8x8.png.psf
--------------------------------------------------------------------------------
/game.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $(ProjectDir)
5 | WindowsLocalDebugger
6 |
7 |
8 | $(ProjectDir)
9 | WindowsLocalDebugger
10 |
11 |
12 | $(ProjectDir)
13 | WindowsLocalDebugger
14 | -url gumix@localhost/ws/y7/
15 |
16 |
17 | $(ProjectDir)
18 | WindowsLocalDebugger
19 | -url goomix@###asciicker.com:80/ws/y7/
20 |
21 |
22 | true
23 |
24 |
--------------------------------------------------------------------------------
/game_api.h:
--------------------------------------------------------------------------------
1 | #ifndef GAME_API_H
2 | #define GAME_API_H
3 |
4 | struct Game;
5 |
6 | #define AKAPI_BUF_SIZE (65536+256/8)
7 | extern "C" void akAPI_Call(int id);
8 | extern void* akAPI_Buff;
9 | extern Game* game;
10 |
11 | void akAPI_Init();
12 | void akAPI_Free();
13 |
14 | // implemented by game_app or game_web
15 | void akAPI_Exec(const char* str, int len = -1, bool root=false);
16 | void akAPI_CB(int id);
17 |
18 | #if defined GAME || defined EMSCRIPTEN
19 | bool akAPI_OnSay(const char* str, int len, bool* allowed=0);
20 | bool akAPI_OnItem(int action, int story_id, int kind, int subkind, int weight, const char* str,
21 | bool* allowed=0, int* out_story_id=0, const char** out_desc=0);
22 | bool akAPI_OnFrame();
23 | #else
24 | bool akAPI_OnSay(const char* str, int len, bool* allowed=0) {return false;}
25 | bool akAPI_OnItem(int action, int story_id, int kind, int subkind, int weight, const char* str,
26 | bool* allowed=0, int* out_story_id=0, const char** out_desc=0) {return false;}
27 | bool akAPI_OnFrame() {return false;}
28 | #endif
29 |
30 | #endif
31 |
--------------------------------------------------------------------------------
/gamepad.h:
--------------------------------------------------------------------------------
1 | #ifndef GAMEPAD_H
2 | #define GAMEPAD_H
3 |
4 | void LoadGamePad();
5 | void FreeGamePad();
6 |
7 | void SetGamePadMapping(const uint8_t* map);
8 | const uint8_t* GetGamePadMapping();
9 | const char* GetGamePad(int* axes, int* buttons);
10 |
11 | void ConnectGamePad(const char* name, int axes, int buttons, const uint8_t mapping[]);
12 | void DisconnectGamePad();
13 |
14 | // return num of outs
15 | int UpdateGamePadAxis(int a, int16_t pos, uint32_t out[4]);
16 | int UpdateGamePadButton(int b, int16_t pos, uint32_t out[1]);
17 |
18 | void PaintGamePad(AnsiCell* ptr, int width, int height, uint64_t stamp);
19 |
20 | void GamePadOpen( void (*close)(void* _g), void* g );
21 |
22 | void GamePadContact(int id, int ev, int x, int y, uint64_t stamp);
23 | /*
24 | id = contact (0:lmb, 1:touch0, 2:touch1, ...)
25 | ev = 0:begin 1;move 2:end 3:cancel
26 | */
27 |
28 | void GamePadKeyb(int key, uint64_t stamp);
29 | /*
30 | key = 5:l,6:r,3:u,4:d, 1:enter, 0:space, 2:(backslash,escape,backspace), 7:(c,C), 8:(r,R)
31 | */
32 |
33 | #endif
34 |
--------------------------------------------------------------------------------
/gl45_emu.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "gl.h"
4 |
5 | #define USE_GL3 1
6 |
7 | void gl3CopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ,
8 | GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ,
9 | GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
10 |
11 | void gl3GetTextureSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset,
12 | GLsizei width, GLsizei height, GLsizei depth,
13 | GLenum format, GLenum type, GLsizei bufSize, void *pixels);
14 |
15 | void gl3TextureStorage2D(GLuint tex, GLint levels, GLenum ifmt, GLsizei w, GLsizei h);
16 | void gl3TextureStorage3D(GLuint tex, GLint levels, GLenum ifmt, GLsizei w, GLsizei h, GLsizei d);
17 | void gl3CreateTextures(GLenum target, GLsizei num, GLuint* arr);
18 | void gl3TextureSubImage2D(GLuint tex, GLint level, GLint x, GLint y, GLsizei w, GLsizei h, GLenum fmt, GLenum type, const void *pix);
19 | void gl3BindTextureUnit2D(GLuint unit, GLuint tex);
20 | void gl3BindTextureUnit3D(GLuint unit, GLuint tex);
21 | void gl3TextureParameteri2D(GLuint tex, GLenum param, GLint val);
22 | void gl3TextureParameteri3D(GLuint tex, GLenum param, GLint val);
23 | void gl3TextureParameterfv2D(GLuint tex, GLenum param, GLfloat* val);
24 | void gl3TextureParameterfv3D(GLuint tex, GLenum param, GLfloat* val);
25 | void gl3CreateBuffers(GLsizei num, GLuint* arr);
26 | void gl3NamedBufferStorage(GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags);
27 | void gl3NamedBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data);
28 | void gl3CreateVertexArrays(GLsizei num, GLuint* arr);
29 |
--------------------------------------------------------------------------------
/icons/app.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/icons/app.png
--------------------------------------------------------------------------------
/icons/basn0g01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/icons/basn0g01.png
--------------------------------------------------------------------------------
/icons/basn0g02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/icons/basn0g02.png
--------------------------------------------------------------------------------
/icons/basn0g04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/icons/basn0g04.png
--------------------------------------------------------------------------------
/icons/basn0g08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/icons/basn0g08.png
--------------------------------------------------------------------------------
/icons/basn0g16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/icons/basn0g16.png
--------------------------------------------------------------------------------
/icons/basn2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/icons/basn2c08.png
--------------------------------------------------------------------------------
/icons/basn2c16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/icons/basn2c16.png
--------------------------------------------------------------------------------
/icons/basn3p01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/icons/basn3p01.png
--------------------------------------------------------------------------------
/icons/basn3p02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/icons/basn3p02.png
--------------------------------------------------------------------------------
/icons/basn3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/icons/basn3p04.png
--------------------------------------------------------------------------------
/icons/basn3p08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/icons/basn3p08.png
--------------------------------------------------------------------------------
/icons/basn4a08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/icons/basn4a08.png
--------------------------------------------------------------------------------
/icons/basn4a16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/icons/basn4a16.png
--------------------------------------------------------------------------------
/icons/basn6a08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/icons/basn6a08.png
--------------------------------------------------------------------------------
/icons/basn6a16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/icons/basn6a16.png
--------------------------------------------------------------------------------
/images/menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/images/menu.png
--------------------------------------------------------------------------------
/imgui/.editorconfig:
--------------------------------------------------------------------------------
1 | # editorconfig.org
2 |
3 | # top-most EditorConfig file
4 | root = true
5 |
6 | # Default settings:
7 | # Use 4 spaces as indentation
8 | [*]
9 | indent_style = space
10 | indent_size = 4
11 | insert_final_newline = true
12 | trim_trailing_whitespace = true
13 |
14 | [imstb_*]
15 | indent_size = 3
16 | trim_trailing_whitespace = false
17 |
18 | [Makefile]
19 | indent_style = tab
20 | indent_size = 4
21 |
--------------------------------------------------------------------------------
/imgui/.travis.yml:
--------------------------------------------------------------------------------
1 | language: cpp
2 | sudo: required
3 | dist: trusty
4 |
5 | os:
6 | - linux
7 | - osx
8 |
9 | compiler:
10 | - gcc
11 | - clang
12 |
13 | before_install:
14 | - if [ $TRAVIS_OS_NAME == linux ]; then
15 | sudo apt-get update -qq;
16 | sudo apt-get install -y --no-install-recommends libxrandr-dev libxi-dev libxxf86vm-dev libsdl2-dev;
17 | wget https://github.com/glfw/glfw/releases/download/3.2.1/glfw-3.2.1.zip;
18 | unzip glfw-3.2.1.zip && cd glfw-3.2.1;
19 | cmake -DBUILD_SHARED_LIBS=true -DGLFW_BUILD_EXAMPLES=false -DGLFW_BUILD_TESTS=false -DGLFW_BUILD_DOCS=false .;
20 | sudo make -j $CPU_NUM install && cd ..;
21 | fi
22 | - if [ $TRAVIS_OS_NAME == osx ]; then
23 | brew update;
24 | brew install glfw3;
25 | brew install sdl2;
26 | fi
27 |
28 | script:
29 | - make -C examples/example_glfw_opengl2
30 | - make -C examples/example_glfw_opengl3
31 | - make -C examples/example_sdl_opengl3
32 | - if [ $TRAVIS_OS_NAME == osx ]; then
33 | xcodebuild -project examples/example_apple_metal/example_apple_metal.xcodeproj -target example_apple_metal_macos;
34 | fi
35 |
--------------------------------------------------------------------------------
/imgui/LICENSE.txt:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014-2019 Omar Cornut
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/imgui/docs/issue_template.md:
--------------------------------------------------------------------------------
1 | (Click "Preview" to turn any http URL into a clickable link)
2 |
3 | 1. PLEASE CAREFULLY READ:
4 | https://github.com/ocornut/imgui/issues/2261
5 |
6 | 2. IF YOU ARE HAVING AN ISSUE COMPILING/LINKING/RUNNING/LOADING FONTS, please post on the "Getting Started" Discourse forum:
7 | https://discourse.dearimgui.org/c/getting-started
8 |
9 | 3. PLEASE MAKE SURE that you have: read the FAQ in imgui.cpp; explored the contents of ShowDemoWindow() including the Examples menu; searched among Issues; used your IDE to search for keywords in all sources and text files; and read the link provided in (1).
10 |
11 | 4. Be mindful that messages are being sent to the mailbox of "Watching" users. Try to proof-read your messages before sending them. Edits are not seen by those users, unless they browse the site.
12 |
13 | 5. Delete points 1-5 and PLEASE FILL THE TEMPLATE BELOW before submitting your issue.
14 |
15 | Thank you!
16 |
17 | ----
18 |
19 | _(you may also go to Demo>About Window, and click "Config/Build Information" to obtain a bunch of detailed information that you can paste here)_
20 |
21 | **Version/Branch of Dear ImGui:**
22 |
23 | Version: XXX
24 | Branch: XXX _(master/viewport/docking/etc.)_
25 |
26 | **Back-end/Renderer/Compiler/OS**
27 |
28 | Back-ends: imgui_impl_XXX.cpp + imgui_impl_XXX.cpp _(or specify if using a custom engine/back-end)_
29 | Compiler: XXX _(if the question is related to building or platform specific features)_
30 | Operating System: XXX
31 |
32 | **My Issue/Question:**
33 |
34 | XXX _(please provide as much context as possible)_
35 |
36 | **Screenshots/Video**
37 |
38 | XXX _(you can drag files here)_
39 |
40 | **Standalone, minimal, complete and verifiable example:** _(see https://github.com/ocornut/imgui/issues/2261)_
41 | ```
42 | // Please do not forget this!
43 | ImGui::Begin("Example Bug");
44 | MoreCodeToExplainMyIssue();
45 | ImGui::End();
46 | ```
47 |
--------------------------------------------------------------------------------
/imgui/docs/pull_request_template.md:
--------------------------------------------------------------------------------
1 | (Click "Preview" to turn any http URL into a clickable link)
2 |
3 | PLEASE CAREFULLY READ:
4 | https://github.com/ocornut/imgui/issues/2261
5 |
6 | (Clear this template before submitting your PR)
7 |
--------------------------------------------------------------------------------
/imgui/examples/.gitignore:
--------------------------------------------------------------------------------
1 | build/*
2 | */Debug/*
3 | */Release/*
4 | */x64/*
5 | *.o
6 | *.obj
7 | *.exe
8 |
9 | ## Visual Studio cruft
10 | .vs/*
11 | */ipch/*
12 | *.opensdf
13 | *.log
14 | *.pdb
15 | *.ilk
16 | *.user
17 | *.sdf
18 | *.suo
19 | *.VC.db
20 | *.VC.VC.opendb
21 |
22 | ## Xcode cruft
23 | .DS_Store
24 | project.xcworkspace
25 | xcuserdata
26 |
27 | ## Emscripten output
28 | *.out.js
29 | *.out.wasm
30 |
31 | ## Unix executables
32 | example_glfw_opengl2/example_glfw_opengl2
33 | example_glfw_opengl3/example_glfw_opengl3
34 | example_sdl_opengl2/example_sdl_opengl2
35 | example_sdl_opengl3/example_sdl_opengl3
36 |
37 | ## Dear ImGui Ini files
38 | imgui.ini
39 |
--------------------------------------------------------------------------------
/imgui/examples/example_allegro5/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Configuration
3 |
4 | Dear ImGui outputs 16-bit vertex indices by default.
5 | Allegro doesn't support them natively, so we have two solutions: convert the indices manually in imgui_impl_allegro5.cpp, or compile imgui with 32-bit indices.
6 | You can either modify imconfig.h that comes with Dear ImGui (easier), or set a C++ preprocessor option IMGUI_USER_CONFIG to find to a filename.
7 | We are providing `imconfig_allegro5.h` that enables 32-bit indices.
8 | Note that the back-end supports _BOTH_ 16-bit and 32-bit indices, but 32-bit indices will be slightly faster as they won't require a manual conversion.
9 |
10 | # How to Build
11 |
12 | - On Ubuntu 14.04+
13 |
14 | ```bash
15 | g++ -DIMGUI_USER_CONFIG=\"examples/example_allegro5/imconfig_allegro5.h\" -I .. -I ../.. main.cpp ../imgui_impl_allegro5.cpp ../../imgui*.cpp -lallegro -lallegro_primitives -o allegro5_example
16 | ```
17 |
18 | - On Windows with Visual Studio's CLI
19 |
20 | ```
21 | set ALLEGRODIR=path_to_your_allegro5_folder
22 | cl /Zi /MD /I %ALLEGRODIR%\include /DIMGUI_USER_CONFIG=\"examples/example_allegro5/imconfig_allegro5.h\" /I .. /I ..\.. main.cpp ..\imgui_impl_allegro5.cpp ..\..\imgui*.cpp /link /LIBPATH:%ALLEGRODIR%\lib allegro-5.0.10-monolith-md.lib user32.lib
23 | ```
24 |
--------------------------------------------------------------------------------
/imgui/examples/example_allegro5/example_allegro5.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {20b90ce4-7fcb-4731-b9a0-075f875de82d}
6 |
7 |
8 | {f18ab499-84e1-499f-8eff-9754361e0e52}
9 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
10 |
11 |
12 |
13 |
14 | imgui
15 |
16 |
17 | imgui
18 |
19 |
20 | imgui
21 |
22 |
23 | sources
24 |
25 |
26 | sources
27 |
28 |
29 | sources
30 |
31 |
32 | imgui
33 |
34 |
35 |
36 |
37 | imgui
38 |
39 |
40 | imgui
41 |
42 |
43 | imgui
44 |
45 |
46 | sources
47 |
48 |
49 |
50 |
51 |
52 | sources
53 |
54 |
55 |
--------------------------------------------------------------------------------
/imgui/examples/example_allegro5/imconfig_allegro5.h:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------------
2 | // COMPILE-TIME OPTIONS FOR DEAR IMGUI ALLEGRO 5 EXAMPLE
3 | // See imconfig.h for the full template
4 | // Because Allegro doesn't support 16-bit vertex indices, we enable the compile-time option of imgui to use 32-bit indices
5 | //-----------------------------------------------------------------------------
6 |
7 | #pragma once
8 |
9 | // Use 32-bit vertex indices because Allegro doesn't support 16-bit ones
10 | // This allows us to avoid converting vertices format at runtime
11 | #define ImDrawIdx int
12 |
--------------------------------------------------------------------------------
/imgui/examples/example_apple_metal/README.md:
--------------------------------------------------------------------------------
1 | # iOS / OSX Metal example
2 |
3 | ## Introduction
4 |
5 | This example shows how to integrate Dear ImGui with Metal. It is based on the "cross-platform" game template provided with Xcode as of Xcode 9.
6 |
7 | (NB: you may still want to use GLFW or SDL which will also support Windows, Linux along with OSX.)
8 |
9 |
--------------------------------------------------------------------------------
/imgui/examples/example_apple_metal/Shared/AppDelegate.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | #if TARGET_OS_IPHONE
4 |
5 | #import
6 |
7 | @interface AppDelegate : UIResponder
8 | @property (strong, nonatomic) UIWindow *window;
9 | @end
10 |
11 | #else
12 |
13 | #import
14 |
15 | @interface AppDelegate : NSObject
16 | @end
17 |
18 | #endif
19 |
--------------------------------------------------------------------------------
/imgui/examples/example_apple_metal/Shared/AppDelegate.m:
--------------------------------------------------------------------------------
1 | #import "AppDelegate.h"
2 |
3 | @implementation AppDelegate
4 |
5 | #if TARGET_OS_OSX
6 | - (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)sender {
7 | return YES;
8 | }
9 | #endif
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/imgui/examples/example_apple_metal/Shared/Renderer.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface Renderer : NSObject
4 |
5 | -(nonnull instancetype)initWithView:(nonnull MTKView *)view;
6 |
7 | @end
8 |
9 |
--------------------------------------------------------------------------------
/imgui/examples/example_apple_metal/Shared/ViewController.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 | #import "Renderer.h"
4 |
5 | #if TARGET_OS_IPHONE
6 |
7 | #import
8 |
9 | @interface ViewController : UIViewController
10 | @end
11 |
12 | #else
13 |
14 | #import
15 |
16 | @interface ViewController : NSViewController
17 | @end
18 |
19 | #endif
20 |
--------------------------------------------------------------------------------
/imgui/examples/example_apple_metal/Shared/main.m:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | #if TARGET_OS_IPHONE
4 |
5 | #import
6 | #import "AppDelegate.h"
7 |
8 | int main(int argc, char * argv[]) {
9 | @autoreleasepool {
10 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
11 | }
12 | }
13 |
14 | #else
15 |
16 | #import
17 |
18 | int main(int argc, const char * argv[]) {
19 | return NSApplicationMain(argc, argv);
20 | }
21 |
22 | #endif
23 |
--------------------------------------------------------------------------------
/imgui/examples/example_apple_metal/iOS/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/imgui/examples/example_apple_metal/iOS/Default-568h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/imgui/examples/example_apple_metal/iOS/Default-568h@2x.png
--------------------------------------------------------------------------------
/imgui/examples/example_apple_metal/iOS/Info-iOS.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | imgui
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | 1
21 | LSRequiresIPhoneOS
22 |
23 | UILaunchStoryboardName
24 | Launch Screen
25 | UIMainStoryboardFile
26 | Main
27 | UIRequiredDeviceCapabilities
28 |
29 | armv7
30 | metal
31 |
32 | UIRequiresFullScreen
33 |
34 | UIStatusBarHidden
35 |
36 | UISupportedInterfaceOrientations
37 |
38 | UIInterfaceOrientationPortrait
39 | UIInterfaceOrientationLandscapeLeft
40 | UIInterfaceOrientationLandscapeRight
41 | UIInterfaceOrientationPortraitUpsideDown
42 |
43 | UISupportedInterfaceOrientations~ipad
44 |
45 | UIInterfaceOrientationPortrait
46 | UIInterfaceOrientationPortraitUpsideDown
47 | UIInterfaceOrientationLandscapeLeft
48 | UIInterfaceOrientationLandscapeRight
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/imgui/examples/example_apple_metal/iOS/Launch Screen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/imgui/examples/example_apple_metal/macOS/Info-macOS.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIconFile
10 |
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | imgui
17 | CFBundlePackageType
18 | APPL
19 | CFBundleShortVersionString
20 | 1.0
21 | CFBundleVersion
22 | 1
23 | LSMinimumSystemVersion
24 | $(MACOSX_DEPLOYMENT_TARGET)
25 | NSHumanReadableCopyright
26 | Copyright © 2018 Warren Moore. All rights reserved.
27 | NSMainStoryboardFile
28 | Main
29 | NSPrincipalClass
30 | NSApplication
31 |
32 |
33 |
--------------------------------------------------------------------------------
/imgui/examples/example_freeglut_opengl2/example_freeglut_opengl2.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {c336cfe3-f0c4-464c-9ef0-a9e17a7ff222}
6 |
7 |
8 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
9 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
10 |
11 |
12 |
13 |
14 | sources
15 |
16 |
17 | imgui
18 |
19 |
20 | imgui
21 |
22 |
23 | imgui
24 |
25 |
26 | sources
27 |
28 |
29 | sources
30 |
31 |
32 | imgui
33 |
34 |
35 |
36 |
37 | imgui
38 |
39 |
40 | imgui
41 |
42 |
43 | imgui
44 |
45 |
46 | sources
47 |
48 |
49 | sources
50 |
51 |
52 |
53 |
54 |
55 | sources
56 |
57 |
58 |
--------------------------------------------------------------------------------
/imgui/examples/example_glfw_opengl2/Makefile:
--------------------------------------------------------------------------------
1 | #
2 | # Cross Platform Makefile
3 | # Compatible with MSYS2/MINGW, Ubuntu 14.04.1 and Mac OS X
4 | #
5 | # You will need GLFW (http://www.glfw.org):
6 | # Linux:
7 | # apt-get install libglfw-dev
8 | # Mac OS X:
9 | # brew install glfw
10 | # MSYS2:
11 | # pacman -S --noconfirm --needed mingw-w64-x86_64-toolchain mingw-w64-x86_64-glfw
12 | #
13 |
14 | #CXX = g++
15 | #CXX = clang++
16 |
17 | EXE = example_glfw_opengl2
18 | SOURCES = main.cpp
19 | SOURCES += ../imgui_impl_glfw.cpp ../imgui_impl_opengl2.cpp
20 | SOURCES += ../../imgui.cpp ../../imgui_demo.cpp ../../imgui_draw.cpp ../../imgui_widgets.cpp
21 | OBJS = $(addsuffix .o, $(basename $(notdir $(SOURCES))))
22 |
23 | UNAME_S := $(shell uname -s)
24 |
25 |
26 | ifeq ($(UNAME_S), Linux) #LINUX
27 | ECHO_MESSAGE = "Linux"
28 | LIBS = -lGL `pkg-config --static --libs glfw3`
29 |
30 | CXXFLAGS = -I../ -I../../ `pkg-config --cflags glfw3`
31 | CXXFLAGS += -Wall -Wformat
32 | CFLAGS = $(CXXFLAGS)
33 | endif
34 |
35 | ifeq ($(UNAME_S), Darwin) #APPLE
36 | ECHO_MESSAGE = "Mac OS X"
37 | LIBS = -framework OpenGL -framework Cocoa -framework IOKit -framework CoreVideo
38 | #LIBS += -L/usr/local/lib -lglfw3
39 | LIBS += -L/usr/local/lib -lglfw
40 |
41 | CXXFLAGS = -I../ -I../../ -I/usr/local/include
42 | CXXFLAGS += -Wall -Wformat
43 | CFLAGS = $(CXXFLAGS)
44 | endif
45 |
46 | ifeq ($(findstring MINGW,$(UNAME_S)),MINGW)
47 | ECHO_MESSAGE = "Windows"
48 | LIBS = -lglfw3 -lgdi32 -lopengl32 -limm32
49 |
50 | CXXFLAGS = -I../ -I../../ -I../libs/gl3w `pkg-config --cflags glfw3`
51 | CXXFLAGS += -Wall -Wformat
52 | CFLAGS = $(CXXFLAGS)
53 | endif
54 |
55 |
56 | %.o:%.cpp
57 | $(CXX) $(CXXFLAGS) -c -o $@ $<
58 |
59 | %.o:../%.cpp
60 | $(CXX) $(CXXFLAGS) -c -o $@ $<
61 |
62 | %.o:../../%.cpp
63 | $(CXX) $(CXXFLAGS) -c -o $@ $<
64 |
65 | all: $(EXE)
66 | @echo Build complete for $(ECHO_MESSAGE)
67 |
68 | $(EXE): $(OBJS)
69 | $(CXX) -o $@ $^ $(CXXFLAGS) $(LIBS)
70 |
71 | clean:
72 | rm -f $(EXE) $(OBJS)
73 |
74 |
--------------------------------------------------------------------------------
/imgui/examples/example_glfw_opengl2/build_win32.bat:
--------------------------------------------------------------------------------
1 | @REM Build for Visual Studio compiler. Run your copy of vcvars32.bat or vcvarsall.bat to setup command-line compiler.
2 | mkdir Debug
3 | cl /nologo /Zi /MD /I .. /I ..\.. /I ..\libs\glfw\include *.cpp ..\imgui_impl_opengl2.cpp ..\imgui_impl_glfw.cpp ..\..\imgui*.cpp /FeDebug/example_glfw_opengl2.exe /FoDebug/ /link /LIBPATH:..\libs\glfw\lib-vc2010-32 glfw3.lib opengl32.lib gdi32.lib shell32.lib
4 |
--------------------------------------------------------------------------------
/imgui/examples/example_glfw_opengl2/example_glfw_opengl2.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {c336cfe3-f0c4-464c-9ef0-a9e17a7ff222}
6 |
7 |
8 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
9 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
10 |
11 |
12 |
13 |
14 | sources
15 |
16 |
17 | imgui
18 |
19 |
20 | imgui
21 |
22 |
23 | imgui
24 |
25 |
26 | sources
27 |
28 |
29 | sources
30 |
31 |
32 | imgui
33 |
34 |
35 |
36 |
37 | imgui
38 |
39 |
40 | imgui
41 |
42 |
43 | imgui
44 |
45 |
46 | sources
47 |
48 |
49 | sources
50 |
51 |
52 |
53 |
54 |
55 | sources
56 |
57 |
58 |
--------------------------------------------------------------------------------
/imgui/examples/example_glfw_opengl3/build_win32.bat:
--------------------------------------------------------------------------------
1 | @REM Build for Visual Studio compiler. Run your copy of vcvars32.bat or vcvarsall.bat to setup command-line compiler.
2 | mkdir Debug
3 | cl /nologo /Zi /MD /I .. /I ..\.. /I ..\libs\glfw\include /I ..\libs\gl3w *.cpp ..\imgui_impl_glfw.cpp ..\imgui_impl_opengl3.cpp ..\..\imgui*.cpp ..\libs\gl3w\GL\gl3w.c /FeDebug/example_glfw_opengl3.exe /FoDebug/ /link /LIBPATH:..\libs\glfw\lib-vc2010-32 glfw3.lib opengl32.lib gdi32.lib shell32.lib
4 |
--------------------------------------------------------------------------------
/imgui/examples/example_glfw_vulkan/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8)
2 | project(imgui_example_glfw_vulkan C CXX)
3 |
4 | if(NOT CMAKE_BUILD_TYPE)
5 | set(CMAKE_BUILD_TYPE Debug CACHE STRING "" FORCE)
6 | endif()
7 |
8 | set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DVK_PROTOTYPES")
9 | set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DVK_PROTOTYPES")
10 |
11 | # GLFW
12 | set(GLFW_DIR ../../../glfw) # Set this to point to an up-to-date GLFW repo
13 | option(GLFW_BUILD_EXAMPLES "Build the GLFW example programs" OFF)
14 | option(GLFW_BUILD_TESTS "Build the GLFW test programs" OFF)
15 | option(GLFW_BUILD_DOCS "Build the GLFW documentation" OFF)
16 | option(GLFW_INSTALL "Generate installation target" OFF)
17 | option(GLFW_DOCUMENT_INTERNALS "Include internals in documentation" OFF)
18 | add_subdirectory(${GLFW_DIR} binary_dir EXCLUDE_FROM_ALL)
19 | include_directories(${GLFW_DIR}/include)
20 |
21 | # ImGui
22 | set(IMGUI_DIR ../../)
23 | include_directories(${IMGUI_DIR} ..)
24 |
25 | # Libraries
26 | find_library(VULKAN_LIBRARY
27 | NAMES vulkan vulkan-1)
28 | set(LIBRARIES "glfw;${VULKAN_LIBRARY}")
29 |
30 | # Use vulkan headers from glfw:
31 | include_directories(${GLFW_DIR}/deps)
32 |
33 | file(GLOB sources *.cpp)
34 |
35 | add_executable(example_glfw_vulkan ${sources} ${IMGUI_DIR}/examples/imgui_impl_glfw.cpp ${IMGUI_DIR}/examples/imgui_impl_vulkan.cpp ${IMGUI_DIR}/imgui.cpp ${IMGUI_DIR}/imgui_draw.cpp ${IMGUI_DIR}/imgui_demo.cpp ${IMGUI_DIR}/imgui_widgets.cpp)
36 | target_link_libraries(example_glfw_vulkan ${LIBRARIES})
37 |
--------------------------------------------------------------------------------
/imgui/examples/example_glfw_vulkan/build_win32.bat:
--------------------------------------------------------------------------------
1 | @REM Build for Visual Studio compiler. Run your copy of vcvars32.bat or vcvarsall.bat to setup command-line compiler.
2 |
3 | mkdir Debug
4 | cl /nologo /Zi /MD /I .. /I ..\.. /I ..\libs\glfw\include /I %VULKAN_SDK%\include *.cpp ..\imgui_impl_vulkan.cpp ..\imgui_impl_glfw.cpp ..\..\imgui*.cpp /FeDebug/example_glfw_vulkan.exe /FoDebug/ /link /LIBPATH:..\libs\glfw\lib-vc2010-32 /libpath:%VULKAN_SDK%\lib32 glfw3.lib opengl32.lib gdi32.lib shell32.lib vulkan-1.lib
5 |
6 | mkdir Release
7 | cl /nologo /Zi /MD /Ox /Oi /I .. /I ..\.. /I ..\libs\glfw\include /I %VULKAN_SDK%\include *.cpp ..\imgui_impl_vulkan.cpp ..\imgui_impl_glfw.cpp ..\..\imgui*.cpp /FeRelease/example_glfw_vulkan.exe /FoRelease/ /link /LIBPATH:..\libs\glfw\lib-vc2010-32 /libpath:%VULKAN_SDK%\lib32 glfw3.lib opengl32.lib gdi32.lib shell32.lib vulkan-1.lib
8 |
--------------------------------------------------------------------------------
/imgui/examples/example_glfw_vulkan/build_win64.bat:
--------------------------------------------------------------------------------
1 | @REM Build for Visual Studio compiler. Run your copy of amd64/vcvars32.bat to setup 64-bit command-line compiler.
2 |
3 | mkdir Debug
4 | cl /nologo /Zi /MD /I .. /I ..\.. /I ..\libs\glfw\include /I %VULKAN_SDK%\include *.cpp ..\imgui_impl_vulkan.cpp ..\imgui_impl_glfw.cpp ..\..\imgui*.cpp /FeDebug/example_glfw_vulkan.exe /FoDebug/ /link /LIBPATH:..\libs\glfw\lib-vc2010-64 /libpath:%VULKAN_SDK%\lib glfw3.lib opengl32.lib gdi32.lib shell32.lib vulkan-1.lib
5 |
6 | mkdir Release
7 | cl /nologo /Zi /MD /Ox /Oi /I .. /I ..\.. /I ..\libs\glfw\include /I %VULKAN_SDK%\include *.cpp ..\imgui_impl_vulkan.cpp ..\imgui_impl_glfw.cpp ..\..\imgui*.cpp /FeRelease/example_glfw_vulkan.exe /FoRelease/ /link /LIBPATH:..\libs\glfw\lib-vc2010-64 /libpath:%VULKAN_SDK%\lib glfw3.lib opengl32.lib gdi32.lib shell32.lib vulkan-1.lib
8 |
--------------------------------------------------------------------------------
/imgui/examples/example_glfw_vulkan/example_glfw_vulkan.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {20b90ce4-7fcb-4731-b9a0-075f875de82d}
6 |
7 |
8 | {f18ab499-84e1-499f-8eff-9754361e0e52}
9 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
10 |
11 |
12 |
13 |
14 | imgui
15 |
16 |
17 | imgui
18 |
19 |
20 | imgui
21 |
22 |
23 | sources
24 |
25 |
26 | sources
27 |
28 |
29 | sources
30 |
31 |
32 | imgui
33 |
34 |
35 |
36 |
37 | imgui
38 |
39 |
40 | imgui
41 |
42 |
43 | imgui
44 |
45 |
46 | sources
47 |
48 |
49 | sources
50 |
51 |
52 |
53 |
54 |
55 | sources
56 |
57 |
58 |
--------------------------------------------------------------------------------
/imgui/examples/example_glfw_vulkan/gen_spv.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | glslangValidator -V -x -o glsl_shader.frag.u32 glsl_shader.frag
3 | glslangValidator -V -x -o glsl_shader.vert.u32 glsl_shader.vert
4 |
--------------------------------------------------------------------------------
/imgui/examples/example_glfw_vulkan/glsl_shader.frag:
--------------------------------------------------------------------------------
1 | #version 450 core
2 | layout(location = 0) out vec4 fColor;
3 |
4 | layout(set=0, binding=0) uniform sampler2D sTexture;
5 |
6 | layout(location = 0) in struct{
7 | vec4 Color;
8 | vec2 UV;
9 | } In;
10 |
11 | void main()
12 | {
13 | fColor = In.Color * texture(sTexture, In.UV.st);
14 | }
15 |
--------------------------------------------------------------------------------
/imgui/examples/example_glfw_vulkan/glsl_shader.vert:
--------------------------------------------------------------------------------
1 | #version 450 core
2 | layout(location = 0) in vec2 aPos;
3 | layout(location = 1) in vec2 aUV;
4 | layout(location = 2) in vec4 aColor;
5 |
6 | layout(push_constant) uniform uPushConstant{
7 | vec2 uScale;
8 | vec2 uTranslate;
9 | } pc;
10 |
11 | out gl_PerVertex{
12 | vec4 gl_Position;
13 | };
14 |
15 | layout(location = 0) out struct{
16 | vec4 Color;
17 | vec2 UV;
18 | } Out;
19 |
20 | void main()
21 | {
22 | Out.Color = aColor;
23 | Out.UV = aUV;
24 | gl_Position = vec4(aPos*pc.uScale+pc.uTranslate, 0, 1);
25 | }
26 |
--------------------------------------------------------------------------------
/imgui/examples/example_marmalade/data/app.icf:
--------------------------------------------------------------------------------
1 | # This file is for configuration settings for your
2 | # application.
3 | #
4 | # The syntax is similar to windows .ini files ie
5 | #
6 | # [GroupName]
7 | # Setting = Value
8 | #
9 | # Which can be read by your application using
10 | # e.g s3eConfigGetString("GroupName", "Setting", string)
11 | #
12 | # All settings must be documented in .config.txt files.
13 | # New settings specific to this application should be
14 | # documented in app.config.txt
15 | #
16 | # Some conditional operations are also permitted, see the
17 | # S3E documentation for details.
18 |
19 | [S3E]
20 | MemSize=6000000
21 | MemSizeDebug=6000000
22 | DispFixRot=FixedLandscape
23 |
24 | # emulate iphone 5 resolution, change these settings to emulate other display resolution
25 | WinWidth=1136
26 | WinHeight=640
27 |
28 | [GX]
29 | DataCacheSize=131070
30 |
31 | [Util]
32 | #MemoryBreakpoint=1282
33 |
--------------------------------------------------------------------------------
/imgui/examples/example_marmalade/marmalade_example.mkb:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env mkb
2 |
3 | # ImGui - standalone example application for Marmalade
4 | # Copyright (C) 2015 by Giovanni Zito
5 | # This file is part of ImGui
6 | # https://github.com/ocornut/imgui
7 |
8 | define IMGUI_DISABLE_INCLUDE_IMCONFIG_H
9 | define IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCS
10 | define IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCS
11 | define _snprintf=snprintf
12 |
13 | options
14 | {
15 | optimise-speed=1
16 | }
17 |
18 | includepaths
19 | {
20 | ..
21 | ../..
22 | }
23 |
24 | subprojects
25 | {
26 | iwgx
27 | }
28 |
29 | files
30 | {
31 | (.)
32 | ["imgui"]
33 | ../../imgui.cpp
34 | ../../imgui_demo.cpp
35 | ../../imgui_draw.cpp
36 | ../../imgui_widgets.cpp
37 | ../../imconfig.h
38 | ../../imgui.h
39 | ../../imgui_internal.h
40 |
41 | ["imgui","Marmalade binding"]
42 | ../imgui_impl_marmalade.h
43 | ../imgui_impl_marmalade.cpp
44 | main.cpp
45 |
46 | }
47 |
--------------------------------------------------------------------------------
/imgui/examples/example_null/build_win32.bat:
--------------------------------------------------------------------------------
1 | @REM Build for Visual Studio compiler. Run your copy of vcvars32.bat or vcvarsall.bat to setup command-line compiler.
2 | mkdir Debug
3 | cl /nologo /Zi /MD /I ..\.. *.cpp ..\..\*.cpp /FeDebug/example_null.exe /FoDebug/ /link gdi32.lib shell32.lib
4 |
--------------------------------------------------------------------------------
/imgui/examples/example_null/main.cpp:
--------------------------------------------------------------------------------
1 | // dear imgui: null/dummy example application (compile and link imgui with no inputs, no outputs)
2 | #include "imgui.h"
3 | #include
4 |
5 | int main(int, char**)
6 | {
7 | IMGUI_CHECKVERSION();
8 | ImGui::CreateContext();
9 | ImGuiIO& io = ImGui::GetIO();
10 |
11 | // Build atlas
12 | unsigned char* tex_pixels = NULL;
13 | int tex_w, tex_h;
14 | io.Fonts->GetTexDataAsRGBA32(&tex_pixels, &tex_w, &tex_h);
15 |
16 | for (int n = 0; n < 50; n++)
17 | {
18 | printf("NewFrame() %d\n", n);
19 | io.DisplaySize = ImVec2(1920, 1080);
20 | io.DeltaTime = 1.0f / 60.0f;
21 | ImGui::NewFrame();
22 |
23 | static float f = 0.0f;
24 | ImGui::Text("Hello, world!");
25 | ImGui::SliderFloat("float", &f, 0.0f, 1.0f);
26 | ImGui::Text("Application average %.3f ms/frame (%.1f FPS)", 1000.0f / io.Framerate, io.Framerate);
27 | ImGui::ShowDemoWindow(NULL);
28 |
29 | ImGui::Render();
30 | }
31 |
32 | printf("DestroyContext()\n");
33 | ImGui::DestroyContext();
34 | return 0;
35 | }
36 |
--------------------------------------------------------------------------------
/imgui/examples/example_sdl_opengl2/Makefile:
--------------------------------------------------------------------------------
1 | #
2 | # Cross Platform Makefile
3 | # Compatible with MSYS2/MINGW, Ubuntu 14.04.1 and Mac OS X
4 | #
5 | # You will need SDL2 (http://www.libsdl.org):
6 | # Linux:
7 | # apt-get install libsdl2-dev
8 | # Mac OS X:
9 | # brew install sdl2
10 | # MSYS2:
11 | # pacman -S mingw-w64-i686-SDL
12 | #
13 |
14 | #CXX = g++
15 | #CXX = clang++
16 |
17 | EXE = example_sdl_opengl2
18 | SOURCES = main.cpp ../imgui_impl_sdl.cpp ../imgui_impl_opengl2.cpp
19 | SOURCES += ../../imgui.cpp ../../imgui_demo.cpp ../../imgui_draw.cpp ../../imgui_widgets.cpp
20 | OBJS = $(addsuffix .o, $(basename $(notdir $(SOURCES))))
21 |
22 | UNAME_S := $(shell uname -s)
23 |
24 |
25 | ifeq ($(UNAME_S), Linux) #LINUX
26 | ECHO_MESSAGE = "Linux"
27 | LIBS = -lGL -ldl `sdl2-config --libs`
28 |
29 | CXXFLAGS = -I ../ -I../../ `sdl2-config --cflags`
30 | CXXFLAGS += -Wall -Wformat
31 | CFLAGS = $(CXXFLAGS)
32 | endif
33 |
34 | ifeq ($(UNAME_S), Darwin) #APPLE
35 | ECHO_MESSAGE = "Mac OS X"
36 | LIBS = -framework OpenGL -framework Cocoa -framework IOKit -framework CoreVideo `sdl2-config --libs`
37 |
38 | CXXFLAGS = -I ../ -I../../ -I/usr/local/include `sdl2-config --cflags`
39 | CXXFLAGS += -Wall -Wformat
40 | CFLAGS = $(CXXFLAGS)
41 | endif
42 |
43 | ifeq ($(findstring MINGW,$(UNAME_S)),MINGW)
44 | ECHO_MESSAGE = "Windows"
45 | LIBS = -lgdi32 -lopengl32 -limm32 `pkg-config --static --libs sdl2`
46 |
47 | CXXFLAGS = -I ../ -I../../ `pkg-config --cflags sdl2`
48 | CXXFLAGS += -Wall -Wformat
49 | CFLAGS = $(CXXFLAGS)
50 | endif
51 |
52 |
53 | %.o:%.cpp
54 | $(CXX) $(CXXFLAGS) -c -o $@ $<
55 |
56 | %.o:../%.cpp
57 | $(CXX) $(CXXFLAGS) -c -o $@ $<
58 |
59 | %.o:../../%.cpp
60 | $(CXX) $(CXXFLAGS) -c -o $@ $<
61 |
62 | all: $(EXE)
63 | @echo Build complete for $(ECHO_MESSAGE)
64 |
65 | $(EXE): $(OBJS)
66 | $(CXX) -o $@ $^ $(CXXFLAGS) $(LIBS)
67 |
68 | clean:
69 | rm -f $(EXE) $(OBJS)
70 |
--------------------------------------------------------------------------------
/imgui/examples/example_sdl_opengl2/README.md:
--------------------------------------------------------------------------------
1 |
2 | # How to Build
3 |
4 | - On Windows with Visual Studio's CLI
5 |
6 | ```
7 | set SDL2_DIR=path_to_your_sdl2_folder
8 | cl /Zi /MD /I.. /I..\.. /I%SDL2_DIR%\include main.cpp ..\imgui_impl_sdl.cpp ..\imgui_impl_opengl2.cpp ..\..\imgui*.cpp /FeDebug/example_sdl_opengl2.exe /FoDebug/ /link /libpath:%SDL2_DIR%\lib\x86 SDL2.lib SDL2main.lib opengl32.lib /subsystem:console
9 | # ^^ include paths ^^ source files ^^ output exe ^^ output dir ^^ libraries
10 | # or for 64-bit:
11 | cl /Zi /MD /I.. /I..\.. /I%SDL2_DIR%\include main.cpp ..\imgui_impl_sdl.cpp ..\imgui_impl_opengl2.cpp ..\..\imgui*.cpp /FeDebug/example_sdl_opengl2.exe /FoDebug/ /link /libpath:%SDL2_DIR%\lib\x64 SDL2.lib SDL2main.lib opengl32.lib /subsystem:console
12 | ```
13 |
14 | - On Linux and similar Unixes
15 |
16 | ```
17 | c++ `sdl2-config --cflags` -I .. -I ../.. main.cpp ../imgui_impl_sdl.cpp ../imgui_impl_opengl2.cpp ../../imgui*.cpp `sdl2-config --libs` -lGL
18 | ```
19 |
20 | - On Mac OS X
21 |
22 | ```
23 | brew install sdl2
24 | c++ `sdl2-config --cflags` -I .. -I ../.. main.cpp ../imgui_impl_sdl.cpp ../imgui_impl_opengl2.cpp ../../imgui*.cpp `sdl2-config --libs` -framework OpenGl
25 | ```
26 |
--------------------------------------------------------------------------------
/imgui/examples/example_sdl_opengl2/build_win32.bat:
--------------------------------------------------------------------------------
1 | @REM Build for Visual Studio compiler. Run your copy of vcvars32.bat or vcvarsall.bat to setup command-line compiler.
2 | set OUT_DIR=Debug
3 | set OUT_EXE=example_sdl_opengl2.exe
4 | set INCLUDES=/I.. /I..\.. /I%SDL2_DIR%\include
5 | set SOURCES=main.cpp ..\imgui_impl_sdl.cpp ..\imgui_impl_opengl2.cpp ..\..\imgui*.cpp
6 | set LIBS=/libpath:%SDL2_DIR%\lib\x86 SDL2.lib SDL2main.lib opengl32.lib
7 | mkdir %OUT_DIR%
8 | cl /nologo /Zi /MD %INCLUDES% %SOURCES% /Fe%OUT_DIR%/%OUT_DIR%.exe /Fo%OUT_DIR%/ /link %LIBS% /subsystem:console
9 |
--------------------------------------------------------------------------------
/imgui/examples/example_sdl_opengl2/example_sdl_opengl2.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {20b90ce4-7fcb-4731-b9a0-075f875de82d}
6 |
7 |
8 | {f18ab499-84e1-499f-8eff-9754361e0e52}
9 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
10 |
11 |
12 |
13 |
14 | imgui
15 |
16 |
17 | imgui
18 |
19 |
20 | imgui
21 |
22 |
23 | sources
24 |
25 |
26 | sources
27 |
28 |
29 | sources
30 |
31 |
32 | imgui
33 |
34 |
35 |
36 |
37 | imgui
38 |
39 |
40 | imgui
41 |
42 |
43 | imgui
44 |
45 |
46 | sources
47 |
48 |
49 | sources
50 |
51 |
52 |
53 |
54 |
55 | sources
56 |
57 |
58 |
--------------------------------------------------------------------------------
/imgui/examples/example_sdl_opengl3/README.md:
--------------------------------------------------------------------------------
1 |
2 | # How to Build
3 |
4 | - On Windows with Visual Studio's CLI
5 |
6 | ```
7 | set SDL2_DIR=path_to_your_sdl2_folder
8 | cl /Zi /MD /I.. /I..\.. /I%SDL2_DIR%\include /I..\libs\gl3w main.cpp ..\imgui_impl_sdl.cpp ..\imgui_impl_opengl3.cpp ..\..\imgui*.cpp ..\libs\gl3w\GL\gl3w.c /FeDebug/example_sdl_opengl3.exe /FoDebug/ /link /libpath:%SDL2_DIR%\lib\x86 SDL2.lib SDL2main.lib opengl32.lib /subsystem:console
9 | # ^^ include paths ^^ source files ^^ output exe ^^ output dir ^^ libraries
10 | # or for 64-bit:
11 | cl /Zi /MD /I.. /I..\.. /I%SDL2_DIR%\include /I..\libs\gl3w main.cpp ..\imgui_impl_sdl.cpp ..\imgui_impl_opengl3.cpp ..\..\imgui*.cpp ..\libs\gl3w\GL\gl3w.c /FeDebug/example_sdl_opengl3.exe /FoDebug/ /link /libpath:%SDL2_DIR%\lib\x64 SDL2.lib SDL2main.lib opengl32.lib /subsystem:console
12 | ```
13 |
14 | - On Linux and similar Unixes
15 |
16 | ```
17 | c++ `sdl2-config --cflags` -I .. -I ../.. -I ../libs/gl3w main.cpp ../imgui_impl_sdl.cpp ../imgui_impl_opengl3.cpp ../../imgui*.cpp ../libs/gl3w/GL/gl3w.c `sdl2-config --libs` -lGL -ldl
18 | ```
19 |
20 | - On Mac OS X
21 |
22 | ```
23 | brew install sdl2
24 | c++ `sdl2-config --cflags` -I .. -I ../.. -I ../libs/gl3w main.cpp ../imgui_impl_sdl.cpp ../imgui_impl_opengl3.cpp ../../imgui*.cpp ../libs/gl3w/GL/gl3w.c `sdl2-config --libs` -framework OpenGl -framework CoreFoundation
25 | ```
26 |
--------------------------------------------------------------------------------
/imgui/examples/example_sdl_opengl3/build_win32.bat:
--------------------------------------------------------------------------------
1 | @REM Build for Visual Studio compiler. Run your copy of vcvars32.bat or vcvarsall.bat to setup command-line compiler.
2 | set OUT_DIR=Debug
3 | set OUT_EXE=example_sdl_opengl3.exe
4 | set INCLUDES=/I.. /I..\.. /I%SDL2_DIR%\include /I..\libs\gl3w
5 | set SOURCES=main.cpp ..\imgui_impl_sdl.cpp ..\imgui_impl_opengl3.cpp ..\..\imgui*.cpp ..\libs\gl3w\GL\gl3w.c
6 | set LIBS=/libpath:%SDL2_DIR%\lib\x86 SDL2.lib SDL2main.lib opengl32.lib
7 | mkdir %OUT_DIR%
8 | cl /nologo /Zi /MD %INCLUDES% %SOURCES% /Fe%OUT_DIR%/%OUT_EXE%.exe /Fo%OUT_DIR%/ /link %LIBS% /subsystem:console
9 |
--------------------------------------------------------------------------------
/imgui/examples/example_sdl_vulkan/example_sdl_vulkan.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {20b90ce4-7fcb-4731-b9a0-075f875de82d}
6 |
7 |
8 | {f18ab499-84e1-499f-8eff-9754361e0e52}
9 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
10 |
11 |
12 |
13 |
14 | imgui
15 |
16 |
17 | imgui
18 |
19 |
20 | imgui
21 |
22 |
23 | sources
24 |
25 |
26 | sources
27 |
28 |
29 | sources
30 |
31 |
32 | imgui
33 |
34 |
35 |
36 |
37 | imgui
38 |
39 |
40 | imgui
41 |
42 |
43 | imgui
44 |
45 |
46 | sources
47 |
48 |
49 | sources
50 |
51 |
52 |
53 |
54 |
55 | sources
56 |
57 |
58 |
--------------------------------------------------------------------------------
/imgui/examples/example_win32_directx10/build_win32.bat:
--------------------------------------------------------------------------------
1 | @REM Build for Visual Studio compiler. Run your copy of vcvars32.bat or vcvarsall.bat to setup command-line compiler.
2 | mkdir Debug
3 | cl /nologo /Zi /MD /I .. /I ..\.. /I "%WindowsSdkDir%Include\um" /I "%WindowsSdkDir%Include\shared" /I "%DXSDK_DIR%Include" /D UNICODE /D _UNICODE *.cpp ..\imgui_impl_win32.cpp ..\imgui_impl_dx10.cpp ..\..\imgui*.cpp /FeDebug/example_win32_directx10.exe /FoDebug/ /link /LIBPATH:"%DXSDK_DIR%/Lib/x86" d3d10.lib d3dcompiler.lib
4 |
5 |
--------------------------------------------------------------------------------
/imgui/examples/example_win32_directx10/example_win32_directx10.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {0587d7a3-f2ce-4d56-b84f-a0005d3bfce6}
6 |
7 |
8 | {08e36723-ce4f-4cff-9662-c40801cf1acf}
9 |
10 |
11 |
12 |
13 | imgui
14 |
15 |
16 | imgui
17 |
18 |
19 | imgui
20 |
21 |
22 | sources
23 |
24 |
25 | sources
26 |
27 |
28 |
29 |
30 | imgui
31 |
32 |
33 | sources
34 |
35 |
36 | imgui
37 |
38 |
39 | imgui
40 |
41 |
42 | sources
43 |
44 |
45 | sources
46 |
47 |
48 | imgui
49 |
50 |
51 |
52 |
53 |
54 | sources
55 |
56 |
57 |
--------------------------------------------------------------------------------
/imgui/examples/example_win32_directx11/build_win32.bat:
--------------------------------------------------------------------------------
1 | @REM Build for Visual Studio compiler. Run your copy of vcvars32.bat or vcvarsall.bat to setup command-line compiler.
2 | mkdir Debug
3 | cl /nologo /Zi /MD /I .. /I ..\.. /I "%WindowsSdkDir%Include\um" /I "%WindowsSdkDir%Include\shared" /I "%DXSDK_DIR%Include" /D UNICODE /D _UNICODE *.cpp ..\imgui_impl_dx11.cpp ..\imgui_impl_win32.cpp ..\..\imgui*.cpp /FeDebug/example_win32_directx11.exe /FoDebug/ /link /LIBPATH:"%DXSDK_DIR%/Lib/x86" d3d11.lib d3dcompiler.lib
4 |
5 |
--------------------------------------------------------------------------------
/imgui/examples/example_win32_directx11/example_win32_directx11.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {0587d7a3-f2ce-4d56-b84f-a0005d3bfce6}
6 |
7 |
8 | {08e36723-ce4f-4cff-9662-c40801cf1acf}
9 |
10 |
11 |
12 |
13 | imgui
14 |
15 |
16 | imgui
17 |
18 |
19 | imgui
20 |
21 |
22 | sources
23 |
24 |
25 | sources
26 |
27 |
28 |
29 |
30 | imgui
31 |
32 |
33 | sources
34 |
35 |
36 | imgui
37 |
38 |
39 | imgui
40 |
41 |
42 | sources
43 |
44 |
45 | sources
46 |
47 |
48 | imgui
49 |
50 |
51 |
52 |
53 |
54 | sources
55 |
56 |
57 |
--------------------------------------------------------------------------------
/imgui/examples/example_win32_directx12/build_win32.bat:
--------------------------------------------------------------------------------
1 | @REM Build for Visual Studio compiler. Run your copy of vcvars32.bat or vcvarsall.bat to setup command-line compiler.
2 | mkdir Debug
3 | cl /nologo /Zi /MD /I .. /I ..\.. /I "%WindowsSdkDir%Include\um" /I "%WindowsSdkDir%Include\shared" /D UNICODE /D _UNICODE *.cpp ..\imgui_impl_dx12.cpp ..\imgui_impl_win32.cpp ..\..\imgui*.cpp /FeDebug/example_win32_directx12.exe /FoDebug/ /link d3d12.lib d3dcompiler.lib dxgi.lib
4 |
5 |
--------------------------------------------------------------------------------
/imgui/examples/example_win32_directx12/example_win32_directx12.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {fb3d294f-51ec-478e-a627-25831c80fefd}
6 |
7 |
8 | {4f33ddea-9910-456d-b868-4267eb3c2b19}
9 |
10 |
11 |
12 |
13 | imgui
14 |
15 |
16 | imgui
17 |
18 |
19 | imgui
20 |
21 |
22 | sources
23 |
24 |
25 | sources
26 |
27 |
28 |
29 |
30 | imgui
31 |
32 |
33 | sources
34 |
35 |
36 | imgui
37 |
38 |
39 | imgui
40 |
41 |
42 | sources
43 |
44 |
45 | sources
46 |
47 |
48 | imgui
49 |
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/imgui/examples/example_win32_directx9/build_win32.bat:
--------------------------------------------------------------------------------
1 | @REM Build for Visual Studio compiler. Run your copy of vcvars32.bat or vcvarsall.bat to setup command-line compiler.
2 | mkdir Debug
3 | cl /nologo /Zi /MD /I .. /I ..\.. /I "%DXSDK_DIR%/Include" /D UNICODE /D _UNICODE *.cpp ..\imgui_impl_dx9.cpp ..\imgui_impl_win32.cpp ..\..\imgui*.cpp /FeDebug/example_win32_directx9.exe /FoDebug/ /link /LIBPATH:"%DXSDK_DIR%/Lib/x86" d3d9.lib
4 |
--------------------------------------------------------------------------------
/imgui/examples/example_win32_directx9/example_win32_directx9.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {a82cba23-9de0-45c2-b1e3-2eb1666702de}
10 |
11 |
12 |
13 |
14 | sources
15 |
16 |
17 | imgui
18 |
19 |
20 | imgui
21 |
22 |
23 | imgui
24 |
25 |
26 | sources
27 |
28 |
29 | sources
30 |
31 |
32 | imgui
33 |
34 |
35 |
36 |
37 | imgui
38 |
39 |
40 | imgui
41 |
42 |
43 | imgui
44 |
45 |
46 | sources
47 |
48 |
49 | sources
50 |
51 |
52 |
53 |
54 |
55 | sources
56 |
57 |
58 |
--------------------------------------------------------------------------------
/imgui/examples/imgui_impl_allegro5.h:
--------------------------------------------------------------------------------
1 | // dear imgui: Renderer + Platform Binding for Allegro 5
2 | // (Info: Allegro 5 is a cross-platform general purpose library for handling windows, inputs, graphics, etc.)
3 |
4 | // Implemented features:
5 | // [X] Renderer: User texture binding. Use 'ALLEGRO_BITMAP*' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp.
6 | // [X] Platform: Clipboard support (from Allegro 5.1.12)
7 | // [X] Platform: Mouse cursor shape and visibility. Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'.
8 | // Issues:
9 | // [ ] Renderer: The renderer is suboptimal as we need to unindex our buffers and convert vertices manually.
10 | // [ ] Platform: Missing gamepad support.
11 |
12 | // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
13 | // If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
14 | // https://github.com/ocornut/imgui, Original Allegro 5 code by @birthggd
15 |
16 | #pragma once
17 |
18 | struct ALLEGRO_DISPLAY;
19 | union ALLEGRO_EVENT;
20 |
21 | IMGUI_IMPL_API bool ImGui_ImplAllegro5_Init(ALLEGRO_DISPLAY* display);
22 | IMGUI_IMPL_API void ImGui_ImplAllegro5_Shutdown();
23 | IMGUI_IMPL_API void ImGui_ImplAllegro5_NewFrame();
24 | IMGUI_IMPL_API void ImGui_ImplAllegro5_RenderDrawData(ImDrawData* draw_data);
25 | IMGUI_IMPL_API bool ImGui_ImplAllegro5_ProcessEvent(ALLEGRO_EVENT* event);
26 |
27 | // Use if you want to reset your rendering device without losing ImGui state.
28 | IMGUI_IMPL_API bool ImGui_ImplAllegro5_CreateDeviceObjects();
29 | IMGUI_IMPL_API void ImGui_ImplAllegro5_InvalidateDeviceObjects();
30 |
--------------------------------------------------------------------------------
/imgui/examples/imgui_impl_dx10.h:
--------------------------------------------------------------------------------
1 | // dear imgui: Renderer for DirectX10
2 | // This needs to be used along with a Platform Binding (e.g. Win32)
3 |
4 | // Implemented features:
5 | // [X] Renderer: User texture binding. Use 'ID3D10ShaderResourceView*' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp.
6 |
7 | // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
8 | // If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
9 | // https://github.com/ocornut/imgui
10 |
11 | #pragma once
12 |
13 | struct ID3D10Device;
14 |
15 | IMGUI_IMPL_API bool ImGui_ImplDX10_Init(ID3D10Device* device);
16 | IMGUI_IMPL_API void ImGui_ImplDX10_Shutdown();
17 | IMGUI_IMPL_API void ImGui_ImplDX10_NewFrame();
18 | IMGUI_IMPL_API void ImGui_ImplDX10_RenderDrawData(ImDrawData* draw_data);
19 |
20 | // Use if you want to reset your rendering device without losing ImGui state.
21 | IMGUI_IMPL_API void ImGui_ImplDX10_InvalidateDeviceObjects();
22 | IMGUI_IMPL_API bool ImGui_ImplDX10_CreateDeviceObjects();
23 |
--------------------------------------------------------------------------------
/imgui/examples/imgui_impl_dx11.h:
--------------------------------------------------------------------------------
1 | // dear imgui: Renderer for DirectX11
2 | // This needs to be used along with a Platform Binding (e.g. Win32)
3 |
4 | // Implemented features:
5 | // [X] Renderer: User texture binding. Use 'ID3D11ShaderResourceView*' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp.
6 |
7 | // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
8 | // If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
9 | // https://github.com/ocornut/imgui
10 |
11 | #pragma once
12 |
13 | struct ID3D11Device;
14 | struct ID3D11DeviceContext;
15 |
16 | IMGUI_IMPL_API bool ImGui_ImplDX11_Init(ID3D11Device* device, ID3D11DeviceContext* device_context);
17 | IMGUI_IMPL_API void ImGui_ImplDX11_Shutdown();
18 | IMGUI_IMPL_API void ImGui_ImplDX11_NewFrame();
19 | IMGUI_IMPL_API void ImGui_ImplDX11_RenderDrawData(ImDrawData* draw_data);
20 |
21 | // Use if you want to reset your rendering device without losing ImGui state.
22 | IMGUI_IMPL_API void ImGui_ImplDX11_InvalidateDeviceObjects();
23 | IMGUI_IMPL_API bool ImGui_ImplDX11_CreateDeviceObjects();
24 |
--------------------------------------------------------------------------------
/imgui/examples/imgui_impl_dx12.h:
--------------------------------------------------------------------------------
1 | // dear imgui: Renderer for DirectX12
2 | // This needs to be used along with a Platform Binding (e.g. Win32)
3 |
4 | // Implemented features:
5 | // [X] Renderer: User texture binding. Use 'D3D12_GPU_DESCRIPTOR_HANDLE' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp.
6 | // Issues:
7 | // [ ] 64-bit only for now! (Because sizeof(ImTextureId) == sizeof(void*)). See github.com/ocornut/imgui/pull/301
8 |
9 | // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
10 | // If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
11 | // https://github.com/ocornut/imgui
12 |
13 | #pragma once
14 |
15 | enum DXGI_FORMAT;
16 | struct ID3D12Device;
17 | struct ID3D12GraphicsCommandList;
18 | struct D3D12_CPU_DESCRIPTOR_HANDLE;
19 | struct D3D12_GPU_DESCRIPTOR_HANDLE;
20 |
21 | // cmd_list is the command list that the implementation will use to render imgui draw lists.
22 | // Before calling the render function, caller must prepare cmd_list by resetting it and setting the appropriate
23 | // render target and descriptor heap that contains font_srv_cpu_desc_handle/font_srv_gpu_desc_handle.
24 | // font_srv_cpu_desc_handle and font_srv_gpu_desc_handle are handles to a single SRV descriptor to use for the internal font texture.
25 | IMGUI_IMPL_API bool ImGui_ImplDX12_Init(ID3D12Device* device, int num_frames_in_flight, DXGI_FORMAT rtv_format,
26 | D3D12_CPU_DESCRIPTOR_HANDLE font_srv_cpu_desc_handle, D3D12_GPU_DESCRIPTOR_HANDLE font_srv_gpu_desc_handle);
27 | IMGUI_IMPL_API void ImGui_ImplDX12_Shutdown();
28 | IMGUI_IMPL_API void ImGui_ImplDX12_NewFrame();
29 | IMGUI_IMPL_API void ImGui_ImplDX12_RenderDrawData(ImDrawData* draw_data, ID3D12GraphicsCommandList* graphics_command_list);
30 |
31 | // Use if you want to reset your rendering device without losing ImGui state.
32 | IMGUI_IMPL_API void ImGui_ImplDX12_InvalidateDeviceObjects();
33 | IMGUI_IMPL_API bool ImGui_ImplDX12_CreateDeviceObjects();
34 |
--------------------------------------------------------------------------------
/imgui/examples/imgui_impl_dx9.h:
--------------------------------------------------------------------------------
1 | // dear imgui: Renderer for DirectX9
2 | // This needs to be used along with a Platform Binding (e.g. Win32)
3 |
4 | // Implemented features:
5 | // [X] Renderer: User texture binding. Use 'LPDIRECT3DTEXTURE9' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp.
6 |
7 | // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
8 | // If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
9 | // https://github.com/ocornut/imgui
10 |
11 | #pragma once
12 |
13 | struct IDirect3DDevice9;
14 |
15 | IMGUI_IMPL_API bool ImGui_ImplDX9_Init(IDirect3DDevice9* device);
16 | IMGUI_IMPL_API void ImGui_ImplDX9_Shutdown();
17 | IMGUI_IMPL_API void ImGui_ImplDX9_NewFrame();
18 | IMGUI_IMPL_API void ImGui_ImplDX9_RenderDrawData(ImDrawData* draw_data);
19 |
20 | // Use if you want to reset your rendering device without losing ImGui state.
21 | IMGUI_IMPL_API void ImGui_ImplDX9_InvalidateDeviceObjects();
22 | IMGUI_IMPL_API bool ImGui_ImplDX9_CreateDeviceObjects();
23 |
--------------------------------------------------------------------------------
/imgui/examples/imgui_impl_freeglut.h:
--------------------------------------------------------------------------------
1 | // dear imgui: Platform Binding for FreeGLUT
2 | // This needs to be used along with a Renderer (e.g. OpenGL2)
3 |
4 | // Issues:
5 | // [ ] Platform: GLUT is unable to distinguish e.g. Backspace from CTRL+H or TAB from CTRL+I
6 | // [ ] Platform: Missing gamepad support.
7 |
8 | // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
9 | // If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
10 | // https://github.com/ocornut/imgui
11 |
12 | #pragma once
13 |
14 | IMGUI_IMPL_API bool ImGui_ImplFreeGLUT_Init();
15 | IMGUI_IMPL_API void ImGui_ImplFreeGLUT_InstallFuncs();
16 | IMGUI_IMPL_API void ImGui_ImplFreeGLUT_Shutdown();
17 | IMGUI_IMPL_API void ImGui_ImplFreeGLUT_NewFrame();
18 |
19 | // You can call ImGui_ImplFreeGLUT_InstallFuncs() to get all those functions installed automatically,
20 | // or call them yourself from your own GLUT handlers. We are using the same weird names as GLUT for consistency..
21 | //---------------------------------------- GLUT name --------------------------------------------- Decent Name ---------
22 | IMGUI_IMPL_API void ImGui_ImplFreeGLUT_ReshapeFunc(int w, int h); // ~ ResizeFunc
23 | IMGUI_IMPL_API void ImGui_ImplFreeGLUT_MotionFunc(int x, int y); // ~ MouseMoveFunc
24 | IMGUI_IMPL_API void ImGui_ImplFreeGLUT_MouseFunc(int button, int state, int x, int y); // ~ MouseButtonFunc
25 | IMGUI_IMPL_API void ImGui_ImplFreeGLUT_MouseWheelFunc(int button, int dir, int x, int y); // ~ MouseWheelFunc
26 | IMGUI_IMPL_API void ImGui_ImplFreeGLUT_KeyboardFunc(unsigned char c, int x, int y); // ~ CharPressedFunc
27 | IMGUI_IMPL_API void ImGui_ImplFreeGLUT_KeyboardUpFunc(unsigned char c, int x, int y); // ~ CharReleasedFunc
28 | IMGUI_IMPL_API void ImGui_ImplFreeGLUT_SpecialFunc(int key, int x, int y); // ~ KeyPressedFunc
29 | IMGUI_IMPL_API void ImGui_ImplFreeGLUT_SpecialUpFunc(int key, int x, int y); // ~ KeyReleasedFunc
30 |
--------------------------------------------------------------------------------
/imgui/examples/imgui_impl_marmalade.h:
--------------------------------------------------------------------------------
1 | // dear imgui: Renderer + Platform Binding for Marmalade + IwGx
2 | // Marmalade code: Copyright (C) 2015 by Giovanni Zito (this file is part of Dear ImGui)
3 |
4 | // Implemented features:
5 | // [X] Renderer: User texture binding. Use 'CIwTexture*' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp.
6 |
7 | // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
8 | // If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
9 | // https://github.com/ocornut/imgui
10 |
11 | #pragma once
12 |
13 | IMGUI_IMPL_API bool ImGui_Marmalade_Init(bool install_callbacks);
14 | IMGUI_IMPL_API void ImGui_Marmalade_Shutdown();
15 | IMGUI_IMPL_API void ImGui_Marmalade_NewFrame();
16 | IMGUI_IMPL_API void ImGui_Marmalade_RenderDrawData(ImDrawData* draw_data);
17 |
18 | // Use if you want to reset your rendering device without losing ImGui state.
19 | IMGUI_IMPL_API void ImGui_Marmalade_InvalidateDeviceObjects();
20 | IMGUI_IMPL_API bool ImGui_Marmalade_CreateDeviceObjects();
21 |
22 | // Callbacks (installed by default if you enable 'install_callbacks' during initialization)
23 | // You can also handle inputs yourself and use those as a reference.
24 | IMGUI_IMPL_API int32 ImGui_Marmalade_PointerButtonEventCallback(void* system_data, void* user_data);
25 | IMGUI_IMPL_API int32 ImGui_Marmalade_KeyCallback(void* system_data, void* user_data);
26 | IMGUI_IMPL_API int32 ImGui_Marmalade_CharCallback(void* system_data, void* user_data);
27 |
--------------------------------------------------------------------------------
/imgui/examples/imgui_impl_metal.h:
--------------------------------------------------------------------------------
1 | // dear imgui: Renderer for Metal
2 | // This needs to be used along with a Platform Binding (e.g. OSX)
3 |
4 | // Implemented features:
5 | // [X] Renderer: User texture binding. Use 'MTLTexture' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp.
6 |
7 | // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
8 | // If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
9 | // https://github.com/ocornut/imgui
10 |
11 | @class MTLRenderPassDescriptor;
12 | @protocol MTLDevice, MTLCommandBuffer, MTLRenderCommandEncoder;
13 |
14 | IMGUI_IMPL_API bool ImGui_ImplMetal_Init(id device);
15 | IMGUI_IMPL_API void ImGui_ImplMetal_Shutdown();
16 | IMGUI_IMPL_API void ImGui_ImplMetal_NewFrame(MTLRenderPassDescriptor *renderPassDescriptor);
17 | IMGUI_IMPL_API void ImGui_ImplMetal_RenderDrawData(ImDrawData* draw_data,
18 | id commandBuffer,
19 | id commandEncoder);
20 |
21 | // Called by Init/NewFrame/Shutdown
22 | IMGUI_IMPL_API bool ImGui_ImplMetal_CreateFontsTexture(id device);
23 | IMGUI_IMPL_API void ImGui_ImplMetal_DestroyFontsTexture();
24 | IMGUI_IMPL_API bool ImGui_ImplMetal_CreateDeviceObjects(id device);
25 | IMGUI_IMPL_API void ImGui_ImplMetal_DestroyDeviceObjects();
26 |
--------------------------------------------------------------------------------
/imgui/examples/imgui_impl_opengl2.h:
--------------------------------------------------------------------------------
1 | // dear imgui: Renderer for OpenGL2 (legacy OpenGL, fixed pipeline)
2 | // This needs to be used along with a Platform Binding (e.g. GLFW, SDL, Win32, custom..)
3 |
4 | // Implemented features:
5 | // [X] Renderer: User texture binding. Use 'GLuint' OpenGL texture identifier as void*/ImTextureID. Read the FAQ about ImTextureID in imgui.cpp.
6 |
7 | // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
8 | // If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
9 | // https://github.com/ocornut/imgui
10 |
11 | // **DO NOT USE THIS CODE IF YOUR CODE/ENGINE IS USING MODERN OPENGL (SHADERS, VBO, VAO, etc.)**
12 | // **Prefer using the code in imgui_impl_opengl3.cpp**
13 | // This code is mostly provided as a reference to learn how ImGui integration works, because it is shorter to read.
14 | // If your code is using GL3+ context or any semi modern OpenGL calls, using this is likely to make everything more
15 | // complicated, will require your code to reset every single OpenGL attributes to their initial state, and might
16 | // confuse your GPU driver.
17 | // The GL2 code is unable to reset attributes or even call e.g. "glUseProgram(0)" because they don't exist in that API.
18 |
19 | #pragma once
20 |
21 | IMGUI_IMPL_API bool ImGui_ImplOpenGL2_Init();
22 | IMGUI_IMPL_API void ImGui_ImplOpenGL2_Shutdown();
23 | IMGUI_IMPL_API void ImGui_ImplOpenGL2_NewFrame();
24 | IMGUI_IMPL_API void ImGui_ImplOpenGL2_RenderDrawData(ImDrawData* draw_data);
25 |
26 | // Called by Init/NewFrame/Shutdown
27 | IMGUI_IMPL_API bool ImGui_ImplOpenGL2_CreateFontsTexture();
28 | IMGUI_IMPL_API void ImGui_ImplOpenGL2_DestroyFontsTexture();
29 | IMGUI_IMPL_API bool ImGui_ImplOpenGL2_CreateDeviceObjects();
30 | IMGUI_IMPL_API void ImGui_ImplOpenGL2_DestroyDeviceObjects();
31 |
--------------------------------------------------------------------------------
/imgui/examples/imgui_impl_osx.h:
--------------------------------------------------------------------------------
1 | // dear imgui: Platform Binding for OSX / Cocoa
2 | // This needs to be used along with a Renderer (e.g. OpenGL2, OpenGL3, Vulkan, Metal..)
3 | // [BETA] Beta bindings, not well tested. If you want a portable application, prefer using the Glfw or SDL platform bindings on Mac.
4 |
5 | // Issues:
6 | // [ ] Platform: Keys are all generally very broken. Best using [event keycode] and not [event characters]..
7 | // [ ] Platform: Mouse cursor shapes and visibility are not supported (see end of https://github.com/glfw/glfw/issues/427)
8 |
9 | @class NSEvent;
10 | @class NSView;
11 |
12 | IMGUI_API bool ImGui_ImplOSX_Init();
13 | IMGUI_API void ImGui_ImplOSX_Shutdown();
14 | IMGUI_API void ImGui_ImplOSX_NewFrame(NSView *_Nonnull view);
15 | IMGUI_API bool ImGui_ImplOSX_HandleEvent(NSEvent *_Nonnull event, NSView *_Nullable view);
16 |
--------------------------------------------------------------------------------
/imgui/examples/imgui_impl_sdl.h:
--------------------------------------------------------------------------------
1 | // dear imgui: Platform Binding for SDL2
2 | // This needs to be used along with a Renderer (e.g. DirectX11, OpenGL3, Vulkan..)
3 | // (Info: SDL2 is a cross-platform general purpose library for handling windows, inputs, graphics context creation, etc.)
4 |
5 | // Implemented features:
6 | // [X] Platform: Mouse cursor shape and visibility. Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'.
7 | // [X] Platform: Clipboard support.
8 | // [X] Platform: Keyboard arrays indexed using SDL_SCANCODE_* codes, e.g. ImGui::IsKeyPressed(SDL_SCANCODE_SPACE).
9 | // Missing features:
10 | // [ ] Platform: SDL2 handling of IME under Windows appears to be broken and it explicitly disable the regular Windows IME. You can restore Windows IME by compiling SDL with SDL_DISABLE_WINDOWS_IME.
11 | // [ ] Platform: Gamepad support (need to use SDL_GameController API to fill the io.NavInputs[] value when ImGuiConfigFlags_NavEnableGamepad is set).
12 |
13 | // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
14 | // If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
15 | // https://github.com/ocornut/imgui
16 |
17 | #pragma once
18 |
19 | struct SDL_Window;
20 | typedef union SDL_Event SDL_Event;
21 |
22 | IMGUI_IMPL_API bool ImGui_ImplSDL2_InitForOpenGL(SDL_Window* window, void* sdl_gl_context);
23 | IMGUI_IMPL_API bool ImGui_ImplSDL2_InitForVulkan(SDL_Window* window);
24 | IMGUI_IMPL_API void ImGui_ImplSDL2_Shutdown();
25 | IMGUI_IMPL_API void ImGui_ImplSDL2_NewFrame(SDL_Window* window);
26 | IMGUI_IMPL_API bool ImGui_ImplSDL2_ProcessEvent(const SDL_Event* event);
27 |
--------------------------------------------------------------------------------
/imgui/examples/imgui_impl_win32.h:
--------------------------------------------------------------------------------
1 | // dear imgui: Platform Binding for Windows (standard windows API for 32 and 64 bits applications)
2 | // This needs to be used along with a Renderer (e.g. DirectX11, OpenGL3, Vulkan..)
3 |
4 | // Implemented features:
5 | // [X] Platform: Clipboard support (for Win32 this is actually part of core imgui)
6 | // [X] Platform: Mouse cursor shape and visibility. Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'.
7 | // [X] Platform: Keyboard arrays indexed using VK_* Virtual Key Codes, e.g. ImGui::IsKeyPressed(VK_SPACE).
8 | // [X] Platform: Gamepad support. Enabled with 'io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad'.
9 |
10 | #pragma once
11 |
12 | IMGUI_IMPL_API bool ImGui_ImplWin32_Init(void* hwnd);
13 | IMGUI_IMPL_API void ImGui_ImplWin32_Shutdown();
14 | IMGUI_IMPL_API void ImGui_ImplWin32_NewFrame();
15 |
16 | // Handler for Win32 messages, update mouse/keyboard data.
17 | // You may or not need this for your implementation, but it can serve as reference for handling inputs.
18 | // Intentionally commented out to avoid dragging dependencies on types. You can COPY this line into your .cpp code instead.
19 | /*
20 | IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
21 | */
22 |
--------------------------------------------------------------------------------
/imgui/examples/libs/glfw/COPYING.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2002-2006 Marcus Geelnard
2 | Copyright (c) 2006-2010 Camilla Berglund
3 |
4 | This software is provided 'as-is', without any express or implied
5 | warranty. In no event will the authors be held liable for any damages
6 | arising from the use of this software.
7 |
8 | Permission is granted to anyone to use this software for any purpose,
9 | including commercial applications, and to alter it and redistribute it
10 | freely, subject to the following restrictions:
11 |
12 | 1. The origin of this software must not be misrepresented; you must not
13 | claim that you wrote the original software. If you use this software
14 | in a product, an acknowledgment in the product documentation would
15 | be appreciated but is not required.
16 |
17 | 2. Altered source versions must be plainly marked as such, and must not
18 | be misrepresented as being the original software.
19 |
20 | 3. This notice may not be removed or altered from any source
21 | distribution.
22 |
23 |
--------------------------------------------------------------------------------
/imgui/examples/libs/glfw/lib-vc2010-32/glfw3.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/imgui/examples/libs/glfw/lib-vc2010-32/glfw3.lib
--------------------------------------------------------------------------------
/imgui/examples/libs/glfw/lib-vc2010-64/glfw3.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/imgui/examples/libs/glfw/lib-vc2010-64/glfw3.lib
--------------------------------------------------------------------------------
/imgui/examples/libs/usynergy/README.txt:
--------------------------------------------------------------------------------
1 |
2 | uSynergy client -- Implementation for the embedded Synergy client library
3 | version 1.0.0, July 7th, 2012
4 | Copyright (c) 2012 Alex Evans
5 |
6 | This is a copy of the files once found at:
7 | https://github.com/symless/synergy-core/tree/790d108a56ada9caad8e56ff777d444485a69da9/src/micro
8 |
9 |
--------------------------------------------------------------------------------
/imgui/misc/README.txt:
--------------------------------------------------------------------------------
1 |
2 | misc/cpp/
3 | InputText() wrappers for C++ standard library (STL) type: std::string.
4 | This is also an example of how you may wrap your own similar types.
5 |
6 | misc/fonts/
7 | Fonts loading/merging instructions (e.g. How to handle glyph ranges, how to merge icons fonts).
8 | Command line tool "binary_to_compressed_c" to create compressed arrays to embed data in source code.
9 | Suggested fonts and links.
10 |
11 | misc/freetype/
12 | Font atlas builder/rasterizer using FreeType instead of stb_truetype.
13 | Benefit from better FreeType rasterization, in particular for small fonts.
14 |
15 | misc/natvis/
16 | Natvis file to describe dear imgui types in the Visual Studio debugger.
17 | With this, types like ImVector<> will be displayed nicely in the debugger.
18 | You can include this file a Visual Studio project file, or install it in Visual Studio folder.
19 |
--------------------------------------------------------------------------------
/imgui/misc/cpp/README.txt:
--------------------------------------------------------------------------------
1 |
2 | imgui_stdlib.h + imgui_stdlib.cpp
3 | InputText() wrappers for C++ standard library (STL) type: std::string.
4 | This is also an example of how you may wrap your own similar types.
5 |
6 | imgui_scoped.h
7 | [Experimental, not currently in main repository]
8 | Additional header file with some RAII-style wrappers for common ImGui functions.
9 | Try by merging: https://github.com/ocornut/imgui/pull/2197
10 | Discuss at: https://github.com/ocornut/imgui/issues/2096
11 |
--------------------------------------------------------------------------------
/imgui/misc/cpp/imgui_stdlib.h:
--------------------------------------------------------------------------------
1 | // imgui_stdlib.h
2 | // Wrappers for C++ standard library (STL) types (std::string, etc.)
3 | // This is also an example of how you may wrap your own similar types.
4 |
5 | // Compatibility:
6 | // - std::string support is only guaranteed to work from C++11.
7 | // If you try to use it pre-C++11, please share your findings (w/ info about compiler/architecture)
8 |
9 | // Changelog:
10 | // - v0.10: Initial version. Added InputText() / InputTextMultiline() calls with std::string
11 |
12 | #pragma once
13 |
14 | #include
15 |
16 | namespace ImGui
17 | {
18 | // ImGui::InputText() with std::string
19 | // Because text input needs dynamic resizing, we need to setup a callback to grow the capacity
20 | IMGUI_API bool InputText(const char* label, std::string* str, ImGuiInputTextFlags flags = 0, ImGuiInputTextCallback callback = NULL, void* user_data = NULL);
21 | IMGUI_API bool InputTextMultiline(const char* label, std::string* str, const ImVec2& size = ImVec2(0, 0), ImGuiInputTextFlags flags = 0, ImGuiInputTextCallback callback = NULL, void* user_data = NULL);
22 | IMGUI_API bool InputTextWithHint(const char* label, const char* hint, std::string* str, ImGuiInputTextFlags flags = 0, ImGuiInputTextCallback callback = NULL, void* user_data = NULL);
23 | }
24 |
--------------------------------------------------------------------------------
/imgui/misc/fonts/Cousine-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/imgui/misc/fonts/Cousine-Regular.ttf
--------------------------------------------------------------------------------
/imgui/misc/fonts/DroidSans.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/imgui/misc/fonts/DroidSans.ttf
--------------------------------------------------------------------------------
/imgui/misc/fonts/Karla-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/imgui/misc/fonts/Karla-Regular.ttf
--------------------------------------------------------------------------------
/imgui/misc/fonts/ProggyClean.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/imgui/misc/fonts/ProggyClean.ttf
--------------------------------------------------------------------------------
/imgui/misc/fonts/ProggyTiny.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/imgui/misc/fonts/ProggyTiny.ttf
--------------------------------------------------------------------------------
/imgui/misc/fonts/Roboto-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/imgui/misc/fonts/Roboto-Medium.ttf
--------------------------------------------------------------------------------
/imgui/misc/natvis/README.txt:
--------------------------------------------------------------------------------
1 |
2 | Natvis file to describe dear imgui types in the Visual Studio debugger.
3 | With this, types like ImVector<> will be displayed nicely in the debugger.
4 | You can include this file a Visual Studio project file, or install it in Visual Studio folder.
5 |
--------------------------------------------------------------------------------
/imgui/misc/natvis/imgui.natvis:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | {{Size={Size} Capacity={Capacity}}}
9 |
10 |
11 | Size
12 | Data
13 |
14 |
15 |
16 |
17 |
18 | {{x={x,g} y={y,g}}}
19 |
20 |
21 |
22 | {{x={x,g} y={y,g} z={z,g} w={w,g}}}
23 |
24 |
25 |
26 | {{Min=({Min.x,g} {Min.y,g}) Max=({Max.x,g} {Max.y,g}) Size=({Max.x-Min.x,g} {Max.y-Min.y,g})}}
27 |
28 | - Min
29 | - Max
30 | - Max.x - Min.x
31 | - Max.y - Min.y
32 |
33 |
34 |
35 |
36 | {{Name {Name,s} Active {(Active||WasActive)?1:0,d} Child {(Flags & 0x01000000)?1:0,d} Popup {(Flags & 0x04000000)?1:0,d} Hidden {(Hidden)?1:0,d}}
37 |
38 |
39 |
--------------------------------------------------------------------------------
/input.cpp:
--------------------------------------------------------------------------------
1 |
2 | #include "platform.h"
3 |
4 | // 1. aggregate ALL input kinds:
5 | // - A3D window (term.cpp): keyboard, character, mouse, gamepad
6 | // - terminal esc codes (xterm.cpp): character, mouse, +kitty's keyboard codes
7 | // - web callbacks (web.cpp): character, keyboard, mouse, touch, gamepad
8 |
9 | // 2. dispatch input to screen stacking
10 |
11 |
--------------------------------------------------------------------------------
/io_mesh_akm/softlink.cmd:
--------------------------------------------------------------------------------
1 | c:
2 | cd "C:\Program Files\Blender Foundation\Blender 2.82\2.82\scripts\addons"
3 | mklink /D io_mesh_akm "D:\ascii-work\asciiid\io_mesh_akm"
4 |
--------------------------------------------------------------------------------
/io_mesh_akm/softlink.sh:
--------------------------------------------------------------------------------
1 |
2 | cd /home/user/blender-2.82a-linux64/2.82/scripts/addons
3 | ln -s /home/user/asciiid/io_mesh_akm io_mesh_akm
4 |
--------------------------------------------------------------------------------
/mainmenu.h:
--------------------------------------------------------------------------------
1 | #ifndef MAINMENU_H
2 | #define MAINMENU_H
3 |
4 | #include "game.h"
5 |
6 | #if !defined EDITOR && !defined SERVER
7 |
8 | int LoadMainMenuSprites(const char* base_path);
9 | void FreeMainMenuSprites();
10 |
11 | void MainMenu_Show();
12 |
13 | void MainMenu_Render(uint64_t _stamp, AnsiCell* ptr, int width, int height);
14 | void MainMenu_OnSize(int w, int h, int fw, int fh);
15 | void MainMenu_OnKeyb(GAME_KEYB keyb, int key);
16 | void MainMenu_OnMouse(GAME_MOUSE mouse, int x, int y);
17 | void MainMenu_OnTouch(GAME_TOUCH touch, int id, int x, int y);
18 | void MainMenu_OnFocus(bool set);
19 | void MainMenu_OnPadMount(bool connect);
20 | void MainMenu_OnPadButton(int b, bool down);
21 | void MainMenu_OnPadAxis(int a, int16_t pos);
22 | #else
23 | inline void MainMenu_Show() {}
24 | inline int LoadMainMenuSprites(const char* base_path) { return 0; }
25 | inline void FreeMainMenuSprites() {}
26 | inline void MainMenu_Render(uint64_t _stamp, AnsiCell* ptr, int width, int height){}
27 | inline void MainMenu_OnSize(int w, int h, int fw, int fh){}
28 | inline void MainMenu_OnKeyb(GAME_KEYB keyb, int key){}
29 | inline void MainMenu_OnMouse(GAME_MOUSE mouse, int x, int y){}
30 | inline void MainMenu_OnTouch(GAME_TOUCH touch, int id, int x, int y){}
31 | inline void MainMenu_OnFocus(bool set){}
32 | inline void MainMenu_OnPadMount(bool connect){}
33 | inline void MainMenu_OnPadButton(int b, bool down){}
34 | inline void MainMenu_OnPadAxis(int a, int16_t pos){}
35 | #endif
36 |
37 | #endif
--------------------------------------------------------------------------------
/meshes/brick-1.blend:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/meshes/brick-1.blend
--------------------------------------------------------------------------------
/meshes/bridge-1.blend:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/meshes/bridge-1.blend
--------------------------------------------------------------------------------
/meshes/bridge-2.blend:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/meshes/bridge-2.blend
--------------------------------------------------------------------------------
/meshes/bush-1.akm:
--------------------------------------------------------------------------------
1 | ply
2 | format ascii 1.0
3 | comment Created by Blender 2.82 (sub 7) - www.blender.org, source file: 'bush-1.blend'
4 | element vertex 29
5 | property float x
6 | property float y
7 | property float z
8 | property uchar red
9 | property uchar green
10 | property uchar blue
11 | property uchar alpha
12 | element face 54
13 | property list uchar uint vertex_indices
14 | end_header
15 | -1.550 -1.263 0.632 75 62 35 255
16 | -1.047 -1.661 1.745 16 121 1 255
17 | -1.809 -1.015 2.098 16 121 1 255
18 | -0.565 -1.616 0.542 69 15 1 255
19 | 0.374 -1.598 1.762 62 99 14 255
20 | -0.383 -1.692 2.027 48 106 34 255
21 | -1.393 1.779 0.827 51 114 23 255
22 | -1.970 1.231 0.822 69 120 65 255
23 | -1.963 1.266 1.864 77 117 22 255
24 | -0.868 1.913 0.596 36 109 15 255
25 | -0.888 1.945 2.053 60 111 16 254
26 | -1.229 1.388 2.674 81 118 13 255
27 | 1.408 -0.575 1.238 17 121 6 255
28 | 1.554 0.106 1.321 20 121 3 255
29 | 1.275 -0.381 2.224 94 121 0 255
30 | 1.317 0.348 0.449 61 77 26 255
31 | 0.784 1.080 0.105 62 91 13 255
32 | 1.406 0.885 1.580 84 120 4 255
33 | 0.435 -0.720 -0.172 69 34 1 255
34 | 0.205 -0.031 -0.488 69 17 2 255
35 | -1.777 0.325 -0.037 69 16 1 255
36 | -1.010 -0.689 -0.300 69 15 0 255
37 | -1.221 -0.736 2.921 94 121 0 254
38 | -1.630 0.311 2.907 89 119 15 255
39 | 1.228 0.680 2.326 92 121 0 255
40 | 0.754 0.151 2.955 16 121 0 255
41 | 0.841 1.173 2.501 15 118 0 255
42 | -0.769 1.174 -0.279 67 19 11 255
43 | -0.248 0.001 3.323 94 121 0 255
44 | 3 0 1 2
45 | 3 3 4 5
46 | 3 1 3 5
47 | 3 6 7 8
48 | 3 9 6 10
49 | 3 6 8 10
50 | 3 10 8 11
51 | 3 12 13 14
52 | 3 15 16 17
53 | 3 12 4 18
54 | 3 15 19 16
55 | 3 0 20 21
56 | 3 4 3 18
57 | 3 22 23 2
58 | 3 13 24 14
59 | 3 13 12 15
60 | 3 13 15 17
61 | 3 12 18 15
62 | 3 24 25 14
63 | 3 17 26 24
64 | 3 25 24 26
65 | 3 4 14 25
66 | 3 21 18 3
67 | 3 4 12 14
68 | 3 15 18 19
69 | 3 9 16 27
70 | 3 19 27 16
71 | 3 3 0 21
72 | 3 27 20 7
73 | 3 21 27 19
74 | 3 11 26 10
75 | 3 7 2 8
76 | 3 9 26 16
77 | 3 0 2 20
78 | 3 23 28 11
79 | 3 4 28 5
80 | 3 25 26 28
81 | 3 8 23 11
82 | 3 8 2 23
83 | 3 1 22 2
84 | 3 22 5 28
85 | 3 1 0 3
86 | 3 13 17 24
87 | 3 17 16 26
88 | 3 21 19 18
89 | 3 7 6 27
90 | 3 6 9 27
91 | 3 21 20 27
92 | 3 11 28 26
93 | 3 7 20 2
94 | 3 9 10 26
95 | 3 23 22 28
96 | 3 4 25 28
97 | 3 22 1 5
98 |
--------------------------------------------------------------------------------
/meshes/bush-1.blend:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/meshes/bush-1.blend
--------------------------------------------------------------------------------
/meshes/fence.blend:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/meshes/fence.blend
--------------------------------------------------------------------------------
/meshes/house-3.blend:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/meshes/house-3.blend
--------------------------------------------------------------------------------
/meshes/laundry-1.blend:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/meshes/laundry-1.blend
--------------------------------------------------------------------------------
/meshes/old-tree-1.blend:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/meshes/old-tree-1.blend
--------------------------------------------------------------------------------
/meshes/old-tree-2.blend:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/meshes/old-tree-2.blend
--------------------------------------------------------------------------------
/meshes/rock-1.akm:
--------------------------------------------------------------------------------
1 | ply
2 | format ascii 1.0
3 | comment Created by Blender 2.82 (sub 7) - www.blender.org, source file: 'rock-1.blend'
4 | element vertex 17
5 | property float x
6 | property float y
7 | property float z
8 | property uchar red
9 | property uchar green
10 | property uchar blue
11 | property uchar alpha
12 | element face 30
13 | property list uchar uint vertex_indices
14 | end_header
15 | -1.292 2.610 4.373 148 148 148 0
16 | -2.614 2.638 2.307 90 90 90 0
17 | -2.600 1.557 4.373 146 146 146 0
18 | -0.223 -2.599 -0.961 102 102 102 0
19 | -0.954 -3.080 0.852 80 80 80 0
20 | -2.475 0.013 -0.953 83 83 83 0
21 | 2.974 0.572 4.274 139 139 139 0
22 | 2.838 2.487 1.986 105 105 105 0
23 | 1.536 2.563 4.259 153 153 153 0
24 | -1.978 2.483 -0.794 66 66 66 0
25 | 2.257 1.830 -0.763 44 44 44 0
26 | -2.739 -1.527 1.117 88 88 88 0
27 | 0.399 -2.902 3.156 57 57 57 0
28 | 0.035 -2.224 4.124 111 111 111 0
29 | -2.289 -0.736 4.104 93 93 93 0
30 | 2.860 -2.436 1.978 92 92 92 0
31 | 2.646 -2.258 -0.282 71 71 71 0
32 | 3 0 1 2
33 | 3 3 4 5
34 | 3 6 7 8
35 | 3 5 9 10
36 | 3 9 1 7
37 | 3 1 9 5
38 | 3 11 12 13
39 | 3 0 2 14
40 | 3 15 10 7
41 | 3 4 3 16
42 | 3 15 13 12
43 | 3 5 4 11
44 | 3 16 3 10
45 | 3 3 5 10
46 | 3 0 8 1
47 | 3 8 7 1
48 | 3 7 10 9
49 | 3 5 11 1
50 | 3 11 14 1
51 | 3 14 2 1
52 | 3 13 14 11
53 | 3 11 4 12
54 | 3 6 8 13
55 | 3 8 0 13
56 | 3 13 0 14
57 | 3 7 6 15
58 | 3 15 16 10
59 | 3 16 15 4
60 | 3 15 12 4
61 | 3 15 6 13
62 |
--------------------------------------------------------------------------------
/meshes/rock-1.blend:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/meshes/rock-1.blend
--------------------------------------------------------------------------------
/meshes/ship-1.blend:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/meshes/ship-1.blend
--------------------------------------------------------------------------------
/meshes/skull.blend:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/meshes/skull.blend
--------------------------------------------------------------------------------
/meshes/tree-1.blend:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/meshes/tree-1.blend
--------------------------------------------------------------------------------
/meshes/tree-2.blend:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/meshes/tree-2.blend
--------------------------------------------------------------------------------
/meshes/tree-3.blend:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/meshes/tree-3.blend
--------------------------------------------------------------------------------
/meshes/tree-cut-1.blend:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/meshes/tree-cut-1.blend
--------------------------------------------------------------------------------
/multiplayer.txt:
--------------------------------------------------------------------------------
1 | > RUN SERVER:
2 | server.exe
3 |
4 | > RUN CLIENTS connected to local server:
5 | game.exe -url your_nick@localhost:8080/ws/y7/
6 |
7 | > RUN CLIENTS connected to asciicker.com server:
8 | game.exe -url your_nick@asciicker.com:80/ws/y7/
9 |
10 | > Note that when staring game, there is also minimized console window with chat log
11 | > Hef vun!
12 |
--------------------------------------------------------------------------------
/palettes/332.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/palettes/332.png
--------------------------------------------------------------------------------
/palettes/ansi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/palettes/ansi.png
--------------------------------------------------------------------------------
/palettes/atari_pal_ntsc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/palettes/atari_pal_ntsc.png
--------------------------------------------------------------------------------
/palettes/palette.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/palettes/palette.gz
--------------------------------------------------------------------------------
/palettes/xterm256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/palettes/xterm256.png
--------------------------------------------------------------------------------
/palettes/xterm666.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/palettes/xterm666.png
--------------------------------------------------------------------------------
/physics.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include "terrain.h"
5 | #include "world.h"
6 |
7 | struct SpriteReq;
8 |
9 | struct PhysicsIO
10 | {
11 | // INPUT:
12 | // must be thresholded
13 | float x_force;
14 | float y_force;
15 | float torque;
16 | float water;
17 | //bool slow;
18 |
19 | // IO:
20 | bool jump; // will be falsed by Animate() if jump was handled
21 |
22 | // user should accumulate them
23 | // physics will zero them only when handled
24 | float x_impulse;
25 | float y_impulse;
26 |
27 | // OUTPUT:
28 | float pos[3];
29 | float yaw;
30 | float player_dir;
31 | int player_stp;
32 | int dt;
33 |
34 | bool grounded;
35 |
36 | // what was this for?
37 | //float xyz[64][3];
38 | };
39 |
40 | struct Physics;
41 |
42 | int Animate(Physics* phys, uint64_t stamp, PhysicsIO* io, const SpriteReq* req, bool me); // return num of time steps handled
43 |
44 | Physics* CreatePhysics(Terrain* t, World* w, float pos[3], float dir, float yaw, uint64_t stamp);
45 | void DeletePhysics(Physics* phys);
46 |
47 | void SetPhysicsPos(Physics* phys, float pos[3], float vel[3]);
48 | void SetPhysicsYaw(Physics* phys, float yaw, float vel);
49 | void SetPhysicsDir(Physics* phys, float dir);
50 |
--------------------------------------------------------------------------------
/png2xp/build.sh:
--------------------------------------------------------------------------------
1 |
2 | g++ -O3 -pthread \
3 | png2xp.cpp \
4 | ../rgba8.cpp \
5 | ../tinfl.c \
6 | ../upng.c \
7 | -o png2xp
--------------------------------------------------------------------------------
/png2xp/png2xp.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 |
18 |
19 | Source Files
20 |
21 |
22 | Source Files
23 |
24 |
25 | Source Files
26 |
27 |
28 | Source Files
29 |
30 |
31 |
--------------------------------------------------------------------------------
/png2xp/png2xp.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 1 1.plt
5 | WindowsLocalDebugger
6 |
7 |
8 | 1 1.plt
9 | WindowsLocalDebugger
10 |
11 |
12 | 1 1.plt
13 | WindowsLocalDebugger
14 |
15 |
16 | 1 1.plt
17 | WindowsLocalDebugger
18 |
19 |
--------------------------------------------------------------------------------
/render.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include // std::min/max
6 |
7 | #include "terrain.h"
8 | #include "world.h"
9 |
10 | struct AnsiCell
11 | {
12 | // R G B A
13 | uint8_t fg, bk, gl, spare; // for post pass
14 | };
15 |
16 | struct MatCell
17 | {
18 | uint8_t fg[3]; // foreground color
19 | uint8_t gl; // glyph code
20 | uint8_t bg[3]; // background color
21 | uint8_t flags;
22 |
23 | // transparency mask :
24 | // 0x1 - fg
25 | // 0x2 - gl
26 | // 0x4 - bg
27 |
28 | // blend modes 3x3 bits:
29 | // 0x03 2-bits fg blend mode (0:replace, 1:multiply, 2:screen, 3:transparent)
30 | // 0x04 glyph write mask (0:replace, 1:keep)
31 | // 0x18 2-bits bg blend mode (0:replace, 1:multiply, 2:screen, 3:transparent)
32 | // 3 bits left!
33 |
34 | };
35 |
36 | struct Material
37 | {
38 | MatCell shade[4][16];
39 | int mode; // mode and flags
40 | };
41 |
42 | struct Renderer;
43 | Renderer* CreateRenderer(uint64_t stamp);
44 | void DeleteRenderer(Renderer* r);
45 |
46 | // return null-terminated array of item pointers that are reachable by player
47 | /*
48 | Item** Render(Renderer* r, uint64_t stamp, Terrain* t, World* w, float water, // scene
49 | float zoom, float yaw, const float pos[3], const float lt[4], // view
50 | int width, int height, AnsiCell* ptr, // target
51 | Sprite* sprite, int anim, int frame, float dir, // player
52 | const int scene_shift[2]); // special fx
53 | */
54 |
55 | void Render(Renderer* r, uint64_t stamp, Terrain* t, World* w, float water, // scene
56 | float zoom, float yaw, const float pos[3], const float lt[4], // view
57 | int width, int height, AnsiCell* ptr, // target
58 | Inst* player, // player
59 | const int scene_shift[2],
60 | bool perspective);
61 |
62 | bool ProjectCoords(Renderer* r, const float pos[3], int view[3]); // like a sprite!
63 | bool UnprojectCoords2D(Renderer* r, const int xy[2], float pos[3]); // reads height from buffer first!
64 | bool UnprojectCoords3D(Renderer* r, const int xy[3], float pos[3]); // reads height from buffer first!
65 |
66 | Item** GetNearbyItems(Renderer* r);
67 | Inst** GetNearbyCharacters(Renderer* r);
68 |
69 | extern int render_break_point[2];
--------------------------------------------------------------------------------
/rgba8.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include "platform.h"
5 |
6 | void Convert_UI32_AABBGGRR(uint32_t* buf, A3D_ImageFormat f, int w, int h, const void* data, int palsize, const void* palbuf);
7 | void Convert_UI32_AARRGGBB(uint32_t* buf, A3D_ImageFormat f, int w, int h, const void* data, int palsize, const void* palbuf);
8 | void Convert_UL_AARRGGBB(unsigned long* buf, A3D_ImageFormat f, int w, int h, const void* data, int palsize, const void* palbuf);
9 |
10 | void ConvertLuminance_UI32_LLZZYYXX(uint32_t* buf, const uint8_t xyz[3], A3D_ImageFormat f, int w, int h, const void* data, int palsize, const void* palbuf);
11 |
--------------------------------------------------------------------------------
/run_console.sh:
--------------------------------------------------------------------------------
1 | setfont fonts/cp437_10x10.png.psf
2 | .run/game_term
3 |
--------------------------------------------------------------------------------
/run_xterm.sh:
--------------------------------------------------------------------------------
1 |
2 | #install fonts dir
3 | xset fp+ $PWD/fonts
4 | xset fp rehash
5 |
6 | #run
7 | xterm \
8 | -xrm "xterm*font1: -gumix-*-*-*-*-*-8-*-*-*-*-*-*" \
9 | -xrm "xterm*font2: -gumix-*-*-*-*-*-10-*-*-*-*-*-*" \
10 | -xrm "xterm*font3: -gumix-*-*-*-*-*-12-*-*-*-*-*-*" \
11 | -xrm "xterm*font: -gumix-*-*-*-*-*-14-*-*-*-*-*-*" \
12 | -xrm "xterm*font4: -gumix-*-*-*-*-*-16-*-*-*-*-*-*" \
13 | -xrm "xterm*font5: -gumix-*-*-*-*-*-18-*-*-*-*-*-*" \
14 | -xrm "xterm*font6: -gumix-*-*-*-*-*-20-*-*-*-*-*-*" \
15 | -xrm "xterm*allowWindowOps: true" \
16 | -xrm "xterm*allowFontOps: true" \
17 | -e .run/game_term
18 |
19 | #cleanup
20 | xset fp- $PWD/fonts
21 | xset fp rehash
22 |
--------------------------------------------------------------------------------
/samples/enc.sh:
--------------------------------------------------------------------------------
1 | #MARKERS=`cat footsteps.txt | xargs`
2 | MARKERS=`cat footsteps.txt`
3 | oggenc -q-1 -c "MARKERS=$MARKERS" footsteps.wav
4 | oggenc -q-1 forest.wav
--------------------------------------------------------------------------------
/samples/footsteps.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/samples/footsteps.ogg
--------------------------------------------------------------------------------
/samples/footsteps.txt:
--------------------------------------------------------------------------------
1 | 0.000419 0.520963 rock-L
2 | 0.520963 0.766927 rock-R
3 | 0.766927 1.374999 wood-L
4 | 1.374580 1.868730 wood-R
5 | 1.868730 2.220544 dirt-L
6 | 2.220544 2.598617 dirt-R
7 | 2.598617 2.950431 grass-L
8 | 2.950431 3.328503 grass-R
9 | 3.328503 3.706576 bush-L
10 | 3.706576 4.058390 bush-R
11 | 4.058390 4.499569 blood-L
12 | 4.499569 4.888503 blood-R
13 | 4.888503 5.470454 water-L
14 | 5.470454 6.163583 water-R
15 |
--------------------------------------------------------------------------------
/samples/footsteps.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/samples/footsteps.wav
--------------------------------------------------------------------------------
/samples/forest.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/samples/forest.ogg
--------------------------------------------------------------------------------
/samples/forest.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/samples/forest.wav
--------------------------------------------------------------------------------
/screen.cpp:
--------------------------------------------------------------------------------
1 |
2 | #include "platform.h"
3 |
4 | // this is screen manager
5 | // handling multiple layers (creation, destruction, order, focus, position and blending effects)
6 | // it also receives input stream and dispatches it to given layer input handler
7 | // in xterm mode it is responsible for displaying mouse cursor on top of screen
8 |
9 | #include "render.h"
10 |
11 | #if 0
12 |
13 | struct ScreenCB
14 | {
15 | void(*touch)();
16 | void(*mouse)();
17 | void(*keyb)(); // (focused screen only)
18 | void(*pad)(); // (focused screen only)
19 | };
20 |
21 | struct Layer;
22 |
23 | struct Screen
24 | {
25 | Layer* parent; // if null it is screen!
26 | void* cookie;
27 |
28 | // children
29 | Layer* head;
30 | Layer* tail;
31 |
32 | // buf should be cleared or prerendered with some scene or left dirty if children overlaps it fully
33 | void Merge(AnsiCell* buf, int width, int height);
34 | };
35 |
36 | struct Layer : Screen
37 | {
38 | bool visible;
39 |
40 | // siblings
41 | Layer* prev;
42 | Layer* next;
43 | };
44 |
45 |
46 | void Screen::Merge(AnsiCell* buf, int width, int height)
47 | {
48 | ClipRect cr = { 0,0, width,height };
49 | Layer* lay = head;
50 | while (lay)
51 | {
52 | cr.x1 = max(0, lay->x, )
53 | lay->Merge(buf, &cr, lay->x, lay->y);
54 | lay = lay->next;
55 | }
56 | }
57 |
58 | void Layer::Merge(AnsiCell* buf, int width, int height, int src_x, int src_y, int dst_x, int dst_y, int )
59 | {
60 | cr->x1 += x;
61 | cr->y1 += x;
62 | cr->x2 += x;
63 | cr->y2 += x;
64 | }
65 |
66 | // for mouse & touch
67 | Screen* HitTest(Screen* root, int x, int y)
68 | {
69 | // 1. locate topmost screen for root
70 | // 2. traverse down until non transparent bg or fg is found
71 | }
72 |
73 | #endif
74 |
--------------------------------------------------------------------------------
/server.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/snap/gui/asciicker.desktop:
--------------------------------------------------------------------------------
1 | [Desktop Entry]
2 | Name=asciicker
3 | Exec=asciicker
4 | Comment=3D ASCII game concept
5 | Icon=${SNAP}/meta/gui/asciicker.png
6 | Type=Application
7 | Terminal=false
8 | StartupNotify=false
9 | Categories=Game;
10 |
--------------------------------------------------------------------------------
/snap/gui/asciicker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/snap/gui/asciicker.png
--------------------------------------------------------------------------------
/snap/launcher:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | if [ "$SNAP_ARCH" == "amd64" ]; then
4 | ARCH="x86_64-linux-gnu"
5 | elif [ "$SNAP_ARCH" == "armhf" ]; then
6 | ARCH="arm-linux-gnueabihf"
7 | elif [ "$SNAP_ARCH" == "arm64" ]; then
8 | ARCH="aarch64-linux-gnu"
9 | else
10 | ARCH="$SNAP_ARCH-linux-gnu"
11 | fi
12 |
13 | export LD_LIBRARY_PATH=$SNAP/lib:$LD_LIBRARY_PATH
14 |
15 | export LD_LIBRARY_PATH=$SNAP/usr/lib/$ARCH:$LD_LIBRARY_PATH
16 | export LD_LIBRARY_PATH=$SNAP/lib/$ARCH:$LD_LIBRARY_PATH
17 |
18 | # XKB config
19 | export XKB_CONFIG_ROOT=$SNAP/usr/share/X11/xkb
20 |
21 | # Pulseaudio export
22 | export LD_LIBRARY_PATH=$SNAP/usr/lib/$ARCH/pulseaudio:$LD_LIBRARY_PATH
23 |
24 | # Mesa Libs
25 | export LD_LIBRARY_PATH=$SNAP/usr/lib/$ARCH/mesa:$LD_LIBRARY_PATH
26 | export LD_LIBRARY_PATH=$SNAP/usr/lib/$ARCH/mesa-egl:$LD_LIBRARY_PATH
27 |
28 | # XDG Config
29 | export XDG_CONFIG_DIRS=$SNAP/etc/xdg:$XDG_CONFIG_DIRS
30 | export XDG_CONFIG_DIRS=$SNAP/usr/xdg:$XDG_CONFIG_DIRS
31 | # Note: this doesn't seem to work, QML's LocalStorage either ignores
32 | # or fails to use $SNAP_USER_DATA if defined here
33 | export XDG_DATA_DIRS=$SNAP_USER_DATA:$XDG_DATA_DIRS
34 | export XDG_DATA_DIRS=$SNAP/usr/share:$XDG_DATA_DIRS
35 |
36 | # Workaround in snapd for proprietary nVidia drivers mounts the drivers in
37 | # /var/lib/snapd/lib/gl that needs to be in LD_LIBRARY_PATH
38 | export LD_LIBRARY_PATH=/var/lib/snapd/lib/gl:$LD_LIBRARY_PATH
39 |
40 | # Not good, needed for fontconfig
41 | export XDG_DATA_HOME=$SNAP_USER_DATA/usr/share
42 |
43 | # Font Config
44 | export FONTCONFIG_PATH=$SNAP/etc/fonts/config.d
45 | export FONTCONFIG_FILE=$SNAP/etc/fonts/fonts.conf
46 |
47 | # Tell libGL where to find the drivers
48 | export LIBGL_DRIVERS_PATH=$SNAP/usr/lib/$ARCH/dri
49 |
50 | # Necessary for the SDK to find the translations directory
51 | export APP_DIR=$SNAP
52 |
53 | # Use GTK styling for running under Unity 7
54 | export DESKTOP_SESSION=ubuntu
55 | export XDG_SESSION_DESKTOP=ubuntu
56 | export XDG_CURRENT_DESKTOP=Unity
57 |
58 | #export LIBGL_DEBUG="verbose"
59 |
60 | export XLOCALEDIR="$SNAP/usr/share/X11/locale"
61 | export LOCPATH="$SNAP/usr/lib/locale"
62 |
63 | export LC_ALL=C.UTF-8
64 |
65 | #finally run
66 | exec $SNAP/./$1
67 |
--------------------------------------------------------------------------------
/sprite.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "render.h"
4 |
5 | struct Sprite
6 | {
7 | int refs;
8 | bool recolored;
9 |
10 | struct Frame
11 | {
12 | int width;
13 | int height;
14 | int ref[3]; // on image x,y,z (x,y are int x2 units to allow half block refs)
15 | int meta_xy[2]; // some special position, ie crossbow's arrow tip (in half cells)
16 | AnsiCell* cell; // cell[].spare encodes cell height relative to ref[2]
17 | };
18 |
19 | // from all frames angles anims and projections
20 | float proj_bbox[6];
21 |
22 | int projs;
23 | int anims; // must be 0 for 'still' Sprite
24 | int frames; // must be 1 for 'still' Sprite
25 | int angles;
26 | Frame* atlas; // [frames][angles][2] (x2 because of projection/reflection)
27 |
28 | struct Anim
29 | {
30 | int length;
31 | int* frame_idx; // [angles * 2]
32 | };
33 |
34 | Sprite* next;
35 | Sprite* prev;
36 | char* name;
37 | void* cookie;
38 |
39 | Anim anim[1];
40 | };
41 |
42 | Sprite* LoadSprite(const char* path, const char* name, /*bool has_refl = true,*/ const uint8_t* recolor = 0, bool detached = false);
43 | Sprite* GetFirstSprite(bool all=true);
44 | Sprite* GetPrevSprite(Sprite* s, bool all=true);
45 | Sprite* GetNextSprite(Sprite* s, bool all=true);
46 | int GetSpriteName(Sprite* s, char* buf, int size);
47 |
48 | void SetSpriteCookie(Sprite* s, void* cookie);
49 | void* GetSpriteCookie(Sprite* s);
50 |
51 | Sprite* LoadPlayer(const char* path);
52 | void FreeSprite(Sprite* spr);
53 |
54 | void BlitSprite(AnsiCell* ptr, int width, int height, const Sprite::Frame* sf, int x, int y, const int clip[4]=0, bool src_clip=true, AnsiCell* bk=0);
55 | void PaintFrame(AnsiCell* ptr, int width, int height, int x, int y, int w, int h, const int dst_clip[4] = 0, uint8_t fg=0, uint8_t bk=255, bool dbl=true, bool combine=true);
56 | void FillRect(AnsiCell* ptr, int width, int height, int x, int y, int w, int h, AnsiCell ac);
57 |
58 | int AverageGlyph(const AnsiCell* ptr, int mask);
59 | int DarkenGlyph(const AnsiCell* ptr);
60 |
61 | int LightenColor(int c);
62 | void SetSpriteDither(int eighths);
--------------------------------------------------------------------------------
/sprites/asciicker.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/asciicker.xp
--------------------------------------------------------------------------------
/sprites/attack-0001.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/attack-0001.xp
--------------------------------------------------------------------------------
/sprites/attack-0011.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/attack-0011.xp
--------------------------------------------------------------------------------
/sprites/attack-0101.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/attack-0101.xp
--------------------------------------------------------------------------------
/sprites/attack-0111.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/attack-0111.xp
--------------------------------------------------------------------------------
/sprites/attack-1001.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/attack-1001.xp
--------------------------------------------------------------------------------
/sprites/attack-1011.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/attack-1011.xp
--------------------------------------------------------------------------------
/sprites/attack-1101.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/attack-1101.xp
--------------------------------------------------------------------------------
/sprites/attack-1111.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/attack-1111.xp
--------------------------------------------------------------------------------
/sprites/bigbee-0000.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/bigbee-0000.xp
--------------------------------------------------------------------------------
/sprites/bigbee-0001.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/bigbee-0001.xp
--------------------------------------------------------------------------------
/sprites/bigbee-0002.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/bigbee-0002.xp
--------------------------------------------------------------------------------
/sprites/bigbee-0010.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/bigbee-0010.xp
--------------------------------------------------------------------------------
/sprites/bigbee-0011.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/bigbee-0011.xp
--------------------------------------------------------------------------------
/sprites/bigbee-0012.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/bigbee-0012.xp
--------------------------------------------------------------------------------
/sprites/bigbee-0100.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/bigbee-0100.xp
--------------------------------------------------------------------------------
/sprites/bigbee-0101.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/bigbee-0101.xp
--------------------------------------------------------------------------------
/sprites/bigbee-0102.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/bigbee-0102.xp
--------------------------------------------------------------------------------
/sprites/bigbee-0110.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/bigbee-0110.xp
--------------------------------------------------------------------------------
/sprites/bigbee-0111.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/bigbee-0111.xp
--------------------------------------------------------------------------------
/sprites/bigbee-0112.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/bigbee-0112.xp
--------------------------------------------------------------------------------
/sprites/bigbee-1000.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/bigbee-1000.xp
--------------------------------------------------------------------------------
/sprites/bigbee-1001.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/bigbee-1001.xp
--------------------------------------------------------------------------------
/sprites/bigbee-1002.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/bigbee-1002.xp
--------------------------------------------------------------------------------
/sprites/bigbee-1010.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/bigbee-1010.xp
--------------------------------------------------------------------------------
/sprites/bigbee-1011.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/bigbee-1011.xp
--------------------------------------------------------------------------------
/sprites/bigbee-1012.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/bigbee-1012.xp
--------------------------------------------------------------------------------
/sprites/bigbee-1100.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/bigbee-1100.xp
--------------------------------------------------------------------------------
/sprites/bigbee-1101.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/bigbee-1101.xp
--------------------------------------------------------------------------------
/sprites/bigbee-1102.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/bigbee-1102.xp
--------------------------------------------------------------------------------
/sprites/bigbee-1110.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/bigbee-1110.xp
--------------------------------------------------------------------------------
/sprites/bigbee-1111.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/bigbee-1111.xp
--------------------------------------------------------------------------------
/sprites/bigbee-1112.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/bigbee-1112.xp
--------------------------------------------------------------------------------
/sprites/bigbee.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/bigbee.xp
--------------------------------------------------------------------------------
/sprites/character.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/character.xp
--------------------------------------------------------------------------------
/sprites/desert_plants.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/desert_plants.xp
--------------------------------------------------------------------------------
/sprites/enemygen.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/enemygen.xp
--------------------------------------------------------------------------------
/sprites/fire.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/fire.xp
--------------------------------------------------------------------------------
/sprites/font-1.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/font-1.xp
--------------------------------------------------------------------------------
/sprites/gamepad.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/gamepad.xp
--------------------------------------------------------------------------------
/sprites/grid-alpha-sword.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-alpha-sword.xp
--------------------------------------------------------------------------------
/sprites/grid-apple.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-apple.xp
--------------------------------------------------------------------------------
/sprites/grid-beet.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-beet.xp
--------------------------------------------------------------------------------
/sprites/grid-big-axe.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-big-axe.xp
--------------------------------------------------------------------------------
/sprites/grid-big-hammer.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-big-hammer.xp
--------------------------------------------------------------------------------
/sprites/grid-big-mace.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-big-mace.xp
--------------------------------------------------------------------------------
/sprites/grid-blue-potion.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-blue-potion.xp
--------------------------------------------------------------------------------
/sprites/grid-bread.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-bread.xp
--------------------------------------------------------------------------------
/sprites/grid-carrot.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-carrot.xp
--------------------------------------------------------------------------------
/sprites/grid-cheese.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-cheese.xp
--------------------------------------------------------------------------------
/sprites/grid-cherry.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-cherry.xp
--------------------------------------------------------------------------------
/sprites/grid-crossbow.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-crossbow.xp
--------------------------------------------------------------------------------
/sprites/grid-cucumber.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-cucumber.xp
--------------------------------------------------------------------------------
/sprites/grid-cyan-potion.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-cyan-potion.xp
--------------------------------------------------------------------------------
/sprites/grid-cyan-ring.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-cyan-ring.xp
--------------------------------------------------------------------------------
/sprites/grid-egg.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-egg.xp
--------------------------------------------------------------------------------
/sprites/grid-flail.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-flail.xp
--------------------------------------------------------------------------------
/sprites/grid-gold-potion.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-gold-potion.xp
--------------------------------------------------------------------------------
/sprites/grid-gold-ring.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-gold-ring.xp
--------------------------------------------------------------------------------
/sprites/grid-green-potion.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-green-potion.xp
--------------------------------------------------------------------------------
/sprites/grid-grey-potion.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-grey-potion.xp
--------------------------------------------------------------------------------
/sprites/grid-heavy-armor.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-heavy-armor.xp
--------------------------------------------------------------------------------
/sprites/grid-heavy-helmet.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-heavy-helmet.xp
--------------------------------------------------------------------------------
/sprites/grid-heavy-shield.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-heavy-shield.xp
--------------------------------------------------------------------------------
/sprites/grid-light-armor.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-light-armor.xp
--------------------------------------------------------------------------------
/sprites/grid-light-helmet.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-light-helmet.xp
--------------------------------------------------------------------------------
/sprites/grid-light-shield.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-light-shield.xp
--------------------------------------------------------------------------------
/sprites/grid-lumber-axe.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-lumber-axe.xp
--------------------------------------------------------------------------------
/sprites/grid-meat.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-meat.xp
--------------------------------------------------------------------------------
/sprites/grid-milk.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-milk.xp
--------------------------------------------------------------------------------
/sprites/grid-pink-potion.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-pink-potion.xp
--------------------------------------------------------------------------------
/sprites/grid-pink-ring.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-pink-ring.xp
--------------------------------------------------------------------------------
/sprites/grid-plum.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-plum.xp
--------------------------------------------------------------------------------
/sprites/grid-plus-sword.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-plus-sword.xp
--------------------------------------------------------------------------------
/sprites/grid-red-potion.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-red-potion.xp
--------------------------------------------------------------------------------
/sprites/grid-small-mace.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-small-mace.xp
--------------------------------------------------------------------------------
/sprites/grid-small-saber.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-small-saber.xp
--------------------------------------------------------------------------------
/sprites/grid-small-sword.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-small-sword.xp
--------------------------------------------------------------------------------
/sprites/grid-water.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-water.xp
--------------------------------------------------------------------------------
/sprites/grid-white-ring.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-white-ring.xp
--------------------------------------------------------------------------------
/sprites/grid-wine.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/grid-wine.xp
--------------------------------------------------------------------------------
/sprites/inventory.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/inventory.xp
--------------------------------------------------------------------------------
/sprites/item-apple.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-apple.xp
--------------------------------------------------------------------------------
/sprites/item-armor.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-armor.xp
--------------------------------------------------------------------------------
/sprites/item-axe.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-axe.xp
--------------------------------------------------------------------------------
/sprites/item-beet.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-beet.xp
--------------------------------------------------------------------------------
/sprites/item-blue-potion.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-blue-potion.xp
--------------------------------------------------------------------------------
/sprites/item-bread.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-bread.xp
--------------------------------------------------------------------------------
/sprites/item-carrot.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-carrot.xp
--------------------------------------------------------------------------------
/sprites/item-cheese.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-cheese.xp
--------------------------------------------------------------------------------
/sprites/item-cherry.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-cherry.xp
--------------------------------------------------------------------------------
/sprites/item-crossbow.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-crossbow.xp
--------------------------------------------------------------------------------
/sprites/item-cucumber.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-cucumber.xp
--------------------------------------------------------------------------------
/sprites/item-cyan-potion.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-cyan-potion.xp
--------------------------------------------------------------------------------
/sprites/item-cyan-ring.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-cyan-ring.xp
--------------------------------------------------------------------------------
/sprites/item-egg.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-egg.xp
--------------------------------------------------------------------------------
/sprites/item-flail.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-flail.xp
--------------------------------------------------------------------------------
/sprites/item-gold-potion.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-gold-potion.xp
--------------------------------------------------------------------------------
/sprites/item-gold-ring.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-gold-ring.xp
--------------------------------------------------------------------------------
/sprites/item-green-potion.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-green-potion.xp
--------------------------------------------------------------------------------
/sprites/item-grey-potion.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-grey-potion.xp
--------------------------------------------------------------------------------
/sprites/item-hammer.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-hammer.xp
--------------------------------------------------------------------------------
/sprites/item-helmet.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-helmet.xp
--------------------------------------------------------------------------------
/sprites/item-mace.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-mace.xp
--------------------------------------------------------------------------------
/sprites/item-meat.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-meat.xp
--------------------------------------------------------------------------------
/sprites/item-milk.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-milk.xp
--------------------------------------------------------------------------------
/sprites/item-pink-potion.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-pink-potion.xp
--------------------------------------------------------------------------------
/sprites/item-pink-ring.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-pink-ring.xp
--------------------------------------------------------------------------------
/sprites/item-plum.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-plum.xp
--------------------------------------------------------------------------------
/sprites/item-red-potion.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-red-potion.xp
--------------------------------------------------------------------------------
/sprites/item-shield.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-shield.xp
--------------------------------------------------------------------------------
/sprites/item-sword.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-sword.xp
--------------------------------------------------------------------------------
/sprites/item-water.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-water.xp
--------------------------------------------------------------------------------
/sprites/item-white-ring.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-white-ring.xp
--------------------------------------------------------------------------------
/sprites/item-wine.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/item-wine.xp
--------------------------------------------------------------------------------
/sprites/keyb-07.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/keyb-07.xp
--------------------------------------------------------------------------------
/sprites/keyb-09.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/keyb-09.xp
--------------------------------------------------------------------------------
/sprites/keyb-11.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/keyb-11.xp
--------------------------------------------------------------------------------
/sprites/keyb-13.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/keyb-13.xp
--------------------------------------------------------------------------------
/sprites/keyb-15.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/keyb-15.xp
--------------------------------------------------------------------------------
/sprites/keyb-caps-a.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/keyb-caps-a.xp
--------------------------------------------------------------------------------
/sprites/keyb-caps-b.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/keyb-caps-b.xp
--------------------------------------------------------------------------------
/sprites/keyb-caps-c.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/keyb-caps-c.xp
--------------------------------------------------------------------------------
/sprites/player-0000.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/player-0000.xp
--------------------------------------------------------------------------------
/sprites/player-0001.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/player-0001.xp
--------------------------------------------------------------------------------
/sprites/player-0002.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/player-0002.xp
--------------------------------------------------------------------------------
/sprites/player-0010.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/player-0010.xp
--------------------------------------------------------------------------------
/sprites/player-0011.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/player-0011.xp
--------------------------------------------------------------------------------
/sprites/player-0012.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/player-0012.xp
--------------------------------------------------------------------------------
/sprites/player-0100.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/player-0100.xp
--------------------------------------------------------------------------------
/sprites/player-0101.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/player-0101.xp
--------------------------------------------------------------------------------
/sprites/player-0102.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/player-0102.xp
--------------------------------------------------------------------------------
/sprites/player-0110.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/player-0110.xp
--------------------------------------------------------------------------------
/sprites/player-0111.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/player-0111.xp
--------------------------------------------------------------------------------
/sprites/player-0112.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/player-0112.xp
--------------------------------------------------------------------------------
/sprites/player-1000.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/player-1000.xp
--------------------------------------------------------------------------------
/sprites/player-1001.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/player-1001.xp
--------------------------------------------------------------------------------
/sprites/player-1002.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/player-1002.xp
--------------------------------------------------------------------------------
/sprites/player-1010.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/player-1010.xp
--------------------------------------------------------------------------------
/sprites/player-1011.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/player-1011.xp
--------------------------------------------------------------------------------
/sprites/player-1012.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/player-1012.xp
--------------------------------------------------------------------------------
/sprites/player-1100.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/player-1100.xp
--------------------------------------------------------------------------------
/sprites/player-1101.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/player-1101.xp
--------------------------------------------------------------------------------
/sprites/player-1102.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/player-1102.xp
--------------------------------------------------------------------------------
/sprites/player-1110.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/player-1110.xp
--------------------------------------------------------------------------------
/sprites/player-1111.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/player-1111.xp
--------------------------------------------------------------------------------
/sprites/player-1112.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/player-1112.xp
--------------------------------------------------------------------------------
/sprites/player-nude.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/player-nude.xp
--------------------------------------------------------------------------------
/sprites/plydie-0000.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/plydie-0000.xp
--------------------------------------------------------------------------------
/sprites/plydie-0001.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/plydie-0001.xp
--------------------------------------------------------------------------------
/sprites/plydie-0002.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/plydie-0002.xp
--------------------------------------------------------------------------------
/sprites/plydie-0010.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/plydie-0010.xp
--------------------------------------------------------------------------------
/sprites/plydie-0011.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/plydie-0011.xp
--------------------------------------------------------------------------------
/sprites/plydie-0012.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/plydie-0012.xp
--------------------------------------------------------------------------------
/sprites/plydie-0100.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/plydie-0100.xp
--------------------------------------------------------------------------------
/sprites/plydie-0101.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/plydie-0101.xp
--------------------------------------------------------------------------------
/sprites/plydie-0102.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/plydie-0102.xp
--------------------------------------------------------------------------------
/sprites/plydie-0110.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/plydie-0110.xp
--------------------------------------------------------------------------------
/sprites/plydie-0111.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/plydie-0111.xp
--------------------------------------------------------------------------------
/sprites/plydie-0112.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/plydie-0112.xp
--------------------------------------------------------------------------------
/sprites/plydie-1000.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/plydie-1000.xp
--------------------------------------------------------------------------------
/sprites/plydie-1001.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/plydie-1001.xp
--------------------------------------------------------------------------------
/sprites/plydie-1002.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/plydie-1002.xp
--------------------------------------------------------------------------------
/sprites/plydie-1010.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/plydie-1010.xp
--------------------------------------------------------------------------------
/sprites/plydie-1011.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/plydie-1011.xp
--------------------------------------------------------------------------------
/sprites/plydie-1012.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/plydie-1012.xp
--------------------------------------------------------------------------------
/sprites/plydie-1100.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/plydie-1100.xp
--------------------------------------------------------------------------------
/sprites/plydie-1101.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/plydie-1101.xp
--------------------------------------------------------------------------------
/sprites/plydie-1102.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/plydie-1102.xp
--------------------------------------------------------------------------------
/sprites/plydie-1110.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/plydie-1110.xp
--------------------------------------------------------------------------------
/sprites/plydie-1111.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/plydie-1111.xp
--------------------------------------------------------------------------------
/sprites/plydie-1112.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/plydie-1112.xp
--------------------------------------------------------------------------------
/sprites/wolack-0001.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolack-0001.xp
--------------------------------------------------------------------------------
/sprites/wolack-0011.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolack-0011.xp
--------------------------------------------------------------------------------
/sprites/wolack-0101.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolack-0101.xp
--------------------------------------------------------------------------------
/sprites/wolack-0111.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolack-0111.xp
--------------------------------------------------------------------------------
/sprites/wolack-1001.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolack-1001.xp
--------------------------------------------------------------------------------
/sprites/wolack-1011.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolack-1011.xp
--------------------------------------------------------------------------------
/sprites/wolack-1101.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolack-1101.xp
--------------------------------------------------------------------------------
/sprites/wolack-1111.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolack-1111.xp
--------------------------------------------------------------------------------
/sprites/wolfie-0000.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolfie-0000.xp
--------------------------------------------------------------------------------
/sprites/wolfie-0001.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolfie-0001.xp
--------------------------------------------------------------------------------
/sprites/wolfie-0002.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolfie-0002.xp
--------------------------------------------------------------------------------
/sprites/wolfie-0010.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolfie-0010.xp
--------------------------------------------------------------------------------
/sprites/wolfie-0011.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolfie-0011.xp
--------------------------------------------------------------------------------
/sprites/wolfie-0012.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolfie-0012.xp
--------------------------------------------------------------------------------
/sprites/wolfie-0100.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolfie-0100.xp
--------------------------------------------------------------------------------
/sprites/wolfie-0101.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolfie-0101.xp
--------------------------------------------------------------------------------
/sprites/wolfie-0102.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolfie-0102.xp
--------------------------------------------------------------------------------
/sprites/wolfie-0110.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolfie-0110.xp
--------------------------------------------------------------------------------
/sprites/wolfie-0111.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolfie-0111.xp
--------------------------------------------------------------------------------
/sprites/wolfie-0112.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolfie-0112.xp
--------------------------------------------------------------------------------
/sprites/wolfie-1000.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolfie-1000.xp
--------------------------------------------------------------------------------
/sprites/wolfie-1001.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolfie-1001.xp
--------------------------------------------------------------------------------
/sprites/wolfie-1002.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolfie-1002.xp
--------------------------------------------------------------------------------
/sprites/wolfie-1010.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolfie-1010.xp
--------------------------------------------------------------------------------
/sprites/wolfie-1011.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolfie-1011.xp
--------------------------------------------------------------------------------
/sprites/wolfie-1012.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolfie-1012.xp
--------------------------------------------------------------------------------
/sprites/wolfie-1100.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolfie-1100.xp
--------------------------------------------------------------------------------
/sprites/wolfie-1101.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolfie-1101.xp
--------------------------------------------------------------------------------
/sprites/wolfie-1102.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolfie-1102.xp
--------------------------------------------------------------------------------
/sprites/wolfie-1110.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolfie-1110.xp
--------------------------------------------------------------------------------
/sprites/wolfie-1111.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolfie-1111.xp
--------------------------------------------------------------------------------
/sprites/wolfie-1112.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolfie-1112.xp
--------------------------------------------------------------------------------
/sprites/wolfie.xp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msokalski/asciicker/8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635/sprites/wolfie.xp
--------------------------------------------------------------------------------
/stb_vorbis.h:
--------------------------------------------------------------------------------
1 | #ifndef STB_VORBIS_H
2 | #define STB_VORBIS_H
3 |
4 | typedef struct stb_vorbis stb_vorbis;
5 |
6 | extern unsigned int stb_vorbis_stream_length_in_samples(stb_vorbis *f);
7 |
8 | typedef struct
9 | {
10 | char *alloc_buffer;
11 | int alloc_buffer_length_in_bytes;
12 | } stb_vorbis_alloc;
13 |
14 | extern stb_vorbis * stb_vorbis_open_memory(const unsigned char *data, int len,
15 | int *error, const stb_vorbis_alloc *alloc_buffer);
16 |
17 | extern void stb_vorbis_close(stb_vorbis *f);
18 |
19 | extern int stb_vorbis_get_frame_float(stb_vorbis *f, int *channels, float ***output);
20 |
21 | typedef struct
22 | {
23 | unsigned int sample_rate;
24 | int channels;
25 |
26 | unsigned int setup_memory_required;
27 | unsigned int setup_temp_memory_required;
28 | unsigned int temp_memory_required;
29 |
30 | int max_frame_size;
31 | } stb_vorbis_info;
32 |
33 | extern stb_vorbis_info stb_vorbis_get_info(stb_vorbis *f);
34 |
35 | extern const char* stb_vorbis_get_markers(stb_vorbis *f);
36 | extern char* stb_vorbis_extract_markers(stb_vorbis *f);
37 |
38 | #endif
39 |
--------------------------------------------------------------------------------
/stdafx.h:
--------------------------------------------------------------------------------
1 | // stdafx.h : include file for standard system include files,
2 | // or project specific include files that are used frequently, but
3 | // are changed infrequently
4 | //
5 |
6 | #pragma once
7 |
8 | #include "targetver.h"
9 |
10 | #include
11 | #include
12 |
13 |
14 |
15 | // TODO: reference additional headers your program requires here
16 |
--------------------------------------------------------------------------------
/targetver.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | // Including SDKDDKVer.h defines the highest available Windows platform.
4 |
5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
7 |
8 | #include
9 |
--------------------------------------------------------------------------------
/term.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include "platform.h"
5 |
6 | struct Game;
7 |
8 | Game* TermOpen(A3D_WND* share, float yaw, float pos[3], void(*close)() = 0);
9 | void TermCloseAll();
10 | void TermResizeAll();
11 |
--------------------------------------------------------------------------------
/texheap.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "gl.h"
3 |
4 | #define TEXHEAP
5 |
6 | #define TEXHEAP_MAX_NUMTEX 4
7 |
8 | struct TexHeap;
9 | struct TexAlloc;
10 | struct TexPage;
11 |
12 | struct TexData
13 | {
14 | GLenum format;
15 | GLenum type;
16 | void* data;
17 | };
18 |
19 | struct TexAlloc
20 | {
21 | // read-write
22 | void* user;
23 |
24 | // read-only
25 | TexPage* page;
26 | int x, y;
27 |
28 | void Update(int first, int count, const TexData[]);
29 | TexAlloc* Free();
30 | };
31 |
32 | struct TexPage
33 | {
34 | // read only
35 | void* user; // data at the pointer can be modified
36 | TexHeap* heap;
37 | TexPage* next;
38 | TexPage* prev;
39 | GLuint tex[TEXHEAP_MAX_NUMTEX];
40 | TexAlloc* alloc[1]; // [heap->cap_x*heap->cap_y]
41 | };
42 |
43 | struct TexDesc
44 | {
45 | int item_w;
46 | int item_h;
47 | GLenum ifmt;
48 | };
49 |
50 | struct TexHeap
51 | {
52 | void Create(int page_cap_x, int page_cap_y, int numtex, const TexDesc* texdesc, int page_userbytes);
53 | void Destroy();
54 |
55 | TexAlloc* Alloc(const TexData data[]);
56 |
57 | // spatial optimizer support
58 | // simply swap TexAlloc pointers and TexAlloc::user data
59 | // then update both allocs
60 |
61 | // const read-only
62 |
63 | int cap_x;
64 | int cap_y;
65 |
66 | // read only
67 | int user; // num of extra bytes allocated with every page for user
68 | int allocs;
69 |
70 | TexPage* head;
71 | TexPage* tail;
72 |
73 | /*
74 | int item_w;
75 | int item_h;
76 | GLenum ifmt;
77 | */
78 |
79 | int num;
80 | TexDesc tex[TEXHEAP_MAX_NUMTEX];
81 | };
82 |
--------------------------------------------------------------------------------
/urdo.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include "terrain.h"
5 | #include "world.h"
6 | #include "inventory.h"
7 |
8 | bool URDO_CanUndo();
9 | bool URDO_CanRedo();
10 |
11 | size_t URDO_Bytes();
12 |
13 | void URDO_Purge();
14 |
15 | void URDO_Undo(int max_depth);
16 | void URDO_Redo(int max_depth);
17 |
18 | // groupping
19 | void URDO_Open();
20 | void URDO_Close();
21 |
22 | // patches
23 |
24 | Patch* URDO_Create(Terrain* t, int x, int y, int z); // replacement for AddTerrainPatch
25 | void URDO_Delete(Terrain* t, Patch* p); // replacement for DelTerrainPatch
26 |
27 | void URDO_Patch(Patch* p, bool visual = false); // call before changing height map
28 | void URDO_Diag(Patch* p); // call before flipping diag
29 |
30 | // meshes & sprites (instances)
31 |
32 | Inst* URDO_Create(World* w, Item* item, int flags, float pos[3], float yaw, int story_id);
33 | Inst* URDO_Create(World* w, Sprite* s, int flags, float pos[3], float yaw, int anim, int frame, int reps[4], int story_id); // replacement for CreateInst
34 | Inst* URDO_Create(Mesh* m, int flags, double tm[16], int story_id); // replacement for CreateInst
35 | void URDO_Delete(Inst* i); // replacement for DeleteInst
36 |
37 |
--------------------------------------------------------------------------------
/v8/x64.debug-args.gn:
--------------------------------------------------------------------------------
1 | # Set build arguments here. See `gn help buildargs`.
2 | treat_warnings_as_errors = false
3 | use_custom_libcxx = false
4 | use_custom_libcxx_for_host = false
5 | use_glib = false
6 | use_sysroot = false
7 | v8_enable_i18n_support = false
8 | v8_use_external_startup_data = false
9 | v8_monolithic = true
10 | v8_static_library = true
11 | v8_enable_webassembly = false
12 | is_component_build = false
13 | is_debug = true
14 | enable_iterator_debugging=true
15 | host_cpu = "x64"
16 | target_cpu = "x64"
17 | v8_target_cpu = "x64"
--------------------------------------------------------------------------------
/v8/x64.release-args.gn:
--------------------------------------------------------------------------------
1 | # Set build arguments here. See `gn help buildargs`.
2 | treat_warnings_as_errors = false
3 | use_custom_libcxx = false
4 | use_custom_libcxx_for_host = false
5 | use_glib = false
6 | use_sysroot = false
7 | v8_enable_i18n_support = false
8 | v8_use_external_startup_data = false
9 | v8_monolithic = true
10 | v8_static_library = true
11 | v8_enable_webassembly = false
12 | is_component_build = false
13 | is_debug = false
14 | host_cpu = "x64"
15 | target_cpu = "x64"
16 | v8_target_cpu = "x64"
--------------------------------------------------------------------------------
/v8/x86.debug-args.gn:
--------------------------------------------------------------------------------
1 | # Set build arguments here. See `gn help buildargs`.
2 | treat_warnings_as_errors = false
3 | use_custom_libcxx = false
4 | use_custom_libcxx_for_host = false
5 | use_glib = false
6 | use_sysroot = false
7 | v8_enable_i18n_support = false
8 | v8_use_external_startup_data = false
9 | v8_monolithic = true
10 | v8_static_library = true
11 | v8_enable_webassembly = false
12 | is_component_build = false
13 | is_debug = true
14 | enable_iterator_debugging=true
15 | host_cpu = "x86"
16 | target_cpu = "x86"
17 | v8_target_cpu = "x86"
--------------------------------------------------------------------------------
/v8/x86.release-args.gn:
--------------------------------------------------------------------------------
1 | # Set build arguments here. See `gn help buildargs`.
2 | treat_warnings_as_errors = false
3 | use_custom_libcxx = false
4 | use_custom_libcxx_for_host = false
5 | use_glib = false
6 | use_sysroot = false
7 | v8_enable_i18n_support = false
8 | v8_use_external_startup_data = false
9 | v8_monolithic = true
10 | v8_static_library = true
11 | v8_enable_webassembly = false
12 | is_component_build = false
13 | is_debug = false
14 | host_cpu = "x86"
15 | target_cpu = "x86"
16 | v8_target_cpu = "x86"
--------------------------------------------------------------------------------
/water.cpp:
--------------------------------------------------------------------------------
1 |
2 |
3 | // we want ability of having super-lo-res mesh scattered over terrain (please: no more than 10 triangles in viewport)
4 | // in similar way we'd like to have object meshes (but instanced)
5 |
6 | // 1. render terrain AND object instances
7 | // 2. depth-test water check if any water triangle cell is visible, link visible water triangles into temp-list
8 | // 3. for each visible water triangle:
9 | // - calc reflection transform, planes bounding triangle, bbox planes bounding visible area
10 | // - gather and render reflection of terrain patches and object instances both clipped by these planes
11 |
12 | // looks like we should start with objects before adding water!
13 | // we need OBJ importer, pure mesh with single UV channel (no normals, colors, smooth groups etc)
14 |
15 |
16 | /*
17 | CASCADED REFLECTION:
18 |
19 | given reflection plane: A*x+B*y+C*z+D==0
20 | transformed P=[x,y,z,1] is: [x,y,-2*(A*x+B*y+D)/C-z,1]
21 |
22 | so matrix is (if needed at all):
23 | [ 1 0 0 0 ]
24 | [ 0 1 0 0 ]
25 | [-2A/C -2B/C -1 -2D/C]
26 | [ 0 0 0 1 ]
27 |
28 | what clipping planes should we use to query geomtery?
29 | - reflection of 4x viewport-edge planes
30 | - reflection of planes constructed from viewing vector and mirror boundary edges
31 | - mirror plane (reflection is same)
32 |
33 |
34 | note: sprites can be deformed!
35 | if reflection plane's normal in view coords has non zero X coord
36 | (water flow is somewhat horizontal on screen)
37 | we'd need to render sprites z-column by z-column adjusting
38 | everytime column's screen space Y position
39 | */
40 |
41 | // HOW DO WE STORE POINTS, TRIANGLES, POLYGONS, PLANES ?
42 | /*
43 |
44 | // we will need fast queries:
45 | // by ray -> get xyz and closest triangle
46 | // by clipping planes -> callback with triangle
47 |
48 | */
49 |
--------------------------------------------------------------------------------