PLMBase Library version 0.20
PLMBase is the first library in the PLM Libs series.
Its main goal is to provide simple and low-level classes to easily do all
you may need in a project, in a portable way (platform-independance).
The libraries have been designed to reduce the number of external
dependencies, and this one only requires templates and iostream classes
from the STL.
Here is a quick list of all classes, with a short description:
Data types and basic structures:
- PLMString: the classical string class, with some specific
methods.
- PLMText: a vector of strings.
- PLMRGBA: a color with 4 components (red, green, blue and
alpha), and conversions methods.
- PLMCallback*: some classes to represent C-like pointers to
member functions.
- PLMPoint, PLMRect, PLMVec3: basic geometry classes.
Files and archives:
- PLMFileProvider: a virtual class (interface) to define the
services of a file provider, i.e. a class that represents a list
of files, that allows to run through the list with iterators
and open files.
- PLMDir: one implementation of a file provider, as a
standard directory.
- PLMArchive: another implementation of a file provider,
as an archive file (many formats).
- PLMResFile: a virtual class that defines the methods of a
File class (open, close, reads, writes).
- PLMFile: one implementation of PLMResFile as a standard
file.
- PLMPackFile: one implementation of PLMResFile as an archive
file (a file nested inside another file).
- PLMMemFile: one implementation of PLMResFile as a memory
file (content already in memory).
Resources:
- PLMResource: a virtual class to define the basic operations
performed by a resource, i.e. Load() and Save().
- PLMResFinder: this class can register many sources (file
providers) and then allows to retrieve files from them, opened as
a PLMResFile.
- PLMResMgr: a resource manager, that can load data files found
by a PLMResFinder, and keep a list of them (reference counter) to
avoid useless loadings and a waste of memory.
- PLMImage: the image class, can load BMP, PCX, TGA, GIF.
- PLMFont: a bitmap font class, uses PLM's own format.
- PLMPal: a palette class, can load GIMP, PSP, and raw RGB or
BGR.
Other classes:
- PLMTranslator: a class to list and load language files, to make
application speak any language.
- PLMLog: a simple LOG class, to print messages to the standard
console or to a file, with many level of output.
- PLMRandom: simple functions to generate random numbers
(within limits, integer or float).
- PLMParseUtils: a set of functions to extract different data
types from a string (integer, boolean, float, color, date).
- PLMFileUtils: a set of low-level file functions, to ease
file manipulations (check file existance, test directory, rename,
delete, ...).
- PLMConfigMgr: a class to define parameters and load values from
a config file or the command line.
- PLMScore: a game oriented class to handle a simple score table,
add records and load/save them.
Some basic tools are released with PLMBase to help developers to use and
create resources for their applications.
- plmfont : to get informations about a font, and to build
new fonts (from an image and a description file),
- plmres : the resource manager, to build archives from
data files,
- plmlang : to create language files to use with PLMTransalator,
from message files.
You will also find some examples with the library to illustrate its
main capabilities...
- config : to test the configuration manager, you can set user
options from a config file, a default static value or command line
argument.
- file : a very simple program to test the File class.
- fileprovider : shows how to use PLMFileProviders, i.e. standard
directories or archive files. You can list their contents and sort
their entries.
  Note that the following packages are released under the GNU LGPL license (Lesser General Public License).
Package |
Size |
Date |
Notes |
---|
Linux library | 177.5 k | 26 Oct 2004 | TGZ, Development package (headers + libs)
| Windows library | 210.1 k | 26 Oct 2004 | ZIP, Development package (headers + libs)
| Documentation | 303.3 k | 26 Oct 2004 | ZIP, HTML documentation (doxygen)
| Sources | 645.5 k | 26 Oct 2004 | TGZ, Linux/Windows sources (contains PLMBase, PLMMedia, PLM3D)
|
|