Module CS/mk/msvcgen/template7/

back to main page

Summary Period: 2002-05-12 to 2003-06-14

Modules

[root]/CS/mk/msvcgen/template7

Lines Of Code


Total Lines Of Code: 1017 (2003-07-11 20:29)

Authors

Author Changes Lines of code Lines per change
Totals 76 (100.0%) 1151 (100.0%) 15.1
res2002 58 (76.3%) 1121 (97.4%) 19.3
philwyett 17 (22.4%) 27 (2.3%) 1.5
sunshine 1 (1.3%) 3 (0.3%) 3.0

Most Recent Commits

res2002 2003-06-14 20:38

Changed the way how SCF plugin scanning works:
- Moved scanning invokation to scfInitialize().
- A platform-dependent function, csScanPluginsDir(), returns
plugin filenames and metadata.
- Such a function is provided for Win32. For unix and macosx,
the "old" function that scans for .csplugin files is used.
Made the following changes:
- The DirectDraw configure time test now also tests for
DirectSound, and thus changed the makefile var nomenclature to
"DirectX".
- Slight changed the way DLLs are loaded on Win32: now
LoadLibraryEx() is used with a flag which causes Windows to
first look for the actual file in the specified directory.
- On Win32, plugin metadata is now contained inside the DLL.
Worked around problems with static linking. Specifically, it was
assumed that a factory function is always only used for a single
class. This is not always the case (e.g. the bezier loader.)

0 lines of code changed in:

sunshine 2003-05-26 09:49

Eric Sunshine performed Phase One of the elimination of the monolithic
scf.cfg:

-*- Plugin modules are now self-describing. This information can be
queried at run-time without having to actually load the module.

-*- The plugin maintainer now manages the plugin's meta-information in an
external .csplugin file, rather than hard-coding the information into
the plugin's source code. The mechanism by which the meta-information
is bound to the plugin is platform-dependent. Presently, all
platforms simply lay down the meta-information in a plain text file
alongside the plugin itself; with the same basename and extension
.csplugin. This may change in the future. For example, on MacOS/X,
the meta-information will probably be encapsulated within the plugin's
bundle wrapper.

-*- Plugin meta-information is now maintained in XML format. Here is an
example:

<?xml version="1.0"?>
<!-- gl3d.csplugin -->
<plugin>
<name>gl3d</name>
<scf>
<classes>
<class>
<name>crystalspace.graphics3d.opengl</name>
<description>OpenGL 3D graphics driver</description>
<requires>
<class>crystalspace.font.server.</class>
</requires>
</class>
</classes>
</scf>
</plugin>

-*- Since meta-information is now extensible, maintainers can choose to
publish supplementary information about plugins (in addition to the
SCF information already published). For example, image loading
plugins could publish "image indendification" information which would
allow the image loading multiplexor to selectively request image
loading plugins on-demand, rather than requesting all plugins
unconditionally, even if they are not needed. Here is an example of a
possible meta-information table for the PNG loader:

<?xml version="1.0"?>
<!-- cspngimg.csplugin -->
<plugin>
<name>cspngimg</name>
<scf>...</scf>
<imageloader>
<imagetype>
<class>crystalspace.graphic.image.io.png</class>
<identify>
<mimetype>image/png</mimetype>
<extension>png</extension>
<extension>PNG</extension>
<scan length="4" bytes="\0x89PNG"/>
</identify>
</imagetype>
</imageloader>
</plugin>

In this example, the PNG loader meta-information tells the multiplexor
several different ways to identify a PNG image: by checking file
extension, if available; by checking MIME type, if available; by
checking for the magic-string "\0x89PNG" in the raw image data. If
the multiplexor identifies the image as PNG, only then will it
actually request the PNG loader.

-*- Added the --meta-file directive to msvcgen.pl to allow specification
of the meta-information file for a module. The value of this option
is interpolated into template files via the new %metafile% variable.
msvcgen.mak now utilizes this flag with the value of the new
INC.PROJECT makefile variable. Augmented the MSVC6 and MSVC7 plugin
template files (plugin.tpl) to make use of %metafile%.

-*- Changed the file extension for plugins on MacOS/X from .csplugin to
.csbundle to avoid conflict with new meta-information resource which
uses the extension .csplugin.

-*- Still To-Do:

- Augment SCF to utilize the new meta-information resources, and to
understand the new XML format. Presently, these resources are
ignored at run-time.

- Add platform-specific function to scan and locate plugins
automatically, rather than relying upon a monolithic registry such
as scf.cfg.

- Add platform-specific function to query a plugin's meta-information.

- Eliminate the monolithic scf.cfg.

- Augment static linking to work with the new facility.

- Eliminate the hard-coded SCF registration information in each
plugin's source code.

3 lines of code changed in:

philwyett 2003-05-12 05:08

- Philip Wyett brought warning level in MSVC 7 project files down
to 3 to match MSVC 6 ones. Also cleaned up 'group.tpl' for
both MSVC 6 and 7.

15 lines of code changed in:

res2002 2003-01-13 20:14

- re-added appgui MSVC template. The difference is just in Release buils;
creates a GUI subsystem app instead of a binary app
- changed way console/GUI subsystem apps are detected
- hack: console window for GUI apps is kept open when command line -help
is wanted
- milk2spr: ALLOC_STACK_ARRAY instead of GCC-style stack alloc
- walktest: csInitializer::DestroyApplication() inserted after cmd line help
(required so console window is kept open after help)

91 lines of code changed in:

res2002 2003-01-11 20:45

- memdebug.cpp compiles again on MSVC
- MSVC6 projects now have 'ExtensiveMemDebug' configuration as well
- added facility to msvcgen to support DLL delay loading
- JNG plugin now checks first 8 bytes of the supplied data for the MNG/JNG
sig before invoking libmng

7 lines of code changed in:

res2002 2003-01-09 12:18

changed configuration name "ExtensiveDebug" to "ExtensiveMemDebug"

1 lines of code changed in:

res2002 2002-09-25 00:03

- created a new MSVC7 build configuration for ext. memory debugging
- fixed wrong messages in csloader

233 lines of code changed in:

res2002 2002-09-15 22:22

- CS_STRICT_SMART_POINTERS defined for MSVC

6 lines of code changed in:

res2002 2002-08-05 18:42

- changed the make targets of all applications
to the name of the resulting binary the way
Eric Sunshine suggested. e.g. 'walk' became
'walktest'.
- did the same for all plugins.
- in some cases, the MSVC project differed from
the name for all other platforms, changed those.
- flipped the order of the include directories for
MSVC resource compiler so the right 'volatile.h'
is used.
- added include dirs for resource compiler to msvc7
projects.

13 lines of code changed in:

res2002 2002-08-03 19:24

- version information is generated for MSVC projects
- small fixes for other version info stuff

2 lines of code changed in:

res2002 2002-08-02 21:23

- merged the msvc project generators
- changed a few msvc6 project options to match their msvc7 cousins:
all projects use runtime dll
CS_EXTENSIVE_MEMDEBUG defined
- windows resource files are now specified w/ <project>.WINRSRC
instead in DSP.<project>.RESOURCES

30 lines of code changed in:

res2002 2002-07-22 22:22

- when doing CS_EXTENSIVE_MEMDEBUG w/ MSVC the crt's
built-in memory debugging support for filename/line is used
- CS_EXTENSIVE_MEMDEBUG defined for MSVC 7 debug builds by
default.

3 lines of code changed in:

res2002 2002-06-28 16:11

added quotes in post-build step

8 lines of code changed in:

res2002 2002-06-25 22:24

%lflags% and %libs% where swapped in one place.

2 lines of code changed in:

res2002 2002-06-01 21:43

- all projects now use the runtime dll (apps, libs used the static rt)
- removed unused appgui template

16 lines of code changed in:

philwyett 2002-05-20 02:55

- Removed Minimal Rebuild "/Gm" from Release builds.

0 lines of code changed in:

philwyett 2002-05-19 07:48

- Enabled Browse Information "/FR", under debug builds.

4 lines of code changed in:

philwyett 2002-05-19 07:36

- Enabled Minimal Rebuild "/Gm" in MSVC7 project files.

8 lines of code changed in:

res2002 2002-05-13 21:31

a couple of changes so projects better match their msvc6 counterparts

19 lines of code changed in:

res2002 2002-05-12 02:05

generated dependencies were totally wrong

3 lines of code changed in:

(1 more)


Generated by StatCvs v0.2-dev