Merge remote-tracking branch 'refs/remotes/origin/master'
This commit is contained in:
317
.github/workflows/build.yml
vendored
317
.github/workflows/build.yml
vendored
@@ -1,50 +1,301 @@
|
||||
name: Build (Release + Cross)
|
||||
name: Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "master" ]
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
# 1) Native Linux build
|
||||
- os: ubuntu-latest
|
||||
name: "Linux (Release)"
|
||||
target: "release"
|
||||
|
||||
# ===============================================================
|
||||
# LINUX BUILD
|
||||
# ===============================================================
|
||||
build-linux:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# 1) Check out code
|
||||
- name: Check Out Code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: "3.x"
|
||||
|
||||
- name: Install Meson and Ninja
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install meson ninja
|
||||
|
||||
- name: Install Dependencies for Cross (mingw)
|
||||
if: ${{ matrix.target == 'crosswin' }}
|
||||
# 2) Install system dependencies + ccache
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y mingw-w64
|
||||
# Add any other packages needed for cross compilation
|
||||
sudo apt-get install -y \
|
||||
libasound2-dev libpulse-dev libudev-dev \
|
||||
libwayland-dev wayland-protocols libxkbcommon-dev \
|
||||
libx11-dev libxext-dev libxrandr-dev libxcursor-dev \
|
||||
libxi-dev libxinerama-dev libxss-dev \
|
||||
libegl1-mesa-dev libgl1-mesa-dev \
|
||||
cmake ninja-build git build-essential binutils mold meson pkg-config \
|
||||
ccache
|
||||
|
||||
- name: Build
|
||||
run: make ${{ matrix.target }}
|
||||
# 3) Configure ccache
|
||||
- name: Configure ccache
|
||||
run: |
|
||||
echo "CMAKE_C_COMPILER_LAUNCHER=ccache" >> $GITHUB_ENV
|
||||
echo "CMAKE_CXX_COMPILER_LAUNCHER=ccache" >> $GITHUB_ENV
|
||||
|
||||
- name: Upload Artifact
|
||||
# 4) Cache ccache
|
||||
- name: Cache ccache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/.ccache
|
||||
key: ccache-linux-${{ hashFiles('**/*.c', '**/*.cpp', '**/*.h', '**/CMakeLists.txt', '**/meson.build') }}
|
||||
restore-keys: |
|
||||
ccache-linux-
|
||||
|
||||
# 5) Cache SDL3 (Linux)
|
||||
- name: Cache SDL3 (Linux)
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
sdl3
|
||||
sdl3-build
|
||||
key: sdl3-linux-${{ hashFiles('sdl3/CMakeLists.txt') }}
|
||||
|
||||
# 6) Build SDL3 (Linux)
|
||||
- name: Build SDL3 (Linux)
|
||||
run: |
|
||||
if [ ! -d "sdl3/.git" ]; then
|
||||
echo "Cloning SDL3 repository..."
|
||||
git clone --depth 1 --branch main https://github.com/libsdl-org/SDL.git sdl3
|
||||
else
|
||||
echo "SDL3 source is already present (possibly from cache)."
|
||||
fi
|
||||
|
||||
mkdir -p sdl3-build
|
||||
cd sdl3-build
|
||||
cmake ../sdl3 -GNinja \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX="${PWD}/installed_sdl3" \
|
||||
-DSDL_SHARED=ON \
|
||||
-DSDL_STATIC=OFF
|
||||
ninja
|
||||
ninja install
|
||||
|
||||
# 7) Build Prosperon (Linux)
|
||||
- name: Build Prosperon (Linux)
|
||||
run: |
|
||||
export PKG_CONFIG_PATH="${PWD}/sdl3-build/installed_sdl3/lib/pkgconfig:$PKG_CONFIG_PATH"
|
||||
meson setup build_dbg -Dbuildtype=debugoptimized
|
||||
meson compile -C build_dbg
|
||||
|
||||
# 8) Create minimal artifact folder (Linux)
|
||||
- name: Create artifact folder (Linux)
|
||||
run: |
|
||||
mkdir _pack
|
||||
cp build_dbg/prosperon _pack/
|
||||
# Adjust wildcard if there's a versioned libSDL3. e.g. libSDL3-0.600.0.so
|
||||
cp sdl3-build/installed_sdl3/lib/libSDL3.so _pack/
|
||||
|
||||
# 9) Upload artifact (Linux)
|
||||
- name: Upload Artifact (Linux)
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: ${{ matrix.name }}-artifacts
|
||||
# If your build output folders differ, adjust accordingly:
|
||||
name: prosperon-artifacts-linux
|
||||
path: _pack
|
||||
|
||||
# ===============================================================
|
||||
# MACOS BUILD (Using Homebrew SDL3)
|
||||
# ===============================================================
|
||||
build-macos:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
# 1) Check out code
|
||||
- name: Check Out Code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
# 2) Install dependencies (SDL3 via Homebrew) + ccache
|
||||
- name: Install Dependencies (macOS)
|
||||
run: |
|
||||
brew update
|
||||
brew install sdl3 meson ninja cmake ccache
|
||||
|
||||
# 3) Configure ccache
|
||||
- name: Configure ccache
|
||||
run: |
|
||||
echo "CMAKE_C_COMPILER_LAUNCHER=ccache" >> $GITHUB_ENV
|
||||
echo "CMAKE_CXX_COMPILER_LAUNCHER=ccache" >> $GITHUB_ENV
|
||||
|
||||
# 4) Cache ccache
|
||||
- name: Cache ccache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/Library/Caches/ccache
|
||||
key: ccache-macos-${{ hashFiles('**/*.c', '**/*.cpp', '**/*.h', '**/CMakeLists.txt', '**/meson.build') }}
|
||||
restore-keys: |
|
||||
ccache-macos-
|
||||
|
||||
# 5) Build Prosperon (macOS) linking against Homebrew's SDL3
|
||||
- name: Build Prosperon (macOS)
|
||||
run: |
|
||||
# Ensure pkg-config can find Homebrew's SDL3 .pc files
|
||||
export PKG_CONFIG_PATH="$(brew --prefix sdl3)/lib/pkgconfig:$PKG_CONFIG_PATH"
|
||||
meson setup build_macos -Dbuildtype=debugoptimized
|
||||
meson compile -C build_macos
|
||||
|
||||
# 6) Copy SDL3 .dylib from Homebrew for packaging
|
||||
- name: Copy SDL3 library for packaging
|
||||
run: |
|
||||
SDL3_PREFIX=$(brew --prefix sdl3)
|
||||
mkdir -p sdl3-macos
|
||||
# Copy all versions of the SDL3 dynamic library
|
||||
cp -a "${SDL3_PREFIX}/lib/libSDL3*.dylib" sdl3-macos/ || echo "No .dylib found, ignoring"
|
||||
|
||||
# 7) Create minimal artifact folder (macOS)
|
||||
- name: Create artifact folder (macOS)
|
||||
run: |
|
||||
mkdir _pack
|
||||
cp build_macos/prosperon _pack/
|
||||
cp sdl3-macos/libSDL3*.dylib _pack/ || echo "No .dylib found, ignoring"
|
||||
|
||||
# 8) Upload artifact (macOS)
|
||||
- name: Upload Artifact (macOS)
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: prosperon-artifacts-macos
|
||||
path: _pack
|
||||
|
||||
# ===============================================================
|
||||
# WINDOWS BUILD (Cross-compiling on Ubuntu)
|
||||
# ===============================================================
|
||||
build-windows:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# 1) Check out code
|
||||
- name: Check Out Code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
# 2) Install dependencies (MinGW, etc.) + ccache
|
||||
- name: Install Dependencies (Windows Cross)
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y \
|
||||
mingw-w64 cmake ninja-build git build-essential \
|
||||
binutils pkg-config meson ccache
|
||||
|
||||
# 3) Configure ccache for cross-compiler
|
||||
- name: Configure ccache
|
||||
run: |
|
||||
echo "CMAKE_C_COMPILER_LAUNCHER=ccache" >> $GITHUB_ENV
|
||||
echo "CMAKE_CXX_COMPILER_LAUNCHER=ccache" >> $GITHUB_ENV
|
||||
|
||||
# 4) Cache ccache
|
||||
- name: Cache ccache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/.ccache
|
||||
key: ccache-win-${{ hashFiles('**/*.c', '**/*.cpp', '**/*.h', '**/CMakeLists.txt', '**/meson.build') }}
|
||||
restore-keys: |
|
||||
ccache-win-
|
||||
|
||||
# 5) Cache SDL3 (Windows cross)
|
||||
- name: Cache SDL3 (Windows cross)
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
build_dbg
|
||||
build_release
|
||||
build_win
|
||||
sdl3-win
|
||||
sdl3-build-win
|
||||
key: sdl3-win-${{ hashFiles('sdl3-win/CMakeLists.txt') }}
|
||||
|
||||
# 6) Build SDL3 (Windows cross)
|
||||
- name: Build SDL3 (Windows cross)
|
||||
run: |
|
||||
if [ ! -d "sdl3-win/.git" ]; then
|
||||
echo "Cloning SDL3 for Windows cross..."
|
||||
git clone --depth 1 --branch main https://github.com/libsdl-org/SDL.git sdl3-win
|
||||
else
|
||||
echo "SDL3-win source already present (possibly from cache)."
|
||||
fi
|
||||
|
||||
mkdir -p sdl3-build-win
|
||||
cd sdl3-build-win
|
||||
cmake ../sdl3-win -GNinja \
|
||||
-DCMAKE_SYSTEM_NAME=Windows \
|
||||
-DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc \
|
||||
-DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++ \
|
||||
-DCMAKE_RC_COMPILER=x86_64-w64-mingw32-windres \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX="${PWD}/installed_sdl3_win" \
|
||||
-DSDL_SHARED=ON \
|
||||
-DSDL_STATIC=OFF
|
||||
ninja
|
||||
ninja install
|
||||
|
||||
# 7) Expose local SDL3 (Windows cross) for pkg-config
|
||||
- name: Configure PKG_CONFIG_PATH (Windows cross)
|
||||
run: |
|
||||
echo "PKG_CONFIG_PATH=${GITHUB_WORKSPACE}/sdl3-build-win/installed_sdl3_win/lib/pkgconfig:$PKG_CONFIG_PATH" >> $GITHUB_ENV
|
||||
|
||||
# 8) Build Prosperon (Windows cross)
|
||||
- name: Build Prosperon (Windows cross)
|
||||
run: |
|
||||
meson setup -Dbuildtype=debugoptimized --cross-file mingw32.cross build_win
|
||||
meson compile -C build_win
|
||||
|
||||
# 9) Create minimal artifact folder (Windows)
|
||||
- name: Create package folder
|
||||
run: |
|
||||
mkdir _pack
|
||||
cp build_win/prosperon.exe _pack/
|
||||
cp sdl3-build-win/installed_sdl3_win/bin/SDL3.dll _pack/
|
||||
|
||||
# 10) Upload artifacts (Windows cross)
|
||||
- name: Upload Artifact (Windows cross)
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: prosperon-artifacts-windows
|
||||
path: _pack
|
||||
|
||||
|
||||
package-dist:
|
||||
# This job depends on the three builds completing successfully.
|
||||
needs: [build-linux, build-macos, build-windows]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Download Linux Artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: prosperon-artifacts-linux
|
||||
path: linux_artifacts
|
||||
|
||||
- name: Download macOS Artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: prosperon-artifacts-macos
|
||||
path: macos_artifacts
|
||||
|
||||
- name: Download Windows Artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: prosperon-artifacts-windows
|
||||
path: windows_artifacts
|
||||
|
||||
- name: Create the Dist Folder
|
||||
run: |
|
||||
mkdir dist
|
||||
|
||||
cp README.md dist/
|
||||
cp license.txt dist/
|
||||
cp -r examples dist/
|
||||
|
||||
# Make subdirectories for each platform
|
||||
mkdir dist/linux
|
||||
mkdir dist/macos
|
||||
mkdir dist/win
|
||||
|
||||
# -------------------
|
||||
# Copy artifacts in
|
||||
# -------------------
|
||||
cp linux_artifacts/* dist/linux/
|
||||
cp macos_artifacts/* dist/macos/
|
||||
cp windows_artifacts/* dist/win/
|
||||
|
||||
- name: Upload Final Dist
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: prosperon-dist
|
||||
path: dist
|
||||
|
||||
32
license.txt
Normal file
32
license.txt
Normal file
@@ -0,0 +1,32 @@
|
||||
Prosperon Commercial License
|
||||
Last Updated: February 11, 2025
|
||||
|
||||
Grant of License
|
||||
Upon purchasing a Prosperon license, Pockle World LLC (“Licensor”) grants you (“Licensee”) a non-exclusive, worldwide, commercial license to use the Prosperon game engine (the “Software”) to develop, publish, and distribute one or more video game or interactive software products (the “Products”).
|
||||
|
||||
Closed-Source Restriction
|
||||
The Software is currently closed-source. Licensee shall not redistribute or disclose the Prosperon engine source code, in whole or in part, unless expressly permitted by Pockle World LLC.
|
||||
|
||||
Permitted Usage
|
||||
Licensee may create and distribute compiled or packaged Products that incorporate or depend upon the Software, for commercial or non-commercial purposes, without owing royalties or additional fees to Licensor (beyond the initial purchase).
|
||||
|
||||
Ownership and Copyright
|
||||
The Software is owned by Pockle World LLC. All rights not expressly granted in this License are reserved by Pockle World LLC.
|
||||
|
||||
Modifications
|
||||
You may modify the scripts of your own Projects, but you may not share or distribute any modifications to the Prosperon engine’s proprietary binaries, libraries, or source code itself.
|
||||
|
||||
No Warranty
|
||||
THE SOFTWARE IS PROVIDED “AS IS,” WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
|
||||
Limitation of Liability
|
||||
IN NO EVENT SHALL LICENSOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE.
|
||||
|
||||
Term and Termination
|
||||
This License shall remain in effect perpetually, unless you fail to comply with any term of this License. In such event, your rights under this License will terminate immediately without notice from Pockle World LLC.
|
||||
|
||||
Support and Updates
|
||||
Purchase of the Software includes access to all updates through Prosperon v1.X. Additional support plans may be purchased separately.
|
||||
|
||||
Governing Law
|
||||
This License shall be governed by and construed in accordance with the laws of the jurisdiction in which Pockle World LLC is located, without regard to conflict-of-law principles.
|
||||
12
meson.build
12
meson.build
@@ -56,7 +56,7 @@ endif
|
||||
if host_machine.system() == 'linux'
|
||||
deps += cc.find_library('asound', required:true)
|
||||
deps += [dependency('x11'), dependency('xi'), dependency('xcursor'), dependency('egl'), dependency('gl')]
|
||||
link += '-fuse-ld=mold' # use mold, which is very fast, for debug builds
|
||||
# link += '-fuse-ld=mold' # use mold, which is very fast, for debug builds
|
||||
endif
|
||||
|
||||
if host_machine.system() == 'windows'
|
||||
@@ -99,8 +99,10 @@ deps += dependency('physfs', static:true)
|
||||
|
||||
deps += dependency('threads')
|
||||
|
||||
deps += dependency('chipmunk')
|
||||
|
||||
if get_option('chipmunk')
|
||||
deps += dependency('qjs-chipmunk', static:false)
|
||||
# deps += dependency('qjs-chipmunk', static:false)
|
||||
endif
|
||||
|
||||
if get_option('enet')
|
||||
@@ -127,8 +129,8 @@ if get_option('editor')
|
||||
foreach imgui : imsrc
|
||||
sources += tp / 'imgui' / imgui
|
||||
endforeach
|
||||
sub_dmon = subproject('qjs-dmon')
|
||||
dmon_dep = sub_dmon.get_variable('qjs_dmon_dep')
|
||||
# sub_dmon = subproject('qjs-dmon')
|
||||
# dmon_dep = sub_dmon.get_variable('qjs_dmon_dep')
|
||||
endif
|
||||
|
||||
includers = []
|
||||
@@ -186,5 +188,3 @@ prosperon = custom_target('prosperon',
|
||||
prosperon_dep = declare_dependency(
|
||||
link_with:prosperon
|
||||
)
|
||||
|
||||
test('sanity', prosperon)
|
||||
|
||||
@@ -5,7 +5,7 @@ ar = 'x86_64-w64-mingw32-ar'
|
||||
windres = 'x86_64-w64-mingw32-windres'
|
||||
strip = 'x86_64-w64-mingw32-strip'
|
||||
exe_wrapper = 'wine'
|
||||
pkgconfig = 'x86_64-w64-mingw32-pkg-config'
|
||||
pkg-config = 'pkg-config'
|
||||
|
||||
[host_machine]
|
||||
system = 'windows'
|
||||
@@ -15,4 +15,3 @@ endian = 'little'
|
||||
|
||||
[properties]
|
||||
needs_exe_wrapper = false
|
||||
|
||||
|
||||
@@ -8,7 +8,6 @@ plugins:
|
||||
extra_css:
|
||||
- style.css
|
||||
|
||||
|
||||
theme:
|
||||
name: material
|
||||
navigation_depth: 3
|
||||
@@ -18,6 +17,9 @@ theme:
|
||||
- content.action.view
|
||||
- navigation.prune
|
||||
- navigation.indexes
|
||||
- search.suggest
|
||||
- search.highlight
|
||||
- toc.follow
|
||||
icon:
|
||||
view: material/eye
|
||||
palette:
|
||||
@@ -27,6 +29,9 @@ extra:
|
||||
social:
|
||||
- icon: fontawesome/brands/x-twitter
|
||||
link: https://x.com/@pockleworld
|
||||
analytics:
|
||||
provider: google
|
||||
property: G-85ECSFGCBV
|
||||
|
||||
markdown_extensions:
|
||||
- admonition
|
||||
|
||||
@@ -69,6 +69,52 @@ Cmdline.register_order(
|
||||
"Play the game in a web browser.",
|
||||
);
|
||||
|
||||
Cmdline.register_order(
|
||||
"makedoc",
|
||||
function() {
|
||||
var doc = use('doc')
|
||||
|
||||
var gs = ['console', 'prosperon', 'actor', 'use']
|
||||
|
||||
Object.getOwnPropertyDescriptor(prosperon.c_types.transform, 'pos')[prosperon.DOC] = 'TEST DOC'
|
||||
|
||||
console.log(Object.getOwnPropertyDescriptor(prosperon.c_types.transform,'pos')[prosperon.DOC])
|
||||
|
||||
for (var g of gs)
|
||||
io.slurpwrite(`.src/docs/api/${g}.md`, doc.writeDocFile(globalThis[g], g))
|
||||
|
||||
var coredocs = io.enumerate("scripts/modules", 0)
|
||||
coredocs = coredocs.filter(x => io.match("**/*.js", x)).map(x => x.name())
|
||||
|
||||
var TYPEPATH = '.src/docs/api/types/'
|
||||
for (var c in prosperon.c_types) {
|
||||
io.slurpwrite(`${TYPEPATH}${c}.md`, doc.writeDocFile(prosperon.c_types[c], c))
|
||||
}
|
||||
|
||||
var APIPATH = '.src/docs/api/modules/'
|
||||
|
||||
for (var m of coredocs) {
|
||||
var u = use(m)
|
||||
var path = `${APIPATH}${m}.md`
|
||||
io.slurpwrite(path, doc.writeDocFile(u, m))
|
||||
}
|
||||
|
||||
var DULLPATH = '.src/docs/dull/'
|
||||
var mixins = ['Object', 'String', 'Array', 'Map', 'WeakMap', 'Symbol','Set', 'WeakSet', 'ArrayBuffer', 'Function']
|
||||
for (var m of mixins) {
|
||||
var path = `${DULLPATH}${m}.md`
|
||||
io.slurpwrite(path, doc.writeDocFile(globalThis[m].prototype, m))
|
||||
}
|
||||
|
||||
var dullgpath = '.src/docs/dull/globals/'
|
||||
var globals = ['Object', 'String', 'Array', 'Symbol', 'Number', 'Error','Function', 'Math']
|
||||
for (var m of globals) {
|
||||
var path = `${dullgpath}${m}.md`
|
||||
io.slurpwrite(path, doc.writeDocFile(globalThis[m], m))
|
||||
}
|
||||
"Make documentation."
|
||||
})
|
||||
|
||||
Cmdline.register_order(
|
||||
"play",
|
||||
function (argv) {
|
||||
|
||||
@@ -280,23 +280,23 @@ var doc = {writeDocFile: writeDocFile}
|
||||
doc[prosperon.DOC] = `
|
||||
Provides a consistent way to create documentation for prosperon elements. Objects are documented by adding docstrings directly to object-like things (functions, objects, ...), or to an object's own "doc object".
|
||||
|
||||
Docstrings are set to the symbol `prosperon.DOC`
|
||||
Docstrings are set to the symbol \`prosperon.DOC\`
|
||||
|
||||
```js
|
||||
\`\`\`js
|
||||
// Suppose we have a module that returns a function
|
||||
function greet(name) { console.log("Hello, " + name) }
|
||||
|
||||
// We can attach a docstring
|
||||
greet.doc = `
|
||||
greet.doc = \`
|
||||
Greets the user by name.
|
||||
:param name: The name of the person to greet.
|
||||
`
|
||||
\`
|
||||
|
||||
// A single function is a valid return!
|
||||
return greet
|
||||
```
|
||||
\`\`\`
|
||||
|
||||
```js
|
||||
\`\`\`js
|
||||
// Another way is to add a docstring object to an object
|
||||
var greet = {
|
||||
hello() { console.log('hello!') }
|
||||
@@ -305,7 +305,7 @@ var greet = {
|
||||
greet[prosperon.DOC] = {}
|
||||
greet[prosperon.DOC][prosperon.DOC] = 'An object full of different greeter functions'
|
||||
greet[prosperon.DOC].hello = 'A greeter that says, "hello!"'
|
||||
```
|
||||
\`\`\`
|
||||
`
|
||||
|
||||
return doc
|
||||
|
||||
@@ -6,6 +6,7 @@ var geometry = use('geometry')
|
||||
var draw = use('draw2d')
|
||||
var graphics = use('graphics')
|
||||
var util = use('util')
|
||||
var input = use('input')
|
||||
|
||||
var lay_ctx = layout.make_context();
|
||||
|
||||
|
||||
@@ -7,6 +7,8 @@ var os = use('os')
|
||||
var event = use('event')
|
||||
var imgui = use('imgui')
|
||||
|
||||
var tracy = use('tracy')
|
||||
|
||||
var waittime = 1/240
|
||||
var last_frame_time = 0
|
||||
var frame_t = 0
|
||||
|
||||
@@ -5282,7 +5282,7 @@ JSC_CCALL(cmd_render_pass,
|
||||
return JS_ThrowTypeError(js, "render_pass: colorTargets must be an array");
|
||||
|
||||
uint32_t colorCount = js_arrlen(js, colorTargetsVal);
|
||||
SDL_GPUColorTargetInfo colortars[colorCount] = {};
|
||||
SDL_GPUColorTargetInfo colortars[colorCount];
|
||||
SDL_GPUDepthStencilTargetInfo depthtar;
|
||||
int has_depth = 0;
|
||||
|
||||
|
||||
@@ -1,2 +1,13 @@
|
||||
[wrap-redirect]
|
||||
filename = qjs-chipmunk2d/subprojects/chipmunk.wrap
|
||||
[wrap-file]
|
||||
directory = Chipmunk2D-Chipmunk-7.0.3
|
||||
source_url = https://github.com/slembcke/Chipmunk2D/archive/Chipmunk-7.0.3.tar.gz
|
||||
source_filename = Chipmunk2D-Chipmunk-7.0.3.tar.gz
|
||||
source_hash = 1e6f093812d6130e45bdf4cb80280cb3c93d1e1833d8cf989d554d7963b7899a
|
||||
patch_filename = chipmunk_7.0.3-1_patch.zip
|
||||
patch_url = https://wrapdb.mesonbuild.com/v2/chipmunk_7.0.3-1/get_patch
|
||||
patch_hash = 90e5e1be7712812cd303974910c37e7c4f2d2c8060312521b3a7995daa54f66a
|
||||
wrapdb_version = 7.0.3-1
|
||||
|
||||
[provide]
|
||||
chipmunk = chipmunk_dep
|
||||
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
[wrap-git]
|
||||
url = https://github.com/johnalanbrook/qjs-chipmunk2d.git
|
||||
revision = head
|
||||
depth = 1
|
||||
|
||||
[provide]
|
||||
qjs-chipmunk = qjs_chipmunk_dep
|
||||
Reference in New Issue
Block a user