Skip to content

Commit

Permalink
new ext-physics-tokamak
Browse files Browse the repository at this point in the history
fix build error when included from c++ sources

chg removed root /embed folder: embed/ folders can be anywhere in project tree now
fix ui colorbar height when widget is larger than one line
new gamepad2 api + ui prompts
fix demos\99-mesh build

new ext-test-autoshot
new workflow artifacts

move ext-render-ass2iqm to fwk3d org
move ext-render-ase2ini to fwk3d org
move ext-script-tcc to fwk3d org

fix issue in EMBED makefile with dash `-` character in filename
chg change ui icon font style
chg remove ui icon oversampling

new editor: prototype alt scene tree UI (2)

fix editor: bring back object picking
fix editor: bring back object outlines
fix editor: bring back object selections

new obj_xform()
new editor: ctrl-d select none
new editor: ctrl-a/e toggle all/none selection
new editor: ctrl-i invert selection

fix luavm starts with gc disabled now

fix FXAA passes required bilinear samplers
chg replaced FXAA3 impl to official 3.11 version
fix fixed FXAA1/3 alpha
chg tweaked FXAA1 luma
new EDITOR_AA setting
resume editor work

chg reduced some build time (/MP flag)
fix do not cook audio recipes when ffmpeg transcoder is missing

new file_find()
fix text input sdl3 event in lite editor

new mouse_show()
fix mouse cursorshape was invalidated when cursor was requested to hide

minor ui changes

fix when converting modules, do not use ext-audio-ffmpeg fallback if main ext-mod2wav recipe exists
new wav loader
fix mid transcoder
fix fur transcoder
fix flac/mp3/s3m/mod/xm/it transcoders
chg minor clean ups (make, ui, editor)

fix init size arg also when file_read() fails to read any file
fix rebuilt assimp with vs19+/MT flag
fix rebuilt luajit with vs19+/MT flag
fix rebuilt openal with vs19+/MT flag
fix rebuilt tcclib with vs19+/MT flag

new lua_fn()
new ui_text()
add blasterD mesh
chg event-driven system heartbeats
new better ui widget for i/f uniforms
new ifdef(little/big) macro
del obj2 multiple parents feature

fix ui_list() colors
new ui_bitmask() prints hex value and hightlights hovered bit now
fix wrong endianess during ui_bitmask() buttons
del ui_toggle()

fix dll xcopy problem on some distros (@kibonu)
fix vs2019 const warnings
fix vs2019 c++ link error
fix bring back zip mount
new ext-cook, that cooks and optionally creates zipfiles as well
fix crash when using logger before being initialized
chg tweak ui colors
fix `make tidy` not deleting temporaries with spaces in them
add optional `make cook` buildstep
new display build times (MAKE.bat)
fix merge ext-ui-commandpalette into ext-backend-imgui
fix bring back lite editor
fix gizmo crash when transform matrix is null
lab enable camera damping and ui viewports by default
fix tick editor systems only when in editor
chg initial `undo` actions in property editor
new subeditors
new `MAKE embed`
chg rewrote embed/MAKE, now supporting paths in filenames
add app_recv("fullscreen")
add ui_window_show()/ui_window_shown()
new editor fps based on battery levels + fg/bg app status
fix missing KEY_ISO scancode
chg removed all c++ compilation units from native.cc (shaves off some compilation time)
fix bad initial ui panel Y position when viewports were enabled
add most common secondary keys to bindings (non-gaming/locale keys)
fix input_name()
add `MAKE asan` flag that can be combined together with `O0..3`
fix editor 3D labels
fix missing mouse cursor in recorded videos
new UI_FULLSCREEN, UI_TRANSPARENT flags
del prompt()
chg renamed a few ext/ folders
fix igConsole buttons
chg styled imgui tab colors
new APP_VIEWPORTS, APP_DOCKING flags
new igAddCommandPalette()
new igSpinner()
new added kind of support for c++ exts too
fix black thumbnail in recorded videos via ffmpeg
new begin scenetree
fix C4743 warning on O3 build tier
new editor bindings
new `MAKE O[0|1|2|3]` as build tier aliases
brk: changed a few ui signatures
start renaming v2 filenames for modules (this will get reverted eventually)
gizmo2 polish pass
tweak ui_slider/2()
modified ui_float2/3/4 variants to accept mouse drags
extra lean `MAKE tidy`
gizmo2 first pass
add cimguizmo dep
add trace in printfed "!messages"
new: ui_radio()
chg: do not render bar colors on NULL ui_labels()
fix ui_panel() ordering so Debug panel is always at top stack and UI_OPEN at bottom.
resume editor work
add `record=outfile.mp4` app command (mp4/mp1 supported)
add `screenshot=outfile.png` app command (png/jpg supported)
add `retail` flag in MAKE.bat
fix mouse in hidden/relative mode being blocked by window edges
new uniforms api (wip)
fix ffi generated headers case when all known extensions are installed
fix crash in model cache not duplicating shaderinfos
fix array_unique() bug trimming last item in list
initial model() trim
shader2 extra work
fix: v2 exts have to use ext-v2 tags
shader2 hashing
shader2dup
clean up shader() impl into new shader2() fn
new lua+teal demos
hello.c can launch lua scripts now
new audio3d api
windowed/borderless/exclusive fullscreen modes (--app.fullscreen=[0..N])
bind all engine+ext apis to luajit automatically
modify va() to use stb_vsnprintf if present
enabled signal traps by default (--sys.traps=0 to disable them)
disabled glDebug context by default (--gl.debug=1 to enable it)
enabled callstack traces in alert() dialogs (via !message)
ext-luajit
added scripts to generate C/FFI bindings
imFileDialog includes a <filesystem> fallback now on old compilers

