HUGO: Split classes with multiple version in separate files
svn-id: r53152
This commit is contained in:
parent
576d6429bc
commit
2978053a00
23 changed files with 2351 additions and 1628 deletions
|
@ -34,10 +34,8 @@
|
|||
|
||||
#include "common/system.h"
|
||||
|
||||
#include "hugo/game.h"
|
||||
#include "hugo/hugo.h"
|
||||
#include "hugo/display.h"
|
||||
#include "hugo/file.h"
|
||||
#include "hugo/util.h"
|
||||
|
||||
namespace Hugo {
|
||||
|
@ -442,83 +440,5 @@ void Screen::drawRectangle(bool filledFl, uint16 x1, uint16 y1, uint16 x2, uint1
|
|||
}
|
||||
}
|
||||
|
||||
Screen_v1d::Screen_v1d(HugoEngine &vm) : Screen(vm) {
|
||||
}
|
||||
|
||||
Screen_v1d::~Screen_v1d() {
|
||||
}
|
||||
|
||||
// Load font file, construct font ptrs and reverse data bytes
|
||||
// TODO: This uses hardcoded fonts in hugo.dat, it should be replaced
|
||||
// by a proper implementation of .FON files
|
||||
void Screen_v1d::loadFont(int16 fontId) {
|
||||
debugC(2, kDebugDisplay, "loadFont(%d)", fontId);
|
||||
|
||||
static bool fontLoadedFl[NUM_FONTS] = {false, false, false};
|
||||
|
||||
_fnt = fontId - FIRST_FONT; // Set current font number
|
||||
|
||||
if (fontLoadedFl[_fnt]) // If already loaded, return
|
||||
return;
|
||||
|
||||
fontLoadedFl[_fnt] = true;
|
||||
|
||||
memcpy(_fontdata[_fnt], _vm._arrayFont[_fnt], _vm._arrayFontSize[_fnt]);
|
||||
_font[_fnt][0] = _fontdata[_fnt]; // Store height,width of fonts
|
||||
|
||||
int16 offset = 2; // Start at fontdata[2] ([0],[1] used for height,width)
|
||||
|
||||
// Setup the font array (127 characters)
|
||||
for (int i = 1; i < 128; i++) {
|
||||
_font[_fnt][i] = _fontdata[_fnt] + offset;
|
||||
byte height = *(_fontdata[_fnt] + offset);
|
||||
byte width = *(_fontdata[_fnt] + offset + 1);
|
||||
|
||||
int16 size = height * ((width + 7) >> 3);
|
||||
for (int j = 0; j < size; j++)
|
||||
Utils::reverseByte(&_fontdata[_fnt][offset + 2 + j]);
|
||||
|
||||
offset += 2 + size;
|
||||
}
|
||||
}
|
||||
|
||||
Screen_v1w::Screen_v1w(HugoEngine &vm) : Screen(vm) {
|
||||
}
|
||||
|
||||
Screen_v1w::~Screen_v1w() {
|
||||
}
|
||||
|
||||
// Load font file, construct font ptrs and reverse data bytes
|
||||
void Screen_v1w::loadFont(int16 fontId) {
|
||||
debugC(2, kDebugDisplay, "loadFont(%d)", fontId);
|
||||
|
||||
static bool fontLoadedFl[NUM_FONTS] = {false, false, false};
|
||||
|
||||
_fnt = fontId - FIRST_FONT; // Set current font number
|
||||
|
||||
if (fontLoadedFl[_fnt]) // If already loaded, return
|
||||
return;
|
||||
|
||||
fontLoadedFl[_fnt] = true;
|
||||
_vm.file().readUIFItem(fontId, _fontdata[_fnt]);
|
||||
|
||||
// Compile font ptrs. Note: First ptr points to height,width of font
|
||||
_font[_fnt][0] = _fontdata[_fnt]; // Store height,width of fonts
|
||||
|
||||
int16 offset = 2; // Start at fontdata[2] ([0],[1] used for height,width)
|
||||
|
||||
// Setup the font array (127 characters)
|
||||
for (int i = 1; i < 128; i++) {
|
||||
_font[_fnt][i] = _fontdata[_fnt] + offset;
|
||||
byte height = *(_fontdata[_fnt] + offset);
|
||||
byte width = *(_fontdata[_fnt] + offset + 1);
|
||||
|
||||
int16 size = height * ((width + 7) >> 3);
|
||||
for (int j = 0; j < size; j++)
|
||||
Utils::reverseByte(&_fontdata[_fnt][offset + 2 + j]);
|
||||
|
||||
offset += 2 + size;
|
||||
}
|
||||
}
|
||||
} // End of namespace Hugo
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue