rendered paste body if (iPlayerPosY > iScreenY-10 || iPlayerPosY < -5 || chopPointInTerrain(&mGround, iPlayerPosX, iPlayerPosY + 10, 0) || chopPointInTerrain(&mRoof, iPlayerPosX ,iPlayerPosY, 1)) { if(!NoCrash) { if (CurrentPlayerLives > 0) { iPlayerPosY = (iScreenY * 4) / 10; CurrentPlayerLives--; rb->snprintf(strLives, sizeof(strLives), "You have %d lives left. Press " ACTIONTEXT " to continue.", CurrentPlayerLives); rb->splash(HZ, strLives); while (true) { button = rb->button_get(true); if (button == ACTION#ifdef ACTION2 || button == ACTION2#endif ){ break; } } } else { chopKillPlayer(); chopDrawScene(); ret = chopMenu(0); if (ret != -1) return ret; } } else { //NoCrash = 0; //DEBUGF("NoCrash = %d;\n", NoCrash); } } for (i=0; i < NUMBER_OF_BLOCKS; i++) //For every drawn block.... if(mBlocks[i].bIsActive == 1){ if(chopBlockCollideWithPlayer(&mBlocks[i])) { //If we have crashed into a block... if (!NoCrash){ if (CurrentPlayerLives > 0) { NoCrash = 1; HitBlockInt = i; CurrentPlayerLives--; rb->snprintf(strLives, sizeof(strLives), "You have %d lives left. Press " ACTIONTEXT " to continue.", CurrentPlayerLives); rb->splash(HZ, strLives); while (true) { button = rb->button_get(true); if (button == ACTION#ifdef ACTION2 || button == ACTION2#endif ){ break; } } } else { chopKillPlayer(); chopDrawScene(); ret = chopMenu(0); if (ret != -1) return ret; } } } else { if(i == HitBlockInt) //If the index of the block is the same as the one we last hit, it has been re-drawn and we are no-longer in the wall. { NoCrash = 0; HitBlockInt = -2; } }}