[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