From: Martin Read Date: Tue, 24 Sep 2013 19:43:33 +0000 (+0100) Subject: Added inward spiral path X-Git-Tag: printmsg-purged~70 X-Git-Url: http://git.blackswordsonics.com/?a=commitdiff_plain;h=6f6aa5e6636bc16066c6774099703fd26efd6330;p=victrix-abyssi Added inward spiral path --- diff --git a/fov.c b/fov.c index a204260..e84471d 100644 --- a/fov.c +++ b/fov.c @@ -331,6 +331,66 @@ void resolve_radiance(Radiance *rad) } } break; + case Reo_spiral_in: + for (i = -(rad->radius), j = -(rad->radius), k = rad->radius; k >= 0; ) + { + if (rad->affected[MAX_FOV_RADIUS + i][MAX_FOV_RADIUS + j]) + { + rad->effect_fun(rad->centre_y + i, rad->centre_x + j, rad->pvt); + } + if ((i == 0) && (j == 0)) + { + k = -1; + } + else if (i == -k) + { + if (j == k) + { + ++i; + } + else + { + ++j; + } + } + else if (j == k) + { + if (i == k) + { + --j; + } + else + { + ++i; + } + } + else if (i == k) + { + if (j == -k) + { + --i; + } + else + { + --j; + } + } + else if (j == -k) + { + if (i == 1 - k) + { + --k; + i = -k; + j = -k; + } + else + { + --i; + } + } + } + break; + default: print_msg("FATAL: attempt to use unimplemented radiance evaluation order %d\n", rad->order); abort();