| 1179 | } |
| 1180 | |
| 1181 | bool GetDebugGridText(Point dungeonCoords, char *debugGridTextBuffer) |
| 1182 | { |
| 1183 | int info = 0; |
| 1184 | int blankValue = 0; |
| 1185 | Point megaCoords = dungeonCoords.worldToMega(); |
| 1186 | switch (SelectedDebugGridTextItem) { |
| 1187 | case DebugGridTextItem::coords: |
| 1188 | *BufCopy(debugGridTextBuffer, dungeonCoords.x, ":", dungeonCoords.y) = '\0'; |
| 1189 | return true; |
| 1190 | case DebugGridTextItem::cursorcoords: |
| 1191 | if (dungeonCoords != cursPosition) |
| 1192 | return false; |
| 1193 | *BufCopy(debugGridTextBuffer, dungeonCoords.x, ":", dungeonCoords.y) = '\0'; |
| 1194 | return true; |
| 1195 | case DebugGridTextItem::objectindex: { |
| 1196 | info = 0; |
| 1197 | Object *object = FindObjectAtPosition(dungeonCoords); |
| 1198 | if (object != nullptr) { |
| 1199 | info = static_cast<int>(object->_otype); |
| 1200 | } |
| 1201 | break; |
| 1202 | } |
| 1203 | case DebugGridTextItem::dPiece: |
| 1204 | info = dPiece[dungeonCoords.x][dungeonCoords.y]; |
| 1205 | break; |
| 1206 | case DebugGridTextItem::dTransVal: |
| 1207 | info = dTransVal[dungeonCoords.x][dungeonCoords.y]; |
| 1208 | break; |
| 1209 | case DebugGridTextItem::dLight: |
| 1210 | info = dLight[dungeonCoords.x][dungeonCoords.y]; |
| 1211 | blankValue = LightsMax; |
| 1212 | break; |
| 1213 | case DebugGridTextItem::dPreLight: |
| 1214 | info = dPreLight[dungeonCoords.x][dungeonCoords.y]; |
| 1215 | blankValue = LightsMax; |
| 1216 | break; |
| 1217 | case DebugGridTextItem::dFlags: |
| 1218 | info = static_cast<int>(dFlags[dungeonCoords.x][dungeonCoords.y]); |
| 1219 | break; |
| 1220 | case DebugGridTextItem::dPlayer: |
| 1221 | info = dPlayer[dungeonCoords.x][dungeonCoords.y]; |
| 1222 | break; |
| 1223 | case DebugGridTextItem::dMonster: |
| 1224 | info = dMonster[dungeonCoords.x][dungeonCoords.y]; |
| 1225 | break; |
| 1226 | case DebugGridTextItem::dCorpse: |
| 1227 | info = dCorpse[dungeonCoords.x][dungeonCoords.y]; |
| 1228 | break; |
| 1229 | case DebugGridTextItem::dItem: |
| 1230 | info = dItem[dungeonCoords.x][dungeonCoords.y]; |
| 1231 | break; |
| 1232 | case DebugGridTextItem::dSpecial: |
| 1233 | info = dSpecial[dungeonCoords.x][dungeonCoords.y]; |
| 1234 | break; |
| 1235 | case DebugGridTextItem::dObject: |
| 1236 | info = dObject[dungeonCoords.x][dungeonCoords.y]; |
| 1237 | break; |
| 1238 | case DebugGridTextItem::Solid: |
no test coverage detected