Open main menu

Difference between revisions of "HOWTO-Engines"

839 bytes added ,  13:07, 30 March 2007
Started work on a section on file name conventions
(→‎Example: engines/quux/quux.h: Updated debugger code)
(Started work on a section on file name conventions)
Line 3: Line 3:


I will assume that you are at least roughly familiar with ScummVM, and have a fresh checkout of our Subversion repository. Note that it's strongly adviced to base your work on the current development version of ScummVM, and not on a release version. This will ease integration of your work.
I will assume that you are at least roughly familiar with ScummVM, and have a fresh checkout of our Subversion repository. Note that it's strongly adviced to base your work on the current development version of ScummVM, and not on a release version. This will ease integration of your work.


== Overview ==
== Overview ==
Line 26: Line 25:
Important note: Use a C++ namespace for all your work, e.g. "namespace Quux" in this case.
Important note: Use a C++ namespace for all your work, e.g. "namespace Quux" in this case.


=== File name conventions ===
Since of the course of its existance, many people will have to deal with the source code of a given engine (be it to fix bugs in it, modify it to still compile after changes made to tbe backend code, or to simply add new functionality), it is useful to adhere to various conventions used throughout all engines. Besides source code conventions (see [[Code Formatting]]), this affects filenames. We suggest you use the following names for specific parts of your engine"
{| border="1" cellpadding="2" width=100%
|-
|ENGINENAME.h || Contains your Engine subclass
|-
|ENGINENAME.cpp || Contains at least the constructor and destructor of your Engine subclass
|-
|saveload.cpp || Code related to savegames
|-
|plugin.cpp || The implementation of the plugin interface, as described in <code>base/plugins.h</code>
|}


=== Subclassing Engine ===
=== Subclassing Engine ===
1,079

edits