new command() api that sends cmds to all registered systems
new all --args are redirected to command() calls internally

fix missing tooltips in buttons
add missing assets for shadertoys
top-left align ui_panels() at creation time
new ui_link()
add missing ui_collapse()/end() pair
fix mouse wheel absolute coord
start todo.h clean up
time api uses sdl3 backend now
audio stub
implemented ui_browser()
implemented ui_hue
font[1] bold style
new ui_console()/ui_printf()
fix ui_notify() with no body text
fix ui_alert()
new ui_filter() ( CTRL+F )
fix ui_string()
fix input() ctrl/shift/alt vks not checking rctrl/rshift/rlat counterpart vks
fix ui_image() return value
do not auto-close any severe ui_notify()
--fps=X (-1[adaptive],0[unlimited],1[vsync] .. N[specific])
upgrade sdl3 to latest
scan folder contents only once during boot
remove 3rd/3rd.??
ext-lua
ext-sdl3
new material symbols font for ui icons
new ui_notify(), ui_percent()
update mojoal
make.bat scans for x64/ library folders now (@zpl-zak)
`plug add/syn/del *` command
make.bat scans for ext/inc, ext/include/ paths now

chg moved repos to https://github.com/fwk3d organization

brk: dropped support for linux, osx, ems platforms
brk: dropped support for emcc, gcc, clang, clang-cl, tcc compilers
brk: dropped support for LOD models
brk: dropped support for texture recording + video recording
brk: dropped support for joysticks+input bindings+external input mappings
brk: dropped support for cooking into zipfiles
brk: dropped vfs module

brk: moved into extensions: enet, websockets, spine, steam, gui, editor
chg: changed implementation details within wget module (download() previously)
new: ext-tcc module to support further C scripts

allow small [...] button within ui_buttons()
added buttons to display each source code in hello.c
ui_buttons() right align
scan ext/ folders and add -I flags automatically (MAKE.bat)

new tools/ no longer required
new modular plugin system (ext/PLUG.bat)
new simplified MAKE
new simplified cookbook recipes and overall cook process
brk: dropped single-header distributions

new webcam support
new separate mouse,keyboard,gamepad modules
new simplified file module
new simplified memory module
new simplified panic module
new simplified logger module
new simplified cook module. see recipe()
new simplified app module (previously window module)

