Open main menu

Difference between revisions of "HOWTO-Backends"

176 bytes added ,  02:11, 2 April 2006
Mention that backends must implement main
m
(Mention that backends must implement main)
Line 19: Line 19:
# Populate the new directory as you need to. If you want to use our regular build system, you will want to provide <tt>backends/foobar/module.mk</tt> file. Take a look at <tt>backends/sdl/module.mk</tt> for an example.
# Populate the new directory as you need to. If you want to use our regular build system, you will want to provide <tt>backends/foobar/module.mk</tt> file. Take a look at <tt>backends/sdl/module.mk</tt> for an example.
# Subclass OSystem. You could copy the content of <tt>backends/null/null.cpp</tt> to <tt>backends/foobar/foobar.cpp</tt> to get a skeleton. As you progress, it might be helpful to look at other backends to learn how they do things.
# Subclass OSystem. You could copy the content of <tt>backends/null/null.cpp</tt> to <tt>backends/foobar/foobar.cpp</tt> to get a skeleton. As you progress, it might be helpful to look at other backends to learn how they do things.
# Make sure to provide the <tt>main</tt> function in your backend (the actual main function of ScummVM is <tt>scummvm_main</tt>, which your backend must invoke at some point).
# If appropriate, edit <tt>configure</tt> to add your backend (this is only necessary if you are going to use the "./configure && make" build system).
# If appropriate, edit <tt>configure</tt> to add your backend (this is only necessary if you are going to use the "./configure && make" build system).
# Modify <tt>common/system.cpp</tt> and <tt>backends/intern.h</tt> to make it aware of your backend. Mostly, this means telling it about your OSystem factory function (I'll leave the code there to document itself, if you don't understand it, ask us on IRC or on our mailing list).
# Modify <tt>common/system.cpp</tt> and <tt>backends/intern.h</tt> to make it aware of your backend. Mostly, this means telling it about your OSystem factory function (I'll leave the code there to document itself, if you don't understand it, ask us on IRC or on our mailing list).
1,079

edits