MCPcopy Create free account
hub / github.com/diasurgical/devilution / CheckBtnUp

Function CheckBtnUp

Source/control.cpp:1045–1118  ·  view source on GitHub ↗

* Check if the mouse is within a control panel button that's flagged. * Takes apropiate action if so. */

Source from the content-addressed store, hash-verified

1043 * Takes apropiate action if so.
1044 */
1045void CheckBtnUp()
1046{
1047 int i;
1048 char gamemenuOff;
1049
1050 gamemenuOff = 1;
1051 drawbtnflag = TRUE;
1052 panbtndown = FALSE;
1053
1054 for (i = 0; i < 8; i++) {
1055 if (!panbtn[i]) {
1056 continue;
1057 }
1058
1059 panbtn[i] = 0;
1060
1061 if (MouseX < PanBtnPos[i][0]
1062 || MouseX > PanBtnPos[i][0] + PanBtnPos[i][2]
1063 || MouseY < PanBtnPos[i][1]
1064 || MouseY > PanBtnPos[i][1] + PanBtnPos[i][3]) {
1065 continue;
1066 }
1067
1068 switch (i) {
1069 case PANBTN_CHARINFO:
1070 questlog = FALSE;
1071 chrflag = !chrflag;
1072 break;
1073 case PANBTN_QLOG:
1074 chrflag = FALSE;
1075 if (!questlog)
1076 StartQuestlog();
1077 else
1078 questlog = FALSE;
1079 break;
1080 case PANBTN_AUTOMAP:
1081 DoAutoMap();
1082 break;
1083 case PANBTN_MAINMENU:
1084 qtextflag = FALSE;
1085 gamemenu_handle_previous();
1086 gamemenuOff = 0;
1087 break;
1088 case PANBTN_INVENTORY:
1089 sbookflag = FALSE;
1090 invflag = invflag == 0;
1091 if (dropGoldFlag) {
1092 dropGoldFlag = FALSE;
1093 dropGoldValue = 0;
1094 }
1095 break;
1096 case PANBTN_SPELLBOOK:
1097 invflag = FALSE;
1098 if (dropGoldFlag) {
1099 dropGoldFlag = FALSE;
1100 dropGoldValue = 0;
1101 }
1102 sbookflag = !sbookflag;

Callers 1

LeftMouseUpFunction · 0.85

Calls 6

StartQuestlogFunction · 0.85
DoAutoMapFunction · 0.85
gamemenu_handle_previousFunction · 0.85
control_reset_talkFunction · 0.85
control_type_messageFunction · 0.85
gamemenu_offFunction · 0.85

Tested by

no test coverage detected