Up until last commit, everything was working fine but the amount of files changed was too large. This commit tries to reduce the changes.
- Add a fake constructor to Keymap, text-to-speech, setDescription (save-state)
- Redirecting functions for PopUpWidget::appendEntry, ButtonWidget::setLabel, GUIErrorMessage
- Use the above functions and constructors to reduce changes in Engines
- Fix warnings being in unicode. Only output english text in - Warnings, Errors, etc.
- Mark some strings as "translation" strings. (Not yet added to POTFILES)
- Remove some CP related things from po/modules.mk
- Previously used some Common::convertToU32 where it was not necessary, replace this with u32constructor
- Where necessary as in, where translated messages are used.
- GUIErrorMessage now takes in U32String
- error messages across some engines use U32Strings. they are changed because they show a message dialog.
Vanilla hugo limits spaces printed in the GO_TO code block
to the fixed width of a line. But since Glk doesn't have a
predetermined width, when the game specified a width of 7fffh,
it crashed trying to buffer out a string that actual length.
This new fix simply limits spaces to at most 20.
The resource file format Hugo uses has named entries.
Because of this, the original Glk code added to Hugo
does a whole mess of reading in a picture, then copying
it to a dummy pic file with a dummy number, just so a
call to glk_image_draw could detect it.
Since this isn't the first time I've had to deal with
named resources, it ended up being cleaner to add a new
variation of glk_image_draw and glk_image_draw_scaled
that can take in a string image parameter. That way, I
was able to set up an archive class to represent the
resource file, and pass the resource name directly
without worrying about dummy picture numbers & files
Care will really need to be taken in the future if there's
any cleanup of fields to the proper 'bool' type. Hugo
inconsistency mixes use of true/false in fields that can
take non-bool values, such as for full_buffer
Unlike initally where I was ripping out parts of the file and making
code changes, this version is intended to be more identical to the
original, except for the functions being made class methods. This
should make it easier to apply any further upstream code changes to
the codebase in the future