More syntax conversion.

This commit is contained in:
Relintai 2024-04-20 16:21:44 +02:00
parent 2eb6af2301
commit ae868c4e81
8 changed files with 93 additions and 455 deletions

View File

@ -1,10 +1,8 @@
Complying with licenses
=======================
# Complying with licenses
What are licenses?
------------------
## What are licenses?
Pandemonium is created and distributed under the `MIT License ( https://opensource.org/licenses/MIT )`.
It doesn't have a sole owner either, as every contributor that submits code to
@ -25,8 +23,7 @@ Warning:
Free assets in particular often come with licenses that require attribution.
Double-check their license before using those assets in a project.
Requirements
------------
## Requirements
In the case of the MIT license, the only requirement is to include the license
text somewhere in your game or derivative project.
@ -64,52 +61,44 @@ Note:
your Pandemonium projects under any license and to create commercial games with
the engine.
Inclusion
---------
## Inclusion
The license does not specify how it has to be included, so anything is valid as
long as it can be displayed under some condition. These are the most common
approaches (only need to implement one of them, not all).
Credits screen
^^^^^^^^^^^^^^
### Credits screen
Include the above license text somewhere in the credits screen. It can be at the
bottom after showing the rest of the credits. Most large studios use this
approach with open source licenses.
Licenses screen
^^^^^^^^^^^^^^^
### Licenses screen
Some games have a special menu (often in the settings) to display licenses.
Output log
^^^^^^^^^^
### Output log
Just printing the licensing text using the `print()`
function may be enough on platforms where a global output log is readable.
This is the case on desktop platforms, Android and HTML5 (but not iOS and UWP).
Accompanying file
^^^^^^^^^^^^^^^^^
### Accompanying file
If the game is distributed on desktop platforms, a file containing the license
can be added to the software that is installed to the user PC.
Printed manual
^^^^^^^^^^^^^^
### Printed manual
If the game includes printed manuals, license text can be included there.
Link to the license
^^^^^^^^^^^^^^^^^^^
### Link to the license
The Pandemonium Engine developers consider that a link to `pandemoniumengine.org/license`
in your game documentation or credits would be an acceptable way to satisfy
the license terms.
Third-party licenses
--------------------
## Third-party licenses
Pandemonium itself contains software written by
`third parties ( https://github.com/Relintai/pandemonium_engine/blob/master/COPYRIGHT.txt )`.
@ -120,8 +109,7 @@ means you need to provide attribution for all the libraries listed below.
Here's a list of libraries requiring attribution:
FreeType
^^^^^^^^
### FreeType
Pandemonium uses `FreeType ( https://www.freetype.org/ )` to render fonts. Its license
requires attribution, so the following text must be included together with the
@ -137,8 +125,7 @@ Note:
the **Help > About** dialog and going to the **Third-party Licenses**
tab.
ENet
^^^^
### ENet
Pandemonium includes the `ENet ( http://enet.bespin.org/ )` library to handle
high-level multiplayer. ENet has similar licensing terms as Pandemonium:
@ -152,8 +139,7 @@ high-level multiplayer. ENet has similar licensing terms as Pandemonium:
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
mbed TLS
^^^^^^^^
### mbed TLS
If the project is exported with Pandemonium 3.1 or later, it includes `mbed TLS ( https://tls.mbed.org )`.
The Apache license needs to be complied to by including the following text:
@ -178,7 +164,6 @@ as the latest version of OpenSSL currently uses (as of April 2022).
Note:
If you exported your project using a
`custom build with specific modules disabled ( doc_optimizing_for_size )`,
you don't need to list the disabled modules' licenses in your exported project.

View File