fix made make.bat to compile under vscode environment (@zpl-zak)
fix made make.bat to compile when using an older VS buildtools environment
fix shaved some initialization seconds when a dev environment is present (make.bat) (@zpl-zak)
fix improve entity type casts into scene module (@zpl-zak)

new simplified file2hash tool, within make.bat now

new simplified engine loop
new rewritten engine loop
new support for multi-viewport windows (via dearimgui) (see --viewports flag)

new ui module rewritten
new file module rewritten
new cook module rewritten
new app module rewritten (previously window module)
new embed module

ext new assimp extension
ext new videompg extension

brk renamed quad_fullscreen api to blit api

chg added #include hints in preprocessed shader sources
updated to latest lua

new SDL3 backend
new dear imgui + implot
new apis for 3rd party libraries and extensions available to all compilation units
new lightweight repository size

Initial commit
  • Loading branch information
r-lyeh committed Dec 8, 2024
0 parents commit a82f898
Show file tree
Hide file tree
Showing 1,778 changed files with 716,188 additions and 0 deletions.
36 changes: 36 additions & 0 deletions .github/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
## Changelog

New in v2:

- Smaller demos.
- Smaller codebase.
- Smaller repository size.
- Faster warm-up/boot times.
- Smoother experience. Higher framerates, less CPU usage.
- New ext/ plugin system. Self-discovery. Community-driven (Github).
- New backends: SDL3, OpenAL, Luajit, DearImgui, ImPlot, etc.
- New redesigned UI module: Docking and multi-viewports ready.
- New redesigned Game modules: Loop, App, 3D Audio, Script, Shader...
- New bindings generator. All modules and APIs are 1:1 exposed to Lua scripts.
- Simplified build process. MAKE will link automatically ext/ dependencies.
- Simplified code structure. Old split/joint concepts are gone now.
- Simplified cook process. Python + tools/ folder no longer required.
- Simplified APIs in many cases. Smaller is better.
- Simplified implementations for many modules: cook, file, memory, panic, logger...
- Editor, Rendering and Scene modules decoupled from other APIs.
- Engine, Editor and Demos can interop with C/C++ external code now.
- Engine, Editor and Demos can optionally embed assets into output binary now.
- Python3 no longer required.
- And more.

Compared to v1, many things dropped:

- Dropped pure C engine concept: the engine is still C, but there are C++ dependencies now.
- Dropped support for Linux, OSX and Emscripten targets.
- Dropped support for gcc, clang, clang-cl and tcc compilers.
- Dropped support for Python bindings.
- Dropped support for single-header distributions.
- Dropped support for cooked zipfiles.
- Dropped support for fused binaries.
- Dropped support for self-generated documentation.
- And more.
28 changes: 28 additions & 0 deletions .github/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
cmake_minimum_required(VERSION 3.13...${CMAKE_VERSION})
project(hello LANGUAGES C CXX)
add_executable(hello ../hello.c ../code/engine.c ../code/native.c ../code/backend.cc)

file(GLOB sources_list LIST_DIRECTORIES true "../ext/*/inc")
foreach(dir ${sources_list})
message(INC="${dir}")
IF(IS_DIRECTORY ${dir})
target_include_directories(hello PRIVATE ${dir})
ELSE()
CONTINUE()
ENDIF()
endforeach()

file(GLOB sources_list LIST_DIRECTORIES true "../ext/*/x64")
foreach(dir ${sources_list})
message(LIB="${dir}")
IF(IS_DIRECTORY ${dir})
target_link_directories(hello PRIVATE ${dir})
ELSE()
CONTINUE()
ENDIF()
endforeach()

