mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-14 13:50:13 +00:00
DM: Add stub methods, clean up warnings and some comments
This commit is contained in:
parent
0f9995851b
commit
ead63373ca
@ -3,9 +3,10 @@ Bugs:
|
||||
Broken colour palette for dungeon and cursor
|
||||
Gui is messed up by drawn spell area line on startup
|
||||
Spellcasting tabs are displayed inproperly, switching between them is possible tho
|
||||
When reordering a champions, the icons in the top right corner ar drawn twice under the cursor
|
||||
|
||||
Logic:
|
||||
End game method is broken
|
||||
F0444_STARTEND_Endgame is broken
|
||||
Items thrown on the right side end up on the left side
|
||||
|
||||
|
||||
@ -23,21 +24,9 @@ Todo:
|
||||
Double check strcat, strstr usages
|
||||
I forgot to add a bunch of warning for show/hide mouse pointer and other mouse functions
|
||||
|
||||
Finish stuff:
|
||||
F0444_STARTEND_Endgame
|
||||
Make missing code warnings to STUB methods
|
||||
Add quit resuest from scummvm
|
||||
f380_processCommandQueue
|
||||
Missing main loop methods
|
||||
Code stuff todo:
|
||||
Complete stub methods
|
||||
Add localization
|
||||
Save file f433_processCommand140_saveGame fails silently
|
||||
|
||||
F0438_STARTEND_OpenEntranceDoors
|
||||
F0442_STARTEND_ProcessCommand202_EntranceDrawCredits
|
||||
G0335_ui_SelectedDialogChoice
|
||||
Add dialogs
|
||||
Add failcheck to saveing and loading
|
||||
|
||||
|
||||
|
||||
Refactoring
|
||||
Places implementing mini mainloop and where input doesn't really matter should call discardInput instead of processInput
|
||||
|
@ -1056,7 +1056,7 @@ void DisplayMan::f110_drawDoorButton(int16 doorButtonOrdinal, int16 viewDoorButt
|
||||
|
||||
void DisplayMan::f565_viewportSetPalette(uint16* middleScreenPalette, uint16* topAndBottomScreen) {
|
||||
if (middleScreenPalette && topAndBottomScreen)
|
||||
debugC(kDMDebugOftenCalledWarning, "MISSING CODE: F0508_AMIGA_BuildPaletteChangeCopperList");
|
||||
f508_buildPaletteChangeCopperList(middleScreenPalette, topAndBottomScreen);
|
||||
|
||||
f566_viewportBlitToScreen();
|
||||
}
|
||||
@ -2045,7 +2045,7 @@ void DisplayMan::f124_drawSquareD1C(Direction dir, int16 posX, int16 posY) {
|
||||
_g296_bitmapViewport, g106_BoxThievesEye_ViewPortVisibleArea, 0, 0,
|
||||
48, k112_byteWidthViewport, k9_ColorGold, 95, k136_heightViewport); /* BUG0_74 */
|
||||
f493_addDerivedBitmap(k1_DerivedBitmapThievesEyeVisibleArea);
|
||||
warning(false, "MISSING CODE: F0480_CACHE_ReleaseBlock");
|
||||
f480_releaseBlock(k1_DerivedBitmapThievesEyeVisibleArea | 0x8000);
|
||||
}
|
||||
return;
|
||||
case k17_DoorFrontElemType:
|
||||
@ -2692,6 +2692,7 @@ uint32 DisplayMan::getCompressedDataSize(uint16 index) {
|
||||
#define kMaskFieldAspectNoMask 255 // @ C255_NO_MASK
|
||||
|
||||
void DisplayMan::f113_drawField(FieldAspect* fieldAspect, Box& box) {
|
||||
warning(false, "STUB METHOD: f113_drawField");
|
||||
DisplayMan &dispMan = *_vm->_displayMan;
|
||||
|
||||
byte *bitmapMask;
|
||||
@ -2705,11 +2706,6 @@ void DisplayMan::f113_drawField(FieldAspect* fieldAspect, Box& box) {
|
||||
dispMan.f130_flipBitmapHorizontal(bitmapMask, fieldAspect->_byteWidth, fieldAspect->_height);
|
||||
}
|
||||
}
|
||||
|
||||
// byte *bitmap = dispMan.f489_getNativeBitmapOrGraphic(k73_FieldTeleporterGraphicIndice + fieldAspect->_nativeBitmapRelativeIndex);
|
||||
warning(false, "MISSING CODE: F0133_VIDEO_BlitBoxFilledWithMaskedBitmap");
|
||||
|
||||
warning(false, "IGNORED CODE: F0491_CACHE_IsDerivedBitmapInCache, F0493_CACHE_AddDerivedBitmap, F0480_CACHE_ReleaseBlock");
|
||||
}
|
||||
|
||||
int16 DisplayMan::f459_getScaledBitmapByteCount(int16 byteWidth, int16 height, int16 scale) {
|
||||
|
@ -750,7 +750,9 @@ public:
|
||||
void f493_addDerivedBitmap(int16 derivedBitmapIndex); // @ F0493_CACHE_AddDerivedBitmap
|
||||
void f480_releaseBlock(uint16 index); // @ F0480_CACHE_ReleaseBlock
|
||||
uint16 f431_getDarkenedColor(uint16 RGBcolor);
|
||||
void f436_STARTEND_FadeToPalette(uint16 *P0849_pui_Palette) { warning(false, "STUB: f436_STARTEND_FadeToPalette"); }
|
||||
void f436_STARTEND_FadeToPalette(uint16 *P0849_pui_Palette) { warning(false, "STUB METHOD: f436_STARTEND_FadeToPalette"); }
|
||||
void f508_buildPaletteChangeCopperList(uint16* middleScreen, uint16* topAndBottom) { warning(false, "STUB METHOD: f508_buildPaletteChangeCopperList"); }// @ F0508_AMIGA_BuildPaletteChangeCopperList
|
||||
void f136_shadeScreenBox(Box* box, Color color) { warning(false, "STUB METHOD: f136_shadeScreenBox"); } // @ F0136_VIDEO_ShadeScreenBox
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -117,14 +117,14 @@ void InventoryMan::f355_toggleInventory(ChampionIndex championIndex) {
|
||||
_vm->_displayMan->_g578_useByteBoxCoordinates = false;
|
||||
_g432_inventoryChampionOrdinal = _vm->M0_indexToOrdinal(championIndex);
|
||||
if (!AL1102_ui_InventoryChampionOrdinal) {
|
||||
warning(false, "MISSING CODE: F0136_VIDEO_ShadeScreenBox");
|
||||
_vm->_displayMan->f136_shadeScreenBox(&g2_BoxMovementArrows, k0_ColorBlack);
|
||||
}
|
||||
L1103_ps_Champion = &_vm->_championMan->_gK71_champions[championIndex];
|
||||
_vm->_displayMan->f466_loadIntoBitmap(k17_InventoryGraphicIndice, _vm->_displayMan->_g296_bitmapViewport);
|
||||
if (_vm->_championMan->_g299_candidateChampionOrdinal) {
|
||||
_vm->_displayMan->f135_fillBoxBitmap(_vm->_displayMan->_g296_bitmapViewport, g41_BoxFloppyZzzCross, k12_ColorDarkestGray, k112_byteWidthViewport, k136_heightViewport);
|
||||
}
|
||||
_vm->_textMan->f52_printToViewport(5, 116, k13_ColorLightestGray, "HEALTH");
|
||||
_vm->_textMan->f52_printToViewport(5, 116, k13_ColorLightestGray, "HEALTH"); // TODO: localization
|
||||
_vm->_textMan->f52_printToViewport(5, 124, k13_ColorLightestGray, "STAMINA");
|
||||
_vm->_textMan->f52_printToViewport(5, 132, k13_ColorLightestGray, "MANA");
|
||||
for (AL1102_ui_SlotIndex = k0_ChampionSlotReadyHand; AL1102_ui_SlotIndex < k30_ChampionSlotChest_1; AL1102_ui_SlotIndex++) {
|
||||
|
@ -36,6 +36,7 @@
|
||||
#include "menus.h"
|
||||
#include "eventman.h"
|
||||
#include "projexpl.h"
|
||||
#include "dialog.h"
|
||||
|
||||
|
||||
namespace DM {
|
||||
@ -141,8 +142,8 @@ LoadgameResponse DMEngine::f435_loadgame(int16 slot) {
|
||||
_timeline->f233_initTimeline();
|
||||
_groupMan->f196_initActiveGroups();
|
||||
|
||||
warning(false, "Disabled code in f435_loadgame");
|
||||
#if 0
|
||||
// always false?
|
||||
if (L1366_B_FadePalette) {
|
||||
_displayMan->f436_STARTEND_FadeToPalette(_displayMan->_g345_aui_BlankBuffer);
|
||||
D26_WaitForVerticalBlank();
|
||||
@ -156,7 +157,7 @@ LoadgameResponse DMEngine::f435_loadgame(int16 slot) {
|
||||
_g526_dungeonId = dmSaveHeader._dungeonId;
|
||||
|
||||
_g524_restartGameAllowed = true;
|
||||
warning(false, "MISSING CDOE: F0427_DIALOG_Draw in f435_loadgame");
|
||||
_dialog->f427_dialogDraw(nullptr, "LOADING GAME . . .", nullptr, nullptr, nullptr, nullptr, true, true, true); // TODO: localization
|
||||
}
|
||||
_championMan->_g303_partyDead = false;
|
||||
|
||||
|
@ -170,7 +170,7 @@ T0386006:
|
||||
box2._y2 = 110;
|
||||
dm.f132_blitToBitmap(bitmapIcon, dm._g348_bitmapScreen, box2, 0, 0, 8, k160_byteWidthScreen, kM1_ColorNoTransparency);
|
||||
if (champion.getAttributes(k0x0008_ChampionAttributeDisableAction) || _vm->_championMan->_g299_candidateChampionOrdinal || _vm->_championMan->_g300_partyIsSleeping) {
|
||||
warning(false, "MISSING CODE: F0136_VIDEO_ShadeScreenBox");
|
||||
_vm->_displayMan->f136_shadeScreenBox(&box, k0_ColorBlack);
|
||||
}
|
||||
}
|
||||
|
||||
@ -183,10 +183,10 @@ void MenuMan::f456_drawDisabledMenu() {
|
||||
_vm->_inventoryMan->f334_closeChest();
|
||||
}
|
||||
} else {
|
||||
warning(false, "MISSING CODE: F0136_VIDEO_ShadeScreenBox");
|
||||
_vm->_displayMan->f136_shadeScreenBox(&g2_BoxMovementArrows, k0_ColorBlack);
|
||||
}
|
||||
warning(false, "MISSING CODE: F0136_VIDEO_ShadeScreenBox");
|
||||
warning(false, "MISSING CODE: F0136_VIDEO_ShadeScreenBox");
|
||||
_vm->_displayMan->f136_shadeScreenBox(&g0_BoxSpellArea, k0_ColorBlack);
|
||||
_vm->_displayMan->f136_shadeScreenBox(&g1_BoxActionArea, k0_ColorBlack);
|
||||
_vm->_eventMan->f67_setMousePointerToNormal(k0_pointerArrow);
|
||||
}
|
||||
}
|
||||
|
@ -139,9 +139,10 @@ void TextMan::f45_messageAreaCreateNewRow() {
|
||||
uint16 L0029_ui_RowIndex;
|
||||
|
||||
if (_g358_messageAreaCursorRow == 3) {
|
||||
warning(false, "MISSING CODE: F0561_SCROLLER_IsTextScrolling");
|
||||
f561_isTextScrolling(&_gK60_s_TextScroller, true);
|
||||
memset(_g356_bitmapMessageAreaNewRow, k0_ColorBlack, 320 * 7);
|
||||
warning(false, "MISSING CODE: F0560_SCROLLER_SetCommand");
|
||||
f560_SCROLLER_setCommand(&_gK60_s_TextScroller, 1);
|
||||
|
||||
for (L0029_ui_RowIndex = 0; L0029_ui_RowIndex < 3; L0029_ui_RowIndex++) {
|
||||
_g360_messageAreaRowExpirationTime[L0029_ui_RowIndex] = _g360_messageAreaRowExpirationTime[L0029_ui_RowIndex + 1];
|
||||
}
|
||||
@ -155,13 +156,12 @@ void TextMan::f46_messageAreaPrintString(Color color, const char* string) {
|
||||
int16 L0030_i_StringLength;
|
||||
|
||||
L0030_i_StringLength = strlen(string);
|
||||
warning(false, "MISSING CODE: F0561_SCROLLER_IsTextScrolling");
|
||||
if (true) { // there is a test here with F0561_SCROLLER_IsTextScrolling
|
||||
if (f561_isTextScrolling(&_gK60_s_TextScroller, false)) {
|
||||
f53_printToLogicalScreen(_g359_messageAreaCursorColumn * 6, (_g358_messageAreaCursorRow * 7 - 6) + 177, color, k0_ColorBlack, string);
|
||||
} else {
|
||||
f40_printTextToBitmap(_g356_bitmapMessageAreaNewRow, k160_byteWidthScreen, _g359_messageAreaCursorColumn * 6, 5, color, k0_ColorBlack, string, 7);
|
||||
warning(false, "MISSING CODE: F0561_SCROLLER_IsTextScrolling");
|
||||
warning(false, "MISSING CODE: F0560_SCROLLER_SetCommand");
|
||||
if(f561_isTextScrolling(&_gK60_s_TextScroller, false))
|
||||
f560_SCROLLER_setCommand(&_gK60_s_TextScroller, 1);
|
||||
}
|
||||
_g359_messageAreaCursorColumn += L0030_i_StringLength;
|
||||
_g360_messageAreaRowExpirationTime[_g358_messageAreaCursorRow] = _vm->_g313_gameTime + 200;
|
||||
@ -206,7 +206,7 @@ void TextMan::f44_messageAreaClearExpiredRows() {
|
||||
if ((L0027_l_ExpirationTime == -1) || (L0027_l_ExpirationTime > _vm->_g313_gameTime))
|
||||
continue;
|
||||
L0028_s_Box._y2 = (L0028_s_Box._y1 = 172 + (L0026_ui_RowIndex * 7)) + 6;
|
||||
warning(false, "MISSING CODE:F0561_SCROLLER_IsTextScrolling(&K0060_s_TextScroller, true);");
|
||||
f561_isTextScrolling(&_gK60_s_TextScroller, true);
|
||||
_vm->_displayMan->f135_fillBoxBitmap(_vm->_displayMan->_g348_bitmapScreen, L0028_s_Box, k0_ColorBlack, k160_byteWidthScreen, k200_heightScreen);
|
||||
_g360_messageAreaRowExpirationTime[L0026_ui_RowIndex] = -1;
|
||||
}
|
||||
|
@ -33,6 +33,10 @@
|
||||
|
||||
namespace DM {
|
||||
|
||||
struct TextScroller {
|
||||
// Placeholder, empty for now
|
||||
}; // @ Text_Scroller
|
||||
|
||||
class TextMan {
|
||||
DMEngine *_vm;
|
||||
int16 _g359_messageAreaCursorColumn; // @ G0359_i_MessageAreaCursorColumn
|
||||
@ -40,14 +44,16 @@ class TextMan {
|
||||
int32 _g360_messageAreaRowExpirationTime[4]; // @ G0360_al_MessageAreaRowExpirationTime
|
||||
byte *_g356_bitmapMessageAreaNewRow; // @ G0356_puc_Bitmap_MessageAreaNewRow
|
||||
public:
|
||||
TextScroller _gK60_s_TextScroller;
|
||||
|
||||
explicit TextMan(DMEngine *vm);
|
||||
~TextMan();
|
||||
void f40_printTextToBitmap(byte *destBitmap, uint16 destByteWidth, int16 destX, int16 destY,
|
||||
Color textColor, Color bgColor, const char *text, uint16 destHeight); // @ F0040_TEXT_Print
|
||||
Color textColor, Color bgColor, const char *text, uint16 destHeight); // @ F0040_TEXT_Print
|
||||
void f53_printToLogicalScreen(uint16 destX, uint16 destY, Color textColor, Color bgColor, const char *text); // @ F0053_TEXT_PrintToLogicalScreen
|
||||
void f52_printToViewport(int16 posX, int16 posY, Color textColor, const char *text, Color bgColor = k12_ColorDarkestGray); // @ F0052_TEXT_PrintToViewport
|
||||
void f41_printWithTrailingSpaces(byte *destBitmap, int16 destByteWidth, int16 destX, int16 destY, Color textColor, Color bgColor,
|
||||
const char *text, int16 strLenght, int16 destHeight); // @ F0041_TEXT_PrintWithTrailingSpaces
|
||||
const char *text, int16 strLenght, int16 destHeight); // @ F0041_TEXT_PrintWithTrailingSpaces
|
||||
void f51_messageAreaPrintLineFeed(); // @ F0051_TEXT_MESSAGEAREA_PrintLineFeed
|
||||
void f47_messageAreaPrintMessage(Color color, const char *string); // @ F0047_TEXT_MESSAGEAREA_PrintMessage
|
||||
void f45_messageAreaCreateNewRow(); // @ F0045_TEXT_MESSAGEAREA_CreateNewRow
|
||||
@ -56,7 +62,10 @@ public:
|
||||
void f42_messageAreaMoveCursor(int16 column, int16 row); // @ F0042_TEXT_MESSAGEAREA_MoveCursor
|
||||
void f44_messageAreaClearExpiredRows(); // @ F0044_TEXT_MESSAGEAREA_ClearExpiredRows
|
||||
void f443_endgamePrintString(int16 x, int16 y, Color textColor, char *text); // @ F0443_STARTEND_EndgamePrintString
|
||||
|
||||
bool f561_isTextScrolling(TextScroller *scroller, bool waitEndOfScrolling) {
|
||||
warning(false, "STUB METHOD: f561_isTextScrolling"); return true;
|
||||
} // @ F0561_SCROLLER_IsTextScrolling
|
||||
void f560_SCROLLER_setCommand(TextScroller *scroller, int16 command) { warning(false, "STUB METHOD: f560_SCROLLER_setCommand"); } // @ F0560_SCROLLER_SetCommand
|
||||
};
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user