Skip to content

Commit

Permalink
feat: revision 0.0.8 (#108)
Browse files Browse the repository at this point in the history
* feat: start new bus and ev loop system #73
* fix: event bus for native and ginga #91
* feat: add wget to http util create request #90
* feat: new anims and colision fixed in asteroids example
* fix: missing resize in love2d
* docs: balance pong game #57
* feat: add subcommand fs-xxd-i to cli
* feat: add subcommand fs-copy to cli
* feat: add subcommand fs-luaconf to cli
* feat: add subcommand fs-copy to cli
* feat: module speed #81
* feat: speed toggle and 10x 20x 30x 40x 50x
* docs: homepage links in npm
* docs: write more docs to doxygen
* feat: node component system (#106)
* fix: pause when window blur #102
* fix: floor math random params #101
* style: some fixes in luau-analyze linter
* change: remove csv support
* feat: std.bus.abort
* feat: separate std.bus to std.node
* feat: std.node.kill and refact launcher example
* fix: some things in js
* ci: version local rename
  • Loading branch information
RodrigoDornelles authored Nov 1, 2024
1 parent 426f37a commit 3d751d6
Show file tree
Hide file tree
Showing 108 changed files with 3,353 additions and 1,433 deletions.
5 changes: 2 additions & 3 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
luaVersion: '5.4'
-
run: |
lua tools/versionchecker.lua
lua tools/ci_version_local.lua
lint:
if: github.event_name == 'push' || github.event.pull_request.draft == false
Expand All @@ -74,8 +74,7 @@ jobs:
unzip luau-ubuntu.zip
-
run: |
./cli.sh build --bundler --core ${{ matrix.core }}
./cli.sh fs-replace dist/main.lua dist/main.lua --format "function native_callback" --replace "local function _native_callback"
lua tools/ci_luau-analyze.lua ${{ matrix.core }}
-
run: |
./luau-analyze dist/main.lua
4 changes: 2 additions & 2 deletions .github/workflows/DOCS.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
strategy:
fail-fast: false
matrix:
game: ['asteroids', 'dvdplayer', 'helloworld', 'launcher', 'pong']
game: ['asteroids', 'dvdplayer', 'launcher', '2games', 'helloworld', 'gridsystem', 'pong']
steps:
-
uses: actions/checkout@master
Expand All @@ -52,7 +52,7 @@ jobs:
luaVersion: '5.4'
-
run: |
./cli.sh build @${{ matrix.game }} --core html5 --dist ./html/
lua tools/cd_docs_example.lua ${{ matrix.game }}
-
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository || github.event_name == 'workflow_dispatch'
uses: cloudflare/pages-action@v1
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ luacov.*
vendor/
dist/
html/
rtf/
latex/
doxygen/
.out
11 changes: 9 additions & 2 deletions .luaurc
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,18 @@
"lint": { "*": true},
"lintErrors": true,
"globals": [
"arg",
"bit",
"Buffer",
"canvas",
"event",
"io",
"jit",
"jsRequire",
"load",
"loadfile",
"love",
"native_dict_game",
"native_dict_http",
"native_dict_json",
"native_dict_poly",
Expand All @@ -20,8 +27,8 @@
"native_draw_line",
"native_draw_rect",
"native_draw_start",
"native_draw_text_tui",
"native_draw_text",
"native_get_system_lang",
"io"
"native_get_system_lang"
]
}
13 changes: 10 additions & 3 deletions Doxyfile
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
# Custom Configs
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = "Gly Game Engine"
PROJECT_NUMBER = 0.0.7
PROJECT_NUMBER = 0.0.8
PROJECT_BRIEF = "Game engine in lua"
PROJECT_LOGO = assets/icon80x80.png
GENERATE_RTF = NO
GENERATE_LATEX = NO
OUTPUT_DIRECTORY = .
RECURSIVE = YES
CREATE_SUBDIRS = NO
STRIP_CODE_COMMENTS = NO
CALL_GRAPH = YES
HAVE_DOT = YES
CALL_GRAPH = NO
HAVE_DOT = NO
EXTRACT_ALL = YES
USE_MATHJAX = YES
COMPACT_LATEX = NO
EXTRACT_STATIC = NO
SHORT_NAMES = YES
INLINE_GROUPED_CLASSES = YES
Expand All @@ -37,6 +40,10 @@ ALIASES += startebnf=@startuml{ebnf}
ALIASES += endebnf=@enduml
ALIASES += startsalt=@startuml{salt}
ALIASES += endsalt=@enduml
ALIASES += startmindmap=@startuml{mindmap}
ALIASES += endmindmap=@enduml
ALIASES += startmath=@f(
ALIASES += endmath=@f)
# Theme: https://jothepro.github.io/doxygen-awesome-css/
GENERATE_TREEVIEW = YES
DISABLE_INDEX = NO
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,11 @@ lua cli.lua build @asteroids --core html5
| Tier 2 | Love2D | main plataform for development and tests
| Tier 3 | Tizen 8 | full support WIP
| Tier 4 | WebOS 6 | coming soon
| Tier 5 | Native Core SDL2 | full support, not available for download
| Tier 5 | Native Core SDL2 | full support, not available for download yet
| Tier 6 | Native Core Arduino | coming soon
| Tier 7 | Ginga | support
| Tier 8 | Play Station 2 | coming soon
| Tier 9 | Nintendo Wii | broken support

---
This game engine is **open source** and **free** for all uses, focusing on promoting content for our **commercial platform**.
| Tier 8 | Console TUI (ASCII) | support, except images
| Tier 9 | Play Station 2 | coming soon
| Tier 9 | Nintendo Wii | support is reworking
| Tier 10 | Nintendo DS | coming soon
| Tier 11 | Nintendo GBA | limited support
14 changes: 12 additions & 2 deletions cli.sh

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

32 changes: 32 additions & 0 deletions docs/ci_build_homebrew_gba.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
@defgroup cli
@{

@defgroup build
@{

@defgroup homebrew
@{

@page ci_build_gba Nintendo GBA

You can make your Lua games for gameboy advanced using the Gly engine,
although the hardware is somewhat limited, small games can run well.

- source code <https://github.com/gamelly/core-native-gba>
- documentation <https://gamelly.github.io/core-native-gba>

```text
git clone https://github.com/gamelly/core-native-gba
```

```text
cmake -Bbuild -H. -DGAME=path/to/your/game.lua -DFPS_MODE=1
```

```text
make -C build
```

@}
@}
@}
7 changes: 7 additions & 0 deletions docs/cli.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
@defgroup cli
@{

@par List of commands
@call commands

@}
67 changes: 67 additions & 0 deletions docs/cli_build.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
@defgroup cli
@{

@defgroup build
@short exporting engine with game
@{

## Framework

The engine is multi-platform and can even be embedded within another engine, such as @b Love2D, which is widely used for developing new systems.
It offers interfaces tailored to the target platform on which the game will run.

If you’re organizing your project with multiple code files and numerous assets,
the CLI includes a bundler that can assist you with that, actually worry about your input code from a @b game.lua file, when you're ready,
you can use a template and drag your game to distribute, or use the CLI to extract the parts of the engine needed for your game to run.

@startuml
file game

frame engine {
interface std
component core_ginga
component core_love
component core_native
component core_html5
}

game --> std
std --> core_love
std --> core_ginga
std --> core_native
core_ginga --> ginga
core_love --> love2d
core_native --> native
core_native -> core_html5
core_html5 --> wasmoon
core_html5 --> fengari
@enduml

### Core Native

export the engine natively to platforms or create support yourself @ref framework_functions "from scratch".

@li @ref ci_build_gba
@li @ref ci_build_nds
@li @ref ci_build_wii
@li @ref ci_build_ascii "Text User Interface ASCII"

### Core HTML5

@li @ref npm_install "install gly-cli using node npm"
@li @ref cli_build_html5_local

### Core Ginga

@li @ref limits-in-ginga
@li @ref Ginga "Generating Ginga App"

### Core Love2D

@li @ref limits-in-love2d
@li @ref ci_build_tool_love_zip
@li @ref ci_build_tool_love_exe
@li @ref ci_build_tool_love_dump

@}
@}
113 changes: 113 additions & 0 deletions docs/cli_build_ginga.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
@defgroup cli
@{

@defgroup build
@{

@defgroup Ginga
@{

@short build apps for brazilian and latam televisors

@call ginga

@details
The application will be downloaded via the free digital television signal.

@par Create Project

```sql
lua cli.lua init my_tv_app --template @gridsystem
```

@par How to build

```sql
lua cli.lua build src/game.lua --core ginga
```

@par How to simulate

```sql
ginga dist/main.ncl -s 1280x720
```

@par How to run in real hardware

Everything is an example of how a testing and production environment would work,
but some components may be on the same hardware or done via software.

@note This is more for the sake of curiosity about how the engine is tested,
and it is an expensive investment, casual developers would not be able to test it,
and putting it into production requires government authorizations or partnerships with television channels.

@startuml
left to right direction

component computer {
file application
file pmt
port pc_lan_out_1 as "lan"
}

component "IP/ASI conversor" {
portout ip_lan_in_1 as "lan"
portout ip_asi_out_1 as "asi 1"
}

component encoder {
file video
file audio
file pmt2 as "pmt"
portout enc_asi_out_1 as "asi 1"
}

component multiplexer {
portin mux_asi_in_2 as "asi 2"
portin mux_asi_in_1 as "asi 1"
portout mux_asi_out_1 as "asi 1"
}

component modulator {
portin mod_asi_in_1 as "asi 1"
portout mod_rf_test as "rf test"
portout mod_rf as "rf"
}


package "production environment" {
component transmissor {
portin trans_rf as "rf"
portout trans_rf_power as "rf power"
}

actor user
cloud antena
person tv_user as "TV"
}

person tv_developer as "TV"
actor developer

application --> pc_lan_out_1
pmt ---> pc_lan_out_1
ip_lan_in_1 <-- pc_lan_out_1
video ---> enc_asi_out_1
audio ---> enc_asi_out_1
pmt2 --> enc_asi_out_1
enc_asi_out_1 --> mux_asi_in_1
ip_asi_out_1 --> mux_asi_in_2
mux_asi_out_1 --> mod_asi_in_1
mod_rf --> trans_rf
mod_rf_test --> tv_developer: rf cable
tv_developer --> developer
trans_rf_power --> antena
antena .left.> tv_user: rf transmission
tv_user .left.> user
application <... developer: coding

@enduml

@}
@}
@}
11 changes: 11 additions & 0 deletions docs/cli_build_homebrew.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
@defgroup cli
@{

@defgroup build
@{

@defgroup homebrew
@short roms for videogames

@}
@}
Loading

0 comments on commit 3d751d6

Please sign in to comment.