[Scummvm-devel] Proposal: restructuring the source tree
Max Horn
max at quendi.de
Thu Aug 15 14:26:01 CEST 2002
I thought a bit about our current CVS structure, as I find it a bit
irritating. E.g. it forces us to prefix all simon related files with
simon (thus we have simonsys.cpp), even though these files are
already in a simon subdirectory. note that the file "midi.cpp" is for
Simon only even if the name suggest differently.
The main level contain subdirs for various backends, but also a
subdir for simon, for sound, and the two dirs v3/v4 for which I
really can't detect any useful purpose :-). Most source files in the
main level are generic, but some are not necessarily Scumm specific
(system.h, util.*, config-file.*) or in one case it's even a backend
(sdl.cpp and sdl_gl.cpp -> these two really should have a common base
class BTW, they duplicate a lot of code).
So what I would like to propose is that we restructure the source
tree to something more logical. E.g. consider this proposal (subject
to change :-), which is not listing all files, just enough to give
you the idea:
.
|-- COPYING
|-- Makefile
|-- Makefile.common
|-- Makefile.irix
|-- Makefile.mingw
|-- Makefile.qtopia
|-- NEWS
|-- README
|-- backends
| |-- mac
| | |-- Carbon.r
| | |-- CarbonPort-ReadMe.txt
| | |-- mac.cpp
| | |-- macos.h
| | |-- scummvm.icns
| | `-- scummvm.mcp
| |-- morphos
| | |-- Makefile
| | |-- MorphOS.readme
| | |-- morphos.cpp
| | |-- morphos.h
| | |-- morphos_scaler.cpp
| | |-- morphos_scaler.h
| | |-- morphos_sound.cpp
| | |-- morphos_start.cpp
| | |-- morphos_timer.cpp
| | `-- morphos_timer.h
| |-- sdl
| | |-- sdl.cpp
| | `-- sdl_gl.cpp
| |-- win32
| | |-- scummvm.dsp
| | `-- scummvm.dsw
| |-- wince
| | |-- MenuTitle.bmp
| | |-- PocketSCUMM.rc
| | |-- PocketSCUMM.vcc
| | |-- PocketSCUMM.vcp
| | |-- PocketSCUMM.vcw
| | |-- bitmaps.cpp
| | |-- findgame.cpp
| | |-- gapi_keys.cpp
| | |-- newres.h
| | |-- pocketpc.cpp
| | |-- pocketscumm.ico
| | |-- resource.h
| | |-- screen.cpp
| | `-- screen.h
| `-- x11
| |-- scummvm.xpm
| `-- x11.cpp
|-- common
|-- config-file.cpp
|-- config-file.h
|-- data
|-- gui
|-- scumm
| |-- costume.cpp
| |-- costume.h
| |-- debug.cpp
| |-- debug.h
| |-- debugrl.cpp
| |-- debugrl.h
| |-- scumm.h
| |-- scummvm.cpp
| `-- verbs.cpp
|-- simon
| |-- debug.cpp
| |-- items.cpp
| |-- midi.cpp
| |-- res.cpp
| |-- simon.cpp
| |-- simon.h
| |-- sys.cpp
| |-- verb.cpp
| `-- vga.cpp
|-- util.cpp
`-- util.h
What do you think? First off, about the general idea, secondly (if
you agree with the idea at all), feel free to voice constructive
criticism about this structure. I haven't quite decided yet how to
deal with the debian stuff and the scummvm.spec (for RPM), maybe add
a "distro" dir or just put them into the main level?
Cheers,
Max
--
-----------------------------------------------
Max Horn
Software Developer
email: <mailto:max at quendi.de>
phone: (+49) 6151-494890
More information about the Scummvm-devel
mailing list