diff --git a/MAKE.bat b/MAKE.bat
index 9f54f85..e20e812 100644
--- a/MAKE.bat
+++ b/MAKE.bat
@@ -463,7 +463,7 @@ if "%1"=="web" (
if "%1"=="vps" (
call make.bat git
tools\pscp -4 -batch -agent -P 22 -l app engine\v4k.html 128.140.14.212:/home/app/microblog/app/static/v4k/index.html
- tools\pscp -4 -batch -agent -P 22 -l app engine\joint\v4k.h 128.140.14.212:/home/app/microblog/app/static/v4k/v4k.h
+ rem tools\pscp -4 -batch -agent -P 22 -l app engine\joint\v4k.h 128.140.14.212:/home/app/microblog/app/static/v4k/v4k.h
exit /b
)
diff --git a/README.md b/README.md
index e9ab859..a38d607 100644
--- a/README.md
+++ b/README.md
@@ -3,17 +3,9 @@
3D multimedia workbench in C, with Luajit and Python bindings.
-## Download
-- [v4k.h](https://v4k.dev/v4k.h)
-- ~~workbench.exe~~
-
-## Goals
-- [x] ~~Full featured~~, ~~Fast~~, ~~Modern C++~~. Small, Naive, Simple C.
-- [x] ~~Rich build system~~, ~~Royaltie fee~~. Single file, Freely unlicensed.
-
-## Features ᕦ(ᐛ)ᕤ
+## Features
- [x] Pipeline: configurable and integrated [asset pipeline](tools/cook.ini).
-- [x] Embedded: [single-file header](engine/joint/fwk.h), all dependencies included.
+- [x] Embedded: single-file header, all dependencies included.
- [x] Compiler: MSVC, MINGW64, TCC, GCC, clang, clang-cl and emscripten.
- [x] Linkage: Both static linkage and dynamic .dll/.so/.dylib support.
- [x] Platform: Windows, Linux and OSX. Partial HTML5/Web support.
@@ -24,6 +16,7 @@
- [x] Input: keyboard, mouse and gamepads.
- [x] Script: Lua scripting, Luajit bindings.
- [x] Network: downloads (HTTPS) and sockets (TCP/UDP).
+- [x] Network: Game sync module
- [x] AI: Swarm/Boids.
- [x] UI: button, list, slider, toggle, checkbox, editbox, dialog, color, image, menu, window, notify...
- [x] Font: TTF, OTF and TTC. Basic syntax highlighter. Glyph ranges. Atlasing.
@@ -42,6 +35,7 @@
- [x] Render: 2D Sprites, spritesheets, AA zooming and batching.
- [x] Render: 2D Tilemaps and tilesets: TMX, TSX.
- [x] Render: Compute shaders and SSBO support.
+- [x] Render: Geometry shaders.
- [x] Compression: DEFLATE, LZMA, LZ4, ULZ, BALZ, BCM, CRUSH, LZW3, LZSS and PPP.
- [x] Virtual filesystem: ZIP, PAK, TAR and DIR.
- [x] Level data: JSON, JSON5, SJSON, XML, INI.
@@ -51,135 +45,6 @@
- [x] [Editor (wip)](https://user-images.githubusercontent.com/35402248/174457347-f787a6a2-aac8-404c-a5da-f44310c3d432.mp4).
- [x] [Documentation (wip)](https://bit.ly/v4k2023).
-## Roadmap ᕕ(ᐛ)ᕗ (in order of arrival; ✱: partial support)
-- [ ] AI pass: actors, waypoints, pathfinding, behavior trees (h/fsm,goap), and navmesh generation.
-- [ ] Network/VM pass: Entity/component/systems and worlds.
- - [ ] Core pass: struct serialization.
- - [ ] Message pipeline and replication.
- - [ ] Digital signals, message buffering and event polling.
- - [ ] World streaming and level loading.
- - [ ] Scenegraphs and spatial partioning. BVH, PVS, occluders, frustum culling.
- - [ ] Server/client architecture. Hybrid P2P.
- - [ ] NAT traversal. Socketless API, message API and pub/sub wrappers (enet/websocket).
-- [ ] Editor pass = netbased + offline rendering + virtual input.
- - [ ] Basic: Gizmos✱, scene tree, property editor✱, load/save✱, undo/redo✱, copy/paste, on/off (vis,tick,ddraw,log), vcs.
- - [ ] Scenenode: node singleton display, node console, node labels, node outlines✱.
- - [ ] Debug: toggles on/off (billboards✱, materials, un/lit, cast shadows, wireframe, skybox✱/mie✱, fog/atmosphere, collide✱, physics).
- - [ ] Level: volumes, triggers, platforms, level streaming.
- - [ ] Sub-editor: timeline and data tracks, node graphs.
- - [ ] Sub-editor: Procedural content, brushes, noise and CSG.
- - [ ] Sub-editor: blendshapes, additive anims, head/foot/hand IKs.
- - [ ] Script pass: DLL✱ (module->plugin/sys), Lua✱, Luajit✱, Teal✱ and TypeScript.
-- [ ] Render pass: reverse-Z, automatic LODs, impostors, decals.
- - [ ] Materials: (colors✱, textures✱, matcaps✱, videos✱, shadertoys✱). Shadertoys as post-fx✱.
- - [ ] Lighting: Hard/soft shadow mapping (VSM,CCSM). Baked lightmaps. Refl probes. Integrated PBR.
-- [ ] Tools pass
- - [ ] Extend shaders + bindings. Per-platform✱, per-type✱, per-asset options. GIF, PKM.
- - [ ] Extend atlas (sprite/lightmaps). Fit packing (sprites).
- - [ ] Extend bindings and messaging: parse C headers during cooking stage.
-- [ ] API pass
- - [ ] Extend math: quat2, bezier, catmull.
- - [ ] Discuss API and freeze it.
- - [ ] Document everything.
-
-
-
## Hello V4K
```C
#include "v4k.h" // Minimal C sample
@@ -237,7 +102,7 @@ echo osx && cc -ObjC hello.c -framework cocoa -framework iokit -fr
## Credits
-**Original** Big big thanks to [r-lyeh](https://github.com/r-lyeh/fwk) for the amazing FWK base!
+**Original** Big big thanks to [r-lyeh](https://github.com/r-lyeh/fwk) for the amazing FWK base!
**Artwork**
[Dean Evans, Raijin](https://youtu.be/RRvYkrrpMKo?t=147 "for the Map song (c)"),
[FMS_Cat](https://gist.github.com/FMS-Cat/a1ccea3ce866c34706084e3526204f4f "for nicest VHS/VCR shader around (MIT)"),
@@ -317,5 +182,5 @@ echo osx && cc -ObjC hello.c -framework cocoa -framework iokit -fr
- [Rxi](https://github.com/rxi/autobatch "for lovely sprites & cats demo (MIT)")
-->
-## 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.
+## License
+All Rights Reserved. Access provided with written permission. Internal use only.
diff --git a/engine/v4k.html b/engine/v4k.html
index 2d35129..6f22040 100644
--- a/engine/v4k.html
+++ b/engine/v4k.html
@@ -596,14 +596,17 @@ details > summary::-webkit-details-marker {
|Version: | 2023.9 |
|:--------------|:------------|
|Branch: | main |
-|Commit: | 72 |
+|Commit: | 73 |
-# [V·4·K 2023.9 ](https://dev.v4.games/zaklaus/v4k)
+# [V·4·K 2023.9 ](https://v4k.dev)
## a b o u t
-- https://dev.v4.games/zaklaus/v4k is a multimedia workbench for prototyping and planning ideas.
+- V4K is a multimedia workbench for prototyping and planning ideas.
+- Internal use only.
+- Original repo at [FWK](https://github.com/r-lyeh/FWK). Huge thanks for the amazing base provided!
+
Code style
```C linenumbers
/// ## Markdown comments when documenting (3 slashes)
@@ -639,27 +642,11 @@ void assert_positive( int my_int ) { // lowercase snake_case everywhere
-Download
-
-
-- [v4k.h](https://v4k.dev/v4k.h)
-- ~~workbench.exe~~
-
-
-
-Goals
-
-
-- [x] ~~Full featured~~, ~~Fast~~, ~~Modern C++~~. Small, Naive, Simple C.
-- [x] ~~Rich build system~~, ~~Royaltie fee~~. Single file, Freely unlicensed.
-
-
-
-Features ᕦ(ᐛ)ᕤ
+Features
- [x] Pipeline: configurable and integrated [asset pipeline](tools/cook.ini).
-- [x] Embedded: [single-file header](engine/joint/fwk.h), all dependencies included.
+- [x] Embedded: single-file header, all dependencies included.
- [x] Compiler: MSVC, MINGW64, TCC, GCC, clang, clang-cl and emscripten.
- [x] Linkage: Both static linkage and dynamic .dll/.so/.dylib support.
- [x] Platform: Windows, Linux and OSX. Partial HTML5/Web support.
@@ -670,6 +657,7 @@ void assert_positive( int my_int ) { // lowercase snake_case everywhere
- [x] Input: keyboard, mouse and gamepads.
- [x] Script: Lua scripting, Luajit bindings.
- [x] Network: downloads (HTTPS) and sockets (TCP/UDP).
+- [x] Network: Game sync module
- [x] AI: Swarm/Boids.
- [x] UI: button, list, slider, toggle, checkbox, editbox, dialog, color, image, menu, window, notify...
- [x] Font: TTF, OTF and TTC. Basic syntax highlighter. Glyph ranges. Atlasing.
@@ -688,6 +676,7 @@ void assert_positive( int my_int ) { // lowercase snake_case everywhere
- [x] Render: 2D Sprites, spritesheets, AA zooming and batching.
- [x] Render: 2D Tilemaps and tilesets: TMX, TSX.
- [x] Render: Compute shaders and SSBO support.
+- [x] Render: Geometry shaders.
- [x] Compression: DEFLATE, LZMA, LZ4, ULZ, BALZ, BCM, CRUSH, LZW3, LZSS and PPP.
- [x] Virtual filesystem: ZIP, PAK, TAR and DIR.
- [x] Level data: JSON, JSON5, SJSON, XML, INI.
@@ -699,139 +688,6 @@ void assert_positive( int my_int ) { // lowercase snake_case everywhere
-Roadmap ᕕ(ᐛ)ᕗ (in order of arrival; ✱: partial support)
-
-
-- [ ] AI pass: actors, waypoints, pathfinding, behavior trees (h/fsm,goap), and navmesh generation.
-- [ ] Network/VM pass: Entity/component/systems and worlds.
- - [ ] Core pass: struct serialization.
- - [ ] Message pipeline and replication.
- - [ ] Digital signals, message buffering and event polling.
- - [ ] World streaming and level loading.
- - [ ] Scenegraphs and spatial partioning. BVH, PVS, occluders, frustum culling.
- - [ ] Server/client architecture. Hybrid P2P.
- - [ ] NAT traversal. Socketless API, message API and pub/sub wrappers (enet/websocket).
-- [ ] Editor pass = netbased + offline rendering + virtual input.
- - [ ] Basic: Gizmos✱, scene tree, property editor✱, load/save✱, undo/redo✱, copy/paste, on/off (vis,tick,ddraw,log), vcs.
- - [ ] Scenenode: node singleton display, node console, node labels, node outlines✱.
- - [ ] Debug: toggles on/off (billboards✱, materials, un/lit, cast shadows, wireframe, skybox✱/mie✱, fog/atmosphere, collide✱, physics).
- - [ ] Level: volumes, triggers, platforms, level streaming.
- - [ ] Sub-editor: timeline and data tracks, node graphs.
- - [ ] Sub-editor: Procedural content, brushes, noise and CSG.
- - [ ] Sub-editor: blendshapes, additive anims, head/foot/hand IKs.
- - [ ] Script pass: DLL✱ (module->plugin/sys), Lua✱, Luajit✱, Teal✱ and TypeScript.
-- [ ] Render pass: reverse-Z, automatic LODs, impostors, decals.
- - [ ] Materials: (colors✱, textures✱, matcaps✱, videos✱, shadertoys✱). Shadertoys as post-fx✱.
- - [ ] Lighting: Hard/soft shadow mapping (VSM,CCSM). Baked lightmaps. Refl probes. Integrated PBR.
-- [ ] Tools pass
- - [ ] Extend shaders + bindings. Per-platform✱, per-type✱, per-asset options. GIF, PKM.
- - [ ] Extend atlas (sprite/lightmaps). Fit packing (sprites).
- - [ ] Extend bindings and messaging: parse C headers during cooking stage.
-- [ ] API pass
- - [ ] Extend math: quat2, bezier, catmull.
- - [ ] Discuss API and freeze it.
- - [ ] Document everything.
-
-
-
-
-
Hello V4K
@@ -907,7 +763,7 @@ echo osx && cc -ObjC hello.c -framework cocoa -framework iokit -fr
Credits
-**Original** Big big thanks to [r-lyeh](https://github.com/r-lyeh/fwk) for the amazing FWK base!
+**Original** Big big thanks to [r-lyeh](https://github.com/r-lyeh/fwk) for the amazing FWK base!
**Artwork**
[Dean Evans, Raijin](https://youtu.be/RRvYkrrpMKo?t=147 "for the Map song (c)"),
[FMS_Cat](https://gist.github.com/FMS-Cat/a1ccea3ce866c34706084e3526204f4f "for nicest VHS/VCR shader around (MIT)"),
@@ -989,10 +845,10 @@ echo osx && cc -ObjC hello.c -framework cocoa -framework iokit -fr
-Unlicense
+License
-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.
+All Rights Reserved. Access provided with written permission. Internal use only.
## config
@@ -8848,7 +8704,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
## shaders
-
+
extern const char* const fs_0_0_shadowmap_lit;
Under construction. Yet to be documented.
@@ -8857,7 +8713,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
-
+
extern const char* const fs_0_0_shadowmap_unlit;
Under construction. Yet to be documented.
@@ -8866,7 +8722,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
-
+
extern const char* const fs_24_4_sprite;
Under construction. Yet to be documented.
@@ -8875,7 +8731,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
-
+
extern const char* const fs_2_4_preamble;
Under construction. Yet to be documented.
@@ -8884,7 +8740,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
-
+
extern const char* const fs_2_4_texel_inv_gamma;
Under construction. Yet to be documented.
@@ -8893,7 +8749,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
-
+
extern const char* const fs_2_4_texel_ycbr_gamma_saturation;
Under construction. Yet to be documented.
@@ -8902,7 +8758,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
-
+
extern const char* const fs_32_4_model;
Under construction. Yet to be documented.
@@ -8911,7 +8767,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
-
+
extern const char* const fs_32_4_model_basic;
Under construction. Yet to be documented.
@@ -8920,7 +8776,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
-
+
extern const char* const fs_3_4_skybox;
Under construction. Yet to be documented.
@@ -8929,7 +8785,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
-
+
extern const char* const fs_3_4_skybox_rayleigh;
Under construction. Yet to be documented.
@@ -8938,7 +8794,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
-
+
extern const char* const fs_main_shadertoy;
Under construction. Yet to be documented.
@@ -8947,7 +8803,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
-
+
extern const char* const vs_0_2_fullscreen_quad_A;
Under construction. Yet to be documented.
@@ -8956,7 +8812,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
-
+
extern const char* const vs_0_2_fullscreen_quad_B;
Under construction. Yet to be documented.
@@ -8965,7 +8821,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
-
+
extern const char* const vs_0_2_fullscreen_quad_B_flipped;
Under construction. Yet to be documented.
@@ -8974,7 +8830,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
-
+
extern const char* const vs_323444143_16_332_model;
Under construction. Yet to be documented.
@@ -8983,7 +8839,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
-
+
extern const char* const vs_324_24_sprite;
Under construction. Yet to be documented.
@@ -8992,7 +8848,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
-
+
extern const char* const vs_332_32;
Under construction. Yet to be documented.
@@ -9001,7 +8857,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
-
+
extern const char* const vs_3_3_skybox;
Under construction. Yet to be documented.
diff --git a/tools/docs/docs.md b/tools/docs/docs.md
index 9b637f3..0c63cee 100644
--- a/tools/docs/docs.md
+++ b/tools/docs/docs.md
@@ -4,11 +4,14 @@
|Commit: | {{GIT_REVISION}} |
-# [V·4·K {{VERSION}}](https://dev.v4.games/zaklaus/v4k)
+# [V·4·K {{VERSION}}](https://v4k.dev)
## a b o u t
-- https://dev.v4.games/zaklaus/v4k is a multimedia workbench for prototyping and planning ideas.
+- V4K is a multimedia workbench for prototyping and planning ideas.
+- Internal use only.
+- Original repo at [FWK](https://github.com/r-lyeh/FWK). Huge thanks for the amazing base provided!
+
Code style
```C linenumbers
/// ## Markdown comments when documenting (3 slashes)