[Scummvm-devel] Proposal: restructuring the source tree

Pawel Kolodziejski pablo at omega.xtr.net.pl
Thu Aug 15 15:43:07 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.
Me too. :)

>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).
I agree with you.

>|-- util.cpp
>`-- util.h
This should be in common.

>What do you think? 
I think that is a good idea.

I'm thinking about optimize sounds/music and smush gfx codecs to assembler. After bugless release dig and ft, of course.
What about structure that files ?
example:
/asm/intel
              /codec37-i386.cpp
              ....
/asm/ppc
              ....
/asm/m86k
             /bundle_codecs-m020.cpp
             /bundle_codecs-m060.cpp
             ....

>you agree with the idea at all)
I agree. :)

>deal with the debian stuff and the scummvm.spec (for RPM), maybe add 
>a "distro" dir or just put them into the main level?
I think in "distro" dir and subdirs "debian" and "rpm".

What about class structure ?

I'm not follower of heavy using of classes and templates.
I think we should use class to:
- prevent duplicate code (share code),
- seperate functions and variables (protect),
- overloads functions to ports platforms, systems, drivers (virtual),
- clear initialization, release
- ... hmm  
I'm tired and going to sleep, now. :-)


Cheers,

Aquadran


More information about the Scummvm-devel mailing list