From 976e08fe977ea12b7f8fb436d0f592f146829a08 Mon Sep 17 00:00:00 2001 From: water111 <48171810+water111@users.noreply.github.com> Date: Wed, 29 Mar 2023 20:28:48 -0400 Subject: [PATCH] [jak2] add vortex renderer (#2441) Add the vortex renderer. The vortex texture isn't there yet (it uses the same texture as clouds), so it uses a checkerboard. But the colors/vertices seem right. --- decompiler/config/jak2/all-types.gc | 6 +- decompiler/config/jak2/ntsc_v1/hacks.jsonc | 5 +- .../config/jak2/ntsc_v1/label_types.jsonc | 3 +- .../config/jak2/ntsc_v1/type_casts.jsonc | 36 + decompiler/data/game_text.cpp | 4 +- game/CMakeLists.txt | 1 + .../opengl_renderer/DirectRenderer.cpp | 3 + game/mips2c/jak2_functions/vortex.cpp | 362 +++ game/mips2c/mips2c_table.cpp | 8 +- goal_src/jak2/engine/draw/drawable.gc | 4 +- goal_src/jak2/levels/intro/vortex-data.gc | 2651 ++++++++++++++++ goal_src/jak2/levels/intro/vortex.gc | 184 ++ .../jak2/levels/intro/vortex-data_REF.gc | 2710 +++++++++++++++++ .../reference/jak2/levels/intro/vortex_REF.gc | 201 ++ test/offline/config/jak2/config.jsonc | 3 +- 15 files changed, 6171 insertions(+), 10 deletions(-) create mode 100644 game/mips2c/jak2_functions/vortex.cpp create mode 100644 test/decompiler/reference/jak2/levels/intro/vortex-data_REF.gc create mode 100644 test/decompiler/reference/jak2/levels/intro/vortex_REF.gc diff --git a/decompiler/config/jak2/all-types.gc b/decompiler/config/jak2/all-types.gc index 7db65e0cc..2c27fa3bd 100644 --- a/decompiler/config/jak2/all-types.gc +++ b/decompiler/config/jak2/all-types.gc @@ -38780,10 +38780,10 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (define-extern sort-vortex-data function) -;; (define-extern init-vortex-regs function) +(define-extern init-vortex-regs (function none)) ;; (define-extern draw-large-polygon-vortex function) -;; (define-extern render-vortex-quad function) -;; (define-extern update-vortex-data function) +(define-extern render-vortex-quad (function vortex-vertex dma-buffer vector none)) +(define-extern update-vortex-data (function float none)) (define-extern draw-vortex (function none)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/decompiler/config/jak2/ntsc_v1/hacks.jsonc b/decompiler/config/jak2/ntsc_v1/hacks.jsonc index 3839443fd..9231600b8 100644 --- a/decompiler/config/jak2/ntsc_v1/hacks.jsonc +++ b/decompiler/config/jak2/ntsc_v1/hacks.jsonc @@ -719,7 +719,10 @@ "ripple-execute-init", "ripple-apply-wave-table", "ripple-matrix-scale", - "(method 53 squid)" + "(method 53 squid)", + "init-vortex-regs", + "render-vortex-quad", + "draw-large-polygon-vortex" ], "mips2c_jump_table_functions": {}, diff --git a/decompiler/config/jak2/ntsc_v1/label_types.jsonc b/decompiler/config/jak2/ntsc_v1/label_types.jsonc index 783dd38b7..6d4086e72 100644 --- a/decompiler/config/jak2/ntsc_v1/label_types.jsonc +++ b/decompiler/config/jak2/ntsc_v1/label_types.jsonc @@ -1696,5 +1696,6 @@ ], "mog2-course": [["L295", "uint64", true]], "jinx2-course": [["L306", "uint64", true]], - "grim2-course": [["L283", "uint64", true]] + "grim2-course": [["L283", "uint64", true]], + "vortex": [["L29", "vector"]] } diff --git a/decompiler/config/jak2/ntsc_v1/type_casts.jsonc b/decompiler/config/jak2/ntsc_v1/type_casts.jsonc index d0e2ca092..c68d4056b 100644 --- a/decompiler/config/jak2/ntsc_v1/type_casts.jsonc +++ b/decompiler/config/jak2/ntsc_v1/type_casts.jsonc @@ -11015,5 +11015,41 @@ [[68, 75], "a0", "dma-packet"], [[79, 86], "a0", "(pointer uint32)"], [[87, 94], "a0", "(pointer vif-tag)"] + ], + "init-vortex-polys": [ + [[34, 40], "t0", "(pointer float)"] + ], + "draw-vortex": [ + [[31, 38], "a0", "dma-packet"], + [[40, 47], "a0", "gs-gif-tag"], + [51, "a0", "(pointer gs-zbuf)"], + [53, "a0", "(pointer gs-reg64)"], + [55, "a0", "(pointer gs-test)"], + [57, "a0", "(pointer gs-reg64)"], + [59, "a0", "(pointer gs-rgbaq)"], + [61, "a0", "(pointer gs-reg64)"], + [70, "v1", "(pointer uint128)"], + [[75, 82], "a0", "vector4w"], + [[83, 89], "v1", "vector4w"], + [[93, 100], "a0", "dma-packet"], + [[102, 109], "a0", "gs-gif-tag"], + [125, "s2", "(pointer gs-tex0)"], + [127, "s2", "(pointer gs-reg64)"], + [129, "s2", "(pointer gs-tex1)"], + [131, "s2", "(pointer gs-reg64)"], + [132, "s2", "(pointer gs-clamp)"], + [134, "s2", "(pointer gs-reg64)"], + [136, "s2", "(pointer gs-alpha)"], + [138, "s2", "(pointer gs-reg64)"], + [139, "s2", "(pointer uint64)"], + [141, "s2", "(pointer gs-reg64)"], + [[154, 191], "s3", "dma-packet"], + [[192, 199], "a0", "dma-packet"], + [[201, 208], "a0", "gs-gif-tag"], + [212, "a0", "(pointer gs-alpha)"], + [214, "a0", "(pointer gs-reg64)"], + [216, "a0", "(pointer uint64)"], + [218, "a0", "(pointer gs-reg64)"], + [[227, 264], "s3", "dma-packet"] ] } diff --git a/decompiler/data/game_text.cpp b/decompiler/data/game_text.cpp index 7bac33d1b..e68544088 100644 --- a/decompiler/data/game_text.cpp +++ b/decompiler/data/game_text.cpp @@ -435,7 +435,7 @@ std::vector process_spool_subtitles(ObjectFileData& data, } std::string write_spool_subtitles( - GameTextVersion version, + GameTextVersion, const fs::path& image_out, const std::unordered_map>& data) { // write! @@ -469,7 +469,7 @@ std::string write_spool_subtitles( if (dump_images) { std::vector rgba_out; rgba_out.resize(msg.w * msg.h); - for (int px = 0; px < rgba_out.size(); ++px) { + for (int px = 0; px < (int)rgba_out.size(); ++px) { int idx = px & 1 ? msg.data[px / 2] >> 4 : msg.data[px / 2] & 0xf; rgba_out.at(px) = msg.palette[idx]; } diff --git a/game/CMakeLists.txt b/game/CMakeLists.txt index 2b46b552c..d9e3e33b0 100644 --- a/game/CMakeLists.txt +++ b/game/CMakeLists.txt @@ -100,6 +100,7 @@ set(RUNTIME_SOURCE mips2c/jak2_functions/sparticle_launcher.cpp mips2c/jak2_functions/spatial_hash.cpp mips2c/jak2_functions/texture.cpp + mips2c/jak2_functions/vortex.cpp mips2c/jak2_functions/ocean.cpp mips2c/jak2_functions/ocean_vu0.cpp mips2c/jak2_functions/merc_blend_shape.cpp diff --git a/game/graphics/opengl_renderer/DirectRenderer.cpp b/game/graphics/opengl_renderer/DirectRenderer.cpp index 81e9f9860..b43a05e55 100644 --- a/game/graphics/opengl_renderer/DirectRenderer.cpp +++ b/game/graphics/opengl_renderer/DirectRenderer.cpp @@ -726,6 +726,9 @@ void DirectRenderer::handle_ad(const u8* data, ASSERT(render_state->version == GameVersion::Jak2); // hardcoded jak 2 scissor vals in handle handle_xyoffset(value); break; + case GsRegisterAddress::COLCLAMP: + ASSERT(value == 1); + break; default: ASSERT_MSG(false, fmt::format("Address {} is not supported", register_address_name(addr))); } diff --git a/game/mips2c/jak2_functions/vortex.cpp b/game/mips2c/jak2_functions/vortex.cpp new file mode 100644 index 000000000..ba4670e3e --- /dev/null +++ b/game/mips2c/jak2_functions/vortex.cpp @@ -0,0 +1,362 @@ +//--------------------------MIPS2C--------------------- +// clang-format off +#include "game/mips2c/mips2c_private.h" +#include "game/kernel/jak2/kscheme.h" +#include "game/mips2c/jak2_functions/sky.h" + +using ::jak2::intern_from_c; +namespace Mips2C::jak2 { +namespace init_vortex_regs { +struct Cache { + void* math_camera; // *math-camera* + void* sky_work; // *sky-work* +} cache; + +u64 execute(void* ctxt) { + auto* c = (ExecutionContext*)ctxt; + c->copy_vfs_from_other(&sky_regs_vfs); + c->load_symbol2(v1, cache.math_camera); // lw v1, *math-camera*(s7) + c->load_symbol2(a0, cache.sky_work); // lw a0, *sky-work*(s7) + c->daddiu(a1, a0, 1008); // daddiu a1, a0, 1008 + c->lwc1(f0, 908, v1); // lwc1 f0, 908(v1) + c->swc1(f0, 0, a1); // swc1 f0, 0(a1) + c->lwc1(f0, 128, v1); // lwc1 f0, 128(v1) + c->swc1(f0, 4, a1); // swc1 f0, 4(a1) + c->lwc1(f0, 124, v1); // lwc1 f0, 124(v1) + c->swc1(f0, 8, a1); // swc1 f0, 8(a1) + c->lui(a2, 17727); // lui a2, 17727 + c->ori(a2, a2, 61440); // ori a2, a2, 61440 + c->mtc1(f0, a2); // mtc1 f0, a2 + c->swc1(f0, 12, a1); // swc1 f0, 12(a1) + c->lqc2(vf31, 572, v1); // lqc2 vf31, 572(v1) + c->lqc2(vf30, 588, v1); // lqc2 vf30, 588(v1) + c->lqc2(vf29, 604, v1); // lqc2 vf29, 604(v1) + c->lqc2(vf28, 620, v1); // lqc2 vf28, 620(v1) + c->lqc2(vf26, 796, v1); // lqc2 vf26, 796(v1) + c->lqc2(vf14, 780, v1); // lqc2 vf14, 780(v1) + c->lqc2(vf25, 812, v1); // lqc2 vf25, 812(v1) + c->lqc2(vf13, 1008, a0); // lqc2 vf13, 1008(a0) + c->lqc2(vf27, 992, a0); // lqc2 vf27, 992(a0) + c->vmove(DEST::xyzw, vf24, vf0); // vmove.xyzw vf24, vf0 + c->mov128_gpr_vf(v1, vf24); // qmfc2.i v1, vf24 + c->gprs[v0].du64[0] = 0; // or v0, r0, r0 + //jr ra // jr ra + c->daddu(sp, sp, r0); // daddu sp, sp, r0 + goto end_of_function; // return + + // nop // sll r0, r0, 0 + // nop // sll r0, r0, 0 + end_of_function: + sky_regs_vfs.copy_vfs_from_other(c); + return c->gprs[v0].du64[0]; +} + +void link() { + cache.math_camera = intern_from_c("*math-camera*").c(); + cache.sky_work = intern_from_c("*sky-work*").c(); + gLinkedFunctionTable.reg("init-vortex-regs", execute, 128); +} + +} // namespace init_vortex_regs +} // namespace Mips2C + +//--------------------------MIPS2C--------------------- +// clang-format off +#include "game/mips2c/mips2c_private.h" +#include "game/kernel/jak2/kscheme.h" +using ::jak2::intern_from_c; +namespace Mips2C::jak2 { +namespace draw_large_polygon_vortex { +struct Cache { + void* clip_polygon_against_negative_hyperplane; // clip-polygon-against-negative-hyperplane + void* clip_polygon_against_positive_hyperplane; // clip-polygon-against-positive-hyperplane +} cache; + +u64 execute(void* ctxt) { + auto* c = (ExecutionContext*)ctxt; + bool bc = false; + u32 call_addr = 0; + // nop // sll r0, r0, 0 + c->daddiu(sp, sp, -8); // daddiu sp, sp, -8 + c->mov64(t6, s7); // or t6, s7, r0 + c->sd(ra, 0, sp); // sd ra, 0(sp) + c->load_symbol2(t9, cache.clip_polygon_against_positive_hyperplane);// lw t9, clip-polygon-against-positive-hyperplane(s7) + c->mov64(a2, t4); // or a2, t4, r0 + c->mov64(a3, t5); // or a3, t5, r0 + call_addr = c->gprs[t9].du32[0]; // function call: + c->daddu(t2, a2, r0); // daddu t2, a2, r0 + // c->jalr(call_addr); // jalr ra, t9 + clip_polygon_against_positive_hyperplane::execute(ctxt); + bc = c->sgpr64(t0) == 0; // beq t0, r0, L15 + // nop // sll r0, r0, 0 + if (bc) {goto block_11;} // branch non-likely + + c->mov64(a2, t5); // or a2, t5, r0 + c->mov64(a3, t4); // or a3, t4, r0 + call_addr = c->gprs[t9].du32[0]; // function call: + c->daddiu(t2, a2, 4); // daddiu t2, a2, 4 + // c->jalr(call_addr); // jalr ra, t9 + clip_polygon_against_positive_hyperplane::execute(ctxt); + bc = c->sgpr64(t0) == 0; // beq t0, r0, L15 + c->load_symbol2(t9, cache.clip_polygon_against_negative_hyperplane);// lw t9, clip-polygon-against-negative-hyperplane(s7) + if (bc) {goto block_11;} // branch non-likely + + c->mov64(a2, t4); // or a2, t4, r0 + c->mov64(a3, t5); // or a3, t5, r0 + call_addr = c->gprs[t9].du32[0]; // function call: + c->daddu(t2, a2, r0); // daddu t2, a2, r0 + // c->jalr(call_addr); // jalr ra, t9 + clip_polygon_against_negative_hyperplane::execute(ctxt); + bc = c->sgpr64(t0) == 0; // beq t0, r0, L15 + // nop // sll r0, r0, 0 + if (bc) {goto block_11;} // branch non-likely + + c->mov64(a2, t5); // or a2, t5, r0 + c->mov64(a3, t4); // or a3, t4, r0 + call_addr = c->gprs[t9].du32[0]; // function call: + c->daddiu(t2, a2, 4); // daddiu t2, a2, 4 + // c->jalr(call_addr); // jalr ra, t9 + clip_polygon_against_negative_hyperplane::execute(ctxt); + bc = c->sgpr64(t0) == 0; // beq t0, r0, L15 + c->lw(a3, 4, a1); // lw a3, 4(a1) + if (bc) {goto block_11;} // branch non-likely + + bc = c->sgpr64(t6) == c->sgpr64(s7); // beq t6, s7, L13 + c->mov64(a2, t4); // or a2, t4, r0 + if (bc) {goto block_8;} // branch non-likely + + c->sqc2(vf27, 0, a3); // sqc2 vf27, 0(a3) + c->daddiu(a3, a3, 16); // daddiu a3, a3, 16 + c->sw(t0, -16, a3); // sw t0, -16(a3) + // nop // sll r0, r0, 0 + + block_6: + c->lqc2(vf1, 0, a2); // lqc2 vf1, 0(a2) + // nop // sll r0, r0, 0 + c->lqc2(vf2, 16, a2); // lqc2 vf2, 16(a2) + // nop // sll r0, r0, 0 + c->lqc2(vf3, 32, a2); // lqc2 vf3, 32(a2) + c->vdiv(vf0, BC::w, vf1, BC::w); // vdiv Q, vf0.w, vf1.w + c->vmul(DEST::xyzw, vf1, vf1, vf26); // vmul.xyzw vf1, vf1, vf26 + // nop // sll r0, r0, 0 + c->vftoi0(DEST::xyzw, vf3, vf3); // vftoi0.xyzw vf3, vf3 + // nop // sll r0, r0, 0 + c->vadd(DEST::xyzw, vf2, vf2, vf24); // vadd.xyzw vf2, vf2, vf24 + // nop // sll r0, r0, 0 + c->vwaitq(); // vwaitq + // nop // sll r0, r0, 0 + c->vmulq(DEST::xyz, vf1, vf1); // vmulq.xyz vf1, vf1, Q + c->sqc2(vf3, 16, a3); // sqc2 vf3, 16(a3) + c->vmulq(DEST::xyzw, vf2, vf2); // vmulq.xyzw vf2, vf2, Q + c->daddiu(a2, a2, 48); // daddiu a2, a2, 48 + c->vadd(DEST::xyzw, vf1, vf1, vf25); // vadd.xyzw vf1, vf1, vf25 + c->daddiu(a3, a3, 48); // daddiu a3, a3, 48 + c->vmax_bc(DEST::z, BC::z, vf1, vf1, vf0); // vmaxz.z vf1, vf1, vf0 + // nop // sll r0, r0, 0 + c->vmini_bc(DEST::w, BC::z, vf1, vf1, vf13); // vminiz.w vf1, vf1, vf13 + // nop // sll r0, r0, 0 + c->vmax_bc(DEST::w, BC::y, vf1, vf1, vf13); // vmaxy.w vf1, vf1, vf13 + // nop // sll r0, r0, 0 + c->sqc2(vf2, -48, a3); // sqc2 vf2, -48(a3) + c->daddiu(t0, t0, -1); // daddiu t0, t0, -1 + c->vftoi4(DEST::xyzw, vf1, vf1); // vftoi4.xyzw vf1, vf1 + // nop // sll r0, r0, 0 + bc = c->sgpr64(t0) != 0; // bne t0, r0, L12 + c->sqc2(vf1, -16, a3); // sqc2 vf1, -16(a3) + if (bc) {goto block_6;} // branch non-likely + + c->sw(a3, 4, a1); // sw a3, 4(a1) + // nop // sll r0, r0, 0 + c->ld(ra, 0, sp); // ld ra, 0(sp) + c->daddiu(v0, s7, 4); // daddiu v0, s7, 4 + //jr ra // jr ra + c->daddiu(sp, sp, 8); // daddiu sp, sp, 8 + goto end_of_function; // return + + + block_8: + c->sqc2(vf27, 0, a3); // sqc2 vf27, 0(a3) + c->daddiu(a3, a3, 16); // daddiu a3, a3, 16 + c->sw(t0, -16, a3); // sw t0, -16(a3) + // nop // sll r0, r0, 0 + c->sqc2(vf15, 0, a2); // sqc2 vf15, 0(a2) + // nop // sll r0, r0, 0 + c->sqc2(vf15, 192, a2); // sqc2 vf15, 192(a2) + // nop // sll r0, r0, 0 + c->sqc2(vf16, 48, a2); // sqc2 vf16, 48(a2) + // nop // sll r0, r0, 0 + c->sqc2(vf17, 96, a2); // sqc2 vf17, 96(a2) + // nop // sll r0, r0, 0 + c->sqc2(vf18, 144, a2); // sqc2 vf18, 144(a2) + // nop // sll r0, r0, 0 + + block_9: + c->lqc2(vf1, 0, a2); // lqc2 vf1, 0(a2) + // nop // sll r0, r0, 0 + c->lqc2(vf3, 32, a2); // lqc2 vf3, 32(a2) + // nop // sll r0, r0, 0 + c->lqc2(vf2, 16, a2); // lqc2 vf2, 16(a2) + c->vdiv(vf13, BC::x, vf1, BC::w); // vdiv Q, vf13.x, vf1.w + c->vftoi0(DEST::xyzw, vf3, vf3); // vftoi0.xyzw vf3, vf3 + // nop // sll r0, r0, 0 + c->vadd(DEST::xyzw, vf2, vf2, vf24); // vadd.xyzw vf2, vf2, vf24 + // nop // sll r0, r0, 0 + c->vwaitq(); // vwaitq + // nop // sll r0, r0, 0 + c->vmulq(DEST::xyz, vf1, vf1); // vmulq.xyz vf1, vf1, Q + c->sqc2(vf3, 16, a3); // sqc2 vf3, 16(a3) + c->vmulq(DEST::xyzw, vf2, vf2); // vmulq.xyzw vf2, vf2, Q + c->daddiu(a2, a2, 48); // daddiu a2, a2, 48 + c->vadd(DEST::xyzw, vf1, vf1, vf25); // vadd.xyzw vf1, vf1, vf25 + c->daddiu(a3, a3, 48); // daddiu a3, a3, 48 + c->vmax_bc(DEST::z, BC::z, vf1, vf1, vf0); // vmaxz.z vf1, vf1, vf0 + // nop // sll r0, r0, 0 + c->vmini_bc(DEST::w, BC::z, vf1, vf1, vf13); // vminiz.w vf1, vf1, vf13 + // nop // sll r0, r0, 0 + c->vmax_bc(DEST::w, BC::y, vf1, vf1, vf13); // vmaxy.w vf1, vf1, vf13 + // nop // sll r0, r0, 0 + c->sqc2(vf2, -48, a3); // sqc2 vf2, -48(a3) + c->daddiu(t0, t0, -1); // daddiu t0, t0, -1 + c->vftoi4(DEST::xyzw, vf1, vf1); // vftoi4.xyzw vf1, vf1 + // nop // sll r0, r0, 0 + bc = c->sgpr64(t0) != 0; // bne t0, r0, L14 + c->sqc2(vf1, -16, a3); // sqc2 vf1, -16(a3) + if (bc) {goto block_9;} // branch non-likely + + c->sw(a3, 4, a1); // sw a3, 4(a1) + // nop // sll r0, r0, 0 + c->ld(ra, 0, sp); // ld ra, 0(sp) + c->daddiu(v0, s7, 4); // daddiu v0, s7, 4 + //jr ra // jr ra + c->daddiu(sp, sp, 8); // daddiu sp, sp, 8 + goto end_of_function; // return + + + block_11: + c->ld(ra, 0, sp); // ld ra, 0(sp) + c->mov64(v0, s7); // or v0, s7, r0 + //jr ra // jr ra + c->daddiu(sp, sp, 8); // daddiu sp, sp, 8 + goto end_of_function; // return + + //jr ra // jr ra + c->daddu(sp, sp, r0); // daddu sp, sp, r0 + goto end_of_function; // return + + // nop // sll r0, r0, 0 + // nop // sll r0, r0, 0 + end_of_function: + return c->gprs[v0].du64[0]; +} + +void link() { + cache.clip_polygon_against_negative_hyperplane = intern_from_c("clip-polygon-against-negative-hyperplane").c(); + cache.clip_polygon_against_positive_hyperplane = intern_from_c("clip-polygon-against-positive-hyperplane").c(); + gLinkedFunctionTable.reg("draw-large-polygon-vortex", execute, 128); +} + +} // namespace draw_large_polygon_vortex +} // namespace Mips2C + + +//--------------------------MIPS2C--------------------- +// clang-format off +#include "game/mips2c/mips2c_private.h" +#include "game/kernel/jak2/kscheme.h" +using ::jak2::intern_from_c; +namespace Mips2C::jak2 { +namespace render_vortex_quad { +struct Cache { + void* fake_scratchpad_data; // *fake-scratchpad-data* + void* draw_large_polygon_vortex; // draw-large-polygon-vortex +} cache; + +u64 execute(void* ctxt) { + auto* c = (ExecutionContext*)ctxt; + c->copy_vfs_from_other(&sky_regs_vfs); + c->mov64(v1, a0); // or v1, a0, r0 + get_fake_spad_addr2(t4, cache.fake_scratchpad_data, 0, c);// lui t4, 28672 + c->ori(t4, t4, 12288); // ori t4, t4, 12288 + get_fake_spad_addr2(t5, cache.fake_scratchpad_data, 0, c);// lui t5, 28672 + c->ori(t5, t5, 14336); // ori t5, t5, 14336 + c->mov64(a3, t4); // or a3, t4, r0 + // nop // sll r0, r0, 0 + c->lqc2(vf1, 0, a0); // lqc2 vf1, 0(a0) + c->addiu(t0, r0, 4); // addiu t0, r0, 4 + c->lqc2(vf2, 16, a0); // lqc2 vf2, 16(a0) + // nop // sll r0, r0, 0 + c->lqc2(vf3, 0, a2); // lqc2 vf3, 0(a2) + c->vmula_bc(DEST::xyzw, BC::x, vf31, vf1); // vmulax.xyzw acc, vf31, vf1 + c->lqc2(vf4, 32, a0); // lqc2 vf4, 32(a0) + c->vmadda_bc(DEST::xyzw, BC::y, vf30, vf1); // vmadday.xyzw acc, vf30, vf1 + c->lqc2(vf5, 48, a0); // lqc2 vf5, 48(a0) + c->vmadda_bc(DEST::xyzw, BC::z, vf29, vf1); // vmaddaz.xyzw acc, vf29, vf1 + c->lqc2(vf6, 0, a2); // lqc2 vf6, 0(a2) + c->vmadd_bc(DEST::xyzw, BC::w, vf15, vf28, vf1); // vmaddw.xyzw vf15, vf28, vf1 + c->lqc2(vf7, 64, a0); // lqc2 vf7, 64(a0) + // nop // sll r0, r0, 0 + c->lqc2(vf8, 80, a0); // lqc2 vf8, 80(a0) + c->vmula_bc(DEST::xyzw, BC::x, vf31, vf4); // vmulax.xyzw acc, vf31, vf4 + c->lqc2(vf9, 0, a2); // lqc2 vf9, 0(a2) + c->vmadda_bc(DEST::xyzw, BC::y, vf30, vf4); // vmadday.xyzw acc, vf30, vf4 + c->lqc2(vf10, 96, a0); // lqc2 vf10, 96(a0) + c->vmadda_bc(DEST::xyzw, BC::z, vf29, vf4); // vmaddaz.xyzw acc, vf29, vf4 + c->lqc2(vf11, 112, a0); // lqc2 vf11, 112(a0) + c->vmadd_bc(DEST::xyzw, BC::w, vf16, vf28, vf4); // vmaddw.xyzw vf16, vf28, vf4 + c->lqc2(vf12, 0, a2); // lqc2 vf12, 0(a2) + c->vmul(DEST::xyzw, vf1, vf15, vf14); // vmul.xyzw vf1, vf15, vf14 + c->sqc2(vf2, 16, a3); // sqc2 vf2, 16(a3) + c->vmula_bc(DEST::xyzw, BC::x, vf31, vf7); // vmulax.xyzw acc, vf31, vf7 + c->sqc2(vf3, 32, a3); // sqc2 vf3, 32(a3) + c->vmadda_bc(DEST::xyzw, BC::y, vf30, vf7); // vmadday.xyzw acc, vf30, vf7 + c->sqc2(vf5, 64, a3); // sqc2 vf5, 64(a3) + c->vmadda_bc(DEST::xyzw, BC::z, vf29, vf7); // vmaddaz.xyzw acc, vf29, vf7 + c->sqc2(vf6, 80, a3); // sqc2 vf6, 80(a3) + c->vmadd_bc(DEST::xyzw, BC::w, vf17, vf28, vf7); // vmaddw.xyzw vf17, vf28, vf7 + c->sqc2(vf8, 112, a3); // sqc2 vf8, 112(a3) + c->vmul(DEST::xyzw, vf4, vf16, vf14); // vmul.xyzw vf4, vf16, vf14 + c->sqc2(vf9, 128, a3); // sqc2 vf9, 128(a3) + c->vmula_bc(DEST::xyzw, BC::x, vf31, vf10); // vmulax.xyzw acc, vf31, vf10 + c->sqc2(vf11, 160, a3); // sqc2 vf11, 160(a3) + c->vmadda_bc(DEST::xyzw, BC::y, vf30, vf10); // vmadday.xyzw acc, vf30, vf10 + c->sqc2(vf12, 176, a3); // sqc2 vf12, 176(a3) + c->vmadda_bc(DEST::xyzw, BC::z, vf29, vf10); // vmaddaz.xyzw acc, vf29, vf10 + c->sqc2(vf2, 208, a3); // sqc2 vf2, 208(a3) + c->vmadd_bc(DEST::xyzw, BC::w, vf18, vf28, vf10); // vmaddw.xyzw vf18, vf28, vf10 + c->sqc2(vf3, 224, a3); // sqc2 vf3, 224(a3) + c->vmul(DEST::xyzw, vf7, vf17, vf14); // vmul.xyzw vf7, vf17, vf14 + // nop // sll r0, r0, 0 + // nop // sll r0, r0, 0 + // nop // sll r0, r0, 0 + // nop // sll r0, r0, 0 + c->sqc2(vf1, 0, a3); // sqc2 vf1, 0(a3) + c->vmul(DEST::xyzw, vf10, vf18, vf14); // vmul.xyzw vf10, vf18, vf14 + c->sqc2(vf1, 192, a3); // sqc2 vf1, 192(a3) + // nop // sll r0, r0, 0 + c->sqc2(vf4, 48, a3); // sqc2 vf4, 48(a3) + // nop // sll r0, r0, 0 + c->sqc2(vf7, 96, a3); // sqc2 vf7, 96(a3) + // nop // sll r0, r0, 0 + c->sqc2(vf10, 144, a3); // sqc2 vf10, 144(a3) + c->load_symbol2(t9, cache.draw_large_polygon_vortex);// lw t9, draw-large-polygon-vortex(s7) + // Unknown instr: jr t9 + draw_large_polygon_vortex::execute(ctxt); + // nop // sll r0, r0, 0 + //jr ra // jr ra + c->daddu(sp, sp, r0); // daddu sp, sp, r0 + goto end_of_function; // return + + // nop // sll r0, r0, 0 + // nop // sll r0, r0, 0 + end_of_function: + return c->gprs[v0].du64[0]; +} + +void link() { + cache.fake_scratchpad_data = intern_from_c("*fake-scratchpad-data*").c(); + cache.draw_large_polygon_vortex = intern_from_c("draw-large-polygon-vortex").c(); + gLinkedFunctionTable.reg("render-vortex-quad", execute, 128); +} + +} // namespace render_vortex_quad +} // namespace Mips2C diff --git a/game/mips2c/mips2c_table.cpp b/game/mips2c/mips2c_table.cpp index d2681bb29..1a8f43aae 100644 --- a/game/mips2c/mips2c_table.cpp +++ b/game/mips2c/mips2c_table.cpp @@ -217,6 +217,9 @@ namespace ripple_create_wave_table { extern void link(); } namespace ripple_apply_wave_table { extern void link(); } namespace ripple_matrix_scale { extern void link(); } namespace method_53_squid { extern void link(); } +namespace init_vortex_regs { extern void link(); } +namespace draw_large_polygon_vortex { extern void link(); } +namespace render_vortex_quad { extern void link(); } } // clang-format on @@ -363,7 +366,10 @@ PerGameVersion>> gMips2C {"ripple", {jak2::ripple_execute_init::link, jak2::ripple_create_wave_table::link, jak2::ripple_apply_wave_table::link, jak2::ripple_matrix_scale::link}}, - {"squid-setup", {jak2::method_53_squid::link}}}}; + {"squid-setup", {jak2::method_53_squid::link}}, + {"vortex", + {jak2::init_vortex_regs::link, jak2::draw_large_polygon_vortex::link, + jak2::render_vortex_quad::link}}}}; void LinkedFunctionTable::reg(const std::string& name, u64 (*exec)(void*), u32 stack_size) { const auto& it = m_executes.insert({name, {exec, Ptr()}}); diff --git a/goal_src/jak2/engine/draw/drawable.gc b/goal_src/jak2/engine/draw/drawable.gc index 3bfdbe5b5..2e869ec43 100644 --- a/goal_src/jak2/engine/draw/drawable.gc +++ b/goal_src/jak2/engine/draw/drawable.gc @@ -5,6 +5,8 @@ ;; name in dgo: drawable ;; dgos: ENGINE, GAME +(define-extern draw-vortex (function none)) + ;; DECOMP BEGINS (defmacro spr-work () @@ -1458,7 +1460,7 @@ ;; draw the sky (with-profiler 'sky *profile-sky-color* (if (-> *sky-work* draw-vortex) - (format 0 "no vortex.~%");(draw-vortex) + (draw-vortex) (draw *sky-work*) ) (flush-cache 0) diff --git a/goal_src/jak2/levels/intro/vortex-data.gc b/goal_src/jak2/levels/intro/vortex-data.gc index 213aa68dc..6352b931e 100644 --- a/goal_src/jak2/levels/intro/vortex-data.gc +++ b/goal_src/jak2/levels/intro/vortex-data.gc @@ -7,3 +7,2654 @@ ;; DECOMP BEGINS +(deftype vortex-vertex (structure) + ((pos vector :inline :offset-assert 0) + (stq vector :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + + +(deftype vortex-vert-array (structure) + ((data vortex-vertex 306 :inline :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x2640 + :flag-assert #x900002640 + ) + + +(deftype vortex-work (basic) + ((giftag dma-gif :inline :offset-assert 16) + (off-s-0 uint16 :offset-assert 32) + (off-t-0 uint16 :offset-assert 34) + (off-s-1 uint16 :offset-assert 36) + (off-t-1 uint16 :offset-assert 38) + (off-s-2 uint16 :offset-assert 40) + (off-t-2 uint16 :offset-assert 42) + (off-s-3 uint16 :offset-assert 44) + (off-t-3 uint16 :offset-assert 46) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + + +(define *vortex-work* + (new 'static 'vortex-work + :giftag (new 'static 'dma-gif + :gif0 (new 'static 'gif-tag64 + :nloop #x1 + :eop #x1 + :pre #x1 + :prim (new 'static 'gs-prim :prim (gs-prim-type tri-fan) :iip #x1 :tme #x1 :abe #x1) + :nreg #x3 + ) + :gif1 (new 'static 'gif-tag-regs :regs0 (gif-reg-id st) :regs1 (gif-reg-id rgbaq) :regs2 (gif-reg-id xyzf2)) + ) + :off-t-1 #x100 + ) + ) + +(define *vortex-vert-array* (new 'static 'vortex-vert-array + :data (new 'static 'inline-array vortex-vertex 306 + (new 'static 'vortex-vertex + :pos (new 'static 'vector :z 1351680.0 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -21143.553 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.3549 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -19533.824 :y 8089.6 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.3661 :y 0.5553 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -14950.4 :y 14950.4 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.3974 :y 0.6023 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -8089.6 :y 19533.824 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.4444 :y 0.6338 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 21143.553 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.6448 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 8089.6 :y 19533.824 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.5553 :y 0.6338 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 14950.4 :y 14950.4 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.6023 :y 0.6023 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 19533.824 :y 8089.6 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.6338 :y 0.5553 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 21143.553 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.6448 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 19533.824 :y -8089.6 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.6338 :y 0.4444 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 14950.4 :y -14950.4 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.6023 :y 0.3974 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 8089.6 :y -19533.824 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.5553 :y 0.3661 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -21143.553 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.3549 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -8089.6 :y -19533.824 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.4444 :y 0.3661 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -14950.4 :y -14950.4 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.3974 :y 0.3974 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -19533.824 :y -8089.6 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.3661 :y 0.4444 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -41766.504 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.2294 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -38588.008 :y 15982.183 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.25 :y 0.6034 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -29532.16 :y 29532.16 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.3086 :y 0.6912 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -15982.183 :y 38588.008 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.3963 :y 0.7498 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 41766.504 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.7703 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 15982.183 :y 38588.008 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.6034 :y 0.7498 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 29532.16 :y 29532.16 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.6912 :y 0.6912 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 38588.008 :y 15982.183 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.7498 :y 0.6034 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 41766.504 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.7703 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 38588.008 :y -15982.183 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.7498 :y 0.3963 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 29532.16 :y -29532.16 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.6912 :y 0.3086 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 15982.183 :y -38588.008 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.6034 :y 0.25 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -41766.504 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.2294 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -15982.183 :y -38588.008 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.3963 :y 0.25 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -29532.16 :y -29532.16 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.3086 :y 0.3086 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -38588.008 :y -15982.183 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.25 :y 0.3963 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -61361.355 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.1248 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -56692.33 :y 23481.959 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.1534 :y 0.6434 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -43388.93 :y 43388.93 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.2346 :y 0.7651 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -23481.959 :y 56692.33 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.3564 :y 0.8464 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 61361.355 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.875 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 23481.959 :y 56692.33 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.6434 :y 0.8464 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 43388.93 :y 43388.93 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.7651 :y 0.7651 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 56692.33 :y 23481.959 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.8464 :y 0.6434 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 61361.355 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.875 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 56692.33 :y -23481.959 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.8464 :y 0.3564 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 43388.93 :y -43388.93 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.7651 :y 0.2346 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 23481.959 :y -56692.33 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.6434 :y 0.1534 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -61361.355 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.1248 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -23481.959 :y -56692.33 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.3564 :y 0.1534 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -43388.93 :y -43388.93 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.2346 :y 0.2346 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -56692.33 :y -23481.959 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.1534 :y 0.3564 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -79445.61 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.0617 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -73400.32 :y 30399.693 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.0951 :y 0.6675 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -56176.64 :y 56176.64 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.1901 :y 0.8097 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -30399.693 :y 73400.32 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.3322 :y 0.9046 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 79445.61 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.938 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 30399.693 :y 73400.32 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.6675 :y 0.9046 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 56176.64 :y 56176.64 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.8097 :y 0.8097 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 73400.32 :y 30399.693 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.9046 :y 0.6675 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 79445.61 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.938 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 73400.32 :y -30399.693 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.9046 :y 0.3322 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 56176.64 :y -56176.64 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.8097 :y 0.1901 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 30399.693 :y -73400.32 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.6675 :y 0.0951 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -79445.61 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.0617 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -30399.693 :y -73400.32 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.3322 :y 0.0951 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -56176.64 :y -56176.64 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.1901 :y 0.1901 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -73400.32 :y -30399.693 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.0951 :y 0.3322 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -95575.66 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.0325 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -88301.57 :y 36572.363 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.0681 :y 0.6787 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -67579.91 :y 67584.0 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.1694 :y 0.8303 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -36572.363 :y 88301.57 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.321 :y 0.9316 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 95575.66 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.9672 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 36572.363 :y 88301.57 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.6787 :y 0.9316 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 67584.0 :y 67579.91 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.8303 :y 0.8303 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 88301.57 :y 36572.363 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.9316 :y 0.6787 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 95575.66 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.9672 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 88301.57 :y -36572.363 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.9316 :y 0.321 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 67579.91 :y -67579.91 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.8303 :y 0.1694 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 36572.363 :y -88301.57 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.6787 :y 0.0681 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -95575.66 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.0325 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -36572.363 :y -88301.57 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.321 :y 0.0681 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -67584.0 :y -67579.91 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.1694 :y 0.1694 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -88301.57 :y -36572.363 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.0681 :y 0.321 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -109350.914 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.0172 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -101027.84 :y 41844.33 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.0539 :y 0.6847 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -77324.29 :y 77324.29 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.1585 :y 0.8413 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -41844.33 :y 101027.84 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.3151 :y 0.9458 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 109350.914 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.9826 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 41844.33 :y 101027.84 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.6847 :y 0.9458 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 77324.29 :y 77324.29 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.8413 :y 0.8413 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 101027.84 :y 41844.33 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.9458 :y 0.6847 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 109350.914 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.9826 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 101027.84 :y -41844.33 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.9458 :y 0.3151 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 77324.29 :y -77324.29 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.8413 :y 0.1585 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 41844.33 :y -101027.84 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.6847 :y 0.0539 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -109350.914 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.0172 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -41844.33 :y -101027.84 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.3151 :y 0.0539 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -77324.29 :y -77324.29 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.1585 :y 0.1585 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -101027.84 :y -41844.33 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.0539 :y 0.3151 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -120434.28 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.0103 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -111267.84 :y 46087.37 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.0475 :y 0.6873 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -85159.94 :y 85159.94 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.1537 :y 0.846 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -46087.37 :y 111267.84 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.3125 :y 0.9522 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 120434.28 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.9894 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 46087.37 :y 111267.84 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.6873 :y 0.9522 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 85159.94 :y 85159.94 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.846 :y 0.846 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 111267.84 :y 46087.37 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.9522 :y 0.6873 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 120434.28 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.9894 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 111267.84 :y -46087.37 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.9522 :y 0.3125 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 85159.94 :y -85159.94 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.846 :y 0.1537 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 46087.37 :y -111267.84 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.6873 :y 0.0475 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -120434.28 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.0103 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -46087.37 :y -111267.84 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.3125 :y 0.0475 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -85159.94 :y -85159.94 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.1537 :y 0.1537 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -111267.84 :y -46087.37 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.0475 :y 0.3125 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -128548.87 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.0052 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -118763.52 :y 49192.96 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.0429 :y 0.6891 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -90898.02 :y 90898.02 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.1501 :y 0.8496 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -49192.96 :y 118763.52 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.3106 :y 0.9568 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 128548.87 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.9945 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 49192.96 :y 118763.52 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.6891 :y 0.9568 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 90898.02 :y 90898.02 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.8496 :y 0.8496 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 118763.52 :y 49192.96 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.9568 :y 0.6891 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 128548.87 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.9945 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 118763.52 :y -49192.96 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.9568 :y 0.3106 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 90898.02 :y -90898.02 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.8496 :y 0.1501 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 49192.96 :y -118763.52 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.6891 :y 0.0429 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -128548.87 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.0052 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -49192.96 :y -118763.52 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.3106 :y 0.0429 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -90898.02 :y -90898.02 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.1501 :y 0.1501 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -118763.52 :y -49192.96 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.0429 :y 0.3106 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -133500.11 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.0018 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -123338.34 :y 51089.0 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.0397 :y 0.6905 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -94400.516 :y 94400.516 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.1477 :y 0.852 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -51089.0 :y 123338.34 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.3093 :y 0.96 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 133500.11 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.9979 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 51089.0 :y 123338.34 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.6905 :y 0.96 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 94400.516 :y 94400.516 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.852 :y 0.852 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 123338.34 :y 51089.0 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.96 :y 0.6905 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 133500.11 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.9979 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 123338.34 :y -51089.0 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.96 :y 0.3093 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 94400.516 :y -94400.516 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.852 :y 0.1477 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 51089.0 :y -123338.34 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.6905 :y 0.0397 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -133500.11 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.0018 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -51089.0 :y -123338.34 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.3093 :y 0.0397 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -94400.516 :y -94400.516 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.1477 :y 0.1477 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -123338.34 :y -51089.0 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.0397 :y 0.3093 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -135163.9 :w 1.0) + :stq (new 'static 'vector :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -124878.85 :y 51724.29 :w 1.0) + :stq (new 'static 'vector :x 0.0379 :y 0.6912 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -95575.66 :y 95575.66 :w 1.0) + :stq (new 'static 'vector :x 0.1463 :y 0.8534 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -51724.29 :y 124878.85 :w 1.0) + :stq (new 'static 'vector :x 0.3085 :y 0.9618 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 135163.9 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.9998 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 51724.29 :y 124878.85 :w 1.0) + :stq (new 'static 'vector :x 0.6912 :y 0.9618 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 95575.66 :y 95575.66 :w 1.0) + :stq (new 'static 'vector :x 0.8534 :y 0.8534 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 124878.85 :y 51724.29 :w 1.0) + :stq (new 'static 'vector :x 0.9618 :y 0.6912 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 135168.0 :w 1.0) + :stq (new 'static 'vector :x 0.9998 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 124878.85 :y -51724.29 :w 1.0) + :stq (new 'static 'vector :x 0.9618 :y 0.3085 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 95575.66 :y -95575.66 :w 1.0) + :stq (new 'static 'vector :x 0.8534 :y 0.1463 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 51724.29 :y -124878.85 :w 1.0) + :stq (new 'static 'vector :x 0.6912 :y 0.0379 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -135163.9 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -51724.29 :y -124878.85 :w 1.0) + :stq (new 'static 'vector :x 0.3085 :y 0.0379 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -95575.66 :y -95575.66 :w 1.0) + :stq (new 'static 'vector :x 0.1463 :y 0.1463 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -124878.85 :y -51724.29 :w 1.0) + :stq (new 'static 'vector :x 0.0379 :y 0.3085 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -133500.11 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.0018 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -123338.34 :y 51089.0 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.0397 :y 0.6905 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -94400.516 :y 94400.516 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.1477 :y 0.852 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -51089.0 :y 123338.34 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.3093 :y 0.96 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 133500.11 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.9979 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 51089.0 :y 123338.34 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.6905 :y 0.96 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 94400.516 :y 94400.516 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.852 :y 0.852 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 123338.34 :y 51089.0 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.96 :y 0.6905 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 133500.11 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.9979 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 123338.34 :y -51089.0 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.96 :y 0.3093 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 94400.516 :y -94400.516 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.852 :y 0.1477 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 51089.0 :y -123338.34 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.6905 :y 0.0397 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -133500.11 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.0018 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -51089.0 :y -123338.34 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.3093 :y 0.0397 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -94400.516 :y -94400.516 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.1477 :y 0.1477 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -123338.34 :y -51089.0 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.0397 :y 0.3093 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -128548.87 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.0052 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -118763.52 :y 49192.96 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.0429 :y 0.6891 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -90898.02 :y 90898.02 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.1501 :y 0.8496 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -49192.96 :y 118763.52 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.3106 :y 0.9568 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 128548.87 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.9945 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 49192.96 :y 118763.52 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.6891 :y 0.9568 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 90898.02 :y 90898.02 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.8496 :y 0.8496 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 118763.52 :y 49192.96 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.9568 :y 0.6891 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 128548.87 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.9945 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 118763.52 :y -49192.96 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.9568 :y 0.3106 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 90898.02 :y -90898.02 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.8496 :y 0.1501 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 49192.96 :y -118763.52 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.6891 :y 0.0429 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -128548.87 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.0052 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -49192.96 :y -118763.52 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.3106 :y 0.0429 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -90898.02 :y -90898.02 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.1501 :y 0.1501 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -118763.52 :y -49192.96 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.0429 :y 0.3106 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -120434.28 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.0103 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -111267.84 :y 46087.37 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.0475 :y 0.6873 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -85159.94 :y 85159.94 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.1537 :y 0.846 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -46087.37 :y 111267.84 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.3125 :y 0.9522 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 120434.28 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.9894 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 46087.37 :y 111267.84 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.6873 :y 0.9522 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 85159.94 :y 85159.94 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.846 :y 0.846 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 111267.84 :y 46087.37 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.9522 :y 0.6873 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 120434.28 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.9894 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 111267.84 :y -46087.37 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.9522 :y 0.3125 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 85159.94 :y -85159.94 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.846 :y 0.1537 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 46087.37 :y -111267.84 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.6873 :y 0.0475 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -120434.28 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.0103 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -46087.37 :y -111267.84 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.3125 :y 0.0475 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -85159.94 :y -85159.94 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.1537 :y 0.1537 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -111267.84 :y -46087.37 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.0475 :y 0.3125 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -109350.914 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.0172 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -101027.84 :y 41844.33 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.0539 :y 0.6847 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -77324.29 :y 77324.29 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.1585 :y 0.8413 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -41844.33 :y 101027.84 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.3151 :y 0.9458 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 109350.914 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.9826 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 41844.33 :y 101027.84 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.6847 :y 0.9458 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 77324.29 :y 77324.29 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.8413 :y 0.8413 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 101027.84 :y 41844.33 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.9458 :y 0.6847 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 109350.914 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.9826 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 101027.84 :y -41844.33 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.9458 :y 0.3151 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 77324.29 :y -77324.29 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.8413 :y 0.1585 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 41844.33 :y -101027.84 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.6847 :y 0.0539 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -109350.914 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.0172 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -41844.33 :y -101027.84 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.3151 :y 0.0539 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -77324.29 :y -77324.29 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.1585 :y 0.1585 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -101027.84 :y -41844.33 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.0539 :y 0.3151 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -95575.66 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.0325 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -88301.57 :y 36572.363 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.0681 :y 0.6787 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -67579.91 :y 67584.0 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.1694 :y 0.8303 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -36572.363 :y 88301.57 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.321 :y 0.9316 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 95575.66 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.9672 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 36572.363 :y 88301.57 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.6787 :y 0.9316 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 67584.0 :y 67579.91 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.8303 :y 0.8303 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 88301.57 :y 36572.363 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.9316 :y 0.6787 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 95575.66 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.9672 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 88301.57 :y -36572.363 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.9316 :y 0.321 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 67579.91 :y -67584.0 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.8303 :y 0.1694 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 36572.363 :y -88301.57 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.6787 :y 0.0681 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -95575.66 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.0325 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -36572.363 :y -88301.57 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.321 :y 0.0681 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -67584.0 :y -67579.91 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.1694 :y 0.1694 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -88301.57 :y -36572.363 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.0681 :y 0.321 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -79445.61 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.0617 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -73400.32 :y 30399.693 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.0951 :y 0.6675 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -56176.64 :y 56176.64 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.1901 :y 0.8097 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -30399.693 :y 73400.32 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.3322 :y 0.9046 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 79445.61 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.938 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 30399.693 :y 73400.32 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.6675 :y 0.9046 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 56176.64 :y 56176.64 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.8097 :y 0.8097 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 73400.32 :y 30399.693 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.9046 :y 0.6675 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 79445.61 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.938 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 73400.32 :y -30399.693 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.9046 :y 0.3322 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 56176.64 :y -56176.64 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.8097 :y 0.1901 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 30399.693 :y -73400.32 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.6675 :y 0.0951 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -79445.61 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.0617 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -30399.693 :y -73400.32 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.3322 :y 0.0951 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -56176.64 :y -56176.64 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.1901 :y 0.1901 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -73400.32 :y -30399.693 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.0951 :y 0.3322 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -61361.355 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.1248 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -56692.33 :y 23481.959 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.1534 :y 0.6434 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -43388.93 :y 43388.93 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.2346 :y 0.7651 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -23481.959 :y 56692.33 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.3564 :y 0.8464 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 61361.355 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.875 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 23481.959 :y 56692.33 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.6434 :y 0.8464 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 43388.93 :y 43388.93 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.7651 :y 0.7651 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 56692.33 :y 23481.959 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.8464 :y 0.6434 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 61361.355 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.875 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 56692.33 :y -23481.959 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.8464 :y 0.3564 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 43388.93 :y -43388.93 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.7651 :y 0.2346 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 23481.959 :y -56692.33 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.6434 :y 0.1534 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -61361.355 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.1248 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -23481.959 :y -56692.33 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.3564 :y 0.1534 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -43388.93 :y -43388.93 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.2346 :y 0.2346 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -56692.33 :y -23481.959 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.1534 :y 0.3564 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -41766.504 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.2294 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -38588.008 :y 15982.183 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.25 :y 0.6034 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -29532.16 :y 29532.16 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.3086 :y 0.6912 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -15982.183 :y 38588.008 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.3963 :y 0.7498 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 41766.504 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.7703 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 15982.183 :y 38588.008 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.6034 :y 0.7498 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 29532.16 :y 29532.16 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.6912 :y 0.6912 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 38588.008 :y 15982.183 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.7498 :y 0.6034 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 41766.504 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.7703 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 38588.008 :y -15982.183 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.7498 :y 0.3963 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 29532.16 :y -29532.16 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.6912 :y 0.3086 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 15982.183 :y -38588.008 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.6034 :y 0.25 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -41766.504 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.2294 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -15982.183 :y -38588.008 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.3963 :y 0.25 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -29532.16 :y -29532.16 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.3086 :y 0.3086 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -38588.008 :y -15982.183 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.25 :y 0.3963 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -21143.553 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.3549 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -19533.824 :y 8089.6 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.3661 :y 0.5553 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -14950.4 :y 14950.4 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.3974 :y 0.6023 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -8089.6 :y 19533.824 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.4444 :y 0.6338 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 21143.553 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.6448 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 8089.6 :y 19533.824 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.5553 :y 0.6338 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 14950.4 :y 14950.4 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.6023 :y 0.6023 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 19533.824 :y 8089.6 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.6338 :y 0.5553 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 21143.553 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.6448 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 19533.824 :y -8089.6 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.6338 :y 0.4444 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 14950.4 :y -14950.4 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.6023 :y 0.3974 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 8089.6 :y -19533.824 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.5553 :y 0.3661 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -21143.553 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.3549 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -8089.6 :y -19533.824 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.4444 :y 0.3661 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -14950.4 :y -14950.4 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.3974 :y 0.3974 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -19533.824 :y -8089.6 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.3661 :y 0.4444 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :z -1351680.0 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.5 :z 1.0) + ) + ) + ) + ) + +(define *vortex-poly* + (new 'static 'inline-array vortex-vertex 1216 + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + ) + ) + +(define *vortex-tvals* (new 'static 'array float 20 + 0.129616 + 0.232515 + 0.312052 + 0.37201 + 0.416099 + 0.447693 + 0.469699 + 0.484531 + 0.494127 + 0.5 + 0.505873 + 0.515468 + 0.5303 + 0.552306 + 0.583899 + 0.627988 + 0.687946 + 0.767484 + 0.870383 + 0.0 + ) + ) + +;; WARN: Return type mismatch symbol vs none. +;; ERROR: Unsupported inline assembly instruction kind - [lq ra, 0(ra)] +(defun init-vortex-polys () + (local-vars (ra-1 uint128)) + (let ((v1-0 0) + (a0-0 *vortex-vert-array*) + (a1-0 *vortex-poly*) + ) + (set-vector! (-> a0-0 data 0 stq) 0.5 0.0 1.0 0.0) + (dotimes (a2-1 19) + (let ((f0-4 (-> *vortex-tvals* a2-1))) + (dotimes (a3-4 16) + (let ((t0-2 (the-as object (+ (the-as uint (-> a0-0 data 0 stq)) (* (+ a3-4 1 (* a2-1 16)) 32))))) + (set! (-> (the-as (pointer float) t0-2)) (* 0.0625 (the float a3-4))) + (set! (-> (the-as (pointer float) t0-2) 1) f0-4) + (set! (-> (the-as (pointer float) t0-2) 2) 1.0) + (set! (-> (the-as (pointer float) t0-2) 3) 0.0) + ) + ) + ) + ) + (let ((a2-4 (new 'static 'vector :x 32768.0 :y 819200.0 :z 32768.0))) + (dotimes (a3-7 306) + (vector+! (the-as vector (-> a0-0 data a3-7)) (the-as vector (-> a0-0 data a3-7)) a2-4) + ) + ) + (dotimes (a2-7 8) + (let ((t3-0 (-> a0-0 data)) + (t2-3 (-> a0-0 data (+ (* a2-7 2) 1))) + (t1-8 (-> a0-0 data (+ (* a2-7 2) 2))) + (a3-20 (-> a0-0 data (+ (* a2-7 2) 3))) + (t6-0 (-> a1-0 v1-0)) + (t5-0 (-> a1-0 (+ v1-0 1))) + (t4-0 (-> a1-0 (+ v1-0 2))) + (t0-13 (-> a1-0 (+ v1-0 3))) + ) + (if (= a2-7 7) + (set! a3-20 (-> a0-0 data 1)) + ) + (set! (-> t6-0 pos quad) (-> t3-0 0 pos quad)) + (set! (-> t6-0 stq quad) (-> t3-0 0 stq quad)) + (set! (-> t5-0 pos quad) (-> t2-3 pos quad)) + (set! (-> t5-0 stq quad) (-> t2-3 stq quad)) + (set! (-> t4-0 pos quad) (-> t1-8 pos quad)) + (set! (-> t4-0 stq quad) (-> t1-8 stq quad)) + (set! (-> t0-13 pos quad) (-> a3-20 pos quad)) + (set! (-> t0-13 stq quad) (-> a3-20 stq quad)) + (if (= a2-7 7) + (set! (-> t0-13 stq x) 1.0) + ) + ) + (+! v1-0 4) + ) + (dotimes (a2-10 18) + (let ((a3-29 (+ (* a2-10 16) 1))) + (dotimes (t0-14 16) + (let ((t6-4 (-> a0-0 data (+ a3-29 t0-14))) + (t3-7 (-> a0-0 data (+ t0-14 16 a3-29))) + (t4-1 (-> a0-0 data (+ t0-14 17 a3-29))) + (t5-1 (-> a0-0 data (+ t0-14 1 a3-29))) + (t8-2 (-> a1-0 v1-0)) + (t7-4 (-> a1-0 (+ v1-0 1))) + (t1-33 (-> a1-0 (+ v1-0 2))) + (t2-12 (-> a1-0 (+ v1-0 3))) + ) + (when (= t0-14 15) + (set! t4-1 (-> a0-0 data (+ a3-29 16))) + (set! t5-1 (-> a0-0 data a3-29)) + ) + (let ((t9-3 (-> t8-2 pos))) + (let ((ra-0 (-> t6-4 pos))) + ;(.lq ra-1 0 ra-0) + (set! ra-1 (-> ra-0 quad)) + ) + (set! (-> t9-3 quad) (the-as uint128 ra-1)) + ) + (set! (-> t8-2 stq quad) (-> t6-4 stq quad)) + (set! (-> t7-4 pos quad) (-> t3-7 pos quad)) + (set! (-> t7-4 stq quad) (-> t3-7 stq quad)) + (set! (-> t1-33 pos quad) (-> t4-1 pos quad)) + (set! (-> t1-33 stq quad) (-> t4-1 stq quad)) + (set! (-> t2-12 pos quad) (-> t5-1 pos quad)) + (set! (-> t2-12 stq quad) (-> t5-1 stq quad)) + (when (= t0-14 15) + (set! (-> t1-33 stq x) 1.0) + (set! (-> t2-12 stq x) 1.0) + ) + ) + (+! v1-0 4) + ) + ) + ) + (dotimes (a2-13 8) + (let ((t3-17 (-> a0-0 data 305)) + (t2-13 (-> a0-0 data (+ (* a2-13 2) 289))) + (t1-37 (-> a0-0 data (+ (* a2-13 2) 290))) + (a3-44 (-> a0-0 data (+ (* a2-13 2) 291))) + (t6-11 (-> a1-0 v1-0)) + (t5-4 (-> a1-0 (+ v1-0 1))) + (t4-11 (-> a1-0 (+ v1-0 2))) + (t0-22 (-> a1-0 (+ v1-0 3))) + ) + (if (= a2-13 7) + (set! a3-44 (-> a0-0 data 289)) + ) + (set! (-> t6-11 pos quad) (-> t3-17 pos quad)) + (set! (-> t6-11 stq quad) (-> t3-17 stq quad)) + (set! (-> t5-4 pos quad) (-> t2-13 pos quad)) + (set! (-> t5-4 stq quad) (-> t2-13 stq quad)) + (set! (-> t4-11 pos quad) (-> t1-37 pos quad)) + (set! (-> t4-11 stq quad) (-> t1-37 stq quad)) + (set! (-> t0-22 pos quad) (-> a3-44 pos quad)) + (set! (-> t0-22 stq quad) (-> a3-44 stq quad)) + (if (= a2-13 7) + (set! (-> t0-22 stq x) 1.0) + ) + ) + (+! v1-0 4) + ) + ) + (none) + ) + +(init-vortex-polys) diff --git a/goal_src/jak2/levels/intro/vortex.gc b/goal_src/jak2/levels/intro/vortex.gc index 3bd223e49..76471df5f 100644 --- a/goal_src/jak2/levels/intro/vortex.gc +++ b/goal_src/jak2/levels/intro/vortex.gc @@ -7,3 +7,187 @@ ;; DECOMP BEGINS +;; ERROR: function has no type analysis. Cannot decompile. + +(def-mips2c init-vortex-regs (function none)) + +(def-mips2c draw-large-polygon-vortex function) + +(def-mips2c render-vortex-quad (function vortex-vertex dma-buffer vector none)) + +(defun update-vortex-data ((arg0 float)) + (when (not (paused?)) + (+! (-> *vortex-work* off-s-0) (the int (* 4.0 arg0))) + (+! (-> *vortex-work* off-t-0) (the int (* -8.0 arg0))) + (+! (-> *vortex-work* off-s-1) (the int (* 4.0 arg0))) + (+! (-> *vortex-work* off-t-1) (the int (* -8.0 arg0))) + ) + 0 + (none) + ) + +;; ERROR: Failed store: (s.w! (+ v1-76 8) 0) at op 268 +(defun draw-vortex () + (rlet ((vf27 :class vf)) + (when (and (logtest? (-> *display* vu1-enable-user) (vu1-renderer-mask sky)) + (logtest? (-> *texture-pool* texture-enable-user) (texture-enable-mask sky)) + ) + (let ((gp-0 (-> *display* frames (-> *display* on-screen) global-buf base))) + (update-vortex-data 60.0) + (with-dma-buffer-add-bucket ((s4-0 (-> *display* frames (-> *display* on-screen) global-buf)) + (bucket-id sky-draw) + ) + (let ((v1-17 s4-0)) + (let ((a0-6 (the-as dma-packet (-> v1-17 base)))) + (set! (-> a0-6 dma) (new 'static 'dma-tag :qwc #x4 :id (dma-tag-id cnt))) + (set! (-> a0-6 vif0) (new 'static 'vif-tag)) + (set! (-> a0-6 vif1) (new 'static 'vif-tag :imm #x4 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-17 base) (the-as pointer (&+ a0-6 16))) + ) + ) + (let ((v1-18 s4-0)) + (let ((a0-8 (the-as gs-gif-tag (-> v1-18 base)))) + (set! (-> a0-8 tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x3)) + (set! (-> a0-8 regs) GIF_REGS_ALL_AD) + (set! (-> v1-18 base) (the-as pointer (&+ a0-8 16))) + ) + ) + (let ((v1-19 s4-0)) + (let ((a0-10 (-> v1-19 base))) + (set! (-> (the-as (pointer gs-zbuf) a0-10) 0) (new 'static 'gs-zbuf :zbp #x130 :psm (gs-psm ct24))) + (set! (-> (the-as (pointer gs-reg64) a0-10) 1) (gs-reg64 zbuf-1)) + (set! (-> (the-as (pointer gs-test) a0-10) 2) + (new 'static 'gs-test :ate #x1 :atst (gs-atest always) :zte #x1 :ztst (gs-ztest always)) + ) + (set! (-> (the-as (pointer gs-reg64) a0-10) 3) (gs-reg64 test-1)) + (set! (-> (the-as (pointer gs-rgbaq) a0-10) 4) (new 'static 'gs-rgbaq :b #x40 :q 1.0)) + (set! (-> (the-as (pointer gs-reg64) a0-10) 5) (gs-reg64 rgbaq)) + (set! (-> v1-19 base) (&+ a0-10 48)) + ) + ) + (let ((v1-20 (-> s4-0 base))) + (set! (-> (the-as (pointer uint128) v1-20)) (-> *sky-work* sprite-tmpl dma-vif quad)) + (set! (-> (the-as (pointer uint128) v1-20) 1) (-> *sky-work* sprite-tmpl quad 1)) + ) + (&+! (-> s4-0 base) 32) + (let ((v1-23 (-> s4-0 base))) + (set-vector! (the-as vector4w (&+ v1-23 0)) #x7000 #x7300 0 0) + (set-vector! (the-as vector4w (&+ v1-23 16)) #x9000 #x8d00 0 0) + ) + (&+! (-> s4-0 base) 32) + (let ((v1-27 s4-0)) + (let ((a0-19 (the-as dma-packet (-> v1-27 base)))) + (set! (-> a0-19 dma) (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt))) + (set! (-> a0-19 vif0) (new 'static 'vif-tag)) + (set! (-> a0-19 vif1) (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-27 base) (the-as pointer (&+ a0-19 16))) + ) + ) + (let ((v1-28 s4-0)) + (let ((a0-21 (the-as gs-gif-tag (-> v1-28 base)))) + (set! (-> a0-21 tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x5)) + (set! (-> a0-21 regs) GIF_REGS_ALL_AD) + (set! (-> v1-28 base) (the-as pointer (&+ a0-21 16))) + ) + ) + (let ((s3-0 s4-0)) + (let ((s2-0 (-> s3-0 base))) + (set! (-> (the-as (pointer gs-tex0) s2-0) 0) (new 'static 'gs-tex0 + :tbp0 #x100 + :tbw #x2 + :psm #x1b + :tcc #x1 + :cbp #x300 + :cld #x1 + :th (log2 128) + :tw (log2 128) + ) + ) + (set! (-> (the-as (pointer gs-reg64) s2-0) 1) (gs-reg64 tex0-1)) + (set! (-> (the-as (pointer gs-tex1) s2-0) 2) (new 'static 'gs-tex1 :mmag #x1 :mmin #x1)) + (set! (-> (the-as (pointer gs-reg64) s2-0) 3) (gs-reg64 tex1-1)) + (set! (-> (the-as (pointer gs-clamp) s2-0) 4) (new 'static 'gs-clamp)) + (set! (-> (the-as (pointer gs-reg64) s2-0) 5) (gs-reg64 clamp-1)) + (set! (-> (the-as (pointer gs-alpha) s2-0) 6) (new 'static 'gs-alpha :b #x1 :d #x1)) + (set! (-> (the-as (pointer gs-reg64) s2-0) 7) (gs-reg64 alpha-1)) + (set! (-> (the-as (pointer uint64) s2-0) 8) (the-as uint 0)) + (set! (-> (the-as (pointer gs-reg64) s2-0) 9) (gs-reg64 texflush)) + (set! (-> s3-0 base) (&+ s2-0 80)) + ) + ) + (init-vortex-regs) + ;;(.lvf vf27 (&-> *vortex-work* giftag quad)) + (set-sky-vf27 (&-> *vortex-work* giftag quad)) + + (set-tex-offset (the-as int (-> *vortex-work* off-s-0)) (the-as int (-> *vortex-work* off-t-0))) + (let ((s3-1 (the-as dma-packet (-> s4-0 base)))) + (&+! (-> s4-0 base) 16) + (let ((s2-1 *vortex-poly*)) + (dotimes (s1-2 304) + (render-vortex-quad (-> s2-1 (* s1-2 4)) s4-0 (new 'static 'vector :z 128.0 :w 128.0)) + ) + ) + (close-sky-buffer s4-0) + (let ((v1-54 (/ (+ (- -16 (the-as int s3-1)) (the-as int (-> s4-0 base))) 16))) + (set! (-> s3-1 dma) (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc v1-54)) + (set! (-> s3-1 vif0) (new 'static 'vif-tag)) + (set! (-> s3-1 vif1) (new 'static 'vif-tag :cmd (vif-cmd direct) :msk #x1 :imm v1-54)) + ) + ) + (let ((v1-58 s4-0)) + (let ((a0-32 (the-as dma-packet (-> v1-58 base)))) + (set! (-> a0-32 dma) (new 'static 'dma-tag :qwc #x3 :id (dma-tag-id cnt))) + (set! (-> a0-32 vif0) (new 'static 'vif-tag)) + (set! (-> a0-32 vif1) (new 'static 'vif-tag :imm #x3 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-58 base) (the-as pointer (&+ a0-32 16))) + ) + ) + (let ((v1-59 s4-0)) + (let ((a0-34 (the-as gs-gif-tag (-> v1-59 base)))) + (set! (-> a0-34 tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x2)) + (set! (-> a0-34 regs) GIF_REGS_ALL_AD) + (set! (-> v1-59 base) (the-as pointer (&+ a0-34 16))) + ) + ) + (let ((v1-60 s4-0)) + (let ((a0-36 (-> v1-60 base))) + (set! (-> (the-as (pointer gs-alpha) a0-36) 0) (new 'static 'gs-alpha :b #x2 :d #x1)) + (set! (-> (the-as (pointer gs-reg64) a0-36) 1) (gs-reg64 alpha-1)) + (set! (-> (the-as (pointer uint64) a0-36) 2) (the-as uint 1)) + (set! (-> (the-as (pointer gs-reg64) a0-36) 3) (gs-reg64 colclamp)) + (set! (-> v1-60 base) (&+ a0-36 32)) + ) + ) + (set-tex-offset (the-as int (-> *vortex-work* off-s-1)) (the-as int (-> *vortex-work* off-t-1))) + (let ((s3-2 (the-as dma-packet (-> s4-0 base)))) + (&+! (-> s4-0 base) 16) + (let ((s2-2 *vortex-poly*)) + (dotimes (s1-3 304) + (render-vortex-quad (-> s2-2 (* s1-3 4)) s4-0 (new 'static 'vector :x 144.0 :y 128.0 :z 255.0 :w 128.0)) + ) + ) + (close-sky-buffer s4-0) + (let ((v1-72 (/ (+ (- -16 (the-as int s3-2)) (the-as int (-> s4-0 base))) 16))) + (set! (-> s3-2 dma) (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc v1-72)) + (set! (-> s3-2 vif0) (new 'static 'vif-tag)) + (set! (-> s3-2 vif1) (new 'static 'vif-tag :cmd (vif-cmd direct) :msk #x1 :imm v1-72)) + ) + ) + ) + (let ((v1-83 *dma-mem-usage*)) + (when (nonzero? v1-83) + (set! (-> v1-83 length) (max 89 (-> v1-83 length))) + (set! (-> v1-83 data 88 name) "sky") + (+! (-> v1-83 data 88 count) 1) + (+! (-> v1-83 data 88 used) + (&- (-> *display* frames (-> *display* on-screen) global-buf base) (the-as uint gp-0)) + ) + (set! (-> v1-83 data 88 total) (-> v1-83 data 88 used)) + ) + ) + ) + ) + 0 + (none) + ) + ) diff --git a/test/decompiler/reference/jak2/levels/intro/vortex-data_REF.gc b/test/decompiler/reference/jak2/levels/intro/vortex-data_REF.gc new file mode 100644 index 000000000..0926cf9de --- /dev/null +++ b/test/decompiler/reference/jak2/levels/intro/vortex-data_REF.gc @@ -0,0 +1,2710 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition of type vortex-vertex +(deftype vortex-vertex (structure) + ((pos vector :inline :offset-assert 0) + (stq vector :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +;; definition for method 3 of type vortex-vertex +(defmethod inspect vortex-vertex ((obj vortex-vertex)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" obj 'vortex-vertex) + (format #t "~1Tpos: ~`vector`P~%" (-> obj pos)) + (format #t "~1Tstq: ~`vector`P~%" (-> obj stq)) + (label cfg-4) + obj + ) + +;; definition of type vortex-vert-array +(deftype vortex-vert-array (structure) + ((data vortex-vertex 306 :inline :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x2640 + :flag-assert #x900002640 + ) + +;; definition for method 3 of type vortex-vert-array +(defmethod inspect vortex-vert-array ((obj vortex-vert-array)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" obj 'vortex-vert-array) + (format #t "~1Tdata[306] @ #x~X~%" (-> obj data)) + (label cfg-4) + obj + ) + +;; definition of type vortex-work +(deftype vortex-work (basic) + ((giftag dma-gif :inline :offset-assert 16) + (off-s-0 uint16 :offset-assert 32) + (off-t-0 uint16 :offset-assert 34) + (off-s-1 uint16 :offset-assert 36) + (off-t-1 uint16 :offset-assert 38) + (off-s-2 uint16 :offset-assert 40) + (off-t-2 uint16 :offset-assert 42) + (off-s-3 uint16 :offset-assert 44) + (off-t-3 uint16 :offset-assert 46) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +;; definition for method 3 of type vortex-work +(defmethod inspect vortex-work ((obj vortex-work)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" obj (-> obj type)) + (format #t "~1Tgiftag: #~%" (-> obj giftag)) + (format #t "~1Toff-s-0: ~D~%" (-> obj off-s-0)) + (format #t "~1Toff-t-0: ~D~%" (-> obj off-t-0)) + (format #t "~1Toff-s-1: ~D~%" (-> obj off-s-1)) + (format #t "~1Toff-t-1: ~D~%" (-> obj off-t-1)) + (format #t "~1Toff-s-2: ~D~%" (-> obj off-s-2)) + (format #t "~1Toff-t-2: ~D~%" (-> obj off-t-2)) + (format #t "~1Toff-s-3: ~D~%" (-> obj off-s-3)) + (format #t "~1Toff-t-3: ~D~%" (-> obj off-t-3)) + (label cfg-4) + obj + ) + +;; definition for symbol *vortex-work*, type vortex-work +(define *vortex-work* + (new 'static 'vortex-work + :giftag (new 'static 'dma-gif + :gif0 (new 'static 'gif-tag64 + :nloop #x1 + :eop #x1 + :pre #x1 + :prim (new 'static 'gs-prim :prim (gs-prim-type tri-fan) :iip #x1 :tme #x1 :abe #x1) + :nreg #x3 + ) + :gif1 (new 'static 'gif-tag-regs :regs0 (gif-reg-id st) :regs1 (gif-reg-id rgbaq) :regs2 (gif-reg-id xyzf2)) + ) + :off-t-1 #x100 + ) + ) + +;; definition for symbol *vortex-vert-array*, type vortex-vert-array +(define *vortex-vert-array* (new 'static 'vortex-vert-array + :data (new 'static 'inline-array vortex-vertex 306 + (new 'static 'vortex-vertex + :pos (new 'static 'vector :z 1351680.0 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -21143.553 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.3549 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -19533.824 :y 8089.6 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.3661 :y 0.5553 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -14950.4 :y 14950.4 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.3974 :y 0.6023 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -8089.6 :y 19533.824 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.4444 :y 0.6338 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 21143.553 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.6448 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 8089.6 :y 19533.824 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.5553 :y 0.6338 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 14950.4 :y 14950.4 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.6023 :y 0.6023 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 19533.824 :y 8089.6 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.6338 :y 0.5553 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 21143.553 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.6448 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 19533.824 :y -8089.6 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.6338 :y 0.4444 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 14950.4 :y -14950.4 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.6023 :y 0.3974 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 8089.6 :y -19533.824 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.5553 :y 0.3661 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -21143.553 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.3549 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -8089.6 :y -19533.824 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.4444 :y 0.3661 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -14950.4 :y -14950.4 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.3974 :y 0.3974 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -19533.824 :y -8089.6 :z 1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.3661 :y 0.4444 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -41766.504 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.2294 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -38588.008 :y 15982.183 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.25 :y 0.6034 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -29532.16 :y 29532.16 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.3086 :y 0.6912 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -15982.183 :y 38588.008 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.3963 :y 0.7498 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 41766.504 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.7703 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 15982.183 :y 38588.008 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.6034 :y 0.7498 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 29532.16 :y 29532.16 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.6912 :y 0.6912 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 38588.008 :y 15982.183 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.7498 :y 0.6034 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 41766.504 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.7703 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 38588.008 :y -15982.183 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.7498 :y 0.3963 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 29532.16 :y -29532.16 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.6912 :y 0.3086 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 15982.183 :y -38588.008 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.6034 :y 0.25 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -41766.504 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.2294 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -15982.183 :y -38588.008 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.3963 :y 0.25 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -29532.16 :y -29532.16 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.3086 :y 0.3086 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -38588.008 :y -15982.183 :z 1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.25 :y 0.3963 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -61361.355 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.1248 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -56692.33 :y 23481.959 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.1534 :y 0.6434 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -43388.93 :y 43388.93 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.2346 :y 0.7651 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -23481.959 :y 56692.33 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.3564 :y 0.8464 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 61361.355 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.875 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 23481.959 :y 56692.33 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.6434 :y 0.8464 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 43388.93 :y 43388.93 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.7651 :y 0.7651 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 56692.33 :y 23481.959 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.8464 :y 0.6434 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 61361.355 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.875 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 56692.33 :y -23481.959 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.8464 :y 0.3564 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 43388.93 :y -43388.93 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.7651 :y 0.2346 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 23481.959 :y -56692.33 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.6434 :y 0.1534 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -61361.355 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.1248 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -23481.959 :y -56692.33 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.3564 :y 0.1534 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -43388.93 :y -43388.93 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.2346 :y 0.2346 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -56692.33 :y -23481.959 :z 1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.1534 :y 0.3564 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -79445.61 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.0617 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -73400.32 :y 30399.693 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.0951 :y 0.6675 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -56176.64 :y 56176.64 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.1901 :y 0.8097 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -30399.693 :y 73400.32 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.3322 :y 0.9046 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 79445.61 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.938 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 30399.693 :y 73400.32 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.6675 :y 0.9046 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 56176.64 :y 56176.64 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.8097 :y 0.8097 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 73400.32 :y 30399.693 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.9046 :y 0.6675 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 79445.61 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.938 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 73400.32 :y -30399.693 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.9046 :y 0.3322 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 56176.64 :y -56176.64 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.8097 :y 0.1901 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 30399.693 :y -73400.32 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.6675 :y 0.0951 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -79445.61 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.0617 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -30399.693 :y -73400.32 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.3322 :y 0.0951 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -56176.64 :y -56176.64 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.1901 :y 0.1901 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -73400.32 :y -30399.693 :z 1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.0951 :y 0.3322 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -95575.66 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.0325 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -88301.57 :y 36572.363 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.0681 :y 0.6787 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -67579.91 :y 67584.0 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.1694 :y 0.8303 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -36572.363 :y 88301.57 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.321 :y 0.9316 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 95575.66 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.9672 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 36572.363 :y 88301.57 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.6787 :y 0.9316 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 67584.0 :y 67579.91 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.8303 :y 0.8303 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 88301.57 :y 36572.363 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.9316 :y 0.6787 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 95575.66 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.9672 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 88301.57 :y -36572.363 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.9316 :y 0.321 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 67579.91 :y -67579.91 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.8303 :y 0.1694 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 36572.363 :y -88301.57 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.6787 :y 0.0681 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -95575.66 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.0325 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -36572.363 :y -88301.57 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.321 :y 0.0681 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -67584.0 :y -67579.91 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.1694 :y 0.1694 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -88301.57 :y -36572.363 :z 955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.0681 :y 0.321 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -109350.914 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.0172 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -101027.84 :y 41844.33 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.0539 :y 0.6847 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -77324.29 :y 77324.29 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.1585 :y 0.8413 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -41844.33 :y 101027.84 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.3151 :y 0.9458 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 109350.914 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.9826 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 41844.33 :y 101027.84 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.6847 :y 0.9458 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 77324.29 :y 77324.29 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.8413 :y 0.8413 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 101027.84 :y 41844.33 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.9458 :y 0.6847 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 109350.914 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.9826 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 101027.84 :y -41844.33 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.9458 :y 0.3151 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 77324.29 :y -77324.29 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.8413 :y 0.1585 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 41844.33 :y -101027.84 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.6847 :y 0.0539 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -109350.914 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.0172 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -41844.33 :y -101027.84 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.3151 :y 0.0539 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -77324.29 :y -77324.29 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.1585 :y 0.1585 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -101027.84 :y -41844.33 :z 794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.0539 :y 0.3151 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -120434.28 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.0103 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -111267.84 :y 46087.37 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.0475 :y 0.6873 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -85159.94 :y 85159.94 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.1537 :y 0.846 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -46087.37 :y 111267.84 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.3125 :y 0.9522 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 120434.28 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.9894 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 46087.37 :y 111267.84 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.6873 :y 0.9522 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 85159.94 :y 85159.94 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.846 :y 0.846 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 111267.84 :y 46087.37 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.9522 :y 0.6873 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 120434.28 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.9894 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 111267.84 :y -46087.37 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.9522 :y 0.3125 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 85159.94 :y -85159.94 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.846 :y 0.1537 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 46087.37 :y -111267.84 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.6873 :y 0.0475 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -120434.28 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.0103 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -46087.37 :y -111267.84 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.3125 :y 0.0475 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -85159.94 :y -85159.94 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.1537 :y 0.1537 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -111267.84 :y -46087.37 :z 613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.0475 :y 0.3125 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -128548.87 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.0052 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -118763.52 :y 49192.96 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.0429 :y 0.6891 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -90898.02 :y 90898.02 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.1501 :y 0.8496 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -49192.96 :y 118763.52 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.3106 :y 0.9568 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 128548.87 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.9945 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 49192.96 :y 118763.52 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.6891 :y 0.9568 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 90898.02 :y 90898.02 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.8496 :y 0.8496 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 118763.52 :y 49192.96 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.9568 :y 0.6891 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 128548.87 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.9945 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 118763.52 :y -49192.96 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.9568 :y 0.3106 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 90898.02 :y -90898.02 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.8496 :y 0.1501 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 49192.96 :y -118763.52 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.6891 :y 0.0429 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -128548.87 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.0052 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -49192.96 :y -118763.52 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.3106 :y 0.0429 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -90898.02 :y -90898.02 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.1501 :y 0.1501 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -118763.52 :y -49192.96 :z 417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.0429 :y 0.3106 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -133500.11 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.0018 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -123338.34 :y 51089.0 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.0397 :y 0.6905 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -94400.516 :y 94400.516 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.1477 :y 0.852 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -51089.0 :y 123338.34 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.3093 :y 0.96 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 133500.11 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.9979 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 51089.0 :y 123338.34 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.6905 :y 0.96 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 94400.516 :y 94400.516 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.852 :y 0.852 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 123338.34 :y 51089.0 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.96 :y 0.6905 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 133500.11 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.9979 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 123338.34 :y -51089.0 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.96 :y 0.3093 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 94400.516 :y -94400.516 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.852 :y 0.1477 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 51089.0 :y -123338.34 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.6905 :y 0.0397 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -133500.11 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.0018 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -51089.0 :y -123338.34 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.3093 :y 0.0397 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -94400.516 :y -94400.516 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.1477 :y 0.1477 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -123338.34 :y -51089.0 :z 211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.0397 :y 0.3093 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -135163.9 :w 1.0) + :stq (new 'static 'vector :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -124878.85 :y 51724.29 :w 1.0) + :stq (new 'static 'vector :x 0.0379 :y 0.6912 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -95575.66 :y 95575.66 :w 1.0) + :stq (new 'static 'vector :x 0.1463 :y 0.8534 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -51724.29 :y 124878.85 :w 1.0) + :stq (new 'static 'vector :x 0.3085 :y 0.9618 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 135163.9 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.9998 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 51724.29 :y 124878.85 :w 1.0) + :stq (new 'static 'vector :x 0.6912 :y 0.9618 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 95575.66 :y 95575.66 :w 1.0) + :stq (new 'static 'vector :x 0.8534 :y 0.8534 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 124878.85 :y 51724.29 :w 1.0) + :stq (new 'static 'vector :x 0.9618 :y 0.6912 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 135168.0 :w 1.0) + :stq (new 'static 'vector :x 0.9998 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 124878.85 :y -51724.29 :w 1.0) + :stq (new 'static 'vector :x 0.9618 :y 0.3085 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 95575.66 :y -95575.66 :w 1.0) + :stq (new 'static 'vector :x 0.8534 :y 0.1463 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 51724.29 :y -124878.85 :w 1.0) + :stq (new 'static 'vector :x 0.6912 :y 0.0379 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -135163.9 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -51724.29 :y -124878.85 :w 1.0) + :stq (new 'static 'vector :x 0.3085 :y 0.0379 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -95575.66 :y -95575.66 :w 1.0) + :stq (new 'static 'vector :x 0.1463 :y 0.1463 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -124878.85 :y -51724.29 :w 1.0) + :stq (new 'static 'vector :x 0.0379 :y 0.3085 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -133500.11 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.0018 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -123338.34 :y 51089.0 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.0397 :y 0.6905 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -94400.516 :y 94400.516 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.1477 :y 0.852 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -51089.0 :y 123338.34 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.3093 :y 0.96 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 133500.11 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.9979 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 51089.0 :y 123338.34 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.6905 :y 0.96 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 94400.516 :y 94400.516 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.852 :y 0.852 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 123338.34 :y 51089.0 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.96 :y 0.6905 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 133500.11 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.9979 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 123338.34 :y -51089.0 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.96 :y 0.3093 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 94400.516 :y -94400.516 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.852 :y 0.1477 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 51089.0 :y -123338.34 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.6905 :y 0.0397 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -133500.11 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.0018 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -51089.0 :y -123338.34 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.3093 :y 0.0397 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -94400.516 :y -94400.516 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.1477 :y 0.1477 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -123338.34 :y -51089.0 :z -211447.81 :w 1.0) + :stq (new 'static 'vector :x 0.0397 :y 0.3093 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -128548.87 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.0052 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -118763.52 :y 49192.96 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.0429 :y 0.6891 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -90898.02 :y 90898.02 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.1501 :y 0.8496 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -49192.96 :y 118763.52 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.3106 :y 0.9568 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 128548.87 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.9945 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 49192.96 :y 118763.52 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.6891 :y 0.9568 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 90898.02 :y 90898.02 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.8496 :y 0.8496 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 118763.52 :y 49192.96 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.9568 :y 0.6891 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 128548.87 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.9945 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 118763.52 :y -49192.96 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.9568 :y 0.3106 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 90898.02 :y -90898.02 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.8496 :y 0.1501 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 49192.96 :y -118763.52 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.6891 :y 0.0429 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -128548.87 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.0052 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -49192.96 :y -118763.52 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.3106 :y 0.0429 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -90898.02 :y -90898.02 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.1501 :y 0.1501 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -118763.52 :y -49192.96 :z -417688.78 :w 1.0) + :stq (new 'static 'vector :x 0.0429 :y 0.3106 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -120434.28 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.0103 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -111267.84 :y 46087.37 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.0475 :y 0.6873 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -85159.94 :y 85159.94 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.1537 :y 0.846 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -46087.37 :y 111267.84 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.3125 :y 0.9522 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 120434.28 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.9894 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 46087.37 :y 111267.84 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.6873 :y 0.9522 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 85159.94 :y 85159.94 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.846 :y 0.846 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 111267.84 :y 46087.37 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.9522 :y 0.6873 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 120434.28 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.9894 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 111267.84 :y -46087.37 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.9522 :y 0.3125 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 85159.94 :y -85159.94 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.846 :y 0.1537 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 46087.37 :y -111267.84 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.6873 :y 0.0475 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -120434.28 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.0103 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -46087.37 :y -111267.84 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.3125 :y 0.0475 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -85159.94 :y -85159.94 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.1537 :y 0.1537 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -111267.84 :y -46087.37 :z -613645.94 :w 1.0) + :stq (new 'static 'vector :x 0.0475 :y 0.3125 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -109350.914 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.0172 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -101027.84 :y 41844.33 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.0539 :y 0.6847 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -77324.29 :y 77324.29 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.1585 :y 0.8413 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -41844.33 :y 101027.84 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.3151 :y 0.9458 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 109350.914 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.9826 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 41844.33 :y 101027.84 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.6847 :y 0.9458 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 77324.29 :y 77324.29 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.8413 :y 0.8413 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 101027.84 :y 41844.33 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.9458 :y 0.6847 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 109350.914 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.9826 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 101027.84 :y -41844.33 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.9458 :y 0.3151 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 77324.29 :y -77324.29 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.8413 :y 0.1585 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 41844.33 :y -101027.84 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.6847 :y 0.0539 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -109350.914 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.0172 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -41844.33 :y -101027.84 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.3151 :y 0.0539 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -77324.29 :y -77324.29 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.1585 :y 0.1585 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -101027.84 :y -41844.33 :z -794496.6 :w 1.0) + :stq (new 'static 'vector :x 0.0539 :y 0.3151 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -95575.66 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.0325 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -88301.57 :y 36572.363 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.0681 :y 0.6787 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -67579.91 :y 67584.0 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.1694 :y 0.8303 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -36572.363 :y 88301.57 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.321 :y 0.9316 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 95575.66 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.9672 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 36572.363 :y 88301.57 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.6787 :y 0.9316 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 67584.0 :y 67579.91 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.8303 :y 0.8303 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 88301.57 :y 36572.363 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.9316 :y 0.6787 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 95575.66 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.9672 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 88301.57 :y -36572.363 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.9316 :y 0.321 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 67579.91 :y -67584.0 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.8303 :y 0.1694 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 36572.363 :y -88301.57 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.6787 :y 0.0681 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -95575.66 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.0325 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -36572.363 :y -88301.57 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.321 :y 0.0681 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -67584.0 :y -67579.91 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.1694 :y 0.1694 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -88301.57 :y -36572.363 :z -955781.1 :w 1.0) + :stq (new 'static 'vector :x 0.0681 :y 0.321 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -79445.61 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.0617 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -73400.32 :y 30399.693 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.0951 :y 0.6675 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -56176.64 :y 56176.64 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.1901 :y 0.8097 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -30399.693 :y 73400.32 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.3322 :y 0.9046 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 79445.61 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.938 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 30399.693 :y 73400.32 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.6675 :y 0.9046 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 56176.64 :y 56176.64 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.8097 :y 0.8097 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 73400.32 :y 30399.693 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.9046 :y 0.6675 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 79445.61 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.938 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 73400.32 :y -30399.693 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.9046 :y 0.3322 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 56176.64 :y -56176.64 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.8097 :y 0.1901 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 30399.693 :y -73400.32 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.6675 :y 0.0951 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -79445.61 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.0617 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -30399.693 :y -73400.32 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.3322 :y 0.0951 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -56176.64 :y -56176.64 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.1901 :y 0.1901 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -73400.32 :y -30399.693 :z -1093529.6 :w 1.0) + :stq (new 'static 'vector :x 0.0951 :y 0.3322 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -61361.355 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.1248 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -56692.33 :y 23481.959 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.1534 :y 0.6434 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -43388.93 :y 43388.93 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.2346 :y 0.7651 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -23481.959 :y 56692.33 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.3564 :y 0.8464 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 61361.355 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.5 :y 0.875 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 23481.959 :y 56692.33 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.6434 :y 0.8464 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 43388.93 :y 43388.93 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.7651 :y 0.7651 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 56692.33 :y 23481.959 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.8464 :y 0.6434 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 61361.355 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.875 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 56692.33 :y -23481.959 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.8464 :y 0.3564 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 43388.93 :y -43388.93 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.7651 :y 0.2346 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 23481.959 :y -56692.33 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.6434 :y 0.1534 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -61361.355 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.1248 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -23481.959 :y -56692.33 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.3564 :y 0.1534 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -43388.93 :y -43388.93 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.2346 :y 0.2346 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -56692.33 :y -23481.959 :z -1204355.1 :w 1.0) + :stq (new 'static 'vector :x 0.1534 :y 0.3564 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -41766.504 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.2294 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -38588.008 :y 15982.183 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.25 :y 0.6034 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -29532.16 :y 29532.16 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.3086 :y 0.6912 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -15982.183 :y 38588.008 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.3963 :y 0.7498 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 41766.504 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.7703 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 15982.183 :y 38588.008 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.6034 :y 0.7498 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 29532.16 :y 29532.16 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.6912 :y 0.6912 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 38588.008 :y 15982.183 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.7498 :y 0.6034 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 41766.504 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.7703 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 38588.008 :y -15982.183 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.7498 :y 0.3963 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 29532.16 :y -29532.16 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.6912 :y 0.3086 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 15982.183 :y -38588.008 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.6034 :y 0.25 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -41766.504 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.2294 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -15982.183 :y -38588.008 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.3963 :y 0.25 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -29532.16 :y -29532.16 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.3086 :y 0.3086 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -38588.008 :y -15982.183 :z -1285521.0 :w 1.0) + :stq (new 'static 'vector :x 0.25 :y 0.3963 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -21143.553 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.3549 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -19533.824 :y 8089.6 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.3661 :y 0.5553 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -14950.4 :y 14950.4 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.3974 :y 0.6023 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -8089.6 :y 19533.824 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.4444 :y 0.6338 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y 21143.553 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.6448 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 8089.6 :y 19533.824 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.5553 :y 0.6338 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 14950.4 :y 14950.4 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.6023 :y 0.6023 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 19533.824 :y 8089.6 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.6338 :y 0.5553 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 21143.553 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.6448 :y 0.5 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 19533.824 :y -8089.6 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.6338 :y 0.4444 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 14950.4 :y -14950.4 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.6023 :y 0.3974 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x 8089.6 :y -19533.824 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.5553 :y 0.3661 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :y -21143.553 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.3549 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -8089.6 :y -19533.824 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.4444 :y 0.3661 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -14950.4 :y -14950.4 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.3974 :y 0.3974 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :x -19533.824 :y -8089.6 :z -1335038.0 :w 1.0) + :stq (new 'static 'vector :x 0.3661 :y 0.4444 :z 1.0) + ) + (new 'static 'vortex-vertex + :pos (new 'static 'vector :z -1351680.0 :w 1.0) + :stq (new 'static 'vector :x 0.4999 :y 0.5 :z 1.0) + ) + ) + ) + ) + +;; definition for symbol *vortex-poly*, type (inline-array vortex-vertex) +(define *vortex-poly* + "TODO - this is a guess based on similarly named fields, it's a MASSIVE empty array" + (new 'static 'inline-array vortex-vertex 1216 + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + (new 'static 'vortex-vertex) + ) + ) + +;; definition for symbol *vortex-tvals*, type (pointer float) +(define *vortex-tvals* "TODO - also a guess, just a bunch of floats" (new 'static 'array float 20 + 0.129616 + 0.232515 + 0.312052 + 0.37201 + 0.416099 + 0.447693 + 0.469699 + 0.484531 + 0.494127 + 0.5 + 0.505873 + 0.515468 + 0.5303 + 0.552306 + 0.583899 + 0.627988 + 0.687946 + 0.767484 + 0.870383 + 0.0 + ) + ) + +;; definition for function init-vortex-polys +;; INFO: Used lq/sq +;; WARN: Return type mismatch symbol vs none. +;; ERROR: Unsupported inline assembly instruction kind - [lq ra, 0(ra)] +(defun init-vortex-polys () + (local-vars (ra-1 int)) + (let ((v1-0 0) + (a0-0 *vortex-vert-array*) + (a1-0 *vortex-poly*) + ) + (set-vector! (-> a0-0 data 0 stq) 0.5 0.0 1.0 0.0) + (dotimes (a2-1 19) + (let ((f0-4 (-> *vortex-tvals* a2-1))) + (dotimes (a3-4 16) + (let ((t0-2 (the-as object (+ (the-as uint (-> a0-0 data 0 stq)) (* (+ a3-4 1 (* a2-1 16)) 32))))) + (set! (-> (the-as (pointer float) t0-2)) (* 0.0625 (the float a3-4))) + (set! (-> (the-as (pointer float) t0-2) 1) f0-4) + (set! (-> (the-as (pointer float) t0-2) 2) 1.0) + (set! (-> (the-as (pointer float) t0-2) 3) 0.0) + ) + ) + ) + ) + (let ((a2-4 (new 'static 'vector :x 32768.0 :y 819200.0 :z 32768.0))) + (dotimes (a3-7 306) + (vector+! (the-as vector (-> a0-0 data a3-7)) (the-as vector (-> a0-0 data a3-7)) a2-4) + ) + ) + (dotimes (a2-7 8) + (let ((t3-0 (-> a0-0 data)) + (t2-3 (-> a0-0 data (+ (* a2-7 2) 1))) + (t1-8 (-> a0-0 data (+ (* a2-7 2) 2))) + (a3-20 (-> a0-0 data (+ (* a2-7 2) 3))) + (t6-0 (-> a1-0 v1-0)) + (t5-0 (-> a1-0 (+ v1-0 1))) + (t4-0 (-> a1-0 (+ v1-0 2))) + (t0-13 (-> a1-0 (+ v1-0 3))) + ) + (if (= a2-7 7) + (set! a3-20 (-> a0-0 data 1)) + ) + (set! (-> t6-0 pos quad) (-> t3-0 0 pos quad)) + (set! (-> t6-0 stq quad) (-> t3-0 0 stq quad)) + (set! (-> t5-0 pos quad) (-> t2-3 pos quad)) + (set! (-> t5-0 stq quad) (-> t2-3 stq quad)) + (set! (-> t4-0 pos quad) (-> t1-8 pos quad)) + (set! (-> t4-0 stq quad) (-> t1-8 stq quad)) + (set! (-> t0-13 pos quad) (-> a3-20 pos quad)) + (set! (-> t0-13 stq quad) (-> a3-20 stq quad)) + (if (= a2-7 7) + (set! (-> t0-13 stq x) 1.0) + ) + ) + (+! v1-0 4) + ) + (dotimes (a2-10 18) + (let ((a3-29 (+ (* a2-10 16) 1))) + (dotimes (t0-14 16) + (let ((t6-4 (-> a0-0 data (+ a3-29 t0-14))) + (t3-7 (-> a0-0 data (+ t0-14 16 a3-29))) + (t4-1 (-> a0-0 data (+ t0-14 17 a3-29))) + (t5-1 (-> a0-0 data (+ t0-14 1 a3-29))) + (t8-2 (-> a1-0 v1-0)) + (t7-4 (-> a1-0 (+ v1-0 1))) + (t1-33 (-> a1-0 (+ v1-0 2))) + (t2-12 (-> a1-0 (+ v1-0 3))) + ) + (when (= t0-14 15) + (set! t4-1 (-> a0-0 data (+ a3-29 16))) + (set! t5-1 (-> a0-0 data a3-29)) + ) + (let ((t9-3 (-> t8-2 pos))) + (let ((ra-0 (-> t6-4 pos))) + (.lq ra-1 0 ra-0) + ) + (set! (-> t9-3 quad) (the-as uint128 ra-1)) + ) + (set! (-> t8-2 stq quad) (-> t6-4 stq quad)) + (set! (-> t7-4 pos quad) (-> t3-7 pos quad)) + (set! (-> t7-4 stq quad) (-> t3-7 stq quad)) + (set! (-> t1-33 pos quad) (-> t4-1 pos quad)) + (set! (-> t1-33 stq quad) (-> t4-1 stq quad)) + (set! (-> t2-12 pos quad) (-> t5-1 pos quad)) + (set! (-> t2-12 stq quad) (-> t5-1 stq quad)) + (when (= t0-14 15) + (set! (-> t1-33 stq x) 1.0) + (set! (-> t2-12 stq x) 1.0) + ) + ) + (+! v1-0 4) + ) + ) + ) + (dotimes (a2-13 8) + (let ((t3-17 (-> a0-0 data 305)) + (t2-13 (-> a0-0 data (+ (* a2-13 2) 289))) + (t1-37 (-> a0-0 data (+ (* a2-13 2) 290))) + (a3-44 (-> a0-0 data (+ (* a2-13 2) 291))) + (t6-11 (-> a1-0 v1-0)) + (t5-4 (-> a1-0 (+ v1-0 1))) + (t4-11 (-> a1-0 (+ v1-0 2))) + (t0-22 (-> a1-0 (+ v1-0 3))) + ) + (if (= a2-13 7) + (set! a3-44 (-> a0-0 data 289)) + ) + (set! (-> t6-11 pos quad) (-> t3-17 pos quad)) + (set! (-> t6-11 stq quad) (-> t3-17 stq quad)) + (set! (-> t5-4 pos quad) (-> t2-13 pos quad)) + (set! (-> t5-4 stq quad) (-> t2-13 stq quad)) + (set! (-> t4-11 pos quad) (-> t1-37 pos quad)) + (set! (-> t4-11 stq quad) (-> t1-37 stq quad)) + (set! (-> t0-22 pos quad) (-> a3-44 pos quad)) + (set! (-> t0-22 stq quad) (-> a3-44 stq quad)) + (if (= a2-13 7) + (set! (-> t0-22 stq x) 1.0) + ) + ) + (+! v1-0 4) + ) + ) + (none) + ) + +;; failed to figure out what this is: +(init-vortex-polys) + + + + diff --git a/test/decompiler/reference/jak2/levels/intro/vortex_REF.gc b/test/decompiler/reference/jak2/levels/intro/vortex_REF.gc new file mode 100644 index 000000000..bc1a897b9 --- /dev/null +++ b/test/decompiler/reference/jak2/levels/intro/vortex_REF.gc @@ -0,0 +1,201 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition for function sort-vortex-data +;; ERROR: function has no type analysis. Cannot decompile. + +;; definition for function init-vortex-regs +;; INFO: function output is handled by mips2c +(def-mips2c init-vortex-regs (function none)) + +;; definition for function draw-large-polygon-vortex +;; INFO: function output is handled by mips2c +(def-mips2c draw-large-polygon-vortex function) + +;; definition for function render-vortex-quad +;; INFO: function output is handled by mips2c +(def-mips2c render-vortex-quad (function vortex-vertex dma-buffer vector none)) + +;; definition for function update-vortex-data +;; WARN: Return type mismatch int vs none. +(defun update-vortex-data ((arg0 float)) + (when (not (paused?)) + (+! (-> *vortex-work* off-s-0) (the int (* 4.0 arg0))) + (+! (-> *vortex-work* off-t-0) (the int (* -8.0 arg0))) + (+! (-> *vortex-work* off-s-1) (the int (* 4.0 arg0))) + (+! (-> *vortex-work* off-t-1) (the int (* -8.0 arg0))) + ) + 0 + (none) + ) + +;; definition for function draw-vortex +;; INFO: Used lq/sq +;; WARN: Return type mismatch int vs none. +;; ERROR: Failed store: (s.w! (+ v1-76 8) 0) at op 268 +(defun draw-vortex () + (rlet ((vf27 :class vf)) + (when (and (logtest? (-> *display* vu1-enable-user) (vu1-renderer-mask sky)) + (logtest? (-> *texture-pool* texture-enable-user) (texture-enable-mask sky)) + ) + (let ((gp-0 (-> *display* frames (-> *display* on-screen) global-buf base))) + (update-vortex-data 60.0) + (with-dma-buffer-add-bucket ((s4-0 (-> *display* frames (-> *display* on-screen) global-buf)) + (bucket-id sky-draw) + ) + (let ((v1-17 s4-0)) + (let ((a0-6 (the-as dma-packet (-> v1-17 base)))) + (set! (-> a0-6 dma) (new 'static 'dma-tag :qwc #x4 :id (dma-tag-id cnt))) + (set! (-> a0-6 vif0) (new 'static 'vif-tag)) + (set! (-> a0-6 vif1) (new 'static 'vif-tag :imm #x4 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-17 base) (the-as pointer (&+ a0-6 16))) + ) + ) + (let ((v1-18 s4-0)) + (let ((a0-8 (the-as gs-gif-tag (-> v1-18 base)))) + (set! (-> a0-8 tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x3)) + (set! (-> a0-8 regs) GIF_REGS_ALL_AD) + (set! (-> v1-18 base) (the-as pointer (&+ a0-8 16))) + ) + ) + (let ((v1-19 s4-0)) + (let ((a0-10 (-> v1-19 base))) + (set! (-> (the-as (pointer gs-zbuf) a0-10) 0) (new 'static 'gs-zbuf :zbp #x130 :psm (gs-psm ct24))) + (set! (-> (the-as (pointer gs-reg64) a0-10) 1) (gs-reg64 zbuf-1)) + (set! (-> (the-as (pointer gs-test) a0-10) 2) + (new 'static 'gs-test :ate #x1 :atst (gs-atest always) :zte #x1 :ztst (gs-ztest always)) + ) + (set! (-> (the-as (pointer gs-reg64) a0-10) 3) (gs-reg64 test-1)) + (set! (-> (the-as (pointer gs-rgbaq) a0-10) 4) (new 'static 'gs-rgbaq :b #x40 :q 1.0)) + (set! (-> (the-as (pointer gs-reg64) a0-10) 5) (gs-reg64 rgbaq)) + (set! (-> v1-19 base) (&+ a0-10 48)) + ) + ) + (let ((v1-20 (-> s4-0 base))) + (set! (-> (the-as (pointer uint128) v1-20)) (-> *sky-work* sprite-tmpl dma-vif quad)) + (set! (-> (the-as (pointer uint128) v1-20) 1) (-> *sky-work* sprite-tmpl quad 1)) + ) + (&+! (-> s4-0 base) 32) + (let ((v1-23 (-> s4-0 base))) + (set-vector! (the-as vector4w (&+ v1-23 0)) #x7000 #x7300 0 0) + (set-vector! (the-as vector4w (&+ v1-23 16)) #x9000 #x8d00 0 0) + ) + (&+! (-> s4-0 base) 32) + (let ((v1-27 s4-0)) + (let ((a0-19 (the-as dma-packet (-> v1-27 base)))) + (set! (-> a0-19 dma) (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt))) + (set! (-> a0-19 vif0) (new 'static 'vif-tag)) + (set! (-> a0-19 vif1) (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-27 base) (the-as pointer (&+ a0-19 16))) + ) + ) + (let ((v1-28 s4-0)) + (let ((a0-21 (the-as gs-gif-tag (-> v1-28 base)))) + (set! (-> a0-21 tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x5)) + (set! (-> a0-21 regs) GIF_REGS_ALL_AD) + (set! (-> v1-28 base) (the-as pointer (&+ a0-21 16))) + ) + ) + (let ((s3-0 s4-0)) + (let ((s2-0 (-> s3-0 base))) + (set! (-> (the-as (pointer gs-tex0) s2-0) 0) (new 'static 'gs-tex0 + :tbp0 #x100 + :tbw #x2 + :psm #x1b + :tcc #x1 + :cbp #x300 + :cld #x1 + :th (log2 128) + :tw (log2 128) + ) + ) + (set! (-> (the-as (pointer gs-reg64) s2-0) 1) (gs-reg64 tex0-1)) + (set! (-> (the-as (pointer gs-tex1) s2-0) 2) (new 'static 'gs-tex1 :mmag #x1 :mmin #x1)) + (set! (-> (the-as (pointer gs-reg64) s2-0) 3) (gs-reg64 tex1-1)) + (set! (-> (the-as (pointer gs-clamp) s2-0) 4) (new 'static 'gs-clamp)) + (set! (-> (the-as (pointer gs-reg64) s2-0) 5) (gs-reg64 clamp-1)) + (set! (-> (the-as (pointer gs-alpha) s2-0) 6) (new 'static 'gs-alpha :b #x1 :d #x1)) + (set! (-> (the-as (pointer gs-reg64) s2-0) 7) (gs-reg64 alpha-1)) + (set! (-> (the-as (pointer uint64) s2-0) 8) (the-as uint 0)) + (set! (-> (the-as (pointer gs-reg64) s2-0) 9) (gs-reg64 texflush)) + (set! (-> s3-0 base) (&+ s2-0 80)) + ) + ) + (init-vortex-regs) + (.lvf vf27 (&-> *vortex-work* giftag quad)) + (set-tex-offset (the-as int (-> *vortex-work* off-s-0)) (the-as int (-> *vortex-work* off-t-0))) + (let ((s3-1 (the-as dma-packet (-> s4-0 base)))) + (&+! (-> s4-0 base) 16) + (let ((s2-1 *vortex-poly*)) + (dotimes (s1-2 304) + (render-vortex-quad (-> s2-1 (* s1-2 4)) s4-0 (new 'static 'vector :z 128.0 :w 128.0)) + ) + ) + (close-sky-buffer s4-0) + (let ((v1-54 (/ (+ (- -16 (the-as int s3-1)) (the-as int (-> s4-0 base))) 16))) + (set! (-> s3-1 dma) (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc v1-54)) + (set! (-> s3-1 vif0) (new 'static 'vif-tag)) + (set! (-> s3-1 vif1) (new 'static 'vif-tag :cmd (vif-cmd direct) :msk #x1 :imm v1-54)) + ) + ) + (let ((v1-58 s4-0)) + (let ((a0-32 (the-as dma-packet (-> v1-58 base)))) + (set! (-> a0-32 dma) (new 'static 'dma-tag :qwc #x3 :id (dma-tag-id cnt))) + (set! (-> a0-32 vif0) (new 'static 'vif-tag)) + (set! (-> a0-32 vif1) (new 'static 'vif-tag :imm #x3 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-58 base) (the-as pointer (&+ a0-32 16))) + ) + ) + (let ((v1-59 s4-0)) + (let ((a0-34 (the-as gs-gif-tag (-> v1-59 base)))) + (set! (-> a0-34 tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x2)) + (set! (-> a0-34 regs) GIF_REGS_ALL_AD) + (set! (-> v1-59 base) (the-as pointer (&+ a0-34 16))) + ) + ) + (let ((v1-60 s4-0)) + (let ((a0-36 (-> v1-60 base))) + (set! (-> (the-as (pointer gs-alpha) a0-36) 0) (new 'static 'gs-alpha :b #x2 :d #x1)) + (set! (-> (the-as (pointer gs-reg64) a0-36) 1) (gs-reg64 alpha-1)) + (set! (-> (the-as (pointer uint64) a0-36) 2) (the-as uint 1)) + (set! (-> (the-as (pointer gs-reg64) a0-36) 3) (gs-reg64 colclamp)) + (set! (-> v1-60 base) (&+ a0-36 32)) + ) + ) + (set-tex-offset (the-as int (-> *vortex-work* off-s-1)) (the-as int (-> *vortex-work* off-t-1))) + (let ((s3-2 (the-as dma-packet (-> s4-0 base)))) + (&+! (-> s4-0 base) 16) + (let ((s2-2 *vortex-poly*)) + (dotimes (s1-3 304) + (render-vortex-quad (-> s2-2 (* s1-3 4)) s4-0 (new 'static 'vector :x 144.0 :y 128.0 :z 255.0 :w 128.0)) + ) + ) + (close-sky-buffer s4-0) + (let ((v1-72 (/ (+ (- -16 (the-as int s3-2)) (the-as int (-> s4-0 base))) 16))) + (set! (-> s3-2 dma) (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc v1-72)) + (set! (-> s3-2 vif0) (new 'static 'vif-tag)) + (set! (-> s3-2 vif1) (new 'static 'vif-tag :cmd (vif-cmd direct) :msk #x1 :imm v1-72)) + ) + ) + ) + (let ((v1-83 *dma-mem-usage*)) + (when (nonzero? v1-83) + (set! (-> v1-83 length) (max 89 (-> v1-83 length))) + (set! (-> v1-83 data 88 name) "sky") + (+! (-> v1-83 data 88 count) 1) + (+! (-> v1-83 data 88 used) + (&- (-> *display* frames (-> *display* on-screen) global-buf base) (the-as uint gp-0)) + ) + (set! (-> v1-83 data 88 total) (-> v1-83 data 88 used)) + ) + ) + ) + ) + 0 + (none) + ) + ) + + + + diff --git a/test/offline/config/jak2/config.jsonc b/test/offline/config/jak2/config.jsonc index cc34859a7..aac3723e6 100644 --- a/test/offline/config/jak2/config.jsonc +++ b/test/offline/config/jak2/config.jsonc @@ -306,7 +306,8 @@ "(method 14 nav-graph)", "target-pilot-init", "(method 224 crimson-guard)", // .mula.s - "metalkor-egg-reaction" // .mula.s + "metalkor-egg-reaction", // .mula.s + "init-vortex-polys" ], "skip_compile_states": {