MCPcopy Create free account
hub / github.com/OpenFodder/openfodder / Map_Get_Distance_BetweenPoints_Within_Window

Method Map_Get_Distance_BetweenPoints_Within_Window

Source/Fodder.cpp:7474–7515  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7472}
7473
7474int16 cFodder::Map_Get_Distance_BetweenPoints_Within_Window(int16& pX, int16 pY, int16& pX2, int16& pY2) {
7475 const int8* Data24 = mMap_Distance_Calculations;
7476 int16 Data10 = 0;
7477
7478 pX2 -= pX;
7479 if (pX2 < 0)
7480 pX2 = -pX2;
7481
7482 if (pX2 >= getWindowWidth())
7483 goto loc_29EBB;
7484
7485 pY2 -= pY;
7486 if (pY2 < 0)
7487 pY2 = -pY2;
7488
7489 if (pY2 >= getWindowWidth())
7490 goto loc_29EBB;
7491
7492
7493 for (;;) {
7494 if (pX2 <= 0x1F)
7495 if (pY2 <= 0x1F)
7496 break;
7497
7498 pX2 >>= 1;
7499 pY2 >>= 1;
7500 ++Data10;
7501 }
7502 //loc_29E8C
7503 pY2 <<= 5;
7504 pY2 |= pX2;
7505 pX = 0;
7506
7507 pX = Data24[pY2];
7508 pX <<= Data10;
7509 return pX;
7510
7511loc_29EBB:;
7512 pX = 0x3E8;
7513
7514 return 0x3E8;
7515}
7516
7517int16 cFodder::Sprite_Create_Native(sSprite* pSprite, sSprite*& pData2C, sSprite*& pData30) {
7518 int16 Data4;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected