Advertisement
tinyevil

Untitled

Oct 12th, 2018
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 346.18 KB | None | 0 0
  1. #include <fl/_impl/core_impl.h>
  2. #include <fl/com/meduzik/matcharena/game/field/GameField.h>
  3. namespace fl::com::meduzik::matcharena::game::field{
  4. GameField::GameField(){
  5. }
  6.  
  7. GameField* GameField::jfl_New(fl::com::meduzik::matcharena::MatchArenaContext* context, fl::com::meduzik::matcharena::game::field::resources::GameFieldResources* resources, fl::com::meduzik::matcharena::engine::Match3Engine* engine, fl::com::meduzik::matcharena::game::field::GameFieldCallback* gameCallback){
  8.     GameField* jfl_this = jfl::allocate<GameField>();
  9.     jfl_this->jfl_Constructor(context, resources, engine, gameCallback);
  10.     return jfl_this;
  11. }
  12.  
  13. void GameField::jfl_Constructor(fl::com::meduzik::matcharena::MatchArenaContext* context, fl::com::meduzik::matcharena::game::field::resources::GameFieldResources* resources, fl::com::meduzik::matcharena::engine::Match3Engine* engine, fl::com::meduzik::matcharena::game::field::GameFieldCallback* gameCallback){
  14.     /*
  15.     main:
  16.         locals:
  17.             context : class com.meduzik.matcharena.MatchArenaContext
  18.             resources : class com.meduzik.matcharena.game.field.resources.GameFieldResources
  19.             engine : class com.meduzik.matcharena.engine.Match3Engine
  20.             gameCallback : class com.meduzik.matcharena.game.field.GameFieldCallback
  21.             tileRenderer : class com.meduzik.matcharena.game.field.view.ObjectView
  22.         code:
  23.             block_0:
  24.                 r0 = read_local gameCallback
  25.                 write_cfield com.meduzik.matcharena.game.field.GameField.gameCallback this r0
  26.                 r1 = read_local engine
  27.                 write_cfield com.meduzik.matcharena.game.field.GameField.engine this r1
  28.                 r2 = read_local resources
  29.                 write_cfield com.meduzik.matcharena.game.field.GameField._resources this r2
  30.                 r3 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
  31.                 r4 = read_local gameCallback
  32.                 r5 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.setCallback r3 r4
  33.                 r6 = newclass com.meduzik.matcharena.game.field.GameFieldView this
  34.                 write_cfield com.meduzik.matcharena.game.field.GameField.view this r6
  35.                 r7 = read_cfield com.meduzik.matcharena.game.field.GameField.view this
  36.                 r8 = newclass com.meduzik.matcharena.game.field.GameFieldInteraction this r7
  37.                 write_cfield com.meduzik.matcharena.game.field.GameField.interaction this r8
  38.                 r9 = newclass com.meduzik.fx.FXList (null:class com.meduzik.lua.LuaState)
  39.                 write_cfield com.meduzik.matcharena.game.field.GameField._fxList this r9
  40.                 r10 = newclass com.meduzik.matcharena.game.field.GameFieldCamera this
  41.                 write_cfield com.meduzik.matcharena.game.field.GameField.camera this r10
  42.                 r11 = read_cfield com.meduzik.matcharena.game.field.view.SortLayer.Plate
  43.                 r12 = read_local resources
  44.                 r13 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.plateBlockerTiles r12
  45.                 r14 = newclass com.meduzik.matcharena.game.field.tile.BorderTileRenderer this r11 r13
  46.                 write_cfield com.meduzik.matcharena.game.field.GameField.plateTiles this r14
  47.                 r15 = read_cfield com.meduzik.matcharena.game.field.view.SortLayer.TileGolden
  48.                 r16 = read_local resources
  49.                 r17 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.grassTiles r16
  50.                 r18 = num_cast int 8.000000
  51.                 r19 = num_cast int 12.000000
  52.                 r20 = num_cast int 8.000000
  53.                 r21 = newclass com.meduzik.matcharena.game.field.tile.TilesetConfig true r18 r19 r20
  54.                 r22 = newclass com.meduzik.matcharena.game.field.tile.TileRenderer this r15 r17 r21
  55.                 write_cfield com.meduzik.matcharena.game.field.GameField.grassTiles this r22
  56.                 r23 = read_cfield com.meduzik.matcharena.game.field.view.SortLayer.TileJam
  57.                 r24 = read_local resources
  58.                 r25 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.jamTiles r24
  59.                 r26 = num_cast int 4.000000
  60.                 r27 = num_cast int 0.000000
  61.                 r28 = num_cast int 0.000000
  62.                 r29 = newclass com.meduzik.matcharena.game.field.tile.TilesetConfig true r26 r27 r28
  63.                 r30 = newclass com.meduzik.matcharena.game.field.tile.TileRenderer this r23 r25 r29
  64.                 write_cfield com.meduzik.matcharena.game.field.GameField.jamTiles this r30
  65.                 r31 = read_cfield com.meduzik.matcharena.game.field.view.SortLayer.CoverChocolate
  66.                 r32 = read_local resources
  67.                 r33 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.lavaTiles r32
  68.                 r34 = num_cast int 16.000000
  69.                 r35 = num_cast int 16.000000
  70.                 r36 = num_cast int 16.000000
  71.                 r37 = newclass com.meduzik.matcharena.game.field.tile.TilesetConfig false r34 r35 r36
  72.                 r38 = newclass com.meduzik.matcharena.game.field.tile.TileRenderer this r31 r33 r37
  73.                 write_cfield com.meduzik.matcharena.game.field.GameField.lavaTiles this r38
  74.                 r39 = read_cfield com.meduzik.matcharena.game.field.GameField.view this
  75.                 r40 = read_cfield com.meduzik.matcharena.game.field.GameField.viewContainer this
  76.                 r41 = call_cmethod com.meduzik.matcharena.game.field.GameFieldView.initialize r39 r40
  77.                 r42 = read_cfield com.meduzik.matcharena.game.field.GameField.interaction this
  78.                 r43 = read_local gameCallback
  79.                 r44 = call_cmethod com.meduzik.matcharena.game.field.GameFieldInteraction.initialize r42 r43
  80.                 r45 = read_cfield com.meduzik.matcharena.game.field.GameField.shoutouts this
  81.                 r46 = read_cfield com.meduzik.matcharena.game.field.GameField.view this
  82.                 r47 = call_cmethod com.meduzik.matcharena.game.field.shoutout.ShoutoutController.initialize r45 r46
  83.                 r48 = read_cfield com.meduzik.matcharena.game.field.GameField.tileRenderers this
  84.                 r49 = read_cfield com.meduzik.matcharena.game.field.GameField.tileRenderers this
  85.                 r50 = call_cmethod Vector.length r49
  86.                 r51 = read_cfield com.meduzik.matcharena.game.field.GameField.grassTiles this
  87.                 r52 = class_cast throws r51 com.meduzik.matcharena.game.field.view.ObjectView
  88.                 write_vecindex r48 r50 r52
  89.                 r53 = read_cfield com.meduzik.matcharena.game.field.GameField.tileRenderers this
  90.                 r54 = read_cfield com.meduzik.matcharena.game.field.GameField.tileRenderers this
  91.                 r55 = call_cmethod Vector.length r54
  92.                 r56 = read_cfield com.meduzik.matcharena.game.field.GameField.jamTiles this
  93.                 r57 = class_cast throws r56 com.meduzik.matcharena.game.field.view.ObjectView
  94.                 write_vecindex r53 r55 r57
  95.                 r58 = read_cfield com.meduzik.matcharena.game.field.GameField.tileRenderers this
  96.                 r59 = read_cfield com.meduzik.matcharena.game.field.GameField.tileRenderers this
  97.                 r60 = call_cmethod Vector.length r59
  98.                 r61 = read_cfield com.meduzik.matcharena.game.field.GameField.lavaTiles this
  99.                 r62 = class_cast throws r61 com.meduzik.matcharena.game.field.view.ObjectView
  100.                 write_vecindex r58 r60 r62
  101.                 r63 = read_cfield com.meduzik.matcharena.game.field.GameField.tileRenderers this
  102.                 r64 = read_cfield com.meduzik.matcharena.game.field.GameField.tileRenderers this
  103.                 r65 = call_cmethod Vector.length r64
  104.                 r66 = read_cfield com.meduzik.matcharena.game.field.GameField.plateTiles this
  105.                 r67 = class_cast throws r66 com.meduzik.matcharena.game.field.view.ObjectView
  106.                 write_vecindex r63 r65 r67
  107.     */
  108.         abort();
  109. }
  110.  
  111. jfl::Number GameField::FastForwardMaxSpeed;
  112. jfl::Number GameField::FastForwardFullTime;
  113. jfl::Int GameField::BackgroundFastForwardThreshold;
  114. jfl::Int GameField::BackgroundFastForwardReverseThreshold;
  115. jfl::Int GameField::StateNothing;
  116. jfl::Int GameField::StateProcessing;
  117. jfl::Int GameField::StateReadyForMove;
  118. jfl::Int GameField::StateEnded;
  119. jfl::Int GameField::StateWaitForBuyMoves;
  120. fl::Function* GameField::GetTimer;
  121. fl::Array* GameField::EmptyArray;
  122.  
  123.  
  124. void GameField::dispose(){
  125.     /*
  126.     main:
  127.         code:
  128.             block_0:
  129.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
  130.                 r1 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.dispose r0
  131.     */
  132.         abort();
  133. }
  134. void GameField::resize(jfl::Number width, jfl::Number height){
  135.     /*
  136.     main:
  137.         locals:
  138.             width : Number
  139.             height : Number
  140.         code:
  141.             block_0:
  142.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.view this
  143.                 r1 = read_local width
  144.                 r2 = read_local height
  145.                 r3 = call_cmethod com.meduzik.matcharena.game.field.GameFieldView.resize r0 r1 r2
  146.                 r4 = read_cfield com.meduzik.matcharena.game.field.GameField.camera this
  147.                 r5 = read_local width
  148.                 r6 = read_local height
  149.                 r7 = call_cmethod com.meduzik.matcharena.game.field.GameFieldCamera.resize r4 r5 r6
  150.                 r8 = read_cfield com.meduzik.matcharena.game.field.GameField.interaction this
  151.                 r9 = read_local width
  152.                 r10 = read_local height
  153.                 r11 = call_cmethod com.meduzik.matcharena.game.field.GameFieldInteraction.resize r8 r9 r10
  154.     */
  155.         abort();
  156. }
  157. void GameField::addObject(fl::com::meduzik::matcharena::game::field::FieldObject* object){
  158.     /*
  159.     main:
  160.         locals:
  161.             object : class com.meduzik.matcharena.game.field.FieldObject
  162.         code:
  163.             block_0:
  164.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.objects this
  165.                 r1 = read_local object
  166.                 r2 = read_dynindex r0 r1
  167.                 r3 = from_any Boolean r2
  168.                 r4 = choice r3 Boolean false true
  169.                 condbr r4 block_1 block_2
  170.             block_1:
  171.                 r5 = read_cfield com.meduzik.matcharena.game.field.GameField.objects this
  172.                 r6 = read_local object
  173.                 r7 = box class Boolean true
  174.                 r8 = to_any r7
  175.                 write_dynindex r5 r6
  176.                 r9 = read_local object
  177.                 r10 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.onAddedToField r9 this
  178.                 br block_2
  179.             block_2:
  180.     */
  181.         abort();
  182. }
  183. void GameField::removeObject(fl::com::meduzik::matcharena::game::field::FieldObject* object){
  184.     /*
  185.     main:
  186.         locals:
  187.             object : class com.meduzik.matcharena.game.field.FieldObject
  188.         code:
  189.             block_0:
  190.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.objects this
  191.                 r1 = read_local object
  192.                 r2 = read_dynindex r0 r1
  193.                 r3 = from_any Boolean r2
  194.                 condbr r3 block_1 block_2
  195.             block_1:
  196.                 r4 = read_local object
  197.                 r5 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.onRemovedFromField r4
  198.                 r6 = read_local object
  199.                 r7 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.dispose r6
  200.                 r8 = read_cfield com.meduzik.matcharena.game.field.GameField.objects this
  201.                 r9 = read_local object
  202.                 br block_2
  203.             block_2:
  204.     */
  205.         abort();
  206. }
  207. void GameField::skipTurn(){
  208.     /*
  209.     main:
  210.         locals:
  211.             wasInteractive : Boolean
  212.             target : int
  213.         code:
  214.             block_0:
  215.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.interactive this
  216.                 write_local wasInteractive r0
  217.                 write_cfield com.meduzik.matcharena.game.field.GameField.interactive this false
  218.                 r1 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  219.                 r2 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.timestamp r1
  220.                 r3 = num_binop Number * 10000.000000 300.000000
  221.                 r4 = num_cast Number r2
  222.                 r5 = num_binop Number + r4 r3
  223.                 r6 = num_cast int r5
  224.                 write_local target r6
  225.                 br block_1
  226.             block_1:
  227.                 r7 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  228.                 r8 = read_local target
  229.                 r9 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.simulate r7 r8
  230.                 r10 = read_cfield com.meduzik.matcharena.engine.Match3Engine.SimulationCompleted
  231.                 r11 = num_cmp neq r9 r10
  232.                 condbr r11 block_2 block_3
  233.             block_2:
  234.                 br block_1
  235.             block_3:
  236.                 r12 = read_local wasInteractive
  237.                 write_cfield com.meduzik.matcharena.game.field.GameField.interactive this r12
  238.                 r13 = call_cmethod com.meduzik.matcharena.game.field.GameField.reloadFromEngine this
  239.     */
  240.         abort();
  241. }
  242. void GameField::update(jfl::Number dt, jfl::Boolean playing, jfl::Boolean ignoreBlockers){
  243.     /*
  244.     main:
  245.         locals:
  246.             dt : Number
  247.             playing : Boolean
  248.             ignoreBlockers : Boolean
  249.             nextTimestamp : int
  250.             deltaTimestamp : int
  251.             p : Number
  252.             qdt : int
  253.             targetTimestamp : int
  254.         code:
  255.             block_0:
  256.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.bot this
  257.                 r1 = ref_cmp neq r0 (null:class com.meduzik.matcharena.game.bot.AbstractBot)
  258.                 condbr r1 block_1 block_2
  259.             block_1:
  260.                 r2 = read_cfield com.meduzik.matcharena.game.field.GameField.GetTimer
  261.                 r3 = call_dynamic r2
  262.                 r4 = from_any int r3
  263.                 write_local nextTimestamp r4
  264.                 r5 = read_local nextTimestamp
  265.                 r6 = read_cfield com.meduzik.matcharena.game.field.GameField.backgroundLastTimestamp this
  266.                 r7 = num_binop int - r5 r6
  267.                 write_local deltaTimestamp r7
  268.                 r8 = read_local deltaTimestamp
  269.                 r9 = read_cfield com.meduzik.matcharena.game.field.GameField.BackgroundFastForwardThreshold
  270.                 r10 = num_cast Number r9
  271.                 r11 = num_cast Number r8
  272.                 r12 = num_cmp ge r11 r10
  273.                 condbr r12 block_3 block_4
  274.             block_2:
  275.                 r13 = read_cfield com.meduzik.matcharena.game.field.GameField.backgroundFastForwardTime this
  276.                 r14 = num_cmp gt r13 0.000000
  277.                 condbr r14 block_5 block_6
  278.             block_3:
  279.                 r15 = read_local deltaTimestamp
  280.                 r16 = read_cfield com.meduzik.matcharena.game.field.GameField.BackgroundFastForwardReverseThreshold
  281.                 r17 = num_cast Number r16
  282.                 r18 = num_cast Number r15
  283.                 r19 = num_cmp le r18 r17
  284.             block_4:
  285.                 r20 = phi Boolean (block_1 -> r12) (block_3 -> r19)
  286.                 condbr r20 block_7 block_8
  287.             block_5:
  288.                 r21 = read_local dt
  289.                 r22 = num_binop Number * r21 2.000000
  290.                 write_local dt r22
  291.                 r23 = read_cfield com.meduzik.matcharena.game.field.GameField.backgroundFastForwardTime this
  292.                 r24 = read_local dt
  293.                 r25 = num_binop Number - r23 r24
  294.                 write_cfield com.meduzik.matcharena.game.field.GameField.backgroundFastForwardTime this r25
  295.                 br block_6
  296.             block_6:
  297.                 r26 = read_cfield com.meduzik.matcharena.game.field.GameField.shoutouts this
  298.                 r27 = read_local dt
  299.                 r28 = call_cmethod com.meduzik.matcharena.game.field.shoutout.ShoutoutController.update r26 r27
  300.                 r29 = read_local dt
  301.                 r30 = read_cfield com.meduzik.matcharena.engine.EngineConstants.TicksPerSec
  302.                 r31 = num_binop Number * r29 r30
  303.                 r32 = num_cast int r31
  304.                 write_local qdt r32
  305.                 r33 = call_cmethod com.meduzik.env.Device.PreventSleep static
  306.                 r34 = read_local playing
  307.                 condbr r34 block_9 block_10
  308.             block_7:
  309.                 r35 = read_cfield com.meduzik.matcharena.game.field.GameField.backgroundFastForwardTime this
  310.                 r36 = read_local deltaTimestamp
  311.                 r37 = num_binop Number / r36 1000.000000
  312.                 r38 = num_binop Number + r35 r37
  313.                 write_cfield com.meduzik.matcharena.game.field.GameField.backgroundFastForwardTime this r38
  314.                 br block_8
  315.             block_8:
  316.                 r39 = read_local nextTimestamp
  317.                 write_cfield com.meduzik.matcharena.game.field.GameField.backgroundLastTimestamp this r39
  318.                 br block_2
  319.             block_9:
  320.                 r40 = read_cfield com.meduzik.matcharena.game.field.GameField.state this
  321.                 r41 = read_cfield com.meduzik.matcharena.game.field.GameField.StateNothing
  322.                 r42 = num_cmp eq r40 r41
  323.                 condbr r42 block_11 block_12
  324.             block_10:
  325.                 r43 = read_cfield com.meduzik.matcharena.game.field.GameField.speech this
  326.                 r44 = read_local dt
  327.                 r45 = call_cmethod com.meduzik.matcharena.game.field.speech.SpeechManager.update r43 r44
  328.                 r46 = call_cmethod com.meduzik.matcharena.game.field.GameField.fxList this
  329.                 r47 = read_local dt
  330.                 r48 = call_cmethod com.meduzik.fx.FXList.update r46 r47
  331.                 r49 = read_local dt
  332.                 r50 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateObjects this r49
  333.                 r51 = read_cfield com.meduzik.matcharena.game.field.GameField.shoutouts this
  334.                 r52 = call_cmethod com.meduzik.matcharena.game.field.shoutout.ShoutoutController.prerender r51
  335.                 r53 = read_cfield com.meduzik.matcharena.game.field.GameField.view this
  336.                 r54 = read_local dt
  337.                 r55 = call_cmethod com.meduzik.matcharena.game.field.GameFieldView.update r53 r54
  338.             block_11:
  339.                 br block_13
  340.                 br block_14
  341.             block_12:
  342.                 r56 = read_cfield com.meduzik.matcharena.game.field.GameField.StateWaitForBuyMoves
  343.                 r57 = num_cmp eq r40 r56
  344.                 condbr r57 block_14 block_15
  345.             block_13:
  346.                 br block_10
  347.             block_14:
  348.                 r58 = read_cfield com.meduzik.matcharena.game.field.GameField.buyingMoves this
  349.                 r59 = choice r58 Boolean false true
  350.                 condbr r59 block_16 block_17
  351.             block_15:
  352.                 r60 = read_cfield com.meduzik.matcharena.game.field.GameField.StateProcessing
  353.                 r61 = num_cmp eq r40 r60
  354.                 condbr r61 block_18 block_19
  355.             block_16:
  356.                 r62 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  357.                 r63 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.state r62
  358.                 r64 = read_cfield com.meduzik.matcharena.engine.EngineState.GameOver
  359.                 r65 = ref_cmp eq r63 r64
  360.                 condbr r65 block_20 block_21
  361.             block_17:
  362.                 br block_13
  363.                 br block_18
  364.             block_18:
  365.                 r66 = read_local ignoreBlockers
  366.                 r67 = choice r66 Boolean false true
  367.                 condbr r67 block_22 block_23
  368.             block_19:
  369.                 r68 = read_cfield com.meduzik.matcharena.game.field.GameField.StateReadyForMove
  370.                 r69 = num_cmp eq r40 r68
  371.                 condbr r69 block_24 block_25
  372.             block_20:
  373.                 r70 = read_cfield com.meduzik.matcharena.game.field.GameField.StateEnded
  374.                 write_cfield com.meduzik.matcharena.game.field.GameField.state this r70
  375.                 r71 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
  376.                 r72 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.commit r71
  377.                 r73 = read_cfield com.meduzik.matcharena.game.field.GameField.observer this
  378.                 r74 = imethod_closure com.meduzik.matcharena.game.GameFieldObserver.onGameEnded r73
  379.                 r75 = call_dynamic r74 this
  380.                 br block_21
  381.             block_21:
  382.                 br block_17
  383.             block_22:
  384.                 r76 = read_cfield com.meduzik.matcharena.game.field.GameField.shoutouts this
  385.                 r77 = call_cmethod com.meduzik.matcharena.game.field.shoutout.ShoutoutController.isBlocking r76
  386.             block_23:
  387.                 r78 = phi Boolean (block_18 -> r67) (block_22 -> r77)
  388.                 condbr r78 block_26 block_27
  389.             block_24:
  390.                 r79 = read_cfield com.meduzik.matcharena.game.field.GameField.interactive this
  391.                 condbr r79 block_28 block_29
  392.             block_25:
  393.                 br block_13
  394.             block_26:
  395.                 br block_27
  396.             block_27:
  397.                 br block_13
  398.                 br block_24
  399.             block_28:
  400.                 r80 = read_local dt
  401.                 r81 = call_cmethod com.meduzik.matcharena.game.field.GameField.updatePlayerSleep this r80
  402.                 br block_29
  403.             block_29:
  404.                 r82 = read_cfield com.meduzik.matcharena.game.field.GameField.bot this
  405.                 r83 = ref_cmp neq r82 (null:class com.meduzik.matcharena.game.bot.AbstractBot)
  406.                 condbr r83 block_30 block_31
  407.             block_30:
  408.                 r84 = read_cfield com.meduzik.matcharena.game.field.GameField.bot this
  409.                 r85 = read_local dt
  410.                 r86 = read_cfield com.meduzik.matcharena.game.field.GameField.backgroundFastForwardTime this
  411.                 r87 = num_cmp gt r86 0.000000
  412.                 r88 = call_cmethod com.meduzik.matcharena.game.bot.AbstractBot.update r84 r85 r87
  413.                 br block_31
  414.             block_31:
  415.                 r89 = read_cfield com.meduzik.matcharena.game.field.GameField._hinter this
  416.                 r90 = read_local dt
  417.                 r91 = call_cmethod com.meduzik.matcharena.game.field.hint.Hinter.update r89 r90
  418.                 br block_13
  419.                 br block_13
  420.     */
  421.         abort();
  422. }
  423. void GameField::updatePlayerSleep(jfl::Number dt){
  424.     /*
  425.     main:
  426.         locals:
  427.             dt : Number
  428.             uiAction : class com.meduzik.matcharena.engine.script.uiaction.UIAction
  429.             uiSleeping : class com.meduzik.matcharena.engine.script.uiaction.UIActionPlayerSleeping
  430.         code:
  431.             block_0:
  432.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  433.                 r1 = read_cfield com.meduzik.matcharena.engine.Match3Engine.uiActions r0
  434.                 r2 = read_cfield com.meduzik.matcharena.engine.script.uiaction.UIActionEvent.PlayerSleeping
  435.                 r3 = call_cmethod com.meduzik.matcharena.engine.script.uiaction.UIActionList.hasActionFor r1 r2
  436.                 condbr r3 block_1 block_2
  437.             block_1:
  438.                 r4 = read_cfield com.meduzik.matcharena.game.field.GameField.playerSleepTime this
  439.                 r5 = read_local dt
  440.                 r6 = num_binop Number + r4 r5
  441.                 write_cfield com.meduzik.matcharena.game.field.GameField.playerSleepTime this r6
  442.                 br block_2
  443.             block_2:
  444.     */
  445.         abort();
  446. }
  447. void GameField::becomesReadyForMove(){
  448.     /*
  449.     main:
  450.         code:
  451.             block_0:
  452.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.checkpointRequested this
  453.                 condbr r0 block_1 block_2
  454.             block_1:
  455.                 write_cfield com.meduzik.matcharena.game.field.GameField.checkpointRequested this false
  456.                 r1 = read_cfield com.meduzik.matcharena.game.field.GameField.record this
  457.                 r2 = call_cmethod com.meduzik.matcharena.game.field.state.GamePlayRecord.makeCheckpoint r1
  458.                 br block_2
  459.             block_2:
  460.                 write_cfield com.meduzik.matcharena.game.field.GameField.playerSleepTime this 0.000000
  461.                 r3 = read_cfield com.meduzik.matcharena.game.field.GameField._hinter this
  462.                 r4 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  463.                 r5 = read_cfield com.meduzik.matcharena.engine.Match3Engine.hint r4
  464.                 r6 = read_cfield com.meduzik.matcharena.engine.hint.HintConfig.hintRequest r5
  465.                 r7 = call_cmethod com.meduzik.matcharena.game.field.hint.Hinter.requestHint r3 r6
  466.     */
  467.         abort();
  468. }
  469. void GameField::addDelay(jfl::Number delay){
  470.     /*
  471.     main:
  472.         locals:
  473.             delay : Number
  474.         code:
  475.             block_0:
  476.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.engineDelay this
  477.                 r1 = read_local delay
  478.                 r2 = num_binop Number + r0 r1
  479.                 write_cfield com.meduzik.matcharena.game.field.GameField.engineDelay this r2
  480.     */
  481.         abort();
  482. }
  483. void GameField::updateObjects(jfl::Number dt){
  484.     /*
  485.     main:
  486.         locals:
  487.             dt : Number
  488.             object : class com.meduzik.matcharena.game.field.FieldObject
  489.         code:
  490.             block_0:
  491.                 br block_1
  492.             block_1:
  493.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.objectList this
  494.                 r1 = call_cmethod Vector.length r0
  495.                 r2 = num_cast Number r1
  496.                 r3 = num_cmp gt r2 0.000000
  497.                 condbr r3 block_2 block_3
  498.             block_2:
  499.                 r4 = read_cfield com.meduzik.matcharena.game.field.GameField.objectList this
  500.                 r5 = call_vecmethod Vector.pop r4
  501.                 r6 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeObject this r5
  502.                 br block_1
  503.             block_3:
  504.     */
  505.         abort();
  506. }
  507. void GameField::reset(){
  508.     /*
  509.     main:
  510.         locals:
  511.             object : class com.meduzik.matcharena.game.field.FieldObject
  512.         code:
  513.             block_0:
  514.                 write_cfield com.meduzik.matcharena.game.field.GameField.gameOverObject this (null:class com.meduzik.matcharena.game.field.effect.SpriteFieldObject)
  515.                 write_cfield com.meduzik.matcharena.game.field.GameField.sayObject this (null:class com.meduzik.matcharena.game.field.effect.SpriteFieldObject)
  516.                 write_cfield com.meduzik.matcharena.game.field.GameField.buyingMoves this false
  517.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.GetTimer
  518.                 r1 = call_dynamic r0
  519.                 r2 = from_any int r1
  520.                 write_cfield com.meduzik.matcharena.game.field.GameField.backgroundLastTimestamp this r2
  521.                 write_cfield com.meduzik.matcharena.game.field.GameField.fastForward this false
  522.                 write_cfield com.meduzik.matcharena.game.field.GameField.fastForwardTime this 0.000000
  523.                 write_cfield com.meduzik.matcharena.game.field.GameField.backgroundFastForwardTime this 0.000000
  524.                 write_cfield com.meduzik.matcharena.game.field.GameField.checkpointRequested this false
  525.                 r3 = read_cfield com.meduzik.matcharena.game.field.GameField.bordersCache this
  526.                 r4 = call_cmethod com.meduzik.matcharena.game.field.borders.BordersCache.reset r3
  527.                 r5 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
  528.                 r6 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.reset r5
  529.                 r7 = read_cfield com.meduzik.matcharena.game.field.GameField.camera this
  530.                 r8 = call_cmethod com.meduzik.matcharena.game.field.GameFieldCamera.reset r7
  531.                 r9 = read_cfield com.meduzik.matcharena.game.field.GameField.shoutouts this
  532.                 r10 = call_cmethod com.meduzik.matcharena.game.field.shoutout.ShoutoutController.reset r9
  533.                 r11 = read_cfield com.meduzik.matcharena.game.field.GameField.speech this
  534.                 r12 = call_cmethod com.meduzik.matcharena.game.field.speech.SpeechManager.reset r11
  535.                 r13 = read_cfield com.meduzik.matcharena.game.field.GameField.decorSet this
  536.                 r14 = call_cmethod com.meduzik.matcharena.game.field.decor.DecorObjectSet.reset r13
  537.                 r15 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEvents this
  538.                 r16 = call_cmethod Vector.length r15 0.000000
  539.                 r17 = read_cfield com.meduzik.matcharena.game.field.GameField.overlay this
  540.                 r18 = ref_cmp neq r17 (null:class com.meduzik.matcharena.game.overlay.GameScreenOverlay)
  541.                 condbr r18 block_1 block_2
  542.             block_1:
  543.                 r19 = read_cfield com.meduzik.matcharena.game.field.GameField.overlay this
  544.                 r20 = call_cmethod com.meduzik.matcharena.game.overlay.GameScreenOverlay.reset r19
  545.                 br block_2
  546.             block_2:
  547.                 r21 = read_cfield com.meduzik.matcharena.game.field.GameField.hintArrow this
  548.                 r22 = ref_cmp neq r21 (null:class com.meduzik.matcharena.game.field.effect.SpriteFieldObject)
  549.                 condbr r22 block_3 block_4
  550.             block_3:
  551.                 write_cfield com.meduzik.matcharena.game.field.GameField.hintArrow this (null:class com.meduzik.matcharena.game.field.effect.SpriteFieldObject)
  552.                 br block_4
  553.             block_4:
  554.                 r23 = read_cfield com.meduzik.matcharena.game.field.GameField.StateNothing
  555.                 write_cfield com.meduzik.matcharena.game.field.GameField.state this r23
  556.                 r24 = read_cfield com.meduzik.matcharena.game.field.GameField.interaction this
  557.                 r25 = call_cmethod com.meduzik.matcharena.game.field.GameFieldInteraction.setReadyForMove r24 false
  558.                 r26 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  559.                 r27 = call_cmethod com.meduzik.matcharena.game.EventContext.reset r26
  560.                 r28 = read_cfield com.meduzik.matcharena.game.field.GameField._hinter this
  561.                 r29 = call_cmethod com.meduzik.matcharena.game.field.hint.Hinter.reset r28
  562.                 r30 = newclass flash.utils.Dictionary
  563.                 write_cfield com.meduzik.matcharena.game.field.GameField.cells this r30
  564.                 r31 = newclass flash.utils.Dictionary
  565.                 write_cfield com.meduzik.matcharena.game.field.GameField.mapping this r31
  566.                 br block_5
  567.             block_5:
  568.                 r32 = read_cfield com.meduzik.matcharena.game.field.GameField.objectList this
  569.                 r33 = call_cmethod Vector.length r32
  570.                 r34 = num_cast Number r33
  571.                 r35 = num_cmp gt r34 0.000000
  572.                 condbr r35 block_6 block_7
  573.             block_6:
  574.                 r36 = read_cfield com.meduzik.matcharena.game.field.GameField.objectList this
  575.                 r37 = call_vecmethod Vector.pop r36
  576.                 r38 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeObject this r37
  577.                 br block_5
  578.             block_7:
  579.                 write_cfield com.meduzik.matcharena.game.field.GameField.engineDelay this 0.000000
  580.     */
  581.         abort();
  582. }
  583. void GameField::onMessageSay(jfl::String* message){
  584.     /*
  585.     main:
  586.         locals:
  587.             message : class String
  588.         code:
  589.             block_0:
  590.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.interactive this
  591.                 condbr r0 block_1 block_2
  592.             block_1:
  593.                 r1 = read_global com.meduzik.log.Log
  594.                 r2 = newclass Object
  595.                 r3 = read_local message
  596.                 r4 = to_any r3
  597.                 write_dynfield r2 's'
  598.                 r5 = call_cmethod com.meduzik.log.Logger.warning r1 "game" "Message: $(msg)" r2
  599.                 r6 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  600.                 r7 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r6
  601.                 br block_2
  602.             block_2:
  603.     */
  604.         abort();
  605. }
  606. void GameField::onUIWait(jfl::Number seconds){
  607.     /*
  608.     main:
  609.         locals:
  610.             seconds : Number
  611.         code:
  612.             block_0:
  613.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.interactive this
  614.                 condbr r0 block_1 block_2
  615.             block_1:
  616.                 r1 = read_local seconds
  617.                 write_cfield com.meduzik.matcharena.game.field.GameField.engineDelay this r1
  618.                 r2 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  619.                 r3 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r2
  620.                 br block_2
  621.             block_2:
  622.     */
  623.         abort();
  624. }
  625. void GameField::reloadFromEngine(){
  626.     /*
  627.     main:
  628.         locals:
  629.             field : class com.meduzik.matcharena.engine.field.Field
  630.         code:
  631.             block_0:
  632.                 r0 = call_cmethod com.meduzik.matcharena.game.field.GameField.reset this
  633.                 r1 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  634.                 r2 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r1
  635.                 write_local field r2
  636.                 r3 = read_cfield com.meduzik.matcharena.game.field.GameField._hinter this
  637.                 r4 = call_cmethod com.meduzik.matcharena.game.field.hint.Hinter.reset r3
  638.                 r5 = read_cfield com.meduzik.matcharena.game.field.GameField.decorSet this
  639.                 r6 = read_local field
  640.                 r7 = read_cfield com.meduzik.matcharena.engine.field.Field.decor r6
  641.                 r8 = call_cmethod com.meduzik.matcharena.game.field.decor.DecorObjectSet.reload r5 r7
  642.                 r9 = read_cfield com.meduzik.matcharena.game.field.GameField.camera this
  643.                 r10 = call_cmethod com.meduzik.matcharena.game.field.GameFieldCamera.resetToActiveField r9
  644.                 r11 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  645.                 r12 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.state r11
  646.                 r13 = read_cfield com.meduzik.matcharena.engine.EngineState.Yield
  647.                 r14 = ref_cmp eq r12 r13
  648.                 condbr r14 block_1 block_2
  649.             block_1:
  650.                 r15 = read_cfield com.meduzik.matcharena.game.field.GameField.StateProcessing
  651.                 write_cfield com.meduzik.matcharena.game.field.GameField.state this r15
  652.                 r16 = read_cfield com.meduzik.matcharena.game.field.GameField.interaction this
  653.                 r17 = call_cmethod com.meduzik.matcharena.game.field.GameFieldInteraction.setReadyForMove r16 false
  654.                 br block_3
  655.                 br block_4
  656.             block_2:
  657.                 r18 = read_cfield com.meduzik.matcharena.engine.EngineState.ReadyForMove
  658.                 r19 = ref_cmp eq r12 r18
  659.                 condbr r19 block_4 block_5
  660.             block_3:
  661.                 r20 = read_cfield com.meduzik.matcharena.game.field.GameField.interactive this
  662.                 condbr r20 block_6 block_7
  663.             block_4:
  664.                 r21 = read_cfield com.meduzik.matcharena.game.field.GameField.StateReadyForMove
  665.                 write_cfield com.meduzik.matcharena.game.field.GameField.state this r21
  666.                 r22 = read_cfield com.meduzik.matcharena.game.field.GameField.interaction this
  667.                 r23 = call_cmethod com.meduzik.matcharena.game.field.GameFieldInteraction.setReadyForMove r22 true
  668.                 r24 = call_cmethod com.meduzik.matcharena.game.field.GameField.becomesReadyForMove this
  669.                 br block_3
  670.                 br block_8
  671.             block_5:
  672.                 br block_8
  673.             block_6:
  674.                 r25 = read_cfield com.meduzik.matcharena.game.field.GameField.overlay this
  675.                 r26 = ref_cmp neq r25 (null:class com.meduzik.matcharena.game.overlay.GameScreenOverlay)
  676.                 condbr r26 block_9 block_10
  677.             block_7:
  678.                 r27 = read_cfield com.meduzik.matcharena.game.field.GameField.taskObserver this
  679.                 r28 = ref_cmp neq r27 (null:interface com.meduzik.matcharena.game.info.ITaskObserver)
  680.                 condbr r28 block_11 block_12
  681.             block_8:
  682.                 r29 = read_cfield com.meduzik.matcharena.game.field.GameField.interaction this
  683.                 r30 = call_cmethod com.meduzik.matcharena.game.field.GameFieldInteraction.setReadyForMove r29 false
  684.                 r31 = read_cfield com.meduzik.matcharena.game.field.GameField.StateEnded
  685.                 write_cfield com.meduzik.matcharena.game.field.GameField.state this r31
  686.                 br block_3
  687.                 br block_3
  688.             block_9:
  689.                 r32 = read_cfield com.meduzik.matcharena.game.field.GameField.overlay this
  690.                 r33 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  691.                 r34 = read_cfield com.meduzik.matcharena.engine.Match3Engine.hint r33
  692.                 r35 = read_cfield com.meduzik.matcharena.engine.hint.HintConfig.highlightActive r34
  693.                 r36 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  694.                 r37 = read_cfield com.meduzik.matcharena.engine.Match3Engine.hint r36
  695.                 r38 = read_cfield com.meduzik.matcharena.engine.hint.HintConfig.highlight r37
  696.                 r39 = call_cmethod com.meduzik.matcharena.game.overlay.GameScreenOverlay.resetHighlight r32 r35 r38
  697.                 br block_10
  698.             block_10:
  699.                 r40 = read_cfield com.meduzik.matcharena.game.field.GameField.speech this
  700.                 r41 = call_cmethod com.meduzik.matcharena.game.field.speech.SpeechManager.reloadFromEngine r40
  701.                 br block_7
  702.             block_11:
  703.                 r42 = read_cfield com.meduzik.matcharena.game.field.GameField.taskObserver this
  704.                 r43 = imethod_closure com.meduzik.matcharena.game.info.ITaskObserver.loadTasks r42
  705.                 r44 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  706.                 r45 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  707.                 r46 = read_cfield com.meduzik.matcharena.engine.Match3Engine.taskList r45
  708.                 r47 = call_dynamic r43 r44 r46
  709.                 br block_12
  710.             block_12:
  711.                 r48 = read_cfield com.meduzik.matcharena.game.field.GameField.decorSet this
  712.                 r49 = call_cmethod com.meduzik.matcharena.game.field.decor.DecorObjectSet.updateTraps r48
  713.                 r50 = read_cfield com.meduzik.matcharena.game.field.GameField.observer this
  714.                 r51 = imethod_closure com.meduzik.matcharena.game.GameFieldObserver.onReloaded r50
  715.                 r52 = call_dynamic r51 this
  716.     */
  717.         abort();
  718. }
  719. void GameField::onMoveFieldFrame(fl::com::meduzik::matcharena::level::FieldFrame* frame){
  720.     /*
  721.     main:
  722.         locals:
  723.             frame : class com.meduzik.matcharena.level.FieldFrame
  724.         code:
  725.             block_0:
  726.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.camera this
  727.                 r1 = read_local frame
  728.                 r2 = call_cmethod com.meduzik.matcharena.game.field.GameFieldCamera.startMoveToNewFrame r0 r1
  729.                 r3 = read_cfield com.meduzik.matcharena.game.field.GameField.camera this
  730.                 r4 = call_cmethod com.meduzik.matcharena.game.field.GameFieldCamera.unlocked r3 false
  731.                 r5 = read_cfield com.meduzik.matcharena.game.field.GameField.decorSet this
  732.                 r6 = call_cmethod com.meduzik.matcharena.game.field.decor.DecorObjectSet.updateTraps r5
  733.                 r7 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  734.                 r8 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r7
  735.     */
  736.         abort();
  737. }
  738. void GameField::onCameraLock(){
  739.     /*
  740.     main:
  741.         code:
  742.             block_0:
  743.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.camera this
  744.                 r1 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  745.                 r2 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r1
  746.                 r3 = read_cfield com.meduzik.matcharena.engine.field.Field.activeFrame r2
  747.                 r4 = call_cmethod com.meduzik.matcharena.game.field.GameFieldCamera.startMoveToNewFrame r0 r3
  748.                 r5 = read_cfield com.meduzik.matcharena.game.field.GameField.camera this
  749.                 r6 = call_cmethod com.meduzik.matcharena.game.field.GameFieldCamera.unlocked r5 false
  750.                 r7 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  751.                 r8 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r7
  752.     */
  753.         abort();
  754. }
  755. void GameField::onCameraUnlock(){
  756.     /*
  757.     main:
  758.         code:
  759.             block_0:
  760.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.camera this
  761.                 r1 = call_cmethod com.meduzik.matcharena.game.field.GameFieldCamera.unlocked r0 true
  762.     */
  763.         abort();
  764. }
  765. void GameField::onCameraMove(jfl::Vector* zones){
  766.     /*
  767.     main:
  768.         locals:
  769.             zones : Vector.<class com.meduzik.matcharena.engine.zone.EngineZone>
  770.         code:
  771.             block_0:
  772.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.camera this
  773.                 r1 = call_cmethod com.meduzik.matcharena.game.field.GameFieldCamera.unlocked r0 true
  774.                 r2 = read_cfield com.meduzik.matcharena.game.field.GameField.camera this
  775.                 r3 = read_local zones
  776.                 r4 = call_cmethod com.meduzik.matcharena.game.field.GameFieldCamera.startMoveOnPath r2 r3
  777.                 r5 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  778.                 r6 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r5
  779.     */
  780.         abort();
  781. }
  782. void GameField::onCameraResize(jfl::Int width, jfl::Int height){
  783.     /*
  784.     main:
  785.         locals:
  786.             width : int
  787.             height : int
  788.         code:
  789.             block_0:
  790.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.camera this
  791.                 r1 = call_cmethod com.meduzik.matcharena.game.field.GameFieldCamera.unlocked r0 true
  792.                 r2 = read_cfield com.meduzik.matcharena.game.field.GameField.camera this
  793.                 r3 = read_local width
  794.                 r4 = read_local height
  795.                 r5 = call_cmethod com.meduzik.matcharena.game.field.GameFieldCamera.startResize r2 r3 r4
  796.                 r6 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  797.                 r7 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r6
  798.     */
  799.         abort();
  800. }
  801. void GameField::createPortalNode(fl::com::meduzik::matcharena::engine::field::portal::PortalNode* portal){
  802.     /*
  803.     main:
  804.         locals:
  805.             portal : class com.meduzik.matcharena.engine.field.portal.PortalNode
  806.             hasOutgoing : Boolean
  807.             hasIngoing : Boolean
  808.             link : class com.meduzik.matcharena.engine.field.portal.PortalNodeLink
  809.             holder : class Array
  810.         code:
  811.             block_0:
  812.                 write_local hasOutgoing false
  813.                 write_local hasIngoing false
  814.                 r0 = read_local portal
  815.                 r1 = read_cfield com.meduzik.matcharena.engine.field.portal.PortalNode.sourceLink r0
  816.                 write_local link r1
  817.                 br block_1
  818.             block_1:
  819.                 r2 = read_local link
  820.                 r3 = ref_cmp neq r2 (null:class com.meduzik.matcharena.engine.field.portal.PortalNodeLink)
  821.                 condbr r3 block_2 block_3
  822.             block_2:
  823.                 r4 = read_local link
  824.                 r5 = read_cfield com.meduzik.matcharena.engine.field.portal.PortalNodeLink.edge r4
  825.                 r6 = ref_cmp neq r5 (null:class com.meduzik.matcharena.engine.field.CellEdge)
  826.                 condbr r6 block_4 block_5
  827.             block_3:
  828.                 r7 = read_local portal
  829.                 r8 = read_cfield com.meduzik.matcharena.engine.field.portal.PortalNode.targetLink r7
  830.                 write_local link r8
  831.                 br block_6
  832.             block_4:
  833.                 write_local hasOutgoing true
  834.                 br block_3
  835.                 br block_5
  836.             block_5:
  837.                 br block_7
  838.             block_6:
  839.                 r9 = read_local link
  840.                 r10 = ref_cmp neq r9 (null:class com.meduzik.matcharena.engine.field.portal.PortalNodeLink)
  841.                 condbr r10 block_8 block_9
  842.             block_7:
  843.                 r11 = read_local link
  844.                 r12 = read_cfield com.meduzik.matcharena.engine.field.portal.PortalNodeLink.nextSourceLink r11
  845.                 write_local link r12
  846.                 br block_1
  847.             block_8:
  848.                 r13 = read_local link
  849.                 r14 = read_cfield com.meduzik.matcharena.engine.field.portal.PortalNodeLink.edge r13
  850.                 r15 = ref_cmp neq r14 (null:class com.meduzik.matcharena.engine.field.CellEdge)
  851.                 condbr r15 block_10 block_11
  852.             block_9:
  853.                 r16 = newclass Array
  854.                 write_local holder r16
  855.                 r17 = read_local hasOutgoing
  856.                 condbr r17 block_12 block_13
  857.             block_10:
  858.                 write_local hasIngoing true
  859.                 br block_9
  860.                 br block_11
  861.             block_11:
  862.                 br block_14
  863.             block_12:
  864.                 r18 = read_local holder
  865.                 r19 = call_cmethod com.meduzik.matcharena.game.field.GameField.resources this
  866.                 r20 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.sourcePortalBottom r19
  867.                 r21 = read_cfield com.meduzik.matcharena.game.field.view.SortLayer.PortalBottom
  868.                 r22 = read_local portal
  869.                 r23 = read_cfield com.meduzik.matcharena.engine.field.portal.PortalNode.row r22
  870.                 r24 = read_local portal
  871.                 r25 = read_cfield com.meduzik.matcharena.engine.field.portal.PortalNode.column r24
  872.                 r26 = read_local portal
  873.                 r27 = read_cfield com.meduzik.matcharena.engine.field.portal.PortalNode.side r26
  874.                 r28 = call_cmethod com.meduzik.matcharena.game.field.GameField.createPortal this r18 r20 r21 r23 r25 r27
  875.                 r29 = read_local holder
  876.                 r30 = call_cmethod com.meduzik.matcharena.game.field.GameField.resources this
  877.                 r31 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.sourcePortalTop r30
  878.                 r32 = read_cfield com.meduzik.matcharena.game.field.view.SortLayer.PortalTop
  879.                 r33 = read_local portal
  880.                 r34 = read_cfield com.meduzik.matcharena.engine.field.portal.PortalNode.row r33
  881.                 r35 = read_local portal
  882.                 r36 = read_cfield com.meduzik.matcharena.engine.field.portal.PortalNode.column r35
  883.                 r37 = read_local portal
  884.                 r38 = read_cfield com.meduzik.matcharena.engine.field.portal.PortalNode.side r37
  885.                 r39 = call_cmethod com.meduzik.matcharena.game.field.GameField.createPortal this r29 r31 r32 r34 r36 r38
  886.                 br block_13
  887.             block_13:
  888.                 r40 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  889.                 r41 = read_local portal
  890.                 r42 = read_local holder
  891.                 r43 = to_any r42
  892.                 write_dynindex r40 r41
  893.             block_14:
  894.                 r44 = read_local link
  895.                 r45 = read_cfield com.meduzik.matcharena.engine.field.portal.PortalNodeLink.nextTargetLink r44
  896.                 write_local link r45
  897.                 br block_6
  898.     */
  899.         abort();
  900. }
  901. void GameField::destroyPortalNode(fl::com::meduzik::matcharena::engine::field::portal::PortalNode* portal){
  902.     /*
  903.     main:
  904.         locals:
  905.             portal : class com.meduzik.matcharena.engine.field.portal.PortalNode
  906.             holder : class Array
  907.             object : class com.meduzik.matcharena.game.field.FieldObject
  908.         code:
  909.             block_0:
  910.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  911.                 r1 = read_local portal
  912.                 r2 = read_dynindex r0 r1
  913.                 r3 = from_any class Array r2
  914.                 write_local holder r3
  915.                 r4 = read_local holder
  916.                 r5 = ref_cmp neq r4 (null:class Array)
  917.                 condbr r5 block_1 block_2
  918.             block_1:
  919.                 r6 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  920.                 r7 = read_local portal
  921.                 br block_2
  922.             block_2:
  923.     */
  924.         abort();
  925. }
  926. void GameField::createPortal(fl::Array* holder, fl::com::meduzik::bundle::display::DisplayTemplate* jfl_template, jfl::Int layer, jfl::Int row, jfl::Int column, fl::com::meduzik::matcharena::level::Side* side){
  927.     /*
  928.     main:
  929.         locals:
  930.             holder : class Array
  931.             template : interface com.meduzik.bundle.display.DisplayTemplate
  932.             layer : int
  933.             row : int
  934.             column : int
  935.             side : class com.meduzik.matcharena.level.Side
  936.             instance : class com.meduzik.display.DisplayObject
  937.             spriteObject : class com.meduzik.matcharena.game.field.effect.SpriteFieldObject
  938.         code:
  939.             block_0:
  940.                 r0 = read_local template
  941.                 r1 = ref_cmp neq r0 (null:interface com.meduzik.bundle.display.DisplayTemplate)
  942.                 condbr r1 block_1 block_2
  943.             block_1:
  944.                 r2 = read_local template
  945.                 r3 = imethod_closure com.meduzik.bundle.display.DisplayTemplate.createInstance r2
  946.                 r4 = call_dynamic r3
  947.                 r5 = from_any class com.meduzik.display.DisplayObject r4
  948.                 write_local instance r5
  949.                 r6 = read_local instance
  950.                 r7 = ref_cmp neq r6 (null:class com.meduzik.display.DisplayObject)
  951.                 r8 = choice r7 Boolean false true
  952.                 condbr r8 block_3 block_4
  953.             block_2:
  954.             block_3:
  955.                 ret void
  956.                 br block_4
  957.             block_4:
  958.                 r9 = read_local instance
  959.                 r10 = read_local layer
  960.                 r11 = call_cmethod com.meduzik.matcharena.game.field.effect.SpriteFieldObject.Make static r9 r10
  961.                 write_local spriteObject r11
  962.                 r12 = read_local spriteObject
  963.                 r13 = class_cast throws r12 com.meduzik.matcharena.game.field.FieldObject
  964.                 r14 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r13
  965.                 r15 = read_local spriteObject
  966.                 r16 = read_local row
  967.                 r17 = read_local column
  968.                 r18 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.placeAtCellPosition r15 r16 r17
  969.                 r19 = read_local spriteObject
  970.                 r20 = read_cfield com.meduzik.matcharena.game.field.FieldObject.containerTransform r19
  971.                 r21 = read_cfield com.meduzik.fx.props.PropTransform2D.angle r20
  972.                 r22 = read_local side
  973.                 r23 = call_cmethod com.meduzik.matcharena.level.Side.offsetRow r22
  974.                 r24 = read_local side
  975.                 r25 = call_cmethod com.meduzik.matcharena.level.Side.offsetColumn r24
  976.                 r26 = call_cmethod Math.atan2 static r23 r25
  977.                 r27 = read_cfield Math.PI
  978.                 r28 = num_binop Number / r26 r27
  979.                 r29 = num_binop Number * r28 180.000000
  980.                 r30 = call_cmethod com.meduzik.fx.props.NumberProperty.base r21 r29
  981.                 r31 = read_local holder
  982.                 r32 = read_local holder
  983.                 r33 = call_cmethod Array.length r32
  984.                 r34 = read_local spriteObject
  985.                 r35 = to_any r34
  986.                 write_dynindex r31 r33
  987.                 br block_2
  988.     */
  989.         abort();
  990. }
  991. void GameField::setTutorial(jfl::Boolean isTutorial){
  992.     /*
  993.     main:
  994.         locals:
  995.             isTutorial : Boolean
  996.         code:
  997.             block_0:
  998.                 r0 = read_local isTutorial
  999.                 write_cfield com.meduzik.matcharena.game.field.GameField.tutorial this r0
  1000.     */
  1001.         abort();
  1002. }
  1003. jfl::Boolean GameField::isTutorial(){
  1004.     /*
  1005.     main:
  1006.         code:
  1007.             block_0:
  1008.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.tutorial this
  1009.                 ret r0
  1010.     */
  1011.         abort();
  1012. }
  1013. void GameField::loadFromEngine(fl::com::meduzik::matcharena::engine::Match3Engine* engine){
  1014.     /*
  1015.     main:
  1016.         locals:
  1017.             engine : class com.meduzik.matcharena.engine.Match3Engine
  1018.         code:
  1019.             block_0:
  1020.                 r0 = read_local engine
  1021.                 write_cfield com.meduzik.matcharena.game.field.GameField.engine this r0
  1022.                 r1 = read_cfield com.meduzik.matcharena.game.field.GameField.record this
  1023.                 r2 = call_cmethod com.meduzik.matcharena.game.field.state.GamePlayRecord.reset r1
  1024.                 write_cfield com.meduzik.matcharena.game.field.GameField.bot this (null:class com.meduzik.matcharena.game.bot.AbstractBot)
  1025.                 r3 = call_cmethod com.meduzik.matcharena.game.field.GameField.reloadFromEngine this
  1026.                 r4 = read_local engine
  1027.                 r5 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.state r4
  1028.                 r6 = read_cfield com.meduzik.matcharena.engine.EngineState.Yield
  1029.                 r7 = ref_cmp eq r5 r6
  1030.                 condbr r7 block_1 block_2
  1031.             block_1:
  1032.                 write_cfield com.meduzik.matcharena.game.field.GameField.checkpointRequested this true
  1033.                 br block_2
  1034.             block_2:
  1035.     */
  1036.         abort();
  1037. }
  1038. jfl::Number GameField::convertVelocity(jfl::Int velocity){
  1039.     /*
  1040.     main:
  1041.         locals:
  1042.             velocity : int
  1043.         code:
  1044.             block_0:
  1045.                 r0 = read_local velocity
  1046.                 r1 = read_cfield com.meduzik.matcharena.engine.EngineConstants.VelocityDivisor
  1047.                 r2 = read_cfield com.meduzik.matcharena.engine.EngineConstants.VelocityDivisor
  1048.                 r3 = num_cast Number r1
  1049.                 r4 = num_binop Number / r0 r3
  1050.                 ret r4
  1051.     */
  1052.         abort();
  1053. }
  1054. jfl::Number GameField::getTimestampDelta(jfl::Int timestamp){
  1055.     /*
  1056.     main:
  1057.         locals:
  1058.             timestamp : int
  1059.         code:
  1060.             block_0:
  1061.                 r0 = read_local timestamp
  1062.                 r1 = read_cfield com.meduzik.matcharena.game.field.GameField.lastTimestamp this
  1063.                 r2 = num_binop int - r0 r1
  1064.                 r3 = read_local timestamp
  1065.                 r4 = read_cfield com.meduzik.matcharena.game.field.GameField.lastTimestamp this
  1066.                 r5 = num_binop int - r3 r4
  1067.                 r6 = num_cast Number r2
  1068.                 r7 = read_cfield com.meduzik.matcharena.engine.EngineConstants.TicksPerSec
  1069.                 r8 = num_binop Number / r6 r7
  1070.                 ret r8
  1071.     */
  1072.         abort();
  1073. }
  1074. jfl::Boolean GameField::isReadyToAcceptMove(){
  1075.     /*
  1076.     main:
  1077.         code:
  1078.             block_0:
  1079.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.state this
  1080.                 r1 = read_cfield com.meduzik.matcharena.game.field.GameField.StateReadyForMove
  1081.                 r2 = num_cmp eq r0 r1
  1082.                 ret r2
  1083.     */
  1084.         abort();
  1085. }
  1086. void GameField::onCharacterBumps(fl::com::meduzik::matcharena::engine::field::chip::CharacterChip* characterChip, fl::com::meduzik::matcharena::engine::field::EngineCell* cell){
  1087.     /*
  1088.     main:
  1089.         locals:
  1090.             characterChip : class com.meduzik.matcharena.engine.field.chip.CharacterChip
  1091.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  1092.             fromChip : class com.meduzik.matcharena.game.field.chip.ChipObject
  1093.             toObject : class com.meduzik.matcharena.game.field.cell.CellObject
  1094.         code:
  1095.             block_0:
  1096.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  1097.                 r1 = read_local characterChip
  1098.                 r2 = read_dynindex r0 r1
  1099.                 r3 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r2
  1100.                 write_local fromChip r3
  1101.                 r4 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  1102.                 r5 = read_local cell
  1103.                 r6 = read_dynindex r4 r5
  1104.                 r7 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r6
  1105.                 write_local toObject r7
  1106.                 r8 = read_local fromChip
  1107.                 r9 = ref_cmp neq r8 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
  1108.                 r10 = choice r9 Boolean false true
  1109.                 condbr r10 block_1 block_2
  1110.             block_1:
  1111.                 r11 = phi Boolean (block_0 -> r10) (block_2 -> r12)
  1112.                 condbr r11 block_3 block_4
  1113.             block_2:
  1114.                 r13 = read_local toObject
  1115.                 r14 = ref_cmp neq r13 (null:class com.meduzik.matcharena.game.field.cell.CellObject)
  1116.                 r12 = choice r14 Boolean false true
  1117.             block_3:
  1118.                 ret void
  1119.                 br block_4
  1120.             block_4:
  1121.                 r15 = read_local fromChip
  1122.                 r16 = read_local fromChip
  1123.                 r17 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r16
  1124.                 r18 = read_local fromChip
  1125.                 r19 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r18
  1126.                 r20 = read_local toObject
  1127.                 r21 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r20
  1128.                 r22 = read_local toObject
  1129.                 r23 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r22
  1130.                 r24 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithTwoPos r15 "CharacterBumps" r17 r19 r21 r23
  1131.     */
  1132.         abort();
  1133. }
  1134. jfl::Boolean GameField::trySwap(fl::com::meduzik::matcharena::engine::field::EngineCell* from, fl::com::meduzik::matcharena::engine::field::EngineCell* to){
  1135.     /*
  1136.     main:
  1137.         locals:
  1138.             from : class com.meduzik.matcharena.engine.field.EngineCell
  1139.             to : class com.meduzik.matcharena.engine.field.EngineCell
  1140.             swap : class com.meduzik.matcharena.engine.move.SwapMove
  1141.             result : Boolean
  1142.             fromObject : class com.meduzik.matcharena.game.field.cell.CellObject
  1143.             toObject : class com.meduzik.matcharena.game.field.cell.CellObject
  1144.             swapResult : class com.meduzik.matcharena.engine.move.SwapResult
  1145.             fromChip : class com.meduzik.matcharena.game.field.chip.ChipObject
  1146.             toChip : class com.meduzik.matcharena.game.field.chip.ChipObject
  1147.         code:
  1148.             block_0:
  1149.                 r0 = read_local from
  1150.                 r1 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r0
  1151.                 r2 = read_local from
  1152.                 r3 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r2
  1153.                 r4 = read_local to
  1154.                 r5 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r4
  1155.                 r6 = read_local to
  1156.                 r7 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r6
  1157.                 r8 = call_cmethod com.meduzik.matcharena.engine.move.SwapMove.Make static r1 r3 r5 r7
  1158.                 write_local swap r8
  1159.                 write_local result false
  1160.                 r9 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  1161.                 r10 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.state r9
  1162.                 r11 = read_cfield com.meduzik.matcharena.engine.EngineState.ReadyForMove
  1163.                 r12 = ref_cmp eq r10 r11
  1164.                 condbr r12 block_1 block_2
  1165.             block_1:
  1166.                 write_cfield com.meduzik.matcharena.game.field.GameField.playerSleepTime this 0.000000
  1167.                 r13 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  1168.                 r14 = read_local from
  1169.                 r15 = read_dynindex r13 r14
  1170.                 r16 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r15
  1171.                 write_local fromObject r16
  1172.                 r17 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  1173.                 r18 = read_local to
  1174.                 r19 = read_dynindex r17 r18
  1175.                 r20 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r19
  1176.                 write_local toObject r20
  1177.                 r21 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  1178.                 r22 = read_local swap
  1179.                 r23 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.evaluateSwapResult r21 r22
  1180.                 write_local swapResult r23
  1181.                 r24 = read_local swapResult
  1182.                 r25 = call_cmethod com.meduzik.matcharena.engine.move.SwapResult.valid r24
  1183.                 condbr r25 block_3 block_4
  1184.             block_2:
  1185.                 r26 = read_local swap
  1186.                 r27 = call_cmethod com.meduzik.matcharena.engine.move.SwapMove.dispose r26
  1187.                 r28 = read_local result
  1188.                 ret r28
  1189.             block_3:
  1190.                 r29 = read_local swap
  1191.                 r30 = read_cfield com.meduzik.matcharena.engine.move.SwapMove.fromRow r29
  1192.                 r31 = read_local swap
  1193.                 r32 = read_cfield com.meduzik.matcharena.engine.move.SwapMove.fromColumn r31
  1194.                 r33 = read_local swap
  1195.                 r34 = read_cfield com.meduzik.matcharena.engine.move.SwapMove.toRow r33
  1196.                 r35 = read_local swap
  1197.                 r36 = read_cfield com.meduzik.matcharena.engine.move.SwapMove.toColumn r35
  1198.                 r37 = call_cmethod com.meduzik.matcharena.game.field.GameField.performSwap this r30 r32 r34 r36
  1199.                 write_local result r37
  1200.                 br block_4
  1201.             block_4:
  1202.                 br block_2
  1203.     */
  1204.         abort();
  1205. }
  1206. void GameField::onUnsuccessfulSwap(){
  1207.     /*
  1208.     main:
  1209.         code:
  1210.             block_0:
  1211.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  1212.                 r1 = read_cfield com.meduzik.matcharena.engine.Match3Engine.uiActions r0
  1213.                 r2 = read_cfield com.meduzik.matcharena.engine.script.uiaction.UIActionEvent.UnsuccessfulSwap
  1214.                 r3 = call_cmethod com.meduzik.matcharena.engine.script.uiaction.UIActionList.hasActionFor r1 r2
  1215.                 condbr r3 block_1 block_2
  1216.             block_1:
  1217.                 r4 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  1218.                 r5 = read_cfield com.meduzik.matcharena.engine.Match3Engine.uiActions r4
  1219.                 r6 = read_cfield com.meduzik.matcharena.engine.script.uiaction.UIActionEvent.UnsuccessfulSwap
  1220.                 r7 = cmethod_closure com.meduzik.matcharena.game.field.GameField.visitUnsuccessfulSwapAction this
  1221.                 r8 = call_cmethod com.meduzik.matcharena.engine.script.uiaction.UIActionList.visitUIActions r5 r6 r7
  1222.                 br block_2
  1223.             block_2:
  1224.     */
  1225.         abort();
  1226. }
  1227. void GameField::visitUnsuccessfulSwapAction(fl::com::meduzik::matcharena::engine::script::uiaction::UIAction* action){
  1228.     /*
  1229.     main:
  1230.         locals:
  1231.             action : class com.meduzik.matcharena.engine.script.uiaction.UIAction
  1232.         code:
  1233.             block_0:
  1234.                 r0 = read_local action
  1235.                 r1 = read_cfield com.meduzik.matcharena.engine.script.uiaction.UIAction.specialAction r0
  1236.                 r2 = read_cfield com.meduzik.matcharena.game.field.GameField.EmptyArray
  1237.                 r3 = call_cmethod com.meduzik.matcharena.game.field.GameField.peformSpecialAction this r1 r2
  1238.     */
  1239.         abort();
  1240. }
  1241. jfl::Boolean GameField::peformSpecialAction(jfl::String* specialAction, fl::Array* params){
  1242.     /*
  1243.     main:
  1244.         locals:
  1245.             specialAction : class String
  1246.             params : class Array
  1247.         code:
  1248.             block_0:
  1249.                 r0 = call_cmethod com.meduzik.matcharena.game.field.GameField.isReadyToAcceptMove this
  1250.                 condbr r0 block_1 block_2
  1251.             block_1:
  1252.                 r1 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  1253.                 r2 = read_local specialAction
  1254.                 r3 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.willRespondToSpecialAction r1 r2
  1255.                 condbr r3 block_3 block_4
  1256.             block_2:
  1257.                 ret false
  1258.             block_3:
  1259.                 r4 = call_cmethod com.meduzik.matcharena.game.field.GameField.startProcessing this
  1260.                 r5 = read_cfield com.meduzik.matcharena.game.field.GameField.record this
  1261.                 r6 = read_local specialAction
  1262.                 r7 = read_local params
  1263.                 r8 = call_cmethod com.meduzik.matcharena.game.field.state.GamePlayRecord.pushSpecialAction r5 r6 r7
  1264.                 r9 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  1265.                 r10 = read_local specialAction
  1266.                 r11 = read_local params
  1267.                 r12 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.submitSpecialAction r9 r10 r11
  1268.                 ret true
  1269.                 br block_4
  1270.             block_4:
  1271.                 br block_2
  1272.     */
  1273.         abort();
  1274. }
  1275. void GameField::submitSkipTutorial(){
  1276.     /*
  1277.     main:
  1278.         code:
  1279.             block_0:
  1280.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.speech this
  1281.                 r1 = call_cmethod com.meduzik.matcharena.game.field.speech.SpeechManager.clearAll r0
  1282.                 write_cfield com.meduzik.matcharena.game.field.GameField.engineDelay this 0.000000
  1283.                 r2 = read_cfield com.meduzik.matcharena.game.field.GameField.shoutouts this
  1284.                 r3 = call_cmethod com.meduzik.matcharena.game.field.shoutout.ShoutoutController.clearAll r2
  1285.                 br block_1
  1286.             block_1:
  1287.                 r4 = read_cfield com.meduzik.matcharena.game.field.GameField.state this
  1288.                 r5 = read_cfield com.meduzik.matcharena.game.field.GameField.StateProcessing
  1289.                 r6 = num_cmp eq r4 r5
  1290.                 condbr r6 block_2 block_3
  1291.             block_2:
  1292.                 r7 = call_cmethod com.meduzik.matcharena.game.field.GameField.update this 1.000000 true true
  1293.                 br block_1
  1294.             block_3:
  1295.                 r8 = newclass Array
  1296.                 r9 = call_cmethod com.meduzik.matcharena.game.field.GameField.peformSpecialAction this "skip-tutorial" r8
  1297.     */
  1298.         abort();
  1299. }
  1300. void GameField::startProcessing(){
  1301.     /*
  1302.     main:
  1303.         code:
  1304.             block_0:
  1305.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.gameOverObject this
  1306.                 r1 = ref_cmp neq r0 (null:class com.meduzik.matcharena.game.field.effect.SpriteFieldObject)
  1307.                 condbr r1 block_1 block_2
  1308.             block_1:
  1309.                 r2 = read_cfield com.meduzik.matcharena.game.field.GameField.gameOverObject this
  1310.                 r3 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.allowRemove r2
  1311.                 write_cfield com.meduzik.matcharena.game.field.GameField.gameOverObject this (null:class com.meduzik.matcharena.game.field.effect.SpriteFieldObject)
  1312.                 br block_2
  1313.             block_2:
  1314.                 r4 = read_cfield com.meduzik.matcharena.game.field.GameField.StateProcessing
  1315.                 write_cfield com.meduzik.matcharena.game.field.GameField.state this r4
  1316.                 r5 = read_cfield com.meduzik.matcharena.game.field.GameField.interaction this
  1317.                 r6 = call_cmethod com.meduzik.matcharena.game.field.GameFieldInteraction.setReadyForMove r5 false
  1318.                 r7 = read_cfield com.meduzik.matcharena.game.field.GameField._hinter this
  1319.                 r8 = call_cmethod com.meduzik.matcharena.game.field.hint.Hinter.discard r7
  1320.     */
  1321.         abort();
  1322. }
  1323. jfl::Boolean GameField::performSwap(jfl::Int fromRow, jfl::Int fromColumn, jfl::Int toRow, jfl::Int toColumn){
  1324.     /*
  1325.     main:
  1326.         locals:
  1327.             fromRow : int
  1328.             fromColumn : int
  1329.             toRow : int
  1330.             toColumn : int
  1331.             swap : class com.meduzik.matcharena.engine.move.SwapMove
  1332.             swapResult : class com.meduzik.matcharena.engine.move.SwapResult
  1333.         code:
  1334.             block_0:
  1335.                 r0 = call_cmethod com.meduzik.matcharena.game.field.GameField.isReadyToAcceptMove this
  1336.                 r1 = choice r0 Boolean false true
  1337.                 condbr r1 block_1 block_2
  1338.             block_1:
  1339.                 ret false
  1340.                 br block_2
  1341.             block_2:
  1342.                 r2 = read_local fromRow
  1343.                 r3 = read_local fromColumn
  1344.                 r4 = read_local toRow
  1345.                 r5 = read_local toColumn
  1346.                 r6 = call_cmethod com.meduzik.matcharena.engine.move.SwapMove.Make static r2 r3 r4 r5
  1347.                 write_local swap r6
  1348.                 r7 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  1349.                 r8 = read_local swap
  1350.                 r9 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.evaluateSwapResult r7 r8
  1351.                 write_local swapResult r9
  1352.                 r10 = read_local swapResult
  1353.                 r11 = call_cmethod com.meduzik.matcharena.engine.move.SwapResult.valid r10
  1354.                 r12 = choice r11 Boolean false true
  1355.                 condbr r12 block_3 block_4
  1356.             block_3:
  1357.                 ret false
  1358.                 br block_4
  1359.             block_4:
  1360.                 r13 = call_cmethod com.meduzik.matcharena.game.field.GameField.startProcessing this
  1361.                 write_cfield com.meduzik.matcharena.game.field.GameField.checkpointRequested this true
  1362.                 r14 = read_cfield com.meduzik.matcharena.game.field.GameField.record this
  1363.                 r15 = read_local swap
  1364.                 r16 = call_cmethod com.meduzik.matcharena.game.field.state.GamePlayRecord.pushSwap r14 r15
  1365.                 r17 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  1366.                 r18 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.timestamp r17
  1367.                 write_cfield com.meduzik.matcharena.game.field.GameField.lastTimestamp this r18
  1368.                 r19 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  1369.                 r20 = read_local swap
  1370.                 r21 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.submitSwap r19 r20
  1371.                 r22 = read_local swap
  1372.                 r23 = call_cmethod com.meduzik.matcharena.engine.move.SwapMove.dispose r22
  1373.                 ret true
  1374.     */
  1375.         abort();
  1376. }
  1377. void GameField::touchEngine(){
  1378.     /*
  1379.     main:
  1380.         code:
  1381.             block_0:
  1382.                 r0 = call_cmethod com.meduzik.matcharena.game.field.GameField.startProcessing this
  1383.                 r1 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  1384.                 r2 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.timestamp r1
  1385.                 write_cfield com.meduzik.matcharena.game.field.GameField.lastTimestamp this r2
  1386.     */
  1387.         abort();
  1388. }
  1389. void GameField::startMatchGroup(fl::com::meduzik::matcharena::engine::match::MatchGroup* matchGroup){
  1390.     /*
  1391.     main:
  1392.         locals:
  1393.             matchGroup : class com.meduzik.matcharena.engine.match.MatchGroup
  1394.             matchObject : class com.meduzik.matcharena.game.field.match.MatchGroupObject
  1395.         code:
  1396.             block_0:
  1397.                 r0 = call_cmethod com.meduzik.matcharena.game.field.match.MatchGroupObject.Make static
  1398.                 write_local matchObject r0
  1399.                 r1 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  1400.                 r2 = read_local matchGroup
  1401.                 r3 = read_local matchObject
  1402.                 r4 = to_any r3
  1403.                 write_dynindex r1 r2
  1404.     */
  1405.         abort();
  1406. }
  1407. void GameField::removeMatchGroup(fl::com::meduzik::matcharena::engine::match::MatchGroup* matchGroup){
  1408.     /*
  1409.     main:
  1410.         locals:
  1411.             matchGroup : class com.meduzik.matcharena.engine.match.MatchGroup
  1412.             matchObject : class com.meduzik.matcharena.game.field.match.MatchGroupObject
  1413.         code:
  1414.             block_0:
  1415.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  1416.                 r1 = read_local matchGroup
  1417.                 r2 = read_dynindex r0 r1
  1418.                 r3 = from_any class com.meduzik.matcharena.game.field.match.MatchGroupObject r2
  1419.                 write_local matchObject r3
  1420.                 r4 = read_local matchObject
  1421.                 r5 = call_cmethod com.meduzik.matcharena.game.field.match.MatchGroupObject.dispose r4
  1422.     */
  1423.         abort();
  1424. }
  1425. void GameField::unionMatchGroup(fl::com::meduzik::matcharena::engine::match::MatchGroup* sourceGroup, fl::com::meduzik::matcharena::engine::match::MatchGroup* targetGroup){
  1426.     /*
  1427.     main:
  1428.         locals:
  1429.             sourceGroup : class com.meduzik.matcharena.engine.match.MatchGroup
  1430.             targetGroup : class com.meduzik.matcharena.engine.match.MatchGroup
  1431.             sourceMatchObject : class com.meduzik.matcharena.game.field.match.MatchGroupObject
  1432.             targetMatchObject : class com.meduzik.matcharena.game.field.match.MatchGroupObject
  1433.         code:
  1434.             block_0:
  1435.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  1436.                 r1 = read_local sourceGroup
  1437.                 r2 = read_dynindex r0 r1
  1438.                 r3 = from_any class com.meduzik.matcharena.game.field.match.MatchGroupObject r2
  1439.                 write_local sourceMatchObject r3
  1440.                 r4 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  1441.                 r5 = read_local targetGroup
  1442.                 r6 = read_dynindex r4 r5
  1443.                 r7 = from_any class com.meduzik.matcharena.game.field.match.MatchGroupObject r6
  1444.                 write_local targetMatchObject r7
  1445.                 r8 = read_local targetMatchObject
  1446.                 r9 = read_local sourceMatchObject
  1447.                 r10 = call_cmethod com.meduzik.matcharena.game.field.match.MatchGroupObject.consume r8 r9
  1448.     */
  1449.         abort();
  1450. }
  1451. void GameField::matchGroupAddCell(fl::com::meduzik::matcharena::engine::match::MatchGroup* matchGroup, fl::com::meduzik::matcharena::engine::field::EngineCell* cell){
  1452.     /*
  1453.     main:
  1454.         locals:
  1455.             matchGroup : class com.meduzik.matcharena.engine.match.MatchGroup
  1456.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  1457.             cellObject : class com.meduzik.matcharena.game.field.cell.CellObject
  1458.             matchObject : class com.meduzik.matcharena.game.field.match.MatchGroupObject
  1459.         code:
  1460.             block_0:
  1461.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  1462.                 r1 = read_local cell
  1463.                 r2 = read_dynindex r0 r1
  1464.                 r3 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r2
  1465.                 write_local cellObject r3
  1466.                 r4 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  1467.                 r5 = read_local matchGroup
  1468.                 r6 = read_dynindex r4 r5
  1469.                 r7 = from_any class com.meduzik.matcharena.game.field.match.MatchGroupObject r6
  1470.                 write_local matchObject r7
  1471.     */
  1472.         abort();
  1473. }
  1474. void GameField::destroyLineArrow(fl::com::meduzik::matcharena::engine::trigger::ArrowTrigger* arrowTrigger){
  1475.     /*
  1476.     main:
  1477.         locals:
  1478.             arrowTrigger : class com.meduzik.matcharena.engine.trigger.ArrowTrigger
  1479.             lineArrow : class com.meduzik.matcharena.game.field.LineArrow
  1480.         code:
  1481.             block_0:
  1482.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  1483.                 r1 = read_local arrowTrigger
  1484.                 r2 = read_dynindex r0 r1
  1485.                 r3 = from_any class com.meduzik.matcharena.game.field.LineArrow r2
  1486.                 write_local lineArrow r3
  1487.                 r4 = read_local lineArrow
  1488.                 r5 = call_cmethod com.meduzik.matcharena.game.field.LineArrow.despawn r4
  1489.                 r6 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  1490.                 r7 = read_local lineArrow
  1491.     */
  1492.         abort();
  1493. }
  1494. void GameField::bombExplode(fl::com::meduzik::matcharena::engine::field::chip::BombChip* bombChip, fl::com::meduzik::matcharena::engine::field::EngineCell* cell){
  1495.     /*
  1496.     main:
  1497.         locals:
  1498.             bombChip : class com.meduzik.matcharena.engine.field.chip.BombChip
  1499.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  1500.             template : interface com.meduzik.bundle.display.DisplayTemplate
  1501.             blast : class com.meduzik.matcharena.game.field.trigger.BlastPattern
  1502.         code:
  1503.             block_0:
  1504.                 r0 = read_local bombChip
  1505.                 r1 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.type r0
  1506.                 r2 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.TYPE_NORMAL
  1507.                 r3 = num_cmp eq r1 r2
  1508.                 condbr r3 block_1 block_2
  1509.             block_1:
  1510.                 r4 = read_cfield com.meduzik.matcharena.game.field.GameField._resources this
  1511.                 r5 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.bombExplosion r4
  1512.                 write_local template r5
  1513.                 r6 = call_cmethod com.meduzik.matcharena.game.field.GameField.constants this
  1514.                 r7 = read_cfield com.meduzik.matcharena.game.GameConstants.BlastBomb r6
  1515.                 write_local blast r7
  1516.                 br block_3
  1517.                 br block_4
  1518.             block_2:
  1519.                 r8 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.TYPE_WINGED
  1520.                 r9 = num_cmp eq r1 r8
  1521.                 condbr r9 block_1 block_5
  1522.             block_3:
  1523.                 r10 = read_local template
  1524.                 r11 = call_cmethod com.meduzik.matcharena.game.field.GameField.createEffect this r10
  1525.                 r12 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  1526.                 r13 = read_local cell
  1527.                 r14 = read_dynindex r12 r13
  1528.                 r15 = from_any class com.meduzik.matcharena.game.field.FieldObject r14
  1529.                 r16 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.attachToObject r11 r15
  1530.                 r17 = read_local bombChip
  1531.                 r18 = call_cmethod com.meduzik.matcharena.engine.field.chip.ColorChip.color r17
  1532.                 r19 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r18
  1533.                 r20 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.paint r16 r19
  1534.                 r21 = read_local blast
  1535.                 r22 = read_local cell
  1536.                 r23 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  1537.                 r24 = call_cmethod com.meduzik.matcharena.game.field.trigger.BlastPattern.apply r21 this r22 r23
  1538.             block_4:
  1539.                 r25 = read_cfield com.meduzik.matcharena.game.field.GameField._resources this
  1540.                 r26 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.bombBigExplosion r25
  1541.                 write_local template r26
  1542.                 r27 = call_cmethod com.meduzik.matcharena.game.field.GameField.constants this
  1543.                 r28 = read_cfield com.meduzik.matcharena.game.GameConstants.BlastBombBomb r27
  1544.                 write_local blast r28
  1545.                 br block_3
  1546.                 br block_3
  1547.             block_5:
  1548.                 r29 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.TYPE_SUPER
  1549.                 r30 = num_cmp eq r1 r29
  1550.                 condbr r30 block_4 block_6
  1551.             block_6:
  1552.                 br block_3
  1553.     */
  1554.         abort();
  1555. }
  1556. void GameField::fireLineEffect(fl::com::meduzik::bundle::display::DisplayTemplate* jfl_template, fl::com::meduzik::matcharena::engine::field::chip::LineChip* lineChip, jfl::Boolean reverse){
  1557.     /*
  1558.     main:
  1559.         locals:
  1560.             template : interface com.meduzik.bundle.display.DisplayTemplate
  1561.             lineChip : class com.meduzik.matcharena.engine.field.chip.LineChip
  1562.             reverse : Boolean
  1563.             effect : class com.meduzik.matcharena.game.field.effect.EffectObject
  1564.         code:
  1565.             block_0:
  1566.                 r0 = read_local template
  1567.                 r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.createEffect this r0
  1568.                 r2 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  1569.                 r3 = read_local lineChip
  1570.                 r4 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.currentCell r3
  1571.                 r5 = read_dynindex r2 r4
  1572.                 r6 = from_any class com.meduzik.matcharena.game.field.FieldObject r5
  1573.                 r7 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.attachToObject r1 r6
  1574.                 write_local effect r7
  1575.                 r8 = read_local effect
  1576.                 r9 = ref_cmp neq r8 (null:class com.meduzik.matcharena.game.field.effect.EffectObject)
  1577.                 condbr r9 block_1 block_2
  1578.             block_1:
  1579.                 r10 = read_local lineChip
  1580.                 r11 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.direction r10
  1581.                 r12 = read_cfield com.meduzik.matcharena.level.Direction.Vertical
  1582.                 r13 = ref_cmp eq r11 r12
  1583.                 r14 = read_local reverse
  1584.                 r15 = bool_cmp neq r13 r14
  1585.             block_2:
  1586.                 r16 = phi Boolean (block_0 -> r9) (block_1 -> r15)
  1587.                 condbr r16 block_3 block_4
  1588.             block_3:
  1589.                 r17 = read_local effect
  1590.                 r18 = read_cfield Math.PI
  1591.                 r19 = num_binop Number * r18 0.500000
  1592.                 r20 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.setRotation r17 r19
  1593.                 br block_4
  1594.             block_4:
  1595.                 r21 = read_local lineChip
  1596.                 r22 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.type r21
  1597.                 r23 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.TYPE_LARGE
  1598.                 r24 = num_cmp eq r22 r23
  1599.                 condbr r24 block_5 block_6
  1600.             block_5:
  1601.                 r25 = read_local effect
  1602.                 r26 = read_local lineChip
  1603.                 r27 = call_cmethod com.meduzik.matcharena.engine.field.chip.ColorChip.color r26
  1604.                 r28 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r27
  1605.                 r29 = read_local lineChip
  1606.                 r30 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.secondColor r29
  1607.                 r31 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r30
  1608.                 r32 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.paintAB r25 r28 r31
  1609.                 br block_7
  1610.                 br block_8
  1611.             block_6:
  1612.                 r33 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.TYPE_CROSS
  1613.                 r34 = num_cmp eq r22 r33
  1614.                 condbr r34 block_5 block_9
  1615.             block_7:
  1616.             block_8:
  1617.                 r35 = read_local effect
  1618.                 r36 = read_local lineChip
  1619.                 r37 = call_cmethod com.meduzik.matcharena.engine.field.chip.ColorChip.color r36
  1620.                 r38 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r37
  1621.                 r39 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.paint r35 r38
  1622.                 br block_7
  1623.                 br block_7
  1624.             block_9:
  1625.                 r40 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.TYPE_WINGED
  1626.                 r41 = num_cmp eq r22 r40
  1627.                 condbr r41 block_8 block_10
  1628.             block_10:
  1629.                 r42 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.TYPE_NORMAL
  1630.                 r43 = num_cmp eq r22 r42
  1631.                 condbr r43 block_8 block_11
  1632.             block_11:
  1633.                 br block_7
  1634.     */
  1635.         abort();
  1636. }
  1637. void GameField::lineExplode(fl::com::meduzik::matcharena::engine::field::chip::LineChip* lineChip, fl::com::meduzik::matcharena::engine::field::EngineCell* cell){
  1638.     /*
  1639.     main:
  1640.         locals:
  1641.             lineChip : class com.meduzik.matcharena.engine.field.chip.LineChip
  1642.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  1643.             blast : class com.meduzik.matcharena.game.field.trigger.BlastPattern
  1644.             template : interface com.meduzik.bundle.display.DisplayTemplate
  1645.         code:
  1646.             block_0:
  1647.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField._resources this
  1648.                 r1 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.lineExplosion r0
  1649.                 write_local template r1
  1650.                 r2 = read_local lineChip
  1651.                 r3 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.type r2
  1652.                 r4 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.TYPE_LARGE
  1653.                 r5 = num_cmp eq r3 r4
  1654.                 condbr r5 block_1 block_2
  1655.             block_1:
  1656.                 r6 = read_cfield com.meduzik.matcharena.game.field.GameField._resources this
  1657.                 r7 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.lineLargeExplosion r6
  1658.                 write_local template r7
  1659.                 r8 = call_cmethod com.meduzik.matcharena.game.field.GameField.constants this
  1660.                 r9 = read_cfield com.meduzik.matcharena.game.GameConstants.BlastLineBomb r8
  1661.                 write_local blast r9
  1662.                 br block_2
  1663.             block_2:
  1664.                 r10 = read_local template
  1665.                 r11 = read_local lineChip
  1666.                 r12 = call_cmethod com.meduzik.matcharena.game.field.GameField.fireLineEffect this r10 r11 false
  1667.                 r13 = read_local lineChip
  1668.                 r14 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.type r13
  1669.                 r15 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.TYPE_CROSS
  1670.                 r16 = num_cmp eq r14 r15
  1671.                 condbr r16 block_3 block_4
  1672.             block_3:
  1673.                 r17 = phi Boolean (block_2 -> r16) (block_4 -> r18)
  1674.                 condbr r17 block_5 block_6
  1675.             block_4:
  1676.                 r19 = read_local lineChip
  1677.                 r20 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.type r19
  1678.                 r21 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.TYPE_LARGE
  1679.                 r18 = num_cmp eq r20 r21
  1680.             block_5:
  1681.                 r22 = read_local template
  1682.                 r23 = read_local lineChip
  1683.                 r24 = call_cmethod com.meduzik.matcharena.game.field.GameField.fireLineEffect this r22 r23 true
  1684.                 br block_6
  1685.             block_6:
  1686.                 r25 = read_local blast
  1687.                 r26 = read_local cell
  1688.                 r27 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  1689.                 r28 = call_cmethod com.meduzik.matcharena.game.field.trigger.BlastPattern.apply r25 this r26 r27
  1690.     */
  1691.         abort();
  1692. }
  1693. void GameField::mineExplode(fl::com::meduzik::matcharena::engine::field::chip::MineChip* mineChip, fl::com::meduzik::matcharena::engine::field::EngineCell* cell){
  1694.     /*
  1695.     main:
  1696.         locals:
  1697.             mineChip : class com.meduzik.matcharena.engine.field.chip.MineChip
  1698.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  1699.             template : interface com.meduzik.bundle.display.DisplayTemplate
  1700.         code:
  1701.             block_0:
  1702.                 r0 = read_local mineChip
  1703.                 r1 = read_cfield com.meduzik.matcharena.engine.field.chip.MineChip.supermine r0
  1704.                 condbr r1 block_1 block_2
  1705.             block_1:
  1706.                 r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.resources this
  1707.                 r3 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.supermineExplosion r2
  1708.                 write_local template r3
  1709.                 r4 = read_local template
  1710.                 r5 = call_cmethod com.meduzik.matcharena.game.field.GameField.createEffect this r4
  1711.                 r6 = read_local mineChip
  1712.                 r7 = to_any r6
  1713.                 r8 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r7
  1714.                 r9 = from_any class com.meduzik.matcharena.game.field.FieldObject r8
  1715.                 r10 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.attachToObject r5 r9
  1716.                 r11 = read_local mineChip
  1717.                 r12 = call_cmethod com.meduzik.matcharena.engine.field.chip.ColorChip.color r11
  1718.                 r13 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r12
  1719.                 r14 = read_local mineChip
  1720.                 r15 = read_cfield com.meduzik.matcharena.engine.field.chip.MineChip.secondColor r14
  1721.                 r16 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r15
  1722.                 r17 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.paintAB r10 r13 r16
  1723.                 br block_2
  1724.             block_2:
  1725.     */
  1726.         abort();
  1727. }
  1728. fl::com::meduzik::matcharena::game::field::effect::EffectObject* GameField::createEffect(fl::com::meduzik::bundle::display::DisplayTemplate* jfl_template, jfl::Int layer){
  1729.     /*
  1730.     main:
  1731.         locals:
  1732.             template : interface com.meduzik.bundle.display.DisplayTemplate
  1733.             layer : int
  1734.             effectObject : class com.meduzik.matcharena.game.field.effect.EffectObject
  1735.         code:
  1736.             block_0:
  1737.                 r0 = read_local template
  1738.                 r1 = ref_cmp neq r0 (null:interface com.meduzik.bundle.display.DisplayTemplate)
  1739.                 condbr r1 block_1 block_2
  1740.             block_1:
  1741.                 r2 = read_local template
  1742.                 r3 = imethod_closure com.meduzik.bundle.display.DisplayTemplate.createInstance r2
  1743.                 r4 = call_dynamic r3
  1744.                 br block_3
  1745.             block_2:
  1746.                 r5 = to_any (null:null)
  1747.                 br block_3
  1748.             block_3:
  1749.                 r6 = phi * (block_1 -> r4) (block_2 -> r5)
  1750.                 r7 = from_any class com.meduzik.display.DisplayObject r6
  1751.                 r8 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.Make static r7
  1752.                 write_local effectObject r8
  1753.                 r9 = read_local effectObject
  1754.                 r10 = read_local layer
  1755.                 r11 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.layer r9 r10
  1756.                 r12 = read_local effectObject
  1757.                 r13 = class_cast throws r12 com.meduzik.matcharena.game.field.FieldObject
  1758.                 r14 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r13
  1759.                 r15 = read_local effectObject
  1760.                 ret r15
  1761.     */
  1762.         abort();
  1763. }
  1764. fl::com::meduzik::matcharena::game::field::resources::GameFieldResources* GameField::jfl_get_resources(){
  1765.     /*
  1766.     main:
  1767.         code:
  1768.             block_0:
  1769.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField._resources this
  1770.                 ret r0
  1771.     */
  1772.         abort();
  1773. }
  1774. fl::com::meduzik::fx::FXList* GameField::jfl_get_fxList(){
  1775.     /*
  1776.     main:
  1777.         code:
  1778.             block_0:
  1779.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField._fxList this
  1780.                 ret r0
  1781.     */
  1782.         abort();
  1783. }
  1784. void GameField::onTurnBegins(jfl::Int turn){
  1785.     /*
  1786.     main:
  1787.         locals:
  1788.             turn : int
  1789.         code:
  1790.             block_0:
  1791.                 r0 = call_cmethod com.meduzik.matcharena.game.field.GameField.isInteractive this
  1792.                 condbr r0 block_1 block_2
  1793.             block_1:
  1794.                 r1 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
  1795.                 r2 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.startTurn r1
  1796.                 r3 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
  1797.                 r4 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.raise r3 "turn_begin" 1.000000
  1798.                 r5 = read_local turn
  1799.                 r6 = box class int r5
  1800.                 r7 = to_any r6
  1801.                 r8 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r4 "turn" r7
  1802.                 r9 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  1803.                 r10 = read_cfield com.meduzik.matcharena.engine.Match3Engine.level r9
  1804.                 r11 = call_cmethod com.meduzik.matcharena.level.Level.info r10
  1805.                 r12 = call_cmethod com.meduzik.matcharena.level.LevelInfo.mode r11
  1806.                 r13 = call_cmethod com.meduzik.matcharena.level.LevelMode.id r12
  1807.                 r14 = to_any r13
  1808.                 r15 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r8 "mode" r14
  1809.                 r16 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r15
  1810.                 br block_2
  1811.             block_2:
  1812.                 r17 = read_cfield com.meduzik.matcharena.game.field.GameField.observer this
  1813.                 r18 = imethod_closure com.meduzik.matcharena.game.GameFieldObserver.onTurnBegins r17
  1814.                 r19 = read_local turn
  1815.                 r20 = call_dynamic r18 this r19
  1816.                 write_cfield com.meduzik.matcharena.game.field.GameField.checkpointRequested this true
  1817.                 r21 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  1818.                 r22 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.timestamp r21
  1819.                 write_cfield com.meduzik.matcharena.game.field.GameField.lastTimestamp this r22
  1820.     */
  1821.         abort();
  1822. }
  1823. void GameField::onTurnEnds(){
  1824.     /*
  1825.     main:
  1826.         code:
  1827.             block_0:
  1828.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.record this
  1829.                 r1 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  1830.                 r2 = read_cfield com.meduzik.matcharena.engine.Match3Engine.turn r1
  1831.                 r3 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  1832.                 r4 = read_cfield com.meduzik.matcharena.engine.Match3Engine.score r3
  1833.                 r5 = call_cmethod com.meduzik.matcharena.game.field.state.GamePlayRecord.setScoreAtTurn r0 r2 r4
  1834.                 r6 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
  1835.                 r7 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.raise r6 "turn_end" 1.000000
  1836.                 r8 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  1837.                 r9 = read_cfield com.meduzik.matcharena.engine.Match3Engine.turn r8
  1838.                 r10 = box class int r9
  1839.                 r11 = to_any r10
  1840.                 r12 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r7 "turn" r11
  1841.                 r13 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r12
  1842.                 r14 = read_cfield com.meduzik.matcharena.game.field.GameField.observer this
  1843.                 r15 = imethod_closure com.meduzik.matcharena.game.GameFieldObserver.onTurnEnds r14
  1844.                 r16 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  1845.                 r17 = read_cfield com.meduzik.matcharena.engine.Match3Engine.turn r16
  1846.                 r18 = call_dynamic r15 this r17
  1847.                 r19 = read_cfield com.meduzik.matcharena.game.field.GameField.interactive this
  1848.                 condbr r19 block_1 block_2
  1849.             block_1:
  1850.                 r20 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  1851.                 r21 = read_cfield com.meduzik.matcharena.engine.Match3Engine.movesLeft r20
  1852.                 r22 = num_cmp eq r21 1.000000
  1853.                 condbr r22 block_3 block_4
  1854.             block_2:
  1855.             block_3:
  1856.                 r23 = read_cfield com.meduzik.matcharena.game.field.GameField.shoutouts this
  1857.                 r24 = call_cmethod com.meduzik.matcharena.game.field.shoutout.ShoutoutController.startShoutout r23 "MovesOne"
  1858.                 br block_4
  1859.             block_4:
  1860.                 br block_2
  1861.     */
  1862.         abort();
  1863. }
  1864. void GameField::onTimestamp(jfl::Int timestamp){
  1865.     /*
  1866.     main:
  1867.         locals:
  1868.             timestamp : int
  1869.         code:
  1870.             block_0:
  1871.     */
  1872.         abort();
  1873. }
  1874. void GameField::onChipsSwap(fl::com::meduzik::matcharena::engine::field::EngineCell* fromCell, fl::com::meduzik::matcharena::engine::field::EngineCell* toCell, fl::com::meduzik::matcharena::engine::field::chip::Chip* fromChip, fl::com::meduzik::matcharena::engine::field::chip::Chip* toChip, fl::com::meduzik::matcharena::engine::observer::SwapEvent* event){
  1875.     /*
  1876.     main:
  1877.         locals:
  1878.             fromCell : class com.meduzik.matcharena.engine.field.EngineCell
  1879.             toCell : class com.meduzik.matcharena.engine.field.EngineCell
  1880.             fromChip : class com.meduzik.matcharena.engine.field.chip.Chip
  1881.             toChip : class com.meduzik.matcharena.engine.field.chip.Chip
  1882.             event : class com.meduzik.matcharena.engine.observer.SwapEvent
  1883.             fromObject : class com.meduzik.matcharena.game.field.cell.CellObject
  1884.             toObject : class com.meduzik.matcharena.game.field.cell.CellObject
  1885.             fromChipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  1886.             toChipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  1887.         code:
  1888.             block_0:
  1889.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  1890.                 r1 = read_local fromCell
  1891.                 r2 = read_dynindex r0 r1
  1892.                 r3 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r2
  1893.                 write_local fromObject r3
  1894.                 r4 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  1895.                 r5 = read_local toCell
  1896.                 r6 = read_dynindex r4 r5
  1897.                 r7 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r6
  1898.                 write_local toObject r7
  1899.                 r8 = read_local fromObject
  1900.                 r9 = ref_cmp neq r8 (null:class com.meduzik.matcharena.game.field.cell.CellObject)
  1901.                 condbr r9 block_1 block_2
  1902.             block_1:
  1903.                 r10 = read_local toObject
  1904.                 r11 = ref_cmp neq r10 (null:class com.meduzik.matcharena.game.field.cell.CellObject)
  1905.             block_2:
  1906.                 r12 = phi Boolean (block_0 -> r9) (block_1 -> r11)
  1907.                 condbr r12 block_3 block_4
  1908.             block_3:
  1909.                 r13 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  1910.                 r14 = read_local fromChip
  1911.                 r15 = read_dynindex r13 r14
  1912.                 r16 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r15
  1913.                 write_local fromChipObject r16
  1914.                 r17 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  1915.                 r18 = read_local toChip
  1916.                 r19 = read_dynindex r17 r18
  1917.                 r20 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r19
  1918.                 write_local toChipObject r20
  1919.                 r21 = read_local fromChipObject
  1920.                 r22 = ref_cmp neq r21 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
  1921.                 condbr r22 block_5 block_6
  1922.             block_4:
  1923.             block_5:
  1924.                 r23 = read_local fromChipObject
  1925.                 r24 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.bringToFront r23
  1926.                 br block_6
  1927.             block_6:
  1928.                 r25 = read_local event
  1929.                 r26 = read_cfield com.meduzik.matcharena.engine.observer.SwapEvent.CharacterWalk
  1930.                 r27 = ref_cmp eq r25 r26
  1931.                 condbr r27 block_7 block_8
  1932.             block_7:
  1933.                 r28 = read_local fromChipObject
  1934.                 r29 = read_local toObject
  1935.                 r30 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r29
  1936.                 r31 = read_local toObject
  1937.                 r32 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r31
  1938.                 r33 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithPos r28 "CharacterWalk" r30 r32
  1939.                 r34 = read_local toChipObject
  1940.                 r35 = ref_cmp neq r34 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
  1941.                 condbr r35 block_9 block_10
  1942.             block_8:
  1943.                 r36 = read_cfield com.meduzik.matcharena.engine.observer.SwapEvent.CharacterBacktrack
  1944.                 r37 = ref_cmp eq r25 r36
  1945.                 condbr r37 block_11 block_12
  1946.             block_9:
  1947.                 r38 = read_local toChipObject
  1948.                 r39 = read_local fromObject
  1949.                 r40 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r39
  1950.                 r41 = read_local fromObject
  1951.                 r42 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r41
  1952.                 r43 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithPos r38 "CharacterWalkOver" r40 r42
  1953.                 br block_10
  1954.             block_10:
  1955.                 r44 = read_cfield com.meduzik.matcharena.game.field.GameField.decorSet this
  1956.                 r45 = call_cmethod com.meduzik.matcharena.game.field.decor.DecorObjectSet.updateTraps r44
  1957.                 br block_13
  1958.                 br block_11
  1959.             block_11:
  1960.                 r46 = read_local fromChipObject
  1961.                 r47 = read_local toObject
  1962.                 r48 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r47
  1963.                 r49 = read_local toObject
  1964.                 r50 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r49
  1965.                 r51 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithPos r46 "CharacterBacktrack" r48 r50
  1966.                 r52 = read_local toChipObject
  1967.                 r53 = ref_cmp neq r52 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
  1968.                 condbr r53 block_14 block_15
  1969.             block_12:
  1970.                 br block_16
  1971.             block_13:
  1972.                 br block_4
  1973.             block_14:
  1974.                 r54 = read_local toChipObject
  1975.                 r55 = read_local fromObject
  1976.                 r56 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r55
  1977.                 r57 = read_local fromObject
  1978.                 r58 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r57
  1979.                 r59 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithPos r54 "CharacterBacktrackOver" r56 r58
  1980.                 br block_15
  1981.             block_15:
  1982.                 br block_13
  1983.                 br block_16
  1984.             block_16:
  1985.                 r60 = read_local fromObject
  1986.                 r61 = read_local toObject
  1987.                 r62 = call_cmethod com.meduzik.matcharena.game.field.GameField.showSwapSplash this r60 r61
  1988.                 r63 = read_local fromChipObject
  1989.                 r64 = ref_cmp neq r63 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
  1990.                 condbr r64 block_17 block_18
  1991.             block_17:
  1992.                 r65 = read_local fromChipObject
  1993.                 r66 = read_local toObject
  1994.                 r67 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r66
  1995.                 r68 = read_local toObject
  1996.                 r69 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r68
  1997.                 r70 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithPos r65 "SwapTop" r67 r69
  1998.                 br block_18
  1999.             block_18:
  2000.                 r71 = read_local toChipObject
  2001.                 r72 = ref_cmp neq r71 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
  2002.                 condbr r72 block_19 block_20
  2003.             block_19:
  2004.                 r73 = read_local toChipObject
  2005.                 r74 = read_local fromObject
  2006.                 r75 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r74
  2007.                 r76 = read_local fromObject
  2008.                 r77 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r76
  2009.                 r78 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithPos r73 "SwapBottom" r75 r77
  2010.                 br block_20
  2011.             block_20:
  2012.                 br block_13
  2013.                 br block_13
  2014.     */
  2015.         abort();
  2016. }
  2017. void GameField::showSwapSplash(fl::com::meduzik::matcharena::game::field::cell::CellObject* fromObject, fl::com::meduzik::matcharena::game::field::cell::CellObject* toObject){
  2018.     /*
  2019.     main:
  2020.         locals:
  2021.             fromObject : class com.meduzik.matcharena.game.field.cell.CellObject
  2022.             toObject : class com.meduzik.matcharena.game.field.cell.CellObject
  2023.             splash : class com.meduzik.matcharena.game.field.effect.EffectObject
  2024.         code:
  2025.             block_0:
  2026.                 r0 = call_cmethod com.meduzik.matcharena.game.field.GameField.resources this
  2027.                 r1 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.swapSplash r0
  2028.                 r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.createEffect this r1
  2029.                 write_local splash r2
  2030.                 r3 = read_local splash
  2031.                 r4 = read_local fromObject
  2032.                 r5 = class_cast throws r4 com.meduzik.matcharena.game.field.FieldObject
  2033.                 r6 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.attachToObject r3 r5
  2034.                 r7 = read_local splash
  2035.                 r8 = read_local toObject
  2036.                 r9 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r8
  2037.                 r10 = read_local fromObject
  2038.                 r11 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r10
  2039.                 r12 = num_binop Number - r9 r11
  2040.                 r13 = read_local toObject
  2041.                 r14 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r13
  2042.                 r15 = read_local fromObject
  2043.                 r16 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r15
  2044.                 r17 = num_binop Number - r14 r16
  2045.                 r18 = call_cmethod Math.atan2 static r12 r17
  2046.                 r19 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.setRotation r7 r18
  2047.     */
  2048.         abort();
  2049. }
  2050. fl::com::meduzik::matcharena::game::field::QuestEvent* GameField::fillChipQuestProperties(fl::com::meduzik::matcharena::game::field::QuestEvent* event, fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
  2051.     /*
  2052.     main:
  2053.         locals:
  2054.             event : class com.meduzik.matcharena.game.field.QuestEvent
  2055.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  2056.         code:
  2057.             block_0:
  2058.                 r0 = read_local chip
  2059.                 r1 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.getColor r0
  2060.                 r2 = ref_cmp neq r1 (null:class com.meduzik.matcharena.engine.EngineColor)
  2061.                 condbr r2 block_1 block_2
  2062.             block_1:
  2063.                 r3 = read_local event
  2064.                 r4 = read_local chip
  2065.                 r5 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.getColor r4
  2066.                 r6 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r5
  2067.                 r7 = call_cmethod com.meduzik.matcharena.level.Color.getName r6
  2068.                 r8 = to_any r7
  2069.                 r9 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r3 "color" r8
  2070.                 br block_2
  2071.             block_2:
  2072.                 r10 = read_local chip
  2073.                 r11 = class_test r10 com.meduzik.matcharena.engine.field.chip.MundaneChip
  2074.                 condbr r11 block_3 block_4
  2075.             block_3:
  2076.                 r12 = read_local chip
  2077.                 r13 = read_local chip
  2078.                 r14 = class_cast throws r12 com.meduzik.matcharena.engine.field.chip.MundaneChip
  2079.                 r15 = read_cfield com.meduzik.matcharena.engine.field.chip.MundaneChip.fishy r14
  2080.             block_4:
  2081.                 r16 = phi Boolean (block_2 -> r11) (block_3 -> r15)
  2082.                 condbr r16 block_5 block_6
  2083.             block_5:
  2084.                 r17 = read_local event
  2085.                 r18 = box class Number 1.000000
  2086.                 r19 = to_any r18
  2087.                 r20 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r17 "fish" r19
  2088.                 br block_6
  2089.             block_6:
  2090.                 r21 = read_local event
  2091.                 r22 = read_local chip
  2092.                 r23 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.getDescription r22
  2093.                 r24 = to_any r23
  2094.                 r25 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r21 "type" r24
  2095.                 r26 = read_local event
  2096.                 ret r26
  2097.     */
  2098.         abort();
  2099. }
  2100. fl::com::meduzik::matcharena::game::field::QuestEvent* GameField::fillTileQuestProperties(fl::com::meduzik::matcharena::game::field::QuestEvent* event, fl::com::meduzik::matcharena::engine::field::tile::Tile* tile){
  2101.     /*
  2102.     main:
  2103.         locals:
  2104.             event : class com.meduzik.matcharena.game.field.QuestEvent
  2105.             tile : class com.meduzik.matcharena.engine.field.tile.Tile
  2106.         code:
  2107.             block_0:
  2108.                 r0 = read_local event
  2109.                 r1 = read_local tile
  2110.                 r2 = call_cmethod com.meduzik.matcharena.engine.field.tile.Tile.getDescription r1
  2111.                 r3 = to_any r2
  2112.                 r4 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r0 "type" r3
  2113.                 r5 = read_local event
  2114.                 ret r5
  2115.     */
  2116.         abort();
  2117. }
  2118. fl::com::meduzik::matcharena::game::field::QuestEvent* GameField::fillCoverQuestProperties(fl::com::meduzik::matcharena::game::field::QuestEvent* event, fl::com::meduzik::matcharena::engine::field::cover::Cover* cover){
  2119.     /*
  2120.     main:
  2121.         locals:
  2122.             event : class com.meduzik.matcharena.game.field.QuestEvent
  2123.             cover : class com.meduzik.matcharena.engine.field.cover.Cover
  2124.         code:
  2125.             block_0:
  2126.                 r0 = read_local event
  2127.                 r1 = read_local cover
  2128.                 r2 = call_cmethod com.meduzik.matcharena.engine.field.cover.Cover.getDescription r1
  2129.                 r3 = to_any r2
  2130.                 r4 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r0 "type" r3
  2131.                 r5 = read_local event
  2132.                 ret r5
  2133.     */
  2134.         abort();
  2135. }
  2136. fl::com::meduzik::matcharena::game::field::QuestEvent* GameField::fillBorderQuestProperties(fl::com::meduzik::matcharena::game::field::QuestEvent* event, fl::com::meduzik::matcharena::engine::field::plate::Plate* plate){
  2137.     /*
  2138.     main:
  2139.         locals:
  2140.             event : class com.meduzik.matcharena.game.field.QuestEvent
  2141.             plate : class com.meduzik.matcharena.engine.field.plate.Plate
  2142.         code:
  2143.             block_0:
  2144.                 r0 = read_local event
  2145.                 r1 = read_local plate
  2146.                 r2 = call_cmethod com.meduzik.matcharena.engine.field.plate.Plate.getDescription r1
  2147.                 r3 = to_any r2
  2148.                 r4 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r0 "type" r3
  2149.                 r5 = read_local event
  2150.                 ret r5
  2151.     */
  2152.         abort();
  2153. }
  2154. void GameField::onChipsCombineBegin(fl::com::meduzik::matcharena::engine::field::EngineCell* fromCell, fl::com::meduzik::matcharena::engine::field::EngineCell* toCell, fl::com::meduzik::matcharena::engine::field::chip::Chip* fromChip, fl::com::meduzik::matcharena::engine::field::chip::Chip* toChip, fl::com::meduzik::matcharena::engine::combo::Combo* combo, jfl::Boolean inverse){
  2155.     /*
  2156.     main:
  2157.         locals:
  2158.             fromCell : class com.meduzik.matcharena.engine.field.EngineCell
  2159.             toCell : class com.meduzik.matcharena.engine.field.EngineCell
  2160.             fromChip : class com.meduzik.matcharena.engine.field.chip.Chip
  2161.             toChip : class com.meduzik.matcharena.engine.field.chip.Chip
  2162.             combo : class com.meduzik.matcharena.engine.combo.Combo
  2163.             inverse : Boolean
  2164.             chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  2165.         code:
  2166.             block_0:
  2167.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  2168.                 r1 = read_cfield com.meduzik.matcharena.game.EventContext.COMBINE
  2169.                 r2 = call_cmethod com.meduzik.matcharena.game.EventContext.begin r0 r1
  2170.                 r3 = call_cmethod com.meduzik.matcharena.game.field.GameField.raise this "use_bonus"
  2171.                 r4 = read_local fromChip
  2172.                 r5 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillChipQuestProperties this r3 r4
  2173.                 r6 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r5
  2174.                 r7 = call_cmethod com.meduzik.matcharena.game.field.GameField.raise this "use_bonus"
  2175.                 r8 = read_local toChip
  2176.                 r9 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillChipQuestProperties this r7 r8
  2177.                 r10 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r9
  2178.                 r11 = call_cmethod com.meduzik.matcharena.game.field.GameField.raise this "make_combo"
  2179.                 r12 = read_local fromChip
  2180.                 r13 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.getID r12
  2181.                 r14 = to_any r13
  2182.                 r15 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r11 "first" r14
  2183.                 r16 = read_local toChip
  2184.                 r17 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.getID r16
  2185.                 r18 = to_any r17
  2186.                 r19 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r15 "second" r18
  2187.                 r20 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r19
  2188.                 r21 = read_local fromChip
  2189.                 r22 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.getKind r21
  2190.                 r23 = call_cmethod com.meduzik.matcharena.engine.field.chip.ChipKind.id r22
  2191.                 r24 = read_local toChip
  2192.                 r25 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.getKind r24
  2193.                 r26 = call_cmethod com.meduzik.matcharena.engine.field.chip.ChipKind.id r25
  2194.                 r27 = str_cmp neq r23 r26
  2195.                 condbr r27 block_1 block_2
  2196.             block_1:
  2197.                 r28 = call_cmethod com.meduzik.matcharena.game.field.GameField.raise this "make_combo"
  2198.                 r29 = read_local toChip
  2199.                 r30 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.getID r29
  2200.                 r31 = to_any r30
  2201.                 r32 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r28 "first" r31
  2202.                 r33 = read_local fromChip
  2203.                 r34 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.getID r33
  2204.                 r35 = to_any r34
  2205.                 r36 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r32 "second" r35
  2206.                 r37 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r36
  2207.                 br block_2
  2208.             block_2:
  2209.                 r38 = read_local combo
  2210.                 r39 = read_cfield com.meduzik.matcharena.engine.combo.Combo.MineMine
  2211.                 r40 = ref_cmp eq r38 r39
  2212.                 condbr r40 block_3 block_4
  2213.             block_3:
  2214.                 r41 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  2215.                 r42 = read_local fromChip
  2216.                 r43 = read_dynindex r41 r42
  2217.                 r44 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r43
  2218.                 write_local chipObject r44
  2219.                 r45 = read_local chipObject
  2220.                 r46 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r45 "MineMineCombine"
  2221.                 br block_4
  2222.             block_4:
  2223.     */
  2224.         abort();
  2225. }
  2226. fl::com::meduzik::matcharena::game::field::QuestEvent* GameField::raise(jfl::String* type, jfl::Number value){
  2227.     /*
  2228.     main:
  2229.         locals:
  2230.             type : class String
  2231.             value : Number
  2232.             event : class com.meduzik.matcharena.game.field.QuestEvent
  2233.         code:
  2234.             block_0:
  2235.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
  2236.                 r1 = read_local type
  2237.                 r2 = read_local value
  2238.                 r3 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.raise r0 r1 r2
  2239.                 write_local event r3
  2240.                 r4 = read_local event
  2241.                 ret r4
  2242.     */
  2243.         abort();
  2244. }
  2245. void GameField::onChipsCombineFuseTarget(fl::com::meduzik::matcharena::engine::field::chip::Chip* primaryChip, fl::com::meduzik::matcharena::engine::field::chip::Chip* secondaryChip, fl::com::meduzik::matcharena::engine::field::EngineCell* fromCell, fl::com::meduzik::matcharena::engine::field::EngineCell* toCell, jfl::Boolean needSwap){
  2246.     /*
  2247.     main:
  2248.         locals:
  2249.             primaryChip : class com.meduzik.matcharena.engine.field.chip.Chip
  2250.             secondaryChip : class com.meduzik.matcharena.engine.field.chip.Chip
  2251.             fromCell : class com.meduzik.matcharena.engine.field.EngineCell
  2252.             toCell : class com.meduzik.matcharena.engine.field.EngineCell
  2253.             needSwap : Boolean
  2254.             primaryChipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  2255.             primaryCell : class com.meduzik.matcharena.game.field.cell.CellObject
  2256.             secondaryChipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  2257.             secondaryCell : class com.meduzik.matcharena.game.field.cell.CellObject
  2258.         code:
  2259.             block_0:
  2260.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  2261.                 r1 = read_local primaryChip
  2262.                 r2 = read_dynindex r0 r1
  2263.                 r3 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r2
  2264.                 write_local primaryChipObject r3
  2265.                 r4 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  2266.                 r5 = read_local toCell
  2267.                 r6 = read_dynindex r4 r5
  2268.                 r7 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r6
  2269.                 write_local primaryCell r7
  2270.                 r8 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  2271.                 r9 = read_local secondaryChip
  2272.                 r10 = read_dynindex r8 r9
  2273.                 r11 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r10
  2274.                 write_local secondaryChipObject r11
  2275.                 r12 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  2276.                 r13 = read_local fromCell
  2277.                 r14 = read_dynindex r12 r13
  2278.                 r15 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r14
  2279.                 write_local secondaryCell r15
  2280.                 r16 = read_local primaryChipObject
  2281.                 r17 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.bringToFront r16
  2282.                 r18 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  2283.                 r19 = read_local fromCell
  2284.                 r20 = read_dynindex r18 r19
  2285.                 r21 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r20
  2286.                 r22 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  2287.                 r23 = read_local toCell
  2288.                 r24 = read_dynindex r22 r23
  2289.                 r25 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r24
  2290.                 r26 = call_cmethod com.meduzik.matcharena.game.field.GameField.showSwapSplash this r21 r25
  2291.                 r27 = read_local needSwap
  2292.                 condbr r27 block_1 block_2
  2293.             block_1:
  2294.                 r28 = read_local primaryChipObject
  2295.                 r29 = read_local secondaryCell
  2296.                 r30 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r29
  2297.                 r31 = read_local secondaryCell
  2298.                 r32 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r31
  2299.                 r33 = read_local primaryCell
  2300.                 r34 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r33
  2301.                 r35 = read_local primaryCell
  2302.                 r36 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r35
  2303.                 r37 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithTwoPos r28 "ComboFuseTargetPrimarySwap" r30 r32 r34 r36
  2304.                 r38 = read_local secondaryChipObject
  2305.                 r39 = read_local secondaryChipObject
  2306.                 r40 = read_local primaryCell
  2307.                 r41 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r40
  2308.                 r42 = read_local primaryCell
  2309.                 r43 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r42
  2310.                 r44 = read_local secondaryCell
  2311.                 r45 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r44
  2312.                 r46 = read_local secondaryCell
  2313.                 r47 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r46
  2314.                 r48 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithTwoPos r39 "ComboFuseTargetSecondaryStay" r41 r43 r45 r47
  2315.                 r49 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r38 r48
  2316.                 br block_2
  2317.             block_2:
  2318.     */
  2319.         abort();
  2320. }
  2321. void GameField::onChipsCombineFuseBetween(fl::com::meduzik::matcharena::engine::field::chip::Chip* primaryChip, fl::com::meduzik::matcharena::engine::field::chip::Chip* secondaryChip, fl::com::meduzik::matcharena::engine::field::EngineCell* fromCell, fl::com::meduzik::matcharena::engine::field::EngineCell* toCell, jfl::Boolean needSwap){
  2322.     /*
  2323.     main:
  2324.         locals:
  2325.             primaryChip : class com.meduzik.matcharena.engine.field.chip.Chip
  2326.             secondaryChip : class com.meduzik.matcharena.engine.field.chip.Chip
  2327.             fromCell : class com.meduzik.matcharena.engine.field.EngineCell
  2328.             toCell : class com.meduzik.matcharena.engine.field.EngineCell
  2329.             needSwap : Boolean
  2330.             primaryChipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  2331.             primaryCell : class com.meduzik.matcharena.game.field.cell.CellObject
  2332.             secondaryChipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  2333.             secondaryCell : class com.meduzik.matcharena.game.field.cell.CellObject
  2334.         code:
  2335.             block_0:
  2336.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  2337.                 r1 = read_local primaryChip
  2338.                 r2 = read_dynindex r0 r1
  2339.                 r3 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r2
  2340.                 write_local primaryChipObject r3
  2341.                 r4 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  2342.                 r5 = read_local toCell
  2343.                 r6 = read_dynindex r4 r5
  2344.                 r7 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r6
  2345.                 write_local primaryCell r7
  2346.                 r8 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  2347.                 r9 = read_local secondaryChip
  2348.                 r10 = read_dynindex r8 r9
  2349.                 r11 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r10
  2350.                 write_local secondaryChipObject r11
  2351.                 r12 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  2352.                 r13 = read_local fromCell
  2353.                 r14 = read_dynindex r12 r13
  2354.                 r15 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r14
  2355.                 write_local secondaryCell r15
  2356.                 r16 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  2357.                 r17 = read_local fromCell
  2358.                 r18 = read_dynindex r16 r17
  2359.                 r19 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r18
  2360.                 r20 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  2361.                 r21 = read_local toCell
  2362.                 r22 = read_dynindex r20 r21
  2363.                 r23 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r22
  2364.                 r24 = call_cmethod com.meduzik.matcharena.game.field.GameField.showSwapSplash this r19 r23
  2365.                 r25 = read_local primaryChipObject
  2366.                 r26 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.bringToFront r25
  2367.                 r27 = read_local needSwap
  2368.                 condbr r27 block_1 block_2
  2369.             block_1:
  2370.                 r28 = read_local primaryChipObject
  2371.                 r29 = read_local secondaryCell
  2372.                 r30 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r29
  2373.                 r31 = read_local secondaryCell
  2374.                 r32 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r31
  2375.                 r33 = read_local primaryCell
  2376.                 r34 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r33
  2377.                 r35 = read_local primaryCell
  2378.                 r36 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r35
  2379.                 r37 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithTwoPos r28 "ComboFuseBetweenPrimarySwap" r30 r32 r34 r36
  2380.                 r38 = read_local secondaryChipObject
  2381.                 r39 = read_local secondaryChipObject
  2382.                 r40 = read_local primaryCell
  2383.                 r41 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r40
  2384.                 r42 = read_local primaryCell
  2385.                 r43 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r42
  2386.                 r44 = read_local secondaryCell
  2387.                 r45 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r44
  2388.                 r46 = read_local secondaryCell
  2389.                 r47 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r46
  2390.                 r48 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithTwoPos r39 "ComboFuseBetweenSecondaryStay" r41 r43 r45 r47
  2391.                 r49 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r38 r48
  2392.                 br block_2
  2393.             block_2:
  2394.     */
  2395.         abort();
  2396. }
  2397. void GameField::onChipsCombineSwap(fl::com::meduzik::matcharena::engine::field::chip::Chip* primaryChip, fl::com::meduzik::matcharena::engine::field::chip::Chip* secondaryChip, fl::com::meduzik::matcharena::engine::field::EngineCell* fromCell, fl::com::meduzik::matcharena::engine::field::EngineCell* toCell, jfl::Boolean needSwap){
  2398.     /*
  2399.     main:
  2400.         locals:
  2401.             primaryChip : class com.meduzik.matcharena.engine.field.chip.Chip
  2402.             secondaryChip : class com.meduzik.matcharena.engine.field.chip.Chip
  2403.             fromCell : class com.meduzik.matcharena.engine.field.EngineCell
  2404.             toCell : class com.meduzik.matcharena.engine.field.EngineCell
  2405.             needSwap : Boolean
  2406.         code:
  2407.             block_0:
  2408.                 r0 = read_local needSwap
  2409.                 condbr r0 block_1 block_2
  2410.             block_1:
  2411.                 r1 = read_local fromCell
  2412.                 r2 = read_local toCell
  2413.                 r3 = read_local primaryChip
  2414.                 r4 = read_local secondaryChip
  2415.                 r5 = read_cfield com.meduzik.matcharena.engine.observer.SwapEvent.SwapMove
  2416.                 r6 = call_cmethod com.meduzik.matcharena.game.field.GameField.onChipsSwap this r1 r2 r3 r4 r5
  2417.                 br block_2
  2418.             block_2:
  2419.     */
  2420.         abort();
  2421. }
  2422. void GameField::onChipsCombineEnd(){
  2423.     /*
  2424.     main:
  2425.         code:
  2426.             block_0:
  2427.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  2428.                 r1 = call_cmethod com.meduzik.matcharena.game.EventContext.end r0
  2429.     */
  2430.         abort();
  2431. }
  2432. void GameField::onChipFallEnds(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
  2433.     /*
  2434.     main:
  2435.         locals:
  2436.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  2437.             target : class com.meduzik.matcharena.game.field.cell.CellObject
  2438.             chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  2439.         code:
  2440.             block_0:
  2441.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  2442.                 r1 = read_local chip
  2443.                 r2 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.currentCell r1
  2444.                 r3 = read_dynindex r0 r2
  2445.                 r4 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r3
  2446.                 write_local target r4
  2447.                 r5 = read_local target
  2448.                 r6 = ref_cmp neq r5 (null:class com.meduzik.matcharena.game.field.cell.CellObject)
  2449.                 r7 = choice r6 Boolean false true
  2450.                 condbr r7 block_1 block_2
  2451.             block_1:
  2452.                 r8 = read_local chip
  2453.                 r9 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeChipEntity this r8
  2454.                 write_local chipObject r9
  2455.                 r10 = read_local chipObject
  2456.                 r11 = ref_cmp neq r10 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
  2457.                 condbr r11 block_3 block_4
  2458.             block_2:
  2459.             block_3:
  2460.                 r12 = read_local chipObject
  2461.                 r13 = read_local chipObject
  2462.                 r14 = read_cfield com.meduzik.fx.combinators.FXZero.Instance
  2463.                 r15 = class_cast throws r14 com.meduzik.fx.FX
  2464.                 r16 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runCustomFX r13 r15
  2465.                 r17 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r12 r16
  2466.                 br block_4
  2467.             block_4:
  2468.                 br block_2
  2469.     */
  2470.         abort();
  2471. }
  2472. void GameField::onChipFalls(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip, fl::com::meduzik::matcharena::engine::field::CellEdge* edge){
  2473.     /*
  2474.     main:
  2475.         locals:
  2476.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  2477.             edge : class com.meduzik.matcharena.engine.field.CellEdge
  2478.             source : class com.meduzik.matcharena.game.field.cell.CellObject
  2479.             target : class com.meduzik.matcharena.game.field.cell.CellObject
  2480.             chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  2481.             outPortal : class com.meduzik.matcharena.engine.field.portal.PortalNode
  2482.             inPortal : class com.meduzik.matcharena.engine.field.portal.PortalNode
  2483.             outMap : class Array
  2484.             inMap : class Array
  2485.             obj : class com.meduzik.matcharena.game.field.effect.SpriteFieldObject
  2486.         code:
  2487.             block_0:
  2488.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  2489.                 r1 = read_local edge
  2490.                 r2 = read_cfield com.meduzik.matcharena.engine.field.CellEdge.source r1
  2491.                 r3 = read_dynindex r0 r2
  2492.                 r4 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r3
  2493.                 write_local source r4
  2494.                 r5 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  2495.                 r6 = read_local edge
  2496.                 r7 = read_cfield com.meduzik.matcharena.engine.field.CellEdge.target r6
  2497.                 r8 = read_dynindex r5 r7
  2498.                 r9 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r8
  2499.                 write_local target r9
  2500.                 r10 = read_local source
  2501.                 r11 = ref_cmp neq r10 (null:class com.meduzik.matcharena.game.field.cell.CellObject)
  2502.                 r12 = choice r11 Boolean false true
  2503.                 condbr r12 block_1 block_2
  2504.             block_1:
  2505.                 r13 = read_local target
  2506.                 r14 = ref_cmp neq r13 (null:class com.meduzik.matcharena.game.field.cell.CellObject)
  2507.                 r15 = choice r14 Boolean false true
  2508.             block_2:
  2509.                 r16 = phi Boolean (block_0 -> r12) (block_1 -> r15)
  2510.                 condbr r16 block_3 block_4
  2511.             block_3:
  2512.                 ret void
  2513.                 br block_4
  2514.             block_4:
  2515.                 r17 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  2516.                 r18 = read_local chip
  2517.                 r19 = read_dynindex r17 r18
  2518.                 r20 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r19
  2519.                 write_local chipObject r20
  2520.                 r21 = read_local chipObject
  2521.                 r22 = ref_cmp neq r21 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
  2522.                 r23 = choice r22 Boolean false true
  2523.                 condbr r23 block_5 block_6
  2524.             block_5:
  2525.                 r24 = read_local chip
  2526.                 r25 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.currentCell r24
  2527.                 r26 = read_local chip
  2528.                 r27 = call_cmethod com.meduzik.matcharena.game.field.GameField.createChipEntity this r25 r26
  2529.                 write_local chipObject r27
  2530.                 br block_6
  2531.             block_6:
  2532.                 r28 = read_local edge
  2533.                 r29 = read_cfield com.meduzik.matcharena.engine.field.CellEdge.portal r28
  2534.                 condbr r29 block_7 block_8
  2535.             block_7:
  2536.                 r30 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  2537.                 r31 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r30
  2538.                 r32 = read_cfield com.meduzik.matcharena.engine.field.Field.portals r31
  2539.                 r33 = read_local edge
  2540.                 r34 = read_cfield com.meduzik.matcharena.engine.field.CellEdge.source r33
  2541.                 r35 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r34
  2542.                 r36 = read_local edge
  2543.                 r37 = read_cfield com.meduzik.matcharena.engine.field.CellEdge.source r36
  2544.                 r38 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r37
  2545.                 r39 = read_local edge
  2546.                 r40 = read_cfield com.meduzik.matcharena.engine.field.CellEdge.outSide r39
  2547.                 r41 = call_cmethod com.meduzik.matcharena.engine.field.portal.PortalNodes.findPortal r32 r35 r38 r40
  2548.                 write_local outPortal r41
  2549.                 r42 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  2550.                 r43 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r42
  2551.                 r44 = read_cfield com.meduzik.matcharena.engine.field.Field.portals r43
  2552.                 r45 = read_local edge
  2553.                 r46 = read_cfield com.meduzik.matcharena.engine.field.CellEdge.target r45
  2554.                 r47 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r46
  2555.                 r48 = read_local edge
  2556.                 r49 = read_cfield com.meduzik.matcharena.engine.field.CellEdge.target r48
  2557.                 r50 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r49
  2558.                 r51 = read_local edge
  2559.                 r52 = read_cfield com.meduzik.matcharena.engine.field.CellEdge.inSide r51
  2560.                 r53 = call_cmethod com.meduzik.matcharena.engine.field.portal.PortalNodes.findPortal r44 r47 r50 r52
  2561.                 write_local inPortal r53
  2562.                 r54 = read_local outPortal
  2563.                 r55 = to_any r54
  2564.                 r56 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r55
  2565.                 r57 = from_any class Array r56
  2566.                 write_local outMap r57
  2567.                 r58 = read_local inPortal
  2568.                 r59 = to_any r58
  2569.                 r60 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r59
  2570.                 r61 = from_any class Array r60
  2571.                 write_local inMap r61
  2572.                 r62 = read_local outMap
  2573.                 r63 = ref_cmp neq r62 (null:class Array)
  2574.                 condbr r63 block_9 block_10
  2575.             block_8:
  2576.                 r64 = read_local chipObject
  2577.                 r65 = read_cfield com.meduzik.matcharena.game.field.chip.ChipObject.movement r64
  2578.                 r66 = read_local edge
  2579.                 r67 = read_local chip
  2580.                 r68 = read_cfield com.meduzik.matcharena.engine.field.chip.Chip.fallBeginTimestamp r67
  2581.                 r69 = call_cmethod com.meduzik.matcharena.game.field.GameField.getTimestampDelta this r68
  2582.                 r70 = read_local chip
  2583.                 r71 = read_cfield com.meduzik.matcharena.engine.field.chip.Chip.changeCellTimestamp r70
  2584.                 r72 = call_cmethod com.meduzik.matcharena.game.field.GameField.getTimestampDelta this r71
  2585.                 r73 = read_local chip
  2586.                 r74 = read_cfield com.meduzik.matcharena.engine.field.chip.Chip.fallEndTimestamp r73
  2587.                 r75 = call_cmethod com.meduzik.matcharena.game.field.GameField.getTimestampDelta this r74
  2588.                 r76 = read_local chip
  2589.                 r77 = read_cfield com.meduzik.matcharena.engine.field.chip.Chip.velocityBegin r76
  2590.                 r78 = call_cmethod com.meduzik.matcharena.game.field.GameField.convertVelocity this r77
  2591.                 r79 = read_local chip
  2592.                 r80 = read_cfield com.meduzik.matcharena.engine.field.chip.Chip.velocityBegin r79
  2593.                 r81 = read_local chip
  2594.                 r82 = read_cfield com.meduzik.matcharena.engine.field.chip.Chip.velocityEnd r81
  2595.                 r83 = num_binop int + r80 r82
  2596.                 r84 = call_cmethod com.meduzik.matcharena.game.field.GameField.convertVelocity this r83
  2597.                 r85 = read_local chip
  2598.                 r86 = read_cfield com.meduzik.matcharena.engine.field.chip.Chip.velocityEnd r85
  2599.                 r87 = call_cmethod com.meduzik.matcharena.game.field.GameField.convertVelocity this r86
  2600.                 r88 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipMovement.fallOnEdge r65 this r66 r69 r72 r75 r78 r84 r87
  2601.             block_9:
  2602.                 br block_10
  2603.             block_10:
  2604.                 r89 = read_local inMap
  2605.                 r90 = ref_cmp neq r89 (null:class Array)
  2606.                 condbr r90 block_11 block_12
  2607.             block_11:
  2608.                 br block_12
  2609.             block_12:
  2610.                 br block_8
  2611.     */
  2612.         abort();
  2613. }
  2614. void GameField::onChipGenerated(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip, fl::com::meduzik::matcharena::engine::field::CellEdge* edge){
  2615.     /*
  2616.     main:
  2617.         locals:
  2618.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  2619.             edge : class com.meduzik.matcharena.engine.field.CellEdge
  2620.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  2621.             cellObject : class com.meduzik.matcharena.game.field.cell.CellObject
  2622.             chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  2623.         code:
  2624.             block_0:
  2625.                 r0 = read_local edge
  2626.                 r1 = read_cfield com.meduzik.matcharena.engine.field.CellEdge.target r0
  2627.                 write_local cell r1
  2628.                 r2 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  2629.                 r3 = read_local edge
  2630.                 r4 = read_cfield com.meduzik.matcharena.engine.field.CellEdge.target r3
  2631.                 r5 = read_dynindex r2 r4
  2632.                 r6 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r5
  2633.                 write_local cellObject r6
  2634.                 r7 = read_local cellObject
  2635.                 r8 = ref_cmp neq r7 (null:class com.meduzik.matcharena.game.field.cell.CellObject)
  2636.                 condbr r8 block_1 block_2
  2637.             block_1:
  2638.                 r9 = read_local chip
  2639.                 r10 = call_cmethod com.meduzik.matcharena.game.field.GameField.createChipFromEngineChip this r9
  2640.                 write_local chipObject r10
  2641.                 r11 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  2642.                 r12 = read_local chip
  2643.                 r13 = read_local chipObject
  2644.                 r14 = to_any r13
  2645.                 write_dynindex r11 r12
  2646.                 r15 = read_local chipObject
  2647.                 r16 = class_cast throws r15 com.meduzik.matcharena.game.field.FieldObject
  2648.                 r17 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r16
  2649.                 r18 = read_local chip
  2650.                 r19 = read_local edge
  2651.                 r20 = call_cmethod com.meduzik.matcharena.game.field.GameField.onChipFalls this r18 r19
  2652.                 br block_2
  2653.             block_2:
  2654.     */
  2655.         abort();
  2656. }
  2657. void GameField::onMatchGroupCreated(fl::com::meduzik::matcharena::engine::match::MatchGroup* matchGroup){
  2658.     /*
  2659.     main:
  2660.         locals:
  2661.             matchGroup : class com.meduzik.matcharena.engine.match.MatchGroup
  2662.         code:
  2663.             block_0:
  2664.     */
  2665.         abort();
  2666. }
  2667. void GameField::onMatchGroupCellAdded(fl::com::meduzik::matcharena::engine::match::MatchGroup* matchGroup, fl::com::meduzik::matcharena::engine::field::EngineCell* cell){
  2668.     /*
  2669.     main:
  2670.         locals:
  2671.             matchGroup : class com.meduzik.matcharena.engine.match.MatchGroup
  2672.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  2673.         code:
  2674.             block_0:
  2675.     */
  2676.         abort();
  2677. }
  2678. void GameField::onMatchGroupHitTimeUpdated(fl::com::meduzik::matcharena::engine::match::MatchGroup* matchGroup, jfl::Int hitTimestamp){
  2679.     /*
  2680.     main:
  2681.         locals:
  2682.             matchGroup : class com.meduzik.matcharena.engine.match.MatchGroup
  2683.             hitTimestamp : int
  2684.         code:
  2685.             block_0:
  2686.     */
  2687.         abort();
  2688. }
  2689. void GameField::onMatchGroupsMerge(fl::com::meduzik::matcharena::engine::match::MatchGroup* sourceGroup, fl::com::meduzik::matcharena::engine::match::MatchGroup* targetGroup){
  2690.     /*
  2691.     main:
  2692.         locals:
  2693.             sourceGroup : class com.meduzik.matcharena.engine.match.MatchGroup
  2694.             targetGroup : class com.meduzik.matcharena.engine.match.MatchGroup
  2695.         code:
  2696.             block_0:
  2697.     */
  2698.         abort();
  2699. }
  2700. void GameField::onMatchGroupActivateBegin(fl::com::meduzik::matcharena::engine::match::MatchGroup* matchGroup){
  2701.     /*
  2702.     main:
  2703.         locals:
  2704.             matchGroup : class com.meduzik.matcharena.engine.match.MatchGroup
  2705.         code:
  2706.             block_0:
  2707.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  2708.                 r1 = read_cfield com.meduzik.matcharena.game.EventContext.MATCH
  2709.                 r2 = call_cmethod com.meduzik.matcharena.game.EventContext.begin r0 r1
  2710.     */
  2711.         abort();
  2712. }
  2713. void GameField::onSpawnBonus(fl::com::meduzik::matcharena::engine::match::BonusElement* bonus){
  2714.     /*
  2715.     main:
  2716.         locals:
  2717.             bonus : class com.meduzik.matcharena.engine.match.BonusElement
  2718.             chip : class com.meduzik.matcharena.game.field.chip.ChipObject
  2719.             bonusCell : class com.meduzik.matcharena.engine.match.BonusCell
  2720.             chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  2721.         code:
  2722.             block_0:
  2723.                 r0 = read_local bonus
  2724.                 r1 = read_cfield com.meduzik.matcharena.engine.match.BonusElement.spawnCell r0
  2725.                 r2 = ref_cmp neq r1 (null:class com.meduzik.matcharena.engine.field.EngineCell)
  2726.                 condbr r2 block_1 block_2
  2727.             block_1:
  2728.                 r3 = read_local bonus
  2729.                 r4 = read_cfield com.meduzik.matcharena.engine.match.BonusElement.spawnChip r3
  2730.                 r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.engine.field.chip.Chip)
  2731.             block_2:
  2732.                 r6 = phi Boolean (block_0 -> r2) (block_1 -> r5)
  2733.                 condbr r6 block_3 block_4
  2734.             block_3:
  2735.                 r7 = read_local bonus
  2736.                 r8 = read_cfield com.meduzik.matcharena.engine.match.BonusElement.spawnChip r7
  2737.                 r9 = call_cmethod com.meduzik.matcharena.game.field.GameField.createChipFromEngineChip this r8
  2738.                 write_local chip r9
  2739.                 r10 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  2740.                 r11 = read_local bonus
  2741.                 r12 = read_cfield com.meduzik.matcharena.engine.match.BonusElement.spawnChip r11
  2742.                 r13 = read_local chip
  2743.                 r14 = to_any r13
  2744.                 write_dynindex r10 r12
  2745.                 r15 = read_local chip
  2746.                 r16 = class_cast throws r15 com.meduzik.matcharena.game.field.FieldObject
  2747.                 r17 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r16
  2748.                 r18 = read_local chip
  2749.                 r19 = read_local bonus
  2750.                 r20 = read_cfield com.meduzik.matcharena.engine.match.BonusElement.spawnCell r19
  2751.                 r21 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r20
  2752.                 r22 = read_local bonus
  2753.                 r23 = read_cfield com.meduzik.matcharena.engine.match.BonusElement.spawnCell r22
  2754.                 r24 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r23
  2755.                 r25 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.placeAtCellPosition r18 r21 r24
  2756.                 r26 = read_local chip
  2757.                 r27 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r26 "BonusSpawn"
  2758.                 br block_4
  2759.             block_4:
  2760.                 r28 = call_cmethod com.meduzik.matcharena.game.field.GameField.raise this "make_bonus"
  2761.                 r29 = read_local bonus
  2762.                 r30 = read_cfield com.meduzik.matcharena.engine.match.BonusElement.spawnChip r29
  2763.                 r31 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillChipQuestProperties this r28 r30
  2764.                 r32 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r31
  2765.                 r33 = read_local bonus
  2766.                 r34 = read_cfield com.meduzik.matcharena.engine.match.BonusElement.firstCell r33
  2767.                 write_local bonusCell r34
  2768.                 br block_5
  2769.             block_5:
  2770.                 r35 = read_local bonusCell
  2771.                 r36 = ref_cmp neq r35 (null:class com.meduzik.matcharena.engine.match.BonusCell)
  2772.                 condbr r36 block_6 block_7
  2773.             block_6:
  2774.                 r37 = read_local bonusCell
  2775.                 r38 = read_cfield com.meduzik.matcharena.engine.match.BonusCell.chip r37
  2776.                 r39 = ref_cmp neq r38 (null:class com.meduzik.matcharena.engine.field.chip.Chip)
  2777.                 condbr r39 block_8 block_9
  2778.             block_7:
  2779.             block_8:
  2780.                 r40 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  2781.                 r41 = read_local bonusCell
  2782.                 r42 = read_cfield com.meduzik.matcharena.engine.match.BonusCell.chip r41
  2783.                 r43 = read_dynindex r40 r42
  2784.                 r44 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r43
  2785.                 write_local chipObject r44
  2786.                 r45 = read_local chipObject
  2787.                 r46 = ref_cmp neq r45 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
  2788.                 condbr r46 block_10 block_11
  2789.             block_9:
  2790.                 br block_12
  2791.             block_10:
  2792.                 r47 = read_local bonusCell
  2793.                 r48 = read_cfield com.meduzik.matcharena.engine.match.BonusCell.chip r47
  2794.                 r49 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.isDecaying r48
  2795.             block_11:
  2796.                 r50 = phi Boolean (block_8 -> r46) (block_10 -> r49)
  2797.                 condbr r50 block_13 block_14
  2798.             block_12:
  2799.                 r51 = read_local bonusCell
  2800.                 r52 = read_cfield com.meduzik.matcharena.engine.match.BonusCell.next r51
  2801.                 write_local bonusCell r52
  2802.                 br block_5
  2803.             block_13:
  2804.                 r53 = read_local chipObject
  2805.                 r54 = read_cfield com.meduzik.matcharena.game.field.chip.ChipObject.movement r53
  2806.                 r55 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipMovement.finish r54
  2807.                 r56 = read_local chipObject
  2808.                 r57 = read_local chipObject
  2809.                 r58 = read_local bonus
  2810.                 r59 = read_cfield com.meduzik.matcharena.engine.match.BonusElement.spawnCell r58
  2811.                 r60 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r59
  2812.                 r61 = call_cmethod com.meduzik.matcharena.game.field.GameField.constants this
  2813.                 r62 = read_cfield com.meduzik.matcharena.game.GameConstants.CellSize r61
  2814.                 r63 = num_binop Number * r60 r62
  2815.                 r64 = read_local bonus
  2816.                 r65 = read_cfield com.meduzik.matcharena.engine.match.BonusElement.spawnCell r64
  2817.                 r66 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r65
  2818.                 r67 = call_cmethod com.meduzik.matcharena.game.field.GameField.constants this
  2819.                 r68 = read_cfield com.meduzik.matcharena.game.GameConstants.CellSize r67
  2820.                 r69 = num_binop Number * r66 r68
  2821.                 r70 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithPos r57 "ChipConsumeWithBonus" r63 r69
  2822.                 r71 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r56 r70
  2823.                 br block_14
  2824.             block_14:
  2825.                 r72 = call_cmethod com.meduzik.matcharena.game.field.GameField.resources this
  2826.                 r73 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.bonusCell r72
  2827.                 r74 = read_cfield com.meduzik.matcharena.game.field.view.SortLayer.OverTile
  2828.                 r75 = call_cmethod com.meduzik.matcharena.game.field.GameField.createEffect this r73 r74
  2829.                 r76 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  2830.                 r77 = read_local bonusCell
  2831.                 r78 = read_cfield com.meduzik.matcharena.engine.match.BonusCell.cell r77
  2832.                 r79 = read_dynindex r76 r78
  2833.                 r80 = from_any class com.meduzik.matcharena.game.field.FieldObject r79
  2834.                 r81 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.attachToObject r75 r80
  2835.                 br block_9
  2836.     */
  2837.         abort();
  2838. }
  2839. void GameField::onMatchGroupActivateEnd(){
  2840.     /*
  2841.     main:
  2842.         code:
  2843.             block_0:
  2844.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  2845.                 r1 = call_cmethod com.meduzik.matcharena.game.EventContext.end r0
  2846.     */
  2847.         abort();
  2848. }
  2849. void GameField::onExplosionPropagateBegin(fl::com::meduzik::matcharena::engine::trigger::BombTrigger* explosion, fl::com::meduzik::matcharena::engine::CellsPattern* pattern){
  2850.     /*
  2851.     main:
  2852.         locals:
  2853.             explosion : class com.meduzik.matcharena.engine.trigger.BombTrigger
  2854.             pattern : class com.meduzik.matcharena.engine.CellsPattern
  2855.         code:
  2856.             block_0:
  2857.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  2858.                 r1 = read_cfield com.meduzik.matcharena.game.EventContext.EXPLOSION
  2859.                 r2 = call_cmethod com.meduzik.matcharena.game.EventContext.begin r0 r1
  2860.     */
  2861.         abort();
  2862. }
  2863. void GameField::onExplosionPropagateEnd(){
  2864.     /*
  2865.     main:
  2866.         code:
  2867.             block_0:
  2868.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  2869.                 r1 = call_cmethod com.meduzik.matcharena.game.EventContext.end r0
  2870.     */
  2871.         abort();
  2872. }
  2873. void GameField::onExplosionDecays(fl::com::meduzik::matcharena::engine::trigger::BombTrigger* explosion){
  2874.     /*
  2875.     main:
  2876.         locals:
  2877.             explosion : class com.meduzik.matcharena.engine.trigger.BombTrigger
  2878.         code:
  2879.             block_0:
  2880.     */
  2881.         abort();
  2882. }
  2883. void GameField::onChipFallsIntoExplosionBegin(fl::com::meduzik::matcharena::engine::trigger::BombTrigger* explosion, fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
  2884.     /*
  2885.     main:
  2886.         locals:
  2887.             explosion : class com.meduzik.matcharena.engine.trigger.BombTrigger
  2888.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  2889.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  2890.         code:
  2891.             block_0:
  2892.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  2893.                 r1 = read_cfield com.meduzik.matcharena.game.EventContext.FALL_INTO_EXPLOSION
  2894.                 r2 = call_cmethod com.meduzik.matcharena.game.EventContext.begin r0 r1
  2895.     */
  2896.         abort();
  2897. }
  2898. void GameField::onChipFallsIntoExplosionEnd(){
  2899.     /*
  2900.     main:
  2901.         code:
  2902.             block_0:
  2903.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  2904.                 r1 = call_cmethod com.meduzik.matcharena.game.EventContext.end r0
  2905.     */
  2906.         abort();
  2907. }
  2908. void GameField::onChipTriggersEventBegin(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip, fl::com::meduzik::matcharena::engine::observer::ChipEvent* event){
  2909.     /*
  2910.     main:
  2911.         locals:
  2912.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  2913.             event : class com.meduzik.matcharena.engine.observer.ChipEvent
  2914.             chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  2915.             bombChip : class com.meduzik.matcharena.engine.field.chip.BombChip
  2916.             firstExplosion : Boolean
  2917.             mineChip : class com.meduzik.matcharena.engine.field.chip.MineChip
  2918.             lineChip : class com.meduzik.matcharena.engine.field.chip.LineChip
  2919.             horizontal : Boolean
  2920.             nukeEffect : class com.meduzik.matcharena.game.field.effect.NukeEffect
  2921.         code:
  2922.             block_0:
  2923.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  2924.                 r1 = read_cfield com.meduzik.matcharena.game.EventContext.CHIP_EVENT
  2925.                 r2 = call_cmethod com.meduzik.matcharena.game.EventContext.begin r0 r1
  2926.                 r3 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEvents this
  2927.                 r4 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEvents this
  2928.                 r5 = call_cmethod Vector.length r4
  2929.                 r6 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEvent this
  2930.                 r7 = to_any r6
  2931.                 write_vecindex r3 r5 r7
  2932.                 r8 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEvents this
  2933.                 r9 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEvents this
  2934.                 r10 = call_cmethod Vector.length r9
  2935.                 r11 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEventTarget this
  2936.                 r12 = to_any r11
  2937.                 write_vecindex r8 r10 r12
  2938.                 r13 = read_local event
  2939.                 write_cfield com.meduzik.matcharena.game.field.GameField.chipEvent this r13
  2940.                 r14 = read_local chip
  2941.                 write_cfield com.meduzik.matcharena.game.field.GameField.chipEventTarget this r14
  2942.                 r15 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  2943.                 r16 = read_local chip
  2944.                 r17 = read_dynindex r15 r16
  2945.                 r18 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r17
  2946.                 write_local chipObject r18
  2947.                 r19 = read_local event
  2948.                 r20 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.PreOmniOmniExplosion
  2949.                 r21 = ref_cmp eq r19 r20
  2950.                 condbr r21 block_1 block_2
  2951.             block_1:
  2952.                 r22 = read_local chipObject
  2953.                 r23 = read_local chipObject
  2954.                 r24 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r23 "OmniOmniExplode"
  2955.                 r25 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r22 r24
  2956.                 br block_3
  2957.                 br block_4
  2958.             block_2:
  2959.                 r26 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.PreTintOmniExplosion
  2960.                 r27 = ref_cmp eq r19 r26
  2961.                 condbr r27 block_4 block_5
  2962.             block_3:
  2963.             block_4:
  2964.                 r28 = read_local chipObject
  2965.                 r29 = read_local chipObject
  2966.                 r30 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r29 "TintOmniExplode"
  2967.                 r31 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r28 r30
  2968.                 br block_3
  2969.                 br block_6
  2970.             block_5:
  2971.                 r32 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.PreOmniExplosion
  2972.                 r33 = ref_cmp eq r19 r32
  2973.                 condbr r33 block_6 block_7
  2974.             block_6:
  2975.                 r34 = read_local chipObject
  2976.                 r35 = read_local chipObject
  2977.                 r36 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r35 "OmniExplode"
  2978.                 r37 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r34 r36
  2979.                 br block_3
  2980.                 br block_8
  2981.             block_7:
  2982.                 r38 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.PreTintExplosion
  2983.                 r39 = ref_cmp eq r19 r38
  2984.                 condbr r39 block_8 block_9
  2985.             block_8:
  2986.                 r40 = read_local chipObject
  2987.                 r41 = read_local chipObject
  2988.                 r42 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r41 "TintExplode"
  2989.                 r43 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r40 r42
  2990.                 br block_3
  2991.                 br block_10
  2992.             block_9:
  2993.                 r44 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.PreBombExplosion
  2994.                 r45 = ref_cmp eq r19 r44
  2995.                 condbr r45 block_10 block_11
  2996.             block_10:
  2997.                 r46 = read_local chip
  2998.                 r47 = read_local chip
  2999.                 r48 = class_cast throws r46 com.meduzik.matcharena.engine.field.chip.BombChip
  3000.                 write_local bombChip r48
  3001.                 r49 = read_local chip
  3002.                 r50 = read_local chip
  3003.                 r51 = class_cast throws r49 com.meduzik.matcharena.engine.field.chip.BombChip
  3004.                 r52 = call_cmethod com.meduzik.matcharena.engine.field.chip.BombChip.state r51
  3005.                 r53 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.STATE_ACTIVATED
  3006.                 r54 = num_cmp eq r52 r53
  3007.                 write_local firstExplosion r54
  3008.                 r55 = read_local firstExplosion
  3009.                 condbr r55 block_12 block_13
  3010.             block_11:
  3011.                 r56 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.PreMineExplosion
  3012.                 r57 = ref_cmp eq r19 r56
  3013.                 condbr r57 block_14 block_15
  3014.             block_12:
  3015.                 r58 = read_local bombChip
  3016.                 r59 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.type r58
  3017.                 r60 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.TYPE_NORMAL
  3018.                 r61 = num_cmp eq r59 r60
  3019.             block_13:
  3020.                 r62 = phi Boolean (block_10 -> r55) (block_12 -> r61)
  3021.                 condbr r62 block_16 block_17
  3022.             block_14:
  3023.                 r63 = read_local chip
  3024.                 r64 = read_local chip
  3025.                 r65 = class_cast throws r63 com.meduzik.matcharena.engine.field.chip.MineChip
  3026.                 write_local mineChip r65
  3027.                 r66 = read_local mineChip
  3028.                 r67 = read_cfield com.meduzik.matcharena.engine.field.chip.MineChip.supermine r66
  3029.                 r68 = choice r67 Boolean false true
  3030.                 condbr r68 block_18 block_19
  3031.             block_15:
  3032.                 r69 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.PreLineExplosion
  3033.                 r70 = ref_cmp eq r19 r69
  3034.                 condbr r70 block_20 block_21
  3035.             block_16:
  3036.                 r71 = call_cmethod com.meduzik.matcharena.game.field.GameField.raise this "use_bonus"
  3037.                 r72 = read_local chip
  3038.                 r73 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillChipQuestProperties this r71 r72
  3039.                 r74 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r73
  3040.                 br block_17
  3041.             block_17:
  3042.                 r75 = read_local chipObject
  3043.                 r76 = ref_cmp neq r75 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
  3044.                 condbr r76 block_22 block_23
  3045.             block_18:
  3046.                 r77 = call_cmethod com.meduzik.matcharena.game.field.GameField.raise this "use_bonus"
  3047.                 r78 = read_local chip
  3048.                 r79 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillChipQuestProperties this r77 r78
  3049.                 r80 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r79
  3050.                 br block_19
  3051.             block_19:
  3052.                 r81 = read_local chipObject
  3053.                 r82 = ref_cmp neq r81 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
  3054.                 condbr r82 block_24 block_25
  3055.             block_20:
  3056.                 r83 = read_local chip
  3057.                 r84 = read_local chip
  3058.                 r85 = class_cast throws r83 com.meduzik.matcharena.engine.field.chip.LineChip
  3059.                 write_local lineChip r85
  3060.                 r86 = read_local lineChip
  3061.                 r87 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.direction r86
  3062.                 r88 = read_cfield com.meduzik.matcharena.level.Direction.Horizontal
  3063.                 r89 = ref_cmp eq r87 r88
  3064.                 write_local horizontal r89
  3065.                 r90 = read_local lineChip
  3066.                 r91 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.type r90
  3067.                 r92 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.TYPE_NORMAL
  3068.                 r93 = num_cmp eq r91 r92
  3069.                 condbr r93 block_26 block_27
  3070.             block_21:
  3071.                 r94 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.MineExplosion
  3072.                 r95 = ref_cmp eq r19 r94
  3073.                 condbr r95 block_28 block_29
  3074.             block_22:
  3075.                 r96 = read_local chipObject
  3076.                 r97 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.deactivate r96
  3077.                 r98 = read_local bombChip
  3078.                 r99 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.type r98
  3079.                 r100 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.TYPE_NORMAL
  3080.                 r101 = num_cmp eq r99 r100
  3081.                 condbr r101 block_30 block_31
  3082.             block_23:
  3083.                 r102 = read_local chip
  3084.                 r103 = class_cast r102 com.meduzik.matcharena.engine.field.chip.BombChip
  3085.                 r104 = read_local chip
  3086.                 r105 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.currentCell r104
  3087.                 r106 = call_cmethod com.meduzik.matcharena.game.field.GameField.bombExplode this r103 r105
  3088.                 br block_3
  3089.                 br block_14
  3090.             block_24:
  3091.                 r107 = read_local chipObject
  3092.                 r108 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.deactivate r107
  3093.                 r109 = read_local mineChip
  3094.                 r110 = read_cfield com.meduzik.matcharena.engine.field.chip.MineChip.supermine r109
  3095.                 condbr r110 block_32 block_33
  3096.             block_25:
  3097.                 r111 = read_local chip
  3098.                 r112 = class_cast r111 com.meduzik.matcharena.engine.field.chip.MineChip
  3099.                 r113 = read_local chip
  3100.                 r114 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.currentCell r113
  3101.                 r115 = call_cmethod com.meduzik.matcharena.game.field.GameField.mineExplode this r112 r114
  3102.                 br block_3
  3103.                 br block_20
  3104.             block_26:
  3105.                 r116 = call_cmethod com.meduzik.matcharena.game.field.GameField.raise this "use_bonus"
  3106.                 r117 = read_local chip
  3107.                 r118 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillChipQuestProperties this r116 r117
  3108.                 r119 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r118
  3109.                 br block_27
  3110.             block_27:
  3111.                 r120 = read_local chipObject
  3112.                 r121 = ref_cmp neq r120 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
  3113.                 condbr r121 block_34 block_35
  3114.             block_28:
  3115.                 br block_3
  3116.                 br block_36
  3117.             block_29:
  3118.                 r122 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.BombExplosion
  3119.                 r123 = ref_cmp eq r19 r122
  3120.                 condbr r123 block_36 block_37
  3121.             block_30:
  3122.                 r124 = read_local firstExplosion
  3123.                 condbr r124 block_38 block_39
  3124.             block_31:
  3125.                 r125 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.TYPE_WINGED
  3126.                 r126 = num_cmp eq r99 r125
  3127.                 condbr r126 block_40 block_41
  3128.             block_32:
  3129.                 r127 = read_local chipObject
  3130.                 r128 = read_local chipObject
  3131.                 r129 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r128 "MineMineExplode"
  3132.                 r130 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r127 r129
  3133.                 br block_33
  3134.             block_33:
  3135.                 br block_25
  3136.             block_34:
  3137.                 r131 = read_local chipObject
  3138.                 r132 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.deactivate r131
  3139.                 r133 = read_local lineChip
  3140.                 r134 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.type r133
  3141.                 r135 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.TYPE_NORMAL
  3142.                 r136 = num_cmp eq r134 r135
  3143.                 condbr r136 block_42 block_43
  3144.             block_35:
  3145.                 r137 = read_local chip
  3146.                 r138 = class_cast r137 com.meduzik.matcharena.engine.field.chip.LineChip
  3147.                 r139 = read_local chip
  3148.                 r140 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.currentCell r139
  3149.                 r141 = call_cmethod com.meduzik.matcharena.game.field.GameField.lineExplode this r138 r140
  3150.                 br block_3
  3151.                 br block_28
  3152.             block_36:
  3153.                 br block_3
  3154.                 br block_44
  3155.             block_37:
  3156.                 r142 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.LineExplosion
  3157.                 r143 = ref_cmp eq r19 r142
  3158.                 condbr r143 block_44 block_45
  3159.             block_38:
  3160.                 r144 = read_local chipObject
  3161.                 r145 = read_local chipObject
  3162.                 r146 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r145 "BombExplodeFirst"
  3163.                 r147 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r144 r146
  3164.                 br block_39
  3165.             block_39:
  3166.                 br block_46
  3167.                 br block_40
  3168.             block_40:
  3169.                 r148 = read_local firstExplosion
  3170.                 condbr r148 block_47 block_48
  3171.             block_41:
  3172.                 r149 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.TYPE_SUPER
  3173.                 r150 = num_cmp eq r99 r149
  3174.                 condbr r150 block_49 block_50
  3175.             block_42:
  3176.                 r151 = read_local chipObject
  3177.                 r152 = read_local chipObject
  3178.                 r153 = read_local horizontal
  3179.                 r154 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithFlag r152 "LineExplode" r153
  3180.                 r155 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r151 r154
  3181.                 br block_51
  3182.                 br block_52
  3183.             block_43:
  3184.                 r156 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.TYPE_WINGED
  3185.                 r157 = num_cmp eq r134 r156
  3186.                 condbr r157 block_52 block_53
  3187.             block_44:
  3188.                 br block_3
  3189.                 br block_54
  3190.             block_45:
  3191.                 r158 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.OmniExplosion
  3192.                 r159 = ref_cmp eq r19 r158
  3193.                 condbr r159 block_54 block_55
  3194.             block_46:
  3195.                 br block_23
  3196.             block_47:
  3197.                 r160 = read_local chipObject
  3198.                 r161 = read_local chipObject
  3199.                 r162 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r161 "BombMineExplodeFirst"
  3200.                 r163 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r160 r162
  3201.                 br block_48
  3202.             block_48:
  3203.                 br block_46
  3204.                 br block_49
  3205.             block_49:
  3206.                 r164 = read_local firstExplosion
  3207.                 condbr r164 block_56 block_57
  3208.             block_50:
  3209.                 br block_46
  3210.             block_51:
  3211.                 br block_35
  3212.             block_52:
  3213.                 r165 = read_local chipObject
  3214.                 r166 = read_local chipObject
  3215.                 r167 = read_local horizontal
  3216.                 r168 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithFlag r166 "LineMineExplode" r167
  3217.                 r169 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r165 r168
  3218.                 br block_51
  3219.                 br block_58
  3220.             block_53:
  3221.                 r170 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.TYPE_CROSS
  3222.                 r171 = num_cmp eq r134 r170
  3223.                 condbr r171 block_58 block_59
  3224.             block_54:
  3225.                 r172 = call_cmethod com.meduzik.matcharena.game.field.GameField.raise this "use_bonus"
  3226.                 r173 = read_local chip
  3227.                 r174 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillChipQuestProperties this r172 r173
  3228.                 r175 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r174
  3229.                 br block_3
  3230.                 br block_60
  3231.             block_55:
  3232.                 r176 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.OmniOmniWindup
  3233.                 r177 = ref_cmp eq r19 r176
  3234.                 condbr r177 block_60 block_61
  3235.             block_56:
  3236.                 r178 = read_local chipObject
  3237.                 r179 = read_local chipObject
  3238.                 r180 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r179 "BombBombExplodeFirst"
  3239.                 r181 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r178 r180
  3240.                 br block_57
  3241.             block_57:
  3242.                 br block_46
  3243.                 br block_46
  3244.             block_58:
  3245.                 r182 = read_local chipObject
  3246.                 r183 = read_local chipObject
  3247.                 r184 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r183 "LineLineExplode"
  3248.                 r185 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r182 r184
  3249.                 br block_51
  3250.                 br block_62
  3251.             block_59:
  3252.                 r186 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.TYPE_LARGE
  3253.                 r187 = num_cmp eq r134 r186
  3254.                 condbr r187 block_62 block_63
  3255.             block_60:
  3256.                 r188 = read_local chipObject
  3257.                 r189 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r188 "OmniOmniWindup"
  3258.                 r190 = read_local chipObject
  3259.                 r191 = read_cfield com.meduzik.matcharena.level.Color.Colorless
  3260.                 r192 = read_cfield com.meduzik.matcharena.game.field.effect.NukeEffect.Nuke
  3261.                 r193 = newclass com.meduzik.matcharena.game.field.effect.NukeEffect r190 r191 r192
  3262.                 write_local nukeEffect r193
  3263.                 r194 = read_local nukeEffect
  3264.                 r195 = class_cast throws r194 com.meduzik.matcharena.game.field.FieldObject
  3265.                 r196 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r195
  3266.                 r197 = read_local nukeEffect
  3267.                 r198 = call_cmethod com.meduzik.matcharena.game.field.effect.NukeEffect.startWindup r197
  3268.                 r199 = read_cfield com.meduzik.matcharena.game.field.GameField.nukes this
  3269.                 r200 = read_local chip
  3270.                 r201 = read_local nukeEffect
  3271.                 r202 = to_any r201
  3272.                 write_dynindex r199 r200
  3273.                 br block_3
  3274.                 br block_64
  3275.             block_61:
  3276.                 r203 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.OmniOmniExplosion
  3277.                 r204 = ref_cmp eq r19 r203
  3278.                 condbr r204 block_64 block_65
  3279.             block_62:
  3280.                 r205 = read_local chipObject
  3281.                 r206 = read_local chipObject
  3282.                 r207 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r206 "BombLineExplode"
  3283.                 r208 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r205 r207
  3284.                 br block_51
  3285.                 br block_51
  3286.             block_63:
  3287.                 br block_51
  3288.             block_64:
  3289.                 r209 = read_local chipObject
  3290.                 r210 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r209 "OmniOmniWindupEnd"
  3291.                 r211 = read_cfield com.meduzik.matcharena.game.field.GameField.nukes this
  3292.                 r212 = read_local chip
  3293.                 r213 = read_dynindex r211 r212
  3294.                 r214 = from_any class com.meduzik.matcharena.game.field.effect.NukeEffect r213
  3295.                 write_local nukeEffect r214
  3296.                 r215 = read_local nukeEffect
  3297.                 r216 = call_cmethod com.meduzik.matcharena.game.field.effect.NukeEffect.startExplosion r215
  3298.                 br block_3
  3299.                 br block_66
  3300.             block_65:
  3301.                 r217 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.OmniOmniSelfDestroy
  3302.                 r218 = ref_cmp eq r19 r217
  3303.                 condbr r218 block_66 block_67
  3304.             block_66:
  3305.                 r219 = read_cfield com.meduzik.matcharena.game.field.GameField.nukes this
  3306.                 r220 = read_local chip
  3307.                 r221 = read_dynindex r219 r220
  3308.                 r222 = from_any class com.meduzik.matcharena.game.field.effect.NukeEffect r221
  3309.                 write_local nukeEffect r222
  3310.                 r223 = read_local nukeEffect
  3311.                 r224 = call_cmethod com.meduzik.matcharena.game.field.effect.NukeEffect.startEnd r223
  3312.                 r225 = read_cfield com.meduzik.matcharena.game.field.GameField.nukes this
  3313.                 r226 = read_local chip
  3314.                 r227 = read_local chipObject
  3315.                 r228 = read_local chipObject
  3316.                 r229 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r228 "OmniOmniSelfDestroy"
  3317.                 r230 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r227 r229
  3318.                 br block_3
  3319.                 br block_68
  3320.             block_67:
  3321.                 r231 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.TintOmniWindup
  3322.                 r232 = ref_cmp eq r19 r231
  3323.                 condbr r232 block_68 block_69
  3324.             block_68:
  3325.                 r233 = read_local chipObject
  3326.                 r234 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r233 "TintOmniWindup"
  3327.                 r235 = read_local chipObject
  3328.                 r236 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  3329.                 r237 = read_local chip
  3330.                 r238 = read_local chip
  3331.                 r239 = class_cast throws r237 com.meduzik.matcharena.engine.field.chip.OmniChip
  3332.                 r240 = read_cfield com.meduzik.matcharena.engine.field.chip.OmniChip.colorMask r239
  3333.                 r241 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.getFirstColorFromMask r236 r240
  3334.                 r242 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r241
  3335.                 r243 = read_cfield com.meduzik.matcharena.game.field.effect.NukeEffect.Meganuke
  3336.                 r244 = newclass com.meduzik.matcharena.game.field.effect.NukeEffect r235 r242 r243
  3337.                 write_local nukeEffect r244
  3338.                 r245 = read_local nukeEffect
  3339.                 r246 = class_cast throws r245 com.meduzik.matcharena.game.field.FieldObject
  3340.                 r247 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r246
  3341.                 r248 = read_local nukeEffect
  3342.                 r249 = call_cmethod com.meduzik.matcharena.game.field.effect.NukeEffect.startWindup r248
  3343.                 r250 = read_cfield com.meduzik.matcharena.game.field.GameField.nukes this
  3344.                 r251 = read_local chip
  3345.                 r252 = read_local nukeEffect
  3346.                 r253 = to_any r252
  3347.                 write_dynindex r250 r251
  3348.                 br block_3
  3349.                 br block_70
  3350.             block_69:
  3351.                 r254 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.TintOmniExplosion
  3352.                 r255 = ref_cmp eq r19 r254
  3353.                 condbr r255 block_70 block_71
  3354.             block_70:
  3355.                 r256 = read_local chipObject
  3356.                 r257 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r256 "TintOmniWindupEnd"
  3357.                 r258 = read_cfield com.meduzik.matcharena.game.field.GameField.nukes this
  3358.                 r259 = read_local chip
  3359.                 r260 = read_dynindex r258 r259
  3360.                 r261 = from_any class com.meduzik.matcharena.game.field.effect.NukeEffect r260
  3361.                 write_local nukeEffect r261
  3362.                 r262 = read_local nukeEffect
  3363.                 r263 = call_cmethod com.meduzik.matcharena.game.field.effect.NukeEffect.startExplosion r262
  3364.                 br block_3
  3365.                 br block_72
  3366.             block_71:
  3367.                 r264 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.TintOmniSelfDestroy
  3368.                 r265 = ref_cmp eq r19 r264
  3369.                 condbr r265 block_72 block_73
  3370.             block_72:
  3371.                 r266 = read_cfield com.meduzik.matcharena.game.field.GameField.nukes this
  3372.                 r267 = read_local chip
  3373.                 r268 = read_dynindex r266 r267
  3374.                 r269 = from_any class com.meduzik.matcharena.game.field.effect.NukeEffect r268
  3375.                 write_local nukeEffect r269
  3376.                 r270 = read_local nukeEffect
  3377.                 r271 = call_cmethod com.meduzik.matcharena.game.field.effect.NukeEffect.startEnd r270
  3378.                 r272 = read_cfield com.meduzik.matcharena.game.field.GameField.nukes this
  3379.                 r273 = read_local chip
  3380.                 r274 = read_local chipObject
  3381.                 r275 = read_local chipObject
  3382.                 r276 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r275 "TintOmniSelfDestroy"
  3383.                 r277 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r274 r276
  3384.                 br block_3
  3385.                 br block_74
  3386.             block_73:
  3387.                 r278 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.TintExplosion
  3388.                 r279 = ref_cmp eq r19 r278
  3389.                 condbr r279 block_74 block_75
  3390.             block_74:
  3391.                 r280 = call_cmethod com.meduzik.matcharena.game.field.GameField.raise this "use_bonus"
  3392.                 r281 = read_local chip
  3393.                 r282 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillChipQuestProperties this r280 r281
  3394.                 r283 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r282
  3395.                 br block_3
  3396.                 br block_3
  3397.             block_75:
  3398.                 br block_3
  3399.     */
  3400.         abort();
  3401. }
  3402. void GameField::onChipTriggersEventEnd(){
  3403.     /*
  3404.     main:
  3405.         code:
  3406.             block_0:
  3407.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  3408.                 r1 = call_cmethod com.meduzik.matcharena.game.EventContext.end r0
  3409.                 r2 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEvents this
  3410.                 r3 = call_vecmethod Vector.pop r2
  3411.                 r4 = from_any class com.meduzik.matcharena.engine.field.chip.Chip r3
  3412.                 write_cfield com.meduzik.matcharena.game.field.GameField.chipEventTarget this r4
  3413.                 r5 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEvents this
  3414.                 r6 = call_vecmethod Vector.pop r5
  3415.                 r7 = from_any class com.meduzik.matcharena.engine.observer.ChipEvent r6
  3416.                 write_cfield com.meduzik.matcharena.game.field.GameField.chipEvent this r7
  3417.     */
  3418.         abort();
  3419. }
  3420. void GameField::onChipSpawnsExplosion(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip, fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::trigger::BombTrigger* explosion){
  3421.     /*
  3422.     main:
  3423.         locals:
  3424.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  3425.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  3426.             explosion : class com.meduzik.matcharena.engine.trigger.BombTrigger
  3427.         code:
  3428.             block_0:
  3429.     */
  3430.         abort();
  3431. }
  3432. void GameField::onChipDecays(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
  3433.     /*
  3434.     main:
  3435.         locals:
  3436.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  3437.         code:
  3438.             block_0:
  3439.                 r0 = read_local chip
  3440.                 r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeChipEntity this r0
  3441.                 r2 = read_local chip
  3442.                 r3 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.sourceCell r2
  3443.                 r4 = ref_cmp neq r3 (null:class com.meduzik.matcharena.engine.field.EngineCell)
  3444.                 condbr r4 block_1 block_2
  3445.             block_1:
  3446.                 r5 = read_local chip
  3447.                 r6 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.sourceCell r5
  3448.                 r7 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateCell this r6
  3449.                 br block_2
  3450.             block_2:
  3451.                 r8 = read_local chip
  3452.                 r9 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.targetCell r8
  3453.                 r10 = ref_cmp neq r9 (null:class com.meduzik.matcharena.engine.field.EngineCell)
  3454.                 condbr r10 block_3 block_4
  3455.             block_3:
  3456.                 r11 = read_local chip
  3457.                 r12 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.targetCell r11
  3458.                 r13 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateCell this r12
  3459.                 br block_4
  3460.             block_4:
  3461.     */
  3462.         abort();
  3463. }
  3464. void GameField::onChipSpawnsArrow(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip, fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::trigger::ArrowTrigger* arrow){
  3465.     /*
  3466.     main:
  3467.         locals:
  3468.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  3469.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  3470.             arrow : class com.meduzik.matcharena.engine.trigger.ArrowTrigger
  3471.             engineColor : class com.meduzik.matcharena.engine.EngineColor
  3472.             secondColor : class com.meduzik.matcharena.engine.EngineColor
  3473.             color : class com.meduzik.matcharena.level.Color
  3474.             lineArrow : class com.meduzik.matcharena.game.field.LineArrow
  3475.             effect : class com.meduzik.matcharena.game.field.effect.EffectObject
  3476.         code:
  3477.             block_0:
  3478.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  3479.                 r1 = read_local arrow
  3480.                 r2 = read_cfield com.meduzik.matcharena.engine.trigger.ArrowTrigger.colorMask r1
  3481.                 r3 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.getFirstColorFromMask r0 r2
  3482.                 write_local engineColor r3
  3483.                 r4 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  3484.                 r5 = read_local arrow
  3485.                 r6 = read_cfield com.meduzik.matcharena.engine.trigger.ArrowTrigger.colorMask r5
  3486.                 r7 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.getSecondColorFromMask r4 r6
  3487.                 write_local secondColor r7
  3488.                 r8 = read_local engineColor
  3489.                 r9 = ref_cmp neq r8 (null:class com.meduzik.matcharena.engine.EngineColor)
  3490.                 condbr r9 block_1 block_2
  3491.             block_1:
  3492.                 r10 = read_local engineColor
  3493.                 r11 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r10
  3494.                 br block_3
  3495.             block_2:
  3496.                 r12 = read_cfield com.meduzik.matcharena.level.Color.Colorless
  3497.                 br block_3
  3498.             block_3:
  3499.                 r13 = phi class com.meduzik.matcharena.level.Color (block_1 -> r11) (block_2 -> r12)
  3500.                 write_local color r13
  3501.                 r14 = read_local arrow
  3502.                 r15 = read_cfield com.meduzik.matcharena.engine.trigger.ArrowTrigger.cell r14
  3503.                 r16 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r15
  3504.                 r17 = read_local arrow
  3505.                 r18 = read_cfield com.meduzik.matcharena.engine.trigger.ArrowTrigger.cell r17
  3506.                 r19 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r18
  3507.                 r20 = read_local arrow
  3508.                 r21 = read_cfield com.meduzik.matcharena.engine.trigger.ArrowTrigger.side r20
  3509.                 r22 = call_cmethod com.meduzik.matcharena.level.Side.offsetRow r21
  3510.                 r23 = num_cast int r22
  3511.                 r24 = read_local arrow
  3512.                 r25 = read_cfield com.meduzik.matcharena.engine.trigger.ArrowTrigger.side r24
  3513.                 r26 = call_cmethod com.meduzik.matcharena.level.Side.offsetColumn r25
  3514.                 r27 = num_cast int r26
  3515.                 r28 = read_local color
  3516.                 r29 = call_cmethod com.meduzik.matcharena.game.field.LineArrow.Make static this r16 r19 r23 r27 r28
  3517.                 write_local lineArrow r29
  3518.                 r30 = read_local lineArrow
  3519.                 r31 = class_cast throws r30 com.meduzik.matcharena.game.field.FieldObject
  3520.                 r32 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r31
  3521.                 r33 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  3522.                 r34 = read_local arrow
  3523.                 r35 = read_local lineArrow
  3524.                 r36 = to_any r35
  3525.                 write_dynindex r33 r34
  3526.                 r37 = read_local arrow
  3527.                 r38 = read_cfield com.meduzik.matcharena.engine.trigger.ArrowTrigger.type r37
  3528.                 r39 = read_cfield com.meduzik.matcharena.engine.trigger.ArrowTrigger.Normal
  3529.                 r40 = num_cmp eq r38 r39
  3530.                 condbr r40 block_4 block_5
  3531.             block_4:
  3532.                 r41 = read_cfield com.meduzik.matcharena.game.field.GameField._resources this
  3533.                 r42 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.lineArrowFlow r41
  3534.                 br block_6
  3535.             block_5:
  3536.                 r43 = read_cfield com.meduzik.matcharena.game.field.GameField._resources this
  3537.                 r44 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.lineLargeArrowFlow r43
  3538.                 br block_6
  3539.             block_6:
  3540.                 r45 = phi interface com.meduzik.bundle.display.DisplayTemplate (block_4 -> r42) (block_5 -> r44)
  3541.                 r46 = call_cmethod com.meduzik.matcharena.game.field.GameField.createEffect this r45
  3542.                 r47 = read_local lineArrow
  3543.                 r48 = class_cast throws r47 com.meduzik.matcharena.game.field.FieldObject
  3544.                 r49 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.attachToObject r46 r48
  3545.                 write_local effect r49
  3546.                 r50 = read_local secondColor
  3547.                 r51 = ref_cmp neq r50 (null:class com.meduzik.matcharena.engine.EngineColor)
  3548.                 condbr r51 block_7 block_8
  3549.             block_7:
  3550.                 r52 = read_local effect
  3551.                 r53 = read_local color
  3552.                 r54 = read_local secondColor
  3553.                 r55 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r54
  3554.                 r56 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.paintAB r52 r53 r55
  3555.                 br block_8
  3556.             block_8:
  3557.                 r57 = read_local lineArrow
  3558.                 r58 = read_local effect
  3559.                 write_cfield com.meduzik.matcharena.game.field.LineArrow.effect r57 r58
  3560.     */
  3561.         abort();
  3562. }
  3563. void GameField::onArrowPropagateBegin(fl::com::meduzik::matcharena::engine::trigger::ArrowTrigger* arrow, fl::com::meduzik::matcharena::engine::field::EngineCell* cell){
  3564.     /*
  3565.     main:
  3566.         locals:
  3567.             arrow : class com.meduzik.matcharena.engine.trigger.ArrowTrigger
  3568.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  3569.             cellObject : class com.meduzik.matcharena.game.field.cell.CellObject
  3570.         code:
  3571.             block_0:
  3572.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  3573.                 r1 = read_cfield com.meduzik.matcharena.game.EventContext.ARROW
  3574.                 r2 = call_cmethod com.meduzik.matcharena.game.EventContext.begin r0 r1
  3575.                 r3 = read_local cell
  3576.                 r4 = call_cmethod com.meduzik.matcharena.game.field.GameField.getCellMapping this r3
  3577.                 write_local cellObject r4
  3578.                 r5 = read_local cellObject
  3579.                 r6 = ref_cmp neq r5 (null:class com.meduzik.matcharena.game.field.cell.CellObject)
  3580.                 condbr r6 block_1 block_2
  3581.             block_1:
  3582.                 r7 = read_local cellObject
  3583.                 r8 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r7 "ArrowHitsCell"
  3584.                 br block_2
  3585.             block_2:
  3586.     */
  3587.         abort();
  3588. }
  3589. void GameField::onArrowPropagateEnd(){
  3590.     /*
  3591.     main:
  3592.         code:
  3593.             block_0:
  3594.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  3595.                 r1 = call_cmethod com.meduzik.matcharena.game.EventContext.end r0
  3596.     */
  3597.         abort();
  3598. }
  3599. void GameField::onArrowPropagateBorderBegin(fl::com::meduzik::matcharena::engine::trigger::ArrowTrigger* arrow, fl::com::meduzik::matcharena::engine::field::EngineBorder* border){
  3600.     /*
  3601.     main:
  3602.         locals:
  3603.             arrow : class com.meduzik.matcharena.engine.trigger.ArrowTrigger
  3604.             border : class com.meduzik.matcharena.engine.field.EngineBorder
  3605.         code:
  3606.             block_0:
  3607.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  3608.                 r1 = read_cfield com.meduzik.matcharena.game.EventContext.ARROW
  3609.                 r2 = call_cmethod com.meduzik.matcharena.game.EventContext.begin r0 r1
  3610.     */
  3611.         abort();
  3612. }
  3613. void GameField::onArrowPropagateBorderEnd(){
  3614.     /*
  3615.     main:
  3616.         code:
  3617.             block_0:
  3618.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  3619.                 r1 = call_cmethod com.meduzik.matcharena.game.EventContext.end r0
  3620.     */
  3621.         abort();
  3622. }
  3623. void GameField::onArrowDisarmed(fl::com::meduzik::matcharena::engine::trigger::ArrowTrigger* arrow){
  3624.     /*
  3625.     main:
  3626.         locals:
  3627.             arrow : class com.meduzik.matcharena.engine.trigger.ArrowTrigger
  3628.             lineArrow : class com.meduzik.matcharena.game.field.LineArrow
  3629.         code:
  3630.             block_0:
  3631.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  3632.                 r1 = read_local arrow
  3633.                 r2 = read_dynindex r0 r1
  3634.                 r3 = from_any class com.meduzik.matcharena.game.field.LineArrow r2
  3635.                 write_local lineArrow r3
  3636.                 r4 = read_local lineArrow
  3637.                 r5 = read_cfield com.meduzik.matcharena.game.field.LineArrow.effect r4
  3638.                 r6 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r5 "ArrowDisarm"
  3639.     */
  3640.         abort();
  3641. }
  3642. void GameField::onArrowDecays(fl::com::meduzik::matcharena::engine::trigger::ArrowTrigger* arrow){
  3643.     /*
  3644.     main:
  3645.         locals:
  3646.             arrow : class com.meduzik.matcharena.engine.trigger.ArrowTrigger
  3647.             lineArrow : class com.meduzik.matcharena.game.field.LineArrow
  3648.         code:
  3649.             block_0:
  3650.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  3651.                 r1 = read_local arrow
  3652.                 r2 = read_dynindex r0 r1
  3653.                 r3 = from_any class com.meduzik.matcharena.game.field.LineArrow r2
  3654.                 write_local lineArrow r3
  3655.                 r4 = read_local lineArrow
  3656.                 r5 = call_cmethod com.meduzik.matcharena.game.field.LineArrow.despawn r4
  3657.     */
  3658.         abort();
  3659. }
  3660. void GameField::onChipFallsIntoArrowBegin(fl::com::meduzik::matcharena::engine::trigger::ArrowTrigger* arrow, fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
  3661.     /*
  3662.     main:
  3663.         locals:
  3664.             arrow : class com.meduzik.matcharena.engine.trigger.ArrowTrigger
  3665.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  3666.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  3667.         code:
  3668.             block_0:
  3669.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  3670.                 r1 = read_cfield com.meduzik.matcharena.game.EventContext.FALL_INTO_ARROW
  3671.                 r2 = call_cmethod com.meduzik.matcharena.game.EventContext.begin r0 r1
  3672.     */
  3673.         abort();
  3674. }
  3675. void GameField::onChipFallsIntoArrowEnd(){
  3676.     /*
  3677.     main:
  3678.         code:
  3679.             block_0:
  3680.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  3681.                 r1 = call_cmethod com.meduzik.matcharena.game.EventContext.end r0
  3682.     */
  3683.         abort();
  3684. }
  3685. void GameField::onChipSpawnsSingularity(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip, fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::trigger::SingularityTrigger* singularity){
  3686.     /*
  3687.     main:
  3688.         locals:
  3689.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  3690.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  3691.             singularity : class com.meduzik.matcharena.engine.trigger.SingularityTrigger
  3692.             singularityObject : class com.meduzik.matcharena.game.field.effect.SingularityObject
  3693.             omniEffect : class com.meduzik.matcharena.game.field.effect.OmniEffect
  3694.             tintEffect : class com.meduzik.matcharena.game.field.effect.TintEffect
  3695.         code:
  3696.             block_0:
  3697.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  3698.                 r1 = read_local cell
  3699.                 r2 = read_dynindex r0 r1
  3700.                 r3 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r2
  3701.                 r4 = call_cmethod com.meduzik.matcharena.game.field.effect.SingularityObject.Make static r3
  3702.                 write_local singularityObject r4
  3703.                 r5 = read_local chip
  3704.                 r6 = class_test r5 com.meduzik.matcharena.engine.field.chip.OmniChip
  3705.                 condbr r6 block_1 block_2
  3706.             block_1:
  3707.                 r7 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  3708.                 r8 = read_local chip
  3709.                 r9 = read_dynindex r7 r8
  3710.                 r10 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r9
  3711.                 r11 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  3712.                 r12 = read_local singularity
  3713.                 r13 = read_cfield com.meduzik.matcharena.engine.trigger.SingularityTrigger.colorMask r12
  3714.                 r14 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.getFirstColorFromMask r11 r13
  3715.                 r15 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r14
  3716.                 r16 = newclass com.meduzik.matcharena.game.field.effect.OmniEffect r10 r15
  3717.                 write_local omniEffect r16
  3718.                 r17 = read_local singularityObject
  3719.                 r18 = read_local omniEffect
  3720.                 r19 = class_cast throws r18 com.meduzik.matcharena.game.field.effect.SingularityEffect
  3721.                 write_cfield com.meduzik.matcharena.game.field.effect.SingularityObject.effect r17 r19
  3722.                 r20 = read_local omniEffect
  3723.                 r21 = class_cast throws r20 com.meduzik.matcharena.game.field.FieldObject
  3724.                 r22 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r21
  3725.                 r23 = read_local omniEffect
  3726.                 r24 = call_cmethod com.meduzik.matcharena.game.field.effect.SingularityEffect.startEffect r23
  3727.                 br block_2
  3728.             block_2:
  3729.                 r25 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  3730.                 r26 = read_local singularity
  3731.                 r27 = read_local singularityObject
  3732.                 r28 = to_any r27
  3733.                 write_dynindex r25 r26
  3734.     */
  3735.         abort();
  3736. }
  3737. void GameField::onSingularityCapturesChip(fl::com::meduzik::matcharena::engine::trigger::SingularityTrigger* singularity, fl::com::meduzik::matcharena::engine::trigger::SingularityActionInstance* action, fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
  3738.     /*
  3739.     main:
  3740.         locals:
  3741.             singularity : class com.meduzik.matcharena.engine.trigger.SingularityTrigger
  3742.             action : class com.meduzik.matcharena.engine.trigger.SingularityActionInstance
  3743.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  3744.         code:
  3745.             block_0:
  3746.     */
  3747.         abort();
  3748. }
  3749. void GameField::onSignularityActsOnChipBegin(fl::com::meduzik::matcharena::engine::trigger::SingularityTrigger* singularity, fl::com::meduzik::matcharena::engine::trigger::SingularityActionInstance* action, fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
  3750.     /*
  3751.     main:
  3752.         locals:
  3753.             singularity : class com.meduzik.matcharena.engine.trigger.SingularityTrigger
  3754.             action : class com.meduzik.matcharena.engine.trigger.SingularityActionInstance
  3755.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  3756.             singularityObject : class com.meduzik.matcharena.game.field.effect.SingularityObject
  3757.             chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  3758.             effect : class com.meduzik.matcharena.game.field.effect.SingularityEffect
  3759.             dir : Boolean
  3760.         code:
  3761.             block_0:
  3762.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  3763.                 r1 = read_cfield com.meduzik.matcharena.game.EventContext.SINGULARITY
  3764.                 r2 = call_cmethod com.meduzik.matcharena.game.EventContext.begin r0 r1
  3765.                 r3 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  3766.                 r4 = read_local singularity
  3767.                 r5 = read_dynindex r3 r4
  3768.                 r6 = from_any class com.meduzik.matcharena.game.field.effect.SingularityObject r5
  3769.                 write_local singularityObject r6
  3770.                 r7 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  3771.                 r8 = read_local action
  3772.                 r9 = read_cfield com.meduzik.matcharena.engine.trigger.SingularityActionInstance.chip r8
  3773.                 r10 = read_dynindex r7 r9
  3774.                 r11 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r10
  3775.                 write_local chipObject r11
  3776.                 r12 = read_local action
  3777.                 r13 = read_cfield com.meduzik.matcharena.engine.trigger.SingularityActionInstance.actionType r12
  3778.                 r14 = read_cfield com.meduzik.matcharena.engine.trigger.SingularityActionInstance.ACTION_OMNI_LINK
  3779.                 r15 = num_cmp eq r13 r14
  3780.                 condbr r15 block_1 block_2
  3781.             block_1:
  3782.                 r16 = phi Boolean (block_0 -> r15) (block_2 -> r17)
  3783.                 condbr r16 block_3 block_4
  3784.             block_2:
  3785.                 r18 = read_local action
  3786.                 r19 = read_cfield com.meduzik.matcharena.engine.trigger.SingularityActionInstance.actionType r18
  3787.                 r20 = read_cfield com.meduzik.matcharena.engine.trigger.SingularityActionInstance.ACTION_TINT_LINK
  3788.                 r17 = num_cmp eq r19 r20
  3789.             block_3:
  3790.                 r21 = read_local singularityObject
  3791.                 r22 = read_cfield com.meduzik.matcharena.game.field.effect.SingularityObject.effect r21
  3792.                 write_local effect r22
  3793.                 r23 = read_local effect
  3794.                 r24 = read_local chipObject
  3795.                 r25 = call_cmethod com.meduzik.matcharena.game.field.effect.SingularityEffect.startLink r23 r24
  3796.                 br block_4
  3797.             block_4:
  3798.     */
  3799.         abort();
  3800. }
  3801. jfl::Boolean GameField::selectDirectionForDoubleBlast(fl::com::meduzik::matcharena::engine::field::EngineCell* cellA, fl::com::meduzik::matcharena::engine::field::EngineCell* cellB){
  3802.     /*
  3803.     main:
  3804.         locals:
  3805.             cellA : class com.meduzik.matcharena.engine.field.EngineCell
  3806.             cellB : class com.meduzik.matcharena.engine.field.EngineCell
  3807.         code:
  3808.             block_0:
  3809.                 r0 = read_local cellA
  3810.                 r1 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r0
  3811.                 r2 = read_local cellB
  3812.                 r3 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r2
  3813.                 r4 = num_cmp neq r1 r3
  3814.                 condbr r4 block_1 block_2
  3815.             block_1:
  3816.                 r5 = to_bool 1.000000
  3817.                 ret r5
  3818.                 br block_2
  3819.             block_2:
  3820.                 r6 = to_bool 0.000000
  3821.                 ret r6
  3822.     */
  3823.         abort();
  3824. }
  3825. fl::com::meduzik::matcharena::engine::field::EngineCell* GameField::selectCellForDoubleBlast(fl::com::meduzik::matcharena::engine::field::EngineCell* cellA, fl::com::meduzik::matcharena::engine::field::EngineCell* cellB){
  3826.     /*
  3827.     main:
  3828.         locals:
  3829.             cellA : class com.meduzik.matcharena.engine.field.EngineCell
  3830.             cellB : class com.meduzik.matcharena.engine.field.EngineCell
  3831.         code:
  3832.             block_0:
  3833.                 r0 = read_local cellA
  3834.                 r1 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r0
  3835.                 r2 = read_local cellB
  3836.                 r3 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r2
  3837.                 r4 = num_cast Number r3
  3838.                 r5 = num_cast Number r1
  3839.                 r6 = num_cmp lt r5 r4
  3840.                 condbr r6 block_1 block_2
  3841.             block_1:
  3842.                 r7 = phi Boolean (block_0 -> r6) (block_2 -> r8)
  3843.                 condbr r7 block_3 block_4
  3844.             block_2:
  3845.                 r9 = read_local cellA
  3846.                 r10 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r9
  3847.                 r11 = read_local cellB
  3848.                 r12 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r11
  3849.                 r13 = num_cast Number r12
  3850.                 r14 = num_cast Number r10
  3851.                 r8 = num_cmp lt r14 r13
  3852.             block_3:
  3853.                 r15 = read_local cellB
  3854.                 ret r15
  3855.                 br block_4
  3856.             block_4:
  3857.                 r16 = read_local cellA
  3858.                 ret r16
  3859.     */
  3860.         abort();
  3861. }
  3862. void GameField::onSingularityActsOnChipEnd(){
  3863.     /*
  3864.     main:
  3865.         code:
  3866.             block_0:
  3867.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  3868.                 r1 = call_cmethod com.meduzik.matcharena.game.EventContext.end r0
  3869.     */
  3870.         abort();
  3871. }
  3872. void GameField::onSingularityReleasesChip(fl::com::meduzik::matcharena::engine::trigger::SingularityTrigger* singularity, fl::com::meduzik::matcharena::engine::field::chip::Chip* chip, jfl::Int actionId){
  3873.     /*
  3874.     main:
  3875.         locals:
  3876.             singularity : class com.meduzik.matcharena.engine.trigger.SingularityTrigger
  3877.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  3878.             actionId : int
  3879.         code:
  3880.             block_0:
  3881.     */
  3882.         abort();
  3883. }
  3884. void GameField::onSingularityDecays(fl::com::meduzik::matcharena::engine::trigger::SingularityTrigger* singularity){
  3885.     /*
  3886.     main:
  3887.         locals:
  3888.             singularity : class com.meduzik.matcharena.engine.trigger.SingularityTrigger
  3889.             singularityObject : class com.meduzik.matcharena.game.field.effect.SingularityObject
  3890.         code:
  3891.             block_0:
  3892.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  3893.                 r1 = read_local singularity
  3894.                 r2 = read_dynindex r0 r1
  3895.                 r3 = from_any class com.meduzik.matcharena.game.field.effect.SingularityObject r2
  3896.                 write_local singularityObject r3
  3897.                 r4 = read_local singularityObject
  3898.                 r5 = call_cmethod com.meduzik.matcharena.game.field.effect.SingularityObject.dispose r4
  3899.                 r6 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  3900.                 r7 = read_local singularity
  3901.     */
  3902.         abort();
  3903. }
  3904. void GameField::onChipActivated(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip, fl::com::meduzik::matcharena::engine::observer::ActivationEvent* reason){
  3905.     /*
  3906.     main:
  3907.         locals:
  3908.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  3909.             reason : class com.meduzik.matcharena.engine.observer.ActivationEvent
  3910.             chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  3911.             flag : Boolean
  3912.         code:
  3913.             block_0:
  3914.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  3915.                 r1 = read_local chip
  3916.                 r2 = read_dynindex r0 r1
  3917.                 r3 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r2
  3918.                 write_local chipObject r3
  3919.                 r4 = read_local chipObject
  3920.                 r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
  3921.                 condbr r5 block_1 block_2
  3922.             block_1:
  3923.                 write_local flag false
  3924.                 r6 = read_local chip
  3925.                 r7 = class_test r6 com.meduzik.matcharena.engine.field.chip.MineChip
  3926.                 condbr r7 block_3 block_4
  3927.             block_2:
  3928.             block_3:
  3929.                 r8 = read_local chipObject
  3930.                 r9 = read_local chipObject
  3931.                 r10 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r9 "ActivateMine"
  3932.                 r11 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.activate r8 r10
  3933.                 br block_4
  3934.             block_4:
  3935.                 br block_2
  3936.     */
  3937.         abort();
  3938. }
  3939. void GameField::onChipDestroyed(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip, fl::com::meduzik::matcharena::engine::observer::ChipDestroyReason* reason){
  3940.     /*
  3941.     main:
  3942.         locals:
  3943.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  3944.             reason : class com.meduzik.matcharena.engine.observer.ChipDestroyReason
  3945.             chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  3946.             countForQuest : Boolean
  3947.         code:
  3948.             block_0:
  3949.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  3950.                 r1 = read_local chip
  3951.                 r2 = read_dynindex r0 r1
  3952.                 r3 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r2
  3953.                 write_local chipObject r3
  3954.                 write_local countForQuest true
  3955.                 r4 = read_local chipObject
  3956.                 r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
  3957.                 condbr r5 block_1 block_2
  3958.             block_1:
  3959.                 r6 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  3960.                 r7 = call_cmethod com.meduzik.matcharena.game.EventContext.current r6
  3961.                 r8 = read_cfield com.meduzik.matcharena.game.EventContext.CHOCOLATE_GROW
  3962.                 r9 = num_cmp eq r7 r8
  3963.                 condbr r9 block_3 block_4
  3964.             block_2:
  3965.                 r10 = read_local countForQuest
  3966.                 condbr r10 block_5 block_6
  3967.             block_3:
  3968.                 r11 = read_local chipObject
  3969.                 r12 = read_local chipObject
  3970.                 r13 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r12 "ChipEatenByChocolate"
  3971.                 r14 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r11 r13
  3972.                 write_local countForQuest false
  3973.                 br block_4
  3974.             block_4:
  3975.                 r15 = read_local chipObject
  3976.                 r16 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r15
  3977.                 r17 = ref_cmp neq r16 (null:class com.meduzik.fx.combinators.FXWrap)
  3978.                 r18 = choice r17 Boolean false true
  3979.                 condbr r18 block_7 block_8
  3980.             block_5:
  3981.                 r19 = call_cmethod com.meduzik.matcharena.game.field.GameField.raise this "chip_destroy"
  3982.                 r20 = read_local chip
  3983.                 r21 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillChipQuestProperties this r19 r20
  3984.                 r22 = read_local reason
  3985.                 r23 = call_cmethod com.meduzik.matcharena.engine.observer.ChipDestroyReason.id r22
  3986.                 r24 = to_any r23
  3987.                 r25 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r21 "reason" r24
  3988.                 r26 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r25
  3989.                 br block_6
  3990.             block_6:
  3991.             block_7:
  3992.                 r27 = read_local chipObject
  3993.                 r28 = read_local chipObject
  3994.                 r29 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r28 "ChipDestroyByHit"
  3995.                 r30 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r27 r29
  3996.                 br block_8
  3997.             block_8:
  3998.                 br block_2
  3999.     */
  4000.         abort();
  4001. }
  4002. void GameField::onChipRecolored(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip, fl::com::meduzik::matcharena::engine::EngineColor* color){
  4003.     /*
  4004.     main:
  4005.         locals:
  4006.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  4007.             color : class com.meduzik.matcharena.engine.EngineColor
  4008.             oldColor : class com.meduzik.matcharena.engine.EngineColor
  4009.         code:
  4010.             block_0:
  4011.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  4012.                 r1 = read_local chip
  4013.                 r2 = read_dynindex r0 r1
  4014.                 r3 = from_any Boolean r2
  4015.                 condbr r3 block_1 block_2
  4016.             block_1:
  4017.                 write_cfield com.meduzik.matcharena.game.field.GameField.morphRecoloring this true
  4018.                 r4 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
  4019.                 r5 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.raise r4 "chip_recolored" 1.000000
  4020.                 r6 = read_local chip
  4021.                 r7 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillChipQuestProperties this r5 r6
  4022.                 r8 = read_local color
  4023.                 r9 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r8
  4024.                 r10 = call_cmethod com.meduzik.matcharena.level.Color.getName r9
  4025.                 r11 = to_any r10
  4026.                 r12 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r7 "to_color" r11
  4027.                 r13 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r12
  4028.                 r14 = read_local chip
  4029.                 r15 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.getColor r14
  4030.                 write_local oldColor r15
  4031.                 r16 = read_local chip
  4032.                 r17 = read_local chip
  4033.                 r18 = class_cast throws r16 com.meduzik.matcharena.engine.field.chip.ColorChip
  4034.                 r19 = read_local color
  4035.                 r20 = call_cmethod com.meduzik.matcharena.engine.field.chip.ColorChip.withColor r18 r19
  4036.                 r21 = read_local chip
  4037.                 r22 = read_local chip
  4038.                 r23 = call_cmethod com.meduzik.matcharena.game.field.GameField.onChipMorphs this r21 r22
  4039.                 r24 = read_local chip
  4040.                 r25 = read_local chip
  4041.                 r26 = class_cast throws r24 com.meduzik.matcharena.engine.field.chip.ColorChip
  4042.                 r27 = read_local oldColor
  4043.                 r28 = call_cmethod com.meduzik.matcharena.engine.field.chip.ColorChip.withColor r26 r27
  4044.                 write_cfield com.meduzik.matcharena.game.field.GameField.morphRecoloring this false
  4045.                 br block_2
  4046.             block_2:
  4047.     */
  4048.         abort();
  4049. }
  4050. void GameField::onChipMorphs(fl::com::meduzik::matcharena::engine::field::chip::Chip* oldChip, fl::com::meduzik::matcharena::engine::field::chip::Chip* newChip){
  4051.     /*
  4052.     main:
  4053.         locals:
  4054.             oldChip : class com.meduzik.matcharena.engine.field.chip.Chip
  4055.             newChip : class com.meduzik.matcharena.engine.field.chip.Chip
  4056.             oldChipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  4057.             newChipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  4058.             tmp : class com.meduzik.matcharena.game.field.chip.ChipObject
  4059.         code:
  4060.             block_0:
  4061.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  4062.                 r1 = read_local oldChip
  4063.                 r2 = read_dynindex r0 r1
  4064.                 r3 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r2
  4065.                 write_local oldChipObject r3
  4066.                 r4 = read_local newChip
  4067.                 r5 = call_cmethod com.meduzik.matcharena.game.field.GameField.createChipFromEngineChip this r4
  4068.                 write_local newChipObject r5
  4069.                 r6 = read_local newChipObject
  4070.                 r7 = class_cast throws r6 com.meduzik.matcharena.game.field.FieldObject
  4071.                 r8 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r7
  4072.                 r9 = read_cfield com.meduzik.matcharena.game.field.GameField.morphRecoloring this
  4073.                 condbr r9 block_1 block_2
  4074.             block_1:
  4075.                 r10 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  4076.                 r11 = call_cmethod com.meduzik.matcharena.game.EventContext.current r10
  4077.                 r12 = read_cfield com.meduzik.matcharena.game.EventContext.SINGULARITY
  4078.                 r13 = num_cmp eq r11 r12
  4079.             block_2:
  4080.                 r14 = phi Boolean (block_0 -> r9) (block_1 -> r13)
  4081.                 condbr r14 block_3 block_4
  4082.             block_3:
  4083.                 r15 = read_local oldChipObject
  4084.                 write_local tmp r15
  4085.                 r16 = read_local newChipObject
  4086.                 write_local oldChipObject r16
  4087.                 r17 = read_local tmp
  4088.                 write_local newChipObject r17
  4089.                 r18 = read_local oldChipObject
  4090.                 r19 = read_local newChipObject
  4091.                 r20 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.inheritFrom r18 r19
  4092.                 r21 = read_local newChipObject
  4093.                 r22 = read_local oldChipObject
  4094.                 r23 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.swapViewWith r21 r22
  4095.                 br block_4
  4096.             block_4:
  4097.                 r24 = read_local oldChipObject
  4098.                 r25 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.bringToFront r24
  4099.                 r26 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  4100.                 r27 = call_cmethod com.meduzik.matcharena.game.EventContext.current r26
  4101.                 r28 = read_cfield com.meduzik.matcharena.game.EventContext.CHIP_EVENT
  4102.                 r29 = num_cmp eq r27 r28
  4103.                 condbr r29 block_5 block_6
  4104.             block_5:
  4105.                 r30 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEvent this
  4106.                 r31 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.BombExplosion
  4107.                 r32 = ref_cmp eq r30 r31
  4108.                 condbr r32 block_7 block_8
  4109.             block_6:
  4110.                 r33 = read_local oldChipObject
  4111.                 r34 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.onEngineDropsRef r33
  4112.                 r35 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  4113.                 r36 = read_local oldChip
  4114.                 r37 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  4115.                 r38 = read_local newChip
  4116.                 r39 = read_local newChipObject
  4117.                 r40 = to_any r39
  4118.                 write_dynindex r37 r38
  4119.             block_7:
  4120.                 r41 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEventTarget this
  4121.                 r42 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEventTarget this
  4122.                 r43 = class_cast throws r41 com.meduzik.matcharena.engine.field.chip.BombChip
  4123.                 r44 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.type r43
  4124.                 r45 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.TYPE_SUPER
  4125.                 r46 = num_cmp eq r44 r45
  4126.                 condbr r46 block_9 block_10
  4127.             block_8:
  4128.                 r47 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.MineExplosion
  4129.                 r48 = ref_cmp eq r30 r47
  4130.                 condbr r48 block_11 block_12
  4131.             block_9:
  4132.                 r49 = read_local newChipObject
  4133.                 r50 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r49 "BombBombSecondColorSpawn"
  4134.                 br block_10
  4135.             block_10:
  4136.                 br block_13
  4137.                 br block_11
  4138.             block_11:
  4139.                 r51 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEventTarget this
  4140.                 r52 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEventTarget this
  4141.                 r53 = class_cast throws r51 com.meduzik.matcharena.engine.field.chip.MineChip
  4142.                 r54 = read_cfield com.meduzik.matcharena.engine.field.chip.MineChip.supermine r53
  4143.                 condbr r54 block_14 block_15
  4144.             block_12:
  4145.                 br block_13
  4146.             block_13:
  4147.                 br block_6
  4148.             block_14:
  4149.                 r55 = read_local newChipObject
  4150.                 r56 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r55 "MineMineSecondColorSpawn"
  4151.                 br block_15
  4152.             block_15:
  4153.                 br block_13
  4154.                 br block_13
  4155.     */
  4156.         abort();
  4157. }
  4158. void GameField::onReshuffleBegin(jfl::Int index){
  4159.     /*
  4160.     main:
  4161.         locals:
  4162.             index : int
  4163.         code:
  4164.             block_0:
  4165.                 r0 = read_local index
  4166.                 r1 = num_cmp eq r0 0.000000
  4167.                 condbr r1 block_1 block_2
  4168.             block_1:
  4169.                 r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.isInteractive this
  4170.                 condbr r2 block_3 block_4
  4171.             block_2:
  4172.             block_3:
  4173.                 r3 = read_cfield com.meduzik.matcharena.game.field.GameField.shoutouts this
  4174.                 r4 = call_cmethod com.meduzik.matcharena.game.field.shoutout.ShoutoutController.startShoutout r3 "Reshuffling"
  4175.                 r5 = call_cmethod com.meduzik.matcharena.game.field.GameField.constants this
  4176.                 r6 = read_cfield com.meduzik.matcharena.game.GameConstants.ReshuffleDelay r5
  4177.                 r7 = call_cmethod com.meduzik.matcharena.game.field.GameField.addDelay this r6
  4178.                 r8 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  4179.                 r9 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r8
  4180.                 br block_4
  4181.             block_4:
  4182.                 br block_2
  4183.     */
  4184.         abort();
  4185. }
  4186. void GameField::onReshuffleActions(jfl::Vector* actions){
  4187.     /*
  4188.     main:
  4189.         locals:
  4190.             actions : Vector.<class com.meduzik.matcharena.engine.field.ReshuffleAction>
  4191.             action : class com.meduzik.matcharena.engine.field.ReshuffleAction
  4192.             fromChip : class com.meduzik.matcharena.engine.field.chip.Chip
  4193.             fromCell : class com.meduzik.matcharena.engine.field.EngineCell
  4194.             toCell : class com.meduzik.matcharena.engine.field.EngineCell
  4195.             fromObject : class com.meduzik.matcharena.game.field.cell.CellObject
  4196.             toObject : class com.meduzik.matcharena.game.field.cell.CellObject
  4197.             fromChipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  4198.         code:
  4199.             block_0:
  4200.                 r0 = call_cmethod com.meduzik.matcharena.game.field.GameField.constants this
  4201.                 r1 = read_cfield com.meduzik.matcharena.game.GameConstants.ReshuffleTime r0
  4202.                 write_cfield com.meduzik.matcharena.game.field.GameField.engineDelay this r1
  4203.                 r2 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  4204.                 r3 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r2
  4205.     */
  4206.         abort();
  4207. }
  4208. void GameField::onReshuffleEnd(){
  4209.     /*
  4210.     main:
  4211.         code:
  4212.             block_0:
  4213.     */
  4214.         abort();
  4215. }
  4216. void GameField::onChipInstantlyDecaysForBonus(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
  4217.     /*
  4218.     main:
  4219.         locals:
  4220.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  4221.         code:
  4222.             block_0:
  4223.                 r0 = read_local chip
  4224.                 r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeChipEntity this r0
  4225.     */
  4226.         abort();
  4227. }
  4228. void GameField::onWaveGenerationBegin(fl::com::meduzik::matcharena::level::Wave* wave){
  4229.     /*
  4230.     main:
  4231.         locals:
  4232.             wave : class com.meduzik.matcharena.level.Wave
  4233.         code:
  4234.             block_0:
  4235.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.waveSpawner this
  4236.                 r1 = read_local wave
  4237.                 r2 = call_cmethod com.meduzik.matcharena.game.field.WaveSpawner.begin r0 r1
  4238.     */
  4239.         abort();
  4240. }
  4241. void GameField::onWaveGenerationEnd(){
  4242.     /*
  4243.     main:
  4244.         code:
  4245.             block_0:
  4246.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.waveSpawner this
  4247.                 r1 = call_cmethod com.meduzik.matcharena.game.field.WaveSpawner.end r0
  4248.     */
  4249.         abort();
  4250. }
  4251. void GameField::onWaveRemovedChip(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
  4252.     /*
  4253.     main:
  4254.         locals:
  4255.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  4256.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  4257.             chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  4258.         code:
  4259.             block_0:
  4260.                 r0 = read_local chip
  4261.                 r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeChipEntity this r0
  4262.                 write_local chipObject r1
  4263.                 r2 = read_local chipObject
  4264.                 r3 = ref_cmp neq r2 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
  4265.                 condbr r3 block_1 block_2
  4266.             block_1:
  4267.                 r4 = read_local chipObject
  4268.                 r5 = read_local chipObject
  4269.                 r6 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r5 "WaveDestroyChip"
  4270.                 r7 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r4 r6
  4271.                 br block_2
  4272.             block_2:
  4273.     */
  4274.         abort();
  4275. }
  4276. void GameField::onWaveGeneratedChip(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
  4277.     /*
  4278.     main:
  4279.         locals:
  4280.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  4281.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  4282.             chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  4283.         code:
  4284.             block_0:
  4285.                 r0 = read_local cell
  4286.                 r1 = read_local chip
  4287.                 r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.createChipEntity this r0 r1
  4288.                 write_local chipObject r2
  4289.                 r3 = read_local chip
  4290.                 r4 = class_test r3 com.meduzik.matcharena.engine.field.chip.DiamondChip
  4291.                 condbr r4 block_1 block_2
  4292.             block_1:
  4293.                 r5 = read_local chipObject
  4294.                 r6 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r5 "WaveSpawnDiamond"
  4295.                 br block_2
  4296.             block_2:
  4297.     */
  4298.         abort();
  4299. }
  4300. void GameField::onWaveGeneratedTile(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::tile::Tile* tile){
  4301.     /*
  4302.     main:
  4303.         locals:
  4304.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  4305.             tile : class com.meduzik.matcharena.engine.field.tile.Tile
  4306.             tileObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
  4307.         code:
  4308.             block_0:
  4309.                 r0 = read_local cell
  4310.                 r1 = read_local tile
  4311.                 r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.createTileEntity this r0 r1
  4312.                 write_local tileObject r2
  4313.                 r3 = read_local tile
  4314.                 r4 = class_test r3 com.meduzik.matcharena.engine.field.tile.TileGold
  4315.                 condbr r4 block_1 block_2
  4316.             block_1:
  4317.                 r5 = read_local tileObject
  4318.                 r6 = read_local tile
  4319.                 r7 = read_local tile
  4320.                 r8 = class_cast throws r6 com.meduzik.matcharena.engine.field.tile.TileGold
  4321.                 r9 = read_cfield com.meduzik.matcharena.engine.field.tile.TileGold.level r8
  4322.                 r10 = num_cast Number r9
  4323.                 r11 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithNumber r5 "WaveSpawnGoldTile" r10
  4324.                 br block_2
  4325.             block_2:
  4326.     */
  4327.         abort();
  4328. }
  4329. void GameField::onJamFlows(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::tile::JamTile* jam){
  4330.     /*
  4331.     main:
  4332.         locals:
  4333.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  4334.             jam : class com.meduzik.matcharena.engine.field.tile.JamTile
  4335.             tileObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
  4336.         code:
  4337.             block_0:
  4338.                 r0 = read_local cell
  4339.                 r1 = read_local jam
  4340.                 r2 = class_cast throws r1 com.meduzik.matcharena.engine.field.tile.Tile
  4341.                 r3 = call_cmethod com.meduzik.matcharena.game.field.GameField.createTileEntity this r0 r2
  4342.                 write_local tileObject r3
  4343.                 r4 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
  4344.                 r5 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.raise r4 "jam_flow" 1.000000
  4345.                 r6 = read_local jam
  4346.                 r7 = class_cast throws r6 com.meduzik.matcharena.engine.field.tile.Tile
  4347.                 r8 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillTileQuestProperties this r5 r7
  4348.                 r9 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r8
  4349.                 r10 = read_local tileObject
  4350.                 r11 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r10 "JamFlows"
  4351.                 r12 = read_local cell
  4352.                 r13 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateCell this r12
  4353.     */
  4354.         abort();
  4355. }
  4356. void GameField::onJamReachesReceiver(fl::com::meduzik::matcharena::engine::field::Field* field, fl::com::meduzik::matcharena::engine::field::tile::JamReceiverTile* jamReceiverTile){
  4357.     /*
  4358.     main:
  4359.         locals:
  4360.             field : class com.meduzik.matcharena.engine.field.Field
  4361.             jamReceiverTile : class com.meduzik.matcharena.engine.field.tile.JamReceiverTile
  4362.         code:
  4363.             block_0:
  4364.     */
  4365.         abort();
  4366. }
  4367. void GameField::onIceLevelDestroyed(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::tile::IceTile* tileIce){
  4368.     /*
  4369.     main:
  4370.         locals:
  4371.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  4372.             tileIce : class com.meduzik.matcharena.engine.field.tile.IceTile
  4373.             tile : class com.meduzik.matcharena.game.field.tile.CellLayerObject
  4374.         code:
  4375.             block_0:
  4376.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  4377.                 r1 = read_local tileIce
  4378.                 r2 = read_dynindex r0 r1
  4379.                 r3 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r2
  4380.                 write_local tile r3
  4381.                 r4 = read_local tile
  4382.                 r5 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.view r4
  4383.                 r6 = read_local tile
  4384.                 r7 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.view r6
  4385.                 r8 = class_cast throws r5 com.meduzik.matcharena.game.field.tile.TileViewIce
  4386.                 r9 = call_cmethod com.meduzik.matcharena.game.field.tile.TileViewIce.decreaseLevel r8
  4387.                 r10 = read_local tile
  4388.                 r11 = read_local tileIce
  4389.                 r12 = read_cfield com.meduzik.matcharena.engine.field.tile.IceTile.level r11
  4390.                 r13 = num_cast Number r12
  4391.                 r14 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithNumber r10 "IceTileLevelDestroy" r13
  4392.     */
  4393.         abort();
  4394. }
  4395. void GameField::onGoldenTileLevelDestroyed(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::tile::TileGold* tileGold){
  4396.     /*
  4397.     main:
  4398.         locals:
  4399.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  4400.             tileGold : class com.meduzik.matcharena.engine.field.tile.TileGold
  4401.             tile : class com.meduzik.matcharena.game.field.tile.CellLayerObject
  4402.         code:
  4403.             block_0:
  4404.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  4405.                 r1 = read_local tileGold
  4406.                 r2 = read_dynindex r0 r1
  4407.                 r3 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r2
  4408.                 write_local tile r3
  4409.                 r4 = read_local tile
  4410.                 r5 = read_local tileGold
  4411.                 r6 = read_cfield com.meduzik.matcharena.engine.field.tile.TileGold.level r5
  4412.                 r7 = num_cast Number r6
  4413.                 r8 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithNumber r4 "GoldTileLevelDestroy" r7
  4414.     */
  4415.         abort();
  4416. }
  4417. void GameField::onPlateDestroyed(fl::com::meduzik::matcharena::engine::field::plate::Plate* plate){
  4418.     /*
  4419.     main:
  4420.         locals:
  4421.             plate : class com.meduzik.matcharena.engine.field.plate.Plate
  4422.             plateObject : class com.meduzik.matcharena.game.field.borders.PlateObject
  4423.         code:
  4424.             block_0:
  4425.                 r0 = read_local plate
  4426.                 r1 = call_cmethod com.meduzik.matcharena.engine.field.plate.Plate.border r0
  4427.                 r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateBorder this r1
  4428.                 r3 = read_local plate
  4429.                 r4 = to_any r3
  4430.                 r5 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r4
  4431.                 r6 = from_any class com.meduzik.matcharena.game.field.borders.PlateObject r5
  4432.                 write_local plateObject r6
  4433.                 r7 = read_local plateObject
  4434.                 r8 = ref_cmp neq r7 (null:class com.meduzik.matcharena.game.field.borders.PlateObject)
  4435.                 condbr r8 block_1 block_2
  4436.             block_1:
  4437.                 r9 = read_local plateObject
  4438.                 r10 = read_local plateObject
  4439.                 r11 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r10 "PlateDestroy"
  4440.                 r12 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r9 r11
  4441.                 br block_2
  4442.             block_2:
  4443.                 r13 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
  4444.                 r14 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.raise r13 "plate_destroy" 1.000000
  4445.                 r15 = read_local plate
  4446.                 r16 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillBorderQuestProperties this r14 r15
  4447.                 r17 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r16
  4448.     */
  4449.         abort();
  4450. }
  4451. void GameField::onPlateRemoved(fl::com::meduzik::matcharena::engine::field::plate::Plate* plate){
  4452.     /*
  4453.     main:
  4454.         locals:
  4455.             plate : class com.meduzik.matcharena.engine.field.plate.Plate
  4456.             plateObject : class com.meduzik.matcharena.game.field.borders.PlateObject
  4457.         code:
  4458.             block_0:
  4459.                 r0 = read_local plate
  4460.                 r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.removePlateEntity this r0
  4461.                 write_local plateObject r1
  4462.                 r2 = read_local plateObject
  4463.                 r3 = ref_cmp neq r2 (null:class com.meduzik.matcharena.game.field.borders.PlateObject)
  4464.                 condbr r3 block_1 block_2
  4465.             block_1:
  4466.                 r4 = read_local plateObject
  4467.                 r5 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r4
  4468.                 r6 = ref_cmp neq r5 (null:class com.meduzik.fx.combinators.FXWrap)
  4469.                 r7 = choice r6 Boolean false true
  4470.                 condbr r7 block_3 block_4
  4471.             block_2:
  4472.             block_3:
  4473.                 r8 = read_local plateObject
  4474.                 r9 = read_local plateObject
  4475.                 r10 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r9 "PlateDestroy"
  4476.                 r11 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r8 r10
  4477.                 br block_4
  4478.             block_4:
  4479.                 br block_2
  4480.     */
  4481.         abort();
  4482. }
  4483. void GameField::onTileDestroyed(fl::com::meduzik::matcharena::engine::field::tile::Tile* tile){
  4484.     /*
  4485.     main:
  4486.         locals:
  4487.             tile : class com.meduzik.matcharena.engine.field.tile.Tile
  4488.             tileObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
  4489.         code:
  4490.             block_0:
  4491.                 r0 = read_local tile
  4492.                 r1 = call_cmethod com.meduzik.matcharena.engine.field.tile.Tile.cell r0
  4493.                 r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateCell this r1
  4494.                 r3 = read_local tile
  4495.                 r4 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeTileEntity this r3
  4496.                 write_local tileObject r4
  4497.                 r5 = read_local tile
  4498.                 r6 = class_test r5 com.meduzik.matcharena.engine.field.tile.TileGold
  4499.                 condbr r6 block_1 block_2
  4500.             block_1:
  4501.                 r7 = read_local tileObject
  4502.                 r8 = read_local tileObject
  4503.                 r9 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r8 "GoldTileDestroy"
  4504.                 r10 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r7 r9
  4505.                 br block_2
  4506.             block_2:
  4507.                 r11 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
  4508.                 r12 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.raise r11 "tile_destroy" 1.000000
  4509.                 r13 = read_local tile
  4510.                 r14 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillTileQuestProperties this r12 r13
  4511.                 r15 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r14
  4512.     */
  4513.         abort();
  4514. }
  4515. void GameField::onCoverBoundLevelDestroyed(fl::com::meduzik::matcharena::engine::field::cover::CoverBound* coverBound){
  4516.     /*
  4517.     main:
  4518.         locals:
  4519.             coverBound : class com.meduzik.matcharena.engine.field.cover.CoverBound
  4520.             coverObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
  4521.         code:
  4522.             block_0:
  4523.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  4524.                 r1 = read_local coverBound
  4525.                 r2 = read_dynindex r0 r1
  4526.                 r3 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r2
  4527.                 write_local coverObject r3
  4528.                 r4 = read_local coverBound
  4529.                 r5 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.type r4
  4530.                 r6 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_BOUND
  4531.                 r7 = num_cmp eq r5 r6
  4532.                 condbr r7 block_1 block_2
  4533.             block_1:
  4534.                 r8 = read_local coverObject
  4535.                 r9 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.view r8
  4536.                 r10 = read_local coverObject
  4537.                 r11 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.view r10
  4538.                 r12 = class_cast throws r9 com.meduzik.matcharena.game.field.tile.CoverViewBlocker
  4539.                 r13 = call_cmethod com.meduzik.matcharena.game.field.tile.CoverViewBlocker.decreaseLevel r12
  4540.                 r14 = read_local coverObject
  4541.                 r15 = read_local coverBound
  4542.                 r16 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.level r15
  4543.                 r17 = num_cast Number r16
  4544.                 r18 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithNumber r14 "BoundsLevelDestroy" r17
  4545.                 br block_3
  4546.                 br block_4
  4547.             block_2:
  4548.                 r19 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_HONEY
  4549.                 r20 = num_cmp eq r5 r19
  4550.                 condbr r20 block_4 block_5
  4551.             block_3:
  4552.             block_4:
  4553.                 r21 = read_local coverObject
  4554.                 r22 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.view r21
  4555.                 r23 = read_local coverObject
  4556.                 r24 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.view r23
  4557.                 r25 = class_cast throws r22 com.meduzik.matcharena.game.field.tile.CoverViewBlocker
  4558.                 r26 = call_cmethod com.meduzik.matcharena.game.field.tile.CoverViewBlocker.decreaseLevel r25
  4559.                 r27 = read_local coverObject
  4560.                 r28 = read_local coverBound
  4561.                 r29 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.level r28
  4562.                 r30 = num_cast Number r29
  4563.                 r31 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithNumber r27 "HoneyLevelDestroy" r30
  4564.                 br block_3
  4565.                 br block_6
  4566.             block_5:
  4567.                 r32 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_STONE
  4568.                 r33 = num_cmp eq r5 r32
  4569.                 condbr r33 block_6 block_7
  4570.             block_6:
  4571.                 r34 = read_local coverObject
  4572.                 r35 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.view r34
  4573.                 r36 = read_local coverObject
  4574.                 r37 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.view r36
  4575.                 r38 = class_cast throws r35 com.meduzik.matcharena.game.field.tile.CoverViewBlocker
  4576.                 r39 = call_cmethod com.meduzik.matcharena.game.field.tile.CoverViewBlocker.decreaseLevel r38
  4577.                 r40 = read_local coverObject
  4578.                 r41 = read_local coverBound
  4579.                 r42 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.level r41
  4580.                 r43 = num_cast Number r42
  4581.                 r44 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithNumber r40 "StoneLevelDestroy" r43
  4582.                 br block_3
  4583.                 br block_8
  4584.             block_7:
  4585.                 r45 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_HONEY
  4586.                 r46 = num_cmp eq r5 r45
  4587.                 condbr r46 block_8 block_9
  4588.             block_8:
  4589.                 r47 = read_local coverObject
  4590.                 r48 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.view r47
  4591.                 r49 = read_local coverObject
  4592.                 r50 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.view r49
  4593.                 r51 = class_cast throws r48 com.meduzik.matcharena.game.field.tile.CoverViewBlocker
  4594.                 r52 = call_cmethod com.meduzik.matcharena.game.field.tile.CoverViewBlocker.decreaseLevel r51
  4595.                 r53 = read_local coverObject
  4596.                 r54 = read_local coverBound
  4597.                 r55 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.level r54
  4598.                 r56 = num_cast Number r55
  4599.                 r57 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithNumber r53 "ChocolateLevelDestroy" r56
  4600.                 br block_3
  4601.                 br block_10
  4602.             block_9:
  4603.                 br block_10
  4604.             block_10:
  4605.                 r58 = to_any "unknown cover bound"
  4606.                 r59 = newclass Error r58
  4607.                 throw r59
  4608.                 br block_3
  4609.                 br block_3
  4610.     */
  4611.         abort();
  4612. }
  4613. void GameField::onCoverDestroyed(fl::com::meduzik::matcharena::engine::field::cover::Cover* cover, jfl::Int decayTimestamp){
  4614.     /*
  4615.     main:
  4616.         locals:
  4617.             cover : class com.meduzik.matcharena.engine.field.cover.Cover
  4618.             decayTimestamp : int
  4619.             coverObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
  4620.         code:
  4621.             block_0:
  4622.                 r0 = read_local cover
  4623.                 r1 = call_cmethod com.meduzik.matcharena.engine.field.cover.Cover.cell r0
  4624.                 r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateCell this r1
  4625.                 r3 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  4626.                 r4 = read_local cover
  4627.                 r5 = read_dynindex r3 r4
  4628.                 r6 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r5
  4629.                 write_local coverObject r6
  4630.                 r7 = call_cmethod com.meduzik.matcharena.game.field.GameField.raise this "cover_destroy"
  4631.                 r8 = read_local cover
  4632.                 r9 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillCoverQuestProperties this r7 r8
  4633.                 r10 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r9
  4634.                 r11 = read_local cover
  4635.                 r12 = class_test r11 com.meduzik.matcharena.engine.field.cover.CoverBound
  4636.                 condbr r12 block_1 block_2
  4637.             block_1:
  4638.                 r13 = read_local cover
  4639.                 r14 = read_local cover
  4640.                 r15 = class_cast throws r13 com.meduzik.matcharena.engine.field.cover.CoverBound
  4641.                 r16 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.type r15
  4642.                 r17 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_BOUND
  4643.                 r18 = num_cmp eq r16 r17
  4644.                 condbr r18 block_3 block_4
  4645.             block_2:
  4646.             block_3:
  4647.                 r19 = read_local coverObject
  4648.                 r20 = read_local coverObject
  4649.                 r21 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r20 "BoundsDestroy"
  4650.                 r22 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r19 r21
  4651.                 br block_5
  4652.                 br block_6
  4653.             block_4:
  4654.                 r23 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_HONEY
  4655.                 r24 = num_cmp eq r16 r23
  4656.                 condbr r24 block_6 block_7
  4657.             block_5:
  4658.                 br block_2
  4659.             block_6:
  4660.                 r25 = read_local coverObject
  4661.                 r26 = read_local coverObject
  4662.                 r27 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r26 "HoneyDestroy"
  4663.                 r28 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r25 r27
  4664.                 br block_5
  4665.                 br block_8
  4666.             block_7:
  4667.                 r29 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_CHOCOLATE
  4668.                 r30 = num_cmp eq r16 r29
  4669.                 condbr r30 block_8 block_9
  4670.             block_8:
  4671.                 r31 = read_local coverObject
  4672.                 r32 = read_local coverObject
  4673.                 r33 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r32 "ChocolateDestroy"
  4674.                 r34 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r31 r33
  4675.                 br block_5
  4676.                 br block_10
  4677.             block_9:
  4678.                 r35 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_STONE
  4679.                 r36 = num_cmp eq r16 r35
  4680.                 condbr r36 block_10 block_11
  4681.             block_10:
  4682.                 r37 = read_local coverObject
  4683.                 r38 = read_local coverObject
  4684.                 r39 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r38 "StoneDestroy"
  4685.                 r40 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r37 r39
  4686.                 br block_5
  4687.                 br block_12
  4688.             block_11:
  4689.                 br block_12
  4690.             block_12:
  4691.                 r41 = to_any "unknown cover destroyed"
  4692.                 r42 = newclass Error r41
  4693.                 throw r42
  4694.                 br block_5
  4695.                 br block_5
  4696.     */
  4697.         abort();
  4698. }
  4699. void GameField::onCoverDecays(fl::com::meduzik::matcharena::engine::field::cover::Cover* cover){
  4700.     /*
  4701.     main:
  4702.         locals:
  4703.             cover : class com.meduzik.matcharena.engine.field.cover.Cover
  4704.         code:
  4705.             block_0:
  4706.                 r0 = read_local cover
  4707.                 r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeCoverEntity this r0
  4708.                 r2 = read_local cover
  4709.                 r3 = call_cmethod com.meduzik.matcharena.engine.field.cover.Cover.cell r2
  4710.                 r4 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateCell this r3
  4711.     */
  4712.         abort();
  4713. }
  4714. void GameField::onChipSupercharged(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip, jfl::Int delay, fl::com::meduzik::matcharena::engine::observer::ActivationEvent* reason){
  4715.     /*
  4716.     main:
  4717.         locals:
  4718.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  4719.             delay : int
  4720.             reason : class com.meduzik.matcharena.engine.observer.ActivationEvent
  4721.         code:
  4722.             block_0:
  4723.                 r0 = read_local chip
  4724.                 r1 = read_local reason
  4725.                 r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.onChipActivated this r0 r1
  4726.     */
  4727.         abort();
  4728. }
  4729. void GameField::onChipSuperchargeHitBegin(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
  4730.     /*
  4731.     main:
  4732.         locals:
  4733.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  4734.             chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  4735.         code:
  4736.             block_0:
  4737.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  4738.                 r1 = read_local chip
  4739.                 r2 = read_dynindex r0 r1
  4740.                 r3 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r2
  4741.                 write_local chipObject r3
  4742.                 r4 = read_local chipObject
  4743.                 r5 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.deactivate r4
  4744.     */
  4745.         abort();
  4746. }
  4747. void GameField::onChipSuperchargeHitEnd(){
  4748.     /*
  4749.     main:
  4750.         code:
  4751.             block_0:
  4752.     */
  4753.         abort();
  4754. }
  4755. void GameField::onChocolateGrowBegin(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::cover::Cover* chocolateCover){
  4756.     /*
  4757.     main:
  4758.         locals:
  4759.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  4760.             chocolateCover : class com.meduzik.matcharena.engine.field.cover.Cover
  4761.             coverObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
  4762.         code:
  4763.             block_0:
  4764.                 r0 = read_local cell
  4765.                 r1 = read_local chocolateCover
  4766.                 r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.createCoverEntity this r0 r1
  4767.                 write_local coverObject r2
  4768.                 r3 = read_local coverObject
  4769.                 r4 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r3 "ChocolateGrow"
  4770.                 r5 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  4771.                 r6 = read_cfield com.meduzik.matcharena.game.EventContext.CHOCOLATE_GROW
  4772.                 r7 = call_cmethod com.meduzik.matcharena.game.EventContext.begin r5 r6
  4773.                 r8 = read_local cell
  4774.                 r9 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateCell this r8
  4775.     */
  4776.         abort();
  4777. }
  4778. void GameField::onChocolateGrowEnd(fl::com::meduzik::matcharena::engine::field::EngineCell* cell){
  4779.     /*
  4780.     main:
  4781.         locals:
  4782.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  4783.         code:
  4784.             block_0:
  4785.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  4786.                 r1 = call_cmethod com.meduzik.matcharena.game.EventContext.end r0
  4787.     */
  4788.         abort();
  4789. }
  4790. void GameField::onWaveReplacedChip(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::chip::Chip* oldChip, fl::com::meduzik::matcharena::engine::field::chip::Chip* newChip){
  4791.     /*
  4792.     main:
  4793.         locals:
  4794.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  4795.             oldChip : class com.meduzik.matcharena.engine.field.chip.Chip
  4796.             newChip : class com.meduzik.matcharena.engine.field.chip.Chip
  4797.         code:
  4798.             block_0:
  4799.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.waveSpawner this
  4800.                 r1 = read_local cell
  4801.                 r2 = read_local oldChip
  4802.                 r3 = read_local newChip
  4803.                 r4 = call_cmethod com.meduzik.matcharena.game.field.WaveSpawner.onWaveReplacedChip r0 r1 r2 r3
  4804.     */
  4805.         abort();
  4806. }
  4807. void GameField::onWaveReplacedPlate(fl::com::meduzik::matcharena::engine::field::EngineBorder* border, fl::com::meduzik::matcharena::engine::field::plate::Plate* oldPlate, fl::com::meduzik::matcharena::engine::field::plate::Plate* newPlate){
  4808.     /*
  4809.     main:
  4810.         locals:
  4811.             border : class com.meduzik.matcharena.engine.field.EngineBorder
  4812.             oldPlate : class com.meduzik.matcharena.engine.field.plate.Plate
  4813.             newPlate : class com.meduzik.matcharena.engine.field.plate.Plate
  4814.         code:
  4815.             block_0:
  4816.                 r0 = read_local border
  4817.                 r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateBorder this r0
  4818.                 r2 = read_cfield com.meduzik.matcharena.game.field.GameField.waveSpawner this
  4819.                 r3 = read_local border
  4820.                 r4 = read_local oldPlate
  4821.                 r5 = read_local newPlate
  4822.                 r6 = call_cmethod com.meduzik.matcharena.game.field.WaveSpawner.onWaveReplacedPlate r2 r3 r4 r5
  4823.     */
  4824.         abort();
  4825. }
  4826. void GameField::onWaveReplacedCover(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::cover::Cover* oldCover, fl::com::meduzik::matcharena::engine::field::cover::Cover* newCover){
  4827.     /*
  4828.     main:
  4829.         locals:
  4830.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  4831.             oldCover : class com.meduzik.matcharena.engine.field.cover.Cover
  4832.             newCover : class com.meduzik.matcharena.engine.field.cover.Cover
  4833.         code:
  4834.             block_0:
  4835.                 r0 = read_local cell
  4836.                 r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateCell this r0
  4837.                 r2 = read_cfield com.meduzik.matcharena.game.field.GameField.waveSpawner this
  4838.                 r3 = read_local cell
  4839.                 r4 = read_local oldCover
  4840.                 r5 = read_local newCover
  4841.                 r6 = call_cmethod com.meduzik.matcharena.game.field.WaveSpawner.onWaveReplacedCover r2 r3 r4 r5
  4842.     */
  4843.         abort();
  4844. }
  4845. void GameField::updateCell(fl::com::meduzik::matcharena::engine::field::EngineCell* cell){
  4846.     /*
  4847.     main:
  4848.         locals:
  4849.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  4850.             dRow : int
  4851.             dColumn : int
  4852.         code:
  4853.             block_0:
  4854.                 r0 = num_unop Number ! 1.000000
  4855.                 r1 = num_cast int r0
  4856.                 write_local dRow r1
  4857.                 br block_1
  4858.             block_1:
  4859.                 r2 = read_local dRow
  4860.                 r3 = num_cast Number r2
  4861.                 r4 = num_cmp le r3 1.000000
  4862.                 condbr r4 block_2 block_3
  4863.             block_2:
  4864.                 r5 = num_unop Number ! 1.000000
  4865.                 r6 = num_cast int r5
  4866.                 write_local dColumn r6
  4867.                 br block_4
  4868.             block_3:
  4869.             block_4:
  4870.                 r7 = read_local dColumn
  4871.                 r8 = num_cast Number r7
  4872.                 r9 = num_cmp le r8 1.000000
  4873.                 condbr r9 block_5 block_6
  4874.             block_5:
  4875.                 r10 = read_local cell
  4876.                 r11 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r10
  4877.                 r12 = read_local dRow
  4878.                 r13 = num_binop int + r11 r12
  4879.                 r14 = read_local cell
  4880.                 r15 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r14
  4881.                 r16 = read_local dColumn
  4882.                 r17 = num_binop int + r15 r16
  4883.                 r18 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateCellTile this r13 r17
  4884.                 br block_7
  4885.             block_6:
  4886.                 br block_8
  4887.             block_7:
  4888.                 r19 = read_local dColumn
  4889.                 r20 = num_binop int + r19 1.000000
  4890.                 write_local dColumn r20
  4891.                 br block_4
  4892.             block_8:
  4893.                 r21 = read_local dRow
  4894.                 r22 = num_binop int + r21 1.000000
  4895.                 write_local dRow r22
  4896.                 br block_1
  4897.     */
  4898.         abort();
  4899. }
  4900. void GameField::updateBorder(fl::com::meduzik::matcharena::engine::field::EngineBorder* border){
  4901.     /*
  4902.     main:
  4903.         locals:
  4904.             border : class com.meduzik.matcharena.engine.field.EngineBorder
  4905.             row : int
  4906.             column : int
  4907.         code:
  4908.             block_0:
  4909.                 r0 = read_local border
  4910.                 r1 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.row r0
  4911.                 write_local row r1
  4912.                 r2 = read_local border
  4913.                 r3 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.column r2
  4914.                 write_local column r3
  4915.                 r4 = read_local row
  4916.                 r5 = read_local column
  4917.                 r6 = read_local border
  4918.                 r7 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r6
  4919.                 r8 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateBorderTile this r4 r5 r7
  4920.                 r9 = read_local row
  4921.                 r10 = read_local border
  4922.                 r11 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r10
  4923.                 r12 = call_cmethod com.meduzik.matcharena.level.Side.offsetColumn r11
  4924.                 r13 = num_cast Number r9
  4925.                 r14 = num_binop Number + r13 r12
  4926.                 r15 = num_cast int r14
  4927.                 r16 = read_local column
  4928.                 r17 = read_local border
  4929.                 r18 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r17
  4930.                 r19 = call_cmethod com.meduzik.matcharena.level.Side.offsetRow r18
  4931.                 r20 = num_binop Number - r16 r19
  4932.                 r21 = num_cast int r20
  4933.                 r22 = read_local border
  4934.                 r23 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r22
  4935.                 r24 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateBorderTile this r15 r21 r23
  4936.                 r25 = read_local row
  4937.                 r26 = read_local border
  4938.                 r27 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r26
  4939.                 r28 = call_cmethod com.meduzik.matcharena.level.Side.offsetColumn r27
  4940.                 r29 = num_binop Number - r25 r28
  4941.                 r30 = num_cast int r29
  4942.                 r31 = read_local column
  4943.                 r32 = read_local border
  4944.                 r33 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r32
  4945.                 r34 = call_cmethod com.meduzik.matcharena.level.Side.offsetRow r33
  4946.                 r35 = num_cast Number r31
  4947.                 r36 = num_binop Number + r35 r34
  4948.                 r37 = num_cast int r36
  4949.                 r38 = read_local border
  4950.                 r39 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r38
  4951.                 r40 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateBorderTile this r30 r37 r39
  4952.                 r41 = read_local row
  4953.                 r42 = read_local column
  4954.                 r43 = read_local border
  4955.                 r44 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r43
  4956.                 r45 = call_cmethod com.meduzik.matcharena.level.Side.offsetColumn r44
  4957.                 r46 = num_cast int r45
  4958.                 r47 = read_local border
  4959.                 r48 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r47
  4960.                 r49 = call_cmethod com.meduzik.matcharena.level.Side.offsetRow r48
  4961.                 r50 = num_unop Number ! r49
  4962.                 r51 = num_cast int r50
  4963.                 r52 = call_cmethod com.meduzik.matcharena.level.Side.ByOffset static r46 r51
  4964.                 r53 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateBorderTile this r41 r42 r52
  4965.                 r54 = read_local row
  4966.                 r55 = read_local column
  4967.                 r56 = read_local border
  4968.                 r57 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r56
  4969.                 r58 = call_cmethod com.meduzik.matcharena.level.Side.offsetColumn r57
  4970.                 r59 = num_unop Number ! r58
  4971.                 r60 = num_cast int r59
  4972.                 r61 = read_local border
  4973.                 r62 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r61
  4974.                 r63 = call_cmethod com.meduzik.matcharena.level.Side.offsetRow r62
  4975.                 r64 = num_cast int r63
  4976.                 r65 = call_cmethod com.meduzik.matcharena.level.Side.ByOffset static r60 r64
  4977.                 r66 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateBorderTile this r54 r55 r65
  4978.                 r67 = read_local row
  4979.                 r68 = read_local border
  4980.                 r69 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r68
  4981.                 r70 = call_cmethod com.meduzik.matcharena.level.Side.offsetRow r69
  4982.                 r71 = num_cast Number r67
  4983.                 r72 = num_binop Number + r71 r70
  4984.                 r73 = num_cast int r72
  4985.                 write_local row r73
  4986.                 r74 = read_local column
  4987.                 r75 = read_local border
  4988.                 r76 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r75
  4989.                 r77 = call_cmethod com.meduzik.matcharena.level.Side.offsetColumn r76
  4990.                 r78 = num_cast Number r74
  4991.                 r79 = num_binop Number + r78 r77
  4992.                 r80 = num_cast int r79
  4993.                 write_local column r80
  4994.                 r81 = read_local row
  4995.                 r82 = read_local column
  4996.                 r83 = read_local border
  4997.                 r84 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r83
  4998.                 r85 = call_cmethod com.meduzik.matcharena.level.Side.offsetColumn r84
  4999.                 r86 = num_cast int r85
  5000.                 r87 = read_local border
  5001.                 r88 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r87
  5002.                 r89 = call_cmethod com.meduzik.matcharena.level.Side.offsetRow r88
  5003.                 r90 = num_unop Number ! r89
  5004.                 r91 = num_cast int r90
  5005.                 r92 = call_cmethod com.meduzik.matcharena.level.Side.ByOffset static r86 r91
  5006.                 r93 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateBorderTile this r81 r82 r92
  5007.                 r94 = read_local row
  5008.                 r95 = read_local column
  5009.                 r96 = read_local border
  5010.                 r97 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r96
  5011.                 r98 = call_cmethod com.meduzik.matcharena.level.Side.offsetColumn r97
  5012.                 r99 = num_unop Number ! r98
  5013.                 r100 = num_cast int r99
  5014.                 r101 = read_local border
  5015.                 r102 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r101
  5016.                 r103 = call_cmethod com.meduzik.matcharena.level.Side.offsetRow r102
  5017.                 r104 = num_cast int r103
  5018.                 r105 = call_cmethod com.meduzik.matcharena.level.Side.ByOffset static r100 r104
  5019.                 r106 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateBorderTile this r94 r95 r105
  5020.     */
  5021.         abort();
  5022. }
  5023. void GameField::updateBorderTile(jfl::Int row, jfl::Int column, fl::com::meduzik::matcharena::level::Side* side){
  5024.     /*
  5025.     main:
  5026.         locals:
  5027.             row : int
  5028.             column : int
  5029.             side : class com.meduzik.matcharena.level.Side
  5030.             border : class com.meduzik.matcharena.engine.field.EngineBorder
  5031.             plateObject : class com.meduzik.matcharena.game.field.borders.PlateObject
  5032.         code:
  5033.             block_0:
  5034.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  5035.                 r1 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r0
  5036.                 r2 = read_local row
  5037.                 r3 = read_local column
  5038.                 r4 = read_local side
  5039.                 r5 = call_cmethod com.meduzik.matcharena.engine.field.Field.getAnyBorder r1 r2 r3 r4
  5040.                 write_local border r5
  5041.                 r6 = read_local border
  5042.                 r7 = ref_cmp neq r6 (null:class com.meduzik.matcharena.engine.field.EngineBorder)
  5043.                 r8 = choice r7 Boolean false true
  5044.                 condbr r8 block_1 block_2
  5045.             block_1:
  5046.                 ret void
  5047.                 br block_2
  5048.             block_2:
  5049.                 r9 = read_local border
  5050.                 r10 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.plate r9
  5051.                 r11 = to_any r10
  5052.                 r12 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r11
  5053.                 r13 = from_any class com.meduzik.matcharena.game.field.borders.PlateObject r12
  5054.                 write_local plateObject r13
  5055.                 r14 = read_local plateObject
  5056.                 r15 = ref_cmp neq r14 (null:class com.meduzik.matcharena.game.field.borders.PlateObject)
  5057.                 condbr r15 block_3 block_4
  5058.             block_3:
  5059.                 r16 = read_local plateObject
  5060.                 r17 = read_local border
  5061.                 r18 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.row r17
  5062.                 r19 = read_local border
  5063.                 r20 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.column r19
  5064.                 r21 = read_local border
  5065.                 r22 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r21
  5066.                 r23 = call_cmethod com.meduzik.matcharena.game.field.borders.PlateObject.updateTile r16 r18 r20 r22
  5067.                 br block_4
  5068.             block_4:
  5069.     */
  5070.         abort();
  5071. }
  5072. void GameField::updateCellTile(jfl::Int row, jfl::Int column){
  5073.     /*
  5074.     main:
  5075.         locals:
  5076.             row : int
  5077.             column : int
  5078.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  5079.             tile : class com.meduzik.matcharena.engine.field.tile.Tile
  5080.             tileObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
  5081.             cover : class com.meduzik.matcharena.engine.field.cover.Cover
  5082.             coverObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
  5083.         code:
  5084.             block_0:
  5085.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  5086.                 r1 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r0
  5087.                 r2 = read_local row
  5088.                 r3 = read_local column
  5089.                 r4 = call_cmethod com.meduzik.matcharena.engine.field.Field.getAnyCell r1 r2 r3
  5090.                 write_local cell r4
  5091.                 r5 = read_local cell
  5092.                 r6 = ref_cmp neq r5 (null:class com.meduzik.matcharena.engine.field.EngineCell)
  5093.                 r7 = choice r6 Boolean false true
  5094.                 condbr r7 block_1 block_2
  5095.             block_1:
  5096.                 ret void
  5097.                 br block_2
  5098.             block_2:
  5099.                 r8 = read_local cell
  5100.                 r9 = read_cfield com.meduzik.matcharena.engine.field.EngineCell.tiles r8
  5101.                 r10 = read_cfield com.meduzik.matcharena.engine.field.tile.TileSet.top r9
  5102.                 write_local tile r10
  5103.                 br block_3
  5104.             block_3:
  5105.                 r11 = read_local tile
  5106.                 r12 = ref_cmp neq r11 (null:class com.meduzik.matcharena.engine.field.tile.Tile)
  5107.                 condbr r12 block_4 block_5
  5108.             block_4:
  5109.                 r13 = read_local tile
  5110.                 r14 = to_any r13
  5111.                 r15 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r14
  5112.                 r16 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r15
  5113.                 write_local tileObject r16
  5114.                 r17 = read_local tileObject
  5115.                 r18 = ref_cmp neq r17 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
  5116.                 condbr r18 block_6 block_7
  5117.             block_5:
  5118.                 r19 = read_local cell
  5119.                 r20 = read_cfield com.meduzik.matcharena.engine.field.EngineCell.covers r19
  5120.                 r21 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverSet.top r20
  5121.                 write_local cover r21
  5122.                 br block_8
  5123.             block_6:
  5124.                 r22 = read_local tileObject
  5125.                 r23 = read_local cell
  5126.                 r24 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r23
  5127.                 r25 = read_local cell
  5128.                 r26 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r25
  5129.                 r27 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.updateTile r22 r24 r26
  5130.                 br block_7
  5131.             block_7:
  5132.                 br block_9
  5133.             block_8:
  5134.                 r28 = read_local cover
  5135.                 r29 = ref_cmp neq r28 (null:class com.meduzik.matcharena.engine.field.cover.Cover)
  5136.                 condbr r29 block_10 block_11
  5137.             block_9:
  5138.                 r30 = read_local tile
  5139.                 r31 = read_cfield com.meduzik.matcharena.engine.field.tile.Tile.next r30
  5140.                 write_local tile r31
  5141.                 br block_3
  5142.             block_10:
  5143.                 r32 = read_local cover
  5144.                 r33 = to_any r32
  5145.                 r34 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r33
  5146.                 r35 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r34
  5147.                 write_local coverObject r35
  5148.                 r36 = read_local coverObject
  5149.                 r37 = ref_cmp neq r36 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
  5150.                 condbr r37 block_12 block_13
  5151.             block_11:
  5152.             block_12:
  5153.                 r38 = read_local coverObject
  5154.                 r39 = read_local cell
  5155.                 r40 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r39
  5156.                 r41 = read_local cell
  5157.                 r42 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r41
  5158.                 r43 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.updateTile r38 r40 r42
  5159.                 br block_13
  5160.             block_13:
  5161.                 br block_14
  5162.             block_14:
  5163.                 r44 = read_local cover
  5164.                 r45 = read_cfield com.meduzik.matcharena.engine.field.cover.Cover.next r44
  5165.                 write_local cover r45
  5166.                 br block_8
  5167.     */
  5168.         abort();
  5169. }
  5170. void GameField::onWaveReplacedTile(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::tile::Tile* oldTile, fl::com::meduzik::matcharena::engine::field::tile::Tile* newTile){
  5171.     /*
  5172.     main:
  5173.         locals:
  5174.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  5175.             oldTile : class com.meduzik.matcharena.engine.field.tile.Tile
  5176.             newTile : class com.meduzik.matcharena.engine.field.tile.Tile
  5177.         code:
  5178.             block_0:
  5179.                 r0 = read_local cell
  5180.                 r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateCell this r0
  5181.                 r2 = read_cfield com.meduzik.matcharena.game.field.GameField.waveSpawner this
  5182.                 r3 = read_local cell
  5183.                 r4 = read_local oldTile
  5184.                 r5 = read_local newTile
  5185.                 r6 = call_cmethod com.meduzik.matcharena.game.field.WaveSpawner.onWaveReplacedTile r2 r3 r4 r5
  5186.     */
  5187.         abort();
  5188. }
  5189. void GameField::onWaveReplacedAddon(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::chip::addon::ChipAddon* oldAddon, fl::com::meduzik::matcharena::engine::field::chip::addon::ChipAddon* newAddon){
  5190.     /*
  5191.     main:
  5192.         locals:
  5193.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  5194.             oldAddon : class com.meduzik.matcharena.engine.field.chip.addon.ChipAddon
  5195.             newAddon : class com.meduzik.matcharena.engine.field.chip.addon.ChipAddon
  5196.         code:
  5197.             block_0:
  5198.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.waveSpawner this
  5199.                 r1 = read_local cell
  5200.                 r2 = read_local oldAddon
  5201.                 r3 = read_local newAddon
  5202.                 r4 = call_cmethod com.meduzik.matcharena.game.field.WaveSpawner.onWaveReplacedAddon r0 r1 r2 r3
  5203.     */
  5204.         abort();
  5205. }
  5206. void GameField::onWaveReplacedFossil(fl::com::meduzik::matcharena::engine::field::fossils::Fossil* oldFossil, fl::com::meduzik::matcharena::engine::field::fossils::Fossil* newFossil){
  5207.     /*
  5208.     main:
  5209.         locals:
  5210.             oldFossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
  5211.             newFossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
  5212.         code:
  5213.             block_0:
  5214.                 r0 = read_local oldFossil
  5215.                 r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateFossilArea this r0
  5216.                 r2 = read_local newFossil
  5217.                 r3 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateFossilArea this r2
  5218.                 r4 = read_cfield com.meduzik.matcharena.game.field.GameField.waveSpawner this
  5219.                 r5 = read_local oldFossil
  5220.                 r6 = read_local newFossil
  5221.                 r7 = call_cmethod com.meduzik.matcharena.game.field.WaveSpawner.onWaveReplacedFossil r4 r5 r6
  5222.     */
  5223.         abort();
  5224. }
  5225. void GameField::onRoadTileRepaired(fl::com::meduzik::matcharena::engine::field::tile::RoadTile* roadTile){
  5226.     /*
  5227.     main:
  5228.         locals:
  5229.             roadTile : class com.meduzik.matcharena.engine.field.tile.RoadTile
  5230.             tileObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
  5231.         code:
  5232.             block_0:
  5233.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  5234.                 r1 = read_local roadTile
  5235.                 r2 = read_dynindex r0 r1
  5236.                 r3 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r2
  5237.                 write_local tileObject r3
  5238.                 r4 = read_local tileObject
  5239.                 r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
  5240.                 condbr r5 block_1 block_2
  5241.             block_1:
  5242.                 r6 = read_local tileObject
  5243.                 r7 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.view r6
  5244.                 r8 = read_local tileObject
  5245.                 r9 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.view r8
  5246.                 r10 = class_cast throws r7 com.meduzik.matcharena.game.field.tile.TileViewRoad
  5247.                 r11 = call_cmethod com.meduzik.matcharena.game.field.tile.TileViewRoad.repair r10
  5248.                 br block_2
  5249.             block_2:
  5250.     */
  5251.         abort();
  5252. }
  5253. void GameField::onRoadTileRepairStarted(fl::com::meduzik::matcharena::engine::field::tile::RoadTile* roadTile, fl::com::meduzik::matcharena::engine::field::tile::TileGold* tileGold, jfl::Int repairTime){
  5254.     /*
  5255.     main:
  5256.         locals:
  5257.             roadTile : class com.meduzik.matcharena.engine.field.tile.RoadTile
  5258.             tileGold : class com.meduzik.matcharena.engine.field.tile.TileGold
  5259.             repairTime : int
  5260.             tileObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
  5261.             goldTileObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
  5262.             effect : class com.meduzik.matcharena.game.field.effect.EffectObject
  5263.         code:
  5264.             block_0:
  5265.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  5266.                 r1 = read_local roadTile
  5267.                 r2 = read_dynindex r0 r1
  5268.                 r3 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r2
  5269.                 write_local tileObject r3
  5270.                 r4 = read_local tileObject
  5271.                 r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
  5272.                 condbr r5 block_1 block_2
  5273.             block_1:
  5274.                 r6 = read_local tileObject
  5275.                 r7 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r6 "RoadRepair"
  5276.                 br block_2
  5277.             block_2:
  5278.                 r8 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  5279.                 r9 = read_local tileGold
  5280.                 r10 = read_dynindex r8 r9
  5281.                 r11 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r10
  5282.                 write_local goldTileObject r11
  5283.                 r12 = read_local goldTileObject
  5284.                 r13 = ref_cmp neq r12 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
  5285.                 condbr r13 block_3 block_4
  5286.             block_3:
  5287.                 r14 = read_local tileObject
  5288.                 r15 = ref_cmp neq r14 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
  5289.             block_4:
  5290.                 r16 = phi Boolean (block_2 -> r13) (block_3 -> r15)
  5291.                 condbr r16 block_5 block_6
  5292.             block_5:
  5293.                 r17 = call_cmethod com.meduzik.matcharena.game.field.GameField.resources this
  5294.                 r18 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.roadRepairProjectile r17
  5295.                 r19 = call_cmethod com.meduzik.matcharena.game.field.GameField.createEffect this r18
  5296.                 r20 = read_local goldTileObject
  5297.                 r21 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r20
  5298.                 r22 = read_local goldTileObject
  5299.                 r23 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r22
  5300.                 r24 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.placeAt r19 r21 r23
  5301.                 write_local effect r24
  5302.                 r25 = read_local effect
  5303.                 r26 = read_local goldTileObject
  5304.                 r27 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r26
  5305.                 r28 = read_local goldTileObject
  5306.                 r29 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r28
  5307.                 r30 = read_local tileObject
  5308.                 r31 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r30
  5309.                 r32 = read_local tileObject
  5310.                 r33 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r32
  5311.                 r34 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithTwoPos r25 "RoadRepairProjectile" r27 r29 r31 r33
  5312.                 r35 = read_local tileObject
  5313.                 r36 = read_local tileObject
  5314.                 r37 = class_cast throws r36 com.meduzik.matcharena.game.field.FieldObject
  5315.                 r38 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithObject r35 "GoldTileUsedForRoadRepair" r37
  5316.                 br block_6
  5317.             block_6:
  5318.     */
  5319.         abort();
  5320. }
  5321. fl::com::meduzik::matcharena::level::Color* GameField::getColor(fl::com::meduzik::matcharena::engine::EngineColor* color){
  5322.     /*
  5323.     main:
  5324.         locals:
  5325.             color : class com.meduzik.matcharena.engine.EngineColor
  5326.         code:
  5327.             block_0:
  5328.                 r0 = read_local color
  5329.                 r1 = ref_cmp neq r0 (null:class com.meduzik.matcharena.engine.EngineColor)
  5330.                 r2 = choice r1 Boolean false true
  5331.                 condbr r2 block_1 block_2
  5332.             block_1:
  5333.                 r3 = read_cfield com.meduzik.matcharena.level.Color.Colorless
  5334.                 ret r3
  5335.                 br block_2
  5336.             block_2:
  5337.                 r4 = read_local color
  5338.                 r5 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r4
  5339.                 ret r5
  5340.     */
  5341.         abort();
  5342. }
  5343. void GameField::onScoreChanged(jfl::Object* source, fl::com::meduzik::matcharena::engine::goal::GoalEvent* reason, jfl::Int count){
  5344.     /*
  5345.     main:
  5346.         locals:
  5347.             source : *
  5348.             reason : class com.meduzik.matcharena.engine.goal.GoalEvent
  5349.             count : int
  5350.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  5351.             chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  5352.             color : class com.meduzik.matcharena.engine.EngineColor
  5353.             cellObject : class com.meduzik.matcharena.game.field.cell.CellObject
  5354.             tile : class com.meduzik.matcharena.engine.field.tile.Tile
  5355.             fieldObject : class com.meduzik.matcharena.game.field.FieldObject
  5356.             cover : class com.meduzik.matcharena.engine.field.cover.Cover
  5357.             coverObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
  5358.             coverBound : class com.meduzik.matcharena.engine.field.cover.CoverBound
  5359.             fossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
  5360.             fossilObject : class com.meduzik.matcharena.game.field.fossil.FossilObject
  5361.             plate : class com.meduzik.matcharena.engine.field.plate.Plate
  5362.             plateObject : class com.meduzik.matcharena.game.field.borders.PlateObject
  5363.         code:
  5364.             block_0:
  5365.                 r0 = read_local source
  5366.                 r1 = dyn_type_test r0 class com.meduzik.matcharena.engine.field.chip.Chip
  5367.                 condbr r1 block_1 block_2
  5368.             block_1:
  5369.                 r2 = read_local source
  5370.                 r3 = from_any class com.meduzik.matcharena.engine.field.chip.Chip r2
  5371.                 write_local chip r3
  5372.                 r4 = read_local chip
  5373.                 r5 = to_any r4
  5374.                 r6 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r5
  5375.                 r7 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r6
  5376.                 write_local chipObject r7
  5377.                 r8 = read_local chip
  5378.                 r9 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.getColor r8
  5379.                 write_local color r9
  5380.                 r10 = read_local chip
  5381.                 r11 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.targetCell r10
  5382.                 r12 = call_cmethod com.meduzik.matcharena.game.field.GameField.getCellMapping this r11
  5383.                 write_local cellObject r12
  5384.                 r13 = read_local reason
  5385.                 r14 = read_cfield com.meduzik.matcharena.engine.goal.GoalEvent.CharacterWalks
  5386.                 r15 = ref_cmp eq r13 r14
  5387.                 condbr r15 block_3 block_4
  5388.             block_2:
  5389.                 r16 = call_cmethod com.meduzik.matcharena.game.field.GameField.changeScore this
  5390.             block_3:
  5391.                 r17 = read_cfield com.meduzik.matcharena.game.field.GameField.pickup this
  5392.                 r18 = imethod_closure com.meduzik.matcharena.game.field.pickup.IPickupController.pickup r17
  5393.                 r19 = read_local count
  5394.                 r20 = read_local chipObject
  5395.                 r21 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r20
  5396.                 r22 = read_local chipObject
  5397.                 r23 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r22
  5398.                 r24 = call_dynamic r18 this "Walk" r19 r21 r23
  5399.                 r25 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
  5400.                 r26 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.raise r25 "char_walk" 1.000000
  5401.                 r27 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r26
  5402.                 br block_5
  5403.                 br block_6
  5404.             block_4:
  5405.                 br block_6
  5406.             block_5:
  5407.                 br block_2
  5408.             block_6:
  5409.                 r28 = read_local chip
  5410.                 r29 = class_test r28 com.meduzik.matcharena.engine.field.chip.DiamondChip
  5411.                 condbr r29 block_7 block_8
  5412.             block_7:
  5413.                 r30 = read_cfield com.meduzik.matcharena.game.field.GameField.pickup this
  5414.                 r31 = imethod_closure com.meduzik.matcharena.game.field.pickup.IPickupController.pickup r30
  5415.                 r32 = read_local count
  5416.                 r33 = read_local chipObject
  5417.                 r34 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r33
  5418.                 r35 = read_local chipObject
  5419.                 r36 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r35
  5420.                 r37 = read_local chipObject
  5421.                 r38 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.primaryView r37
  5422.                 r39 = call_cmethod com.meduzik.matcharena.game.field.view.ObjectView.clone r38
  5423.                 r40 = newclass com.meduzik.matcharena.game.field.view.FieldObjectViewWrapper this r39
  5424.                 r41 = call_dynamic r31 this "Diamond" r32 r34 r36 r40
  5425.                 br block_8
  5426.             block_8:
  5427.                 br block_5
  5428.                 br block_5
  5429.     */
  5430.         abort();
  5431. }
  5432. void GameField::changeScore(){
  5433.     /*
  5434.     main:
  5435.         code:
  5436.             block_0:
  5437.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.observer this
  5438.                 r1 = imethod_closure com.meduzik.matcharena.game.GameFieldObserver.onScoreChanged r0
  5439.                 r2 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  5440.                 r3 = read_cfield com.meduzik.matcharena.engine.Match3Engine.score r2
  5441.                 r4 = call_dynamic r1 this r3
  5442.                 r5 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
  5443.                 r6 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.raise r5 "score" 1.000000
  5444.                 r7 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r6
  5445.     */
  5446.         abort();
  5447. }
  5448. void GameField::loadCell(jfl::Int row, jfl::Int column){
  5449.     /*
  5450.     main:
  5451.         locals:
  5452.             row : int
  5453.             column : int
  5454.         code:
  5455.             block_0:
  5456.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.decorSet this
  5457.                 r1 = read_local row
  5458.                 r2 = read_local column
  5459.                 r3 = call_cmethod com.meduzik.matcharena.game.field.decor.DecorObjectSet.onCellLoaded r0 r1 r2
  5460.                 r4 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  5461.                 r5 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r4
  5462.                 r6 = read_local row
  5463.                 r7 = read_local column
  5464.                 r8 = call_cmethod com.meduzik.matcharena.engine.field.Field.getAnyCell r5 r6 r7
  5465.                 r9 = read_local row
  5466.                 r10 = read_local column
  5467.                 r11 = call_cmethod com.meduzik.matcharena.game.field.GameField.createCellFromEngineCell this r8 r9 r10
  5468.                 r12 = read_local row
  5469.                 r13 = read_local column
  5470.                 r14 = read_cfield com.meduzik.matcharena.level.Side.Left
  5471.                 r15 = call_cmethod com.meduzik.matcharena.game.field.GameField.loadBorder this r12 r13 r14
  5472.                 r16 = read_local row
  5473.                 r17 = read_local column
  5474.                 r18 = read_cfield com.meduzik.matcharena.level.Side.Top
  5475.                 r19 = call_cmethod com.meduzik.matcharena.game.field.GameField.loadBorder this r16 r17 r18
  5476.                 r20 = read_local row
  5477.                 r21 = read_local column
  5478.                 r22 = read_cfield com.meduzik.matcharena.level.Side.Right
  5479.                 r23 = call_cmethod com.meduzik.matcharena.game.field.GameField.loadBorder this r20 r21 r22
  5480.                 r24 = read_local row
  5481.                 r25 = read_local column
  5482.                 r26 = read_cfield com.meduzik.matcharena.level.Side.Bottom
  5483.                 r27 = call_cmethod com.meduzik.matcharena.game.field.GameField.loadBorder this r24 r25 r26
  5484.     */
  5485.         abort();
  5486. }
  5487. void GameField::unloadCell(jfl::Int row, jfl::Int column){
  5488.     /*
  5489.     main:
  5490.         locals:
  5491.             row : int
  5492.             column : int
  5493.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  5494.             cellObject : class com.meduzik.matcharena.game.field.cell.CellObject
  5495.             cover : class com.meduzik.matcharena.engine.field.cover.Cover
  5496.             coverObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
  5497.             tile : class com.meduzik.matcharena.engine.field.tile.Tile
  5498.             tileObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
  5499.             chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  5500.         code:
  5501.             block_0:
  5502.                 r0 = read_local row
  5503.                 r1 = read_local column
  5504.                 r2 = read_cfield com.meduzik.matcharena.level.Side.Left
  5505.                 r3 = call_cmethod com.meduzik.matcharena.game.field.GameField.unloadBorder this r0 r1 r2
  5506.                 r4 = read_local row
  5507.                 r5 = read_local column
  5508.                 r6 = read_cfield com.meduzik.matcharena.level.Side.Top
  5509.                 r7 = call_cmethod com.meduzik.matcharena.game.field.GameField.unloadBorder this r4 r5 r6
  5510.                 r8 = read_local row
  5511.                 r9 = read_local column
  5512.                 r10 = read_cfield com.meduzik.matcharena.level.Side.Right
  5513.                 r11 = call_cmethod com.meduzik.matcharena.game.field.GameField.unloadBorder this r8 r9 r10
  5514.                 r12 = read_local row
  5515.                 r13 = read_local column
  5516.                 r14 = read_cfield com.meduzik.matcharena.level.Side.Bottom
  5517.                 r15 = call_cmethod com.meduzik.matcharena.game.field.GameField.unloadBorder this r12 r13 r14
  5518.                 r16 = read_cfield com.meduzik.matcharena.game.field.GameField.decorSet this
  5519.                 r17 = read_local row
  5520.                 r18 = read_local column
  5521.                 r19 = call_cmethod com.meduzik.matcharena.game.field.decor.DecorObjectSet.onCellUnloaded r16 r17 r18
  5522.                 r20 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  5523.                 r21 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r20
  5524.                 r22 = read_local row
  5525.                 r23 = read_local column
  5526.                 r24 = call_cmethod com.meduzik.matcharena.engine.field.Field.getAnyCell r21 r22 r23
  5527.                 write_local cell r24
  5528.                 r25 = read_local cell
  5529.                 r26 = ref_cmp neq r25 (null:class com.meduzik.matcharena.engine.field.EngineCell)
  5530.                 condbr r26 block_1 block_2
  5531.             block_1:
  5532.                 r27 = read_local cell
  5533.                 r28 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeCellEntity this r27
  5534.                 write_local cellObject r28
  5535.                 r29 = read_local cellObject
  5536.                 r30 = ref_cmp neq r29 (null:class com.meduzik.matcharena.game.field.cell.CellObject)
  5537.                 condbr r30 block_3 block_4
  5538.             block_2:
  5539.             block_3:
  5540.                 r31 = read_local cellObject
  5541.                 r32 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.allowRemove r31
  5542.                 br block_4
  5543.             block_4:
  5544.                 r33 = read_local cell
  5545.                 r34 = read_cfield com.meduzik.matcharena.engine.field.EngineCell.covers r33
  5546.                 r35 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverSet.top r34
  5547.                 write_local cover r35
  5548.                 br block_5
  5549.             block_5:
  5550.                 r36 = read_local cover
  5551.                 r37 = ref_cmp neq r36 (null:class com.meduzik.matcharena.engine.field.cover.Cover)
  5552.                 condbr r37 block_6 block_7
  5553.             block_6:
  5554.                 r38 = read_local cover
  5555.                 r39 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeCoverEntity this r38
  5556.                 write_local coverObject r39
  5557.                 r40 = read_local coverObject
  5558.                 r41 = ref_cmp neq r40 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
  5559.                 condbr r41 block_8 block_9
  5560.             block_7:
  5561.                 r42 = read_local cell
  5562.                 r43 = read_cfield com.meduzik.matcharena.engine.field.EngineCell.tiles r42
  5563.                 r44 = read_cfield com.meduzik.matcharena.engine.field.tile.TileSet.top r43
  5564.                 write_local tile r44
  5565.                 br block_10
  5566.             block_8:
  5567.                 r45 = read_local coverObject
  5568.                 r46 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.allowRemove r45
  5569.                 br block_9
  5570.             block_9:
  5571.                 br block_11
  5572.             block_10:
  5573.                 r47 = read_local tile
  5574.                 r48 = ref_cmp neq r47 (null:class com.meduzik.matcharena.engine.field.tile.Tile)
  5575.                 condbr r48 block_12 block_13
  5576.             block_11:
  5577.                 r49 = read_local cover
  5578.                 r50 = read_cfield com.meduzik.matcharena.engine.field.cover.Cover.next r49
  5579.                 write_local cover r50
  5580.                 br block_5
  5581.             block_12:
  5582.                 r51 = read_local tile
  5583.                 r52 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeTileEntity this r51
  5584.                 write_local tileObject r52
  5585.                 r53 = read_local tileObject
  5586.                 r54 = ref_cmp neq r53 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
  5587.                 condbr r54 block_14 block_15
  5588.             block_13:
  5589.                 r55 = read_local cell
  5590.                 r56 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.currentChip r55
  5591.                 r57 = ref_cmp neq r56 (null:class com.meduzik.matcharena.engine.field.chip.Chip)
  5592.                 condbr r57 block_16 block_17
  5593.             block_14:
  5594.                 r58 = read_local tileObject
  5595.                 r59 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.allowRemove r58
  5596.                 br block_15
  5597.             block_15:
  5598.                 br block_18
  5599.             block_16:
  5600.                 r60 = read_local cell
  5601.                 r61 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.currentChip r60
  5602.                 r62 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeChipEntity this r61
  5603.                 write_local chipObject r62
  5604.                 r63 = read_local chipObject
  5605.                 r64 = ref_cmp neq r63 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
  5606.                 condbr r64 block_19 block_20
  5607.             block_17:
  5608.                 r65 = read_local row
  5609.                 r66 = read_local column
  5610.                 r67 = read_cfield com.meduzik.matcharena.level.Side.Left
  5611.                 r68 = call_cmethod com.meduzik.matcharena.game.field.GameField.unloadPortal this r65 r66 r67
  5612.                 r69 = read_local row
  5613.                 r70 = read_local column
  5614.                 r71 = read_cfield com.meduzik.matcharena.level.Side.Top
  5615.                 r72 = call_cmethod com.meduzik.matcharena.game.field.GameField.unloadPortal this r69 r70 r71
  5616.                 r73 = read_local row
  5617.                 r74 = read_local column
  5618.                 r75 = read_cfield com.meduzik.matcharena.level.Side.Right
  5619.                 r76 = call_cmethod com.meduzik.matcharena.game.field.GameField.unloadPortal this r73 r74 r75
  5620.                 r77 = read_local row
  5621.                 r78 = read_local column
  5622.                 r79 = read_cfield com.meduzik.matcharena.level.Side.Bottom
  5623.                 r80 = call_cmethod com.meduzik.matcharena.game.field.GameField.unloadPortal this r77 r78 r79
  5624.                 r81 = read_local cell
  5625.                 r82 = read_cfield com.meduzik.matcharena.engine.field.EngineCell.fossilLink r81
  5626.                 r83 = ref_cmp neq r82 (null:class com.meduzik.matcharena.engine.field.fossils.Fossil)
  5627.                 condbr r83 block_21 block_22
  5628.             block_18:
  5629.                 r84 = read_local tile
  5630.                 r85 = read_cfield com.meduzik.matcharena.engine.field.tile.Tile.next r84
  5631.                 write_local tile r85
  5632.                 br block_10
  5633.             block_19:
  5634.                 r86 = read_local chipObject
  5635.                 r87 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.allowRemove r86
  5636.                 br block_20
  5637.             block_20:
  5638.                 br block_17
  5639.             block_21:
  5640.                 r88 = read_local cell
  5641.                 r89 = read_cfield com.meduzik.matcharena.engine.field.EngineCell.fossilLink r88
  5642.                 r90 = call_cmethod com.meduzik.matcharena.game.field.GameField.unloadFossil this r89
  5643.                 br block_22
  5644.             block_22:
  5645.                 br block_2
  5646.     */
  5647.         abort();
  5648. }
  5649. void GameField::loadBorder(jfl::Int row, jfl::Int column, fl::com::meduzik::matcharena::level::Side* side){
  5650.     /*
  5651.     main:
  5652.         locals:
  5653.             row : int
  5654.             column : int
  5655.             side : class com.meduzik.matcharena.level.Side
  5656.             border : class com.meduzik.matcharena.engine.field.EngineBorder
  5657.         code:
  5658.             block_0:
  5659.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.bordersCache this
  5660.                 r1 = read_local row
  5661.                 r2 = read_local column
  5662.                 r3 = read_local side
  5663.                 r4 = call_cmethod com.meduzik.matcharena.game.field.borders.BordersCache.load r0 r1 r2 r3
  5664.                 condbr r4 block_1 block_2
  5665.             block_1:
  5666.                 r5 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  5667.                 r6 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r5
  5668.                 r7 = read_local row
  5669.                 r8 = read_local column
  5670.                 r9 = read_local side
  5671.                 r10 = call_cmethod com.meduzik.matcharena.engine.field.Field.getAnyBorder r6 r7 r8 r9
  5672.                 write_local border r10
  5673.                 r11 = read_local border
  5674.                 r12 = ref_cmp neq r11 (null:class com.meduzik.matcharena.engine.field.EngineBorder)
  5675.                 condbr r12 block_3 block_4
  5676.             block_2:
  5677.             block_3:
  5678.                 r13 = read_local border
  5679.                 r14 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.plate r13
  5680.                 r15 = ref_cmp neq r14 (null:class com.meduzik.matcharena.engine.field.plate.Plate)
  5681.             block_4:
  5682.                 r16 = phi Boolean (block_1 -> r12) (block_3 -> r15)
  5683.                 condbr r16 block_5 block_6
  5684.             block_5:
  5685.                 r17 = read_local border
  5686.                 r18 = read_local border
  5687.                 r19 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.plate r18
  5688.                 r20 = call_cmethod com.meduzik.matcharena.game.field.GameField.createPlateEntity this r17 r19
  5689.                 br block_6
  5690.             block_6:
  5691.                 br block_2
  5692.     */
  5693.         abort();
  5694. }
  5695. void GameField::unloadBorder(jfl::Int row, jfl::Int column, fl::com::meduzik::matcharena::level::Side* side){
  5696.     /*
  5697.     main:
  5698.         locals:
  5699.             row : int
  5700.             column : int
  5701.             side : class com.meduzik.matcharena.level.Side
  5702.             border : class com.meduzik.matcharena.engine.field.EngineBorder
  5703.             plateObject : class com.meduzik.matcharena.game.field.borders.PlateObject
  5704.         code:
  5705.             block_0:
  5706.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.bordersCache this
  5707.                 r1 = read_local row
  5708.                 r2 = read_local column
  5709.                 r3 = read_local side
  5710.                 r4 = call_cmethod com.meduzik.matcharena.game.field.borders.BordersCache.unload r0 r1 r2 r3
  5711.                 condbr r4 block_1 block_2
  5712.             block_1:
  5713.                 r5 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  5714.                 r6 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r5
  5715.                 r7 = read_local row
  5716.                 r8 = read_local column
  5717.                 r9 = read_local side
  5718.                 r10 = call_cmethod com.meduzik.matcharena.engine.field.Field.getAnyBorder r6 r7 r8 r9
  5719.                 write_local border r10
  5720.                 r11 = read_local border
  5721.                 r12 = ref_cmp neq r11 (null:class com.meduzik.matcharena.engine.field.EngineBorder)
  5722.                 condbr r12 block_3 block_4
  5723.             block_2:
  5724.             block_3:
  5725.                 r13 = read_local border
  5726.                 r14 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.plate r13
  5727.                 r15 = ref_cmp neq r14 (null:class com.meduzik.matcharena.engine.field.plate.Plate)
  5728.             block_4:
  5729.                 r16 = phi Boolean (block_1 -> r12) (block_3 -> r15)
  5730.                 condbr r16 block_5 block_6
  5731.             block_5:
  5732.                 r17 = read_local border
  5733.                 r18 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.plate r17
  5734.                 r19 = call_cmethod com.meduzik.matcharena.game.field.GameField.removePlateEntity this r18
  5735.                 write_local plateObject r19
  5736.                 r20 = read_local plateObject
  5737.                 r21 = ref_cmp neq r20 (null:class com.meduzik.matcharena.game.field.borders.PlateObject)
  5738.                 condbr r21 block_7 block_8
  5739.             block_6:
  5740.                 br block_2
  5741.             block_7:
  5742.                 r22 = read_local plateObject
  5743.                 r23 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.allowRemove r22
  5744.                 br block_8
  5745.             block_8:
  5746.                 br block_6
  5747.     */
  5748.         abort();
  5749. }
  5750. fl::com::meduzik::matcharena::game::field::chip::ChipObject* GameField::createChipEntity(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
  5751.     /*
  5752.     main:
  5753.         locals:
  5754.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  5755.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  5756.             chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  5757.             cover : class com.meduzik.matcharena.engine.field.cover.Cover
  5758.             coverObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
  5759.         code:
  5760.             block_0:
  5761.                 r0 = read_local chip
  5762.                 r1 = ref_cmp neq r0 (null:class com.meduzik.matcharena.engine.field.chip.Chip)
  5763.                 r2 = choice r1 Boolean false true
  5764.                 condbr r2 block_1 block_2
  5765.             block_1:
  5766.                 ret (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
  5767.                 br block_2
  5768.             block_2:
  5769.                 r3 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  5770.                 r4 = read_local chip
  5771.                 r5 = read_dynindex r3 r4
  5772.                 r6 = from_any Boolean r5
  5773.                 condbr r6 block_3 block_4
  5774.             block_3:
  5775.                 r7 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  5776.                 r8 = read_local chip
  5777.                 r9 = read_dynindex r7 r8
  5778.                 r10 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r9
  5779.                 ret r10
  5780.                 br block_4
  5781.             block_4:
  5782.                 r11 = read_local chip
  5783.                 r12 = call_cmethod com.meduzik.matcharena.game.field.GameField.createChipFromEngineChip this r11
  5784.                 write_local chipObject r12
  5785.                 r13 = read_local chipObject
  5786.                 r14 = ref_cmp neq r13 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
  5787.                 condbr r14 block_5 block_6
  5788.             block_5:
  5789.                 r15 = read_local chipObject
  5790.                 r16 = class_cast throws r15 com.meduzik.matcharena.game.field.FieldObject
  5791.                 r17 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r16
  5792.                 r18 = read_local cell
  5793.                 r19 = ref_cmp neq r18 (null:class com.meduzik.matcharena.engine.field.EngineCell)
  5794.                 condbr r19 block_7 block_8
  5795.             block_6:
  5796.                 r20 = read_local chipObject
  5797.                 ret r20
  5798.             block_7:
  5799.                 r21 = read_local chipObject
  5800.                 r22 = read_local cell
  5801.                 r23 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r22
  5802.                 r24 = read_local cell
  5803.                 r25 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r24
  5804.                 r26 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.placeAtCellPosition r21 r23 r25
  5805.                 br block_8
  5806.             block_8:
  5807.                 r27 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  5808.                 r28 = read_local chip
  5809.                 r29 = read_local chipObject
  5810.                 r30 = to_any r29
  5811.                 write_dynindex r27 r28
  5812.                 r31 = read_local chip
  5813.                 r32 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.currentCell r31
  5814.                 r33 = ref_cmp neq r32 (null:class com.meduzik.matcharena.engine.field.EngineCell)
  5815.                 condbr r33 block_9 block_10
  5816.             block_9:
  5817.                 r34 = read_local chip
  5818.                 r35 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.currentCell r34
  5819.                 r36 = read_cfield com.meduzik.matcharena.engine.field.EngineCell.covers r35
  5820.                 r37 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverSet.top r36
  5821.                 write_local cover r37
  5822.                 br block_11
  5823.             block_10:
  5824.                 br block_6
  5825.             block_11:
  5826.                 r38 = read_local cover
  5827.                 r39 = ref_cmp neq r38 (null:class com.meduzik.matcharena.engine.field.cover.Cover)
  5828.                 condbr r39 block_12 block_13
  5829.             block_12:
  5830.                 r40 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  5831.                 r41 = read_local cover
  5832.                 r42 = read_dynindex r40 r41
  5833.                 r43 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r42
  5834.                 write_local coverObject r43
  5835.                 r44 = read_local coverObject
  5836.                 r45 = ref_cmp neq r44 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
  5837.                 condbr r45 block_14 block_15
  5838.             block_13:
  5839.                 br block_10
  5840.             block_14:
  5841.                 r46 = read_local chipObject
  5842.                 r47 = read_local coverObject
  5843.                 r48 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.applyCover r46 r47
  5844.                 br block_15
  5845.             block_15:
  5846.                 br block_16
  5847.             block_16:
  5848.                 r49 = read_local cover
  5849.                 r50 = read_cfield com.meduzik.matcharena.engine.field.cover.Cover.next r49
  5850.                 write_local cover r50
  5851.                 br block_11
  5852.     */
  5853.         abort();
  5854. }
  5855. fl::com::meduzik::matcharena::game::field::chip::addon::AddonObject* GameField::createAddonEntity(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::chip::Chip* chip, fl::com::meduzik::matcharena::engine::field::chip::addon::ChipAddon* addon){
  5856.     /*
  5857.     main:
  5858.         locals:
  5859.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  5860.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  5861.             addon : class com.meduzik.matcharena.engine.field.chip.addon.ChipAddon
  5862.             chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  5863.             addonObject : class com.meduzik.matcharena.game.field.chip.addon.AddonObject
  5864.         code:
  5865.             block_0:
  5866.                 r0 = read_local addon
  5867.                 r1 = ref_cmp neq r0 (null:class com.meduzik.matcharena.engine.field.chip.addon.ChipAddon)
  5868.                 r2 = choice r1 Boolean false true
  5869.                 condbr r2 block_1 block_2
  5870.             block_1:
  5871.                 ret (null:class com.meduzik.matcharena.game.field.chip.addon.AddonObject)
  5872.                 br block_2
  5873.             block_2:
  5874.                 r3 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  5875.                 r4 = read_local addon
  5876.                 r5 = read_dynindex r3 r4
  5877.                 r6 = from_any Boolean r5
  5878.                 condbr r6 block_3 block_4
  5879.             block_3:
  5880.                 r7 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  5881.                 r8 = read_local addon
  5882.                 r9 = read_dynindex r7 r8
  5883.                 r10 = from_any class com.meduzik.matcharena.game.field.chip.addon.AddonObject r9
  5884.                 ret r10
  5885.                 br block_4
  5886.             block_4:
  5887.                 r11 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  5888.                 r12 = read_local chip
  5889.                 r13 = read_dynindex r11 r12
  5890.                 r14 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r13
  5891.                 write_local chipObject r14
  5892.                 r15 = read_local chipObject
  5893.                 r16 = ref_cmp neq r15 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
  5894.                 r17 = choice r16 Boolean false true
  5895.                 condbr r17 block_5 block_6
  5896.             block_5:
  5897.                 ret (null:class com.meduzik.matcharena.game.field.chip.addon.AddonObject)
  5898.                 br block_6
  5899.             block_6:
  5900.                 r18 = read_local chip
  5901.                 r19 = read_local chipObject
  5902.                 r20 = read_local addon
  5903.                 r21 = call_cmethod com.meduzik.matcharena.game.field.GameField.createAddonFromEngineAddon this r18 r19 r20
  5904.                 write_local addonObject r21
  5905.                 r22 = read_local addonObject
  5906.                 r23 = ref_cmp neq r22 (null:class com.meduzik.matcharena.game.field.chip.addon.AddonObject)
  5907.                 condbr r23 block_7 block_8
  5908.             block_7:
  5909.                 r24 = read_local addonObject
  5910.                 r25 = class_cast throws r24 com.meduzik.matcharena.game.field.FieldObject
  5911.                 r26 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r25
  5912.                 r27 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  5913.                 r28 = read_local addon
  5914.                 r29 = read_local addonObject
  5915.                 r30 = to_any r29
  5916.                 write_dynindex r27 r28
  5917.                 br block_8
  5918.             block_8:
  5919.                 r31 = read_local addonObject
  5920.                 ret r31
  5921.     */
  5922.         abort();
  5923. }
  5924. fl::com::meduzik::matcharena::game::field::cell::CellObject* GameField::removeCellEntity(fl::com::meduzik::matcharena::engine::field::EngineCell* cell){
  5925.     /*
  5926.     main:
  5927.         locals:
  5928.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  5929.             cellObject : class com.meduzik.matcharena.game.field.cell.CellObject
  5930.         code:
  5931.             block_0:
  5932.                 r0 = read_local cell
  5933.                 r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.getCellMapping this r0
  5934.                 write_local cellObject r1
  5935.                 r2 = read_local cellObject
  5936.                 r3 = ref_cmp neq r2 (null:class com.meduzik.matcharena.game.field.cell.CellObject)
  5937.                 condbr r3 block_1 block_2
  5938.             block_1:
  5939.                 r4 = read_local cellObject
  5940.                 r5 = read_cfield com.meduzik.matcharena.game.field.cell.CellObject.arrowSprite r4
  5941.                 r6 = ref_cmp neq r5 (null:class com.meduzik.matcharena.game.field.effect.SpriteFieldObject)
  5942.                 condbr r6 block_3 block_4
  5943.             block_2:
  5944.                 r7 = read_local cellObject
  5945.                 ret r7
  5946.             block_3:
  5947.                 r8 = read_local cellObject
  5948.                 r9 = read_cfield com.meduzik.matcharena.game.field.cell.CellObject.arrowSprite r8
  5949.                 r10 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.onEngineDropsRef r9
  5950.                 r11 = read_local cellObject
  5951.                 r12 = read_cfield com.meduzik.matcharena.game.field.cell.CellObject.arrowSprite r11
  5952.                 r13 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.allowRemove r12
  5953.                 r14 = read_local cellObject
  5954.                 write_cfield com.meduzik.matcharena.game.field.cell.CellObject.arrowSprite r14 (null:class com.meduzik.matcharena.game.field.effect.SpriteFieldObject)
  5955.                 br block_4
  5956.             block_4:
  5957.                 r15 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  5958.                 r16 = read_local cell
  5959.                 r17 = read_local cellObject
  5960.                 r18 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.onEngineDropsRef r17
  5961.                 br block_2
  5962.     */
  5963.         abort();
  5964. }
  5965. fl::com::meduzik::matcharena::game::field::chip::ChipObject* GameField::removeChipEntity(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
  5966.     /*
  5967.     main:
  5968.         locals:
  5969.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  5970.             chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  5971.             addon : class com.meduzik.matcharena.engine.field.chip.addon.ChipAddon
  5972.         code:
  5973.             block_0:
  5974.                 r0 = read_local chip
  5975.                 r1 = to_any r0
  5976.                 r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r1
  5977.                 r3 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r2
  5978.                 write_local chipObject r3
  5979.                 r4 = read_local chipObject
  5980.                 r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
  5981.                 condbr r5 block_1 block_2
  5982.             block_1:
  5983.                 r6 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  5984.                 r7 = read_local chip
  5985.                 r8 = read_local chipObject
  5986.                 r9 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.onEngineDropsRef r8
  5987.                 br block_2
  5988.             block_2:
  5989.                 r10 = read_local chip
  5990.                 r11 = ref_cmp neq r10 (null:class com.meduzik.matcharena.engine.field.chip.Chip)
  5991.                 condbr r11 block_3 block_4
  5992.             block_3:
  5993.                 r12 = read_local chip
  5994.                 r13 = read_cfield com.meduzik.matcharena.engine.field.chip.Chip.addon r12
  5995.                 write_local addon r13
  5996.                 br block_5
  5997.             block_4:
  5998.                 r14 = read_local chipObject
  5999.                 ret r14
  6000.             block_5:
  6001.                 r15 = read_local addon
  6002.                 r16 = ref_cmp neq r15 (null:class com.meduzik.matcharena.engine.field.chip.addon.ChipAddon)
  6003.                 condbr r16 block_6 block_7
  6004.             block_6:
  6005.                 r17 = read_local addon
  6006.                 r18 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeAddonEntity this r17
  6007.                 br block_8
  6008.             block_7:
  6009.                 br block_4
  6010.             block_8:
  6011.                 r19 = read_local addon
  6012.                 r20 = read_cfield com.meduzik.matcharena.engine.field.chip.addon.ChipAddon.next r19
  6013.                 write_local addon r20
  6014.                 br block_5
  6015.     */
  6016.         abort();
  6017. }
  6018. fl::com::meduzik::matcharena::game::field::borders::PlateObject* GameField::createPlateEntity(fl::com::meduzik::matcharena::engine::field::EngineBorder* border, fl::com::meduzik::matcharena::engine::field::plate::Plate* plate){
  6019.     /*
  6020.     main:
  6021.         locals:
  6022.             border : class com.meduzik.matcharena.engine.field.EngineBorder
  6023.             plate : class com.meduzik.matcharena.engine.field.plate.Plate
  6024.             plateObject : class com.meduzik.matcharena.game.field.borders.PlateObject
  6025.         code:
  6026.             block_0:
  6027.                 r0 = read_local plate
  6028.                 r1 = ref_cmp neq r0 (null:class com.meduzik.matcharena.engine.field.plate.Plate)
  6029.                 r2 = choice r1 Boolean false true
  6030.                 condbr r2 block_1 block_2
  6031.             block_1:
  6032.                 ret (null:class com.meduzik.matcharena.game.field.borders.PlateObject)
  6033.                 br block_2
  6034.             block_2:
  6035.                 r3 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  6036.                 r4 = read_local plate
  6037.                 r5 = read_dynindex r3 r4
  6038.                 r6 = from_any Boolean r5
  6039.                 condbr r6 block_3 block_4
  6040.             block_3:
  6041.                 r7 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  6042.                 r8 = read_local plate
  6043.                 r9 = read_dynindex r7 r8
  6044.                 r10 = from_any class com.meduzik.matcharena.game.field.borders.PlateObject r9
  6045.                 ret r10
  6046.                 br block_4
  6047.             block_4:
  6048.                 r11 = read_local border
  6049.                 r12 = read_local plate
  6050.                 r13 = call_cmethod com.meduzik.matcharena.game.field.GameField.createPlateFromEnginePlate this r11 r12
  6051.                 write_local plateObject r13
  6052.                 r14 = read_local plateObject
  6053.                 r15 = ref_cmp neq r14 (null:class com.meduzik.matcharena.game.field.borders.PlateObject)
  6054.                 condbr r15 block_5 block_6
  6055.             block_5:
  6056.                 r16 = read_local plateObject
  6057.                 r17 = class_cast throws r16 com.meduzik.matcharena.game.field.FieldObject
  6058.                 r18 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r17
  6059.                 r19 = read_local plate
  6060.                 r20 = ref_cmp neq r19 (null:class com.meduzik.matcharena.engine.field.plate.Plate)
  6061.                 condbr r20 block_7 block_8
  6062.             block_6:
  6063.                 r21 = read_local plateObject
  6064.                 ret r21
  6065.             block_7:
  6066.                 r22 = read_local plateObject
  6067.                 r23 = read_local border
  6068.                 r24 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.row r23
  6069.                 r25 = read_local border
  6070.                 r26 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.column r25
  6071.                 r27 = read_local border
  6072.                 r28 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.vertical r27
  6073.                 r29 = call_cmethod com.meduzik.matcharena.game.field.borders.PlateObject.placeAtBorderPosition r22 r24 r26 r28
  6074.                 br block_8
  6075.             block_8:
  6076.                 r30 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  6077.                 r31 = read_local plate
  6078.                 r32 = read_local plateObject
  6079.                 r33 = to_any r32
  6080.                 write_dynindex r30 r31
  6081.                 br block_6
  6082.     */
  6083.         abort();
  6084. }
  6085. fl::com::meduzik::matcharena::game::field::borders::PlateObject* GameField::removePlateEntity(fl::com::meduzik::matcharena::engine::field::plate::Plate* plate){
  6086.     /*
  6087.     main:
  6088.         locals:
  6089.             plate : class com.meduzik.matcharena.engine.field.plate.Plate
  6090.             plateObject : class com.meduzik.matcharena.game.field.borders.PlateObject
  6091.         code:
  6092.             block_0:
  6093.                 r0 = read_local plate
  6094.                 r1 = to_any r0
  6095.                 r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r1
  6096.                 r3 = from_any class com.meduzik.matcharena.game.field.borders.PlateObject r2
  6097.                 write_local plateObject r3
  6098.                 r4 = read_local plateObject
  6099.                 r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.borders.PlateObject)
  6100.                 condbr r5 block_1 block_2
  6101.             block_1:
  6102.                 r6 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  6103.                 r7 = read_local plate
  6104.                 r8 = read_local plateObject
  6105.                 r9 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.onEngineDropsRef r8
  6106.                 br block_2
  6107.             block_2:
  6108.                 r10 = read_local plateObject
  6109.                 ret r10
  6110.     */
  6111.         abort();
  6112. }
  6113. fl::com::meduzik::matcharena::game::field::chip::addon::AddonObject* GameField::removeAddonEntity(fl::com::meduzik::matcharena::engine::field::chip::addon::ChipAddon* addon){
  6114.     /*
  6115.     main:
  6116.         locals:
  6117.             addon : class com.meduzik.matcharena.engine.field.chip.addon.ChipAddon
  6118.             addonObject : class com.meduzik.matcharena.game.field.chip.addon.AddonObject
  6119.         code:
  6120.             block_0:
  6121.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  6122.                 r1 = read_local addon
  6123.                 r2 = read_dynindex r0 r1
  6124.                 r3 = from_any class com.meduzik.matcharena.game.field.chip.addon.AddonObject r2
  6125.                 write_local addonObject r3
  6126.                 r4 = read_local addonObject
  6127.                 r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.chip.addon.AddonObject)
  6128.                 condbr r5 block_1 block_2
  6129.             block_1:
  6130.                 r6 = read_local addonObject
  6131.                 r7 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.onEngineDropsRef r6
  6132.                 r8 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  6133.                 r9 = read_local addon
  6134.                 br block_2
  6135.             block_2:
  6136.                 r10 = read_local addonObject
  6137.                 ret r10
  6138.     */
  6139.         abort();
  6140. }
  6141. fl::com::meduzik::matcharena::game::field::tile::CellLayerObject* GameField::createCoverEntity(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::cover::Cover* cover){
  6142.     /*
  6143.     main:
  6144.         locals:
  6145.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  6146.             cover : class com.meduzik.matcharena.engine.field.cover.Cover
  6147.             coverObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
  6148.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  6149.             chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  6150.         code:
  6151.             block_0:
  6152.                 r0 = read_local cover
  6153.                 r1 = ref_cmp neq r0 (null:class com.meduzik.matcharena.engine.field.cover.Cover)
  6154.                 r2 = choice r1 Boolean false true
  6155.                 condbr r2 block_1 block_2
  6156.             block_1:
  6157.                 ret (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
  6158.                 br block_2
  6159.             block_2:
  6160.                 r3 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  6161.                 r4 = read_local cover
  6162.                 r5 = read_dynindex r3 r4
  6163.                 r6 = from_any Boolean r5
  6164.                 condbr r6 block_3 block_4
  6165.             block_3:
  6166.                 r7 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  6167.                 r8 = read_local cover
  6168.                 r9 = read_dynindex r7 r8
  6169.                 r10 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r9
  6170.                 ret r10
  6171.                 br block_4
  6172.             block_4:
  6173.                 r11 = read_local cell
  6174.                 r12 = read_local cover
  6175.                 r13 = call_cmethod com.meduzik.matcharena.game.field.GameField.createCoverFromEngineCover this r11 r12
  6176.                 write_local coverObject r13
  6177.                 r14 = read_local coverObject
  6178.                 r15 = ref_cmp neq r14 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
  6179.                 condbr r15 block_5 block_6
  6180.             block_5:
  6181.                 r16 = read_local coverObject
  6182.                 r17 = class_cast throws r16 com.meduzik.matcharena.game.field.FieldObject
  6183.                 r18 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r17
  6184.                 r19 = read_local coverObject
  6185.                 r20 = read_local cell
  6186.                 r21 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r20
  6187.                 r22 = read_local cell
  6188.                 r23 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r22
  6189.                 r24 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.placeAtCellPosition r19 r21 r23
  6190.                 r25 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  6191.                 r26 = read_local cover
  6192.                 r27 = read_local coverObject
  6193.                 r28 = to_any r27
  6194.                 write_dynindex r25 r26
  6195.                 r29 = read_local cell
  6196.                 r30 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.currentChip r29
  6197.                 write_local chip r30
  6198.                 r31 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  6199.                 r32 = read_local chip
  6200.                 r33 = read_dynindex r31 r32
  6201.                 r34 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r33
  6202.                 write_local chipObject r34
  6203.                 r35 = read_local chipObject
  6204.                 r36 = ref_cmp neq r35 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
  6205.                 condbr r36 block_7 block_8
  6206.             block_6:
  6207.                 r37 = read_local coverObject
  6208.                 ret r37
  6209.             block_7:
  6210.                 r38 = read_local chipObject
  6211.                 r39 = read_local coverObject
  6212.                 r40 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.applyCover r38 r39
  6213.                 br block_8
  6214.             block_8:
  6215.                 br block_6
  6216.     */
  6217.         abort();
  6218. }
  6219. fl::com::meduzik::matcharena::game::field::tile::CellLayerObject* GameField::removeCoverEntity(fl::com::meduzik::matcharena::engine::field::cover::Cover* cover){
  6220.     /*
  6221.     main:
  6222.         locals:
  6223.             cover : class com.meduzik.matcharena.engine.field.cover.Cover
  6224.             coverObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
  6225.         code:
  6226.             block_0:
  6227.                 r0 = read_local cover
  6228.                 r1 = to_any r0
  6229.                 r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r1
  6230.                 r3 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r2
  6231.                 write_local coverObject r3
  6232.                 r4 = read_local coverObject
  6233.                 r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
  6234.                 condbr r5 block_1 block_2
  6235.             block_1:
  6236.                 r6 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  6237.                 r7 = read_local cover
  6238.                 r8 = read_local coverObject
  6239.                 r9 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.onEngineDropsRef r8
  6240.                 br block_2
  6241.             block_2:
  6242.                 r10 = read_local coverObject
  6243.                 ret r10
  6244.     */
  6245.         abort();
  6246. }
  6247. fl::com::meduzik::matcharena::game::field::tile::CellLayerObject* GameField::createTileEntity(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::tile::Tile* tile){
  6248.     /*
  6249.     main:
  6250.         locals:
  6251.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  6252.             tile : class com.meduzik.matcharena.engine.field.tile.Tile
  6253.             tileObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
  6254.         code:
  6255.             block_0:
  6256.                 r0 = read_local tile
  6257.                 r1 = ref_cmp neq r0 (null:class com.meduzik.matcharena.engine.field.tile.Tile)
  6258.                 r2 = choice r1 Boolean false true
  6259.                 condbr r2 block_1 block_2
  6260.             block_1:
  6261.                 ret (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
  6262.                 br block_2
  6263.             block_2:
  6264.                 r3 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  6265.                 r4 = read_local tile
  6266.                 r5 = read_dynindex r3 r4
  6267.                 r6 = from_any Boolean r5
  6268.                 condbr r6 block_3 block_4
  6269.             block_3:
  6270.                 r7 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  6271.                 r8 = read_local tile
  6272.                 r9 = read_dynindex r7 r8
  6273.                 r10 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r9
  6274.                 ret r10
  6275.                 br block_4
  6276.             block_4:
  6277.                 r11 = read_local cell
  6278.                 r12 = read_local tile
  6279.                 r13 = call_cmethod com.meduzik.matcharena.game.field.GameField.createTileFromEngineTile this r11 r12
  6280.                 write_local tileObject r13
  6281.                 r14 = read_local tileObject
  6282.                 r15 = ref_cmp neq r14 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
  6283.                 condbr r15 block_5 block_6
  6284.             block_5:
  6285.                 r16 = read_local tileObject
  6286.                 r17 = class_cast throws r16 com.meduzik.matcharena.game.field.FieldObject
  6287.                 r18 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r17
  6288.                 r19 = read_local tileObject
  6289.                 r20 = read_local cell
  6290.                 r21 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r20
  6291.                 r22 = read_local cell
  6292.                 r23 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r22
  6293.                 r24 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.placeAtCellPosition r19 r21 r23
  6294.                 r25 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  6295.                 r26 = read_local tile
  6296.                 r27 = read_local tileObject
  6297.                 r28 = to_any r27
  6298.                 write_dynindex r25 r26
  6299.                 br block_6
  6300.             block_6:
  6301.                 r29 = read_local tileObject
  6302.                 ret r29
  6303.     */
  6304.         abort();
  6305. }
  6306. fl::com::meduzik::matcharena::game::field::tile::CellLayerObject* GameField::removeTileEntity(fl::com::meduzik::matcharena::engine::field::tile::Tile* tile){
  6307.     /*
  6308.     main:
  6309.         locals:
  6310.             tile : class com.meduzik.matcharena.engine.field.tile.Tile
  6311.             tileObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
  6312.         code:
  6313.             block_0:
  6314.                 r0 = read_local tile
  6315.                 r1 = to_any r0
  6316.                 r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r1
  6317.                 r3 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r2
  6318.                 write_local tileObject r3
  6319.                 r4 = read_local tileObject
  6320.                 r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
  6321.                 condbr r5 block_1 block_2
  6322.             block_1:
  6323.                 r6 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  6324.                 r7 = read_local tile
  6325.                 r8 = read_local tileObject
  6326.                 r9 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.onEngineDropsRef r8
  6327.                 br block_2
  6328.             block_2:
  6329.                 r10 = read_local tileObject
  6330.                 ret r10
  6331.     */
  6332.         abort();
  6333. }
  6334. fl::com::meduzik::matcharena::game::field::fossil::FossilObject* GameField::removeFossilEntity(fl::com::meduzik::matcharena::engine::field::fossils::Fossil* fossil){
  6335.     /*
  6336.     main:
  6337.         locals:
  6338.             fossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
  6339.             fossilObject : class com.meduzik.matcharena.game.field.fossil.FossilObject
  6340.         code:
  6341.             block_0:
  6342.                 r0 = read_local fossil
  6343.                 r1 = to_any r0
  6344.                 r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r1
  6345.                 r3 = from_any class com.meduzik.matcharena.game.field.fossil.FossilObject r2
  6346.                 write_local fossilObject r3
  6347.                 r4 = read_local fossilObject
  6348.                 r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.fossil.FossilObject)
  6349.                 condbr r5 block_1 block_2
  6350.             block_1:
  6351.                 r6 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  6352.                 r7 = read_local fossil
  6353.                 r8 = read_local fossilObject
  6354.                 r9 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.onEngineDropsRef r8
  6355.                 br block_2
  6356.             block_2:
  6357.                 r10 = read_local fossilObject
  6358.                 ret r10
  6359.     */
  6360.         abort();
  6361. }
  6362. void GameField::createCellFromEngineCell(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, jfl::Int row, jfl::Int column){
  6363.     /*
  6364.     main:
  6365.         locals:
  6366.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  6367.             row : int
  6368.             column : int
  6369.             cellObject : class com.meduzik.matcharena.game.field.cell.CellObject
  6370.             arrowInstance : class com.meduzik.display.DisplayObject
  6371.             arrowSprite : class com.meduzik.matcharena.game.field.effect.SpriteFieldObject
  6372.             tile : class com.meduzik.matcharena.engine.field.tile.Tile
  6373.             cover : class com.meduzik.matcharena.engine.field.cover.Cover
  6374.         code:
  6375.             block_0:
  6376.                 r0 = read_local cell
  6377.                 r1 = ref_cmp neq r0 (null:class com.meduzik.matcharena.engine.field.EngineCell)
  6378.                 r2 = choice r1 Boolean false true
  6379.                 condbr r2 block_1 block_2
  6380.             block_1:
  6381.                 ret void
  6382.                 br block_2
  6383.             block_2:
  6384.                 r3 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  6385.                 r4 = read_local cell
  6386.                 r5 = read_dynindex r3 r4
  6387.                 r6 = from_any Boolean r5
  6388.                 condbr r6 block_3 block_4
  6389.             block_3:
  6390.                 ret void
  6391.                 br block_4
  6392.             block_4:
  6393.                 r7 = read_local row
  6394.                 r8 = read_local column
  6395.                 r9 = read_local cell
  6396.                 r10 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.type r9
  6397.                 r11 = call_cmethod com.meduzik.matcharena.game.field.cell.CellObject.Make static r7 r8 r10
  6398.                 write_local cellObject r11
  6399.                 r12 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  6400.                 r13 = read_local cell
  6401.                 r14 = read_local cellObject
  6402.                 r15 = to_any r14
  6403.                 write_dynindex r12 r13
  6404.                 r16 = read_local cellObject
  6405.                 r17 = class_cast throws r16 com.meduzik.matcharena.game.field.FieldObject
  6406.                 r18 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r17
  6407.                 r19 = read_local row
  6408.                 r20 = read_local column
  6409.                 r21 = read_cfield com.meduzik.matcharena.level.Side.Left
  6410.                 r22 = call_cmethod com.meduzik.matcharena.game.field.GameField.loadPortal this r19 r20 r21
  6411.                 r23 = read_local row
  6412.                 r24 = read_local column
  6413.                 r25 = read_cfield com.meduzik.matcharena.level.Side.Top
  6414.                 r26 = call_cmethod com.meduzik.matcharena.game.field.GameField.loadPortal this r23 r24 r25
  6415.                 r27 = read_local row
  6416.                 r28 = read_local column
  6417.                 r29 = read_cfield com.meduzik.matcharena.level.Side.Right
  6418.                 r30 = call_cmethod com.meduzik.matcharena.game.field.GameField.loadPortal this r27 r28 r29
  6419.                 r31 = read_local row
  6420.                 r32 = read_local column
  6421.                 r33 = read_cfield com.meduzik.matcharena.level.Side.Bottom
  6422.                 r34 = call_cmethod com.meduzik.matcharena.game.field.GameField.loadPortal this r31 r32 r33
  6423.                 r35 = read_local cell
  6424.                 r36 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.type r35
  6425.                 r37 = read_cfield com.meduzik.matcharena.level.cell.CellType.FallAway
  6426.                 r38 = ref_cmp eq r36 r37
  6427.                 condbr r38 block_5 block_6
  6428.             block_5:
  6429.                 r39 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  6430.                 r40 = read_cfield com.meduzik.matcharena.engine.Match3Engine.mode r39
  6431.                 r41 = read_cfield com.meduzik.matcharena.level.LevelMode.Diamonds
  6432.                 r42 = ref_cmp eq r40 r41
  6433.             block_6:
  6434.                 r43 = phi Boolean (block_4 -> r38) (block_5 -> r42)
  6435.                 condbr r43 block_7 block_8
  6436.             block_7:
  6437.                 r44 = call_cmethod com.meduzik.matcharena.game.field.GameField.resources this
  6438.                 r45 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.fallAwayArrow r44
  6439.                 r46 = imethod_closure com.meduzik.bundle.display.DisplayTemplate.createInstance r45
  6440.                 r47 = call_dynamic r46
  6441.                 r48 = from_any class com.meduzik.display.DisplayObject r47
  6442.                 write_local arrowInstance r48
  6443.                 r49 = read_local arrowInstance
  6444.                 r50 = read_cfield com.meduzik.matcharena.game.field.view.SortLayer.FallAwayArrows
  6445.                 r51 = call_cmethod com.meduzik.matcharena.game.field.effect.SpriteFieldObject.Make static r49 r50
  6446.                 write_local arrowSprite r51
  6447.                 r52 = read_local arrowSprite
  6448.                 r53 = class_cast throws r52 com.meduzik.matcharena.game.field.FieldObject
  6449.                 r54 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r53
  6450.                 r55 = read_local arrowSprite
  6451.                 r56 = read_local row
  6452.                 r57 = read_local column
  6453.                 r58 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.placeAtCellPosition r55 r56 r57
  6454.                 r59 = read_local cellObject
  6455.                 r60 = read_local arrowSprite
  6456.                 write_cfield com.meduzik.matcharena.game.field.cell.CellObject.arrowSprite r59 r60
  6457.                 br block_8
  6458.             block_8:
  6459.                 r61 = read_local cell
  6460.                 r62 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.currentChip r61
  6461.                 r63 = ref_cmp neq r62 (null:class com.meduzik.matcharena.engine.field.chip.Chip)
  6462.                 condbr r63 block_9 block_10
  6463.             block_9:
  6464.                 r64 = read_local cell
  6465.                 r65 = read_local cell
  6466.                 r66 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.currentChip r65
  6467.                 r67 = call_cmethod com.meduzik.matcharena.game.field.GameField.createChipEntity this r64 r66
  6468.                 br block_10
  6469.             block_10:
  6470.                 r68 = read_local cell
  6471.                 r69 = read_cfield com.meduzik.matcharena.engine.field.EngineCell.tiles r68
  6472.                 r70 = read_cfield com.meduzik.matcharena.engine.field.tile.TileSet.top r69
  6473.                 write_local tile r70
  6474.                 br block_11
  6475.             block_11:
  6476.                 r71 = read_local tile
  6477.                 r72 = ref_cmp neq r71 (null:class com.meduzik.matcharena.engine.field.tile.Tile)
  6478.                 condbr r72 block_12 block_13
  6479.             block_12:
  6480.                 r73 = read_local cell
  6481.                 r74 = read_local tile
  6482.                 r75 = call_cmethod com.meduzik.matcharena.game.field.GameField.createTileEntity this r73 r74
  6483.                 br block_14
  6484.             block_13:
  6485.                 r76 = read_local cell
  6486.                 r77 = read_cfield com.meduzik.matcharena.engine.field.EngineCell.covers r76
  6487.                 r78 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverSet.top r77
  6488.                 write_local cover r78
  6489.                 br block_15
  6490.             block_14:
  6491.                 r79 = read_local tile
  6492.                 r80 = read_cfield com.meduzik.matcharena.engine.field.tile.Tile.next r79
  6493.                 write_local tile r80
  6494.                 br block_11
  6495.             block_15:
  6496.                 r81 = read_local cover
  6497.                 r82 = ref_cmp neq r81 (null:class com.meduzik.matcharena.engine.field.cover.Cover)
  6498.                 condbr r82 block_16 block_17
  6499.             block_16:
  6500.                 r83 = read_local cell
  6501.                 r84 = read_local cover
  6502.                 r85 = call_cmethod com.meduzik.matcharena.game.field.GameField.createCoverEntity this r83 r84
  6503.                 br block_18
  6504.             block_17:
  6505.                 r86 = read_local cell
  6506.                 r87 = read_cfield com.meduzik.matcharena.engine.field.EngineCell.fossilLink r86
  6507.                 r88 = ref_cmp neq r87 (null:class com.meduzik.matcharena.engine.field.fossils.Fossil)
  6508.                 condbr r88 block_19 block_20
  6509.             block_18:
  6510.                 r89 = read_local cover
  6511.                 r90 = read_cfield com.meduzik.matcharena.engine.field.cover.Cover.next r89
  6512.                 write_local cover r90
  6513.                 br block_15
  6514.             block_19:
  6515.                 r91 = read_local cell
  6516.                 r92 = read_cfield com.meduzik.matcharena.engine.field.EngineCell.fossilLink r91
  6517.                 r93 = call_cmethod com.meduzik.matcharena.game.field.GameField.loadFossil this r92
  6518.                 br block_20
  6519.             block_20:
  6520.     */
  6521.         abort();
  6522. }
  6523. fl::com::meduzik::matcharena::game::field::fossil::FossilObject* GameField::loadFossil(fl::com::meduzik::matcharena::engine::field::fossils::Fossil* fossil){
  6524.     /*
  6525.     main:
  6526.         locals:
  6527.             fossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
  6528.             fossilObject : class com.meduzik.matcharena.game.field.fossil.FossilObject
  6529.         code:
  6530.             block_0:
  6531.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  6532.                 r1 = read_local fossil
  6533.                 r2 = read_dynindex r0 r1
  6534.                 r3 = from_any Boolean r2
  6535.                 r4 = choice r3 Boolean false true
  6536.                 condbr r4 block_1 block_2
  6537.             block_1:
  6538.                 r5 = read_local fossil
  6539.                 r6 = call_cmethod com.meduzik.matcharena.game.field.GameField.createFossilEntity this r5
  6540.                 br block_2
  6541.             block_2:
  6542.                 r7 = read_local fossil
  6543.                 r8 = to_any r7
  6544.                 r9 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r8
  6545.                 r10 = read_local fossil
  6546.                 r11 = to_any r10
  6547.                 r12 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r11
  6548.                 r13 = from_any class com.meduzik.matcharena.game.field.fossil.FossilObject r9
  6549.                 write_local fossilObject r13
  6550.                 r14 = read_local fossilObject
  6551.                 r15 = call_cmethod com.meduzik.matcharena.game.field.fossil.FossilObject.onCellLoaded r14
  6552.                 r16 = read_local fossilObject
  6553.                 ret r16
  6554.     */
  6555.         abort();
  6556. }
  6557. fl::com::meduzik::matcharena::game::field::fossil::FossilView* GameField::createFossilView(fl::com::meduzik::matcharena::engine::field::fossils::Fossil* fossil){
  6558.     /*
  6559.     main:
  6560.         locals:
  6561.             fossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
  6562.         code:
  6563.             block_0:
  6564.                 r0 = read_local fossil
  6565.                 r1 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.type r0
  6566.                 r2 = read_local fossil
  6567.                 r3 = read_local fossil
  6568.                 r4 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.rotation r3
  6569.                 r5 = call_cmethod com.meduzik.matcharena.game.field.fossil.FossilViewDefault.Make static r1 r2 r4
  6570.                 r6 = class_cast throws r5 com.meduzik.matcharena.game.field.fossil.FossilView
  6571.                 ret r6
  6572.     */
  6573.         abort();
  6574. }
  6575. fl::com::meduzik::matcharena::game::field::fossil::FossilObject* GameField::createFossilFromEngineFossil(fl::com::meduzik::matcharena::engine::field::fossils::Fossil* fossil){
  6576.     /*
  6577.     main:
  6578.         locals:
  6579.             fossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
  6580.             fossilObject : class com.meduzik.matcharena.game.field.fossil.FossilObject
  6581.         code:
  6582.             block_0:
  6583.                 r0 = read_local fossil
  6584.                 r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.createFossilView this r0
  6585.                 r2 = call_cmethod com.meduzik.matcharena.game.field.fossil.FossilObject.Make static r1
  6586.                 write_local fossilObject r2
  6587.                 r3 = read_local fossilObject
  6588.                 ret r3
  6589.     */
  6590.         abort();
  6591. }
  6592. fl::com::meduzik::matcharena::game::field::fossil::FossilObject* GameField::createFossilEntity(fl::com::meduzik::matcharena::engine::field::fossils::Fossil* fossil){
  6593.     /*
  6594.     main:
  6595.         locals:
  6596.             fossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
  6597.             fossilObject : class com.meduzik.matcharena.game.field.fossil.FossilObject
  6598.         code:
  6599.             block_0:
  6600.                 r0 = read_local fossil
  6601.                 r1 = ref_cmp neq r0 (null:class com.meduzik.matcharena.engine.field.fossils.Fossil)
  6602.                 r2 = choice r1 Boolean false true
  6603.                 condbr r2 block_1 block_2
  6604.             block_1:
  6605.                 ret (null:class com.meduzik.matcharena.game.field.fossil.FossilObject)
  6606.                 br block_2
  6607.             block_2:
  6608.                 r3 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  6609.                 r4 = read_local fossil
  6610.                 r5 = read_dynindex r3 r4
  6611.                 r6 = from_any Boolean r5
  6612.                 condbr r6 block_3 block_4
  6613.             block_3:
  6614.                 r7 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  6615.                 r8 = read_local fossil
  6616.                 r9 = read_dynindex r7 r8
  6617.                 r10 = from_any class com.meduzik.matcharena.game.field.fossil.FossilObject r9
  6618.                 ret r10
  6619.                 br block_4
  6620.             block_4:
  6621.                 r11 = read_local fossil
  6622.                 r12 = call_cmethod com.meduzik.matcharena.game.field.GameField.createFossilFromEngineFossil this r11
  6623.                 write_local fossilObject r12
  6624.                 r13 = read_local fossilObject
  6625.                 r14 = class_cast throws r13 com.meduzik.matcharena.game.field.FieldObject
  6626.                 r15 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r14
  6627.                 r16 = read_local fossilObject
  6628.                 r17 = read_local fossil
  6629.                 r18 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.row r17
  6630.                 r19 = read_local fossil
  6631.                 r20 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.column r19
  6632.                 r21 = call_cmethod com.meduzik.matcharena.game.field.fossil.FossilObject.placeAtCellPosition r16 r18 r20
  6633.                 r22 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  6634.                 r23 = read_local fossil
  6635.                 r24 = read_local fossilObject
  6636.                 r25 = to_any r24
  6637.                 write_dynindex r22 r23
  6638.                 r26 = read_local fossilObject
  6639.                 ret r26
  6640.     */
  6641.         abort();
  6642. }
  6643. void GameField::unloadFossil(fl::com::meduzik::matcharena::engine::field::fossils::Fossil* fossil){
  6644.     /*
  6645.     main:
  6646.         locals:
  6647.             fossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
  6648.             fossilObject : class com.meduzik.matcharena.game.field.fossil.FossilObject
  6649.         code:
  6650.             block_0:
  6651.                 r0 = read_local fossil
  6652.                 r1 = to_any r0
  6653.                 r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r1
  6654.                 r3 = from_any class com.meduzik.matcharena.game.field.fossil.FossilObject r2
  6655.                 write_local fossilObject r3
  6656.                 r4 = read_local fossilObject
  6657.                 r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.fossil.FossilObject)
  6658.                 condbr r5 block_1 block_2
  6659.             block_1:
  6660.                 r6 = read_local fossilObject
  6661.                 r7 = call_cmethod com.meduzik.matcharena.game.field.fossil.FossilObject.onCellUnloaded r6
  6662.                 condbr r7 block_3 block_4
  6663.             block_2:
  6664.             block_3:
  6665.                 r8 = read_local fossil
  6666.                 r9 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeFossilEntity this r8
  6667.                 r10 = ref_cmp neq r9 (null:class com.meduzik.matcharena.game.field.fossil.FossilObject)
  6668.                 condbr r10 block_5 block_6
  6669.             block_4:
  6670.                 br block_2
  6671.             block_5:
  6672.                 r11 = read_local fossilObject
  6673.                 r12 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.allowRemove r11
  6674.                 br block_6
  6675.             block_6:
  6676.                 br block_4
  6677.     */
  6678.         abort();
  6679. }
  6680. void GameField::loadPortal(jfl::Int row, jfl::Int column, fl::com::meduzik::matcharena::level::Side* side){
  6681.     /*
  6682.     main:
  6683.         locals:
  6684.             row : int
  6685.             column : int
  6686.             side : class com.meduzik.matcharena.level.Side
  6687.             portal : class com.meduzik.matcharena.engine.field.portal.PortalNode
  6688.         code:
  6689.             block_0:
  6690.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  6691.                 r1 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r0
  6692.                 r2 = read_cfield com.meduzik.matcharena.engine.field.Field.portals r1
  6693.                 r3 = read_local row
  6694.                 r4 = read_local column
  6695.                 r5 = read_local side
  6696.                 r6 = call_cmethod com.meduzik.matcharena.engine.field.portal.PortalNodes.findPortal r2 r3 r4 r5
  6697.                 write_local portal r6
  6698.                 r7 = read_local portal
  6699.                 r8 = ref_cmp neq r7 (null:class com.meduzik.matcharena.engine.field.portal.PortalNode)
  6700.                 condbr r8 block_1 block_2
  6701.             block_1:
  6702.                 r9 = read_local portal
  6703.                 r10 = call_cmethod com.meduzik.matcharena.game.field.GameField.createPortalNode this r9
  6704.                 br block_2
  6705.             block_2:
  6706.     */
  6707.         abort();
  6708. }
  6709. void GameField::unloadPortal(jfl::Int row, jfl::Int column, fl::com::meduzik::matcharena::level::Side* side){
  6710.     /*
  6711.     main:
  6712.         locals:
  6713.             row : int
  6714.             column : int
  6715.             side : class com.meduzik.matcharena.level.Side
  6716.             portal : class com.meduzik.matcharena.engine.field.portal.PortalNode
  6717.         code:
  6718.             block_0:
  6719.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  6720.                 r1 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r0
  6721.                 r2 = read_cfield com.meduzik.matcharena.engine.field.Field.portals r1
  6722.                 r3 = read_local row
  6723.                 r4 = read_local column
  6724.                 r5 = read_local side
  6725.                 r6 = call_cmethod com.meduzik.matcharena.engine.field.portal.PortalNodes.findPortal r2 r3 r4 r5
  6726.                 write_local portal r6
  6727.                 r7 = read_local portal
  6728.                 r8 = ref_cmp neq r7 (null:class com.meduzik.matcharena.engine.field.portal.PortalNode)
  6729.                 condbr r8 block_1 block_2
  6730.             block_1:
  6731.                 r9 = read_local portal
  6732.                 r10 = call_cmethod com.meduzik.matcharena.game.field.GameField.destroyPortalNode this r9
  6733.                 br block_2
  6734.             block_2:
  6735.     */
  6736.         abort();
  6737. }
  6738. void GameField::onShowHintArrow(fl::com::meduzik::matcharena::engine::zone::EngineZone* zone, jfl::Number angle){
  6739.     /*
  6740.     main:
  6741.         locals:
  6742.             zone : class com.meduzik.matcharena.engine.zone.EngineZone
  6743.             angle : Number
  6744.             arrowInstance : class com.meduzik.display.DisplayObject
  6745.             arrowSprite : class com.meduzik.matcharena.game.field.effect.SpriteFieldObject
  6746.         code:
  6747.             block_0:
  6748.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.interactive this
  6749.                 r1 = choice r0 Boolean false true
  6750.                 condbr r1 block_1 block_2
  6751.             block_1:
  6752.                 ret void
  6753.                 br block_2
  6754.             block_2:
  6755.                 r2 = read_cfield com.meduzik.matcharena.game.field.GameField.hintArrow this
  6756.                 r3 = ref_cmp neq r2 (null:class com.meduzik.matcharena.game.field.effect.SpriteFieldObject)
  6757.                 condbr r3 block_3 block_4
  6758.             block_3:
  6759.                 r4 = read_cfield com.meduzik.matcharena.game.field.GameField.hintArrow this
  6760.                 r5 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.onEngineDropsRef r4
  6761.                 r6 = read_cfield com.meduzik.matcharena.game.field.GameField.hintArrow this
  6762.                 r7 = read_cfield com.meduzik.matcharena.game.field.GameField.hintArrow this
  6763.                 r8 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r7 "HintArrowDisappear"
  6764.                 r9 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r6 r8
  6765.                 write_cfield com.meduzik.matcharena.game.field.GameField.hintArrow this (null:class com.meduzik.matcharena.game.field.effect.SpriteFieldObject)
  6766.                 br block_4
  6767.             block_4:
  6768.                 r10 = read_local zone
  6769.                 r11 = ref_cmp neq r10 (null:class com.meduzik.matcharena.engine.zone.EngineZone)
  6770.                 condbr r11 block_5 block_6
  6771.             block_5:
  6772.                 r12 = call_cmethod com.meduzik.matcharena.game.field.GameField.resources this
  6773.                 r13 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.hintArrow r12
  6774.                 r14 = imethod_closure com.meduzik.bundle.display.DisplayTemplate.createInstance r13
  6775.                 r15 = call_dynamic r14
  6776.                 r16 = from_any class com.meduzik.display.DisplayObject r15
  6777.                 write_local arrowInstance r16
  6778.                 r17 = read_local arrowInstance
  6779.                 r18 = call_cmethod com.meduzik.display.DisplayObject.transform r17
  6780.                 r19 = read_local angle
  6781.                 r20 = num_binop Number / r19 180.000000
  6782.                 r21 = read_cfield Math.PI
  6783.                 r22 = num_binop Number * r20 r21
  6784.                 r23 = call_cmethod com.meduzik.math.Transform2D.rotation r18 r22
  6785.                 r24 = read_local arrowInstance
  6786.                 r25 = read_cfield com.meduzik.matcharena.game.field.view.SortLayer.Overlay
  6787.                 r26 = call_cmethod com.meduzik.matcharena.game.field.effect.SpriteFieldObject.Make static r24 r25
  6788.                 write_local arrowSprite r26
  6789.                 r27 = read_local arrowSprite
  6790.                 r28 = class_cast throws r27 com.meduzik.matcharena.game.field.FieldObject
  6791.                 r29 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r28
  6792.                 r30 = read_local arrowSprite
  6793.                 r31 = read_local zone
  6794.                 r32 = read_cfield com.meduzik.matcharena.engine.zone.EngineZone.left r31
  6795.                 r33 = read_local zone
  6796.                 r34 = read_cfield com.meduzik.matcharena.engine.zone.EngineZone.right r33
  6797.                 r35 = num_binop int + r32 r34
  6798.                 r36 = num_binop Number * r35 0.500000
  6799.                 r37 = call_cmethod com.meduzik.matcharena.game.field.GameField.constants this
  6800.                 r38 = read_cfield com.meduzik.matcharena.game.GameConstants.CellSize r37
  6801.                 r39 = num_binop Number * r36 r38
  6802.                 r40 = read_local zone
  6803.                 r41 = read_cfield com.meduzik.matcharena.engine.zone.EngineZone.top r40
  6804.                 r42 = read_local zone
  6805.                 r43 = read_cfield com.meduzik.matcharena.engine.zone.EngineZone.bottom r42
  6806.                 r44 = num_binop int + r41 r43
  6807.                 r45 = num_binop Number * r44 0.500000
  6808.                 r46 = call_cmethod com.meduzik.matcharena.game.field.GameField.constants this
  6809.                 r47 = read_cfield com.meduzik.matcharena.game.GameConstants.CellSize r46
  6810.                 r48 = num_binop Number * r45 r47
  6811.                 r49 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.placeAtPosition r30 r39 r48
  6812.                 r50 = read_local arrowSprite
  6813.                 r51 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r50 "HintArrowAppear"
  6814.                 r52 = read_local arrowSprite
  6815.                 write_cfield com.meduzik.matcharena.game.field.GameField.hintArrow this r52
  6816.                 br block_6
  6817.             block_6:
  6818.     */
  6819.         abort();
  6820. }
  6821. fl::com::meduzik::matcharena::game::field::tile::CellLayerView* GameField::createCoverView(fl::com::meduzik::matcharena::engine::field::cover::Cover* cover){
  6822.     /*
  6823.     main:
  6824.         locals:
  6825.             cover : class com.meduzik.matcharena.engine.field.cover.Cover
  6826.             coverBound : class com.meduzik.matcharena.engine.field.cover.CoverBound
  6827.         code:
  6828.             block_0:
  6829.                 r0 = read_local cover
  6830.                 r1 = class_test r0 com.meduzik.matcharena.engine.field.cover.CoverBound
  6831.                 condbr r1 block_1 block_2
  6832.             block_1:
  6833.                 r2 = read_local cover
  6834.                 r3 = read_local cover
  6835.                 r4 = class_cast throws r2 com.meduzik.matcharena.engine.field.cover.CoverBound
  6836.                 write_local coverBound r4
  6837.                 r5 = read_local coverBound
  6838.                 r6 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.type r5
  6839.                 r7 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_BOUND
  6840.                 r8 = num_cmp eq r6 r7
  6841.                 condbr r8 block_3 block_4
  6842.             block_2:
  6843.             block_3:
  6844.                 r9 = read_cfield com.meduzik.matcharena.game.field.tile.CoverViewBlocker.TYPE_BOUND
  6845.                 r10 = read_local coverBound
  6846.                 r11 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.level r10
  6847.                 r12 = call_cmethod com.meduzik.matcharena.game.field.tile.CoverViewBlocker.Make static r9 r11
  6848.                 r13 = class_cast throws r12 com.meduzik.matcharena.game.field.tile.CellLayerView
  6849.                 ret r13
  6850.                 br block_5
  6851.                 br block_6
  6852.             block_4:
  6853.                 r14 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_HONEY
  6854.                 r15 = num_cmp eq r6 r14
  6855.                 condbr r15 block_6 block_7
  6856.             block_5:
  6857.                 br block_2
  6858.             block_6:
  6859.                 r16 = read_cfield com.meduzik.matcharena.game.field.tile.CoverViewBlocker.TYPE_HONEY
  6860.                 r17 = read_local coverBound
  6861.                 r18 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.level r17
  6862.                 r19 = call_cmethod com.meduzik.matcharena.game.field.tile.CoverViewBlocker.Make static r16 r18
  6863.                 r20 = class_cast throws r19 com.meduzik.matcharena.game.field.tile.CellLayerView
  6864.                 ret r20
  6865.                 br block_5
  6866.                 br block_8
  6867.             block_7:
  6868.                 r21 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_CHOCOLATE
  6869.                 r22 = num_cmp eq r6 r21
  6870.                 condbr r22 block_8 block_9
  6871.             block_8:
  6872.                 r23 = read_cfield com.meduzik.matcharena.game.field.GameField.lavaTiles this
  6873.                 r24 = read_cfield com.meduzik.matcharena.game.field.view.SortLayer.CoverChocolate
  6874.                 r25 = call_cmethod com.meduzik.matcharena.game.field.tile.TiledView.Make static r23 r24
  6875.                 r26 = class_cast throws r25 com.meduzik.matcharena.game.field.tile.CellLayerView
  6876.                 ret r26
  6877.                 br block_5
  6878.                 br block_10
  6879.             block_9:
  6880.                 r27 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_STONE
  6881.                 r28 = num_cmp eq r6 r27
  6882.                 condbr r28 block_10 block_11
  6883.             block_10:
  6884.                 r29 = read_cfield com.meduzik.matcharena.game.field.tile.CoverViewBlocker.TYPE_STONE
  6885.                 r30 = read_local coverBound
  6886.                 r31 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.level r30
  6887.                 r32 = call_cmethod com.meduzik.matcharena.game.field.tile.CoverViewBlocker.Make static r29 r31
  6888.                 r33 = class_cast throws r32 com.meduzik.matcharena.game.field.tile.CellLayerView
  6889.                 ret r33
  6890.                 br block_5
  6891.                 br block_12
  6892.             block_11:
  6893.                 br block_12
  6894.             block_12:
  6895.                 r34 = to_any "unknown engine cover"
  6896.                 r35 = newclass Error r34
  6897.                 throw r35
  6898.                 br block_5
  6899.                 br block_5
  6900.     */
  6901.         abort();
  6902. }
  6903. fl::com::meduzik::matcharena::game::field::tile::CellLayerObject* GameField::createCoverFromEngineCover(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::cover::Cover* cover){
  6904.     /*
  6905.     main:
  6906.         locals:
  6907.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  6908.             cover : class com.meduzik.matcharena.engine.field.cover.Cover
  6909.             coverBound : class com.meduzik.matcharena.engine.field.cover.CoverBound
  6910.         code:
  6911.             block_0:
  6912.                 r0 = read_local cover
  6913.                 r1 = class_test r0 com.meduzik.matcharena.engine.field.cover.CoverBound
  6914.                 condbr r1 block_1 block_2
  6915.             block_1:
  6916.                 r2 = read_local cover
  6917.                 r3 = read_local cover
  6918.                 r4 = class_cast throws r2 com.meduzik.matcharena.engine.field.cover.CoverBound
  6919.                 write_local coverBound r4
  6920.                 r5 = read_local coverBound
  6921.                 r6 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.type r5
  6922.                 r7 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_CHOCOLATE
  6923.                 r8 = num_cmp eq r6 r7
  6924.                 condbr r8 block_3 block_4
  6925.             block_2:
  6926.             block_3:
  6927.                 r9 = read_cfield com.meduzik.matcharena.game.field.GameField.lavaTiles this
  6928.                 r10 = read_cfield com.meduzik.matcharena.game.field.view.SortLayer.CoverChocolate
  6929.                 r11 = call_cmethod com.meduzik.matcharena.game.field.tile.TiledView.Make static r9 r10
  6930.                 r12 = read_cfield com.meduzik.matcharena.game.field.GameField.lavaTiles this
  6931.                 r13 = read_local cell
  6932.                 r14 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r13
  6933.                 r15 = read_local cell
  6934.                 r16 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r15
  6935.                 r17 = call_cmethod com.meduzik.matcharena.game.field.tile.TileRenderer.acquireTile r12 r14 r16
  6936.                 r18 = call_cmethod com.meduzik.matcharena.game.field.tile.TiledObject.Make static r11 r17
  6937.                 r19 = class_cast throws r18 com.meduzik.matcharena.game.field.tile.CellLayerObject
  6938.                 ret r19
  6939.                 br block_5
  6940.                 br block_6
  6941.             block_4:
  6942.                 br block_6
  6943.             block_5:
  6944.                 br block_2
  6945.             block_6:
  6946.                 r20 = read_local cover
  6947.                 r21 = call_cmethod com.meduzik.matcharena.game.field.GameField.createCoverView this r20
  6948.                 r22 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.Make static r21
  6949.                 ret r22
  6950.                 br block_5
  6951.                 br block_5
  6952.     */
  6953.         abort();
  6954. }
  6955. fl::com::meduzik::matcharena::game::field::tile::CellLayerObject* GameField::createTileFromEngineTile(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::tile::Tile* tile){
  6956.     /*
  6957.     main:
  6958.         locals:
  6959.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  6960.             tile : class com.meduzik.matcharena.engine.field.tile.Tile
  6961.             tileGold : class com.meduzik.matcharena.engine.field.tile.TileGold
  6962.             tileIce : class com.meduzik.matcharena.engine.field.tile.IceTile
  6963.             roadTile : class com.meduzik.matcharena.engine.field.tile.RoadTile
  6964.         code:
  6965.             block_0:
  6966.                 r0 = read_local tile
  6967.                 r1 = class_test r0 com.meduzik.matcharena.engine.field.tile.TileGold
  6968.                 condbr r1 block_1 block_2
  6969.             block_1:
  6970.                 r2 = read_local tile
  6971.                 r3 = read_local tile
  6972.                 r4 = class_cast throws r2 com.meduzik.matcharena.engine.field.tile.TileGold
  6973.                 write_local tileGold r4
  6974.                 r5 = read_cfield com.meduzik.matcharena.game.field.GameField.grassTiles this
  6975.                 r6 = read_cfield com.meduzik.matcharena.game.field.view.SortLayer.TileGolden
  6976.                 r7 = call_cmethod com.meduzik.matcharena.game.field.tile.TiledView.Make static r5 r6
  6977.                 r8 = read_cfield com.meduzik.matcharena.game.field.GameField.grassTiles this
  6978.                 r9 = read_local cell
  6979.                 r10 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r9
  6980.                 r11 = read_local cell
  6981.                 r12 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r11
  6982.                 r13 = call_cmethod com.meduzik.matcharena.game.field.tile.TileRenderer.acquireTile r8 r10 r12
  6983.                 r14 = call_cmethod com.meduzik.matcharena.game.field.tile.TiledObject.Make static r7 r13
  6984.                 r15 = class_cast throws r14 com.meduzik.matcharena.game.field.tile.CellLayerObject
  6985.                 ret r15
  6986.                 br block_2
  6987.             block_2:
  6988.     */
  6989.         abort();
  6990. }
  6991. fl::com::meduzik::matcharena::game::field::chip::ChipObject* GameField::createChipFromEngineChip(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
  6992.     /*
  6993.     main:
  6994.         locals:
  6995.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  6996.             chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  6997.         code:
  6998.             block_0:
  6999.                 r0 = read_local chip
  7000.                 r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.createChipBaseFromEngineChip this r0
  7001.                 write_local chipObject r1
  7002.                 r2 = read_local chipObject
  7003.                 ret r2
  7004.     */
  7005.         abort();
  7006. }
  7007. fl::com::meduzik::matcharena::game::field::borders::PlateObject* GameField::createPlateFromEnginePlate(fl::com::meduzik::matcharena::engine::field::EngineBorder* border, fl::com::meduzik::matcharena::engine::field::plate::Plate* plate){
  7008.     /*
  7009.     main:
  7010.         locals:
  7011.             border : class com.meduzik.matcharena.engine.field.EngineBorder
  7012.             plate : class com.meduzik.matcharena.engine.field.plate.Plate
  7013.             plateBlocker : class com.meduzik.matcharena.engine.field.plate.PlateBlocker
  7014.         code:
  7015.             block_0:
  7016.                 r0 = read_local plate
  7017.                 r1 = class_test r0 com.meduzik.matcharena.engine.field.plate.PlateBlocker
  7018.                 condbr r1 block_1 block_2
  7019.             block_1:
  7020.                 r2 = read_local plate
  7021.                 r3 = read_local plate
  7022.                 r4 = class_cast throws r2 com.meduzik.matcharena.engine.field.plate.PlateBlocker
  7023.                 write_local plateBlocker r4
  7024.                 r5 = read_cfield com.meduzik.matcharena.game.field.GameField.plateTiles this
  7025.                 r6 = read_cfield com.meduzik.matcharena.game.field.GameField.plateTiles this
  7026.                 r7 = read_local border
  7027.                 r8 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r7
  7028.                 r9 = call_cmethod com.meduzik.matcharena.game.field.borders.PlateView.Make static r6 r8
  7029.                 r10 = call_cmethod com.meduzik.matcharena.game.field.borders.PlateObject.Make static r5 r9
  7030.                 ret r10
  7031.                 br block_2
  7032.             block_2:
  7033.     */
  7034.         abort();
  7035. }
  7036. fl::com::meduzik::matcharena::game::field::chip::addon::AddonObject* GameField::createAddonFromEngineAddon(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip, fl::com::meduzik::matcharena::game::field::chip::ChipObject* chipObject, fl::com::meduzik::matcharena::engine::field::chip::addon::ChipAddon* addon){
  7037.     /*
  7038.     main:
  7039.         locals:
  7040.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  7041.             chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  7042.             addon : class com.meduzik.matcharena.engine.field.chip.addon.ChipAddon
  7043.         code:
  7044.             block_0:
  7045.                 ret (null:class com.meduzik.matcharena.game.field.chip.addon.AddonObject)
  7046.     */
  7047.         abort();
  7048. }
  7049. fl::com::meduzik::matcharena::game::field::chip::ChipView* GameField::createChipView(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
  7050.     /*
  7051.     main:
  7052.         locals:
  7053.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  7054.             normalChip : class com.meduzik.matcharena.engine.field.chip.NormalChip
  7055.             bombChip : class com.meduzik.matcharena.engine.field.chip.BombChip
  7056.             lineChip : class com.meduzik.matcharena.engine.field.chip.LineChip
  7057.             mineChip : class com.meduzik.matcharena.engine.field.chip.MineChip
  7058.             omniChip : class com.meduzik.matcharena.engine.field.chip.OmniChip
  7059.             tintChip : class com.meduzik.matcharena.engine.field.chip.TintChip
  7060.         code:
  7061.             block_0:
  7062.                 r0 = read_local chip
  7063.                 r1 = class_test r0 com.meduzik.matcharena.engine.field.chip.NormalChip
  7064.                 condbr r1 block_1 block_2
  7065.             block_1:
  7066.                 r2 = read_local chip
  7067.                 r3 = class_cast r2 com.meduzik.matcharena.engine.field.chip.NormalChip
  7068.                 write_local normalChip r3
  7069.                 r4 = read_local normalChip
  7070.                 r5 = call_cmethod com.meduzik.matcharena.engine.field.chip.ColorChip.color r4
  7071.                 r6 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r5
  7072.                 r7 = read_local normalChip
  7073.                 r8 = read_cfield com.meduzik.matcharena.engine.field.chip.MundaneChip.fishy r7
  7074.                 r9 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipViewNormal.Make static r6 r8
  7075.                 r10 = class_cast throws r9 com.meduzik.matcharena.game.field.chip.ChipView
  7076.                 ret r10
  7077.                 br block_2
  7078.             block_2:
  7079.     */
  7080.         abort();
  7081. }
  7082. fl::com::meduzik::matcharena::game::field::chip::ChipObject* GameField::createChipBaseFromEngineChip(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
  7083.     /*
  7084.     main:
  7085.         locals:
  7086.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  7087.         code:
  7088.             block_0:
  7089.                 r0 = read_local chip
  7090.                 r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.createChipView this r0
  7091.                 r2 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.Make static r1
  7092.                 ret r2
  7093.     */
  7094.         abort();
  7095. }
  7096. fl::com::meduzik::matcharena::game::field::cell::CellObject* GameField::getCellMapping(fl::com::meduzik::matcharena::engine::field::EngineCell* cell){
  7097.     /*
  7098.     main:
  7099.         locals:
  7100.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  7101.         code:
  7102.             block_0:
  7103.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
  7104.                 r1 = read_local cell
  7105.                 r2 = read_dynindex r0 r1
  7106.                 r3 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r2
  7107.                 ret r3
  7108.     */
  7109.         abort();
  7110. }
  7111. fl::Object* GameField::getObjectMapping(fl::Object* engineObject){
  7112.     /*
  7113.     main:
  7114.         locals:
  7115.             engineObject : class Object
  7116.         code:
  7117.             block_0:
  7118.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  7119.                 r1 = read_local engineObject
  7120.                 r2 = read_dynindex r0 r1
  7121.                 r3 = to_any r2
  7122.                 ret r3
  7123.     */
  7124.         abort();
  7125. }
  7126. void GameField::onMovesLeftChanged(jfl::Int movesLeft){
  7127.     /*
  7128.     main:
  7129.         locals:
  7130.             movesLeft : int
  7131.         code:
  7132.             block_0:
  7133.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.observer this
  7134.                 r1 = imethod_closure com.meduzik.matcharena.game.GameFieldObserver.onMovesChanged r0
  7135.                 r2 = read_local movesLeft
  7136.                 r3 = call_dynamic r1 this r2
  7137.     */
  7138.         abort();
  7139. }
  7140. jfl::Boolean GameField::onTouched(){
  7141.     /*
  7142.     main:
  7143.         code:
  7144.             block_0:
  7145.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.speech this
  7146.                 r1 = call_cmethod com.meduzik.matcharena.game.field.speech.SpeechManager.onTouched r0
  7147.                 ret r1
  7148.     */
  7149.         abort();
  7150. }
  7151. void GameField::onSpecialGeneratorGenerationBegin(fl::com::meduzik::matcharena::engine::field::generator::SpecialGeneratorState* genState){
  7152.     /*
  7153.     main:
  7154.         locals:
  7155.             genState : class com.meduzik.matcharena.engine.field.generator.SpecialGeneratorState
  7156.         code:
  7157.             block_0:
  7158.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.waveSpawner this
  7159.                 r1 = read_local genState
  7160.                 r2 = call_cmethod com.meduzik.matcharena.game.field.WaveSpawner.beginSpecialGen r0 r1
  7161.     */
  7162.         abort();
  7163. }
  7164. void GameField::onSpecialGeneratorGenerationEnd(){
  7165.     /*
  7166.     main:
  7167.         code:
  7168.             block_0:
  7169.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.waveSpawner this
  7170.                 r1 = call_cmethod com.meduzik.matcharena.game.field.WaveSpawner.end r0
  7171.     */
  7172.         abort();
  7173. }
  7174. void GameField::onAddonDestroyed(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip, fl::com::meduzik::matcharena::engine::field::chip::addon::ChipAddon* addon){
  7175.     /*
  7176.     main:
  7177.         locals:
  7178.             chip : class com.meduzik.matcharena.engine.field.chip.Chip
  7179.             addon : class com.meduzik.matcharena.engine.field.chip.addon.ChipAddon
  7180.             addonObject : class com.meduzik.matcharena.game.field.chip.addon.AddonObject
  7181.         code:
  7182.             block_0:
  7183.                 r0 = read_local addon
  7184.                 r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeAddonEntity this r0
  7185.                 write_local addonObject r1
  7186.                 r2 = read_local addonObject
  7187.                 r3 = ref_cmp neq r2 (null:class com.meduzik.matcharena.game.field.chip.addon.AddonObject)
  7188.                 condbr r3 block_1 block_2
  7189.             block_1:
  7190.                 r4 = read_local addonObject
  7191.                 r5 = read_local addonObject
  7192.                 r6 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r5 "AddonDestroy"
  7193.                 r7 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r4 r6
  7194.                 br block_2
  7195.             block_2:
  7196.     */
  7197.         abort();
  7198. }
  7199. fl::com::meduzik::matcharena::game::GameConstants* GameField::jfl_get_constants(){
  7200.     /*
  7201.     main:
  7202.         code:
  7203.             block_0:
  7204.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField._constants this
  7205.                 ret r0
  7206.     */
  7207.         abort();
  7208. }
  7209. void GameField::jfl_set_constants(fl::com::meduzik::matcharena::game::GameConstants* value){
  7210.     /*
  7211.     main:
  7212.         locals:
  7213.             value : class com.meduzik.matcharena.game.GameConstants
  7214.         code:
  7215.             block_0:
  7216.                 r0 = read_local value
  7217.                 write_cfield com.meduzik.matcharena.game.field.GameField._constants this r0
  7218.     */
  7219.         abort();
  7220. }
  7221. void GameField::setInteractive(jfl::Boolean interactive){
  7222.     /*
  7223.     main:
  7224.         locals:
  7225.             interactive : Boolean
  7226.         code:
  7227.             block_0:
  7228.                 r0 = read_local interactive
  7229.                 write_cfield com.meduzik.matcharena.game.field.GameField.interactive this r0
  7230.                 r1 = read_cfield com.meduzik.matcharena.game.field.GameField._hinter this
  7231.                 r2 = read_local interactive
  7232.                 r3 = call_cmethod com.meduzik.matcharena.game.field.hint.Hinter.setInteractive r1 r2
  7233.                 r4 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
  7234.                 r5 = read_local interactive
  7235.                 r6 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.setInteractive r4 r5
  7236.                 r7 = read_cfield com.meduzik.matcharena.game.field.GameField.interaction this
  7237.                 r8 = read_local interactive
  7238.                 r9 = call_cmethod com.meduzik.matcharena.game.field.GameFieldInteraction.setInteractive r7 r8
  7239.     */
  7240.         abort();
  7241. }
  7242. jfl::Boolean GameField::isTurnInProgress(){
  7243.     /*
  7244.     main:
  7245.         code:
  7246.             block_0:
  7247.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  7248.                 r1 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.state r0
  7249.                 r2 = read_cfield com.meduzik.matcharena.engine.EngineState.Yield
  7250.                 r3 = ref_cmp eq r1 r2
  7251.                 ret r3
  7252.     */
  7253.         abort();
  7254. }
  7255. void GameField::setBot(fl::com::meduzik::matcharena::game::bot::AbstractBot* bot){
  7256.     /*
  7257.     main:
  7258.         locals:
  7259.             bot : class com.meduzik.matcharena.game.bot.AbstractBot
  7260.         code:
  7261.             block_0:
  7262.                 r0 = read_local bot
  7263.                 write_cfield com.meduzik.matcharena.game.field.GameField.bot this r0
  7264.     */
  7265.         abort();
  7266. }
  7267. void GameField::onUIActionAdded(fl::com::meduzik::matcharena::engine::script::uiaction::UIAction* action){
  7268.     /*
  7269.     main:
  7270.         locals:
  7271.             action : class com.meduzik.matcharena.engine.script.uiaction.UIAction
  7272.         code:
  7273.             block_0:
  7274.     */
  7275.         abort();
  7276. }
  7277. void GameField::onUIActionRemoved(fl::com::meduzik::matcharena::engine::script::uiaction::UIAction* action){
  7278.     /*
  7279.     main:
  7280.         locals:
  7281.             action : class com.meduzik.matcharena.engine.script.uiaction.UIAction
  7282.         code:
  7283.             block_0:
  7284.     */
  7285.         abort();
  7286. }
  7287. void GameField::onSpeech(fl::com::meduzik::matcharena::engine::speech::SpeechType* type, fl::com::meduzik::matcharena::engine::speech::SpeechInfo* speechInfo){
  7288.     /*
  7289.     main:
  7290.         locals:
  7291.             type : class com.meduzik.matcharena.engine.speech.SpeechType
  7292.             speechInfo : class com.meduzik.matcharena.engine.speech.SpeechInfo
  7293.         code:
  7294.             block_0:
  7295.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.interactive this
  7296.                 r1 = choice r0 Boolean false true
  7297.                 condbr r1 block_1 block_2
  7298.             block_1:
  7299.                 ret void
  7300.                 br block_2
  7301.             block_2:
  7302.                 r2 = read_local type
  7303.                 r3 = read_cfield com.meduzik.matcharena.engine.speech.SpeechType.Sticky
  7304.                 r4 = ref_cmp eq r2 r3
  7305.                 condbr r4 block_3 block_4
  7306.             block_3:
  7307.                 r5 = read_local speechInfo
  7308.                 r6 = ref_cmp neq r5 (null:class com.meduzik.matcharena.engine.speech.SpeechInfo)
  7309.                 condbr r6 block_5 block_6
  7310.             block_4:
  7311.                 r7 = read_cfield com.meduzik.matcharena.engine.speech.SpeechType.Light
  7312.                 r8 = ref_cmp eq r2 r7
  7313.                 condbr r8 block_7 block_8
  7314.             block_5:
  7315.                 r9 = read_cfield com.meduzik.matcharena.game.field.GameField.speech this
  7316.                 r10 = read_local speechInfo
  7317.                 r11 = call_cmethod com.meduzik.matcharena.game.field.speech.SpeechManager.addSticky r9 r10
  7318.                 br block_6
  7319.             block_6:
  7320.                 br block_9
  7321.                 br block_7
  7322.             block_7:
  7323.                 r12 = read_cfield com.meduzik.matcharena.game.field.GameField.speech this
  7324.                 r13 = read_local speechInfo
  7325.                 r14 = call_cmethod com.meduzik.matcharena.game.field.speech.SpeechManager.addLight r12 r13
  7326.                 br block_9
  7327.                 br block_10
  7328.             block_8:
  7329.                 r15 = read_cfield com.meduzik.matcharena.engine.speech.SpeechType.Modal
  7330.                 r16 = ref_cmp eq r2 r15
  7331.                 condbr r16 block_10 block_11
  7332.             block_9:
  7333.                 r17 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  7334.                 r18 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r17
  7335.             block_10:
  7336.                 r19 = read_cfield com.meduzik.matcharena.game.field.GameField.speech this
  7337.                 r20 = read_local speechInfo
  7338.                 r21 = call_cmethod com.meduzik.matcharena.game.field.speech.SpeechManager.addModal r19 r20
  7339.                 br block_9
  7340.                 br block_9
  7341.             block_11:
  7342.                 br block_9
  7343.     */
  7344.         abort();
  7345. }
  7346. void GameField::onSpeechClear(){
  7347.     /*
  7348.     main:
  7349.         code:
  7350.             block_0:
  7351.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.interactive this
  7352.                 r1 = choice r0 Boolean false true
  7353.                 condbr r1 block_1 block_2
  7354.             block_1:
  7355.                 ret void
  7356.                 br block_2
  7357.             block_2:
  7358.                 r2 = read_cfield com.meduzik.matcharena.game.field.GameField.speech this
  7359.                 r3 = call_cmethod com.meduzik.matcharena.game.field.speech.SpeechManager.clearAll r2
  7360.     */
  7361.         abort();
  7362. }
  7363. void GameField::onHighlight(jfl::Boolean active, fl::com::meduzik::matcharena::engine::field::FieldRegion* highlight){
  7364.     /*
  7365.     main:
  7366.         locals:
  7367.             active : Boolean
  7368.             highlight : class com.meduzik.matcharena.engine.field.FieldRegion
  7369.         code:
  7370.             block_0:
  7371.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.interactive this
  7372.                 r1 = choice r0 Boolean false true
  7373.                 condbr r1 block_1 block_2
  7374.             block_1:
  7375.                 ret void
  7376.                 br block_2
  7377.             block_2:
  7378.                 r2 = read_cfield com.meduzik.matcharena.game.field.GameField.overlay this
  7379.                 r3 = read_local active
  7380.                 r4 = read_local highlight
  7381.                 r5 = call_cmethod com.meduzik.matcharena.game.overlay.GameScreenOverlay.updateHighlight r2 r3 r4
  7382.                 r6 = read_cfield com.meduzik.matcharena.game.field.GameField.observer this
  7383.                 r7 = imethod_closure com.meduzik.matcharena.game.GameFieldObserver.onShowSkipTutorial r6
  7384.                 r8 = read_local active
  7385.                 r9 = call_dynamic r7 r8
  7386.                 r10 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  7387.                 r11 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r10
  7388.     */
  7389.         abort();
  7390. }
  7391. jfl::Boolean GameField::submitCommand(fl::com::meduzik::matcharena::replay::ReplayCommand* command){
  7392.     /*
  7393.     main:
  7394.         locals:
  7395.             command : class com.meduzik.matcharena.replay.ReplayCommand
  7396.             swap : class com.meduzik.matcharena.replay.ReplayCommandSwap
  7397.             special : class com.meduzik.matcharena.replay.ReplayCommandSpecialAction
  7398.         code:
  7399.             block_0:
  7400.                 r0 = read_local command
  7401.                 r1 = class_test r0 com.meduzik.matcharena.replay.ReplayCommandSwap
  7402.                 condbr r1 block_1 block_2
  7403.             block_1:
  7404.                 r2 = read_local command
  7405.                 r3 = read_local command
  7406.                 r4 = class_cast throws r2 com.meduzik.matcharena.replay.ReplayCommandSwap
  7407.                 write_local swap r4
  7408.                 r5 = read_local swap
  7409.                 r6 = read_cfield com.meduzik.matcharena.replay.ReplayCommandSwap.fromRow r5
  7410.                 r7 = read_local swap
  7411.                 r8 = read_cfield com.meduzik.matcharena.replay.ReplayCommandSwap.fromColumn r7
  7412.                 r9 = read_local swap
  7413.                 r10 = read_cfield com.meduzik.matcharena.replay.ReplayCommandSwap.toRow r9
  7414.                 r11 = read_local swap
  7415.                 r12 = read_cfield com.meduzik.matcharena.replay.ReplayCommandSwap.toColumn r11
  7416.                 r13 = call_cmethod com.meduzik.matcharena.game.field.GameField.performSwap this r6 r8 r10 r12
  7417.                 ret r13
  7418.                 br block_2
  7419.             block_2:
  7420.                 ret false
  7421.     */
  7422.         abort();
  7423. }
  7424. void GameField::onCommandExecuted(fl::com::meduzik::matcharena::replay::ReplayCommand* command){
  7425.     /*
  7426.     main:
  7427.         locals:
  7428.             command : class com.meduzik.matcharena.replay.ReplayCommand
  7429.         code:
  7430.             block_0:
  7431.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.observer this
  7432.                 r1 = imethod_closure com.meduzik.matcharena.game.GameFieldObserver.onCommandExecuted r0
  7433.                 r2 = read_local command
  7434.                 r3 = call_dynamic r1 this r2
  7435.     */
  7436.         abort();
  7437. }
  7438. void GameField::onGameOverOutOfMoves(){
  7439.     /*
  7440.     main:
  7441.         code:
  7442.             block_0:
  7443.                 r0 = call_cmethod com.meduzik.matcharena.game.field.GameField.isInteractive this
  7444.                 condbr r0 block_1 block_2
  7445.             block_1:
  7446.                 r1 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  7447.                 r2 = read_cfield com.meduzik.matcharena.engine.Match3Engine.env r1
  7448.                 r3 = read_cfield com.meduzik.matcharena.engine.Match3Environment.allowBuyMoves r2
  7449.             block_2:
  7450.                 r4 = phi Boolean (block_0 -> r0) (block_1 -> r3)
  7451.                 condbr r4 block_3 block_4
  7452.             block_3:
  7453.                 write_cfield com.meduzik.matcharena.game.field.GameField.buyingMoves this true
  7454.                 r5 = read_cfield com.meduzik.matcharena.game.field.GameField.StateWaitForBuyMoves
  7455.                 write_cfield com.meduzik.matcharena.game.field.GameField.state this r5
  7456.                 r6 = read_cfield com.meduzik.matcharena.game.field.GameField.observer this
  7457.                 r7 = imethod_closure com.meduzik.matcharena.game.GameFieldObserver.onShowBuyMovesDialog r6
  7458.                 r8 = cmethod_closure com.meduzik.matcharena.game.field.GameField.onBuyMovesBought this
  7459.                 r9 = cmethod_closure com.meduzik.matcharena.game.field.GameField.onBuyMovesCanceled this
  7460.                 r10 = call_dynamic r7 r8 r9
  7461.                 r11 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  7462.                 r12 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r11
  7463.                 br block_4
  7464.             block_4:
  7465.     */
  7466.         abort();
  7467. }
  7468. void GameField::onBuyMovesBought(jfl::Int count){
  7469.     /*
  7470.     main:
  7471.         locals:
  7472.             count : int
  7473.         code:
  7474.             block_0:
  7475.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.record this
  7476.                 r1 = call_cmethod com.meduzik.matcharena.game.field.state.GamePlayRecord.blockUndo r0
  7477.                 r2 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  7478.                 r3 = read_local count
  7479.                 r4 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.addExtraMoves r2 r3
  7480.                 write_cfield com.meduzik.matcharena.game.field.GameField.buyingMoves this false
  7481.     */
  7482.         abort();
  7483. }
  7484. void GameField::onBuyMovesCanceled(){
  7485.     /*
  7486.     main:
  7487.         code:
  7488.             block_0:
  7489.                 write_cfield com.meduzik.matcharena.game.field.GameField.buyingMoves this false
  7490.     */
  7491.         abort();
  7492. }
  7493. void GameField::onGameOverGoalReached(){
  7494.     /*
  7495.     main:
  7496.         code:
  7497.             block_0:
  7498.     */
  7499.         abort();
  7500. }
  7501. void GameField::onGameOverNoMoreReshuffles(){
  7502.     /*
  7503.     main:
  7504.         code:
  7505.             block_0:
  7506.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.shoutouts this
  7507.                 r1 = call_cmethod com.meduzik.matcharena.game.field.shoutout.ShoutoutController.startShoutout r0 "NoReshuffle"
  7508.                 condbr r1 block_1 block_2
  7509.             block_1:
  7510.                 r2 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  7511.                 r3 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r2
  7512.                 br block_2
  7513.             block_2:
  7514.     */
  7515.         abort();
  7516. }
  7517. void GameField::onArenaSplashBegin(jfl::Boolean needArenaSplash){
  7518.     /*
  7519.     main:
  7520.         locals:
  7521.             needArenaSplash : Boolean
  7522.         code:
  7523.             block_0:
  7524.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
  7525.                 r1 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.raise r0 "arena_splash" 1.000000
  7526.                 r2 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r1
  7527.                 r3 = read_local needArenaSplash
  7528.                 condbr r3 block_1 block_2
  7529.             block_1:
  7530.                 r4 = read_cfield com.meduzik.matcharena.game.field.GameField.shoutouts this
  7531.                 r5 = call_cmethod com.meduzik.matcharena.game.field.shoutout.ShoutoutController.startShoutout r4 "ArenaSplash"
  7532.                 condbr r5 block_3 block_4
  7533.             block_2:
  7534.             block_3:
  7535.                 r6 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  7536.                 r7 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r6
  7537.                 br block_4
  7538.             block_4:
  7539.                 br block_2
  7540.     */
  7541.         abort();
  7542. }
  7543. jfl::Boolean GameField::isInteractive(){
  7544.     /*
  7545.     main:
  7546.         code:
  7547.             block_0:
  7548.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.interactive this
  7549.                 ret r0
  7550.     */
  7551.         abort();
  7552. }
  7553. void GameField::onGameOver(){
  7554.     /*
  7555.     main:
  7556.         code:
  7557.             block_0:
  7558.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.record this
  7559.                 r1 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  7560.                 r2 = read_cfield com.meduzik.matcharena.engine.Match3Engine.turn r1
  7561.                 r3 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  7562.                 r4 = read_cfield com.meduzik.matcharena.engine.Match3Engine.score r3
  7563.                 r5 = call_cmethod com.meduzik.matcharena.game.field.state.GamePlayRecord.setScoreAtTurn r0 r2 r4
  7564.                 r6 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  7565.                 r7 = read_cfield com.meduzik.matcharena.engine.Match3Engine.env r6
  7566.                 r8 = read_cfield com.meduzik.matcharena.engine.Match3Environment.scoreGoal r7
  7567.                 r9 = num_cast Number r8
  7568.                 r10 = num_cmp gt r9 0.000000
  7569.                 condbr r10 block_1 block_2
  7570.             block_1:
  7571.                 r11 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  7572.                 r12 = read_cfield com.meduzik.matcharena.engine.Match3Engine.score r11
  7573.                 r13 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  7574.                 r14 = read_cfield com.meduzik.matcharena.engine.Match3Engine.env r13
  7575.                 r15 = read_cfield com.meduzik.matcharena.engine.Match3Environment.scoreGoal r14
  7576.                 r16 = num_cast Number r15
  7577.                 r17 = num_cast Number r12
  7578.                 r18 = num_cmp lt r17 r16
  7579.             block_2:
  7580.                 r19 = phi Boolean (block_0 -> r10) (block_1 -> r18)
  7581.                 condbr r19 block_3 block_4
  7582.             block_3:
  7583.                 ret void
  7584.                 br block_4
  7585.             block_4:
  7586.                 r20 = read_cfield com.meduzik.matcharena.game.field.GameField.shoutouts this
  7587.                 r21 = call_cmethod com.meduzik.matcharena.game.field.shoutout.ShoutoutController.startShoutout r20 "WellDone"
  7588.                 condbr r21 block_5 block_6
  7589.             block_5:
  7590.                 r22 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  7591.                 r23 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r22
  7592.                 br block_6
  7593.             block_6:
  7594.     */
  7595.         abort();
  7596. }
  7597. jfl::Boolean GameField::isEnded(){
  7598.     /*
  7599.     main:
  7600.         code:
  7601.             block_0:
  7602.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.state this
  7603.                 r1 = read_cfield com.meduzik.matcharena.game.field.GameField.StateEnded
  7604.                 r2 = num_cmp eq r0 r1
  7605.                 ret r2
  7606.     */
  7607.         abort();
  7608. }
  7609. void GameField::onShowTutorialDialog(jfl::String* symbol, jfl::String* text){
  7610.     /*
  7611.     main:
  7612.         locals:
  7613.             symbol : class String
  7614.             text : class String
  7615.         code:
  7616.             block_0:
  7617.                 r0 = call_cmethod com.meduzik.matcharena.game.field.GameField.isInteractive this
  7618.                 condbr r0 block_1 block_2
  7619.             block_1:
  7620.                 r1 = read_cfield com.meduzik.matcharena.game.field.GameField.observer this
  7621.                 r2 = imethod_closure com.meduzik.matcharena.game.GameFieldObserver.onShowTutorialDialog r1
  7622.                 r3 = read_local symbol
  7623.                 r4 = read_local text
  7624.                 r5 = call_dynamic r2 r3 r4
  7625.                 br block_2
  7626.             block_2:
  7627.     */
  7628.         abort();
  7629. }
  7630. void GameField::onMissileHitBegin(fl::com::meduzik::matcharena::engine::trigger::MissileTrigger* missileTrigger, fl::com::meduzik::matcharena::engine::field::EngineCell* target){
  7631.     /*
  7632.     main:
  7633.         locals:
  7634.             missileTrigger : class com.meduzik.matcharena.engine.trigger.MissileTrigger
  7635.             target : class com.meduzik.matcharena.engine.field.EngineCell
  7636.             missile : class com.meduzik.matcharena.game.field.effect.Missile
  7637.         code:
  7638.             block_0:
  7639.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  7640.                 r1 = read_local missileTrigger
  7641.                 r2 = read_dynindex r0 r1
  7642.                 r3 = from_any class com.meduzik.matcharena.game.field.effect.Missile r2
  7643.                 write_local missile r3
  7644.                 r4 = read_local missile
  7645.                 r5 = call_cmethod com.meduzik.matcharena.game.field.effect.Missile.removeTrigger r4
  7646.                 r6 = read_local missile
  7647.                 r7 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.onEngineDropsRef r6
  7648.     */
  7649.         abort();
  7650. }
  7651. void GameField::onMissileHitEnd(){
  7652.     /*
  7653.     main:
  7654.         code:
  7655.             block_0:
  7656.     */
  7657.         abort();
  7658. }
  7659. void GameField::onMissileLaunched(fl::com::meduzik::matcharena::engine::trigger::MissileTrigger* trigger){
  7660.     /*
  7661.     main:
  7662.         locals:
  7663.             trigger : class com.meduzik.matcharena.engine.trigger.MissileTrigger
  7664.             flyTime : Number
  7665.             missile : class com.meduzik.matcharena.game.field.effect.Missile
  7666.         code:
  7667.             block_0:
  7668.                 r0 = read_local trigger
  7669.                 r1 = read_cfield com.meduzik.matcharena.engine.trigger.MissileTrigger.flyTime r0
  7670.                 r2 = read_cfield com.meduzik.matcharena.engine.EngineConstants.TicksPerSec
  7671.                 r3 = num_binop int / r1 r2
  7672.                 r4 = num_cast Number r3
  7673.                 write_local flyTime r4
  7674.                 r5 = read_local trigger
  7675.                 r6 = to_any r5
  7676.                 r7 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r6
  7677.                 r8 = from_any class com.meduzik.matcharena.game.field.effect.Missile r7
  7678.                 write_local missile r8
  7679.                 r9 = read_local missile
  7680.                 r10 = call_cmethod com.meduzik.matcharena.game.field.effect.Missile.launch r9
  7681.     */
  7682.         abort();
  7683. }
  7684. void GameField::onMissileCreated(fl::com::meduzik::matcharena::engine::trigger::MissileTrigger* trigger, jfl::Int order, jfl::Int total){
  7685.     /*
  7686.     main:
  7687.         locals:
  7688.             trigger : class com.meduzik.matcharena.engine.trigger.MissileTrigger
  7689.             order : int
  7690.             total : int
  7691.             delayTime : Number
  7692.             sourceChip : class com.meduzik.matcharena.game.field.chip.ChipObject
  7693.             missile : class com.meduzik.matcharena.game.field.effect.Missile
  7694.             oldChipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  7695.             regularChip : class com.meduzik.matcharena.engine.field.chip.NormalChip
  7696.             newChipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  7697.         code:
  7698.             block_0:
  7699.                 r0 = read_local trigger
  7700.                 r1 = read_cfield com.meduzik.matcharena.engine.trigger.MissileTrigger.delayTime r0
  7701.                 r2 = read_cfield com.meduzik.matcharena.engine.EngineConstants.TicksPerSec
  7702.                 r3 = num_binop int / r1 r2
  7703.                 r4 = num_cast Number r3
  7704.                 write_local delayTime r4
  7705.                 r5 = read_local trigger
  7706.                 r6 = read_cfield com.meduzik.matcharena.engine.trigger.MissileTrigger.source r5
  7707.                 r7 = to_any r6
  7708.                 r8 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r7
  7709.                 r9 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r8
  7710.                 write_local sourceChip r9
  7711.                 r10 = read_local trigger
  7712.                 r11 = read_local sourceChip
  7713.                 r12 = read_local trigger
  7714.                 r13 = read_cfield com.meduzik.matcharena.engine.trigger.MissileTrigger.color r12
  7715.                 r14 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r13
  7716.                 r15 = read_local delayTime
  7717.                 r16 = call_cmethod com.meduzik.matcharena.game.field.effect.Missile.Make static this r10 r11 r14 r15
  7718.                 write_local missile r16
  7719.                 r17 = read_local missile
  7720.                 r18 = class_cast throws r17 com.meduzik.matcharena.game.field.FieldObject
  7721.                 r19 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r18
  7722.                 r20 = read_local missile
  7723.                 r21 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r20 "MissileStart"
  7724.                 r22 = call_cmethod com.meduzik.matcharena.game.field.GameField.resources this
  7725.                 r23 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.missileLaunch r22
  7726.                 r24 = call_cmethod com.meduzik.matcharena.game.field.GameField.createEffect this r23
  7727.                 r25 = read_local sourceChip
  7728.                 r26 = class_cast throws r25 com.meduzik.matcharena.game.field.FieldObject
  7729.                 r27 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.attachToObject r24 r26
  7730.                 r28 = read_local sourceChip
  7731.                 r29 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.getColor r28
  7732.                 r30 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.paint r27 r29
  7733.                 r31 = read_local trigger
  7734.                 r32 = read_cfield com.meduzik.matcharena.engine.trigger.MissileTrigger.source r31
  7735.                 r33 = class_test r32 com.meduzik.matcharena.engine.field.chip.MineChip
  7736.                 condbr r33 block_1 block_2
  7737.             block_1:
  7738.                 r34 = read_local sourceChip
  7739.                 r35 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.view r34
  7740.                 r36 = class_test r35 com.meduzik.matcharena.game.field.chip.ChipViewMine
  7741.             block_2:
  7742.                 r37 = phi Boolean (block_0 -> r33) (block_1 -> r36)
  7743.                 condbr r37 block_3 block_4
  7744.             block_3:
  7745.                 r38 = read_local sourceChip
  7746.                 write_local oldChipObject r38
  7747.                 r39 = call_cmethod com.meduzik.matcharena.engine.field.chip.NormalChip.Make static
  7748.                 write_local regularChip r39
  7749.                 r40 = read_local regularChip
  7750.                 r41 = read_local trigger
  7751.                 r42 = read_cfield com.meduzik.matcharena.engine.trigger.MissileTrigger.source r41
  7752.                 r43 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.getColor r42
  7753.                 r44 = call_cmethod com.meduzik.matcharena.engine.field.chip.ColorChip.withColor r40 r43
  7754.                 r45 = read_local trigger
  7755.                 r46 = read_cfield com.meduzik.matcharena.engine.trigger.MissileTrigger.source r45
  7756.                 r47 = read_local trigger
  7757.                 r48 = read_cfield com.meduzik.matcharena.engine.trigger.MissileTrigger.source r47
  7758.                 r49 = class_cast throws r46 com.meduzik.matcharena.engine.field.chip.MineChip
  7759.                 r50 = read_cfield com.meduzik.matcharena.engine.field.chip.MundaneChip.fishy r49
  7760.                 condbr r50 block_5 block_6
  7761.             block_4:
  7762.                 r51 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
  7763.                 r52 = read_local trigger
  7764.                 r53 = read_local missile
  7765.                 r54 = to_any r53
  7766.                 write_dynindex r51 r52
  7767.             block_5:
  7768.                 r55 = read_local regularChip
  7769.                 r56 = call_cmethod com.meduzik.matcharena.engine.field.chip.MundaneChip.makeFishy r55
  7770.                 br block_6
  7771.             block_6:
  7772.                 r57 = read_local regularChip
  7773.                 r58 = class_cast throws r57 com.meduzik.matcharena.engine.field.chip.Chip
  7774.                 r59 = call_cmethod com.meduzik.matcharena.game.field.GameField.createChipFromEngineChip this r58
  7775.                 write_local newChipObject r59
  7776.                 r60 = read_local newChipObject
  7777.                 r61 = class_cast throws r60 com.meduzik.matcharena.game.field.FieldObject
  7778.                 r62 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r61
  7779.                 r63 = read_local newChipObject
  7780.                 r64 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.onEngineDropsRef r63
  7781.                 r65 = read_local regularChip
  7782.                 r66 = call_cmethod com.meduzik.matcharena.engine.field.chip.NormalChip.dispose r65
  7783.                 r67 = read_local newChipObject
  7784.                 r68 = read_local newChipObject
  7785.                 r69 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r68 "MineBecomesRegular"
  7786.                 r70 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r67 r69
  7787.                 r71 = read_local oldChipObject
  7788.                 r72 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r71
  7789.                 r73 = ref_cmp neq r72 (null:class com.meduzik.fx.combinators.FXWrap)
  7790.                 r74 = choice r73 Boolean false true
  7791.                 condbr r74 block_7 block_8
  7792.             block_7:
  7793.                 r75 = read_local oldChipObject
  7794.                 r76 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r75 "RegularAppearFromMine"
  7795.                 br block_8
  7796.             block_8:
  7797.                 r77 = read_local newChipObject
  7798.                 r78 = read_local oldChipObject
  7799.                 r79 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.inheritFrom r77 r78
  7800.                 r80 = read_local newChipObject
  7801.                 r81 = read_local oldChipObject
  7802.                 r82 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.swapViewWith r80 r81
  7803.                 r83 = read_local oldChipObject
  7804.                 r84 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.bringToFront r83
  7805.                 br block_4
  7806.     */
  7807.         abort();
  7808. }
  7809. void GameField::onTaskScoreChanged(fl::com::meduzik::matcharena::engine::goal::task::GoalTask* task, jfl::Object* source, fl::com::meduzik::matcharena::engine::goal::GoalEvent* reason){
  7810.     /*
  7811.     main:
  7812.         locals:
  7813.             task : class com.meduzik.matcharena.engine.goal.task.GoalTask
  7814.             source : *
  7815.             reason : class com.meduzik.matcharena.engine.goal.GoalEvent
  7816.             sourceObject : *
  7817.             object : class com.meduzik.matcharena.game.field.FieldObject
  7818.         code:
  7819.             block_0:
  7820.                 r0 = read_local source
  7821.                 write_local sourceObject r0
  7822.                 r1 = read_local source
  7823.                 r2 = dyn_type_test r1 class com.meduzik.matcharena.engine.combo.ComboInstance
  7824.                 condbr r2 block_1 block_2
  7825.             block_1:
  7826.                 r3 = read_local source
  7827.                 r4 = read_local source
  7828.                 r5 = from_any class com.meduzik.matcharena.engine.combo.ComboInstance r3
  7829.                 r6 = read_cfield com.meduzik.matcharena.engine.combo.ComboInstance.primary r5
  7830.                 r7 = to_any r6
  7831.                 write_local sourceObject r7
  7832.                 br block_2
  7833.             block_2:
  7834.                 r8 = read_cfield com.meduzik.matcharena.game.field.GameField.taskObserver this
  7835.                 r9 = ref_cmp neq r8 (null:interface com.meduzik.matcharena.game.info.ITaskObserver)
  7836.                 condbr r9 block_3 block_4
  7837.             block_3:
  7838.                 r10 = read_local sourceObject
  7839.                 r11 = to_any r10
  7840.                 r12 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r11
  7841.                 r13 = from_any class com.meduzik.matcharena.game.field.FieldObject r12
  7842.                 write_local object r13
  7843.                 r14 = read_local object
  7844.                 r15 = ref_cmp neq r14 (null:class com.meduzik.matcharena.game.field.FieldObject)
  7845.                 condbr r15 block_5 block_6
  7846.             block_4:
  7847.             block_5:
  7848.                 r16 = read_cfield com.meduzik.matcharena.game.field.GameField.taskObserver this
  7849.                 r17 = imethod_closure com.meduzik.matcharena.game.info.ITaskObserver.onTaskProgress r16
  7850.                 r18 = read_local task
  7851.                 r19 = read_cfield com.meduzik.matcharena.game.field.GameField.pickup this
  7852.                 r20 = imethod_closure com.meduzik.matcharena.game.field.pickup.IPickupController.calculatePickupTime r19
  7853.                 r21 = read_local object
  7854.                 r22 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r21
  7855.                 r23 = read_local object
  7856.                 r24 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r23
  7857.                 r25 = call_dynamic r20 this r22 r24
  7858.                 r26 = call_dynamic r17 r18 r25
  7859.                 br block_6
  7860.             block_6:
  7861.                 br block_4
  7862.     */
  7863.         abort();
  7864. }
  7865. void GameField::onTaskAdded(fl::com::meduzik::matcharena::engine::goal::task::GoalTask* task){
  7866.     /*
  7867.     main:
  7868.         locals:
  7869.             task : class com.meduzik.matcharena.engine.goal.task.GoalTask
  7870.         code:
  7871.             block_0:
  7872.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.taskObserver this
  7873.                 r1 = ref_cmp neq r0 (null:interface com.meduzik.matcharena.game.info.ITaskObserver)
  7874.                 condbr r1 block_1 block_2
  7875.             block_1:
  7876.                 r2 = read_cfield com.meduzik.matcharena.game.field.GameField.taskObserver this
  7877.                 r3 = imethod_closure com.meduzik.matcharena.game.info.ITaskObserver.onTaskAdded r2
  7878.                 r4 = read_local task
  7879.                 r5 = call_dynamic r3 r4
  7880.                 br block_2
  7881.             block_2:
  7882.     */
  7883.         abort();
  7884. }
  7885. void GameField::onTaskRemoved(fl::com::meduzik::matcharena::engine::goal::task::GoalTask* task){
  7886.     /*
  7887.     main:
  7888.         locals:
  7889.             task : class com.meduzik.matcharena.engine.goal.task.GoalTask
  7890.         code:
  7891.             block_0:
  7892.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.taskObserver this
  7893.                 r1 = ref_cmp neq r0 (null:interface com.meduzik.matcharena.game.info.ITaskObserver)
  7894.                 condbr r1 block_1 block_2
  7895.             block_1:
  7896.                 r2 = read_cfield com.meduzik.matcharena.game.field.GameField.taskObserver this
  7897.                 r3 = imethod_closure com.meduzik.matcharena.game.info.ITaskObserver.onTaskRemoved r2
  7898.                 r4 = read_local task
  7899.                 r5 = call_dynamic r3 r4
  7900.                 br block_2
  7901.             block_2:
  7902.     */
  7903.         abort();
  7904. }
  7905. void GameField::onFossilCollected(fl::com::meduzik::matcharena::engine::field::fossils::Fossil* fossil){
  7906.     /*
  7907.     main:
  7908.         locals:
  7909.             fossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
  7910.             fossilObject : class com.meduzik.matcharena.game.field.fossil.FossilObject
  7911.         code:
  7912.             block_0:
  7913.                 r0 = read_local fossil
  7914.                 r1 = to_any r0
  7915.                 r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r1
  7916.                 r3 = from_any class com.meduzik.matcharena.game.field.fossil.FossilObject r2
  7917.                 write_local fossilObject r3
  7918.                 r4 = read_local fossilObject
  7919.                 r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.fossil.FossilObject)
  7920.                 condbr r5 block_1 block_2
  7921.             block_1:
  7922.                 r6 = read_local fossilObject
  7923.                 r7 = read_local fossilObject
  7924.                 r8 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r7 "FossilCollected"
  7925.                 r9 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r6 r8
  7926.                 br block_2
  7927.             block_2:
  7928.                 r10 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
  7929.                 r11 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.raise r10 "fossil_collected" 1.000000
  7930.                 r12 = read_local fossil
  7931.                 r13 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.type r12
  7932.                 r14 = call_cmethod com.meduzik.matcharena.level.fossil.FossilType.score r13
  7933.                 r15 = box class int r14
  7934.                 r16 = to_any r15
  7935.                 r17 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r11 "score" r16
  7936.                 r18 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r17
  7937.     */
  7938.         abort();
  7939. }
  7940. void GameField::onBeginFossilExtraction(fl::com::meduzik::matcharena::engine::field::fossils::Fossil* fossil){
  7941.     /*
  7942.     main:
  7943.         locals:
  7944.             fossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
  7945.         code:
  7946.             block_0:
  7947.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  7948.                 r1 = read_cfield com.meduzik.matcharena.game.EventContext.FOSSIL_EXTRACT
  7949.                 r2 = call_cmethod com.meduzik.matcharena.game.EventContext.begin r0 r1
  7950.     */
  7951.         abort();
  7952. }
  7953. void GameField::onEndFossilExtraction(fl::com::meduzik::matcharena::engine::field::fossils::Fossil* fossil){
  7954.     /*
  7955.     main:
  7956.         locals:
  7957.             fossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
  7958.         code:
  7959.             block_0:
  7960.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
  7961.                 r1 = call_cmethod com.meduzik.matcharena.game.EventContext.end r0
  7962.                 r2 = read_local fossil
  7963.                 r3 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateFossilArea this r2
  7964.                 r4 = read_local fossil
  7965.                 r5 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeFossilEntity this r4
  7966.     */
  7967.         abort();
  7968. }
  7969. void GameField::updateFossilArea(fl::com::meduzik::matcharena::engine::field::fossils::Fossil* fossil){
  7970.     /*
  7971.     main:
  7972.         locals:
  7973.             fossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
  7974.             row : int
  7975.             column : int
  7976.         code:
  7977.             block_0:
  7978.                 r0 = read_local fossil
  7979.                 r1 = ref_cmp neq r0 (null:class com.meduzik.matcharena.engine.field.fossils.Fossil)
  7980.                 r2 = choice r1 Boolean false true
  7981.                 condbr r2 block_1 block_2
  7982.             block_1:
  7983.                 ret void
  7984.                 br block_2
  7985.             block_2:
  7986.                 r3 = read_local fossil
  7987.                 r4 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.minRow r3
  7988.                 write_local row r4
  7989.                 br block_3
  7990.             block_3:
  7991.                 r5 = read_local row
  7992.                 r6 = read_local fossil
  7993.                 r7 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.maxRow r6
  7994.                 r8 = num_cast Number r7
  7995.                 r9 = num_cast Number r5
  7996.                 r10 = num_cmp le r9 r8
  7997.                 condbr r10 block_4 block_5
  7998.             block_4:
  7999.                 r11 = read_local fossil
  8000.                 r12 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.minColumn r11
  8001.                 write_local column r12
  8002.                 br block_6
  8003.             block_5:
  8004.             block_6:
  8005.                 r13 = read_local column
  8006.                 r14 = read_local fossil
  8007.                 r15 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.maxColumn r14
  8008.                 r16 = num_cast Number r15
  8009.                 r17 = num_cast Number r13
  8010.                 r18 = num_cmp le r17 r16
  8011.                 condbr r18 block_7 block_8
  8012.             block_7:
  8013.                 r19 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  8014.                 r20 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r19
  8015.                 r21 = read_local row
  8016.                 r22 = read_local column
  8017.                 r23 = call_cmethod com.meduzik.matcharena.engine.field.Field.getAnyCell r20 r21 r22
  8018.                 r24 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateCell this r23
  8019.                 br block_9
  8020.             block_8:
  8021.                 br block_10
  8022.             block_9:
  8023.                 r25 = read_local column
  8024.                 r26 = num_binop int + r25 1.000000
  8025.                 write_local column r26
  8026.                 br block_6
  8027.             block_10:
  8028.                 r27 = read_local row
  8029.                 r28 = num_binop int + r27 1.000000
  8030.                 write_local row r28
  8031.                 br block_3
  8032.     */
  8033.         abort();
  8034. }
  8035. fl::com::meduzik::matcharena::game::field::fossil::FossilObject* GameField::projectFossil(fl::com::meduzik::matcharena::engine::field::fossils::Fossil* fossil){
  8036.     /*
  8037.     main:
  8038.         locals:
  8039.             fossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
  8040.             minRow : int
  8041.             maxRow : int
  8042.             minColumn : int
  8043.             maxColumn : int
  8044.             fossilObject : class com.meduzik.matcharena.game.field.fossil.FossilObject
  8045.             row : int
  8046.             column : int
  8047.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  8048.         code:
  8049.             block_0:
  8050.                 r0 = read_local fossil
  8051.                 r1 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.row r0
  8052.                 r2 = read_local fossil
  8053.                 r3 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.type r2
  8054.                 r4 = read_local fossil
  8055.                 r5 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.rotation r4
  8056.                 r6 = call_cmethod com.meduzik.matcharena.level.fossil.FossilType.getMinRow r3 r5
  8057.                 r7 = num_binop int + r1 r6
  8058.                 write_local minRow r7
  8059.                 r8 = read_local fossil
  8060.                 r9 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.row r8
  8061.                 r10 = read_local fossil
  8062.                 r11 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.type r10
  8063.                 r12 = read_local fossil
  8064.                 r13 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.rotation r12
  8065.                 r14 = call_cmethod com.meduzik.matcharena.level.fossil.FossilType.getMaxRow r11 r13
  8066.                 r15 = num_binop int + r9 r14
  8067.                 write_local maxRow r15
  8068.                 r16 = read_local fossil
  8069.                 r17 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.column r16
  8070.                 r18 = read_local fossil
  8071.                 r19 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.type r18
  8072.                 r20 = read_local fossil
  8073.                 r21 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.rotation r20
  8074.                 r22 = call_cmethod com.meduzik.matcharena.level.fossil.FossilType.getMinColumn r19 r21
  8075.                 r23 = num_binop int + r17 r22
  8076.                 write_local minColumn r23
  8077.                 r24 = read_local fossil
  8078.                 r25 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.column r24
  8079.                 r26 = read_local fossil
  8080.                 r27 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.type r26
  8081.                 r28 = read_local fossil
  8082.                 r29 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.rotation r28
  8083.                 r30 = call_cmethod com.meduzik.matcharena.level.fossil.FossilType.getMaxColumn r27 r29
  8084.                 r31 = num_binop int + r25 r30
  8085.                 write_local maxColumn r31
  8086.                 r32 = read_local minRow
  8087.                 write_local row r32
  8088.                 br block_1
  8089.             block_1:
  8090.                 r33 = read_local row
  8091.                 r34 = read_local maxRow
  8092.                 r35 = num_cast Number r34
  8093.                 r36 = num_cast Number r33
  8094.                 r37 = num_cmp le r36 r35
  8095.                 condbr r37 block_2 block_3
  8096.             block_2:
  8097.                 r38 = read_local minColumn
  8098.                 write_local column r38
  8099.                 br block_4
  8100.             block_3:
  8101.                 r39 = read_local fossilObject
  8102.                 ret r39
  8103.             block_4:
  8104.                 r40 = read_local column
  8105.                 r41 = read_local maxColumn
  8106.                 r42 = num_cast Number r41
  8107.                 r43 = num_cast Number r40
  8108.                 r44 = num_cmp le r43 r42
  8109.                 condbr r44 block_5 block_6
  8110.             block_5:
  8111.                 r45 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
  8112.                 r46 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r45
  8113.                 r47 = read_local row
  8114.                 r48 = read_local column
  8115.                 r49 = call_cmethod com.meduzik.matcharena.engine.field.Field.getAnyCell r46 r47 r48
  8116.                 write_local cell r49
  8117.                 r50 = read_local cell
  8118.                 r51 = call_cmethod com.meduzik.matcharena.game.field.GameField.getCellMapping this r50
  8119.                 r52 = ref_cmp neq r51 (null:class com.meduzik.matcharena.game.field.cell.CellObject)
  8120.                 condbr r52 block_7 block_8
  8121.             block_6:
  8122.                 br block_9
  8123.             block_7:
  8124.                 r53 = read_local fossil
  8125.                 r54 = call_cmethod com.meduzik.matcharena.game.field.GameField.loadFossil this r53
  8126.                 write_local fossilObject r54
  8127.                 br block_8
  8128.             block_8:
  8129.                 br block_10
  8130.             block_9:
  8131.                 r55 = read_local row
  8132.                 r56 = num_binop int + r55 1.000000
  8133.                 write_local row r56
  8134.                 br block_1
  8135.             block_10:
  8136.                 r57 = read_local column
  8137.                 r58 = num_binop int + r57 1.000000
  8138.                 write_local column r58
  8139.                 br block_4
  8140.     */
  8141.         abort();
  8142. }
  8143. void GameField::updateLoadedFrame(fl::com::meduzik::matcharena::level::FieldFrame* frame){
  8144.     /*
  8145.     main:
  8146.         locals:
  8147.             frame : class com.meduzik.matcharena.level.FieldFrame
  8148.         code:
  8149.             block_0:
  8150.     */
  8151.         abort();
  8152. }
  8153. void GameField::onCharacterEats(fl::com::meduzik::matcharena::engine::field::chip::CharacterChip* characterChip, fl::com::meduzik::matcharena::engine::field::chip::FoodChip* food, jfl::Int foodConsumeTime){
  8154.     /*
  8155.     main:
  8156.         locals:
  8157.             characterChip : class com.meduzik.matcharena.engine.field.chip.CharacterChip
  8158.             food : class com.meduzik.matcharena.engine.field.chip.FoodChip
  8159.             foodConsumeTime : int
  8160.             chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  8161.             foodObject : class com.meduzik.matcharena.game.field.chip.ChipObject
  8162.         code:
  8163.             block_0:
  8164.                 r0 = read_local characterChip
  8165.                 r1 = to_any r0
  8166.                 r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r1
  8167.                 r3 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r2
  8168.                 write_local chipObject r3
  8169.                 r4 = read_local chipObject
  8170.                 r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
  8171.                 condbr r5 block_1 block_2
  8172.             block_1:
  8173.                 r6 = read_local chipObject
  8174.                 r7 = read_local foodConsumeTime
  8175.                 r8 = call_cmethod com.meduzik.matcharena.game.field.GameField.getTimestampDelta this r7
  8176.                 r9 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithNumber r6 "CharacterEats" r8
  8177.                 br block_2
  8178.             block_2:
  8179.                 r10 = read_local food
  8180.                 r11 = to_any r10
  8181.                 r12 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r11
  8182.                 r13 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r12
  8183.                 write_local foodObject r13
  8184.                 r14 = read_local foodObject
  8185.                 r15 = ref_cmp neq r14 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
  8186.                 condbr r15 block_3 block_4
  8187.             block_3:
  8188.                 r16 = read_local chipObject
  8189.                 r17 = ref_cmp neq r16 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
  8190.             block_4:
  8191.                 r18 = phi Boolean (block_2 -> r15) (block_3 -> r17)
  8192.                 condbr r18 block_5 block_6
  8193.             block_5:
  8194.                 r19 = read_local foodObject
  8195.                 r20 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.view r19
  8196.                 r21 = read_local foodObject
  8197.                 r22 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.view r21
  8198.                 r23 = class_cast throws r20 com.meduzik.matcharena.game.field.chip.ChipViewFood
  8199.                 r24 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipViewFood.onConsumed r23
  8200.                 r25 = read_local foodObject
  8201.                 r26 = read_local foodObject
  8202.                 r27 = read_local chipObject
  8203.                 r28 = class_cast throws r27 com.meduzik.matcharena.game.field.FieldObject
  8204.                 r29 = read_local foodConsumeTime
  8205.                 r30 = call_cmethod com.meduzik.matcharena.game.field.GameField.getTimestampDelta this r29
  8206.                 r31 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithObjectAndNumber r26 "CharacterConsumeFood" r28 r30
  8207.                 r32 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r25 r31
  8208.                 br block_6
  8209.             block_6:
  8210.     */
  8211.         abort();
  8212. }
  8213. void GameField::onExplosionHitsCell(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::trigger::ExplosionPattern* pattern){
  8214.     /*
  8215.     main:
  8216.         locals:
  8217.             cell : class com.meduzik.matcharena.engine.field.EngineCell
  8218.             pattern : class com.meduzik.matcharena.engine.trigger.ExplosionPattern
  8219.             cellObject : class com.meduzik.matcharena.game.field.cell.CellObject
  8220.         code:
  8221.             block_0:
  8222.                 r0 = read_local cell
  8223.                 r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.getCellMapping this r0
  8224.                 write_local cellObject r1
  8225.                 r2 = read_local cellObject
  8226.                 r3 = ref_cmp neq r2 (null:class com.meduzik.matcharena.game.field.cell.CellObject)
  8227.                 condbr r3 block_1 block_2
  8228.             block_1:
  8229.                 r4 = read_local cellObject
  8230.                 r5 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r4 "ExplosionHitsCell"
  8231.                 br block_2
  8232.             block_2:
  8233.     */
  8234.         abort();
  8235. }
  8236. void GameField::onDecorAdded(fl::com::meduzik::matcharena::engine::field::decor::Decor* decor){
  8237.     /*
  8238.     main:
  8239.         locals:
  8240.             decor : class com.meduzik.matcharena.engine.field.decor.Decor
  8241.         code:
  8242.             block_0:
  8243.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.decorSet this
  8244.                 r1 = read_local decor
  8245.                 r2 = call_cmethod com.meduzik.matcharena.game.field.decor.DecorObjectSet.add r0 r1
  8246.                 r3 = read_cfield com.meduzik.matcharena.game.field.GameField.decorSet this
  8247.                 r4 = call_cmethod com.meduzik.matcharena.game.field.decor.DecorObjectSet.updateTraps r3
  8248.     */
  8249.         abort();
  8250. }
  8251. void GameField::onDecorRemoved(fl::com::meduzik::matcharena::engine::field::decor::Decor* decor){
  8252.     /*
  8253.     main:
  8254.         locals:
  8255.             decor : class com.meduzik.matcharena.engine.field.decor.Decor
  8256.         code:
  8257.             block_0:
  8258.                 r0 = read_cfield com.meduzik.matcharena.game.field.GameField.decorSet this
  8259.                 r1 = read_local decor
  8260.                 r2 = call_cmethod com.meduzik.matcharena.game.field.decor.DecorObjectSet.remove r0 r1
  8261.                 r3 = read_cfield com.meduzik.matcharena.game.field.GameField.decorSet this
  8262.                 r4 = call_cmethod com.meduzik.matcharena.game.field.decor.DecorObjectSet.updateTraps r3
  8263.     */
  8264.         abort();
  8265. }
  8266. void GameField::enableFastForward(){
  8267.     /*
  8268.     main:
  8269.         code:
  8270.             block_0:
  8271.                 write_cfield com.meduzik.matcharena.game.field.GameField.fastForward this true
  8272.     */
  8273.         abort();
  8274. }
  8275. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement