I got the update now (sorry for the delay..), and tried to compile. DROD/CreditsScreen.cpp uses wcstok, so i added a DROD version of that to BackEndLib/Wchar.cpp, and updated CreditsScreen.cpp to use the new function (no spoilers in sight, thankfully
). I think that should be ok, but have a look to be sure
After doing that (plus some of the usual minor fixes), everything compiles with only a few warnings*, but it doesn't link, because of missing std::char_traits<
unsigned short>
methods in standard c++
. What we're missing:
::assign(unsigned short&, unsigned short const&)
::length(unsigned short const*)
::copy(unsigned short*, unsigned short const*, unsigned)
::move(unsigned short*, unsigned short const*, unsigned)
::compare(unsigned short const*, unsigned short const*, unsigned)
Shouldn't be much of a problem overloading those, except they're in std, and i seem to remember that overloading anything in there is undefined. I have to look into that. Any have any ideas ?
* The few warnings i mentioned is mostly unsigned comparision >
= 0 inside boundary checking macros that may be used with both signed and unsigned arguments (afaik), harmless. There's also these warnings:
DbDemos.cpp:490: warning: choosing `CAttachableWrapper<
T>
::operator T&() [with T = UINT]' over `CAttachableWrapper<
T>
::operator T() const [with T = UINT]'
DbDemos.cpp:490: warning: for conversion from `CAttachableWrapper<
UINT>
' to ` unsigned int'
DbDemos.cpp:490: warning: because conversion sequence for the argument is better
(with variations) in DRODLib/DbDemos.cpp line 490, 1378, and 1390, and DROD/GameScreen.cpp line 1284, 1337 and 1344. Those are harmless also, but can be fixed by fx. adding an operator* to CAttachableWrapper and using that to dereference the object where those warnings appear (so that fx. DbDemos line 1378 would be
return **pBool;. Don't think it should break anything, but i don't really understand why it should be necessary - the operators already there should be enough.. What do you say ?
- Gerry