Skip to content

Commit 4abb01e

Browse files
committed
Upload all files.
0 parents  commit 4abb01e

139 files changed

Lines changed: 27188 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Auto detect text files and perform LF normalization
2+
* text=auto

.github/FUNDING.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# These are supported funding model platforms
2+
ko_fi: slushikofi
3+

.github/workflows/SwitchBuild.yml

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
name: Vupx Engine project example build
2+
3+
on:
4+
push:
5+
branches: [ "main" ]
6+
pull_request:
7+
branches: [ "main" ]
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
container: devkitpro/devkita64:latest
13+
14+
steps:
15+
- name: Checkout Project Repository
16+
uses: actions/checkout@v4
17+
18+
- name: Install Haxe 4.3.7
19+
run: |
20+
apt-get update
21+
apt-get install -y wget git neko libgc-dev
22+
23+
echo === DOWNLOADING HAXE FROM GITHUB ===
24+
wget https://github.com/HaxeFoundation/haxe/releases/download/4.3.7/haxe-4.3.7-linux64.tar.gz
25+
26+
mkdir haxe_temp
27+
tar -xf haxe-4.3.7-linux64.tar.gz -C haxe_temp
28+
cp -r haxe_temp/haxe_*/* /usr/local/bin/
29+
echo =========
30+
31+
echo === UPDATING HAXELIB ===
32+
mkdir -p ./.haxelib
33+
haxelib --always --quiet setup .haxelib
34+
haxelib --global --always --quiet update haxelib
35+
echo =========
36+
37+
echo === HAXE VERSION ===
38+
haxe --version
39+
echo =========
40+
41+
- name: Install DevKitPro dependencies
42+
run: |
43+
echo === SYNCING DEVKITPRO REPOS ===
44+
dkp-pacman -Sy --noconfirm
45+
46+
echo === INSTALLING SWITCH LIBRARIES ===
47+
dkp-pacman -S --needed --noconfirm \
48+
switch-bzip2 switch-cmake switch-curl switch-flac \
49+
switch-freetype switch-glad switch-glm switch-harfbuzz \
50+
switch-libdrm_nouveau switch-libjpeg-turbo switch-libmodplug \
51+
switch-libogg switch-libopus switch-libpng switch-libvorbis \
52+
switch-libvorbisidec switch-libwebp switch-mesa switch-mpg123 \
53+
switch-openal-soft switch-opusfile switch-pkg-config switch-sdl2 \
54+
switch-sdl2_gfx switch-sdl2_image switch-sdl2_mixer \
55+
switch-sdl2_net switch-sdl2_ttf switch-tools switch-zlib
56+
- name: Build HaxeNXCompiler
57+
run: |
58+
git clone https://github.com/Slushi-Github/HaxeNXCompiler.git compiler_source
59+
60+
echo === INSTALLING HXCPP ===
61+
haxelib --global --always --quiet install hxcpp
62+
echo =========
63+
64+
cd compiler_source
65+
66+
echo === BUILDING HaxeNXCompiler ===
67+
haxe build.hxml
68+
echo =========
69+
70+
mv export/HaxeNXCompiler ../HaxeNXCompiler
71+
cd ..
72+
chmod +x HaxeNXCompiler
73+
74+
echo === COMPILER VERSION ===
75+
./HaxeNXCompiler --version
76+
echo =========
77+
78+
- name: Compile project to Nintendo Switch
79+
run: |
80+
cd examples/ProjectExample
81+
82+
echo === INSTALLING LIBRARIES FOR VUPX ENGINE ===
83+
mkdir -p ./.haxelib
84+
haxelib --quiet setup .haxelib
85+
haxelib --always --quiet git hxcpp https://github.com/Slushi-Github/hxcpp-nx.git
86+
haxelib --always --quiet git hx_libnx https://github.com/Slushi-Github/hx_libnx.git
87+
echo haxelib --always --quiet git vupxengine https://github.com/Slushi-Github/Vupx-Engine.git
88+
echo =========
89+
90+
echo === COMPILING PROJECT ===
91+
../../HaxeNXCompiler --compile
92+
echo =========
93+
94+
- name: Upload Build files
95+
uses: actions/upload-artifact@v4
96+
with:
97+
name: ProjectExample_Switch
98+
path: examples/ProjectExample/output/SwitchFiles/*.nro

.gitignore

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Nintendo Switch files
2+
*.nro
3+
*.ncap
4+
*.elf
5+
6+
# HaxeNXCompiler
7+
compiler_source/*
8+
HaxeNXCompiler
9+
10+
# Haxelib
11+
.haxelib/*
12+
13+
# ProjectExample
14+
examples/ProjectExample/.haxelib
15+
examples/ProjectExample/output/*
16+
examples/ProjectExample/haxeHXML.hxml
17+
examples/ProjectExample/Makefile
18+
examples/ProjectExample/HaxeNXCompiler

.vscode/settings.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"workbench.colorCustomizations": {
3+
"minimap.background": "#00000000",
4+
"scrollbar.shadow": "#00000000"
5+
}
6+
}

HxNX_Meta.json

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
{
2+
"libVersion": "1.0.0",
3+
"haxeLibs": [
4+
],
5+
"switchLibs": [
6+
"SDL2_image",
7+
"SDL2_gfx",
8+
"SDL2_net",
9+
"SDL2_mixer",
10+
"opusfile",
11+
"opus",
12+
"mpg123",
13+
"vorbisidec",
14+
"modplug",
15+
"vorbisfile",
16+
"vorbis",
17+
"ogg",
18+
"openal",
19+
"SDL2",
20+
"SDL2main",
21+
"glad",
22+
"EGL",
23+
"glapi",
24+
"drm_nouveau",
25+
"pthread",
26+
"png",
27+
"jpeg",
28+
"webp",
29+
"stdc++",
30+
"m",
31+
"z",
32+
"bz2"
33+
],
34+
"hxDefines": [
35+
"-D HXCPP_STACK_TRACE",
36+
"-D HXCPP_CHECK_POINTER",
37+
"-D HXCPP_STACK_LINE",
38+
"-D HXCPP_SL_DETAIL_NULL_REF"
39+
],
40+
"mainDefines": [],
41+
"cDefines": ["-DENABLE_NXLINK"],
42+
"cppDefines": []
43+
}

LICENSE.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
MIT License
2+
3+
Copyright (c) 2025 Andrés E. G.
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6+
7+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8+
9+
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. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 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 OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

README.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<table align="center">
2+
<tr>
3+
<td><a href="./README.md">English<a></td>
4+
<td><a href="./README_ES.md">Español</a></td>
5+
</tr>
6+
</table>
7+
8+
<h1 align="center">Vupx Engine</h1>
9+
<h2 align="center">A 2D/3D game engine for the Nintendo Switch made with Haxe!</h2>
10+
11+
![Vupx Engine Logo](./docs/Assets/Logo.png)
12+
13+
-----------
14+
15+
> [!IMPORTANT]
16+
> The engine is still in development, so there may be some bugs, instability and many changes constantly!
17+
18+
-----------
19+
20+
Vupx Engine is a framework engine built with the [Haxe language](https://haxe.org) along with SDL2, OpenGL 4.3, libnx for Nintendo Switch and many other libraries, inspired in part by [HaxeFlixel](https://github.com/HaxeFlixel), and completely open source! All under the [HaxeNXCompiler](https://github.com/Slushi-Github/HaxeNXCompiler) project
21+
22+
If you want to create your games for this console using Haxe, but don't want to go through the agreements imposed by joining the Nintendo Developers program, this is your solution (at the expense of them being homebrew games and obviously not being able to publish them on the Eshop, in which case you have alternatives such as [itch.io](https://itch.io), [GameJoft](https://gamejolt.com) or [Homebrew App Store for Nintendo Switch](https://hb-app.store/switch)).
23+
24+
-----------
25+
26+
- [Getting started a new project](./docs/Documentation/GettingStarted/README.md)
27+
28+
- [Documentation](./docs/Documentation/Documentation/README.md)
29+
30+
- Create a module (Coming soon)
31+
32+
-----------
33+
34+
## Contributing
35+
36+
If you want to contribute to this project, you can do it by creating a pull request on this repository, test that your changes work both in a emulator __**and on the real hardware**__, I would recommend attaching images if it is a change that can be shown.
37+
38+
## License and more information
39+
40+
This project is released under the [MIT license](./LICENSE.md).
41+
42+
More license information can be found [here](./cppBindings/README.md) and [here](./vupx/bindings/README.md).

README_ES.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<table align="center">
2+
<tr>
3+
<td><a href="./README.md">English<a></td>
4+
<td><a href="./README_ES.md">Español</a></td>
5+
</tr>
6+
</table>
7+
8+
<h1 align="center">Vupx Engine</h1>
9+
<h2 align="center">¡Un motor de juegos 2D/3D para Nintendo Switch hecho con Haxe!</h2>
10+
11+
![Vupx Engine Logo](./docs/Assets/Logo.png)
12+
13+
-----------
14+
15+
> [!IMPORTANT]
16+
> El motor aún se encuentra en desarrollo, por lo que puede haber algunos errores, inestabilidad y muchos cambios constantes.
17+
18+
-----------
19+
20+
Vupx Engine es un motor/framework construido con el lenguaje [Haxe](https://haxe.org), junto con SDL2, OpenGL 4.3, libnx para Nintendo Switch y muchas otras librerías. Está inspirado en parte por [HaxeFlixel](https://github.com/HaxeFlixel) y es completamente de código abierto. Todo bajo el proyecto [HaxeNXCompiler](https://github.com/Slushi-Github/HaxeNXCompiler).
21+
22+
Si quieres crear tus juegos para esta consola usando Haxe, pero no quieres pasar por los acuerdos impuestos al unirte al programa de Nintendo Developers, esta es tu solución (a costa de que sean juegos homebrew y, obviamente, no poder publicarlos en la eShop; en ese caso tienes alternativas como [itch.io](https://itch.io), [GameJolt](https://gamejolt.com) o la [Homebrew App Store para Nintendo Switch](https://hb-app.store/switch)).
23+
24+
-----------
25+
26+
- [Empezar un nuevo proyecto](./docs/Documentation/GettingStarted/README.md)
27+
28+
- [Documentación](./docs/Documentation/Documentation/README.md)
29+
30+
- Crear un módulo (Próximamente)
31+
32+
-----------
33+
34+
## Contribuir
35+
36+
Si quieres contribuir a este proyecto, puedes hacerlo creando un pull request en este repositorio. Asegúrate de probar que tus cambios funcionen tanto en un emulador **como en el hardware real**. Recomendaría adjuntar imágenes si se trata de un cambio que pueda mostrarse visualmente.
37+
38+
## Licencia y más información
39+
40+
Este proyecto se publica bajo la [licencia MIT](./LICENSE.md).
41+
42+
Puedes encontrar más información sobre licencias [aquí](./cppBindings/README.md) y [aquí](./vupx/bindings/README.md).

_config.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
plugins:
2+
- jekyll-relative-links
3+
- jekyll-remote-theme
4+
relative_links:
5+
enabled: true
6+
collections: true
7+
include:
8+
- README.md
9+
- LICENSE.md
10+
11+
remote_theme: vaibhavvikas/jekyll-theme-minimalistic

0 commit comments

Comments
 (0)