Browse Source

InitRndLocBigObj bin exact

pull/78/head
qndel 7 years ago
parent
commit
98ec9eeeff
  1. 37
      Source/objects.cpp

37
Source/objects.cpp

@ -481,31 +481,32 @@ void __fastcall InitRndLocObj(int min, int max, int objtype)
void __fastcall InitRndLocBigObj(int min, int max, int objtype) void __fastcall InitRndLocBigObj(int min, int max, int objtype)
{ {
int xp; // edi int i, numobjs, xp, yp, xpm1, xpp1, ypm2, ypm1, ypp1;
int yp; // esi
int numobjs; // [esp+4h] [ebp-8h]
int i; // [esp+8h] [ebp-4h]
i = 0;
numobjs = min + random(140, max - min); numobjs = min + random(140, max - min);
i = 0;
if (numobjs > 0) { if (numobjs > 0) {
while (1) { for (;;){
do { do {
xp = random(140, 80) + 16; xp = random(140, 80) + 16;
yp = random(140, 80) + 16; yp = random(140, 80) + 16;
} while (!RndLocOk(xp - 1, yp - 2)); xpm1 = xp - 1;
if (RndLocOk(xp, yp - 2)) { ypm2 = yp - 2;
if (RndLocOk(xp + 1, yp - 2)) /* check */ } while (!RndLocOk(xpm1, ypm2));
{ if (RndLocOk(xp, ypm2)) {
if (RndLocOk(xp - 1, yp - 1)) { xpp1 = xp + 1;
if (RndLocOk(xp, yp - 1)) { if (RndLocOk(xpp1, ypm2)){
if (RndLocOk(xp + 1, yp - 1)) { ypm1 = yp - 1;
if (RndLocOk(xp - 1, yp)) { if (RndLocOk(xpm1, ypm1)) {
if (RndLocOk(xp, ypm1)) {
if (RndLocOk(xpp1, ypm1)) {
if (RndLocOk(xpm1, yp)) {
if (RndLocOk(xp, yp)) { if (RndLocOk(xp, yp)) {
if (RndLocOk(xp + 1, yp)) { if (RndLocOk(xpp1, yp)) {
if (RndLocOk(xp - 1, yp + 1)) { ypp1 = yp + 1;
if (RndLocOk(xp, yp + 1)) { if (RndLocOk(xpm1, ypp1)) {
if (RndLocOk(xp + 1, yp + 1)) { if (RndLocOk(xp, ypp1)) {
if (RndLocOk(xpp1, ypp1)) {
AddObject(objtype, xp, yp); AddObject(objtype, xp, yp);
if (++i >= numobjs) if (++i >= numobjs)
break; break;

Loading…
Cancel
Save