Revision 80a3ddfe
Added by danij almost 13 years ago
Files
- added
- modified
- copied
- renamed
- deleted
- doomsday
- engine
- api
- dd_string.h (diff)
- doomsday.def (diff)
- uri.h (diff)
- portable
- include
- r_data.h (diff)
- textures.h (diff)
- src
- con_config.c (diff)
- dd_main.c (diff)
- def_read.c (diff)
- fonts.c (diff)
- gl_texmanager.c (diff)
- m_string.c (diff)
- materialarchive.c (diff)
- materials.c (diff)
- r_data.c (diff)
- r_things.c (diff)
- resourcenamespace.c (diff)
- textures.c (diff)
- uri.c (diff)
- wadfile.c (diff)
- include
- api
- plugins
- engine
Implemented percent-encoding of lump, texture and material paths
The Wad format allows characters in lump names not generally allowed
for file and/or directory names on the local file system, including
those used as path delimiters.
To normalize these into a unified path representation, WadFile now
applies percent encoding of lump names upon construction of its
internal PathDirectory.
As the lump names are interpreted into symbolic texture (and thus
material) identifiers, those too are now percent-encoded. Also, by
extension, this now means serialized de::Uris are encoded also (e.g.,
in MaterialArchive).
Various new methods of de::String have been implemented to support
encoding/decoding of this new representation.
Todo: de::Uri should not be ignorant to the encoding. This class
should instead implement the necessary methods to support directly
constructing from and composing to the encoded representation.