@ -1,222 +1,5 @@
Documentation changelog
=======================
# Documentation changelog
The documentation is continually being improved. The release of version 3.2
includes many new tutorials, many fixes and updates for old tutorials, and many updates
to the `class reference ( toc-class-ref )`. Below is a list of new tutorials
added since version 3.1.
Note:
This document only contains new tutorials so not all changes are reflected,
many tutorials have been substantially updated but are not reflected in this document.
New tutorials since version 3.1
-------------------------------
Project workflow
^^^^^^^^^^^^^^^^
- `doc_android_custom_build`
2D
^^
- `doc_2d_sprite_animation`
Audio
^^^^^
- `doc_recording_with_microphone`
- `doc_sync_with_audio`
Math
^^^^
- `doc_beziers_and_curves`
- `doc_interpolation`
Inputs
^^^^^^
- `doc_input_examples`
Internationalization
^^^^^^^^^^^^^^^^^^^^
- `doc_localization_using_gettext`
Shading
^^^^^^^
- Your First Shader Series:
- `doc_introduction_to_shaders`
- `doc_your_first_canvasitem_shader`
- `doc_your_first_spatial_shader`
- `doc_your_second_spatial_shader`
- `doc_visual_shaders`
Networking
^^^^^^^^^^
- `doc_webrtc`
VR
^^
- `doc_vr_starter_tutorial_part_one`
- `doc_vr_starter_tutorial_part_two`
Plugins
^^^^^^^
- `doc_android_plugin`
- `doc_inspector_plugins`
- `doc_visual_shader_plugins`
Multi-threading
^^^^^^^^^^^^^^^
- `doc_using_multiple_threads`
Creating content
^^^^^^^^^^^^^^^^
Procedural geometry series:
- `Procedural geometry ( toc-procedural_geometry )`
- `doc_arraymesh`
- `doc_surfacetool`
- `doc_meshdatatool`
- `doc_immediategeometry`
Optimization
^^^^^^^^^^^^
- `doc_using_multimesh`
- `doc_using_servers`
Legal
^^^^^
- `doc_complying_with_licenses`
New tutorials since version 3.0
-------------------------------
Step by step
^^^^^^^^^^^^
- `doc_signals`
- `doc_exporting_basics`
Scripting
^^^^^^^^^
- `doc_gdscript_static_typing`
Project workflow
^^^^^^^^^^^^^^^^
Best Practices:
- `doc_introduction_best_practices`
- `doc_what_are_pandemonium_classes`
- `doc_scene_organization`
- `doc_scenes_versus_scripts`
- `doc_autoloads_versus_internal_nodes`
- `doc_node_alternatives`
- `doc_pandemonium_interfaces`
- `doc_pandemonium_notifications`
- `doc_data_preferences`
- `doc_logic_preferences`
2D
^^
- `doc_2d_lights_and_shadows`
- `doc_2d_meshes`
3D
^^
- `doc_csg_tools`
- `doc_animating_thousands_of_fish`
- `doc_controlling_thousands_of_fish`
Physics
^^^^^^^
- `doc_ragdoll_system`
- `doc_soft_body`
Animation
^^^^^^^^^
- `doc_2d_skeletons`
- `doc_animation_tree`
GUI
^^^
- `doc_gui_containers`
Viewports
^^^^^^^^^
- `doc_viewport_as_texture`
- `doc_custom_postprocessing`
Shading
^^^^^^^
- `doc_converting_glsl_to_pandemonium_shaders`
- `doc_advanced_postprocessing`
Shading Reference:
- `doc_introduction_to_shaders`
- `doc_shading_language`
- `doc_spatial_shader`
- `doc_canvas_item_shader`
- `doc_particle_shader`
Plugins
^^^^^^^
- `doc_making_main_screen_plugins`
- `doc_spatial_gizmo_plugins`
Platform-specific
^^^^^^^^^^^^^^^^^
- `doc_customizing_html5_shell`
Multi-threading
^^^^^^^^^^^^^^^
- `doc_thread_safe_apis`
Creating content
^^^^^^^^^^^^^^^^
- `doc_making_trees`
Miscellaneous
^^^^^^^^^^^^^
- `doc_jitter_stutter`
- `doc_running_code_in_the_editor`
- `doc_change_scenes_manually`
- `doc_gles2_gles3_differences`
Compiling
^^^^^^^^^
- `doc_optimizing_for_size`
- `doc_compiling_with_script_encryption_key`
Engine development
^^^^^^^^^^^^^^^^^^
- `doc_binding_to_external_libraries`
Not yet.

View File

@ -1,9 +1,7 @@
Frequently asked questions
==========================
# Frequently asked questions
What can I do with Pandemonium? How much does it cost? What are the license terms?
----------------------------------------------------------------------------
## What can I do with Pandemonium? How much does it cost? What are the license terms?
Pandemonium is `Free and Open-Source Software ( https://en.wikipedia.org/wiki/Free_and_open-source_software )` available under the `OSI-approved ( https://opensource.org/licenses/MIT )` MIT license. This means it is free as in "free speech" as well as in "free beer."
@ -26,8 +24,7 @@ in the Pandemonium repository.
Also, see `the license page on the Pandemonium website ( https://pandemoniumengine.org/license )`.
Which platforms are supported by Pandemonium?
---------------------------------------
## Which platforms are supported by Pandemonium?
**For the editor:**
@ -59,8 +56,7 @@ scripts or export templates at this time.
For more on this, see the sections on `exporting ( toc-learn-workflow-export )`
and `compiling Pandemonium yourself ( toc-devel-compiling )`.
Which programming languages are supported in Pandemonium?
---------------------------------------------------
## Which programming languages are supported in Pandemonium?
The officially supported languages for Pandemonium are GDScript, Visual Scripting,
C#, and C++. See the subcategories for each language in the
@ -87,8 +83,7 @@ to `Python ( https://github.com/touilleMan/pandemonium-python )` and `Nim ( http
What is GDScript and why should I use it?
-----------------------------------------
## What is GDScript and why should I use it?
GDScript is Pandemonium's integrated scripting language. It was built from the ground
up to maximize Pandemonium's potential in the least amount of code, affording both novice
@ -121,8 +116,7 @@ will grow on you.
More information about getting comfortable with GDScript or dynamically typed
languages can be found in the `doc_gdscript_more_efficiently` tutorial.
What were the motivations behind creating GDScript?
---------------------------------------------------
## What were the motivations behind creating GDScript?
In the early days, the engine used the `Lua ( https://www.lua.org )`
scripting language. Lua is fast, but creating bindings to an object
@ -150,8 +144,7 @@ The main reasons for creating a custom scripting language for Pandemonium were:
GDScript was designed to curtail the issues above, and more.
What type of 3D model formats does Pandemonium support?
-------------------------------------------------
## What type of 3D model formats does Pandemonium support?
Pandemonium supports Collada via the `OpenCollada ( https://github.com/KhronosGroup/OpenCOLLADA/wiki/OpenCOLLADA-Tools )` exporter (Maya, 3DSMax).
If you are using Blender, take a look at our own `Better Collada Exporter ( https://pandemoniumengine.org/download )`.
@ -161,8 +154,7 @@ As of Pandemonium 3.0, glTF is supported.
FBX is supported via the Open Asset Import library. However, FBX is proprietary
so we recommend using other formats listed above, if suitable for your workflow.
Will [insert closed SDK such as FMOD, GameWorks, etc.] be supported in Pandemonium?
-----------------------------------------------------------------------------
## Will [insert closed SDK such as FMOD, GameWorks, etc.] be supported in Pandemonium?
The aim of Pandemonium is to create a free and open-source MIT-licensed engine that
is modular and extendable. There are no plans for the core engine development
@ -181,8 +173,7 @@ free and open-source integration, consider starting the integration work yoursel
Pandemonium is not owned by one person; it belongs to the community, and it grows along
with ambitious community contributors like you.
How do I install the Pandemonium editor on my system (for desktop integration)?
-------------------------------------------------------------------------
## How do I install the Pandemonium editor on my system (for desktop integration)?
Since you don't need to actually install Pandemonium on your system to run it,
this means desktop integration is not performed automatically.
@ -194,8 +185,7 @@ This will automatically perform the required steps for desktop integration.
Alternatively, you can manually perform the steps that an installer would do for you:
Windows
^^^^^^^
### Windows
- Move the Pandemonium executable to a stable location (i.e. outside of your Downloads folder),
so you don't accidentally move it and break the shortcut in the future.
@ -205,15 +195,13 @@ Windows
You can also pin Pandemonium in the task bar by right-clicking the executable and choosing
**Pin to Task Bar**.
macOS
^^^^^
### macOS
Drag the extracted Pandemonium application to `/Applications/Pandemonium.app`, then drag it
to the Dock if desired. Spotlight will be able to find Pandemonium as long as it's in
`/Applications` or `~/Applications`.
Linux
^^^^^
### Linux
- Move the Pandemonium binary to a stable location (i.e. outside of your Downloads folder),
so you don't accidentally move it and break the shortcut in the future.
@ -233,8 +221,7 @@ Linux
you can also save the `.desktop` file to `/usr/local/share/applications`
to make the shortcut available for all users.
Is the Pandemonium editor a portable application?
-------------------------------------------
## Is the Pandemonium editor a portable application?
In its default configuration, Pandemonium is *semi-portable*. Its executable can run
from any location (including non-writable locations) and never requires
@ -248,8 +235,7 @@ See `doc_data_paths` for more information.
If *true* portable operation is desired (e.g. for use on an USB stick),
follow the steps in `doc_data_paths_self_contained_mode`.
Why does Pandemonium use Vulkan or OpenGL instead of Direct3D?
--------------------------------------------------------
## Why does Pandemonium use Vulkan or OpenGL instead of Direct3D?
Pandemonium aims for cross-platform compatibility and open standards first and
foremost. OpenGL and Vulkan are the technologies that are both open and
@ -266,8 +252,7 @@ In the long term, we may develop a Direct3D 12 renderer for Pandemonium (mainly
the Xbox's purposes), but Vulkan and OpenGL will remain the default rendering
backends on all platforms, including Windows.
Why does Pandemonium aim to keep its core feature set small?
------------------------------------------------------
## Why does Pandemonium aim to keep its core feature set small?
Pandemonium intentionally does not include features that can be implemented by add-ons
unless they are used very often. One example of this would be advanced
@ -308,8 +293,7 @@ you actually use in your project. (In the meantime, you can
`compile custom export templates with unused features disabled ( doc_optimizing_for_size )`
to optimize the distribution size of your project.)
How should assets be created to handle multiple resolutions and aspect ratios?
------------------------------------------------------------------------------
## How should assets be created to handle multiple resolutions and aspect ratios?
This question pops up often and it's probably thanks to the misunderstanding
created by Apple when they originally doubled the resolution of their devices.
@ -351,8 +335,7 @@ devices with tiny screens (fewer than 300 pixels in width), you can use
the export option to shrink images, and set that build to be used for
certain screen sizes in the App Store or Google Play.
How can I extend Pandemonium?
-----------------------
## How can I extend Pandemonium?
For extending Pandemonium, like creating Pandemonium Editor plugins or adding support
for additional languages, take a look at `EditorPlugins ( doc_making_plugins )`
@ -368,14 +351,12 @@ as well as the `unofficial Python support ( https://github.com/touilleMan/pandem
This would be a good starting point to see how another third-party library
integrates with Pandemonium.
When is the next release of Pandemonium out?
--------------------------------------
## When is the next release of Pandemonium out?
When it's ready! See `doc_release_policy_when_is_next_release_out` for more
information.
I would like to contribute! How can I get started?
--------------------------------------------------
## I would like to contribute! How can I get started?
Awesome! As an open-source project, Pandemonium thrives off of the innovation and
ambition of developers like you.
@ -384,8 +365,7 @@ The first place to get started is in the `issues ( https://github.com/Relintai/p
Find an issue that resonates with you, then proceed to the `How to Contribute ( https://github.com/Relintai/pandemonium_engine/blob/master/CONTRIBUTING.md#contributing-pull-requests )`
guide to learn how to fork, modify, and submit a Pull Request (PR) with your changes.
I have a great idea for Pandemonium. How can I share it?
--------------------------------------------------
## I have a great idea for Pandemonium. How can I share it?
It might be tempting to want to bring ideas to Pandemonium, like ones that
result in massive core changes, some sort of mimicry of what another
@ -422,8 +402,7 @@ projects (if applicable).
Is it possible to use Pandemonium to create non-game applications?
------------------------------------------------------------
## Is it possible to use Pandemonium to create non-game applications?
Yes! Pandemonium features an extensive built-in UI system, and its small distribution
size can make it a suitable alternative to frameworks like Electron or Qt.
@ -441,8 +420,7 @@ open source applications made with Pandemonium.
Is it possible to use Pandemonium as a library?
-----------------------------------------
## Is it possible to use Pandemonium as a library?
Pandemonium is meant to be used with its editor. We recommend you give it a try, as it
will most likely save you time in the long term. There are no plans to make
@ -454,8 +432,7 @@ engine instead. Keep in mind rendering engines usually have smaller communities
compared to Pandemonium. This will make it more difficult to find answers to your
questions.
What user interface toolkit does Pandemonium use?
-------------------------------------------
## What user interface toolkit does Pandemonium use?
Pandemonium does not use a standard :abbr:`GUI (Graphical User Interface)` toolkit
like GTK, Qt or wxWidgets. Instead, Pandemonium uses its own user interface toolkit,
@ -476,8 +453,7 @@ but you can still
Why does Pandemonium not use STL (Standard Template Library)?
-------------------------------------------------------
## Why does Pandemonium not use STL (Standard Template Library)?
Like many other libraries (Qt as an example), Pandemonium does not make use of
STL. We believe STL is a great general purpose library, but we had special
@ -489,8 +465,7 @@ requirements for Pandemonium.
* For large arrays, we use pooled memory, which can be mapped to either a preallocated buffer or virtual memory.
* We use our custom String type, as the one provided by STL is too basic and lacks proper internationalization support.
Why does Pandemonium not use exceptions?
----------------------------------
## Why does Pandemonium not use exceptions?
We believe games should not crash, no matter what. If an unexpected
situation happens, Pandemonium will print an error (which can be traced even to
@ -500,15 +475,13 @@ going.
Additionally, exceptions significantly increase binary size for the
executable.
Why does Pandemonium not enforce RTTI?
--------------------------------
## Why does Pandemonium not enforce RTTI?
Pandemonium provides its own type-casting system, which can optionally use RTTI
internally. Disabling RTTI in Pandemonium means considerably smaller binary sizes can
be achieved, at a little performance cost.
Why does Pandemonium not force users to implement DoD (Data oriented Design)?
-----------------------------------------------------------------------
## Why does Pandemonium not force users to implement DoD (Data oriented Design)?
While Pandemonium internally for a lot of the heavy performance tasks attempts
to use cache coherency as well as possible, we believe most users don't
@ -528,12 +501,10 @@ If a game that really needs to process such large amount of objects is
needed, our recommendation is to use C++ and GDNative for the high
performance parts and GDScript (or C#) for the rest of the game.
How can I support Pandemonium development or contribute?
--------------------------------------------------
## How can I support Pandemonium development or contribute?
See `doc_ways_to_contribute`.
Who is working on Pandemonium? How can I contact you?
-----------------------------------------------
## Who is working on Pandemonium? How can I contact you?
See the corresponding page on the `Pandemonium website ( https://pandemoniumengine.org/contact )`.

View File

@ -1,18 +0,0 @@
About
=====
.. toctree::
:maxdepth: 1
:name: toc-about
introduction
faq
troubleshooting
list_of_features
docs_changelog
release_policy
complying_with_licenses
.. history
.. authors
.. license

View File

@ -1,7 +1,6 @@
Introduction
============
# Introduction
```
func _ready():
@ -17,8 +16,7 @@ This page gives a broad presentation of the engine and of the contents
of this documentation, so that you know where to start if you are a beginner or
where to look if you need info on a specific feature.
Before you start
----------------
## Before you start
The `Tutorials and resources ( doc_community_tutorials )` page lists
video tutorials contributed by the community. If you prefer video to text,
@ -28,8 +26,7 @@ In case you have trouble with one of the tutorials or your project,
you can find help on the various `Community channels ( doc_community_channels )`,
especially the Pandemonium Discord community, Q&A, and IRC.
About Pandemonium Engine
------------------
## About Pandemonium Engine
A game engine is a complex tool, and it is therefore difficult to present Pandemonium
in a few words. Here's a quick synopsis, which you are free to reuse
@ -53,8 +50,7 @@ For a more in-depth view of the engine, you are encouraged to read this
documentation further, especially the `Step by step
( toc-learn-step_by_step )` tutorial.
About the documentation
-----------------------
## About the documentation
This documentation is continuously written, corrected, edited, and revamped by
members of the Pandemonium Engine community. It is edited via text files in the
@ -74,8 +70,7 @@ All the contents are under the permissive Creative Commons Attribution 3.0
(`CC-BY 3.0 ( https://creativecommons.org/licenses/by/3.0/ )`) license, with
attribution to "Péter Magyar and the Pandemonium community, and Juan Linietsky, Ariel Manzur and the Godot community".
Organization of the documentation
---------------------------------
## Organization of the documentation
This documentation is organized in five sections with an impressively
unbalanced distribution of contents but the way it is split up should be

View File

@ -1,7 +1,6 @@
List of features
================
# List of features
This page aims to list all features currently supported by Pandemonium.
@ -12,11 +11,9 @@ Note:
Pandemonium (3.5). `More features ( https://docs.pandemoniumengine.org/en/latest/about/list_of_features.html )`
are available in the latest development version (4.0).
Features
--------
## Features
Platforms
^^^^^^^^^
### Platforms
**Can run both the editor and exported projects:**
@ -40,8 +37,7 @@ Platforms
Pandemonium aims to be as platform-independent as possible and can be ported to new
platforms with relative ease.
Editor
^^^^^^
### Editor
**Features:**
@ -78,8 +74,7 @@ Editor
- `Download projects from the asset library ( doc_using_assetlib_editor )`
in the project manager and import them directly.
2D graphics
^^^^^^^^^^^
### 2D graphics
**Two renderers available:**
@ -117,8 +112,7 @@ Editor
- GPU-based particles with support for custom particle shaders.
- CPU-based particles.
2D tools
^^^^^^^^
### 2D tools
- 2D camera with built-in smoothing and drag margins.
- Path2D node to represent a path in 2D space.
@ -129,8 +123,7 @@ Editor
- 2D geometry helper class.
- Line2D node to draw textured 2D lines.
2D physics
^^^^^^^^^^
### 2D physics
**Physics bodies:**
@ -145,8 +138,7 @@ Editor
- Built-in shapes: line, box, circle, capsule.
- Collision polygons (can be drawn manually or generated from a sprite in the editor).
3D graphics
^^^^^^^^^^^
### 3D graphics
**Two renderers available:**
@ -284,13 +276,11 @@ Editor
Note:
Most of the effects listed above can be adjusted for better performance or
to further improve quality. This can be helpful when using Pandemonium for
offline rendering.
3D tools
^^^^^^^^
### 3D tools
- Built-in meshes: cube, cylinder/cone, (hemi)sphere, prism, plane, quad.
- Tools for `procedural geometry generation ( doc_procedural_geometry )`.
@ -303,8 +293,7 @@ Note:
- 3D geometry helper class.
- Support for exporting the current scene as a glTF 2.0 file from the editor.
3D physics
^^^^^^^^^^
### 3D physics
**Physics bodies:**
@ -323,8 +312,7 @@ Note:
- Generate triangle collision shapes for any mesh from the editor.
- Generate one or several convex collision shapes for any mesh from the editor.
Shaders
^^^^^^^
### Shaders
- *2D:* Custom vertex, fragment, and light shaders.
- *3D:* Custom vertex, fragment, light, and sky shaders.
@ -333,8 +321,7 @@ Shaders
- Support for visual shader plugins.
Scripting
^^^^^^^^^
### Scripting
**General:**
@ -392,8 +379,7 @@ Warning:
`trying out GDScript ( toc-learn-scripting-gdscript )` instead,
especially if you intend to migrate your project to Pandemonium 4.
Audio
^^^^^
### Audio
**Features:**
@ -416,8 +402,7 @@ Audio
- *macOS:* CoreAudio.
- *Linux:* PulseAudio or ALSA.
Import
^^^^^^
### Import
- Support for `custom import plugins ( doc_import_plugins )`.
@ -442,8 +427,7 @@ Import
- 3D meshes use `Mikktspace ( http://www.mikktspace.com/ )` to generate tangents
on import, which ensures consistency with other 3D applications such as Blender.
Input
^^^^^
### Input
- Input mapping system using hardcoded input events or remappable input actions.
@ -464,15 +448,13 @@ Input
- Pen/tablet input with pressure support.
- Gamepad, keyboard and mouse input support are also available on Android.
Navigation
^^^^^^^^^^
### Navigation
- A* algorithm in 2D and 3D.
- Navigation meshes with dynamic obstacle avoidance.
- Generate navigation meshes from the editor or at run-time (including from an exported project).
Networking
^^^^^^^^^^
### Networking
- Low-level TCP networking using StreamPeer and TCP_Server.
- Low-level UDP networking using PacketPeer and UDPServer.
@ -491,8 +473,7 @@ Networking
- Support for UPnP to sidestep the requirement to forward ports when hosting
a server behind a NAT.
Internationalization
^^^^^^^^^^^^^^^^^^^^
### Internationalization
- Full support for Unicode including emoji.
- Store localization strings using `CSV ( doc_internationalizing_games )`
@ -501,8 +482,7 @@ Internationalization
using the `tr()` function.
- Support for right-to-left typesetting and text shaping planned in Pandemonium 4.0.
Windowing and OS integration
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
### Windowing and OS integration
- Move, resize, minimize, and maximize the window spawned by the project.
- Change the window title and icon.
@ -524,15 +504,13 @@ Windowing and OS integration
Any binary can be used without a window using the `--no-window`
`command line argument ( doc_command_line_tutorial )`.
Mobile
^^^^^^
### Mobile
- In-app purchases on Android and iOS.
- Support for advertisements using third-party modules.
- Support for subview embedding on Android.
XR support (AR and VR)
^^^^^^^^^^^^^^^^^^^^^^
### XR support (AR and VR)
- Support for ARKit on iOS out of the box.
- Support for the OpenXR APIs.
@ -541,8 +519,7 @@ XR support (AR and VR)
- Support for the OpenVR APIs.
GUI system
^^^^^^^^^^
### GUI system
Pandemonium's GUI is built using the same Control nodes used to make games in Pandemonium.
The editor UI can easily be extended in many ways using add-ons.
@ -590,8 +567,7 @@ The editor UI can easily be extended in many ways using add-ons.
Pandemonium's small distribution size can make it a suitable alternative to frameworks
like Electron or Qt.
Animation
^^^^^^^^^
### Animation
- Direct kinematics and inverse kinematics.
- `Tween` node to easily perform procedural animations by code.
@ -600,8 +576,7 @@ Animation
- Support for playing sounds in animation tracks.
- Support for Bézier curves in animation.
File formats
^^^^^^^^^^^^
### File formats
- Scenes and resources can be saved in `text-based ( doc_tscn_file_format )` or binary formats.
@ -623,8 +598,7 @@ File formats
- `Export additional PCK files( doc_exporting_pcks )` that can be read
by the engine to support mods and DLCs.
Miscellaneous
^^^^^^^^^^^^^
### Miscellaneous
- `Low-level access to servers ( doc_using_servers )` which allows bypassing
the scene tree's overhead when needed.

View File

@ -1,15 +1,13 @@
Pandemonium release policy
====================
# Pandemonium release policy
Pandemonium's release policy is in constant evolution. What is described below is
intended to give a general idea of what to expect, but what will actually
happen depends on the choices of core contributors, and the needs of the
community at a given time.
Pandemonium versioning
----------------
## Pandemonium versioning
Pandemonium loosely follows `Semantic Versioning ( https://semver.org/ )` with a
`major.minor.patch` versioning system, albeit with an interpretation of each
@ -69,8 +67,7 @@ Note:
In particular, the 3.2 stable branch received a number of new features in
3.2.2 which would have warranted a `minor` version increment.
Release support timeline
------------------------
## Release support timeline
Stable branches are supported *at minimum* until the next stable branch is
released and has received its first patch update. In practice, we support
@ -88,55 +85,17 @@ If you experience an issue using an older patch release, please upgrade to the
latest patch release of that series and test again before reporting an issue
on GitHub.
+-------------+----------------------+--------------------------------------------------------------------------+
| **Version** | **Release date** | **Support level** |
+-------------+----------------------+--------------------------------------------------------------------------+
| Pandemonium 4.0 | Q4 2022 | |unstable| *Alpha.* Current focus of development (unstable). |
+-------------+----------------------+--------------------------------------------------------------------------+
| Pandemonium 3.6 | Q4 2022 | |supported| *Beta.* Receives new features as well as bug fixes while |
| | | under development. |
+-------------+----------------------+--------------------------------------------------------------------------+
| Pandemonium 3.5 | August 2022 | |supported| Receives fixes for bugs, security and platform support |
| | | issues, as well as backwards-compatible usability enhancements. |
+-------------+----------------------+--------------------------------------------------------------------------+
| Pandemonium 3.4 | November 2021 | |partial| Receives fixes for security and platform support issues only. |
+-------------+----------------------+--------------------------------------------------------------------------+
| Pandemonium 3.3 | April 2021 | |eol| No longer supported as fully superseded by the compatible 3.4 |
| | | release (last update: 3.3.4). |
+-------------+----------------------+--------------------------------------------------------------------------+
| Pandemonium 3.2 | January 2020 | |eol| No longer supported (last update: 3.2.3). |
+-------------+----------------------+--------------------------------------------------------------------------+
| Pandemonium 3.1 | March 2019 | |eol| No longer supported (last update: 3.1.2). |
+-------------+----------------------+--------------------------------------------------------------------------+
| Pandemonium 3.0 | January 2018 | |eol| No longer supported (last update: 3.0.6). |
+-------------+----------------------+--------------------------------------------------------------------------+
| Pandemonium 2.1 | July 2016 | |eol| No longer supported (last update: 2.1.6). |
+-------------+----------------------+--------------------------------------------------------------------------+
| Pandemonium 2.0 | February 2016 | |eol| No longer supported (last update: 2.0.4.1). |
+-------------+----------------------+--------------------------------------------------------------------------+
| Pandemonium 1.1 | May 2015 | |eol| No longer supported. |
+-------------+----------------------+--------------------------------------------------------------------------+
| Pandemonium 1.0 | December 2014 | |eol| No longer supported. |
+-------------+----------------------+--------------------------------------------------------------------------+
.. |supported| image:: img/supported.png)
.. |partial| image:: img/partial.png)
.. |eol| image:: img/eol.png)
.. |unstable| image:: img/unstable.png)
**Legend:**
|supported| Full support
|partial| Partial support
|eol| No support (end of life)
|unstable| Development version
![supported](img/supported.png) Full support
![partial](img/partial.png) Partial support
![eol](img/eol.png) No support (end of life)
![unstable](img/unstable.png) Development version
Pre-release Pandemonium versions aren't intended to be used in production and are
provided for testing purposes only.
When is the next release out?
-----------------------------
## When is the next release out?
While Pandemonium contributors aren't working under any deadlines, we strive to
publish minor releases relatively frequently, with an average of two 3.x minor

View File

@ -1,18 +1,15 @@
Troubleshooting
===============
# Troubleshooting
This page lists common issues encountered when using Pandemonium and possible solutions.
See also:
See `doc_using_the_web_editor` for caveats specific to the HTML5 version
of the Pandemonium editor.
Everything I do in the editor or project manager appears delayed by one frame.
------------------------------------------------------------------------------
## Everything I do in the editor or project manager appears delayed by one frame.
This is a `known bug ( https://github.com/Relintai/pandemonium_engine/issues/23069 )` on
Intel graphics drivers on Windows. Updating to the latest graphics driver
@ -22,8 +19,7 @@ You should use the graphics driver provided by Intel rather than the one
provided by your desktop or laptop's manufacturer because their version is often
outdated.
The grid disappears and meshes turn black when I rotate the 3D camera in the editor.
------------------------------------------------------------------------------------
## The grid disappears and meshes turn black when I rotate the 3D camera in the editor.
This is a `known bug ( https://github.com/Relintai/pandemonium_engine/issues/30330 )` on
Intel graphics drivers on Windows.
@ -34,8 +30,7 @@ the renderer in the top-right corner of the editor or the Project Settings.
If you use a computer allowing you to switch your graphics card, like NVIDIA
Optimus, you can use the dedicated graphics card to run Pandemonium.
The editor or project takes a very long time to start.
------------------------------------------------------
## The editor or project takes a very long time to start.
This is a `known bug ( https://github.com/Relintai/pandemonium_engine/issues/20566 )` on
Windows when you have specific USB peripherals connected. In particular,
@ -44,15 +39,13 @@ peripherals' drivers to their latest version. If the bug persists, you need to
disconnect the faulty peripherals before opening the editor. You can then
connect the peripheral again.
Editor tooltips in the Inspector and Node docks blink when they're displayed.
-----------------------------------------------------------------------------
## Editor tooltips in the Inspector and Node docks blink when they're displayed.
This is a `known issue ( https://github.com/Relintai/pandemonium_engine/issues/32990 )`
caused by the third-party Stardock Fences application on Windows.
The only known workaround is to disable Stardock Fences while using Pandemonium.
The Pandemonium editor appears frozen after clicking the system console.
------------------------------------------------------------------
## The Pandemonium editor appears frozen after clicking the system console.
When running Pandemonium on Windows with the system console enabled, you can
accidentally enable *selection mode* by clicking inside the command window. This
@ -62,8 +55,7 @@ the system console. Pandemonium cannot override this system-specific behavior.
To solve this, select the system console window and press Enter to leave
selection mode.
Some text such as "NO DC" appears in the top-left corner of the project manager and editor window.
--------------------------------------------------------------------------------------------------
## Some text such as "NO DC" appears in the top-left corner of the project manager and editor window.
This is caused by the NVIDIA graphics driver injecting an overlay to display information.
@ -73,8 +65,7 @@ default values in the NVIDIA Control Panel.
To disable this overlay on Linux, open `nvidia-settings`, go to **X Screen 0 >
OpenGL Settings** then uncheck **Enable Graphics API Visual Indicator**.
The project window appears blurry, unlike the editor.
-----------------------------------------------------
## The project window appears blurry, unlike the editor.
Unlike the editor, the project isn't marked as DPI-aware by default. This is
done to improve performance, especially on integrated graphics, where rendering
@ -84,16 +75,14 @@ To resolve this, open **Project > Project Settings** and enable **Display >
Window > Dpi > Allow Hidpi**. On top of that, make sure your project is
configured to support `multiple resolutions ( doc_multiple_resolutions )`.
The project window doesn't appear centered when I run the project.
------------------------------------------------------------------
## The project window doesn't appear centered when I run the project.
This is a `known bug ( https://github.com/Relintai/pandemonium_engine/issues/13017 )`. To
resolve this, open **Project > Project Settings** and enable **Display > Window
> Dpi > Allow Hidpi**. On top of that, make sure your project is configured to
support `multiple resolutions ( doc_multiple_resolutions )`.
The project works when run from the editor, but fails to load some files when running from an exported copy.
------------------------------------------------------------------------------------------------------------
## The project works when run from the editor, but fails to load some files when running from an exported copy.
This is usually caused by forgetting to specify a filter for non-resource files
in the Export dialog. By default, Pandemonium will only include actual *resources*