diff options
| author | Bendegúz Nagy | 2016-06-27 23:38:37 +0200 | 
|---|---|---|
| committer | Bendegúz Nagy | 2016-08-26 23:02:22 +0200 | 
| commit | 652b2c6f98f291a76397c9035e4f8338b9c792f9 (patch) | |
| tree | f0e9c59a89ded7742f98d5f4aa3464eb11b2bc02 | |
| parent | 703fd8aca2e15edc03aa854365e20bfdcf524add (diff) | |
| download | scummvm-rg350-652b2c6f98f291a76397c9035e4f8338b9c792f9.tar.gz scummvm-rg350-652b2c6f98f291a76397c9035e4f8338b9c792f9.tar.bz2 scummvm-rg350-652b2c6f98f291a76397c9035e4f8338b9c792f9.zip | |
DM: Add F0340_INVENTORY_DrawPanel_ScrollTextLine
| -rw-r--r-- | engines/dm/TODOs/methodtree.txt | 28 | ||||
| -rw-r--r-- | engines/dm/inventory.cpp | 12 | ||||
| -rw-r--r-- | engines/dm/inventory.h | 1 | ||||
| -rw-r--r-- | engines/dm/text.cpp | 4 | ||||
| -rw-r--r-- | engines/dm/text.h | 2 | 
5 files changed, 34 insertions, 13 deletions
| diff --git a/engines/dm/TODOs/methodtree.txt b/engines/dm/TODOs/methodtree.txt index 36237c2205..a672a8a9f3 100644 --- a/engines/dm/TODOs/methodtree.txt +++ b/engines/dm/TODOs/methodtree.txt @@ -45,16 +45,27 @@ F0280_CHAMPION_AddCandidateChampionToParty // done, so-so  				G0035_s_Graphic562_Box_Food // done   				G0036_s_Graphic562_Box_Water // done   				G0037_s_Graphic562_Box_Poisoned // done -  			F0351_INVENTORY_DrawChampionSkillsAndStatistics // skip -----------------  			F0347_INVENTORY_DrawPanel // done -				F0342_INVENTORY_DrawPanel_Object // skip --------------------- -				F0346_INVENTORY_DrawPanel_ResurrectReincarnate // done +				F0342_INVENTORY_DrawPanel_Object +					F0341_INVENTORY_DrawPanel_Scroll +						F0340_INVENTORY_DrawPanel_ScrollTextLine // done +					F0333_INVENTORY_OpenAndDrawChest +					F0303_CHAMPION_GetSkillLevel +					F0332_INVENTORY_DrawIconToViewport +					F0336_INVENTORY_DrawPanel_BuildObjectAttributesString +					F0335_INVENTORY_DrawPanel_ObjectDescriptionString +					F0339_INVENTORY_DrawPanel_ArrowOrEye +					G0430_apc_DirectionNames +					G0034_s_Graphic562_Box_ObjectDescriptionCircle +					G0032_s_Graphic562_Box_Panel +					G0352_apc_ObjectNames +					G0237_as_Graphic559_ObjectInfo +					G0422_i_ObjectDescriptionTextY +				F0346_INVENTORY_DrawPanel_ResurrectReincarnate // done  			F0291_CHAMPION_DrawSlot // done  				F0038_OBJECT_DrawIconInSlotBox // done - -  		F0140_DUNGEON_GetObjectWeight // done  			G0238_as_Graphic559_WeaponInfo // done  				WEAPON_INFO // done @@ -108,8 +119,6 @@ F0280_CHAMPION_AddCandidateChampionToParty // done, so-so  			F0163_DUNGEON_LinkThingToList // done  			G0426_T_OpenChest // done  			G0425_aT_ChestSlots // done - -  		F0395_MENUS_DrawMovementArrows // done  		F0357_COMMAND_DiscardAllInput // skip  		F0098_DUNGEONVIEW_DrawFloorAndCeiling // wat @@ -135,11 +144,11 @@ F0280_CHAMPION_AddCandidateChampionToParty // done, so-so  	G0234_ai_Graphic559_DirectionToStepNorthCount // done  	G0237_as_Graphic559_ObjectInfo // done  	G0038_ai_Graphic562_SlotMasks // done -								 +						 +  F0462_START_StartGame_CPSF  	F0003_MAIN_ProcessNewPartyMap_CPSE // partially done  	F0278_CHAMPION_ResetDataToStartGame // paritally done -  	G0331_B_PressingEye // dm // done  	G0332_B_StopPressingEye // dm // done  	G0333_B_PressingMouth // dm // done @@ -151,6 +160,7 @@ F0462_START_StartGame_CPSF  	G0509_B_ActionAreaContainsIcons // menus // done  	G0599_ui_UseChampionIconOrdinalAsMousePointerBitmap // eventman // done +  F0463_START_InitializeGame_CPSADEF // partially done  	F0267_MOVE_GetMoveResult_CPSCE // skip, really though  	F0357_COMMAND_DiscardAllInput // done diff --git a/engines/dm/inventory.cpp b/engines/dm/inventory.cpp index c02aed4494..1a08022e62 100644 --- a/engines/dm/inventory.cpp +++ b/engines/dm/inventory.cpp @@ -33,7 +33,6 @@  #include "text.h" -  namespace DM {  Box gBoxFloppyZzzCross = Box(174, 218, 2, 12); // @ G0041_s_Graphic562_Box_ViewportFloppyZzzCross @@ -236,4 +235,15 @@ void InventoryMan::closeChest() {  	}  } +void InventoryMan::drawPanelScrollTextLine(int16 yPos, char* text) { +	warning("CHANGE5_03_IMPROVEMENT"); +	for (char* iter = text; *iter != '\0'; ++iter) { +		if ((*iter >= 'A') && (*iter <= 'Z')) { +			*iter -= 64; +		} else if (*iter >= '{') { // this branch is CHANGE5_03_IMPROVEMENT +			*iter -= 96; +		} +	} +	_vm->_textMan->printToViewport(162 - (6 * strlen(text) / 2), yPos, kColorBlack, text, kColorWhite); +}  } diff --git a/engines/dm/inventory.h b/engines/dm/inventory.h index 8457e98faa..fe974b6c1b 100644 --- a/engines/dm/inventory.h +++ b/engines/dm/inventory.h @@ -65,6 +65,7 @@ public:  	void drawPanelResurrectReincarnate(); // @ F0346_INVENTORY_DrawPanel_ResurrectReincarnate  	void drawPanel(); // @ F0347_INVENTORY_DrawPanel  	void closeChest(); // @ F0334_INVENTORY_CloseChest +	void drawPanelScrollTextLine(int16 yPos, char *text); // @ F0340_INVENTORY_DrawPanel_ScrollTextLine  }; diff --git a/engines/dm/text.cpp b/engines/dm/text.cpp index ab22ac473e..f8aabb31df 100644 --- a/engines/dm/text.cpp +++ b/engines/dm/text.cpp @@ -69,8 +69,8 @@ void TextMan::printTextToScreen(uint16 destX, uint16 destY, Color textColor, Col  	printTextToBitmap(_vm->_displayMan->_vgaBuffer, _vm->_displayMan->_screenWidth, destX, destY, textColor, bgColor, text, _vm->_displayMan->_screenHeight, viewport);  } -void TextMan::printToViewport(int16 posX, int16 posY, Color textColor, const char* text) { -	printTextToScreen(posX, posY, textColor, kColorDarkestGray, text, gDungeonViewport); +void TextMan::printToViewport(int16 posX, int16 posY, Color textColor, const char* text, Color bgColor) { +	printTextToScreen(posX, posY, textColor, bgColor, text, gDungeonViewport);  }  void TextMan::printWithTrailingSpaces(byte* destBitmap, int16 destPixelWidth, int16 destX, int16 destY, Color textColor, diff --git a/engines/dm/text.h b/engines/dm/text.h index b03d00a00d..590fade60d 100644 --- a/engines/dm/text.h +++ b/engines/dm/text.h @@ -40,7 +40,7 @@ public:  	void printTextToBitmap(byte *destBitmap, uint16 destPixelWidth, uint16 destX, uint16 destY,  						   Color textColor, Color bgColor, const char *text, uint16 destHeight, Viewport &viewport = gDefultViewPort); // @ F0040_TEXT_Print  	void printTextToScreen(uint16 destX, uint16 destY, Color textColor, Color bgColor, const char *text, Viewport &viewport = gDefultViewPort); // @ F0053_TEXT_PrintToLogicalScreen -	void printToViewport(int16 posX, int16 posY, Color textColor, const char *text); // @ F0052_TEXT_PrintToViewport +	void printToViewport(int16 posX, int16 posY, Color textColor, const char *text, Color bgColor = kColorDarkestGray); // @ F0052_TEXT_PrintToViewport  	void printWithTrailingSpaces(byte *destBitmap, int16 destPixelWidth, int16 destX, int16 destY, Color textColor, Color bgColor,  								 const char *text, int16 strLenght, int16 destHeight, Viewport &viewport = gDefultViewPort); // @ F0041_TEXT_PrintWithTrailingSpaces  	void printWithTrailingSpacesToScreen(int16 destX, int16 destY, Color textColor, Color bgColor, | 