target_include_directories(hello PRIVATE "../" "../code")
target_compile_options(hello PRIVATE /MT /GL /GF /arch:AVX2)
target_compile_definitions(hello PRIVATE $<$<CONFIG:Release>:FLAGS=FLAGS_REL>)
target_link_options(hello PRIVATE)
146 changes: 146 additions & 0 deletions .github/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
<h1 align="center"><a href="#">VΒ·2</a></h1>
<p align="center">
3D game engine/framework in C.<br/>
<br/>
<img src="https://i.imgur.com/AIEIWDk.png" /><!--cubemap--><br/>
<img src="https://i.imgur.com/ipAYky8.png" width="204px"/><!--sprite-->
<img src="https://i.imgur.com/NlSb4ip.png" width="204px"/><!--sprite3d-->
<img src="https://i.imgur.com/rmdkSiB.png" width="204px"/><!--tiled-->
<img src="https://i.imgur.com/2BfIAFD.png" width="204px"/><!--model-->
<img src="https://i.imgur.com/Sskr5pS.png" width="204px"/><!--editor-->
<img src="https://i.imgur.com/GsgOZhu.png" width="204px"/><!--fx-->
<img src="https://i.imgur.com/24oKvLj.png" width="204px"/><!--shadertoy-->
<img src="https://i.imgur.com/F9ix0Zf.png" width="204px"/><!--shadows-->
</p>

