Compare commits
No commits in common. "190b6b2eabafca9e06b2d8c65ec288356eea228c" and "d13c2cdfdc1e950eb4300aa14c1a04fb2614820d" have entirely different histories.
190b6b2eab
...
d13c2cdfdc
11895 changed files with 12155 additions and 1417444 deletions
15
.github/FUNDING.yml
vendored
15
.github/FUNDING.yml
vendored
|
|
@ -1,15 +0,0 @@
|
|||
# These are supported funding model platforms
|
||||
|
||||
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
||||
patreon: # Replace with a single Patreon username
|
||||
open_collective: # Replace with a single Open Collective username
|
||||
ko_fi: # Replace with a single Ko-fi username
|
||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||
liberapay: # Replace with a single Liberapay username
|
||||
issuehunt: # Replace with a single IssueHunt username
|
||||
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
|
||||
polar: # Replace with a single Polar username
|
||||
buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
|
||||
thanks_dev: # Replace with a single thanks.dev username
|
||||
custom: fund.aethex.foundation
|
||||
38
.github/ISSUE_TEMPLATE/bug_report.md
vendored
38
.github/ISSUE_TEMPLATE/bug_report.md
vendored
|
|
@ -1,38 +0,0 @@
|
|||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Desktop (please complete the following information):**
|
||||
- OS: [e.g. iOS]
|
||||
- Browser [e.g. chrome, safari]
|
||||
- Version [e.g. 22]
|
||||
|
||||
**Smartphone (please complete the following information):**
|
||||
- Device: [e.g. iPhone6]
|
||||
- OS: [e.g. iOS8.1]
|
||||
- Browser [e.g. stock browser, safari]
|
||||
- Version [e.g. 22]
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
|
|
@ -1,20 +0,0 @@
|
|||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
||||
53
.github/workflows/jekyll-gh-pages.yml
vendored
53
.github/workflows/jekyll-gh-pages.yml
vendored
|
|
@ -1,53 +0,0 @@
|
|||
# Deploy Docsify documentation to GitHub Pages
|
||||
name: Deploy Docsify Documentation
|
||||
|
||||
on:
|
||||
# Runs on pushes targeting the default branch
|
||||
push:
|
||||
branches: ["main"]
|
||||
paths:
|
||||
- 'docs/**'
|
||||
- '.github/workflows/jekyll-gh-pages.yml'
|
||||
|
||||
# Allows you to run this workflow manually from the Actions tab
|
||||
workflow_dispatch:
|
||||
|
||||
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
|
||||
permissions:
|
||||
contents: read
|
||||
pages: write
|
||||
id-token: write
|
||||
|
||||
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
|
||||
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
|
||||
concurrency:
|
||||
group: "pages"
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
# Build job
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Pages
|
||||
uses: actions/configure-pages@v5
|
||||
|
||||
- name: Upload docs folder
|
||||
uses: actions/upload-pages-artifact@v3
|
||||
with:
|
||||
path: 'docs'
|
||||
|
||||
# Deployment job
|
||||
deploy:
|
||||
environment:
|
||||
name: github-pages
|
||||
url: ${{ steps.deployment.outputs.page_url }}
|
||||
runs-on: ubuntu-latest
|
||||
needs: build
|
||||
steps:
|
||||
- name: Deploy to GitHub Pages
|
||||
id: deployment
|
||||
uses: actions/deploy-pages@v4
|
||||
|
|
@ -1,204 +0,0 @@
|
|||
# AeThex Language Integration
|
||||
|
||||
AeThex Engine includes deep integration with **AeThex Lang**, a cross-platform scripting language that compiles to multiple game engine targets.
|
||||
|
||||
## Overview
|
||||
|
||||
AeThex Lang allows you to write game logic once and deploy it to:
|
||||
- **Roblox** (Luau)
|
||||
- **UEFN/Fortnite** (Verse)
|
||||
- **Unity** (C#)
|
||||
- **Web** (JavaScript)
|
||||
- **AeThex Engine** (Native VM)
|
||||
|
||||
## Language Features
|
||||
|
||||
### Reality Blocks (Modules)
|
||||
```aethex
|
||||
reality MyGame {
|
||||
platforms: [roblox, uefn, unity, web]
|
||||
|
||||
// Module content
|
||||
}
|
||||
```
|
||||
|
||||
### Journey Functions
|
||||
Cross-platform functions that work identically across all targets:
|
||||
```aethex
|
||||
journey calculateDamage(baseDamage: Number, multiplier: Number) {
|
||||
reveal baseDamage * multiplier
|
||||
}
|
||||
```
|
||||
|
||||
### Beacons (Signals)
|
||||
Events that can be emitted and listened to:
|
||||
```aethex
|
||||
beacon onPlayerDied(playerId: String)
|
||||
beacon onScoreChanged(newScore: Number)
|
||||
|
||||
// Emit a beacon
|
||||
emit onPlayerDied("player_123")
|
||||
```
|
||||
|
||||
### Artifacts (Classes)
|
||||
Object-oriented classes:
|
||||
```aethex
|
||||
artifact Player {
|
||||
let health: Number = 100
|
||||
let name: String = "Player"
|
||||
|
||||
journey takeDamage(amount: Number) {
|
||||
health = health - amount
|
||||
when health <= 0 {
|
||||
notify `${name} died!`
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Control Flow
|
||||
```aethex
|
||||
// Conditionals
|
||||
when condition {
|
||||
// true branch
|
||||
} otherwise {
|
||||
// false branch
|
||||
}
|
||||
|
||||
// Loops
|
||||
traverse item in collection {
|
||||
notify item
|
||||
}
|
||||
|
||||
while isRunning {
|
||||
// loop body
|
||||
}
|
||||
```
|
||||
|
||||
### Cross-Platform Sync
|
||||
```aethex
|
||||
// Sync data across all platforms
|
||||
sync playerData across all
|
||||
|
||||
// Sync to specific platforms
|
||||
sync inventory across [roblox, uefn]
|
||||
```
|
||||
|
||||
### Platform-Specific Code
|
||||
```aethex
|
||||
@platform(roblox)
|
||||
journey robloxOnly() {
|
||||
// Only runs on Roblox
|
||||
}
|
||||
|
||||
@platform(unity)
|
||||
journey unityOnly() {
|
||||
// Only runs on Unity
|
||||
}
|
||||
```
|
||||
|
||||
## Type System
|
||||
|
||||
| AeThex Type | Roblox | UEFN | Unity | JavaScript |
|
||||
|-------------|--------|------|-------|------------|
|
||||
| Number | number | float | float | number |
|
||||
| String | string | string | string | string |
|
||||
| Boolean | boolean | logic | bool | boolean |
|
||||
| Array | table | array | List<T> | Array |
|
||||
| Dictionary | table | map | Dictionary<K,V> | Object |
|
||||
| Vector2 | Vector2 | vector2 | Vector2 | {x,y} |
|
||||
| Vector3 | Vector3 | vector3 | Vector3 | {x,y,z} |
|
||||
|
||||
## Built-in Functions
|
||||
|
||||
| AeThex | Description |
|
||||
|--------|-------------|
|
||||
| `notify(msg)` | Print to console/log |
|
||||
| `reveal value` | Return from function |
|
||||
| `emit beacon(args)` | Emit a signal |
|
||||
| `await task()` | Async wait |
|
||||
| `sync data across targets` | Cross-platform sync |
|
||||
|
||||
## Using in Editor
|
||||
|
||||
1. Create a new file with `.aethex` extension
|
||||
2. Write your cross-platform code
|
||||
3. The editor provides syntax highlighting
|
||||
4. Export to any target platform using the Export menu
|
||||
|
||||
## Export Targets
|
||||
|
||||
### Roblox Export
|
||||
Generates `.lua` files compatible with Roblox Studio:
|
||||
```lua
|
||||
-- Generated from player.aethex
|
||||
local Player = {}
|
||||
|
||||
function Player.takeDamage(amount)
|
||||
-- Implementation
|
||||
end
|
||||
|
||||
return Player
|
||||
```
|
||||
|
||||
### UEFN Export
|
||||
Generates `.verse` files for Unreal Editor for Fortnite:
|
||||
```verse
|
||||
# Generated from player.aethex
|
||||
using { /Fortnite.com/Devices }
|
||||
|
||||
player_device := class(creative_device):
|
||||
TakeDamage(Amount : float)<suspends> : void =
|
||||
# Implementation
|
||||
```
|
||||
|
||||
### Unity Export
|
||||
Generates `.cs` files for Unity:
|
||||
```csharp
|
||||
// Generated from player.aethex
|
||||
using UnityEngine;
|
||||
|
||||
public class Player : MonoBehaviour
|
||||
{
|
||||
public void TakeDamage(float amount)
|
||||
{
|
||||
// Implementation
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Web Export
|
||||
Generates JavaScript bundle:
|
||||
```javascript
|
||||
// Generated from player.aethex
|
||||
const Player = {
|
||||
takeDamage(amount) {
|
||||
// Implementation
|
||||
}
|
||||
};
|
||||
export default Player;
|
||||
```
|
||||
|
||||
## Module Structure
|
||||
|
||||
```
|
||||
modules/aethex_lang/
|
||||
├── register_types.cpp/h # Module registration
|
||||
├── aethex_script.cpp/h # Script resource class
|
||||
├── aethex_tokenizer.cpp/h # Lexer
|
||||
├── aethex_parser.cpp/h # AST parser
|
||||
├── aethex_compiler.cpp/h # Bytecode + cross-platform compiler
|
||||
├── aethex_vm.cpp/h # Virtual machine
|
||||
├── editor/
|
||||
│ └── aethex_highlighter.cpp/h # Syntax highlighting
|
||||
├── export/
|
||||
│ └── aethex_exporter.cpp/h # Cross-platform export
|
||||
└── examples/
|
||||
└── cross_platform_player.aethex
|
||||
```
|
||||
|
||||
## Integration with AeThex Ecosystem
|
||||
|
||||
- **AeThex Studio**: Templates use AeThex Lang for cross-platform logic
|
||||
- **AeThex Forge**: Marketplace assets can include `.aethex` scripts
|
||||
- **AeThex Launcher**: Build and deploy AeThex Lang projects
|
||||
|
|
@ -8,39 +8,23 @@ Complete technical architecture of the AeThex Engine ecosystem.
|
|||
|
||||
AeThex is a complete game development platform consisting of three core components:
|
||||
|
||||
```mermaid
|
||||
graph TB
|
||||
subgraph Platform["⚡ AeThex Platform"]
|
||||
subgraph Engine["AeThex Engine<br/>(C++/GDScript)"]
|
||||
E1[Game Runtime]
|
||||
E2[Editor]
|
||||
E3[Cloud SDK]
|
||||
E4[AI Module]
|
||||
end
|
||||
|
||||
subgraph Studio["Studio IDE<br/>(TypeScript/React)"]
|
||||
S1[Browser-Based]
|
||||
S2[Collaboration]
|
||||
S3[Live Preview]
|
||||
S4[Asset Manager]
|
||||
end
|
||||
|
||||
subgraph Cloud["Cloud Services<br/>(Node.js/Go)"]
|
||||
C1[Authentication]
|
||||
C2[Multiplayer]
|
||||
C3[Cloud Saves]
|
||||
C4[Analytics]
|
||||
end
|
||||
end
|
||||
|
||||
Engine <-->|WebSocket/HTTP| Studio
|
||||
Engine <-->|REST API| Cloud
|
||||
Studio <-->|API Gateway| Cloud
|
||||
|
||||
style Engine fill:#00ffff22,stroke:#00ffff,stroke-width:2px
|
||||
style Studio fill:#ff00ff22,stroke:#ff00ff,stroke-width:2px
|
||||
style Cloud fill:#00ffff22,stroke:#00ffff,stroke-width:2px
|
||||
style Platform fill:#00000000,stroke:#ffffff,stroke-width:1px
|
||||
```
|
||||
┌────────────────────────────────────────────────────────────────┐
|
||||
│ AeThex Platform │
|
||||
├────────────────────────────────────────────────────────────────┤
|
||||
│ │
|
||||
│ ┌─────────────────┐ ┌──────────────┐ ┌──────────────────┐ │
|
||||
│ │ AeThex Engine │ │ Studio IDE │ │ Cloud Services │ │
|
||||
│ │ │ │ │ │ │ │
|
||||
│ │ • Game Runtime │ │ • Browser │ │ • Auth │ │
|
||||
│ │ • Editor │ │ • Collab │ │ • Multiplayer │ │
|
||||
│ │ • Cloud SDK │ │ • Live View │ │ • Saves │ │
|
||||
│ │ • AI Module │ │ • Assets │ │ • Analytics │ │
|
||||
│ └─────────────────┘ └──────────────┘ └──────────────────┘ │
|
||||
│ ↕ ↕ ↕ │
|
||||
│ C++/GDScript TypeScript/React Node.js/Go │
|
||||
│ │
|
||||
└────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
|
@ -49,46 +33,21 @@ graph TB
|
|||
|
||||
Based on Godot Engine 4.3-stable with AeThex-specific modules.
|
||||
|
||||
> [!NOTE]
|
||||
> The engine core is written in C++ with GDScript as the primary scripting language. All cloud and AI features are accessible via simple GDScript APIs.
|
||||
|
||||
### Architecture Layers
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
subgraph Layer4["Application Layer"]
|
||||
Game[Game Code<br/>GDScript/C#/C++]
|
||||
end
|
||||
|
||||
subgraph Layer3["SDK Layer"]
|
||||
SDK[AeThex Cloud SDK<br/>GDScript APIs]
|
||||
end
|
||||
|
||||
subgraph Layer2["Module Layer"]
|
||||
M1[aethex_cloud]
|
||||
M2[aethex_ai]
|
||||
M3[aethex_studio]
|
||||
M4[aethex_analytics]
|
||||
end
|
||||
|
||||
subgraph Layer1["Engine Layer"]
|
||||
E1[Rendering]
|
||||
E2[Physics]
|
||||
E3[Audio]
|
||||
E4[Networking]
|
||||
E5[Scripting]
|
||||
E6[Scene System]
|
||||
end
|
||||
|
||||
Game --> SDK
|
||||
SDK --> M1 & M2 & M3 & M4
|
||||
M1 & M2 & M3 & M4 --> E1 & E2 & E3 & E4 & E5 & E6
|
||||
|
||||
style Layer4 fill:#00ffff22,stroke:#00ffff
|
||||
style Layer3 fill:#ff00ff22,stroke:#ff00ff
|
||||
style Layer2 fill:#00ffff22,stroke:#00ffff
|
||||
style Layer1 fill:#ff00ff22,stroke:#ff00ff
|
||||
```
|
||||
┌────────────────────────────────────────────┐
|
||||
│ Game Code (GDScript/C#) │ ← Developer's game
|
||||
├────────────────────────────────────────────┤
|
||||
│ AeThex Cloud SDK (GDScript) │ ← Cloud API
|
||||
├────────────────────────────────────────────┤
|
||||
│ AeThex Modules (C++) │ ← Cloud/AI/Studio
|
||||
│ • aethex_cloud • aethex_ai │
|
||||
│ • aethex_studio • aethex_analytics │
|
||||
├────────────────────────────────────────────┤
|
||||
│ Godot Core Engine (C++) │ ← Game engine
|
||||
│ • Rendering • Physics • Audio │
|
||||
│ • Networking • Scripting • Scene System │
|
||||
├────────────────────────────────────────────┤
|
||||
│ Platform Layer (OS-specific) │ ← Windows/Linux/Mac
|
||||
└────────────────────────────────────────────┘
|
||||
|
|
|
|||
|
|
@ -510,7 +510,7 @@ spec:
|
|||
|
||||
### REST API Standards
|
||||
|
||||
**Base URL:** `https://api.aethex.dev/v1`
|
||||
**Base URL:** `https://api.aethex.io/v1`
|
||||
|
||||
**Request Format:**
|
||||
```json
|
||||
|
|
@ -559,7 +559,7 @@ spec:
|
|||
|
||||
### WebSocket Protocol
|
||||
|
||||
**Connection URL:** `wss://ws.aethex.dev/v1/multiplayer`
|
||||
**Connection URL:** `wss://ws.aethex.io/v1/multiplayer`
|
||||
|
||||
**Authentication:**
|
||||
```json
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ website = "https://godotengine.org"
|
|||
```python
|
||||
short_name = "aethex"
|
||||
name = "AeThex Engine"
|
||||
website = "https://aethex.dev" # or your domain
|
||||
website = "https://aethex.io" # or your domain
|
||||
```
|
||||
|
||||
**Impact:** Changes all version strings, window titles, splash screens
|
||||
|
|
@ -102,7 +102,7 @@ engine/editor/editor_themes.cpp
|
|||
```cpp
|
||||
// Add AeThex default settings
|
||||
EDITOR_SETTING(Variant::STRING, PROPERTY_HINT_NONE, "network/cloud_api_url",
|
||||
"https://api.aethex.dev", "")
|
||||
"https://api.aethex.io", "")
|
||||
EDITOR_SETTING(Variant::BOOL, PROPERTY_HINT_NONE, "aethex/enable_ai_assist",
|
||||
true, "")
|
||||
EDITOR_SETTING(Variant::STRING, PROPERTY_HINT_NONE, "aethex/theme",
|
||||
|
|
@ -248,70 +248,6 @@ modules/aethex_ai/
|
|||
|
||||
---
|
||||
|
||||
## Phase 6: AeThex Lang Integration ✅ COMPLETED
|
||||
|
||||
### 6.1 Cross-Platform Scripting Language
|
||||
|
||||
**Created:** `engine/modules/aethex_lang/`
|
||||
|
||||
AeThex Lang is a unified scripting language that compiles to multiple game engines:
|
||||
- **Roblox** (Luau)
|
||||
- **UEFN/Fortnite** (Verse)
|
||||
- **Unity** (C#)
|
||||
- **Web** (JavaScript)
|
||||
- **AeThex Engine** (Native VM)
|
||||
|
||||
**Module Structure:**
|
||||
```
|
||||
modules/aethex_lang/
|
||||
├── config.py # Module configuration
|
||||
├── SCsub # Build script
|
||||
├── register_types.h/cpp # Module registration
|
||||
├── aethex_script.h/cpp # Script resource class
|
||||
├── aethex_tokenizer.h/cpp # Lexer
|
||||
├── aethex_parser.h/cpp # AST parser
|
||||
├── aethex_compiler.h/cpp # Cross-platform compiler
|
||||
├── aethex_vm.h/cpp # Bytecode virtual machine
|
||||
├── editor/
|
||||
│ └── aethex_highlighter.h/cpp # Syntax highlighting
|
||||
├── export/
|
||||
│ └── aethex_exporter.h/cpp # Cross-platform export
|
||||
└── examples/
|
||||
└── cross_platform_player.aethex
|
||||
```
|
||||
|
||||
### 6.2 Language Features
|
||||
|
||||
**AeThex-specific keywords:**
|
||||
- `reality` - Module definition (replaces "namespace")
|
||||
- `journey` - Function that works across platforms
|
||||
- `beacon` - Signal/event declaration
|
||||
- `artifact` - Class definition
|
||||
- `notify` - Console output
|
||||
- `reveal` - Return statement
|
||||
- `sync across` - Cross-platform data sync
|
||||
- `when/otherwise` - Conditionals
|
||||
- `traverse` - For-each loop
|
||||
|
||||
### 6.3 Export Targets (All Working!)
|
||||
|
||||
| Target | Output File | Description |
|
||||
|--------|-------------|-------------|
|
||||
| Roblox | `.lua` | Luau scripts + .rbxlx project |
|
||||
| UEFN | `.verse` | Verse code for Fortnite Creative |
|
||||
| Unity | `.cs` | C# MonoBehaviour scripts |
|
||||
| Web | `.js` | JavaScript ES6 modules |
|
||||
|
||||
### 6.4 Integration Points
|
||||
|
||||
- **AeThex Studio**: Templates use AeThex Lang
|
||||
- **AeThex Forge**: Marketplace assets include .aethex scripts
|
||||
- **AeThex Launcher**: Build and deploy to all platforms
|
||||
|
||||
**See:** `docs/AETHEX_LANG_INTEGRATION.md` for full documentation.
|
||||
|
||||
---
|
||||
|
||||
## Code Search & Replace Guide
|
||||
|
||||
### Global Text Replacements (Be Careful!)
|
||||
|
|
|
|||
|
|
@ -2,9 +2,6 @@
|
|||
|
||||
This guide covers exporting your AeThex game to all supported platforms: Windows, Linux, macOS, Web (HTML5), and Android.
|
||||
|
||||
> [!TIP]
|
||||
> Start with web exports for quick testing and distribution. Windows and Linux exports are easiest for desktop games.
|
||||
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
|
@ -16,42 +13,10 @@ AeThex supports exporting to:
|
|||
|
||||
Each platform has specific requirements and optimization considerations.
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
Game[🎮 Your Game] --> Export{Export Target}
|
||||
|
||||
Export -->|Desktop| Windows[🖥️ Windows]
|
||||
Export -->|Desktop| Linux[🐧 Linux]
|
||||
Export -->|Desktop| Mac[🍎 macOS]
|
||||
Export -->|Web| HTML5[🌐 HTML5]
|
||||
Export -->|Mobile| Android[📱 Android]
|
||||
|
||||
Windows --> Steam[Steam]
|
||||
Windows --> Itch[itch.io]
|
||||
Linux --> Steam
|
||||
Linux --> Itch
|
||||
Mac --> AppStore[App Store]
|
||||
HTML5 --> Web[Web Hosting]
|
||||
Android --> PlayStore[Google Play]
|
||||
|
||||
style Game fill:#00ffff22,stroke:#00ffff
|
||||
style Windows fill:#ff00ff22,stroke:#ff00ff
|
||||
style Linux fill:#00ffff22,stroke:#00ffff
|
||||
style Mac fill:#ff00ff22,stroke:#ff00ff
|
||||
style HTML5 fill:#00ffff22,stroke:#00ffff
|
||||
style Android fill:#ff00ff22,stroke:#ff00ff
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> Each platform requires specific export templates. Download them from the editor or the AeThex website.
|
||||
|
||||
---
|
||||
|
||||
## Before Exporting
|
||||
|
||||
> [!WARNING]
|
||||
> Always test your game in release mode before exporting. Some bugs only appear in release builds due to optimizations and different code paths.
|
||||
|
||||
### 1. Test Your Game
|
||||
|
||||
Always test thoroughly before exporting:
|
||||
|
|
@ -88,7 +53,7 @@ Download export templates for your target platform:
|
|||
# Via Studio IDE: Editor → Export Templates → Download
|
||||
|
||||
# Or manually:
|
||||
wget https://aethex.dev/downloads/export-templates-[version].zip
|
||||
wget https://aethex.io/downloads/export-templates-[version].zip
|
||||
unzip export-templates-[version].zip -d ~/.local/share/aethex/templates/
|
||||
```
|
||||
|
||||
|
|
|
|||
|
|
@ -2,9 +2,6 @@
|
|||
|
||||
This guide covers the core game development concepts and systems in AeThex Engine.
|
||||
|
||||
> [!TIP]
|
||||
> New to game development? Start with the Scene System and Node Hierarchy sections. These are the foundation of everything in AeThex.
|
||||
|
||||
## Scene System
|
||||
|
||||
### What is a Scene?
|
||||
|
|
@ -16,22 +13,6 @@ A **scene** is a collection of nodes organized in a tree structure. Scenes are t
|
|||
- Items
|
||||
- Prefabs/templates
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
Scene[🎬 Scene File<br/>.tscn] --> Root[Root Node]
|
||||
Root --> Child1[Child Node 1]
|
||||
Root --> Child2[Child Node 2]
|
||||
Root --> Child3[Child Node 3]
|
||||
Child2 --> GrandChild1[Grandchild 1]
|
||||
Child2 --> GrandChild2[Grandchild 2]
|
||||
|
||||
style Scene fill:#00ffff22,stroke:#00ffff
|
||||
style Root fill:#ff00ff22,stroke:#ff00ff
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> Scenes can be nested inside other scenes. This allows you to create reusable components and maintain a clean project structure.
|
||||
|
||||
### Working with Scenes
|
||||
|
||||
**Creating Scenes:**
|
||||
|
|
@ -56,9 +37,6 @@ var packed_scene = load("res://levels/next_level.tscn")
|
|||
get_tree().change_scene_to_packed(packed_scene)
|
||||
```
|
||||
|
||||
> [!WARNING]
|
||||
> Always use `change_scene_to_file()` or `change_scene_to_packed()` to switch scenes. Manually removing and adding root nodes can cause issues with signal connections and autoloads.
|
||||
|
||||
**Scene Lifecycle:**
|
||||
- `_enter_tree()` - Called when node enters the scene tree
|
||||
- `_ready()` - Called when node and children are ready
|
||||
|
|
@ -143,33 +121,6 @@ get_tree().call_group("enemies", "take_damage", 10)
|
|||
|
||||
**Signals** are AeThex's implementation of the observer pattern. They allow nodes to communicate without tight coupling.
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant Player
|
||||
participant Enemy
|
||||
participant UI
|
||||
|
||||
Player->>Player: take_damage(10)
|
||||
Player->>Player: emit_signal("health_changed", 90)
|
||||
Player->>UI: health_changed(90)
|
||||
UI->>UI: update_health_bar(90)
|
||||
|
||||
Note over Player,UI: Signals enable loose coupling
|
||||
|
||||
Player->>Player: health reaches 0
|
||||
Player->>Player: emit_signal("player_died")
|
||||
Player->>UI: player_died
|
||||
Player->>Enemy: player_died
|
||||
UI->>UI: show_game_over()
|
||||
Enemy->>Enemy: celebrate()
|
||||
|
||||
style Player fill:#00ffff22,stroke:#00ffff
|
||||
style UI fill:#ff00ff22,stroke:#ff00ff
|
||||
```
|
||||
|
||||
> [!TIP]
|
||||
> Signals are perfect for situations where you want multiple systems to react to an event without creating dependencies between them.
|
||||
|
||||
### Built-in Signals
|
||||
|
||||
**Common Node Signals:**
|
||||
|
|
@ -182,9 +133,6 @@ sequenceDiagram
|
|||
- `Area2D.body_exited(body)` - Another body left the area
|
||||
- `Button.pressed()` - Button was clicked
|
||||
|
||||
> [!NOTE]
|
||||
> Most built-in nodes come with useful signals. Check the documentation for each node type to see what signals are available.
|
||||
|
||||
### Creating Custom Signals
|
||||
|
||||
```gdscript
|
||||
|
|
|
|||
|
|
@ -1,154 +0,0 @@
|
|||
# AeThex Engine Integration Complete
|
||||
|
||||
## Overview
|
||||
|
||||
AeThex Engine Core is now a fully integrated cross-platform game development ecosystem, extending Godot 4.7 with native AeThex tools.
|
||||
|
||||
## New Modules Created
|
||||
|
||||
### 1. `aethex_lang` - Cross-Platform Scripting Language
|
||||
**Location:** `engine/modules/aethex_lang/`
|
||||
|
||||
A complete scripting language that compiles to multiple platforms:
|
||||
- **Tokenizer** (`aethex_tokenizer.h/cpp`) - Lexical analysis with AeThex keywords
|
||||
- **Parser** (`aethex_parser.h/cpp`) - Recursive descent parser producing AST
|
||||
- **Compiler** (`aethex_compiler.h/cpp`) - Bytecode compiler + cross-platform code generators
|
||||
- **Virtual Machine** (`aethex_vm.h/cpp`) - Stack-based VM for native execution
|
||||
- **Editor Highlighter** (`editor/aethex_highlighter.h/cpp`) - Syntax highlighting for .aethex files
|
||||
- **Exporter** (`export/aethex_exporter.h/cpp`) - Cross-platform export functionality
|
||||
|
||||
**AeThex Lang Syntax:**
|
||||
```aethex
|
||||
reality Player {
|
||||
beacon health: Number = 100
|
||||
beacon position: Vector3 = (0, 0, 0)
|
||||
|
||||
journey start() {
|
||||
reveal("Game started!")
|
||||
}
|
||||
|
||||
journey update(delta: Number) {
|
||||
sync across {
|
||||
position.y += delta
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Keywords:**
|
||||
- `reality` → class/object definition
|
||||
- `journey` → function/method
|
||||
- `beacon` → mutable variable
|
||||
- `artifact` → constant
|
||||
- `reveal()` → print/log output
|
||||
- `notify()` → emit signal/event
|
||||
- `sync across { }` → async/concurrent block
|
||||
|
||||
### 2. `aethex_marketplace` - AeThex Forge Integration
|
||||
**Location:** `engine/modules/aethex_marketplace/`
|
||||
|
||||
Integrates AeThex Forge asset marketplace directly into the editor:
|
||||
- **Marketplace Client** (`marketplace_client.h/cpp`) - API client for AeThex Forge
|
||||
- **Asset Browser** (`asset_browser.h/cpp`) - Asset filtering and search
|
||||
- **Asset Downloader** (`asset_downloader.h/cpp`) - Download queue and installation
|
||||
- **Editor Dock** (`editor/marketplace_dock.h/cpp`) - Full editor UI dock
|
||||
|
||||
**Features:**
|
||||
- Browse featured assets
|
||||
- Search and filter by category/platform
|
||||
- Purchase and download assets
|
||||
- Install directly to project
|
||||
|
||||
### 3. `aethex_templates` - Project Template System
|
||||
**Location:** `engine/modules/aethex_templates/`
|
||||
|
||||
Provides project templates from AeThex Studio:
|
||||
- **Template Data** (`template_data.h/cpp`) - Template metadata and structure
|
||||
- **Template Manager** (`template_manager.h/cpp`) - Template loading, downloading, instantiation
|
||||
- **Template Wizard** (`editor/template_wizard.cpp`) - New project wizard UI
|
||||
- **Template Browser** (`editor/template_browser.cpp`) - Template browsing and filtering
|
||||
|
||||
**Built-in Templates:**
|
||||
1. Empty Project
|
||||
2. 2D Platformer
|
||||
3. 3D First Person
|
||||
4. RPG Starter Kit
|
||||
5. Multiplayer Game
|
||||
6. Roblox Experience
|
||||
7. UEFN Island
|
||||
8. Unity Mobile
|
||||
9. Web Game
|
||||
10. Cross-Platform Game
|
||||
|
||||
### 4. `aethex_export` - Cross-Platform Export System
|
||||
**Location:** `engine/modules/aethex_export/`
|
||||
|
||||
Export AeThex projects to multiple platforms:
|
||||
- **Export Config** (`export_config.h/cpp`) - Configuration for cross-platform export
|
||||
- **Export Preset** (`export_preset.h/cpp`) - Saved export presets
|
||||
- **Platform Exporter** (`platform_exporter.h/cpp`) - Base exporter class
|
||||
- **Roblox Exporter** (`roblox_exporter.h/cpp`) - AeThex → Luau compilation
|
||||
- **UEFN Exporter** (`uefn_exporter.h/cpp`) - AeThex → Verse compilation
|
||||
- **Unity Exporter** (`unity_exporter.h/cpp`) - AeThex → C# compilation
|
||||
- **Web Exporter** (`web_exporter.h/cpp`) - AeThex → JavaScript compilation
|
||||
- **Export Dialog** (`editor/export_dialog.h/cpp`) - Export UI with platform tabs
|
||||
|
||||
### 5. `aethex_ai` Integration - AI-Powered Development
|
||||
**Location:** `engine/modules/aethex_ai/` (updated)
|
||||
|
||||
New integration layer connecting AI with all AeThex modules:
|
||||
- **AeThex AI Integration** (`aethex_ai_integration.h/cpp`)
|
||||
|
||||
**Capabilities:**
|
||||
- Complete AeThex code with platform awareness
|
||||
- Explain AeThex code for specific platforms
|
||||
- Convert GDScript/other code to AeThex Lang
|
||||
- Suggest platform-specific optimizations
|
||||
- Recommend templates based on project description
|
||||
- Suggest marketplace assets for current task
|
||||
- Generate complete game structures
|
||||
- Provide contextual help across all modules
|
||||
|
||||
## Platform Targets
|
||||
|
||||
| Platform | Language | Status |
|
||||
|----------|----------|--------|
|
||||
| AeThex Native | AeThex Lang | ✅ |
|
||||
| Roblox | Luau | ✅ |
|
||||
| UEFN | Verse | ✅ |
|
||||
| Unity | C# | ✅ |
|
||||
| Web | JavaScript/TypeScript | ✅ |
|
||||
|
||||
## Integration with Existing Systems
|
||||
|
||||
The new modules integrate with:
|
||||
- **AeThex Launcher** - Engine version management
|
||||
- **AeThex Forge** - Asset marketplace
|
||||
- **AeThex Studio** - Template system
|
||||
- **AeThexOS** - Desktop environment (future)
|
||||
|
||||
## Building
|
||||
|
||||
```bash
|
||||
cd engine
|
||||
scons platform=windows target=editor
|
||||
```
|
||||
|
||||
## Next Steps
|
||||
|
||||
1. **Test Compilation** - Build the engine and verify all modules compile
|
||||
2. **UI Polish** - Finalize editor UI components
|
||||
3. **Documentation** - Add doc classes for all new types
|
||||
4. **API Keys** - Configure AeThex API endpoints
|
||||
5. **Template Content** - Populate templates with actual file content
|
||||
6. **Asset Pipeline** - Implement full asset processing for each platform
|
||||
|
||||
## File Count Summary
|
||||
|
||||
- **aethex_lang**: 18 files (~2,500 lines)
|
||||
- **aethex_marketplace**: 12 files (~1,500 lines)
|
||||
- **aethex_templates**: 10 files (~1,200 lines)
|
||||
- **aethex_export**: 16 files (~1,800 lines)
|
||||
- **aethex_ai** (updates): 2 files (~400 lines)
|
||||
|
||||
**Total**: 58 new/modified files, ~7,400 lines of code
|
||||
|
|
@ -1,375 +0,0 @@
|
|||
# AeThex Studio Integration Plan
|
||||
|
||||
## Overview
|
||||
|
||||
This document outlines the strategy to merge the **AeThex Launcher** (Tauri/React app) with the **AeThex Engine** (Godot 4.7 fork) into a unified **AeThex Studio** experience.
|
||||
|
||||
---
|
||||
|
||||
## Current State Analysis
|
||||
|
||||
### AeThex Launcher Features (60+ components)
|
||||
|
||||
| Category | Features |
|
||||
|----------|----------|
|
||||
| **Core** | Game Library, Store, Download Manager, Auto-Update |
|
||||
| **Social** | Friends, Activity Feed, AeThex Connect (messaging), Streaming, Replays |
|
||||
| **Developer** | Gameforge, My Projects, AeThex Lang, Bot Dev IDE, Warden Security |
|
||||
| **Community** | Forum, News Hub, Socials, Roadmap |
|
||||
| **Economy** | Dev Exchange, Rewards Center, Gift System |
|
||||
| **Account** | Auth (OAuth), Profile Hub, Cloud Saves, Achievements |
|
||||
| **Settings** | Theme Engine, Sound System, Keyboard Shortcuts, Controller Mode |
|
||||
| **Family** | Family Sharing, Parental Controls |
|
||||
| **Testing** | Beta Testing Hub, Version Channels, Labs, Preview |
|
||||
| **Modes** | Player, Creator, Corp, Foundation (different home screens) |
|
||||
|
||||
### AeThex Engine (Current)
|
||||
|
||||
- Godot 4.7 fork with custom modules
|
||||
- Project Manager with new tabs (Terminal, Community, Cloud, Launcher)
|
||||
- Custom modules: `aethex_cloud`, `aethex_telemetry`, `discord_rpc`
|
||||
|
||||
---
|
||||
|
||||
## Integration Options
|
||||
|
||||
### Option A: Embedded WebView (Recommended - Phase 1)
|
||||
|
||||
**Concept**: Embed the React launcher UI inside the engine using a WebView/HTML component.
|
||||
|
||||
**Pros**:
|
||||
- Fastest to implement (weeks, not months)
|
||||
- Reuses 100% of existing launcher code
|
||||
- Unified window experience
|
||||
- Backend/API code unchanged
|
||||
|
||||
**Cons**:
|
||||
- Requires bundling Chromium or using system WebView
|
||||
- Adds ~50MB to engine size
|
||||
- Two rendering systems (Godot + Web)
|
||||
|
||||
**Implementation**:
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ AeThex Studio Window │
|
||||
├──────────────┬──────────────────────────────────────────────┤
|
||||
│ │ │
|
||||
│ Sidebar │ Tab: Launcher (WebView) │
|
||||
│ (Native) │ ├── React App renders here │
|
||||
│ │ └── Full launcher functionality │
|
||||
│ - Editor │ │
|
||||
│ - Projects │ Tab: Editor (Native Godot) │
|
||||
│ - Launcher │ ├── Scene editor │
|
||||
│ - Settings │ └── Script editor │
|
||||
│ │ │
|
||||
└──────────────┴──────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### Option B: Full Native Port (Phase 2+)
|
||||
|
||||
**Concept**: Rewrite all launcher features as native C++ Godot editor plugins.
|
||||
|
||||
**Pros**:
|
||||
- Fully native, consistent UI
|
||||
- No web dependencies
|
||||
- Better performance
|
||||
- Offline-first
|
||||
|
||||
**Cons**:
|
||||
- 6-12 months development time
|
||||
- 60+ React components → C++ translation
|
||||
- Ongoing maintenance burden
|
||||
|
||||
**Priority Order for Native Port**:
|
||||
1. Auth System (critical)
|
||||
2. Game Library
|
||||
3. Cloud Saves
|
||||
4. Download Manager
|
||||
5. Store
|
||||
6. Social/Friends
|
||||
7. Everything else
|
||||
|
||||
### Option C: Hybrid Progressive (Recommended Long-term)
|
||||
|
||||
**Concept**: Start with WebView, progressively replace critical features with native.
|
||||
|
||||
**Phase 1** (1-2 weeks): WebView integration
|
||||
**Phase 2** (1 month): Native auth + game library
|
||||
**Phase 3** (2 months): Native store + downloads
|
||||
**Phase 4** (ongoing): Port remaining features as needed
|
||||
|
||||
---
|
||||
|
||||
## Recommended Architecture
|
||||
|
||||
```
|
||||
AeThex Studio
|
||||
├── engine/ # Godot 4.7 fork (C++)
|
||||
│ ├── editor/
|
||||
│ │ ├── project_manager/ # Enhanced project manager
|
||||
│ │ └── launcher/ # NEW: Native launcher module
|
||||
│ │ ├── auth_ui.cpp # Native auth screens
|
||||
│ │ ├── game_library.cpp # Native game browser
|
||||
│ │ ├── webview_panel.cpp # WebView for web features
|
||||
│ │ └── launcher_api.cpp # Communication layer
|
||||
│ └── modules/
|
||||
│ ├── aethex_cloud/ # Cloud saves, sync
|
||||
│ ├── aethex_auth/ # NEW: Native auth (Supabase)
|
||||
│ └── aethex_store/ # NEW: Store API client
|
||||
│
|
||||
├── launcher-web/ # Embedded React app
|
||||
│ ├── dist/ # Built React app
|
||||
│ └── src/ # Source (from current launcher)
|
||||
│
|
||||
└── platform/
|
||||
└── windows/
|
||||
└── webview/ # Platform-specific WebView
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Phase 1 Implementation Plan (WebView)
|
||||
|
||||
### Step 1: Add WebView Support to Engine
|
||||
|
||||
```cpp
|
||||
// modules/webview/webview_panel.h
|
||||
class WebViewPanel : public Control {
|
||||
GDCLASS(WebViewPanel, Control);
|
||||
|
||||
void navigate(const String &url);
|
||||
void load_html(const String &html);
|
||||
void execute_javascript(const String &script);
|
||||
void set_communication_callback(Callable callback);
|
||||
};
|
||||
```
|
||||
|
||||
### Step 2: Create Launcher Tab in Project Manager
|
||||
|
||||
The launcher tab will host a WebView that loads the React app:
|
||||
|
||||
```cpp
|
||||
// In ProjectManager
|
||||
void _create_launcher_tab() {
|
||||
WebViewPanel *webview = memnew(WebViewPanel);
|
||||
webview->navigate("file:///launcher/index.html");
|
||||
// or
|
||||
webview->navigate("https://launcher.aethex.dev");
|
||||
}
|
||||
```
|
||||
|
||||
### Step 3: Bridge Communication
|
||||
|
||||
JavaScript ↔ C++ communication for:
|
||||
- Launching games (JS calls C++ to spawn processes)
|
||||
- File system access (downloads, installations)
|
||||
- Native OS features (notifications, file dialogs)
|
||||
|
||||
```cpp
|
||||
// launcher_bridge.cpp
|
||||
void LauncherBridge::handle_message(const String &message) {
|
||||
Dictionary data = JSON::parse_string(message);
|
||||
String action = data.get("action", "");
|
||||
|
||||
if (action == "launch_game") {
|
||||
String exe_path = data.get("path", "");
|
||||
OS::get_singleton()->execute(exe_path, args);
|
||||
}
|
||||
else if (action == "open_editor") {
|
||||
EditorNode::get_singleton()->open_request(data.get("project_path", ""));
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Step 4: Bundle React App
|
||||
|
||||
Build the React launcher and include it in the engine distribution:
|
||||
|
||||
```
|
||||
aethex-studio/
|
||||
├── bin/
|
||||
│ └── aethex.windows.editor.x86_64.exe
|
||||
└── launcher/
|
||||
├── index.html
|
||||
├── assets/
|
||||
└── *.js
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Phase 2 Implementation Plan (Native Critical Features)
|
||||
|
||||
### Native Auth Module
|
||||
|
||||
```cpp
|
||||
// modules/aethex_auth/aethex_auth.h
|
||||
class AeThexAuth : public Object {
|
||||
GDCLASS(AeThexAuth, Object);
|
||||
|
||||
static AeThexAuth *singleton;
|
||||
|
||||
String supabase_url;
|
||||
String supabase_anon_key;
|
||||
String current_token;
|
||||
Dictionary user_profile;
|
||||
|
||||
public:
|
||||
Error sign_in_with_email(const String &email, const String &password);
|
||||
Error sign_in_with_oauth(const String &provider); // google, discord, github
|
||||
Error sign_out();
|
||||
Error refresh_token();
|
||||
|
||||
bool is_authenticated() const;
|
||||
Dictionary get_user() const;
|
||||
Dictionary get_launcher_profile() const;
|
||||
|
||||
Signal user_signed_in;
|
||||
Signal user_signed_out;
|
||||
Signal profile_updated;
|
||||
};
|
||||
```
|
||||
|
||||
### Native Game Library
|
||||
|
||||
```cpp
|
||||
// modules/aethex_launcher/game_library.h
|
||||
class GameLibrary : public Control {
|
||||
GDCLASS(GameLibrary, Control);
|
||||
|
||||
struct GameEntry {
|
||||
String id;
|
||||
String title;
|
||||
String cover_image;
|
||||
String install_path;
|
||||
String status; // installed, downloading, available
|
||||
float download_progress;
|
||||
String version;
|
||||
};
|
||||
|
||||
Vector<GameEntry> games;
|
||||
|
||||
void refresh_library();
|
||||
void launch_game(const String &game_id);
|
||||
void install_game(const String &game_id);
|
||||
void uninstall_game(const String &game_id);
|
||||
void update_game(const String &game_id);
|
||||
};
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Backend Integration
|
||||
|
||||
The launcher uses Supabase for:
|
||||
|
||||
| Service | Purpose |
|
||||
|---------|---------|
|
||||
| **Auth** | User authentication, OAuth providers |
|
||||
| **Database** | Profiles, games, achievements, friends |
|
||||
| **Storage** | Avatars, cloud saves, game assets |
|
||||
| **Realtime** | Friend status, notifications |
|
||||
| **Edge Functions** | Store transactions, webhooks |
|
||||
|
||||
The engine will need HTTP clients to call these APIs:
|
||||
|
||||
```cpp
|
||||
// Example: Fetch user profile
|
||||
HTTPRequest *http = memnew(HTTPRequest);
|
||||
http->connect("request_completed", callable_mp(this, &AeThexAuth::_on_profile_fetched));
|
||||
http->request(
|
||||
supabase_url + "/rest/v1/launcher_profiles?user_id=eq." + user_id,
|
||||
PackedStringArray({"apikey: " + anon_key, "Authorization: Bearer " + token})
|
||||
);
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## File Structure After Integration
|
||||
|
||||
```
|
||||
AeThex-Engine-Core/
|
||||
├── engine/
|
||||
│ ├── editor/
|
||||
│ │ ├── project_manager/
|
||||
│ │ │ ├── project_manager.cpp # Has launcher tab with WebView
|
||||
│ │ │ └── project_manager.h
|
||||
│ │ └── launcher/ # NEW directory
|
||||
│ │ ├── launcher_bridge.cpp # JS ↔ C++ bridge
|
||||
│ │ ├── launcher_bridge.h
|
||||
│ │ ├── native_auth_panel.cpp # Native auth UI
|
||||
│ │ ├── native_auth_panel.h
|
||||
│ │ └── SCsub
|
||||
│ ├── modules/
|
||||
│ │ ├── aethex_auth/ # NEW module
|
||||
│ │ │ ├── aethex_auth.cpp
|
||||
│ │ │ ├── aethex_auth.h
|
||||
│ │ │ ├── config.py
|
||||
│ │ │ ├── register_types.cpp
|
||||
│ │ │ ├── register_types.h
|
||||
│ │ │ └── SCsub
|
||||
│ │ ├── aethex_cloud/ # Existing (enhanced)
|
||||
│ │ ├── webview/ # NEW module
|
||||
│ │ │ ├── webview_panel.cpp
|
||||
│ │ │ ├── webview_panel.h
|
||||
│ │ │ └── platform/
|
||||
│ │ │ ├── webview_windows.cpp # WebView2 on Windows
|
||||
│ │ │ ├── webview_macos.mm # WKWebView on macOS
|
||||
│ │ │ └── webview_linux.cpp # WebKitGTK on Linux
|
||||
│ │ └── ...
|
||||
│ └── platform/
|
||||
└── launcher-web/ # Bundled React app
|
||||
├── build.sh
|
||||
├── package.json
|
||||
└── dist/ # Built output
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Timeline Estimate
|
||||
|
||||
| Phase | Duration | Deliverable |
|
||||
|-------|----------|-------------|
|
||||
| **Phase 1a** | 1 week | WebView module for Windows (WebView2) |
|
||||
| **Phase 1b** | 1 week | Launcher tab integration + JS bridge |
|
||||
| **Phase 1c** | 3 days | Bundle React app + build pipeline |
|
||||
| **Phase 2a** | 2 weeks | Native auth module |
|
||||
| **Phase 2b** | 2 weeks | Native game library |
|
||||
| **Phase 2c** | 1 week | Native download manager |
|
||||
| **Phase 3+** | Ongoing | Port remaining features as needed |
|
||||
|
||||
---
|
||||
|
||||
## Decision Points
|
||||
|
||||
### Question 1: WebView Library
|
||||
- **Windows**: WebView2 (Edge/Chromium) - recommended
|
||||
- **Alternative**: CEF (Chromium Embedded Framework) - more control, larger size
|
||||
|
||||
### Question 2: Initial Distribution
|
||||
- **Option A**: Ship with embedded web app (offline-capable)
|
||||
- **Option B**: Load from `https://launcher.aethex.dev` (always latest)
|
||||
- **Recommended**: Option A with update check
|
||||
|
||||
### Question 3: Auth Flow
|
||||
- **Option A**: WebView handles auth entirely
|
||||
- **Option B**: Native OAuth browser popup → callback to engine
|
||||
- **Recommended**: Option A for Phase 1, Option B for Phase 2
|
||||
|
||||
---
|
||||
|
||||
## Next Steps
|
||||
|
||||
1. **Decide on approach** (WebView vs Native-first)
|
||||
2. **Set up WebView2 in engine** (if WebView approach)
|
||||
3. **Build React launcher** for embedding
|
||||
4. **Create JS↔C++ bridge** for native features
|
||||
5. **Test end-to-end flow**
|
||||
|
||||
---
|
||||
|
||||
## Notes
|
||||
|
||||
- The current launcher at `A:\AeThex Launcher\AeThex-Landing-Page` has 40+ pages and 60+ components
|
||||
- Full native port would be ~10,000+ lines of C++ code
|
||||
- WebView approach allows immediate integration with gradual native migration
|
||||
- Consider keeping WebView for "web-heavy" features (forum, store, socials) even after native port
|
||||
|
|
@ -143,7 +143,7 @@ Test if your Godot project works in AeThex without changes.
|
|||
|
||||
```bash
|
||||
# 1. Download AeThex
|
||||
wget https://aethex.dev/download/aethex-linux.tar.gz
|
||||
wget https://aethex.io/download/aethex-linux.tar.gz
|
||||
tar -xzf aethex-linux.tar.gz
|
||||
|
||||
# 2. Open your Godot project
|
||||
|
|
@ -769,7 +769,7 @@ git checkout -b aethex-migration
|
|||
|
||||
### Q: Does AeThex collect any data?
|
||||
|
||||
**A:** Only if you use analytics features. See [Privacy Policy](https://aethex.dev/privacy).
|
||||
**A:** Only if you use analytics features. See [Privacy Policy](https://aethex.io/privacy).
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -782,12 +782,12 @@ git checkout -b aethex-migration
|
|||
|
||||
**Community:**
|
||||
- [Discord](https://discord.gg/aethex) - Real-time chat
|
||||
- [Forum](https://forum.aethex.dev) - Discussions
|
||||
- [Forum](https://forum.aethex.io) - Discussions
|
||||
- [GitHub Issues](https://github.com/aethex/engine/issues) - Bug reports
|
||||
|
||||
**Support:**
|
||||
- [Email Support](mailto:support@aethex.dev) - Response within 24h
|
||||
- [Pro Support](https://aethex.dev/pro) - Priority support for paying customers
|
||||
- [Email Support](mailto:support@aethex.io) - Response within 24h
|
||||
- [Pro Support](https://aethex.io/pro) - Priority support for paying customers
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -734,7 +734,7 @@ Create a community server:
|
|||
|
||||
### Tools
|
||||
|
||||
- **Analytics:** [AeThex Analytics](https://studio.aethex.dev/analytics)
|
||||
- **Analytics:** [AeThex Analytics](https://studio.aethex.io/analytics)
|
||||
- **Marketing:** [Presskit()](https://dopresskit.com/)
|
||||
- **Community:** [Discord](https://discord.com)
|
||||
- **Email:** [Mailchimp](https://mailchimp.com)
|
||||
|
|
@ -748,9 +748,9 @@ Create a community server:
|
|||
|
||||
### Support
|
||||
|
||||
- **Email:** [support@aethex.dev](mailto:support@aethex.dev)
|
||||
- **Email:** [support@aethex.io](mailto:support@aethex.io)
|
||||
- **Discord:** [AeThex Community](https://discord.gg/aethex)
|
||||
- **Docs:** [docs.aethex.dev](https://docs.aethex.dev)
|
||||
- **Docs:** [docs.aethex.io](https://docs.aethex.io)
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ website = "https://godotengine.org"
|
|||
|
||||
**To:**
|
||||
```python
|
||||
website = "https://aethex.dev" # or your domain
|
||||
website = "https://aethex.io" # or your domain
|
||||
```
|
||||
|
||||
**Result:** Help → Visit Website will go to your site
|
||||
|
|
|
|||
|
|
@ -256,30 +256,30 @@ See [API Reference](API_REFERENCE.md) for complete documentation.
|
|||
|
||||
### Official
|
||||
|
||||
- **Website:** [https://aethex.dev](https://aethex.dev)
|
||||
- **Download:** [https://aethex.dev/download](https://aethex.dev/download)
|
||||
- **Website:** [https://aethex.io](https://aethex.io)
|
||||
- **Download:** [https://aethex.io/download](https://aethex.io/download)
|
||||
- **GitHub:** [https://github.com/aethex/engine](https://github.com/aethex/engine)
|
||||
- **Asset Store:** [https://aethex.dev/assets](https://aethex.dev/assets)
|
||||
- **Asset Store:** [https://aethex.io/assets](https://aethex.io/assets)
|
||||
|
||||
### Community
|
||||
|
||||
- **Discord:** [https://discord.gg/aethex](https://discord.gg/aethex)
|
||||
- **Forum:** [https://forum.aethex.dev](https://forum.aethex.dev)
|
||||
- **Forum:** [https://forum.aethex.io](https://forum.aethex.io)
|
||||
- **Reddit:** [https://reddit.com/r/aethex](https://reddit.com/r/aethex)
|
||||
- **Twitter:** [@AeThexEngine](https://twitter.com/AeThexEngine)
|
||||
|
||||
### Learning
|
||||
|
||||
- **YouTube:** [AeThex Tutorials](https://youtube.com/@aethex)
|
||||
- **Blog:** [https://aethex.dev/blog](https://aethex.dev/blog)
|
||||
- **Blog:** [https://aethex.io/blog](https://aethex.io/blog)
|
||||
- **Examples:** [https://github.com/aethex/examples](https://github.com/aethex/examples)
|
||||
|
||||
### Support
|
||||
|
||||
- **Documentation:** You're here!
|
||||
- **FAQ:** [https://aethex.dev/faq](https://aethex.dev/faq)
|
||||
- **Email:** [support@aethex.dev](mailto:support@aethex.dev)
|
||||
- **Pro Support:** [https://aethex.dev/pro](https://aethex.dev/pro)
|
||||
- **FAQ:** [https://aethex.io/faq](https://aethex.io/faq)
|
||||
- **Email:** [support@aethex.io](mailto:support@aethex.io)
|
||||
- **Pro Support:** [https://aethex.io/pro](https://aethex.io/pro)
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -345,7 +345,7 @@ Want to improve the docs?
|
|||
1. **Search:** Use Ctrl+F in this index or search GitHub
|
||||
2. **Ask Community:** Discord is very active
|
||||
3. **Check Examples:** [GitHub examples repo](https://github.com/aethex/examples)
|
||||
4. **Contact Support:** [support@aethex.dev](mailto:support@aethex.dev)
|
||||
4. **Contact Support:** [support@aethex.io](mailto:support@aethex.io)
|
||||
|
||||
**Found a bug in documentation?**
|
||||
- Report on [GitHub Issues](https://github.com/aethex/engine/issues)
|
||||
|
|
@ -380,7 +380,7 @@ Want to improve the docs?
|
|||
2. Read [Cloud Services Architecture](CLOUD_SERVICES_ARCHITECTURE.md) (30 min)
|
||||
3. Study [Studio Integration](STUDIO_INTEGRATION.md) (20 min)
|
||||
4. Plan deployment strategy (varies)
|
||||
5. Contact [sales@aethex.dev](mailto:sales@aethex.dev) for enterprise support
|
||||
5. Contact [sales@aethex.io](mailto:sales@aethex.io) for enterprise support
|
||||
|
||||
**Total time:** ~2 hours + implementation
|
||||
|
||||
|
|
|
|||
|
|
@ -1,263 +0,0 @@
|
|||
# AeThex Unified Architecture
|
||||
|
||||
**Everything in one place, connected.**
|
||||
|
||||
## Overview
|
||||
|
||||
The AeThex platform is a unified game engine + launcher that lets users:
|
||||
- Build games with the AeThex Engine (Godot fork)
|
||||
- Discover and purchase games in the Store
|
||||
- Manage their game library
|
||||
- Connect with friends
|
||||
|
||||
## Architecture
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────────────────────┐
|
||||
│ AeThex Desktop Application │
|
||||
│ (aethex.windows.editor.exe) │
|
||||
│ ┌─────────────────────────────────────────────────────────────────────────┐│
|
||||
│ │ Project Manager / Launcher ││
|
||||
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ││
|
||||
│ │ │ Home │ │ Library │ │ Store │ │ Downloads│ │ Friends │ ││
|
||||
│ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘ ││
|
||||
│ └─────────────────────────────────────────────────────────────────────────┘│
|
||||
│ ┌─────────────────────────────────────────────────────────────────────────┐│
|
||||
│ │ Game Editor ││
|
||||
│ │ (Opens when editing a project) ││
|
||||
│ └─────────────────────────────────────────────────────────────────────────┘│
|
||||
└─────────────────────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
│ HTTPS API
|
||||
▼
|
||||
┌─────────────────────────────────────────────────────────────────────────────┐
|
||||
│ AeThex Cloud Services │
|
||||
│ (api.aethex.dev) │
|
||||
│ ┌────────────────┐ ┌────────────────┐ ┌────────────────┐ ││
|
||||
│ │ Auth Service │ │ Games Service │ │ Social Service │ ││
|
||||
│ │ /api/v1/auth │ │ /api/v1/games │ │ /api/v1/users │ ││
|
||||
│ └────────────────┘ └────────────────┘ └────────────────┘ ││
|
||||
│ │ │
|
||||
│ ▼ │
|
||||
│ ┌────────────────┐ │
|
||||
│ │ PostgreSQL │ │
|
||||
│ └────────────────┘ │
|
||||
└─────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Components
|
||||
|
||||
### 1. Desktop Application (C++)
|
||||
**Location:** `engine/`
|
||||
|
||||
The AeThex Desktop Application is a custom Godot 4.7 fork that includes:
|
||||
|
||||
- **Game Editor** - Full Godot editor for building games
|
||||
- **Project Manager** - Manages Godot projects
|
||||
- **Launcher Module** - Custom module for game library, store, and social features
|
||||
|
||||
The launcher module is located at:
|
||||
```
|
||||
engine/modules/aethex_launcher/
|
||||
├── aethex_launcher.cpp/h - Main singleton, handles auth + API
|
||||
├── data/
|
||||
│ ├── game_library.cpp/h - User's game library
|
||||
│ ├── launcher_store.cpp/h - Store catalog
|
||||
│ ├── friend_system.cpp/h - Friends/social
|
||||
│ ├── download_manager.cpp/h - Downloads
|
||||
│ └── launcher_profile.cpp/h - User profile
|
||||
├── ui/
|
||||
│ ├── launcher_panel.cpp/h - Main UI with sidebar
|
||||
│ ├── library_panel.cpp/h - Game library grid
|
||||
│ ├── store_panel.cpp/h - Store browser
|
||||
│ ├── friends_panel.cpp/h - Friends list
|
||||
│ ├── downloads_panel.cpp/h - Download queue
|
||||
│ ├── profile_panel.cpp/h - User profile
|
||||
│ └── auth_panel.cpp/h - Login/signup
|
||||
└── editor/
|
||||
└── launcher_editor_plugin.cpp - Editor integration
|
||||
```
|
||||
|
||||
### 2. Backend API (TypeScript/Node.js)
|
||||
**Location:** `services/auth-service/`
|
||||
|
||||
The backend runs at `api.aethex.dev` (locally at `localhost:3001`):
|
||||
|
||||
```
|
||||
services/auth-service/
|
||||
├── src/
|
||||
│ ├── index.ts - Express server
|
||||
│ ├── controllers/
|
||||
│ │ ├── authController.ts - Auth logic
|
||||
│ │ ├── userController.ts - User/profile logic
|
||||
│ │ └── gamesController.ts - Games/store logic
|
||||
│ ├── routes/
|
||||
│ │ ├── auth.ts - Auth endpoints
|
||||
│ │ ├── user.ts - User endpoints
|
||||
│ │ └── games.ts - Games endpoints
|
||||
│ ├── middleware/
|
||||
│ │ ├── authenticateToken.ts - JWT verification
|
||||
│ │ ├── validateRequest.ts - Input validation
|
||||
│ │ └── errorHandler.ts - Error handling
|
||||
│ └── utils/
|
||||
│ └── logger.ts - Logging
|
||||
├── prisma/
|
||||
│ └── schema.prisma - Database schema
|
||||
├── package.json
|
||||
└── docker-compose.yml - PostgreSQL container
|
||||
```
|
||||
|
||||
### 3. Database (PostgreSQL)
|
||||
**Schema:**
|
||||
- **users** - Account info
|
||||
- **sessions** - Auth sessions
|
||||
- **launcher_profiles** - Gamertag, level, playtime
|
||||
- **games** - Store catalog
|
||||
- **user_games** - Owned games
|
||||
- **friends** - Friend relationships
|
||||
|
||||
## API Endpoints
|
||||
|
||||
### Authentication
|
||||
```
|
||||
POST /api/v1/auth/register - Create account
|
||||
POST /api/v1/auth/login - Login
|
||||
POST /api/v1/auth/refresh - Refresh token
|
||||
POST /api/v1/auth/logout - Logout
|
||||
GET /api/v1/auth/me - Get current user
|
||||
```
|
||||
|
||||
### Games & Store
|
||||
```
|
||||
GET /api/v1/games - List all games
|
||||
GET /api/v1/games/featured - Get featured games
|
||||
GET /api/v1/games/:slug - Get game details
|
||||
POST /api/v1/games/:id/purchase - Add to library
|
||||
```
|
||||
|
||||
### Users
|
||||
```
|
||||
GET /api/v1/users/profile - Get profile
|
||||
PATCH /api/v1/users/profile - Update profile
|
||||
GET /api/v1/users/library - User's games
|
||||
GET /api/v1/users/friends - Friends list
|
||||
POST /api/v1/users/friends - Send friend request
|
||||
```
|
||||
|
||||
## Data Flow
|
||||
|
||||
### 1. Login
|
||||
```
|
||||
User enters email/password
|
||||
→ C++ auth_panel.cpp calls AethexLauncher::sign_in_with_email()
|
||||
→ Makes POST to /api/v1/auth/login
|
||||
→ Backend validates credentials
|
||||
→ Returns JWT token + user data
|
||||
→ C++ stores token, emits "authenticated" signal
|
||||
→ UI updates to show logged in state
|
||||
```
|
||||
|
||||
### 2. Library
|
||||
```
|
||||
LibraryPanel opens
|
||||
→ Calls GameLibrary::load_library()
|
||||
→ Loads from local cache (library.json)
|
||||
→ If empty, populates demo games
|
||||
→ If online, calls refresh_from_server()
|
||||
→ Creates GameCard for each game
|
||||
```
|
||||
|
||||
### 3. Store
|
||||
```
|
||||
StorePanel opens
|
||||
→ Calls LauncherStore::fetch_featured()
|
||||
→ Makes GET to /api/v1/games/featured
|
||||
→ Backend returns game list
|
||||
→ UI populates store cards
|
||||
|
||||
User clicks "Add to Cart"
|
||||
→ Local cart state updated
|
||||
→ Checkout calls /api/v1/games/:id/purchase
|
||||
→ Game added to user's library
|
||||
```
|
||||
|
||||
## Development Setup
|
||||
|
||||
### Quick Start
|
||||
```powershell
|
||||
# Start everything
|
||||
.\start-dev.ps1
|
||||
```
|
||||
|
||||
### Manual Setup
|
||||
```powershell
|
||||
# 1. Start database (requires Docker)
|
||||
cd services/auth-service
|
||||
docker-compose up -d postgres
|
||||
|
||||
# 2. Setup backend
|
||||
npm install
|
||||
npx prisma generate
|
||||
npx prisma migrate dev --name init
|
||||
npm run seed
|
||||
npm run dev # Runs on localhost:3001
|
||||
|
||||
# 3. Build engine
|
||||
cd engine
|
||||
scons platform=windows target=editor -j8
|
||||
|
||||
# 4. Run
|
||||
.\bin\aethex.windows.editor.x86_64.exe
|
||||
```
|
||||
|
||||
### Demo Account
|
||||
- **Email:** demo@aethex.dev
|
||||
- **Password:** DemoPass123
|
||||
|
||||
## Offline Mode
|
||||
|
||||
The launcher works offline with demo data:
|
||||
- **Library:** Has 4 demo games (AeThex Adventure, Neon Racer, etc.)
|
||||
- **Store:** Shows 6 demo items with prices
|
||||
- **Profile:** Works in guest mode
|
||||
|
||||
When online, data syncs with the backend.
|
||||
|
||||
## Configuration
|
||||
|
||||
The launcher stores config at:
|
||||
- **Windows:** `%APPDATA%/Godot/aethex_launcher.cfg`
|
||||
- **macOS:** `~/Library/Application Support/Godot/aethex_launcher.cfg`
|
||||
- **Linux:** `~/.config/godot/aethex_launcher.cfg`
|
||||
|
||||
Config includes:
|
||||
- API base URL
|
||||
- Auth tokens
|
||||
- User preferences
|
||||
|
||||
## Domain
|
||||
All services use `aethex.dev`:
|
||||
- **Website:** https://aethex.dev
|
||||
- **API:** https://api.aethex.dev
|
||||
- **Docs:** https://docs.aethex.dev
|
||||
|
||||
## Summary
|
||||
|
||||
Everything connects in ONE flow:
|
||||
|
||||
```
|
||||
AeThex Launcher (C++)
|
||||
│
|
||||
┌──────────┼──────────┐
|
||||
▼ ▼ ▼
|
||||
Library Store Friends
|
||||
\ │ /
|
||||
\ │ /
|
||||
v v v
|
||||
api.aethex.dev (Node.js)
|
||||
│
|
||||
v
|
||||
PostgreSQL
|
||||
```
|
||||
|
||||
**One executable. One backend. Everything connected.**
|
||||
|
|
@ -1,103 +0,0 @@
|
|||
<!-- _coverpage.md -->
|
||||
|
||||
<div class="cover-logo">
|
||||
<h1 style="font-family: Electrolize; font-size: 4em; margin: 0; text-shadow: 0 0 20px var(--neon-cyan), 0 0 40px var(--neon-cyan);">
|
||||
⚡ AeThex
|
||||
</h1>
|
||||
<h2 style="font-family: Electrolize; font-size: 2em; margin: 10px 0; color: var(--neon-magenta);">
|
||||
Engine Core
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<p style="font-size: 1.3em; margin: 30px 0;">
|
||||
The <span style="color: var(--neon-cyan);">cloud-first</span> game engine that makes<br/>
|
||||
<span style="color: var(--neon-magenta);">multiplayer</span>, <span style="color: var(--neon-cyan);">cloud saves</span>, and <span style="color: var(--neon-magenta);">AI features</span> trivial.
|
||||
</p>
|
||||
|
||||
<div style="margin: 40px 0;">
|
||||
<span style="display: inline-block; margin: 10px; padding: 8px 16px; background: rgba(0, 255, 255, 0.1); border: 1px solid var(--neon-cyan); border-radius: 4px;">
|
||||
☁️ Cloud-Native
|
||||
</span>
|
||||
<span style="display: inline-block; margin: 10px; padding: 8px 16px; background: rgba(255, 0, 255, 0.1); border: 1px solid var(--neon-magenta); border-radius: 4px;">
|
||||
🎮 Game-Ready
|
||||
</span>
|
||||
<span style="display: inline-block; margin: 10px; padding: 8px 16px; background: rgba(0, 255, 255, 0.1); border: 1px solid var(--neon-cyan); border-radius: 4px;">
|
||||
🤖 AI-Powered
|
||||
</span>
|
||||
<span style="display: inline-block; margin: 10px; padding: 8px 16px; background: rgba(255, 0, 255, 0.1); border: 1px solid var(--neon-magenta); border-radius: 4px;">
|
||||
🚀 Open Source
|
||||
</span>
|
||||
</div>
|
||||
|
||||
[🚀 Get Started](GETTING_STARTED.md)
|
||||
[📚 Documentation](README.md)
|
||||
[💻 GitHub](https://github.com/AeThex-LABS/AeThex-Engine-Core)
|
||||
|
||||
<!-- Background styling -->
|
||||
<style>
|
||||
.cover-main {
|
||||
background: linear-gradient(135deg, #000000 0%, #0a0a0a 50%, #000000 100%);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.cover-main::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-image:
|
||||
linear-gradient(0deg, transparent 24%, rgba(0, 255, 255, 0.05) 25%, rgba(0, 255, 255, 0.05) 26%, transparent 27%, transparent 74%, rgba(255, 0, 255, 0.05) 75%, rgba(255, 0, 255, 0.05) 76%, transparent 77%, transparent),
|
||||
linear-gradient(90deg, transparent 24%, rgba(0, 255, 255, 0.05) 25%, rgba(0, 255, 255, 0.05) 26%, transparent 27%, transparent 74%, rgba(255, 0, 255, 0.05) 75%, rgba(255, 0, 255, 0.05) 76%, transparent 77%, transparent);
|
||||
background-size: 50px 50px;
|
||||
animation: grid-scan 20s linear infinite;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
@keyframes grid-scan {
|
||||
0% {
|
||||
background-position: 0 0;
|
||||
}
|
||||
100% {
|
||||
background-position: 50px 50px;
|
||||
}
|
||||
}
|
||||
|
||||
.cover-main > p:first-of-type {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.cover-main a {
|
||||
color: var(--neon-cyan);
|
||||
text-decoration: none;
|
||||
border: 2px solid var(--neon-cyan);
|
||||
padding: 12px 30px;
|
||||
margin: 10px;
|
||||
display: inline-block;
|
||||
transition: all 0.3s ease;
|
||||
font-family: Electrolize;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
background: rgba(0, 255, 255, 0.05);
|
||||
box-shadow: 0 0 20px rgba(0, 255, 255, 0.3);
|
||||
}
|
||||
|
||||
.cover-main a:hover {
|
||||
background: rgba(0, 255, 255, 0.2);
|
||||
box-shadow: 0 0 30px rgba(0, 255, 255, 0.6), inset 0 0 20px rgba(0, 255, 255, 0.2);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.cover-main a:nth-child(2) {
|
||||
border-color: var(--neon-magenta);
|
||||
color: var(--neon-magenta);
|
||||
background: rgba(255, 0, 255, 0.05);
|
||||
box-shadow: 0 0 20px rgba(255, 0, 255, 0.3);
|
||||
}
|
||||
|
||||
.cover-main a:nth-child(2):hover {
|
||||
background: rgba(255, 0, 255, 0.2);
|
||||
box-shadow: 0 0 30px rgba(255, 0, 255, 0.6), inset 0 0 20px rgba(255, 0, 255, 0.2);
|
||||
}
|
||||
</style>
|
||||
172
docs/index.html
172
docs/index.html
|
|
@ -14,180 +14,49 @@
|
|||
|
||||
<!-- Custom Cyberpunk Theme -->
|
||||
<link rel="stylesheet" href="theme.css">
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>⚡</text></svg>">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app">Loading AeThex Documentation...</div>
|
||||
<div id="app">Loading...</div>
|
||||
<script>
|
||||
window.$docsify = {
|
||||
name: '<span style="font-family: Electrolize; font-size: 1.2em;">⚡ AeThex Engine</span>',
|
||||
name: 'AeThex Engine',
|
||||
repo: 'https://github.com/AeThex-LABS/AeThex-Engine-Core',
|
||||
loadSidebar: true,
|
||||
subMaxLevel: 3,
|
||||
auto2top: true,
|
||||
homepage: 'README.md',
|
||||
relativePath: false,
|
||||
|
||||
// Cover page
|
||||
coverpage: true,
|
||||
onlyCover: false,
|
||||
|
||||
// Search
|
||||
search: {
|
||||
maxAge: 86400000,
|
||||
paths: 'auto',
|
||||
placeholder: '🔍 Search docs...',
|
||||
noData: '❌ No results found.',
|
||||
depth: 6,
|
||||
hideOtherSidebarContent: false
|
||||
placeholder: 'Search docs...',
|
||||
noData: 'No results found.',
|
||||
depth: 6
|
||||
},
|
||||
|
||||
// Pagination
|
||||
pagination: {
|
||||
previousText: '← Previous',
|
||||
nextText: 'Next →',
|
||||
crossChapter: true,
|
||||
crossChapterText: true
|
||||
previousText: 'Previous',
|
||||
nextText: 'Next',
|
||||
crossChapter: true
|
||||
},
|
||||
|
||||
// Tabs for code examples
|
||||
tabs: {
|
||||
persist: true,
|
||||
sync: true,
|
||||
theme: 'classic',
|
||||
tabComments: true,
|
||||
tabHeadings: true
|
||||
},
|
||||
|
||||
// Copy code button
|
||||
copyCode: {
|
||||
buttonText: '📋 Copy',
|
||||
errorText: '❌ Error',
|
||||
successText: '✅ Copied!'
|
||||
},
|
||||
|
||||
// Progress bar
|
||||
progress: {
|
||||
position: "top",
|
||||
color: "var(--neon-cyan)",
|
||||
height: "3px",
|
||||
},
|
||||
|
||||
// Flexible alerts
|
||||
'flexible-alerts': {
|
||||
style: 'flat',
|
||||
note: {
|
||||
label: "📝 Note"
|
||||
},
|
||||
tip: {
|
||||
label: "💡 Tip"
|
||||
},
|
||||
warning: {
|
||||
label: "⚠️ Warning"
|
||||
},
|
||||
danger: {
|
||||
label: "🚨 Danger"
|
||||
}
|
||||
},
|
||||
|
||||
// Count
|
||||
count: {
|
||||
countable: true,
|
||||
fontsize: '0.9em',
|
||||
color: 'var(--neon-cyan)',
|
||||
language: 'english'
|
||||
},
|
||||
|
||||
themeable: {
|
||||
readyTransition: true,
|
||||
responsiveTables: true
|
||||
},
|
||||
|
||||
alias: {
|
||||
'/.*/_sidebar.md': '/_sidebar.md',
|
||||
'/.*/_coverpage.md': '/_coverpage.md'
|
||||
'/.*/_sidebar.md': '/_sidebar.md'
|
||||
},
|
||||
|
||||
notFoundPage: true,
|
||||
|
||||
// Footer
|
||||
loadFooter: true,
|
||||
|
||||
// Edit on GitHub
|
||||
plugins: [
|
||||
function(hook, vm) {
|
||||
hook.beforeEach(function(html) {
|
||||
var url = 'https://github.com/AeThex-LABS/AeThex-Engine-Core/blob/main/docs/' + vm.route.file;
|
||||
var editHtml = '<div style="text-align: right; padding: 10px 0;">';
|
||||
editHtml += '<a href="' + url + '" target="_blank" style="color: var(--neon-cyan); text-decoration: none;">';
|
||||
editHtml += '📝 Edit on GitHub</a></div>\n\n';
|
||||
return editHtml + html;
|
||||
});
|
||||
|
||||
// Add last updated timestamp
|
||||
hook.afterEach(function(html) {
|
||||
var footer = '<hr style="border-color: var(--neon-cyan); opacity: 0.3;"/>';
|
||||
footer += '<div style="text-align: center; padding: 20px 0; font-size: 0.9em; color: var(--neon-cyan); opacity: 0.7;">';
|
||||
footer += '<p>Made with ⚡ by AeThex Labs</p>';
|
||||
footer += '<p style="font-size: 0.8em;">Last updated: ' + new Date().toLocaleDateString() + '</p>';
|
||||
footer += '</div>';
|
||||
return html + footer;
|
||||
});
|
||||
}
|
||||
],
|
||||
|
||||
// Mermaid config
|
||||
mermaid: {
|
||||
theme: 'dark',
|
||||
themeVariables: {
|
||||
primaryColor: '#00ffff',
|
||||
primaryTextColor: '#fff',
|
||||
primaryBorderColor: '#ff00ff',
|
||||
lineColor: '#00ffff',
|
||||
secondaryColor: '#ff00ff',
|
||||
tertiaryColor: '#000'
|
||||
}
|
||||
}
|
||||
notFoundPage: true
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- Docsify core -->
|
||||
<script src="//cdn.jsdelivr.net/npm/docsify@4"></script>
|
||||
|
||||
<!-- Search plugin -->
|
||||
<script src="//cdn.jsdelivr.net/npm/docsify@4/lib/plugins/search.min.js"></script>
|
||||
|
||||
<!-- Pagination -->
|
||||
<script src="//cdn.jsdelivr.net/npm/docsify-pagination@2/dist/docsify-pagination.min.js"></script>
|
||||
|
||||
<!-- Copy code -->
|
||||
<script src="//cdn.jsdelivr.net/npm/docsify-copy-code@2"></script>
|
||||
|
||||
<!-- Zoom images -->
|
||||
<script src="//cdn.jsdelivr.net/npm/docsify@4/lib/plugins/zoom-image.min.js"></script>
|
||||
|
||||
<!-- Tabs -->
|
||||
<script src="//cdn.jsdelivr.net/npm/docsify-tabs@1"></script>
|
||||
|
||||
<!-- Progress bar -->
|
||||
<script src="//cdn.jsdelivr.net/npm/docsify-progress@1/dist/progress.min.js"></script>
|
||||
|
||||
<!-- Flexible alerts -->
|
||||
<script src="//cdn.jsdelivr.net/npm/docsify-plugin-flexible-alerts"></script>
|
||||
|
||||
<!-- Word count -->
|
||||
<script src="//cdn.jsdelivr.net/npm/docsify-count@latest/dist/countable.min.js"></script>
|
||||
|
||||
<!-- Mermaid diagrams -->
|
||||
<script type="module">
|
||||
import mermaid from "https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs";
|
||||
mermaid.initialize({ startOnLoad: true });
|
||||
window.mermaid = mermaid;
|
||||
</script>
|
||||
<script src="//cdn.jsdelivr.net/npm/docsify-mermaid@2/dist/docsify-mermaid.js"></script>
|
||||
|
||||
<!-- Syntax highlighting -->
|
||||
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-bash.min.js"></script>
|
||||
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-gdscript.min.js"></script>
|
||||
|
|
@ -195,26 +64,5 @@
|
|||
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-cpp.min.js"></script>
|
||||
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-javascript.min.js"></script>
|
||||
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-python.min.js"></script>
|
||||
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-yaml.min.js"></script>
|
||||
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-markdown.min.js"></script>
|
||||
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-nginx.min.js"></script>
|
||||
|
||||
<!-- Chart.js for diagrams -->
|
||||
<script src="//cdn.jsdelivr.net/npm/chart.js@3"></script>
|
||||
<script src="//cdn.jsdelivr.net/npm/docsify-charty/dist/docsify-charty.min.js"></script>
|
||||
|
||||
<!-- Keyboard shortcuts hint -->
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
// Add keyboard shortcut listener
|
||||
document.addEventListener('keydown', function(e) {
|
||||
// Ctrl/Cmd + K for search
|
||||
if ((e.ctrlKey || e.metaKey) && e.key === 'k') {
|
||||
e.preventDefault();
|
||||
document.querySelector('.search input[type="search"]')?.focus();
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -2,9 +2,6 @@
|
|||
|
||||
Learn how to integrate AeThex's AI assistant into your game to provide contextual help and coding assistance to players.
|
||||
|
||||
> [!TIP]
|
||||
> The AI Assistant can understand your game's context, player actions, and current state to provide relevant and helpful responses.
|
||||
|
||||
---
|
||||
|
||||
## What You'll Build
|
||||
|
|
@ -19,19 +16,6 @@ A game with an in-game AI assistant that can:
|
|||
**Difficulty:** Beginner
|
||||
**Prerequisites:** Basic GDScript knowledge
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
Player[👤 Player] -->|Asks Question| UI[Chat UI]
|
||||
UI -->|Send Message| AI[⚡ AI Service]
|
||||
AI -->|Context| Game[Game State]
|
||||
AI -->|Generate| Response[AI Response]
|
||||
Response -->|Display| UI
|
||||
|
||||
style Player fill:#00ffff22,stroke:#00ffff
|
||||
style AI fill:#ff00ff22,stroke:#ff00ff
|
||||
style Game fill:#00ffff22,stroke:#00ffff
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Prerequisites
|
||||
|
|
@ -40,18 +24,12 @@ graph LR
|
|||
- AeThex Cloud connection set up
|
||||
- Basic understanding of UI systems
|
||||
|
||||
> [!WARNING]
|
||||
> AI features require an active AeThex Cloud connection. Make sure you're authenticated before using AI services.
|
||||
|
||||
---
|
||||
|
||||
## Step 1: Connect to AI Service
|
||||
|
||||
First, ensure you're connected to AeThex Cloud with AI services enabled.
|
||||
|
||||
> [!NOTE]
|
||||
> AeThex Cloud handles all AI infrastructure, rate limiting, and caching automatically.
|
||||
|
||||
```gdscript
|
||||
# main.gd
|
||||
extends Node
|
||||
|
|
|
|||
|
|
@ -2,9 +2,6 @@
|
|||
|
||||
Learn how to track player behavior, measure engagement, and make data-driven decisions with AeThex Analytics.
|
||||
|
||||
> [!TIP]
|
||||
> Analytics is your window into player behavior. Use it to understand what players love, what confuses them, and where they get stuck.
|
||||
|
||||
---
|
||||
|
||||
## What You'll Build
|
||||
|
|
@ -20,23 +17,6 @@ A complete analytics system that tracks:
|
|||
**Difficulty:** Beginner
|
||||
**Prerequisites:** Basic GDScript knowledge
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
Game[🎮 Game Events] -->|Track| SDK[AeThex SDK]
|
||||
SDK -->|Batch| Cloud[☁️ Cloud]
|
||||
Cloud -->|Process| Pipeline[Data Pipeline]
|
||||
Pipeline -->|Store| DB[(Database)]
|
||||
DB -->|Query| Dashboard[📊 Dashboard]
|
||||
Dashboard -->|Insights| You[👤 You]
|
||||
|
||||
Events[Events<br/>• level_complete<br/>• item_collected<br/>• player_died]
|
||||
Properties[User Props<br/>• level<br/>• skill<br/>• device]
|
||||
|
||||
style Game fill:#00ffff22,stroke:#00ffff
|
||||
style Cloud fill:#ff00ff22,stroke:#ff00ff
|
||||
style Dashboard fill:#00ffff22,stroke:#00ffff
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Why Use Analytics?
|
||||
|
|
@ -48,18 +28,12 @@ Analytics helps you:
|
|||
- **Fix bugs faster** - Get crash reports automatically
|
||||
- **Make data-driven decisions** - Know what features to build
|
||||
|
||||
> [!NOTE]
|
||||
> AeThex Analytics automatically batches events to minimize network usage and battery drain. No need to worry about performance impact.
|
||||
|
||||
---
|
||||
|
||||
## Step 1: Connect to Analytics
|
||||
|
||||
First, connect to AeThex Cloud and initialize analytics:
|
||||
|
||||
> [!WARNING]
|
||||
> Don't track personally identifiable information (PII) like email addresses or real names in analytics events. Use anonymous user IDs instead.
|
||||
|
||||
```gdscript
|
||||
# main.gd
|
||||
extends Node
|
||||
|
|
@ -528,7 +502,7 @@ func _on_button_pressed():
|
|||
|
||||
View your analytics data:
|
||||
|
||||
1. **Go to:** [https://studio.aethex.dev/analytics](https://studio.aethex.dev/analytics)
|
||||
1. **Go to:** [https://studio.aethex.io/analytics](https://studio.aethex.io/analytics)
|
||||
2. **Select your project**
|
||||
3. **View dashboards:**
|
||||
- Overview: DAU, MAU, retention
|
||||
|
|
@ -758,7 +732,7 @@ func test_analytics():
|
|||
|
||||
- **[Publishing Guide](../PUBLISHING_GUIDE.md)** - Deploy your game with analytics
|
||||
- **[API Reference](../API_REFERENCE.md#aethexanalytics-singleton)** - Complete analytics API
|
||||
- **Dashboard:** View your data at [studio.aethex.dev/analytics](https://studio.aethex.dev/analytics)
|
||||
- **Dashboard:** View your data at [studio.aethex.io/analytics](https://studio.aethex.io/analytics)
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -2,9 +2,6 @@
|
|||
|
||||
Learn how to add user authentication to your AeThex game with email/password, OAuth, and guest login support.
|
||||
|
||||
> [!TIP]
|
||||
> Authentication is the foundation for cloud saves, multiplayer, and social features. Start here to unlock all AeThex Cloud capabilities.
|
||||
|
||||
---
|
||||
|
||||
## What You'll Build
|
||||
|
|
@ -20,43 +17,6 @@ A complete authentication system with:
|
|||
**Difficulty:** Beginner
|
||||
**Prerequisites:** Basic GDScript knowledge
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
Start[Game Launch] --> Check{Has Session?}
|
||||
Check -->|Yes| Welcome[Welcome Back!]
|
||||
Check -->|No| Login[Show Login Screen]
|
||||
|
||||
Login --> Choice{Auth Method?}
|
||||
|
||||
Choice -->|Email/Password| EmailAuth[Email Login]
|
||||
Choice -->|OAuth| OAuthFlow[OAuth Flow]
|
||||
Choice -->|Guest| GuestAuth[Guest Account]
|
||||
|
||||
EmailAuth --> Validate{Valid?}
|
||||
Validate -->|No| Error1[Show Error]
|
||||
Error1 --> Login
|
||||
Validate -->|Yes| Auth[Authenticate]
|
||||
|
||||
OAuthFlow --> Provider[Select Provider]
|
||||
Provider --> Browser[Open Browser]
|
||||
Browser --> Auth
|
||||
|
||||
GuestAuth --> Auth
|
||||
|
||||
Auth --> Success{Success?}
|
||||
Success -->|No| Error2[Show Error]
|
||||
Error2 --> Login
|
||||
Success -->|Yes| SaveSession[Save Session]
|
||||
SaveSession --> Welcome
|
||||
|
||||
Welcome --> MainMenu[Main Menu]
|
||||
|
||||
style Start fill:#00ffff22,stroke:#00ffff
|
||||
style Welcome fill:#00ff0022,stroke:#00ff00
|
||||
style Auth fill:#ff00ff22,stroke:#ff00ff
|
||||
style MainMenu fill:#00ffff22,stroke:#00ffff
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Why Add Authentication?
|
||||
|
|
@ -68,18 +28,12 @@ Authentication enables:
|
|||
- **Analytics** - Track user behavior
|
||||
- **Monetization** - In-app purchases, subscriptions
|
||||
|
||||
> [!WARNING]
|
||||
> Never store passwords in plaintext. AeThex Cloud handles all password hashing and security automatically.
|
||||
|
||||
---
|
||||
|
||||
## Step 1: Connect to AeThex Cloud
|
||||
|
||||
First, ensure cloud services are connected:
|
||||
|
||||
> [!NOTE]
|
||||
> Session tokens are stored securely and persist across game sessions. Users stay logged in automatically.
|
||||
|
||||
```gdscript
|
||||
# main.gd
|
||||
extends Node
|
||||
|
|
|
|||
|
|
@ -284,7 +284,7 @@ Want to write a tutorial? See [CONTRIBUTING.md](../../engine/CONTRIBUTING.md) fo
|
|||
- Check the [API Reference](../API_REFERENCE.md)
|
||||
- Review [GDScript Basics](../GDSCRIPT_BASICS.md)
|
||||
- Ask in [Discord](https://discord.gg/aethex)
|
||||
- Search [docs.aethex.dev](https://docs.aethex.dev)
|
||||
- Search [docs.aethex.io](https://docs.aethex.io)
|
||||
|
||||
**Found a bug in tutorial?**
|
||||
- Report on [GitHub Issues](https://github.com/aethex/engine/issues)
|
||||
|
|
@ -298,6 +298,6 @@ After completing tutorials:
|
|||
- Read [Architecture Overview](../ARCHITECTURE_OVERVIEW.md) *(coming soon)*
|
||||
- Explore [Advanced Topics](../ADVANCED_TOPICS.md) *(coming soon)*
|
||||
- Build your own game!
|
||||
- Share in the [Community Showcase](https://aethex.dev/showcase)
|
||||
- Share in the [Community Showcase](https://aethex.io/showcase)
|
||||
|
||||
Happy building! 🚀
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
|
|
@ -2,10 +2,10 @@
|
|||
/* engine.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* engine.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* project_settings.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
@ -644,7 +644,7 @@ void ProjectSettings::_convert_to_last_version(int p_from_version) {
|
|||
}
|
||||
|
||||
/*
|
||||
* This method is responsible for loading a project.aethex file and/or data file
|
||||
* This method is responsible for loading a project.godot file and/or data file
|
||||
* using the following merit order:
|
||||
* - If using NetworkClient, try to lookup project file or fail.
|
||||
* - If --main-pack was passed by the user (`p_main_pack`), load it or fail.
|
||||
|
|
@ -685,7 +685,7 @@ Error ProjectSettings::_setup(const String &p_path, const String &p_main_pack, b
|
|||
bool ok = _load_resource_pack(p_main_pack, false, 0, true);
|
||||
ERR_FAIL_COND_V_MSG(!ok, ERR_CANT_OPEN, vformat("Cannot open resource pack '%s'.", p_main_pack));
|
||||
|
||||
Error err = _load_settings_text_or_binary("res://project.aethex", "res://project.binary");
|
||||
Error err = _load_settings_text_or_binary("res://project.godot", "res://project.binary");
|
||||
#ifdef OVERRIDE_ENABLED
|
||||
if (err == OK && !p_ignore_override) {
|
||||
// Load override from location of the main pack
|
||||
|
|
@ -740,7 +740,7 @@ Error ProjectSettings::_setup(const String &p_path, const String &p_main_pack, b
|
|||
|
||||
// If we opened our package, try and load our project.
|
||||
if (found) {
|
||||
Error err = _load_settings_text_or_binary("res://project.aethex", "res://project.binary");
|
||||
Error err = _load_settings_text_or_binary("res://project.godot", "res://project.binary");
|
||||
#ifdef OVERRIDE_ENABLED
|
||||
if (err == OK && !p_ignore_override) {
|
||||
// Load overrides from the PCK and the executable location.
|
||||
|
|
@ -765,7 +765,7 @@ Error ProjectSettings::_setup(const String &p_path, const String &p_main_pack, b
|
|||
// (Only Android -when reading from PCK-.)
|
||||
|
||||
if (!OS::get_singleton()->get_resource_dir().is_empty()) {
|
||||
Error err = _load_settings_text_or_binary("res://project.aethex", "res://project.binary");
|
||||
Error err = _load_settings_text_or_binary("res://project.godot", "res://project.binary");
|
||||
#ifdef OVERRIDE_ENABLED
|
||||
if (err == OK && !p_ignore_override) {
|
||||
// Optional, we don't mind if it fails.
|
||||
|
|
@ -791,7 +791,7 @@ Error ProjectSettings::_setup(const String &p_path, const String &p_main_pack, b
|
|||
|
||||
Error err;
|
||||
|
||||
err = _load_settings_text_or_binary(resource_path.path_join("project.aethex"), resource_path.path_join("project.binary"));
|
||||
err = _load_settings_text_or_binary(resource_path.path_join("project.godot"), resource_path.path_join("project.binary"));
|
||||
if (err == OK && !p_ignore_override) {
|
||||
// Optional, we don't mind if it fails.
|
||||
#ifdef OVERRIDE_ENABLED
|
||||
|
|
@ -820,7 +820,7 @@ Error ProjectSettings::_setup(const String &p_path, const String &p_main_pack, b
|
|||
// Set the resource path early so things can be resolved when loading.
|
||||
resource_path = current_dir;
|
||||
resource_path = resource_path.replace_char('\\', '/'); // Windows path to Unix path just in case.
|
||||
err = _load_settings_text_or_binary(current_dir.path_join("project.aethex"), current_dir.path_join("project.binary"));
|
||||
err = _load_settings_text_or_binary(current_dir.path_join("project.godot"), current_dir.path_join("project.binary"));
|
||||
if (err == OK) {
|
||||
#ifdef OVERRIDE_ENABLED
|
||||
if (!p_ignore_override) {
|
||||
|
|
@ -964,10 +964,10 @@ Error ProjectSettings::_load_settings_text(const String &p_path) {
|
|||
|
||||
err = VariantParser::parse_tag_assign_eof(&stream, lines, error_text, next_tag, assign, value, nullptr, true);
|
||||
if (err == ERR_FILE_EOF) {
|
||||
// If we're loading a project.aethex from source code, we can operate some
|
||||
// If we're loading a project.godot from source code, we can operate some
|
||||
// ProjectSettings conversions if need be.
|
||||
_convert_to_last_version(config_version);
|
||||
last_save_time = FileAccess::get_modified_time(get_resource_path().path_join("project.aethex"));
|
||||
last_save_time = FileAccess::get_modified_time(get_resource_path().path_join("project.godot"));
|
||||
return OK;
|
||||
}
|
||||
ERR_FAIL_COND_V_MSG(err != OK, err, vformat("Error parsing '%s' at line %d: %s File might be corrupted.", p_path, lines, error_text));
|
||||
|
|
@ -990,7 +990,7 @@ Error ProjectSettings::_load_settings_text(const String &p_path) {
|
|||
}
|
||||
|
||||
Error ProjectSettings::_load_settings_text_or_binary(const String &p_text_path, const String &p_bin_path) {
|
||||
// Attempt first to load the binary project.aethex file.
|
||||
// Attempt first to load the binary project.godot file.
|
||||
Error err = _load_settings_binary(p_bin_path);
|
||||
if (err == OK) {
|
||||
return OK;
|
||||
|
|
@ -999,7 +999,7 @@ Error ProjectSettings::_load_settings_text_or_binary(const String &p_text_path,
|
|||
ERR_PRINT(vformat("Couldn't load file '%s', error code %d.", p_bin_path, err));
|
||||
}
|
||||
|
||||
// Fallback to text-based project.aethex file if binary was not found.
|
||||
// Fallback to text-based project.godot file if binary was not found.
|
||||
err = _load_settings_text(p_text_path);
|
||||
if (err == OK) {
|
||||
#ifndef DISABLE_DEPRECATED
|
||||
|
|
@ -1061,9 +1061,9 @@ void ProjectSettings::clear(const String &p_name) {
|
|||
}
|
||||
|
||||
Error ProjectSettings::save() {
|
||||
Error error = save_custom(get_resource_path().path_join("project.aethex"));
|
||||
Error error = save_custom(get_resource_path().path_join("project.godot"));
|
||||
if (error == OK) {
|
||||
last_save_time = FileAccess::get_modified_time(get_resource_path().path_join("project.aethex"));
|
||||
last_save_time = FileAccess::get_modified_time(get_resource_path().path_join("project.godot"));
|
||||
}
|
||||
return error;
|
||||
}
|
||||
|
|
@ -1141,7 +1141,7 @@ Error ProjectSettings::_save_settings_text(const String &p_file, const RBMap<Str
|
|||
Error err;
|
||||
Ref<FileAccess> file = FileAccess::open(p_file, FileAccess::WRITE, &err);
|
||||
|
||||
ERR_FAIL_COND_V_MSG(err != OK, err, vformat("Couldn't save project.aethex - %s.", p_file));
|
||||
ERR_FAIL_COND_V_MSG(err != OK, err, vformat("Couldn't save project.godot - %s.", p_file));
|
||||
|
||||
file->store_line("; Engine configuration file.");
|
||||
file->store_line("; It's best edited using the editor UI and not directly,");
|
||||
|
|
@ -1309,7 +1309,7 @@ Error ProjectSettings::save_custom(const String &p_path, const CustomMap &p_cust
|
|||
save_features += f;
|
||||
}
|
||||
|
||||
if (p_path.ends_with(".aethex") || p_path.ends_with(".godot") || p_path.ends_with("override.cfg")) {
|
||||
if (p_path.ends_with(".godot") || p_path.ends_with("override.cfg")) {
|
||||
return _save_settings_text(p_path, save_props, p_custom, save_features);
|
||||
} else if (p_path.ends_with(".binary")) {
|
||||
return _save_settings_binary(p_path, save_props, p_custom, save_features);
|
||||
|
|
@ -1664,7 +1664,7 @@ void ProjectSettings::_add_builtin_input_map() {
|
|||
|
||||
ProjectSettings::ProjectSettings() {
|
||||
// Initialization of engine variables should be done in the setup() method,
|
||||
// so that the values can be overridden from project.aethex or project.binary.
|
||||
// so that the values can be overridden from project.godot or project.binary.
|
||||
|
||||
CRASH_COND_MSG(singleton != nullptr, "Instantiating a new ProjectSettings singleton is not supported.");
|
||||
singleton = this;
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* project_settings.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* core_bind.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* core_bind.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* core_constants.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* core_constants.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* core_globals.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* core_string_names.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* aes_context.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* aes_context.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* crypto.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* crypto.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* crypto_core.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* crypto_core.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* hashing_context.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* hashing_context.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* debugger_marshalls.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* debugger_marshalls.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* engine_debugger.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* engine_debugger.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* engine_profiler.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* engine_profiler.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* local_debugger.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* local_debugger.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* remote_debugger.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* remote_debugger.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* remote_debugger_peer.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* remote_debugger_peer.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* script_debugger.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* script_debugger.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* doc_data.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* doc_data.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* error_list.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* error_list.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* error_macros.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* error_macros.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* godot_instance.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* aethex_instance.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* extension_api_dump.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* extension_api_dump.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* gdextension.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* gdextension.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* gdextension_function_loader.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* gdextension_function_loader.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* gdextension_interface.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* gdextension_interface_header_generator.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* gdextension_interface_header_generator.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* gdextension_library_loader.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* gdextension_library_loader.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* gdextension_loader.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* gdextension_manager.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* gdextension_manager.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* gdextension_special_compat_hashes.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* gdextension_special_compat_hashes.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* libaethex.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* default_controller_mappings.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* input.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* input.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* input_enums.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* input_event.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* input_event.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* input_event_codec.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* input_event_codec.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* input_map.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* input_map.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* shortcut.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* shortcut.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* compression.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* compression.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* config_file.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* config_file.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* delta_encoding.cpp */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
/* delta_encoding.h */
|
||||
/**************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* AETHEX ENGINE */
|
||||
/* https://aethex.dev */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/**************************************************************************/
|
||||
/* Copyright (c) 2014-present AETHEX ENGINE contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue