Skip to content

Project

Stefan Mielke edited this page Apr 27, 2022 · 3 revisions

Project

The project is your game. It has all the configurations that are needed to build your ROM file.

Creating and opening projects.

You create and open project through the "File" menu.

When you create a project, it will need to have the 'Libdragon-CLI' configured (see Engine Settings) and it will do the following:

  • Create the project folder if it doesn't exist
  • Run libdragon init to generate the initial files for the project
  • Add and remove some initial files
    • Remove /src/main.c (it will be generated again as a static file)
    • Create files inside /.vscode that help developing on VS Code
  • Generate static files (see Static / Generated Files)
  • Create /Makefile_custom.mk (see Project Settings)
  • Add libdragon-extensions as a submodule
    • If this fails, it will continue with the project creation, and you can add it later by running git submodule add https://github.com/stefanmielke/libdragon-extensions.git libs/libdragon-extensions on the project root directory
  • Create the project file
  • Open the project

Static / Generated files

These are the files that the engine generate during the project creation or during the build. These files are not meant to ever be changed manually, and may be replaced later if you do so.

If you feel the need to change any of these files, keep in mind that the engine provides hooks to all of them through scripts.

Static Files

Static files are files that are generated once during project creation and are not changed during builds. They are all files that end with .s.* (with some exception, see below for the list of files).

It is recommended that you re-generate them through File > Tasks > Regenerate Static Files whenever you update the engine (they are not changed that often, but it's a good practice to do so).

The current static files are:

  • /.vscode/c_cpp_properties.json
  • /.clang-format
  • /.gitignore
  • /src/main.s.c
  • /src/scenes/change_scene.s.h

Generated Files

Generated files are files that are generated every time a build occurs, and are based on the current project configurations and scenes you have. They are all files that end with .gen.*.

Current generated files:

  • /Makefile
  • /src/game.gen.h
  • /src/setup.gen.c
  • /src/scenes/change_scene.gen.c
  • /src/scenes/scene_*.gen.h
  • /src/scenes/scene_*.gen.c