DREAMWEB: 'showframe' overload for this majority of clients that don't need width and height returned

This commit is contained in:
Bertrand Augereau 2011-08-21 17:47:10 +02:00
parent 7393cce711
commit 36dafb3c1f
5 changed files with 13 additions and 12 deletions

View file

@ -166,8 +166,7 @@ void DreamGenContext::showallobs() {
if ((setEntry->type == 0) && (setEntry->priority != 5) && (setEntry->priority != 6)) { if ((setEntry->type == 0) && (setEntry->priority != 5) && (setEntry->priority != 6)) {
x += data.word(kMapadx); x += data.word(kMapadx);
y += data.word(kMapady); y += data.word(kMapady);
uint8 width, height; showframe(frames, x, y, data.word(kCurrentframe), 0);
showframe(frames, x, y, data.word(kCurrentframe), 0, &width, &height);
} else } else
makebackob(setEntry); makebackob(setEntry);
@ -266,7 +265,7 @@ void DreamGenContext::showallfree() {
if ((width != 0) || (height != 0)) { if ((width != 0) || (height != 0)) {
x += data.word(kMapadx); x += data.word(kMapadx);
y += data.word(kMapady); y += data.word(kMapady);
showframe((Frame *)segRef(data.word(kFrsegment)).ptr(0, 0), x, y, data.word(kCurrentframe) & 0xff, 0, &width, &height); showframe((Frame *)segRef(data.word(kFrsegment)).ptr(0, 0), x, y, data.word(kCurrentframe) & 0xff, 0);
ObjPos *objPos = (ObjPos *)segRef(data.word(kBuffers)).ptr(data.word(kListpos), sizeof(ObjPos)); ObjPos *objPos = (ObjPos *)segRef(data.word(kBuffers)).ptr(data.word(kListpos), sizeof(ObjPos));
objPos->xMin = data.byte(kSavex); objPos->xMin = data.byte(kSavex);
objPos->yMin = data.byte(kSavey); objPos->yMin = data.byte(kSavey);

View file

@ -66,8 +66,7 @@ void DreamGenContext::printasprite(const Sprite *sprite) {
c = 8; c = 8;
else else
c = 0; c = 0;
uint8 width, height; showframe((const Frame *)segRef(sprite->frameData()).ptr(0, 0), x, y, sprite->b15, c);
showframe((const Frame *)segRef(sprite->frameData()).ptr(0, 0), x, y, sprite->b15, c, &width, &height);
} }
void DreamGenContext::clearsprites() { void DreamGenContext::clearsprites() {
@ -546,8 +545,7 @@ void DreamGenContext::showreelframe(Reel *reel) {
data.word(kCurrentframe) = reel->frame(); data.word(kCurrentframe) = reel->frame();
Frame *source = findsourceCPP(); Frame *source = findsourceCPP();
uint16 frame = data.word(kCurrentframe) - data.word(kTakeoff); uint16 frame = data.word(kCurrentframe) - data.word(kTakeoff);
uint8 width, height; showframe(source, x, y, frame, 8);
showframe(source, x, y, frame, 8, &width, &height);
} }
void DreamGenContext::showgamereel() { void DreamGenContext::showgamereel() {

View file

@ -894,8 +894,7 @@ void DreamGenContext::crosshair() {
frame = 29; frame = 29;
} }
const Frame *src = (const Frame *)segRef(data.word(kIcons1)).ptr(0, 0); const Frame *src = (const Frame *)segRef(data.word(kIcons1)).ptr(0, 0);
uint8 width, height; showframe(src, kZoomx + 24, kZoomy + 19, frame, 0);
showframe(src, kZoomx + 24, kZoomy + 19, frame, 0, &width, &height);
} }
void DreamGenContext::deltextline() { void DreamGenContext::deltextline() {
@ -1022,9 +1021,8 @@ void DreamGenContext::commandwithob(uint8 command, uint8 type, uint8 index) {
void DreamGenContext::showpanel() { void DreamGenContext::showpanel() {
Frame *frame = (Frame *)segRef(data.word(kIcons1)).ptr(0, sizeof(Frame)); Frame *frame = (Frame *)segRef(data.word(kIcons1)).ptr(0, sizeof(Frame));
uint8 width, height; showframe(frame, 72, 0, 19, 0);
showframe(frame, 72, 0, 19, 0, &width, &height); showframe(frame, 192, 0, 19, 0);
showframe(frame, 192, 0, 19, 0, &width, &height);
} }
void DreamGenContext::blocknametext() { void DreamGenContext::blocknametext() {

View file

@ -69,6 +69,7 @@
Sprite *spritetable(); Sprite *spritetable();
void showframe(); void showframe();
void showframe(const Frame *frameData, uint16 x, uint16 y, uint16 frameNumber, uint8 effectsFlag, uint8 *width, uint8 *height); void showframe(const Frame *frameData, uint16 x, uint16 y, uint16 frameNumber, uint8 effectsFlag, uint8 *width, uint8 *height);
void showframe(const Frame *frameData, uint16 x, uint16 y, uint16 frameNumber, uint8 effectsFlag);
void printasprite(const Sprite *sprite); void printasprite(const Sprite *sprite);
void width160(); void width160();
void multiput(const uint8 *src, uint16 x, uint16 y, uint8 width, uint8 height); void multiput(const uint8 *src, uint16 x, uint16 y, uint8 width, uint8 height);

View file

@ -312,6 +312,11 @@ void DreamGenContext::frameoutv(uint8 *dst, const uint8 *src, uint16 pitch, uint
} }
} }
void DreamGenContext::showframe(const Frame *frameData, uint16 x, uint16 y, uint16 frameNumber, uint8 effectsFlag) {
uint8 width, height;
showframe(frameData, x, y, frameNumber, effectsFlag, &width, &height);
}
void DreamGenContext::showframe(const Frame *frameData, uint16 x, uint16 y, uint16 frameNumber, uint8 effectsFlag, uint8 *width, uint8 *height) { void DreamGenContext::showframe(const Frame *frameData, uint16 x, uint16 y, uint16 frameNumber, uint8 effectsFlag, uint8 *width, uint8 *height) {
const Frame *frame = frameData + frameNumber; const Frame *frame = frameData + frameNumber;
if ((frame->width == 0) && (frame->height == 0)) { if ((frame->width == 0) && (frame->height == 0)) {