## About
- 3D game engine v2, written in C.
- v2 is a major overhaul from [previous v1 engine](https://github.com/fwk3d/v1).
- v2 is faster, smaller and stronger than v1.
- v2 is still a C engine, but there are C++ dependencies now.
- v2 is a work-in-progress, though. [Changelog](.github/CHANGELOG.md).

## Features and wishlist
- [x] ~~Rich build system, Royaltie fee, Licensing clauses, Full featured, Fast, Modern C++~~.
- [x] Single batch makefile, Free, Unlicensed, Small, Naive, Simple C.
- [ ] TBD.

## Quickstart
- Double-click `MAKE.bat`. Launch `hello.exe` when done.
- Alternatively,
- `make [asan] [embed] [debug|devel|release|retail] file1.c file2.cc ...` for custom builds.
- Other commands,
- `make tidy` to clean environment.
- `make sync` to sync repo to latest.
- `make plug` to un/install extensions.
- Tested with VS2019 and VS2022 installations.

## ExtensionsπŸ’™
- Currently, [all these extensions are hosted on github](https://github.com/search?q=topic%3Aext-v2&type=repositories&s=updated&o=desc).
- It is planned that the hello demo will be used to un/install extensions in the future.
- For now, you can un/install extensions via `make plug` script:
- `make plug dir`
- `make plug [add|del|syn] *`
- `make plug [add|del|syn] user/repo`
- `make plug [add|del|syn] @filelist.txt`

## CreditsπŸ’œ
**Artwork and demos**
[Butch](https://opengameart.org/users/buch "for golden ui (CC-BY-SA 3.0)"),
[David Lam](https://en.wikipedia.org/wiki/Tokamak_(software) "for tokamak physics engine (ZLIB)"),
[Dean Evans, Raijin](https://youtu.be/RRvYkrrpMKo?t=147 "for their Map song (c)"),
[FMS_Cat](https://gist.github.com/FMS-Cat/a1ccea3ce866c34706084e3526204f4f "for nicest VHS/VCR shader around (MIT)"),
[Goblin165cm](https://sketchfab.com/3d-models/halloween-little-witch-ccc023590bfb4789af9322864e42d1ab "for witch 3D model (CC BY 4.0)"),
[Nuulbee](https://sketchfab.com/3d-models/kgirls01-d2f946f58a8040ae993cda70c97b302c "for kgirls01 3D model (CC BY-NC-ND 4.0)"),
[Pixel Frog](https://pixelfrog-assets.itch.io/ "for their lovely asesprites (CC0)"),
[Quaternius](https://www.patreon.com/quaternius "for their lovely 3D robots (CC0)"),
[Rotting Pixels](https://opengameart.org/content/2d-castle-platformer-tileset-16x16 "for castle-tileset (CC0)"),
[Tom Lewandowski](https://QuestStudios.com "for their MIDI recordings (c)"),
[Rye Terrell](https://github.com/wwwtyro/glsl-atmosphere "for nicest rayleigh/mie scattering shader around (CC0)"),
[Rxi](https://github.com/rxi/autobatch "for their lovely sprites & cats demo (MIT)"),
**Tools**
[Aaron Barany](https://github.com/akb825/Cuttlefish "for cuttlefish (APACHE2)"),
[Andreas Mantler](https://github.com/ands/sproutline/ "for sproutline (PD)"),
[Arseny Kapoulkine](https://github.com/zeux/pugixml/ "for pugixml (MIT)"),
[Assimp authors](https://github.com/assimp/assimp "for assimp (BSD3)"),
[Bernhard Schelling](https://github.com/schellingb/TinySoundFont "for tml.h (Zlib) and tsf.h (MIT)"),
[FFMPEG authors](https://www.ffmpeg.org/ "for ffmpeg (LGPL21)"),
[Imagination](https://developer.imaginationtech.com/pvrtextool/ "for pvrtextoolcli (ITL)"),
[Krzysztof Gabis](https://github.com/kgabis/ape "for split.py/join.py (MIT)"),
[Lee Salzman](https://github.com/lsalzman/iqm/tree/5882b8c32fa622eba3861a621bb715d693573420/demo "for iqm.cpp (PD)"),
[Leon Bottou](https://github.com/facebookresearch/CParser "for lcpp (MIT)"),
[MartΓ­n Lucas Golini](https://github.com/SpartanJ/eepp/commit/8552941da19380d7a629c4da80a976aec5d39e5c "for emscripten-fs.html (CC0)"),
[Mattias Gustavsson](https://github.com/mattiasgustavsson/libs "for mid.h (PD)"),
[Morgan McGuire](https://casual-effects.com/markdeep/ "for markdeep (BSD2)"),
[Olivier Lapicque, Konstanty Bialkowski](https://github.com/Konstanty/libmodplug "for libmodplug (PD)"),
[Polyglot Team](https://docs.google.com/spreadsheets/d/17f0dQawb-s_Fd7DHgmVvJoEGDMH_yoSd8EYigrb0zmM/edit "for polyglot gamedev (CC0)"),
[Randy Gaul](https://github.com/RandyGaul/cute_headers "for cute_asesprite (PD)"),
[Rxi, Adam Harrison](https://github.com/rxi/lite "for the exquisite lite editor (MIT)"),
[Sean Barrett et al.](https://github.com/nothings/stb "for stbiresize, stbrectpack (PD)"),
[Sepehr Taghdisian](https://github.com/septag/atlasc/ "for glslcc+atlasc (BSD2)"),
[Tildearrow](https://github.com/tildearrow/furnace/ "for Furnace (GPL2)"),
[Tomas Pettersson](http://www.drpetter.se/ "for sfxr (PD)"),
[Tor Andersson](https://github.com/ccxvii/asstools "for assiqe.c (BSD)"),
[Wael El Oraiby](https://github.com/eloraiby/delaunay "for delaunay.c (AGPL3)"),
**Runtime**
[Andreas Mantler](https://github.com/ands "for lightmapper and math library (PD)"),
[Barerose](https://github.com/barerose "for swrap (CC0) and math library (CC0)"),
[Camilla LΓΆwy](https://github.com/elmindreda "for glfw3 and gleq (Zlib)"),
[Dave Rand](https://tools.ietf.org/html/rfc1978 "for ppp (PD)"),
[David Herberth](https://github.com/dav1dde/ "for glad generated code (PD)"),
[David Reid](https://github.com/mackron "for miniaudio (PD)"),
[Dominic Szablewski](https://github.com/phoboslab/pl_mpeg "for pl_mpeg (MIT)"),
[Dominik MadarΓ‘sz](https://github.com/zaklaus "for json5 parser (PD)"),
[Eduard Suica](https://github.com/eduardsui/tlse "for tlse (PD)"),
[Evan Wallace](https://github.com/evanw "for their math library (CC0)"),
[Gargaj+cce/Peisik](https://github.com/gargaj/foxotron "for Foxotron/PBR shaders (UNLICENSE)"),
[Guilherme Lampert](https://github.com/glampert "for their math library (PD)"),
[Guillaume Vareille](http://tinyfiledialogs.sourceforge.net "for tinyfiledialogs (ZLIB)"),
[Haruhiko Okumura](https://oku.edu.mie-u.ac.jp/~okumura/compression/ "for lzss (PD)"),
[Igor Pavlov](https://www.7-zip.org/ "for LZMA (PD)"),
[Ilya Muravyov](https://github.com/encode84 "for bcm, balz, crush, ulz, lz4x (PD)"),
[James R. McKaskill](https://github.com/jmckaskill/luaffi "for luaffi (MIT)"),
[Jon Olick](https://www.jonolick.com/ "for jo_mp1 and jo_mpeg (PD)"),
[Joonas Pihlajamaa](https://github.com/jokkebk/JUnzip "for JUnzip library (PD)"),
[Juliette Focault](https://github.com/juliettef/IconFontCppHeaders/blob/main/IconsMaterialDesign.h "for the generated MD header (ZLIB)"),
[Kristoffer GrΓΆnlund](https://github.com/krig "for their math library (CC0)"),
[Lee Salzman](https://github.com/lsalzman/iqm/tree/5882b8c32fa622eba3861a621bb715d693573420/demo "for IQM spec & player (PD)"),
[Lee Salzman, V.Hrytsenko, D.MadarΓ‘sz](https://github.com/zpl-c/enet/ "for enet (MIT)"),
[Libtomcrypt](https://github.com/libtom/libtomcrypt "for libtomcrypt (Unlicense)"),
[Lua authors](https://www.lua.org/ "for Lua language (MIT)"),
[Mattias Gustavsson](https://github.com/mattiasgustavsson/libs "for thread.h and https.h (PD)"),
[Mattias Jansson](https://github.com/mjansson/rpmalloc "for rpmalloc (PD)"),
[Micha Mettke](https://github.com/vurtun "for nuklear and their math library (PD)"),
[Michael Galetzka](https://github.com/Cultrarius/Swarmz "for swarmz (UNLICENSE)"),
[Morten Vassvik](https://github.com/vassvik/mv_easy_font "for mv_easy_font (Unlicense)"),
[MārtiΕ†Ε‘ MoΕΎeiko](https://gist.github.com/mmozeiko/68f0a8459ef2f98bcd879158011cc275 "for A* pathfinding (PD)"),
[Omar Cornut, vaiorabbit](https://github.com/ocornut/imgui/pull/3627 "for tables of unicode ranges (MIT-0)"),
[Peter Schulman, Chris Willcocks, Dmitry Hrabrov](https://github.com/vurtun/nuklear "for nuklear patches (PD)"),
[Rabia Alhaffar](https://github.com/Rabios/ice_libs "for ice_batt.h (PD)"),
[Randy Gaul](https://web.archive.org/*/http://www.randygaul.net/wp-content/uploads/2021/04/handle_table.cpp "for HandleTable (PD)"),
[Rich Geldreich](https://github.com/richgel999/miniz "for miniz (PD)"),
[Ross Williams](http://ross.net/compression/lzrw3a.html "for lzrw3a (PD)"),
[Samuli Raivio](https://github.com/bqqbarbhg/bq_websocket "for bq_websocket (PD)"),
[Scott Lembcke](https://github.com/slembcke/debugger.lua "for lua debugger (MIT)"),
[Sean Barrett](https://github.com/nothings "for stb_image, stb_image_write, stb_sprintf, stb_truetype and stb_vorbis (PD)"),
[Sebastian Steinhauer](https://github.com/kieselsteini "for sts_mixer (PD)"),
[Stan Melax, Cloud Wu](https://web.archive.org/web/20031204035320/http://www.melax.com/polychop/gdmag.pdf "for polychop C algorithm (PD)"),
[Stefan Gustavson](https://github.com/stegu/perlin-noise "for simplex noise (PD)"),
[Sterling Orsten](https://github.com/sgorsten "for their math library (UNLICENSE)"),
[Tor Andersson](https://github.com/ccxvii/minilibs "for xml.c (PD)"),
[Werner Stoop](engine/split/3rd_eval.h "for their expression evaluator (PD)"),
[Wolfgang Draxinger](https://github.com/datenwolf "for their math library (WTFPL2)"),

## Unlicense
This software is released into the [public domain](https://unlicense.org/). Also dual-licensed as [0-BSD](https://opensource.org/licenses/0BSD) or [MIT (No Attribution)](https://github.com/aws/mit-0) for those countries where public domain is a concern (sigh). Any contribution to this repository is implicitly subjected to the same release conditions aforementioned.

## Links
Still looking for alternatives? [amulet](https://github.com/ianmaclarty/amulet), [aroma](https://github.com/leafo/aroma/), [astera](https://github.com/tek256/astera), [blendelf](https://github.com/jesterKing/BlendELF), [bullordengine](https://github.com/MarilynDafa/Bulllord-Engine), [candle](https://github.com/EvilPudding/candle), [cave](https://github.com/kieselsteini/cave), [chickpea](https://github.com/ivansafrin/chickpea), [corange](https://github.com/orangeduck/Corange), [cute](https://github.com/RandyGaul/cute_framework), [dos-like](https://github.com/mattiasgustavsson/dos-like), [ejoy2d](https://github.com/ejoy/ejoy2d), [exengine](https://github.com/exezin/exengine), [game-framework](https://github.com/Planimeter/game-framework), [gunslinger](https://github.com/MrFrenik/gunslinger), [hate](https://github.com/excessive/hate), [island](https://github.com/island-org/island), [juno](https://github.com/rxi/juno), [l](https://github.com/Lyatus/L), [limbus](https://github.com/redien/limbus), [love](https://github.com/love2d/love/), [lovr](https://github.com/bjornbytes/lovr), [mini3d](https://github.com/mini3d/mini3d), [mintaro](https://github.com/mackron/mintaro), [mio](https://github.com/ccxvii/mio), [olive.c](https://github.com/tsoding/olive.c), [opensource](https://github.com/w23/OpenSource), [ouzel](https://github.com/elnormous/ouzel/), [pez](https://github.com/prideout/pez), [pixie](https://github.com/mattiasgustavsson/pixie), [punity](https://github.com/martincohen/Punity), [r96](https://github.com/badlogic/r96), [ricotech](https://github.com/dbechrd/RicoTech), [rizz](https://github.com/septag/rizz), [tigr](https://github.com/erkkah/tigr), [yourgamelib](https://github.com/duddel/yourgamelib)

<a href="https://github.com/fwk3d/v2/issues"><img alt="Issues" src="https://img.shields.io/github/issues-raw/fwk3d/v2.svg?label=Issues&logo=github&logoColor=white"/></a> <a href="https://github.com/fwk3d/v2/actions/workflows/build.yml"><img alt="Build status" src="https://github.com/fwk3d/v2/actions/workflows/build.yml/badge.svg"/></a> <a href="https://discord.gg/UpB7nahEFU"><img alt="Discord" src="https://img.shields.io/discord/270565488365535232?color=5865F2&label=Chat&logo=discord&logoColor=white"/></a>

<!--
πŸŸ₯🟧🟨🟩🟦πŸŸͺβ€οΈπŸ§‘πŸ’›πŸ’šπŸ’™πŸ’œ
What, When, Where, Why, How, Which, Who, and Whom
-->
37 changes: 37 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Build

on:
push:
paths:
- '.github/workflows/build.yml'
- 'src/**'
pull_request:
paths:
- '.github/workflows/build.yml'
- 'src/**'

env:
CMAKE_BUILD_TYPE: Release
CMAKE_GENERATOR_PLATFORM: x64

jobs:
build:
runs-on: windows-latest

steps:
- uses: actions/checkout@v4

- name: Configure CMake
run: >-
cmake
-S "${{github.workspace}}/.github"
-B "${{github.workspace}}/build"
-DCMAKE_BUILD_TYPE=${{env.CMAKE_BUILD_TYPE}}
-DCMAKE_GENERATOR_PLATFORM=${{env.CMAKE_GENERATOR_PLATFORM}}
- name: Build
run: >-
cmake
--build "${{github.workspace}}/build"
--config ${{env.CMAKE_BUILD_TYPE}}
--verbose
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.*
Loading

0 comments on commit a82f898

Please sign in to comment.