Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fl/_impl/core_impl.h>
- #include <fl/com/meduzik/matcharena/game/field/GameField.h>
- namespace fl::com::meduzik::matcharena::game::field{
- GameField::GameField(){
- }
- 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){
- GameField* jfl_this = jfl::allocate<GameField>();
- jfl_this->jfl_Constructor(context, resources, engine, gameCallback);
- return jfl_this;
- }
- 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){
- /*
- main:
- locals:
- context : class com.meduzik.matcharena.MatchArenaContext
- resources : class com.meduzik.matcharena.game.field.resources.GameFieldResources
- engine : class com.meduzik.matcharena.engine.Match3Engine
- gameCallback : class com.meduzik.matcharena.game.field.GameFieldCallback
- tileRenderer : class com.meduzik.matcharena.game.field.view.ObjectView
- code:
- block_0:
- r0 = read_local gameCallback
- write_cfield com.meduzik.matcharena.game.field.GameField.gameCallback this r0
- r1 = read_local engine
- write_cfield com.meduzik.matcharena.game.field.GameField.engine this r1
- r2 = read_local resources
- write_cfield com.meduzik.matcharena.game.field.GameField._resources this r2
- r3 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
- r4 = read_local gameCallback
- r5 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.setCallback r3 r4
- r6 = newclass com.meduzik.matcharena.game.field.GameFieldView this
- write_cfield com.meduzik.matcharena.game.field.GameField.view this r6
- r7 = read_cfield com.meduzik.matcharena.game.field.GameField.view this
- r8 = newclass com.meduzik.matcharena.game.field.GameFieldInteraction this r7
- write_cfield com.meduzik.matcharena.game.field.GameField.interaction this r8
- r9 = newclass com.meduzik.fx.FXList (null:class com.meduzik.lua.LuaState)
- write_cfield com.meduzik.matcharena.game.field.GameField._fxList this r9
- r10 = newclass com.meduzik.matcharena.game.field.GameFieldCamera this
- write_cfield com.meduzik.matcharena.game.field.GameField.camera this r10
- r11 = read_cfield com.meduzik.matcharena.game.field.view.SortLayer.Plate
- r12 = read_local resources
- r13 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.plateBlockerTiles r12
- r14 = newclass com.meduzik.matcharena.game.field.tile.BorderTileRenderer this r11 r13
- write_cfield com.meduzik.matcharena.game.field.GameField.plateTiles this r14
- r15 = read_cfield com.meduzik.matcharena.game.field.view.SortLayer.TileGolden
- r16 = read_local resources
- r17 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.grassTiles r16
- r18 = num_cast int 8.000000
- r19 = num_cast int 12.000000
- r20 = num_cast int 8.000000
- r21 = newclass com.meduzik.matcharena.game.field.tile.TilesetConfig true r18 r19 r20
- r22 = newclass com.meduzik.matcharena.game.field.tile.TileRenderer this r15 r17 r21
- write_cfield com.meduzik.matcharena.game.field.GameField.grassTiles this r22
- r23 = read_cfield com.meduzik.matcharena.game.field.view.SortLayer.TileJam
- r24 = read_local resources
- r25 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.jamTiles r24
- r26 = num_cast int 4.000000
- r27 = num_cast int 0.000000
- r28 = num_cast int 0.000000
- r29 = newclass com.meduzik.matcharena.game.field.tile.TilesetConfig true r26 r27 r28
- r30 = newclass com.meduzik.matcharena.game.field.tile.TileRenderer this r23 r25 r29
- write_cfield com.meduzik.matcharena.game.field.GameField.jamTiles this r30
- r31 = read_cfield com.meduzik.matcharena.game.field.view.SortLayer.CoverChocolate
- r32 = read_local resources
- r33 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.lavaTiles r32
- r34 = num_cast int 16.000000
- r35 = num_cast int 16.000000
- r36 = num_cast int 16.000000
- r37 = newclass com.meduzik.matcharena.game.field.tile.TilesetConfig false r34 r35 r36
- r38 = newclass com.meduzik.matcharena.game.field.tile.TileRenderer this r31 r33 r37
- write_cfield com.meduzik.matcharena.game.field.GameField.lavaTiles this r38
- r39 = read_cfield com.meduzik.matcharena.game.field.GameField.view this
- r40 = read_cfield com.meduzik.matcharena.game.field.GameField.viewContainer this
- r41 = call_cmethod com.meduzik.matcharena.game.field.GameFieldView.initialize r39 r40
- r42 = read_cfield com.meduzik.matcharena.game.field.GameField.interaction this
- r43 = read_local gameCallback
- r44 = call_cmethod com.meduzik.matcharena.game.field.GameFieldInteraction.initialize r42 r43
- r45 = read_cfield com.meduzik.matcharena.game.field.GameField.shoutouts this
- r46 = read_cfield com.meduzik.matcharena.game.field.GameField.view this
- r47 = call_cmethod com.meduzik.matcharena.game.field.shoutout.ShoutoutController.initialize r45 r46
- r48 = read_cfield com.meduzik.matcharena.game.field.GameField.tileRenderers this
- r49 = read_cfield com.meduzik.matcharena.game.field.GameField.tileRenderers this
- r50 = call_cmethod Vector.length r49
- r51 = read_cfield com.meduzik.matcharena.game.field.GameField.grassTiles this
- r52 = class_cast throws r51 com.meduzik.matcharena.game.field.view.ObjectView
- write_vecindex r48 r50 r52
- r53 = read_cfield com.meduzik.matcharena.game.field.GameField.tileRenderers this
- r54 = read_cfield com.meduzik.matcharena.game.field.GameField.tileRenderers this
- r55 = call_cmethod Vector.length r54
- r56 = read_cfield com.meduzik.matcharena.game.field.GameField.jamTiles this
- r57 = class_cast throws r56 com.meduzik.matcharena.game.field.view.ObjectView
- write_vecindex r53 r55 r57
- r58 = read_cfield com.meduzik.matcharena.game.field.GameField.tileRenderers this
- r59 = read_cfield com.meduzik.matcharena.game.field.GameField.tileRenderers this
- r60 = call_cmethod Vector.length r59
- r61 = read_cfield com.meduzik.matcharena.game.field.GameField.lavaTiles this
- r62 = class_cast throws r61 com.meduzik.matcharena.game.field.view.ObjectView
- write_vecindex r58 r60 r62
- r63 = read_cfield com.meduzik.matcharena.game.field.GameField.tileRenderers this
- r64 = read_cfield com.meduzik.matcharena.game.field.GameField.tileRenderers this
- r65 = call_cmethod Vector.length r64
- r66 = read_cfield com.meduzik.matcharena.game.field.GameField.plateTiles this
- r67 = class_cast throws r66 com.meduzik.matcharena.game.field.view.ObjectView
- write_vecindex r63 r65 r67
- */
- abort();
- }
- jfl::Number GameField::FastForwardMaxSpeed;
- jfl::Number GameField::FastForwardFullTime;
- jfl::Int GameField::BackgroundFastForwardThreshold;
- jfl::Int GameField::BackgroundFastForwardReverseThreshold;
- jfl::Int GameField::StateNothing;
- jfl::Int GameField::StateProcessing;
- jfl::Int GameField::StateReadyForMove;
- jfl::Int GameField::StateEnded;
- jfl::Int GameField::StateWaitForBuyMoves;
- fl::Function* GameField::GetTimer;
- fl::Array* GameField::EmptyArray;
- void GameField::dispose(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
- r1 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.dispose r0
- */
- abort();
- }
- void GameField::resize(jfl::Number width, jfl::Number height){
- /*
- main:
- locals:
- width : Number
- height : Number
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.view this
- r1 = read_local width
- r2 = read_local height
- r3 = call_cmethod com.meduzik.matcharena.game.field.GameFieldView.resize r0 r1 r2
- r4 = read_cfield com.meduzik.matcharena.game.field.GameField.camera this
- r5 = read_local width
- r6 = read_local height
- r7 = call_cmethod com.meduzik.matcharena.game.field.GameFieldCamera.resize r4 r5 r6
- r8 = read_cfield com.meduzik.matcharena.game.field.GameField.interaction this
- r9 = read_local width
- r10 = read_local height
- r11 = call_cmethod com.meduzik.matcharena.game.field.GameFieldInteraction.resize r8 r9 r10
- */
- abort();
- }
- void GameField::addObject(fl::com::meduzik::matcharena::game::field::FieldObject* object){
- /*
- main:
- locals:
- object : class com.meduzik.matcharena.game.field.FieldObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.objects this
- r1 = read_local object
- r2 = read_dynindex r0 r1
- r3 = from_any Boolean r2
- r4 = choice r3 Boolean false true
- condbr r4 block_1 block_2
- block_1:
- r5 = read_cfield com.meduzik.matcharena.game.field.GameField.objects this
- r6 = read_local object
- r7 = box class Boolean true
- r8 = to_any r7
- write_dynindex r5 r6
- r9 = read_local object
- r10 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.onAddedToField r9 this
- br block_2
- block_2:
- */
- abort();
- }
- void GameField::removeObject(fl::com::meduzik::matcharena::game::field::FieldObject* object){
- /*
- main:
- locals:
- object : class com.meduzik.matcharena.game.field.FieldObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.objects this
- r1 = read_local object
- r2 = read_dynindex r0 r1
- r3 = from_any Boolean r2
- condbr r3 block_1 block_2
- block_1:
- r4 = read_local object
- r5 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.onRemovedFromField r4
- r6 = read_local object
- r7 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.dispose r6
- r8 = read_cfield com.meduzik.matcharena.game.field.GameField.objects this
- r9 = read_local object
- br block_2
- block_2:
- */
- abort();
- }
- void GameField::skipTurn(){
- /*
- main:
- locals:
- wasInteractive : Boolean
- target : int
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.interactive this
- write_local wasInteractive r0
- write_cfield com.meduzik.matcharena.game.field.GameField.interactive this false
- r1 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r2 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.timestamp r1
- r3 = num_binop Number * 10000.000000 300.000000
- r4 = num_cast Number r2
- r5 = num_binop Number + r4 r3
- r6 = num_cast int r5
- write_local target r6
- br block_1
- block_1:
- r7 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r8 = read_local target
- r9 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.simulate r7 r8
- r10 = read_cfield com.meduzik.matcharena.engine.Match3Engine.SimulationCompleted
- r11 = num_cmp neq r9 r10
- condbr r11 block_2 block_3
- block_2:
- br block_1
- block_3:
- r12 = read_local wasInteractive
- write_cfield com.meduzik.matcharena.game.field.GameField.interactive this r12
- r13 = call_cmethod com.meduzik.matcharena.game.field.GameField.reloadFromEngine this
- */
- abort();
- }
- void GameField::update(jfl::Number dt, jfl::Boolean playing, jfl::Boolean ignoreBlockers){
- /*
- main:
- locals:
- dt : Number
- playing : Boolean
- ignoreBlockers : Boolean
- nextTimestamp : int
- deltaTimestamp : int
- p : Number
- qdt : int
- targetTimestamp : int
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.bot this
- r1 = ref_cmp neq r0 (null:class com.meduzik.matcharena.game.bot.AbstractBot)
- condbr r1 block_1 block_2
- block_1:
- r2 = read_cfield com.meduzik.matcharena.game.field.GameField.GetTimer
- r3 = call_dynamic r2
- r4 = from_any int r3
- write_local nextTimestamp r4
- r5 = read_local nextTimestamp
- r6 = read_cfield com.meduzik.matcharena.game.field.GameField.backgroundLastTimestamp this
- r7 = num_binop int - r5 r6
- write_local deltaTimestamp r7
- r8 = read_local deltaTimestamp
- r9 = read_cfield com.meduzik.matcharena.game.field.GameField.BackgroundFastForwardThreshold
- r10 = num_cast Number r9
- r11 = num_cast Number r8
- r12 = num_cmp ge r11 r10
- condbr r12 block_3 block_4
- block_2:
- r13 = read_cfield com.meduzik.matcharena.game.field.GameField.backgroundFastForwardTime this
- r14 = num_cmp gt r13 0.000000
- condbr r14 block_5 block_6
- block_3:
- r15 = read_local deltaTimestamp
- r16 = read_cfield com.meduzik.matcharena.game.field.GameField.BackgroundFastForwardReverseThreshold
- r17 = num_cast Number r16
- r18 = num_cast Number r15
- r19 = num_cmp le r18 r17
- block_4:
- r20 = phi Boolean (block_1 -> r12) (block_3 -> r19)
- condbr r20 block_7 block_8
- block_5:
- r21 = read_local dt
- r22 = num_binop Number * r21 2.000000
- write_local dt r22
- r23 = read_cfield com.meduzik.matcharena.game.field.GameField.backgroundFastForwardTime this
- r24 = read_local dt
- r25 = num_binop Number - r23 r24
- write_cfield com.meduzik.matcharena.game.field.GameField.backgroundFastForwardTime this r25
- br block_6
- block_6:
- r26 = read_cfield com.meduzik.matcharena.game.field.GameField.shoutouts this
- r27 = read_local dt
- r28 = call_cmethod com.meduzik.matcharena.game.field.shoutout.ShoutoutController.update r26 r27
- r29 = read_local dt
- r30 = read_cfield com.meduzik.matcharena.engine.EngineConstants.TicksPerSec
- r31 = num_binop Number * r29 r30
- r32 = num_cast int r31
- write_local qdt r32
- r33 = call_cmethod com.meduzik.env.Device.PreventSleep static
- r34 = read_local playing
- condbr r34 block_9 block_10
- block_7:
- r35 = read_cfield com.meduzik.matcharena.game.field.GameField.backgroundFastForwardTime this
- r36 = read_local deltaTimestamp
- r37 = num_binop Number / r36 1000.000000
- r38 = num_binop Number + r35 r37
- write_cfield com.meduzik.matcharena.game.field.GameField.backgroundFastForwardTime this r38
- br block_8
- block_8:
- r39 = read_local nextTimestamp
- write_cfield com.meduzik.matcharena.game.field.GameField.backgroundLastTimestamp this r39
- br block_2
- block_9:
- r40 = read_cfield com.meduzik.matcharena.game.field.GameField.state this
- r41 = read_cfield com.meduzik.matcharena.game.field.GameField.StateNothing
- r42 = num_cmp eq r40 r41
- condbr r42 block_11 block_12
- block_10:
- r43 = read_cfield com.meduzik.matcharena.game.field.GameField.speech this
- r44 = read_local dt
- r45 = call_cmethod com.meduzik.matcharena.game.field.speech.SpeechManager.update r43 r44
- r46 = call_cmethod com.meduzik.matcharena.game.field.GameField.fxList this
- r47 = read_local dt
- r48 = call_cmethod com.meduzik.fx.FXList.update r46 r47
- r49 = read_local dt
- r50 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateObjects this r49
- r51 = read_cfield com.meduzik.matcharena.game.field.GameField.shoutouts this
- r52 = call_cmethod com.meduzik.matcharena.game.field.shoutout.ShoutoutController.prerender r51
- r53 = read_cfield com.meduzik.matcharena.game.field.GameField.view this
- r54 = read_local dt
- r55 = call_cmethod com.meduzik.matcharena.game.field.GameFieldView.update r53 r54
- block_11:
- br block_13
- br block_14
- block_12:
- r56 = read_cfield com.meduzik.matcharena.game.field.GameField.StateWaitForBuyMoves
- r57 = num_cmp eq r40 r56
- condbr r57 block_14 block_15
- block_13:
- br block_10
- block_14:
- r58 = read_cfield com.meduzik.matcharena.game.field.GameField.buyingMoves this
- r59 = choice r58 Boolean false true
- condbr r59 block_16 block_17
- block_15:
- r60 = read_cfield com.meduzik.matcharena.game.field.GameField.StateProcessing
- r61 = num_cmp eq r40 r60
- condbr r61 block_18 block_19
- block_16:
- r62 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r63 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.state r62
- r64 = read_cfield com.meduzik.matcharena.engine.EngineState.GameOver
- r65 = ref_cmp eq r63 r64
- condbr r65 block_20 block_21
- block_17:
- br block_13
- br block_18
- block_18:
- r66 = read_local ignoreBlockers
- r67 = choice r66 Boolean false true
- condbr r67 block_22 block_23
- block_19:
- r68 = read_cfield com.meduzik.matcharena.game.field.GameField.StateReadyForMove
- r69 = num_cmp eq r40 r68
- condbr r69 block_24 block_25
- block_20:
- r70 = read_cfield com.meduzik.matcharena.game.field.GameField.StateEnded
- write_cfield com.meduzik.matcharena.game.field.GameField.state this r70
- r71 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
- r72 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.commit r71
- r73 = read_cfield com.meduzik.matcharena.game.field.GameField.observer this
- r74 = imethod_closure com.meduzik.matcharena.game.GameFieldObserver.onGameEnded r73
- r75 = call_dynamic r74 this
- br block_21
- block_21:
- br block_17
- block_22:
- r76 = read_cfield com.meduzik.matcharena.game.field.GameField.shoutouts this
- r77 = call_cmethod com.meduzik.matcharena.game.field.shoutout.ShoutoutController.isBlocking r76
- block_23:
- r78 = phi Boolean (block_18 -> r67) (block_22 -> r77)
- condbr r78 block_26 block_27
- block_24:
- r79 = read_cfield com.meduzik.matcharena.game.field.GameField.interactive this
- condbr r79 block_28 block_29
- block_25:
- br block_13
- block_26:
- br block_27
- block_27:
- br block_13
- br block_24
- block_28:
- r80 = read_local dt
- r81 = call_cmethod com.meduzik.matcharena.game.field.GameField.updatePlayerSleep this r80
- br block_29
- block_29:
- r82 = read_cfield com.meduzik.matcharena.game.field.GameField.bot this
- r83 = ref_cmp neq r82 (null:class com.meduzik.matcharena.game.bot.AbstractBot)
- condbr r83 block_30 block_31
- block_30:
- r84 = read_cfield com.meduzik.matcharena.game.field.GameField.bot this
- r85 = read_local dt
- r86 = read_cfield com.meduzik.matcharena.game.field.GameField.backgroundFastForwardTime this
- r87 = num_cmp gt r86 0.000000
- r88 = call_cmethod com.meduzik.matcharena.game.bot.AbstractBot.update r84 r85 r87
- br block_31
- block_31:
- r89 = read_cfield com.meduzik.matcharena.game.field.GameField._hinter this
- r90 = read_local dt
- r91 = call_cmethod com.meduzik.matcharena.game.field.hint.Hinter.update r89 r90
- br block_13
- br block_13
- */
- abort();
- }
- void GameField::updatePlayerSleep(jfl::Number dt){
- /*
- main:
- locals:
- dt : Number
- uiAction : class com.meduzik.matcharena.engine.script.uiaction.UIAction
- uiSleeping : class com.meduzik.matcharena.engine.script.uiaction.UIActionPlayerSleeping
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r1 = read_cfield com.meduzik.matcharena.engine.Match3Engine.uiActions r0
- r2 = read_cfield com.meduzik.matcharena.engine.script.uiaction.UIActionEvent.PlayerSleeping
- r3 = call_cmethod com.meduzik.matcharena.engine.script.uiaction.UIActionList.hasActionFor r1 r2
- condbr r3 block_1 block_2
- block_1:
- r4 = read_cfield com.meduzik.matcharena.game.field.GameField.playerSleepTime this
- r5 = read_local dt
- r6 = num_binop Number + r4 r5
- write_cfield com.meduzik.matcharena.game.field.GameField.playerSleepTime this r6
- br block_2
- block_2:
- */
- abort();
- }
- void GameField::becomesReadyForMove(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.checkpointRequested this
- condbr r0 block_1 block_2
- block_1:
- write_cfield com.meduzik.matcharena.game.field.GameField.checkpointRequested this false
- r1 = read_cfield com.meduzik.matcharena.game.field.GameField.record this
- r2 = call_cmethod com.meduzik.matcharena.game.field.state.GamePlayRecord.makeCheckpoint r1
- br block_2
- block_2:
- write_cfield com.meduzik.matcharena.game.field.GameField.playerSleepTime this 0.000000
- r3 = read_cfield com.meduzik.matcharena.game.field.GameField._hinter this
- r4 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r5 = read_cfield com.meduzik.matcharena.engine.Match3Engine.hint r4
- r6 = read_cfield com.meduzik.matcharena.engine.hint.HintConfig.hintRequest r5
- r7 = call_cmethod com.meduzik.matcharena.game.field.hint.Hinter.requestHint r3 r6
- */
- abort();
- }
- void GameField::addDelay(jfl::Number delay){
- /*
- main:
- locals:
- delay : Number
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.engineDelay this
- r1 = read_local delay
- r2 = num_binop Number + r0 r1
- write_cfield com.meduzik.matcharena.game.field.GameField.engineDelay this r2
- */
- abort();
- }
- void GameField::updateObjects(jfl::Number dt){
- /*
- main:
- locals:
- dt : Number
- object : class com.meduzik.matcharena.game.field.FieldObject
- code:
- block_0:
- br block_1
- block_1:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.objectList this
- r1 = call_cmethod Vector.length r0
- r2 = num_cast Number r1
- r3 = num_cmp gt r2 0.000000
- condbr r3 block_2 block_3
- block_2:
- r4 = read_cfield com.meduzik.matcharena.game.field.GameField.objectList this
- r5 = call_vecmethod Vector.pop r4
- r6 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeObject this r5
- br block_1
- block_3:
- */
- abort();
- }
- void GameField::reset(){
- /*
- main:
- locals:
- object : class com.meduzik.matcharena.game.field.FieldObject
- code:
- block_0:
- write_cfield com.meduzik.matcharena.game.field.GameField.gameOverObject this (null:class com.meduzik.matcharena.game.field.effect.SpriteFieldObject)
- write_cfield com.meduzik.matcharena.game.field.GameField.sayObject this (null:class com.meduzik.matcharena.game.field.effect.SpriteFieldObject)
- write_cfield com.meduzik.matcharena.game.field.GameField.buyingMoves this false
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.GetTimer
- r1 = call_dynamic r0
- r2 = from_any int r1
- write_cfield com.meduzik.matcharena.game.field.GameField.backgroundLastTimestamp this r2
- write_cfield com.meduzik.matcharena.game.field.GameField.fastForward this false
- write_cfield com.meduzik.matcharena.game.field.GameField.fastForwardTime this 0.000000
- write_cfield com.meduzik.matcharena.game.field.GameField.backgroundFastForwardTime this 0.000000
- write_cfield com.meduzik.matcharena.game.field.GameField.checkpointRequested this false
- r3 = read_cfield com.meduzik.matcharena.game.field.GameField.bordersCache this
- r4 = call_cmethod com.meduzik.matcharena.game.field.borders.BordersCache.reset r3
- r5 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
- r6 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.reset r5
- r7 = read_cfield com.meduzik.matcharena.game.field.GameField.camera this
- r8 = call_cmethod com.meduzik.matcharena.game.field.GameFieldCamera.reset r7
- r9 = read_cfield com.meduzik.matcharena.game.field.GameField.shoutouts this
- r10 = call_cmethod com.meduzik.matcharena.game.field.shoutout.ShoutoutController.reset r9
- r11 = read_cfield com.meduzik.matcharena.game.field.GameField.speech this
- r12 = call_cmethod com.meduzik.matcharena.game.field.speech.SpeechManager.reset r11
- r13 = read_cfield com.meduzik.matcharena.game.field.GameField.decorSet this
- r14 = call_cmethod com.meduzik.matcharena.game.field.decor.DecorObjectSet.reset r13
- r15 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEvents this
- r16 = call_cmethod Vector.length r15 0.000000
- r17 = read_cfield com.meduzik.matcharena.game.field.GameField.overlay this
- r18 = ref_cmp neq r17 (null:class com.meduzik.matcharena.game.overlay.GameScreenOverlay)
- condbr r18 block_1 block_2
- block_1:
- r19 = read_cfield com.meduzik.matcharena.game.field.GameField.overlay this
- r20 = call_cmethod com.meduzik.matcharena.game.overlay.GameScreenOverlay.reset r19
- br block_2
- block_2:
- r21 = read_cfield com.meduzik.matcharena.game.field.GameField.hintArrow this
- r22 = ref_cmp neq r21 (null:class com.meduzik.matcharena.game.field.effect.SpriteFieldObject)
- condbr r22 block_3 block_4
- block_3:
- write_cfield com.meduzik.matcharena.game.field.GameField.hintArrow this (null:class com.meduzik.matcharena.game.field.effect.SpriteFieldObject)
- br block_4
- block_4:
- r23 = read_cfield com.meduzik.matcharena.game.field.GameField.StateNothing
- write_cfield com.meduzik.matcharena.game.field.GameField.state this r23
- r24 = read_cfield com.meduzik.matcharena.game.field.GameField.interaction this
- r25 = call_cmethod com.meduzik.matcharena.game.field.GameFieldInteraction.setReadyForMove r24 false
- r26 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r27 = call_cmethod com.meduzik.matcharena.game.EventContext.reset r26
- r28 = read_cfield com.meduzik.matcharena.game.field.GameField._hinter this
- r29 = call_cmethod com.meduzik.matcharena.game.field.hint.Hinter.reset r28
- r30 = newclass flash.utils.Dictionary
- write_cfield com.meduzik.matcharena.game.field.GameField.cells this r30
- r31 = newclass flash.utils.Dictionary
- write_cfield com.meduzik.matcharena.game.field.GameField.mapping this r31
- br block_5
- block_5:
- r32 = read_cfield com.meduzik.matcharena.game.field.GameField.objectList this
- r33 = call_cmethod Vector.length r32
- r34 = num_cast Number r33
- r35 = num_cmp gt r34 0.000000
- condbr r35 block_6 block_7
- block_6:
- r36 = read_cfield com.meduzik.matcharena.game.field.GameField.objectList this
- r37 = call_vecmethod Vector.pop r36
- r38 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeObject this r37
- br block_5
- block_7:
- write_cfield com.meduzik.matcharena.game.field.GameField.engineDelay this 0.000000
- */
- abort();
- }
- void GameField::onMessageSay(jfl::String* message){
- /*
- main:
- locals:
- message : class String
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.interactive this
- condbr r0 block_1 block_2
- block_1:
- r1 = read_global com.meduzik.log.Log
- r2 = newclass Object
- r3 = read_local message
- r4 = to_any r3
- write_dynfield r2 's'
- r5 = call_cmethod com.meduzik.log.Logger.warning r1 "game" "Message: $(msg)" r2
- r6 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r7 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r6
- br block_2
- block_2:
- */
- abort();
- }
- void GameField::onUIWait(jfl::Number seconds){
- /*
- main:
- locals:
- seconds : Number
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.interactive this
- condbr r0 block_1 block_2
- block_1:
- r1 = read_local seconds
- write_cfield com.meduzik.matcharena.game.field.GameField.engineDelay this r1
- r2 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r3 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r2
- br block_2
- block_2:
- */
- abort();
- }
- void GameField::reloadFromEngine(){
- /*
- main:
- locals:
- field : class com.meduzik.matcharena.engine.field.Field
- code:
- block_0:
- r0 = call_cmethod com.meduzik.matcharena.game.field.GameField.reset this
- r1 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r2 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r1
- write_local field r2
- r3 = read_cfield com.meduzik.matcharena.game.field.GameField._hinter this
- r4 = call_cmethod com.meduzik.matcharena.game.field.hint.Hinter.reset r3
- r5 = read_cfield com.meduzik.matcharena.game.field.GameField.decorSet this
- r6 = read_local field
- r7 = read_cfield com.meduzik.matcharena.engine.field.Field.decor r6
- r8 = call_cmethod com.meduzik.matcharena.game.field.decor.DecorObjectSet.reload r5 r7
- r9 = read_cfield com.meduzik.matcharena.game.field.GameField.camera this
- r10 = call_cmethod com.meduzik.matcharena.game.field.GameFieldCamera.resetToActiveField r9
- r11 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r12 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.state r11
- r13 = read_cfield com.meduzik.matcharena.engine.EngineState.Yield
- r14 = ref_cmp eq r12 r13
- condbr r14 block_1 block_2
- block_1:
- r15 = read_cfield com.meduzik.matcharena.game.field.GameField.StateProcessing
- write_cfield com.meduzik.matcharena.game.field.GameField.state this r15
- r16 = read_cfield com.meduzik.matcharena.game.field.GameField.interaction this
- r17 = call_cmethod com.meduzik.matcharena.game.field.GameFieldInteraction.setReadyForMove r16 false
- br block_3
- br block_4
- block_2:
- r18 = read_cfield com.meduzik.matcharena.engine.EngineState.ReadyForMove
- r19 = ref_cmp eq r12 r18
- condbr r19 block_4 block_5
- block_3:
- r20 = read_cfield com.meduzik.matcharena.game.field.GameField.interactive this
- condbr r20 block_6 block_7
- block_4:
- r21 = read_cfield com.meduzik.matcharena.game.field.GameField.StateReadyForMove
- write_cfield com.meduzik.matcharena.game.field.GameField.state this r21
- r22 = read_cfield com.meduzik.matcharena.game.field.GameField.interaction this
- r23 = call_cmethod com.meduzik.matcharena.game.field.GameFieldInteraction.setReadyForMove r22 true
- r24 = call_cmethod com.meduzik.matcharena.game.field.GameField.becomesReadyForMove this
- br block_3
- br block_8
- block_5:
- br block_8
- block_6:
- r25 = read_cfield com.meduzik.matcharena.game.field.GameField.overlay this
- r26 = ref_cmp neq r25 (null:class com.meduzik.matcharena.game.overlay.GameScreenOverlay)
- condbr r26 block_9 block_10
- block_7:
- r27 = read_cfield com.meduzik.matcharena.game.field.GameField.taskObserver this
- r28 = ref_cmp neq r27 (null:interface com.meduzik.matcharena.game.info.ITaskObserver)
- condbr r28 block_11 block_12
- block_8:
- r29 = read_cfield com.meduzik.matcharena.game.field.GameField.interaction this
- r30 = call_cmethod com.meduzik.matcharena.game.field.GameFieldInteraction.setReadyForMove r29 false
- r31 = read_cfield com.meduzik.matcharena.game.field.GameField.StateEnded
- write_cfield com.meduzik.matcharena.game.field.GameField.state this r31
- br block_3
- br block_3
- block_9:
- r32 = read_cfield com.meduzik.matcharena.game.field.GameField.overlay this
- r33 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r34 = read_cfield com.meduzik.matcharena.engine.Match3Engine.hint r33
- r35 = read_cfield com.meduzik.matcharena.engine.hint.HintConfig.highlightActive r34
- r36 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r37 = read_cfield com.meduzik.matcharena.engine.Match3Engine.hint r36
- r38 = read_cfield com.meduzik.matcharena.engine.hint.HintConfig.highlight r37
- r39 = call_cmethod com.meduzik.matcharena.game.overlay.GameScreenOverlay.resetHighlight r32 r35 r38
- br block_10
- block_10:
- r40 = read_cfield com.meduzik.matcharena.game.field.GameField.speech this
- r41 = call_cmethod com.meduzik.matcharena.game.field.speech.SpeechManager.reloadFromEngine r40
- br block_7
- block_11:
- r42 = read_cfield com.meduzik.matcharena.game.field.GameField.taskObserver this
- r43 = imethod_closure com.meduzik.matcharena.game.info.ITaskObserver.loadTasks r42
- r44 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r45 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r46 = read_cfield com.meduzik.matcharena.engine.Match3Engine.taskList r45
- r47 = call_dynamic r43 r44 r46
- br block_12
- block_12:
- r48 = read_cfield com.meduzik.matcharena.game.field.GameField.decorSet this
- r49 = call_cmethod com.meduzik.matcharena.game.field.decor.DecorObjectSet.updateTraps r48
- r50 = read_cfield com.meduzik.matcharena.game.field.GameField.observer this
- r51 = imethod_closure com.meduzik.matcharena.game.GameFieldObserver.onReloaded r50
- r52 = call_dynamic r51 this
- */
- abort();
- }
- void GameField::onMoveFieldFrame(fl::com::meduzik::matcharena::level::FieldFrame* frame){
- /*
- main:
- locals:
- frame : class com.meduzik.matcharena.level.FieldFrame
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.camera this
- r1 = read_local frame
- r2 = call_cmethod com.meduzik.matcharena.game.field.GameFieldCamera.startMoveToNewFrame r0 r1
- r3 = read_cfield com.meduzik.matcharena.game.field.GameField.camera this
- r4 = call_cmethod com.meduzik.matcharena.game.field.GameFieldCamera.unlocked r3 false
- r5 = read_cfield com.meduzik.matcharena.game.field.GameField.decorSet this
- r6 = call_cmethod com.meduzik.matcharena.game.field.decor.DecorObjectSet.updateTraps r5
- r7 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r8 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r7
- */
- abort();
- }
- void GameField::onCameraLock(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.camera this
- r1 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r2 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r1
- r3 = read_cfield com.meduzik.matcharena.engine.field.Field.activeFrame r2
- r4 = call_cmethod com.meduzik.matcharena.game.field.GameFieldCamera.startMoveToNewFrame r0 r3
- r5 = read_cfield com.meduzik.matcharena.game.field.GameField.camera this
- r6 = call_cmethod com.meduzik.matcharena.game.field.GameFieldCamera.unlocked r5 false
- r7 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r8 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r7
- */
- abort();
- }
- void GameField::onCameraUnlock(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.camera this
- r1 = call_cmethod com.meduzik.matcharena.game.field.GameFieldCamera.unlocked r0 true
- */
- abort();
- }
- void GameField::onCameraMove(jfl::Vector* zones){
- /*
- main:
- locals:
- zones : Vector.<class com.meduzik.matcharena.engine.zone.EngineZone>
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.camera this
- r1 = call_cmethod com.meduzik.matcharena.game.field.GameFieldCamera.unlocked r0 true
- r2 = read_cfield com.meduzik.matcharena.game.field.GameField.camera this
- r3 = read_local zones
- r4 = call_cmethod com.meduzik.matcharena.game.field.GameFieldCamera.startMoveOnPath r2 r3
- r5 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r6 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r5
- */
- abort();
- }
- void GameField::onCameraResize(jfl::Int width, jfl::Int height){
- /*
- main:
- locals:
- width : int
- height : int
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.camera this
- r1 = call_cmethod com.meduzik.matcharena.game.field.GameFieldCamera.unlocked r0 true
- r2 = read_cfield com.meduzik.matcharena.game.field.GameField.camera this
- r3 = read_local width
- r4 = read_local height
- r5 = call_cmethod com.meduzik.matcharena.game.field.GameFieldCamera.startResize r2 r3 r4
- r6 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r7 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r6
- */
- abort();
- }
- void GameField::createPortalNode(fl::com::meduzik::matcharena::engine::field::portal::PortalNode* portal){
- /*
- main:
- locals:
- portal : class com.meduzik.matcharena.engine.field.portal.PortalNode
- hasOutgoing : Boolean
- hasIngoing : Boolean
- link : class com.meduzik.matcharena.engine.field.portal.PortalNodeLink
- holder : class Array
- code:
- block_0:
- write_local hasOutgoing false
- write_local hasIngoing false
- r0 = read_local portal
- r1 = read_cfield com.meduzik.matcharena.engine.field.portal.PortalNode.sourceLink r0
- write_local link r1
- br block_1
- block_1:
- r2 = read_local link
- r3 = ref_cmp neq r2 (null:class com.meduzik.matcharena.engine.field.portal.PortalNodeLink)
- condbr r3 block_2 block_3
- block_2:
- r4 = read_local link
- r5 = read_cfield com.meduzik.matcharena.engine.field.portal.PortalNodeLink.edge r4
- r6 = ref_cmp neq r5 (null:class com.meduzik.matcharena.engine.field.CellEdge)
- condbr r6 block_4 block_5
- block_3:
- r7 = read_local portal
- r8 = read_cfield com.meduzik.matcharena.engine.field.portal.PortalNode.targetLink r7
- write_local link r8
- br block_6
- block_4:
- write_local hasOutgoing true
- br block_3
- br block_5
- block_5:
- br block_7
- block_6:
- r9 = read_local link
- r10 = ref_cmp neq r9 (null:class com.meduzik.matcharena.engine.field.portal.PortalNodeLink)
- condbr r10 block_8 block_9
- block_7:
- r11 = read_local link
- r12 = read_cfield com.meduzik.matcharena.engine.field.portal.PortalNodeLink.nextSourceLink r11
- write_local link r12
- br block_1
- block_8:
- r13 = read_local link
- r14 = read_cfield com.meduzik.matcharena.engine.field.portal.PortalNodeLink.edge r13
- r15 = ref_cmp neq r14 (null:class com.meduzik.matcharena.engine.field.CellEdge)
- condbr r15 block_10 block_11
- block_9:
- r16 = newclass Array
- write_local holder r16
- r17 = read_local hasOutgoing
- condbr r17 block_12 block_13
- block_10:
- write_local hasIngoing true
- br block_9
- br block_11
- block_11:
- br block_14
- block_12:
- r18 = read_local holder
- r19 = call_cmethod com.meduzik.matcharena.game.field.GameField.resources this
- r20 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.sourcePortalBottom r19
- r21 = read_cfield com.meduzik.matcharena.game.field.view.SortLayer.PortalBottom
- r22 = read_local portal
- r23 = read_cfield com.meduzik.matcharena.engine.field.portal.PortalNode.row r22
- r24 = read_local portal
- r25 = read_cfield com.meduzik.matcharena.engine.field.portal.PortalNode.column r24
- r26 = read_local portal
- r27 = read_cfield com.meduzik.matcharena.engine.field.portal.PortalNode.side r26
- r28 = call_cmethod com.meduzik.matcharena.game.field.GameField.createPortal this r18 r20 r21 r23 r25 r27
- r29 = read_local holder
- r30 = call_cmethod com.meduzik.matcharena.game.field.GameField.resources this
- r31 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.sourcePortalTop r30
- r32 = read_cfield com.meduzik.matcharena.game.field.view.SortLayer.PortalTop
- r33 = read_local portal
- r34 = read_cfield com.meduzik.matcharena.engine.field.portal.PortalNode.row r33
- r35 = read_local portal
- r36 = read_cfield com.meduzik.matcharena.engine.field.portal.PortalNode.column r35
- r37 = read_local portal
- r38 = read_cfield com.meduzik.matcharena.engine.field.portal.PortalNode.side r37
- r39 = call_cmethod com.meduzik.matcharena.game.field.GameField.createPortal this r29 r31 r32 r34 r36 r38
- br block_13
- block_13:
- r40 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r41 = read_local portal
- r42 = read_local holder
- r43 = to_any r42
- write_dynindex r40 r41
- block_14:
- r44 = read_local link
- r45 = read_cfield com.meduzik.matcharena.engine.field.portal.PortalNodeLink.nextTargetLink r44
- write_local link r45
- br block_6
- */
- abort();
- }
- void GameField::destroyPortalNode(fl::com::meduzik::matcharena::engine::field::portal::PortalNode* portal){
- /*
- main:
- locals:
- portal : class com.meduzik.matcharena.engine.field.portal.PortalNode
- holder : class Array
- object : class com.meduzik.matcharena.game.field.FieldObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r1 = read_local portal
- r2 = read_dynindex r0 r1
- r3 = from_any class Array r2
- write_local holder r3
- r4 = read_local holder
- r5 = ref_cmp neq r4 (null:class Array)
- condbr r5 block_1 block_2
- block_1:
- r6 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r7 = read_local portal
- br block_2
- block_2:
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- holder : class Array
- template : interface com.meduzik.bundle.display.DisplayTemplate
- layer : int
- row : int
- column : int
- side : class com.meduzik.matcharena.level.Side
- instance : class com.meduzik.display.DisplayObject
- spriteObject : class com.meduzik.matcharena.game.field.effect.SpriteFieldObject
- code:
- block_0:
- r0 = read_local template
- r1 = ref_cmp neq r0 (null:interface com.meduzik.bundle.display.DisplayTemplate)
- condbr r1 block_1 block_2
- block_1:
- r2 = read_local template
- r3 = imethod_closure com.meduzik.bundle.display.DisplayTemplate.createInstance r2
- r4 = call_dynamic r3
- r5 = from_any class com.meduzik.display.DisplayObject r4
- write_local instance r5
- r6 = read_local instance
- r7 = ref_cmp neq r6 (null:class com.meduzik.display.DisplayObject)
- r8 = choice r7 Boolean false true
- condbr r8 block_3 block_4
- block_2:
- block_3:
- ret void
- br block_4
- block_4:
- r9 = read_local instance
- r10 = read_local layer
- r11 = call_cmethod com.meduzik.matcharena.game.field.effect.SpriteFieldObject.Make static r9 r10
- write_local spriteObject r11
- r12 = read_local spriteObject
- r13 = class_cast throws r12 com.meduzik.matcharena.game.field.FieldObject
- r14 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r13
- r15 = read_local spriteObject
- r16 = read_local row
- r17 = read_local column
- r18 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.placeAtCellPosition r15 r16 r17
- r19 = read_local spriteObject
- r20 = read_cfield com.meduzik.matcharena.game.field.FieldObject.containerTransform r19
- r21 = read_cfield com.meduzik.fx.props.PropTransform2D.angle r20
- r22 = read_local side
- r23 = call_cmethod com.meduzik.matcharena.level.Side.offsetRow r22
- r24 = read_local side
- r25 = call_cmethod com.meduzik.matcharena.level.Side.offsetColumn r24
- r26 = call_cmethod Math.atan2 static r23 r25
- r27 = read_cfield Math.PI
- r28 = num_binop Number / r26 r27
- r29 = num_binop Number * r28 180.000000
- r30 = call_cmethod com.meduzik.fx.props.NumberProperty.base r21 r29
- r31 = read_local holder
- r32 = read_local holder
- r33 = call_cmethod Array.length r32
- r34 = read_local spriteObject
- r35 = to_any r34
- write_dynindex r31 r33
- br block_2
- */
- abort();
- }
- void GameField::setTutorial(jfl::Boolean isTutorial){
- /*
- main:
- locals:
- isTutorial : Boolean
- code:
- block_0:
- r0 = read_local isTutorial
- write_cfield com.meduzik.matcharena.game.field.GameField.tutorial this r0
- */
- abort();
- }
- jfl::Boolean GameField::isTutorial(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.tutorial this
- ret r0
- */
- abort();
- }
- void GameField::loadFromEngine(fl::com::meduzik::matcharena::engine::Match3Engine* engine){
- /*
- main:
- locals:
- engine : class com.meduzik.matcharena.engine.Match3Engine
- code:
- block_0:
- r0 = read_local engine
- write_cfield com.meduzik.matcharena.game.field.GameField.engine this r0
- r1 = read_cfield com.meduzik.matcharena.game.field.GameField.record this
- r2 = call_cmethod com.meduzik.matcharena.game.field.state.GamePlayRecord.reset r1
- write_cfield com.meduzik.matcharena.game.field.GameField.bot this (null:class com.meduzik.matcharena.game.bot.AbstractBot)
- r3 = call_cmethod com.meduzik.matcharena.game.field.GameField.reloadFromEngine this
- r4 = read_local engine
- r5 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.state r4
- r6 = read_cfield com.meduzik.matcharena.engine.EngineState.Yield
- r7 = ref_cmp eq r5 r6
- condbr r7 block_1 block_2
- block_1:
- write_cfield com.meduzik.matcharena.game.field.GameField.checkpointRequested this true
- br block_2
- block_2:
- */
- abort();
- }
- jfl::Number GameField::convertVelocity(jfl::Int velocity){
- /*
- main:
- locals:
- velocity : int
- code:
- block_0:
- r0 = read_local velocity
- r1 = read_cfield com.meduzik.matcharena.engine.EngineConstants.VelocityDivisor
- r2 = read_cfield com.meduzik.matcharena.engine.EngineConstants.VelocityDivisor
- r3 = num_cast Number r1
- r4 = num_binop Number / r0 r3
- ret r4
- */
- abort();
- }
- jfl::Number GameField::getTimestampDelta(jfl::Int timestamp){
- /*
- main:
- locals:
- timestamp : int
- code:
- block_0:
- r0 = read_local timestamp
- r1 = read_cfield com.meduzik.matcharena.game.field.GameField.lastTimestamp this
- r2 = num_binop int - r0 r1
- r3 = read_local timestamp
- r4 = read_cfield com.meduzik.matcharena.game.field.GameField.lastTimestamp this
- r5 = num_binop int - r3 r4
- r6 = num_cast Number r2
- r7 = read_cfield com.meduzik.matcharena.engine.EngineConstants.TicksPerSec
- r8 = num_binop Number / r6 r7
- ret r8
- */
- abort();
- }
- jfl::Boolean GameField::isReadyToAcceptMove(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.state this
- r1 = read_cfield com.meduzik.matcharena.game.field.GameField.StateReadyForMove
- r2 = num_cmp eq r0 r1
- ret r2
- */
- abort();
- }
- void GameField::onCharacterBumps(fl::com::meduzik::matcharena::engine::field::chip::CharacterChip* characterChip, fl::com::meduzik::matcharena::engine::field::EngineCell* cell){
- /*
- main:
- locals:
- characterChip : class com.meduzik.matcharena.engine.field.chip.CharacterChip
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- fromChip : class com.meduzik.matcharena.game.field.chip.ChipObject
- toObject : class com.meduzik.matcharena.game.field.cell.CellObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r1 = read_local characterChip
- r2 = read_dynindex r0 r1
- r3 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r2
- write_local fromChip r3
- r4 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r5 = read_local cell
- r6 = read_dynindex r4 r5
- r7 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r6
- write_local toObject r7
- r8 = read_local fromChip
- r9 = ref_cmp neq r8 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
- r10 = choice r9 Boolean false true
- condbr r10 block_1 block_2
- block_1:
- r11 = phi Boolean (block_0 -> r10) (block_2 -> r12)
- condbr r11 block_3 block_4
- block_2:
- r13 = read_local toObject
- r14 = ref_cmp neq r13 (null:class com.meduzik.matcharena.game.field.cell.CellObject)
- r12 = choice r14 Boolean false true
- block_3:
- ret void
- br block_4
- block_4:
- r15 = read_local fromChip
- r16 = read_local fromChip
- r17 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r16
- r18 = read_local fromChip
- r19 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r18
- r20 = read_local toObject
- r21 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r20
- r22 = read_local toObject
- r23 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r22
- r24 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithTwoPos r15 "CharacterBumps" r17 r19 r21 r23
- */
- abort();
- }
- jfl::Boolean GameField::trySwap(fl::com::meduzik::matcharena::engine::field::EngineCell* from, fl::com::meduzik::matcharena::engine::field::EngineCell* to){
- /*
- main:
- locals:
- from : class com.meduzik.matcharena.engine.field.EngineCell
- to : class com.meduzik.matcharena.engine.field.EngineCell
- swap : class com.meduzik.matcharena.engine.move.SwapMove
- result : Boolean
- fromObject : class com.meduzik.matcharena.game.field.cell.CellObject
- toObject : class com.meduzik.matcharena.game.field.cell.CellObject
- swapResult : class com.meduzik.matcharena.engine.move.SwapResult
- fromChip : class com.meduzik.matcharena.game.field.chip.ChipObject
- toChip : class com.meduzik.matcharena.game.field.chip.ChipObject
- code:
- block_0:
- r0 = read_local from
- r1 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r0
- r2 = read_local from
- r3 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r2
- r4 = read_local to
- r5 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r4
- r6 = read_local to
- r7 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r6
- r8 = call_cmethod com.meduzik.matcharena.engine.move.SwapMove.Make static r1 r3 r5 r7
- write_local swap r8
- write_local result false
- r9 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r10 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.state r9
- r11 = read_cfield com.meduzik.matcharena.engine.EngineState.ReadyForMove
- r12 = ref_cmp eq r10 r11
- condbr r12 block_1 block_2
- block_1:
- write_cfield com.meduzik.matcharena.game.field.GameField.playerSleepTime this 0.000000
- r13 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r14 = read_local from
- r15 = read_dynindex r13 r14
- r16 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r15
- write_local fromObject r16
- r17 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r18 = read_local to
- r19 = read_dynindex r17 r18
- r20 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r19
- write_local toObject r20
- r21 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r22 = read_local swap
- r23 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.evaluateSwapResult r21 r22
- write_local swapResult r23
- r24 = read_local swapResult
- r25 = call_cmethod com.meduzik.matcharena.engine.move.SwapResult.valid r24
- condbr r25 block_3 block_4
- block_2:
- r26 = read_local swap
- r27 = call_cmethod com.meduzik.matcharena.engine.move.SwapMove.dispose r26
- r28 = read_local result
- ret r28
- block_3:
- r29 = read_local swap
- r30 = read_cfield com.meduzik.matcharena.engine.move.SwapMove.fromRow r29
- r31 = read_local swap
- r32 = read_cfield com.meduzik.matcharena.engine.move.SwapMove.fromColumn r31
- r33 = read_local swap
- r34 = read_cfield com.meduzik.matcharena.engine.move.SwapMove.toRow r33
- r35 = read_local swap
- r36 = read_cfield com.meduzik.matcharena.engine.move.SwapMove.toColumn r35
- r37 = call_cmethod com.meduzik.matcharena.game.field.GameField.performSwap this r30 r32 r34 r36
- write_local result r37
- br block_4
- block_4:
- br block_2
- */
- abort();
- }
- void GameField::onUnsuccessfulSwap(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r1 = read_cfield com.meduzik.matcharena.engine.Match3Engine.uiActions r0
- r2 = read_cfield com.meduzik.matcharena.engine.script.uiaction.UIActionEvent.UnsuccessfulSwap
- r3 = call_cmethod com.meduzik.matcharena.engine.script.uiaction.UIActionList.hasActionFor r1 r2
- condbr r3 block_1 block_2
- block_1:
- r4 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r5 = read_cfield com.meduzik.matcharena.engine.Match3Engine.uiActions r4
- r6 = read_cfield com.meduzik.matcharena.engine.script.uiaction.UIActionEvent.UnsuccessfulSwap
- r7 = cmethod_closure com.meduzik.matcharena.game.field.GameField.visitUnsuccessfulSwapAction this
- r8 = call_cmethod com.meduzik.matcharena.engine.script.uiaction.UIActionList.visitUIActions r5 r6 r7
- br block_2
- block_2:
- */
- abort();
- }
- void GameField::visitUnsuccessfulSwapAction(fl::com::meduzik::matcharena::engine::script::uiaction::UIAction* action){
- /*
- main:
- locals:
- action : class com.meduzik.matcharena.engine.script.uiaction.UIAction
- code:
- block_0:
- r0 = read_local action
- r1 = read_cfield com.meduzik.matcharena.engine.script.uiaction.UIAction.specialAction r0
- r2 = read_cfield com.meduzik.matcharena.game.field.GameField.EmptyArray
- r3 = call_cmethod com.meduzik.matcharena.game.field.GameField.peformSpecialAction this r1 r2
- */
- abort();
- }
- jfl::Boolean GameField::peformSpecialAction(jfl::String* specialAction, fl::Array* params){
- /*
- main:
- locals:
- specialAction : class String
- params : class Array
- code:
- block_0:
- r0 = call_cmethod com.meduzik.matcharena.game.field.GameField.isReadyToAcceptMove this
- condbr r0 block_1 block_2
- block_1:
- r1 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r2 = read_local specialAction
- r3 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.willRespondToSpecialAction r1 r2
- condbr r3 block_3 block_4
- block_2:
- ret false
- block_3:
- r4 = call_cmethod com.meduzik.matcharena.game.field.GameField.startProcessing this
- r5 = read_cfield com.meduzik.matcharena.game.field.GameField.record this
- r6 = read_local specialAction
- r7 = read_local params
- r8 = call_cmethod com.meduzik.matcharena.game.field.state.GamePlayRecord.pushSpecialAction r5 r6 r7
- r9 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r10 = read_local specialAction
- r11 = read_local params
- r12 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.submitSpecialAction r9 r10 r11
- ret true
- br block_4
- block_4:
- br block_2
- */
- abort();
- }
- void GameField::submitSkipTutorial(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.speech this
- r1 = call_cmethod com.meduzik.matcharena.game.field.speech.SpeechManager.clearAll r0
- write_cfield com.meduzik.matcharena.game.field.GameField.engineDelay this 0.000000
- r2 = read_cfield com.meduzik.matcharena.game.field.GameField.shoutouts this
- r3 = call_cmethod com.meduzik.matcharena.game.field.shoutout.ShoutoutController.clearAll r2
- br block_1
- block_1:
- r4 = read_cfield com.meduzik.matcharena.game.field.GameField.state this
- r5 = read_cfield com.meduzik.matcharena.game.field.GameField.StateProcessing
- r6 = num_cmp eq r4 r5
- condbr r6 block_2 block_3
- block_2:
- r7 = call_cmethod com.meduzik.matcharena.game.field.GameField.update this 1.000000 true true
- br block_1
- block_3:
- r8 = newclass Array
- r9 = call_cmethod com.meduzik.matcharena.game.field.GameField.peformSpecialAction this "skip-tutorial" r8
- */
- abort();
- }
- void GameField::startProcessing(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.gameOverObject this
- r1 = ref_cmp neq r0 (null:class com.meduzik.matcharena.game.field.effect.SpriteFieldObject)
- condbr r1 block_1 block_2
- block_1:
- r2 = read_cfield com.meduzik.matcharena.game.field.GameField.gameOverObject this
- r3 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.allowRemove r2
- write_cfield com.meduzik.matcharena.game.field.GameField.gameOverObject this (null:class com.meduzik.matcharena.game.field.effect.SpriteFieldObject)
- br block_2
- block_2:
- r4 = read_cfield com.meduzik.matcharena.game.field.GameField.StateProcessing
- write_cfield com.meduzik.matcharena.game.field.GameField.state this r4
- r5 = read_cfield com.meduzik.matcharena.game.field.GameField.interaction this
- r6 = call_cmethod com.meduzik.matcharena.game.field.GameFieldInteraction.setReadyForMove r5 false
- r7 = read_cfield com.meduzik.matcharena.game.field.GameField._hinter this
- r8 = call_cmethod com.meduzik.matcharena.game.field.hint.Hinter.discard r7
- */
- abort();
- }
- jfl::Boolean GameField::performSwap(jfl::Int fromRow, jfl::Int fromColumn, jfl::Int toRow, jfl::Int toColumn){
- /*
- main:
- locals:
- fromRow : int
- fromColumn : int
- toRow : int
- toColumn : int
- swap : class com.meduzik.matcharena.engine.move.SwapMove
- swapResult : class com.meduzik.matcharena.engine.move.SwapResult
- code:
- block_0:
- r0 = call_cmethod com.meduzik.matcharena.game.field.GameField.isReadyToAcceptMove this
- r1 = choice r0 Boolean false true
- condbr r1 block_1 block_2
- block_1:
- ret false
- br block_2
- block_2:
- r2 = read_local fromRow
- r3 = read_local fromColumn
- r4 = read_local toRow
- r5 = read_local toColumn
- r6 = call_cmethod com.meduzik.matcharena.engine.move.SwapMove.Make static r2 r3 r4 r5
- write_local swap r6
- r7 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r8 = read_local swap
- r9 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.evaluateSwapResult r7 r8
- write_local swapResult r9
- r10 = read_local swapResult
- r11 = call_cmethod com.meduzik.matcharena.engine.move.SwapResult.valid r10
- r12 = choice r11 Boolean false true
- condbr r12 block_3 block_4
- block_3:
- ret false
- br block_4
- block_4:
- r13 = call_cmethod com.meduzik.matcharena.game.field.GameField.startProcessing this
- write_cfield com.meduzik.matcharena.game.field.GameField.checkpointRequested this true
- r14 = read_cfield com.meduzik.matcharena.game.field.GameField.record this
- r15 = read_local swap
- r16 = call_cmethod com.meduzik.matcharena.game.field.state.GamePlayRecord.pushSwap r14 r15
- r17 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r18 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.timestamp r17
- write_cfield com.meduzik.matcharena.game.field.GameField.lastTimestamp this r18
- r19 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r20 = read_local swap
- r21 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.submitSwap r19 r20
- r22 = read_local swap
- r23 = call_cmethod com.meduzik.matcharena.engine.move.SwapMove.dispose r22
- ret true
- */
- abort();
- }
- void GameField::touchEngine(){
- /*
- main:
- code:
- block_0:
- r0 = call_cmethod com.meduzik.matcharena.game.field.GameField.startProcessing this
- r1 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r2 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.timestamp r1
- write_cfield com.meduzik.matcharena.game.field.GameField.lastTimestamp this r2
- */
- abort();
- }
- void GameField::startMatchGroup(fl::com::meduzik::matcharena::engine::match::MatchGroup* matchGroup){
- /*
- main:
- locals:
- matchGroup : class com.meduzik.matcharena.engine.match.MatchGroup
- matchObject : class com.meduzik.matcharena.game.field.match.MatchGroupObject
- code:
- block_0:
- r0 = call_cmethod com.meduzik.matcharena.game.field.match.MatchGroupObject.Make static
- write_local matchObject r0
- r1 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r2 = read_local matchGroup
- r3 = read_local matchObject
- r4 = to_any r3
- write_dynindex r1 r2
- */
- abort();
- }
- void GameField::removeMatchGroup(fl::com::meduzik::matcharena::engine::match::MatchGroup* matchGroup){
- /*
- main:
- locals:
- matchGroup : class com.meduzik.matcharena.engine.match.MatchGroup
- matchObject : class com.meduzik.matcharena.game.field.match.MatchGroupObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r1 = read_local matchGroup
- r2 = read_dynindex r0 r1
- r3 = from_any class com.meduzik.matcharena.game.field.match.MatchGroupObject r2
- write_local matchObject r3
- r4 = read_local matchObject
- r5 = call_cmethod com.meduzik.matcharena.game.field.match.MatchGroupObject.dispose r4
- */
- abort();
- }
- void GameField::unionMatchGroup(fl::com::meduzik::matcharena::engine::match::MatchGroup* sourceGroup, fl::com::meduzik::matcharena::engine::match::MatchGroup* targetGroup){
- /*
- main:
- locals:
- sourceGroup : class com.meduzik.matcharena.engine.match.MatchGroup
- targetGroup : class com.meduzik.matcharena.engine.match.MatchGroup
- sourceMatchObject : class com.meduzik.matcharena.game.field.match.MatchGroupObject
- targetMatchObject : class com.meduzik.matcharena.game.field.match.MatchGroupObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r1 = read_local sourceGroup
- r2 = read_dynindex r0 r1
- r3 = from_any class com.meduzik.matcharena.game.field.match.MatchGroupObject r2
- write_local sourceMatchObject r3
- r4 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r5 = read_local targetGroup
- r6 = read_dynindex r4 r5
- r7 = from_any class com.meduzik.matcharena.game.field.match.MatchGroupObject r6
- write_local targetMatchObject r7
- r8 = read_local targetMatchObject
- r9 = read_local sourceMatchObject
- r10 = call_cmethod com.meduzik.matcharena.game.field.match.MatchGroupObject.consume r8 r9
- */
- abort();
- }
- void GameField::matchGroupAddCell(fl::com::meduzik::matcharena::engine::match::MatchGroup* matchGroup, fl::com::meduzik::matcharena::engine::field::EngineCell* cell){
- /*
- main:
- locals:
- matchGroup : class com.meduzik.matcharena.engine.match.MatchGroup
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- cellObject : class com.meduzik.matcharena.game.field.cell.CellObject
- matchObject : class com.meduzik.matcharena.game.field.match.MatchGroupObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r1 = read_local cell
- r2 = read_dynindex r0 r1
- r3 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r2
- write_local cellObject r3
- r4 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r5 = read_local matchGroup
- r6 = read_dynindex r4 r5
- r7 = from_any class com.meduzik.matcharena.game.field.match.MatchGroupObject r6
- write_local matchObject r7
- */
- abort();
- }
- void GameField::destroyLineArrow(fl::com::meduzik::matcharena::engine::trigger::ArrowTrigger* arrowTrigger){
- /*
- main:
- locals:
- arrowTrigger : class com.meduzik.matcharena.engine.trigger.ArrowTrigger
- lineArrow : class com.meduzik.matcharena.game.field.LineArrow
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r1 = read_local arrowTrigger
- r2 = read_dynindex r0 r1
- r3 = from_any class com.meduzik.matcharena.game.field.LineArrow r2
- write_local lineArrow r3
- r4 = read_local lineArrow
- r5 = call_cmethod com.meduzik.matcharena.game.field.LineArrow.despawn r4
- r6 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r7 = read_local lineArrow
- */
- abort();
- }
- void GameField::bombExplode(fl::com::meduzik::matcharena::engine::field::chip::BombChip* bombChip, fl::com::meduzik::matcharena::engine::field::EngineCell* cell){
- /*
- main:
- locals:
- bombChip : class com.meduzik.matcharena.engine.field.chip.BombChip
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- template : interface com.meduzik.bundle.display.DisplayTemplate
- blast : class com.meduzik.matcharena.game.field.trigger.BlastPattern
- code:
- block_0:
- r0 = read_local bombChip
- r1 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.type r0
- r2 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.TYPE_NORMAL
- r3 = num_cmp eq r1 r2
- condbr r3 block_1 block_2
- block_1:
- r4 = read_cfield com.meduzik.matcharena.game.field.GameField._resources this
- r5 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.bombExplosion r4
- write_local template r5
- r6 = call_cmethod com.meduzik.matcharena.game.field.GameField.constants this
- r7 = read_cfield com.meduzik.matcharena.game.GameConstants.BlastBomb r6
- write_local blast r7
- br block_3
- br block_4
- block_2:
- r8 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.TYPE_WINGED
- r9 = num_cmp eq r1 r8
- condbr r9 block_1 block_5
- block_3:
- r10 = read_local template
- r11 = call_cmethod com.meduzik.matcharena.game.field.GameField.createEffect this r10
- r12 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r13 = read_local cell
- r14 = read_dynindex r12 r13
- r15 = from_any class com.meduzik.matcharena.game.field.FieldObject r14
- r16 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.attachToObject r11 r15
- r17 = read_local bombChip
- r18 = call_cmethod com.meduzik.matcharena.engine.field.chip.ColorChip.color r17
- r19 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r18
- r20 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.paint r16 r19
- r21 = read_local blast
- r22 = read_local cell
- r23 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r24 = call_cmethod com.meduzik.matcharena.game.field.trigger.BlastPattern.apply r21 this r22 r23
- block_4:
- r25 = read_cfield com.meduzik.matcharena.game.field.GameField._resources this
- r26 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.bombBigExplosion r25
- write_local template r26
- r27 = call_cmethod com.meduzik.matcharena.game.field.GameField.constants this
- r28 = read_cfield com.meduzik.matcharena.game.GameConstants.BlastBombBomb r27
- write_local blast r28
- br block_3
- br block_3
- block_5:
- r29 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.TYPE_SUPER
- r30 = num_cmp eq r1 r29
- condbr r30 block_4 block_6
- block_6:
- br block_3
- */
- abort();
- }
- void GameField::fireLineEffect(fl::com::meduzik::bundle::display::DisplayTemplate* jfl_template, fl::com::meduzik::matcharena::engine::field::chip::LineChip* lineChip, jfl::Boolean reverse){
- /*
- main:
- locals:
- template : interface com.meduzik.bundle.display.DisplayTemplate
- lineChip : class com.meduzik.matcharena.engine.field.chip.LineChip
- reverse : Boolean
- effect : class com.meduzik.matcharena.game.field.effect.EffectObject
- code:
- block_0:
- r0 = read_local template
- r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.createEffect this r0
- r2 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r3 = read_local lineChip
- r4 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.currentCell r3
- r5 = read_dynindex r2 r4
- r6 = from_any class com.meduzik.matcharena.game.field.FieldObject r5
- r7 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.attachToObject r1 r6
- write_local effect r7
- r8 = read_local effect
- r9 = ref_cmp neq r8 (null:class com.meduzik.matcharena.game.field.effect.EffectObject)
- condbr r9 block_1 block_2
- block_1:
- r10 = read_local lineChip
- r11 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.direction r10
- r12 = read_cfield com.meduzik.matcharena.level.Direction.Vertical
- r13 = ref_cmp eq r11 r12
- r14 = read_local reverse
- r15 = bool_cmp neq r13 r14
- block_2:
- r16 = phi Boolean (block_0 -> r9) (block_1 -> r15)
- condbr r16 block_3 block_4
- block_3:
- r17 = read_local effect
- r18 = read_cfield Math.PI
- r19 = num_binop Number * r18 0.500000
- r20 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.setRotation r17 r19
- br block_4
- block_4:
- r21 = read_local lineChip
- r22 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.type r21
- r23 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.TYPE_LARGE
- r24 = num_cmp eq r22 r23
- condbr r24 block_5 block_6
- block_5:
- r25 = read_local effect
- r26 = read_local lineChip
- r27 = call_cmethod com.meduzik.matcharena.engine.field.chip.ColorChip.color r26
- r28 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r27
- r29 = read_local lineChip
- r30 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.secondColor r29
- r31 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r30
- r32 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.paintAB r25 r28 r31
- br block_7
- br block_8
- block_6:
- r33 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.TYPE_CROSS
- r34 = num_cmp eq r22 r33
- condbr r34 block_5 block_9
- block_7:
- block_8:
- r35 = read_local effect
- r36 = read_local lineChip
- r37 = call_cmethod com.meduzik.matcharena.engine.field.chip.ColorChip.color r36
- r38 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r37
- r39 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.paint r35 r38
- br block_7
- br block_7
- block_9:
- r40 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.TYPE_WINGED
- r41 = num_cmp eq r22 r40
- condbr r41 block_8 block_10
- block_10:
- r42 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.TYPE_NORMAL
- r43 = num_cmp eq r22 r42
- condbr r43 block_8 block_11
- block_11:
- br block_7
- */
- abort();
- }
- void GameField::lineExplode(fl::com::meduzik::matcharena::engine::field::chip::LineChip* lineChip, fl::com::meduzik::matcharena::engine::field::EngineCell* cell){
- /*
- main:
- locals:
- lineChip : class com.meduzik.matcharena.engine.field.chip.LineChip
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- blast : class com.meduzik.matcharena.game.field.trigger.BlastPattern
- template : interface com.meduzik.bundle.display.DisplayTemplate
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField._resources this
- r1 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.lineExplosion r0
- write_local template r1
- r2 = read_local lineChip
- r3 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.type r2
- r4 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.TYPE_LARGE
- r5 = num_cmp eq r3 r4
- condbr r5 block_1 block_2
- block_1:
- r6 = read_cfield com.meduzik.matcharena.game.field.GameField._resources this
- r7 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.lineLargeExplosion r6
- write_local template r7
- r8 = call_cmethod com.meduzik.matcharena.game.field.GameField.constants this
- r9 = read_cfield com.meduzik.matcharena.game.GameConstants.BlastLineBomb r8
- write_local blast r9
- br block_2
- block_2:
- r10 = read_local template
- r11 = read_local lineChip
- r12 = call_cmethod com.meduzik.matcharena.game.field.GameField.fireLineEffect this r10 r11 false
- r13 = read_local lineChip
- r14 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.type r13
- r15 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.TYPE_CROSS
- r16 = num_cmp eq r14 r15
- condbr r16 block_3 block_4
- block_3:
- r17 = phi Boolean (block_2 -> r16) (block_4 -> r18)
- condbr r17 block_5 block_6
- block_4:
- r19 = read_local lineChip
- r20 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.type r19
- r21 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.TYPE_LARGE
- r18 = num_cmp eq r20 r21
- block_5:
- r22 = read_local template
- r23 = read_local lineChip
- r24 = call_cmethod com.meduzik.matcharena.game.field.GameField.fireLineEffect this r22 r23 true
- br block_6
- block_6:
- r25 = read_local blast
- r26 = read_local cell
- r27 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r28 = call_cmethod com.meduzik.matcharena.game.field.trigger.BlastPattern.apply r25 this r26 r27
- */
- abort();
- }
- void GameField::mineExplode(fl::com::meduzik::matcharena::engine::field::chip::MineChip* mineChip, fl::com::meduzik::matcharena::engine::field::EngineCell* cell){
- /*
- main:
- locals:
- mineChip : class com.meduzik.matcharena.engine.field.chip.MineChip
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- template : interface com.meduzik.bundle.display.DisplayTemplate
- code:
- block_0:
- r0 = read_local mineChip
- r1 = read_cfield com.meduzik.matcharena.engine.field.chip.MineChip.supermine r0
- condbr r1 block_1 block_2
- block_1:
- r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.resources this
- r3 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.supermineExplosion r2
- write_local template r3
- r4 = read_local template
- r5 = call_cmethod com.meduzik.matcharena.game.field.GameField.createEffect this r4
- r6 = read_local mineChip
- r7 = to_any r6
- r8 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r7
- r9 = from_any class com.meduzik.matcharena.game.field.FieldObject r8
- r10 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.attachToObject r5 r9
- r11 = read_local mineChip
- r12 = call_cmethod com.meduzik.matcharena.engine.field.chip.ColorChip.color r11
- r13 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r12
- r14 = read_local mineChip
- r15 = read_cfield com.meduzik.matcharena.engine.field.chip.MineChip.secondColor r14
- r16 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r15
- r17 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.paintAB r10 r13 r16
- br block_2
- block_2:
- */
- abort();
- }
- fl::com::meduzik::matcharena::game::field::effect::EffectObject* GameField::createEffect(fl::com::meduzik::bundle::display::DisplayTemplate* jfl_template, jfl::Int layer){
- /*
- main:
- locals:
- template : interface com.meduzik.bundle.display.DisplayTemplate
- layer : int
- effectObject : class com.meduzik.matcharena.game.field.effect.EffectObject
- code:
- block_0:
- r0 = read_local template
- r1 = ref_cmp neq r0 (null:interface com.meduzik.bundle.display.DisplayTemplate)
- condbr r1 block_1 block_2
- block_1:
- r2 = read_local template
- r3 = imethod_closure com.meduzik.bundle.display.DisplayTemplate.createInstance r2
- r4 = call_dynamic r3
- br block_3
- block_2:
- r5 = to_any (null:null)
- br block_3
- block_3:
- r6 = phi * (block_1 -> r4) (block_2 -> r5)
- r7 = from_any class com.meduzik.display.DisplayObject r6
- r8 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.Make static r7
- write_local effectObject r8
- r9 = read_local effectObject
- r10 = read_local layer
- r11 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.layer r9 r10
- r12 = read_local effectObject
- r13 = class_cast throws r12 com.meduzik.matcharena.game.field.FieldObject
- r14 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r13
- r15 = read_local effectObject
- ret r15
- */
- abort();
- }
- fl::com::meduzik::matcharena::game::field::resources::GameFieldResources* GameField::jfl_get_resources(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField._resources this
- ret r0
- */
- abort();
- }
- fl::com::meduzik::fx::FXList* GameField::jfl_get_fxList(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField._fxList this
- ret r0
- */
- abort();
- }
- void GameField::onTurnBegins(jfl::Int turn){
- /*
- main:
- locals:
- turn : int
- code:
- block_0:
- r0 = call_cmethod com.meduzik.matcharena.game.field.GameField.isInteractive this
- condbr r0 block_1 block_2
- block_1:
- r1 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
- r2 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.startTurn r1
- r3 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
- r4 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.raise r3 "turn_begin" 1.000000
- r5 = read_local turn
- r6 = box class int r5
- r7 = to_any r6
- r8 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r4 "turn" r7
- r9 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r10 = read_cfield com.meduzik.matcharena.engine.Match3Engine.level r9
- r11 = call_cmethod com.meduzik.matcharena.level.Level.info r10
- r12 = call_cmethod com.meduzik.matcharena.level.LevelInfo.mode r11
- r13 = call_cmethod com.meduzik.matcharena.level.LevelMode.id r12
- r14 = to_any r13
- r15 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r8 "mode" r14
- r16 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r15
- br block_2
- block_2:
- r17 = read_cfield com.meduzik.matcharena.game.field.GameField.observer this
- r18 = imethod_closure com.meduzik.matcharena.game.GameFieldObserver.onTurnBegins r17
- r19 = read_local turn
- r20 = call_dynamic r18 this r19
- write_cfield com.meduzik.matcharena.game.field.GameField.checkpointRequested this true
- r21 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r22 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.timestamp r21
- write_cfield com.meduzik.matcharena.game.field.GameField.lastTimestamp this r22
- */
- abort();
- }
- void GameField::onTurnEnds(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.record this
- r1 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r2 = read_cfield com.meduzik.matcharena.engine.Match3Engine.turn r1
- r3 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r4 = read_cfield com.meduzik.matcharena.engine.Match3Engine.score r3
- r5 = call_cmethod com.meduzik.matcharena.game.field.state.GamePlayRecord.setScoreAtTurn r0 r2 r4
- r6 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
- r7 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.raise r6 "turn_end" 1.000000
- r8 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r9 = read_cfield com.meduzik.matcharena.engine.Match3Engine.turn r8
- r10 = box class int r9
- r11 = to_any r10
- r12 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r7 "turn" r11
- r13 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r12
- r14 = read_cfield com.meduzik.matcharena.game.field.GameField.observer this
- r15 = imethod_closure com.meduzik.matcharena.game.GameFieldObserver.onTurnEnds r14
- r16 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r17 = read_cfield com.meduzik.matcharena.engine.Match3Engine.turn r16
- r18 = call_dynamic r15 this r17
- r19 = read_cfield com.meduzik.matcharena.game.field.GameField.interactive this
- condbr r19 block_1 block_2
- block_1:
- r20 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r21 = read_cfield com.meduzik.matcharena.engine.Match3Engine.movesLeft r20
- r22 = num_cmp eq r21 1.000000
- condbr r22 block_3 block_4
- block_2:
- block_3:
- r23 = read_cfield com.meduzik.matcharena.game.field.GameField.shoutouts this
- r24 = call_cmethod com.meduzik.matcharena.game.field.shoutout.ShoutoutController.startShoutout r23 "MovesOne"
- br block_4
- block_4:
- br block_2
- */
- abort();
- }
- void GameField::onTimestamp(jfl::Int timestamp){
- /*
- main:
- locals:
- timestamp : int
- code:
- block_0:
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- fromCell : class com.meduzik.matcharena.engine.field.EngineCell
- toCell : class com.meduzik.matcharena.engine.field.EngineCell
- fromChip : class com.meduzik.matcharena.engine.field.chip.Chip
- toChip : class com.meduzik.matcharena.engine.field.chip.Chip
- event : class com.meduzik.matcharena.engine.observer.SwapEvent
- fromObject : class com.meduzik.matcharena.game.field.cell.CellObject
- toObject : class com.meduzik.matcharena.game.field.cell.CellObject
- fromChipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- toChipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r1 = read_local fromCell
- r2 = read_dynindex r0 r1
- r3 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r2
- write_local fromObject r3
- r4 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r5 = read_local toCell
- r6 = read_dynindex r4 r5
- r7 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r6
- write_local toObject r7
- r8 = read_local fromObject
- r9 = ref_cmp neq r8 (null:class com.meduzik.matcharena.game.field.cell.CellObject)
- condbr r9 block_1 block_2
- block_1:
- r10 = read_local toObject
- r11 = ref_cmp neq r10 (null:class com.meduzik.matcharena.game.field.cell.CellObject)
- block_2:
- r12 = phi Boolean (block_0 -> r9) (block_1 -> r11)
- condbr r12 block_3 block_4
- block_3:
- r13 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r14 = read_local fromChip
- r15 = read_dynindex r13 r14
- r16 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r15
- write_local fromChipObject r16
- r17 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r18 = read_local toChip
- r19 = read_dynindex r17 r18
- r20 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r19
- write_local toChipObject r20
- r21 = read_local fromChipObject
- r22 = ref_cmp neq r21 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
- condbr r22 block_5 block_6
- block_4:
- block_5:
- r23 = read_local fromChipObject
- r24 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.bringToFront r23
- br block_6
- block_6:
- r25 = read_local event
- r26 = read_cfield com.meduzik.matcharena.engine.observer.SwapEvent.CharacterWalk
- r27 = ref_cmp eq r25 r26
- condbr r27 block_7 block_8
- block_7:
- r28 = read_local fromChipObject
- r29 = read_local toObject
- r30 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r29
- r31 = read_local toObject
- r32 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r31
- r33 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithPos r28 "CharacterWalk" r30 r32
- r34 = read_local toChipObject
- r35 = ref_cmp neq r34 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
- condbr r35 block_9 block_10
- block_8:
- r36 = read_cfield com.meduzik.matcharena.engine.observer.SwapEvent.CharacterBacktrack
- r37 = ref_cmp eq r25 r36
- condbr r37 block_11 block_12
- block_9:
- r38 = read_local toChipObject
- r39 = read_local fromObject
- r40 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r39
- r41 = read_local fromObject
- r42 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r41
- r43 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithPos r38 "CharacterWalkOver" r40 r42
- br block_10
- block_10:
- r44 = read_cfield com.meduzik.matcharena.game.field.GameField.decorSet this
- r45 = call_cmethod com.meduzik.matcharena.game.field.decor.DecorObjectSet.updateTraps r44
- br block_13
- br block_11
- block_11:
- r46 = read_local fromChipObject
- r47 = read_local toObject
- r48 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r47
- r49 = read_local toObject
- r50 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r49
- r51 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithPos r46 "CharacterBacktrack" r48 r50
- r52 = read_local toChipObject
- r53 = ref_cmp neq r52 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
- condbr r53 block_14 block_15
- block_12:
- br block_16
- block_13:
- br block_4
- block_14:
- r54 = read_local toChipObject
- r55 = read_local fromObject
- r56 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r55
- r57 = read_local fromObject
- r58 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r57
- r59 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithPos r54 "CharacterBacktrackOver" r56 r58
- br block_15
- block_15:
- br block_13
- br block_16
- block_16:
- r60 = read_local fromObject
- r61 = read_local toObject
- r62 = call_cmethod com.meduzik.matcharena.game.field.GameField.showSwapSplash this r60 r61
- r63 = read_local fromChipObject
- r64 = ref_cmp neq r63 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
- condbr r64 block_17 block_18
- block_17:
- r65 = read_local fromChipObject
- r66 = read_local toObject
- r67 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r66
- r68 = read_local toObject
- r69 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r68
- r70 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithPos r65 "SwapTop" r67 r69
- br block_18
- block_18:
- r71 = read_local toChipObject
- r72 = ref_cmp neq r71 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
- condbr r72 block_19 block_20
- block_19:
- r73 = read_local toChipObject
- r74 = read_local fromObject
- r75 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r74
- r76 = read_local fromObject
- r77 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r76
- r78 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithPos r73 "SwapBottom" r75 r77
- br block_20
- block_20:
- br block_13
- br block_13
- */
- abort();
- }
- void GameField::showSwapSplash(fl::com::meduzik::matcharena::game::field::cell::CellObject* fromObject, fl::com::meduzik::matcharena::game::field::cell::CellObject* toObject){
- /*
- main:
- locals:
- fromObject : class com.meduzik.matcharena.game.field.cell.CellObject
- toObject : class com.meduzik.matcharena.game.field.cell.CellObject
- splash : class com.meduzik.matcharena.game.field.effect.EffectObject
- code:
- block_0:
- r0 = call_cmethod com.meduzik.matcharena.game.field.GameField.resources this
- r1 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.swapSplash r0
- r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.createEffect this r1
- write_local splash r2
- r3 = read_local splash
- r4 = read_local fromObject
- r5 = class_cast throws r4 com.meduzik.matcharena.game.field.FieldObject
- r6 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.attachToObject r3 r5
- r7 = read_local splash
- r8 = read_local toObject
- r9 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r8
- r10 = read_local fromObject
- r11 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r10
- r12 = num_binop Number - r9 r11
- r13 = read_local toObject
- r14 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r13
- r15 = read_local fromObject
- r16 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r15
- r17 = num_binop Number - r14 r16
- r18 = call_cmethod Math.atan2 static r12 r17
- r19 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.setRotation r7 r18
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- event : class com.meduzik.matcharena.game.field.QuestEvent
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- code:
- block_0:
- r0 = read_local chip
- r1 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.getColor r0
- r2 = ref_cmp neq r1 (null:class com.meduzik.matcharena.engine.EngineColor)
- condbr r2 block_1 block_2
- block_1:
- r3 = read_local event
- r4 = read_local chip
- r5 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.getColor r4
- r6 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r5
- r7 = call_cmethod com.meduzik.matcharena.level.Color.getName r6
- r8 = to_any r7
- r9 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r3 "color" r8
- br block_2
- block_2:
- r10 = read_local chip
- r11 = class_test r10 com.meduzik.matcharena.engine.field.chip.MundaneChip
- condbr r11 block_3 block_4
- block_3:
- r12 = read_local chip
- r13 = read_local chip
- r14 = class_cast throws r12 com.meduzik.matcharena.engine.field.chip.MundaneChip
- r15 = read_cfield com.meduzik.matcharena.engine.field.chip.MundaneChip.fishy r14
- block_4:
- r16 = phi Boolean (block_2 -> r11) (block_3 -> r15)
- condbr r16 block_5 block_6
- block_5:
- r17 = read_local event
- r18 = box class Number 1.000000
- r19 = to_any r18
- r20 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r17 "fish" r19
- br block_6
- block_6:
- r21 = read_local event
- r22 = read_local chip
- r23 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.getDescription r22
- r24 = to_any r23
- r25 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r21 "type" r24
- r26 = read_local event
- ret r26
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- event : class com.meduzik.matcharena.game.field.QuestEvent
- tile : class com.meduzik.matcharena.engine.field.tile.Tile
- code:
- block_0:
- r0 = read_local event
- r1 = read_local tile
- r2 = call_cmethod com.meduzik.matcharena.engine.field.tile.Tile.getDescription r1
- r3 = to_any r2
- r4 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r0 "type" r3
- r5 = read_local event
- ret r5
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- event : class com.meduzik.matcharena.game.field.QuestEvent
- cover : class com.meduzik.matcharena.engine.field.cover.Cover
- code:
- block_0:
- r0 = read_local event
- r1 = read_local cover
- r2 = call_cmethod com.meduzik.matcharena.engine.field.cover.Cover.getDescription r1
- r3 = to_any r2
- r4 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r0 "type" r3
- r5 = read_local event
- ret r5
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- event : class com.meduzik.matcharena.game.field.QuestEvent
- plate : class com.meduzik.matcharena.engine.field.plate.Plate
- code:
- block_0:
- r0 = read_local event
- r1 = read_local plate
- r2 = call_cmethod com.meduzik.matcharena.engine.field.plate.Plate.getDescription r1
- r3 = to_any r2
- r4 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r0 "type" r3
- r5 = read_local event
- ret r5
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- fromCell : class com.meduzik.matcharena.engine.field.EngineCell
- toCell : class com.meduzik.matcharena.engine.field.EngineCell
- fromChip : class com.meduzik.matcharena.engine.field.chip.Chip
- toChip : class com.meduzik.matcharena.engine.field.chip.Chip
- combo : class com.meduzik.matcharena.engine.combo.Combo
- inverse : Boolean
- chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r1 = read_cfield com.meduzik.matcharena.game.EventContext.COMBINE
- r2 = call_cmethod com.meduzik.matcharena.game.EventContext.begin r0 r1
- r3 = call_cmethod com.meduzik.matcharena.game.field.GameField.raise this "use_bonus"
- r4 = read_local fromChip
- r5 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillChipQuestProperties this r3 r4
- r6 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r5
- r7 = call_cmethod com.meduzik.matcharena.game.field.GameField.raise this "use_bonus"
- r8 = read_local toChip
- r9 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillChipQuestProperties this r7 r8
- r10 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r9
- r11 = call_cmethod com.meduzik.matcharena.game.field.GameField.raise this "make_combo"
- r12 = read_local fromChip
- r13 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.getID r12
- r14 = to_any r13
- r15 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r11 "first" r14
- r16 = read_local toChip
- r17 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.getID r16
- r18 = to_any r17
- r19 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r15 "second" r18
- r20 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r19
- r21 = read_local fromChip
- r22 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.getKind r21
- r23 = call_cmethod com.meduzik.matcharena.engine.field.chip.ChipKind.id r22
- r24 = read_local toChip
- r25 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.getKind r24
- r26 = call_cmethod com.meduzik.matcharena.engine.field.chip.ChipKind.id r25
- r27 = str_cmp neq r23 r26
- condbr r27 block_1 block_2
- block_1:
- r28 = call_cmethod com.meduzik.matcharena.game.field.GameField.raise this "make_combo"
- r29 = read_local toChip
- r30 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.getID r29
- r31 = to_any r30
- r32 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r28 "first" r31
- r33 = read_local fromChip
- r34 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.getID r33
- r35 = to_any r34
- r36 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r32 "second" r35
- r37 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r36
- br block_2
- block_2:
- r38 = read_local combo
- r39 = read_cfield com.meduzik.matcharena.engine.combo.Combo.MineMine
- r40 = ref_cmp eq r38 r39
- condbr r40 block_3 block_4
- block_3:
- r41 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r42 = read_local fromChip
- r43 = read_dynindex r41 r42
- r44 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r43
- write_local chipObject r44
- r45 = read_local chipObject
- r46 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r45 "MineMineCombine"
- br block_4
- block_4:
- */
- abort();
- }
- fl::com::meduzik::matcharena::game::field::QuestEvent* GameField::raise(jfl::String* type, jfl::Number value){
- /*
- main:
- locals:
- type : class String
- value : Number
- event : class com.meduzik.matcharena.game.field.QuestEvent
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
- r1 = read_local type
- r2 = read_local value
- r3 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.raise r0 r1 r2
- write_local event r3
- r4 = read_local event
- ret r4
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- primaryChip : class com.meduzik.matcharena.engine.field.chip.Chip
- secondaryChip : class com.meduzik.matcharena.engine.field.chip.Chip
- fromCell : class com.meduzik.matcharena.engine.field.EngineCell
- toCell : class com.meduzik.matcharena.engine.field.EngineCell
- needSwap : Boolean
- primaryChipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- primaryCell : class com.meduzik.matcharena.game.field.cell.CellObject
- secondaryChipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- secondaryCell : class com.meduzik.matcharena.game.field.cell.CellObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r1 = read_local primaryChip
- r2 = read_dynindex r0 r1
- r3 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r2
- write_local primaryChipObject r3
- r4 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r5 = read_local toCell
- r6 = read_dynindex r4 r5
- r7 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r6
- write_local primaryCell r7
- r8 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r9 = read_local secondaryChip
- r10 = read_dynindex r8 r9
- r11 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r10
- write_local secondaryChipObject r11
- r12 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r13 = read_local fromCell
- r14 = read_dynindex r12 r13
- r15 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r14
- write_local secondaryCell r15
- r16 = read_local primaryChipObject
- r17 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.bringToFront r16
- r18 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r19 = read_local fromCell
- r20 = read_dynindex r18 r19
- r21 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r20
- r22 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r23 = read_local toCell
- r24 = read_dynindex r22 r23
- r25 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r24
- r26 = call_cmethod com.meduzik.matcharena.game.field.GameField.showSwapSplash this r21 r25
- r27 = read_local needSwap
- condbr r27 block_1 block_2
- block_1:
- r28 = read_local primaryChipObject
- r29 = read_local secondaryCell
- r30 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r29
- r31 = read_local secondaryCell
- r32 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r31
- r33 = read_local primaryCell
- r34 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r33
- r35 = read_local primaryCell
- r36 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r35
- r37 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithTwoPos r28 "ComboFuseTargetPrimarySwap" r30 r32 r34 r36
- r38 = read_local secondaryChipObject
- r39 = read_local secondaryChipObject
- r40 = read_local primaryCell
- r41 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r40
- r42 = read_local primaryCell
- r43 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r42
- r44 = read_local secondaryCell
- r45 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r44
- r46 = read_local secondaryCell
- r47 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r46
- r48 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithTwoPos r39 "ComboFuseTargetSecondaryStay" r41 r43 r45 r47
- r49 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r38 r48
- br block_2
- block_2:
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- primaryChip : class com.meduzik.matcharena.engine.field.chip.Chip
- secondaryChip : class com.meduzik.matcharena.engine.field.chip.Chip
- fromCell : class com.meduzik.matcharena.engine.field.EngineCell
- toCell : class com.meduzik.matcharena.engine.field.EngineCell
- needSwap : Boolean
- primaryChipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- primaryCell : class com.meduzik.matcharena.game.field.cell.CellObject
- secondaryChipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- secondaryCell : class com.meduzik.matcharena.game.field.cell.CellObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r1 = read_local primaryChip
- r2 = read_dynindex r0 r1
- r3 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r2
- write_local primaryChipObject r3
- r4 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r5 = read_local toCell
- r6 = read_dynindex r4 r5
- r7 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r6
- write_local primaryCell r7
- r8 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r9 = read_local secondaryChip
- r10 = read_dynindex r8 r9
- r11 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r10
- write_local secondaryChipObject r11
- r12 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r13 = read_local fromCell
- r14 = read_dynindex r12 r13
- r15 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r14
- write_local secondaryCell r15
- r16 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r17 = read_local fromCell
- r18 = read_dynindex r16 r17
- r19 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r18
- r20 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r21 = read_local toCell
- r22 = read_dynindex r20 r21
- r23 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r22
- r24 = call_cmethod com.meduzik.matcharena.game.field.GameField.showSwapSplash this r19 r23
- r25 = read_local primaryChipObject
- r26 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.bringToFront r25
- r27 = read_local needSwap
- condbr r27 block_1 block_2
- block_1:
- r28 = read_local primaryChipObject
- r29 = read_local secondaryCell
- r30 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r29
- r31 = read_local secondaryCell
- r32 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r31
- r33 = read_local primaryCell
- r34 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r33
- r35 = read_local primaryCell
- r36 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r35
- r37 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithTwoPos r28 "ComboFuseBetweenPrimarySwap" r30 r32 r34 r36
- r38 = read_local secondaryChipObject
- r39 = read_local secondaryChipObject
- r40 = read_local primaryCell
- r41 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r40
- r42 = read_local primaryCell
- r43 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r42
- r44 = read_local secondaryCell
- r45 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r44
- r46 = read_local secondaryCell
- r47 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r46
- r48 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithTwoPos r39 "ComboFuseBetweenSecondaryStay" r41 r43 r45 r47
- r49 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r38 r48
- br block_2
- block_2:
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- primaryChip : class com.meduzik.matcharena.engine.field.chip.Chip
- secondaryChip : class com.meduzik.matcharena.engine.field.chip.Chip
- fromCell : class com.meduzik.matcharena.engine.field.EngineCell
- toCell : class com.meduzik.matcharena.engine.field.EngineCell
- needSwap : Boolean
- code:
- block_0:
- r0 = read_local needSwap
- condbr r0 block_1 block_2
- block_1:
- r1 = read_local fromCell
- r2 = read_local toCell
- r3 = read_local primaryChip
- r4 = read_local secondaryChip
- r5 = read_cfield com.meduzik.matcharena.engine.observer.SwapEvent.SwapMove
- r6 = call_cmethod com.meduzik.matcharena.game.field.GameField.onChipsSwap this r1 r2 r3 r4 r5
- br block_2
- block_2:
- */
- abort();
- }
- void GameField::onChipsCombineEnd(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r1 = call_cmethod com.meduzik.matcharena.game.EventContext.end r0
- */
- abort();
- }
- void GameField::onChipFallEnds(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
- /*
- main:
- locals:
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- target : class com.meduzik.matcharena.game.field.cell.CellObject
- chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r1 = read_local chip
- r2 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.currentCell r1
- r3 = read_dynindex r0 r2
- r4 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r3
- write_local target r4
- r5 = read_local target
- r6 = ref_cmp neq r5 (null:class com.meduzik.matcharena.game.field.cell.CellObject)
- r7 = choice r6 Boolean false true
- condbr r7 block_1 block_2
- block_1:
- r8 = read_local chip
- r9 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeChipEntity this r8
- write_local chipObject r9
- r10 = read_local chipObject
- r11 = ref_cmp neq r10 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
- condbr r11 block_3 block_4
- block_2:
- block_3:
- r12 = read_local chipObject
- r13 = read_local chipObject
- r14 = read_cfield com.meduzik.fx.combinators.FXZero.Instance
- r15 = class_cast throws r14 com.meduzik.fx.FX
- r16 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runCustomFX r13 r15
- r17 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r12 r16
- br block_4
- block_4:
- br block_2
- */
- abort();
- }
- void GameField::onChipFalls(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip, fl::com::meduzik::matcharena::engine::field::CellEdge* edge){
- /*
- main:
- locals:
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- edge : class com.meduzik.matcharena.engine.field.CellEdge
- source : class com.meduzik.matcharena.game.field.cell.CellObject
- target : class com.meduzik.matcharena.game.field.cell.CellObject
- chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- outPortal : class com.meduzik.matcharena.engine.field.portal.PortalNode
- inPortal : class com.meduzik.matcharena.engine.field.portal.PortalNode
- outMap : class Array
- inMap : class Array
- obj : class com.meduzik.matcharena.game.field.effect.SpriteFieldObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r1 = read_local edge
- r2 = read_cfield com.meduzik.matcharena.engine.field.CellEdge.source r1
- r3 = read_dynindex r0 r2
- r4 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r3
- write_local source r4
- r5 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r6 = read_local edge
- r7 = read_cfield com.meduzik.matcharena.engine.field.CellEdge.target r6
- r8 = read_dynindex r5 r7
- r9 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r8
- write_local target r9
- r10 = read_local source
- r11 = ref_cmp neq r10 (null:class com.meduzik.matcharena.game.field.cell.CellObject)
- r12 = choice r11 Boolean false true
- condbr r12 block_1 block_2
- block_1:
- r13 = read_local target
- r14 = ref_cmp neq r13 (null:class com.meduzik.matcharena.game.field.cell.CellObject)
- r15 = choice r14 Boolean false true
- block_2:
- r16 = phi Boolean (block_0 -> r12) (block_1 -> r15)
- condbr r16 block_3 block_4
- block_3:
- ret void
- br block_4
- block_4:
- r17 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r18 = read_local chip
- r19 = read_dynindex r17 r18
- r20 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r19
- write_local chipObject r20
- r21 = read_local chipObject
- r22 = ref_cmp neq r21 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
- r23 = choice r22 Boolean false true
- condbr r23 block_5 block_6
- block_5:
- r24 = read_local chip
- r25 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.currentCell r24
- r26 = read_local chip
- r27 = call_cmethod com.meduzik.matcharena.game.field.GameField.createChipEntity this r25 r26
- write_local chipObject r27
- br block_6
- block_6:
- r28 = read_local edge
- r29 = read_cfield com.meduzik.matcharena.engine.field.CellEdge.portal r28
- condbr r29 block_7 block_8
- block_7:
- r30 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r31 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r30
- r32 = read_cfield com.meduzik.matcharena.engine.field.Field.portals r31
- r33 = read_local edge
- r34 = read_cfield com.meduzik.matcharena.engine.field.CellEdge.source r33
- r35 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r34
- r36 = read_local edge
- r37 = read_cfield com.meduzik.matcharena.engine.field.CellEdge.source r36
- r38 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r37
- r39 = read_local edge
- r40 = read_cfield com.meduzik.matcharena.engine.field.CellEdge.outSide r39
- r41 = call_cmethod com.meduzik.matcharena.engine.field.portal.PortalNodes.findPortal r32 r35 r38 r40
- write_local outPortal r41
- r42 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r43 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r42
- r44 = read_cfield com.meduzik.matcharena.engine.field.Field.portals r43
- r45 = read_local edge
- r46 = read_cfield com.meduzik.matcharena.engine.field.CellEdge.target r45
- r47 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r46
- r48 = read_local edge
- r49 = read_cfield com.meduzik.matcharena.engine.field.CellEdge.target r48
- r50 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r49
- r51 = read_local edge
- r52 = read_cfield com.meduzik.matcharena.engine.field.CellEdge.inSide r51
- r53 = call_cmethod com.meduzik.matcharena.engine.field.portal.PortalNodes.findPortal r44 r47 r50 r52
- write_local inPortal r53
- r54 = read_local outPortal
- r55 = to_any r54
- r56 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r55
- r57 = from_any class Array r56
- write_local outMap r57
- r58 = read_local inPortal
- r59 = to_any r58
- r60 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r59
- r61 = from_any class Array r60
- write_local inMap r61
- r62 = read_local outMap
- r63 = ref_cmp neq r62 (null:class Array)
- condbr r63 block_9 block_10
- block_8:
- r64 = read_local chipObject
- r65 = read_cfield com.meduzik.matcharena.game.field.chip.ChipObject.movement r64
- r66 = read_local edge
- r67 = read_local chip
- r68 = read_cfield com.meduzik.matcharena.engine.field.chip.Chip.fallBeginTimestamp r67
- r69 = call_cmethod com.meduzik.matcharena.game.field.GameField.getTimestampDelta this r68
- r70 = read_local chip
- r71 = read_cfield com.meduzik.matcharena.engine.field.chip.Chip.changeCellTimestamp r70
- r72 = call_cmethod com.meduzik.matcharena.game.field.GameField.getTimestampDelta this r71
- r73 = read_local chip
- r74 = read_cfield com.meduzik.matcharena.engine.field.chip.Chip.fallEndTimestamp r73
- r75 = call_cmethod com.meduzik.matcharena.game.field.GameField.getTimestampDelta this r74
- r76 = read_local chip
- r77 = read_cfield com.meduzik.matcharena.engine.field.chip.Chip.velocityBegin r76
- r78 = call_cmethod com.meduzik.matcharena.game.field.GameField.convertVelocity this r77
- r79 = read_local chip
- r80 = read_cfield com.meduzik.matcharena.engine.field.chip.Chip.velocityBegin r79
- r81 = read_local chip
- r82 = read_cfield com.meduzik.matcharena.engine.field.chip.Chip.velocityEnd r81
- r83 = num_binop int + r80 r82
- r84 = call_cmethod com.meduzik.matcharena.game.field.GameField.convertVelocity this r83
- r85 = read_local chip
- r86 = read_cfield com.meduzik.matcharena.engine.field.chip.Chip.velocityEnd r85
- r87 = call_cmethod com.meduzik.matcharena.game.field.GameField.convertVelocity this r86
- r88 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipMovement.fallOnEdge r65 this r66 r69 r72 r75 r78 r84 r87
- block_9:
- br block_10
- block_10:
- r89 = read_local inMap
- r90 = ref_cmp neq r89 (null:class Array)
- condbr r90 block_11 block_12
- block_11:
- br block_12
- block_12:
- br block_8
- */
- abort();
- }
- void GameField::onChipGenerated(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip, fl::com::meduzik::matcharena::engine::field::CellEdge* edge){
- /*
- main:
- locals:
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- edge : class com.meduzik.matcharena.engine.field.CellEdge
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- cellObject : class com.meduzik.matcharena.game.field.cell.CellObject
- chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- code:
- block_0:
- r0 = read_local edge
- r1 = read_cfield com.meduzik.matcharena.engine.field.CellEdge.target r0
- write_local cell r1
- r2 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r3 = read_local edge
- r4 = read_cfield com.meduzik.matcharena.engine.field.CellEdge.target r3
- r5 = read_dynindex r2 r4
- r6 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r5
- write_local cellObject r6
- r7 = read_local cellObject
- r8 = ref_cmp neq r7 (null:class com.meduzik.matcharena.game.field.cell.CellObject)
- condbr r8 block_1 block_2
- block_1:
- r9 = read_local chip
- r10 = call_cmethod com.meduzik.matcharena.game.field.GameField.createChipFromEngineChip this r9
- write_local chipObject r10
- r11 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r12 = read_local chip
- r13 = read_local chipObject
- r14 = to_any r13
- write_dynindex r11 r12
- r15 = read_local chipObject
- r16 = class_cast throws r15 com.meduzik.matcharena.game.field.FieldObject
- r17 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r16
- r18 = read_local chip
- r19 = read_local edge
- r20 = call_cmethod com.meduzik.matcharena.game.field.GameField.onChipFalls this r18 r19
- br block_2
- block_2:
- */
- abort();
- }
- void GameField::onMatchGroupCreated(fl::com::meduzik::matcharena::engine::match::MatchGroup* matchGroup){
- /*
- main:
- locals:
- matchGroup : class com.meduzik.matcharena.engine.match.MatchGroup
- code:
- block_0:
- */
- abort();
- }
- void GameField::onMatchGroupCellAdded(fl::com::meduzik::matcharena::engine::match::MatchGroup* matchGroup, fl::com::meduzik::matcharena::engine::field::EngineCell* cell){
- /*
- main:
- locals:
- matchGroup : class com.meduzik.matcharena.engine.match.MatchGroup
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- code:
- block_0:
- */
- abort();
- }
- void GameField::onMatchGroupHitTimeUpdated(fl::com::meduzik::matcharena::engine::match::MatchGroup* matchGroup, jfl::Int hitTimestamp){
- /*
- main:
- locals:
- matchGroup : class com.meduzik.matcharena.engine.match.MatchGroup
- hitTimestamp : int
- code:
- block_0:
- */
- abort();
- }
- void GameField::onMatchGroupsMerge(fl::com::meduzik::matcharena::engine::match::MatchGroup* sourceGroup, fl::com::meduzik::matcharena::engine::match::MatchGroup* targetGroup){
- /*
- main:
- locals:
- sourceGroup : class com.meduzik.matcharena.engine.match.MatchGroup
- targetGroup : class com.meduzik.matcharena.engine.match.MatchGroup
- code:
- block_0:
- */
- abort();
- }
- void GameField::onMatchGroupActivateBegin(fl::com::meduzik::matcharena::engine::match::MatchGroup* matchGroup){
- /*
- main:
- locals:
- matchGroup : class com.meduzik.matcharena.engine.match.MatchGroup
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r1 = read_cfield com.meduzik.matcharena.game.EventContext.MATCH
- r2 = call_cmethod com.meduzik.matcharena.game.EventContext.begin r0 r1
- */
- abort();
- }
- void GameField::onSpawnBonus(fl::com::meduzik::matcharena::engine::match::BonusElement* bonus){
- /*
- main:
- locals:
- bonus : class com.meduzik.matcharena.engine.match.BonusElement
- chip : class com.meduzik.matcharena.game.field.chip.ChipObject
- bonusCell : class com.meduzik.matcharena.engine.match.BonusCell
- chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- code:
- block_0:
- r0 = read_local bonus
- r1 = read_cfield com.meduzik.matcharena.engine.match.BonusElement.spawnCell r0
- r2 = ref_cmp neq r1 (null:class com.meduzik.matcharena.engine.field.EngineCell)
- condbr r2 block_1 block_2
- block_1:
- r3 = read_local bonus
- r4 = read_cfield com.meduzik.matcharena.engine.match.BonusElement.spawnChip r3
- r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.engine.field.chip.Chip)
- block_2:
- r6 = phi Boolean (block_0 -> r2) (block_1 -> r5)
- condbr r6 block_3 block_4
- block_3:
- r7 = read_local bonus
- r8 = read_cfield com.meduzik.matcharena.engine.match.BonusElement.spawnChip r7
- r9 = call_cmethod com.meduzik.matcharena.game.field.GameField.createChipFromEngineChip this r8
- write_local chip r9
- r10 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r11 = read_local bonus
- r12 = read_cfield com.meduzik.matcharena.engine.match.BonusElement.spawnChip r11
- r13 = read_local chip
- r14 = to_any r13
- write_dynindex r10 r12
- r15 = read_local chip
- r16 = class_cast throws r15 com.meduzik.matcharena.game.field.FieldObject
- r17 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r16
- r18 = read_local chip
- r19 = read_local bonus
- r20 = read_cfield com.meduzik.matcharena.engine.match.BonusElement.spawnCell r19
- r21 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r20
- r22 = read_local bonus
- r23 = read_cfield com.meduzik.matcharena.engine.match.BonusElement.spawnCell r22
- r24 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r23
- r25 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.placeAtCellPosition r18 r21 r24
- r26 = read_local chip
- r27 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r26 "BonusSpawn"
- br block_4
- block_4:
- r28 = call_cmethod com.meduzik.matcharena.game.field.GameField.raise this "make_bonus"
- r29 = read_local bonus
- r30 = read_cfield com.meduzik.matcharena.engine.match.BonusElement.spawnChip r29
- r31 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillChipQuestProperties this r28 r30
- r32 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r31
- r33 = read_local bonus
- r34 = read_cfield com.meduzik.matcharena.engine.match.BonusElement.firstCell r33
- write_local bonusCell r34
- br block_5
- block_5:
- r35 = read_local bonusCell
- r36 = ref_cmp neq r35 (null:class com.meduzik.matcharena.engine.match.BonusCell)
- condbr r36 block_6 block_7
- block_6:
- r37 = read_local bonusCell
- r38 = read_cfield com.meduzik.matcharena.engine.match.BonusCell.chip r37
- r39 = ref_cmp neq r38 (null:class com.meduzik.matcharena.engine.field.chip.Chip)
- condbr r39 block_8 block_9
- block_7:
- block_8:
- r40 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r41 = read_local bonusCell
- r42 = read_cfield com.meduzik.matcharena.engine.match.BonusCell.chip r41
- r43 = read_dynindex r40 r42
- r44 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r43
- write_local chipObject r44
- r45 = read_local chipObject
- r46 = ref_cmp neq r45 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
- condbr r46 block_10 block_11
- block_9:
- br block_12
- block_10:
- r47 = read_local bonusCell
- r48 = read_cfield com.meduzik.matcharena.engine.match.BonusCell.chip r47
- r49 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.isDecaying r48
- block_11:
- r50 = phi Boolean (block_8 -> r46) (block_10 -> r49)
- condbr r50 block_13 block_14
- block_12:
- r51 = read_local bonusCell
- r52 = read_cfield com.meduzik.matcharena.engine.match.BonusCell.next r51
- write_local bonusCell r52
- br block_5
- block_13:
- r53 = read_local chipObject
- r54 = read_cfield com.meduzik.matcharena.game.field.chip.ChipObject.movement r53
- r55 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipMovement.finish r54
- r56 = read_local chipObject
- r57 = read_local chipObject
- r58 = read_local bonus
- r59 = read_cfield com.meduzik.matcharena.engine.match.BonusElement.spawnCell r58
- r60 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r59
- r61 = call_cmethod com.meduzik.matcharena.game.field.GameField.constants this
- r62 = read_cfield com.meduzik.matcharena.game.GameConstants.CellSize r61
- r63 = num_binop Number * r60 r62
- r64 = read_local bonus
- r65 = read_cfield com.meduzik.matcharena.engine.match.BonusElement.spawnCell r64
- r66 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r65
- r67 = call_cmethod com.meduzik.matcharena.game.field.GameField.constants this
- r68 = read_cfield com.meduzik.matcharena.game.GameConstants.CellSize r67
- r69 = num_binop Number * r66 r68
- r70 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithPos r57 "ChipConsumeWithBonus" r63 r69
- r71 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r56 r70
- br block_14
- block_14:
- r72 = call_cmethod com.meduzik.matcharena.game.field.GameField.resources this
- r73 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.bonusCell r72
- r74 = read_cfield com.meduzik.matcharena.game.field.view.SortLayer.OverTile
- r75 = call_cmethod com.meduzik.matcharena.game.field.GameField.createEffect this r73 r74
- r76 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r77 = read_local bonusCell
- r78 = read_cfield com.meduzik.matcharena.engine.match.BonusCell.cell r77
- r79 = read_dynindex r76 r78
- r80 = from_any class com.meduzik.matcharena.game.field.FieldObject r79
- r81 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.attachToObject r75 r80
- br block_9
- */
- abort();
- }
- void GameField::onMatchGroupActivateEnd(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r1 = call_cmethod com.meduzik.matcharena.game.EventContext.end r0
- */
- abort();
- }
- void GameField::onExplosionPropagateBegin(fl::com::meduzik::matcharena::engine::trigger::BombTrigger* explosion, fl::com::meduzik::matcharena::engine::CellsPattern* pattern){
- /*
- main:
- locals:
- explosion : class com.meduzik.matcharena.engine.trigger.BombTrigger
- pattern : class com.meduzik.matcharena.engine.CellsPattern
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r1 = read_cfield com.meduzik.matcharena.game.EventContext.EXPLOSION
- r2 = call_cmethod com.meduzik.matcharena.game.EventContext.begin r0 r1
- */
- abort();
- }
- void GameField::onExplosionPropagateEnd(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r1 = call_cmethod com.meduzik.matcharena.game.EventContext.end r0
- */
- abort();
- }
- void GameField::onExplosionDecays(fl::com::meduzik::matcharena::engine::trigger::BombTrigger* explosion){
- /*
- main:
- locals:
- explosion : class com.meduzik.matcharena.engine.trigger.BombTrigger
- code:
- block_0:
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- explosion : class com.meduzik.matcharena.engine.trigger.BombTrigger
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r1 = read_cfield com.meduzik.matcharena.game.EventContext.FALL_INTO_EXPLOSION
- r2 = call_cmethod com.meduzik.matcharena.game.EventContext.begin r0 r1
- */
- abort();
- }
- void GameField::onChipFallsIntoExplosionEnd(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r1 = call_cmethod com.meduzik.matcharena.game.EventContext.end r0
- */
- abort();
- }
- void GameField::onChipTriggersEventBegin(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip, fl::com::meduzik::matcharena::engine::observer::ChipEvent* event){
- /*
- main:
- locals:
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- event : class com.meduzik.matcharena.engine.observer.ChipEvent
- chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- bombChip : class com.meduzik.matcharena.engine.field.chip.BombChip
- firstExplosion : Boolean
- mineChip : class com.meduzik.matcharena.engine.field.chip.MineChip
- lineChip : class com.meduzik.matcharena.engine.field.chip.LineChip
- horizontal : Boolean
- nukeEffect : class com.meduzik.matcharena.game.field.effect.NukeEffect
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r1 = read_cfield com.meduzik.matcharena.game.EventContext.CHIP_EVENT
- r2 = call_cmethod com.meduzik.matcharena.game.EventContext.begin r0 r1
- r3 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEvents this
- r4 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEvents this
- r5 = call_cmethod Vector.length r4
- r6 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEvent this
- r7 = to_any r6
- write_vecindex r3 r5 r7
- r8 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEvents this
- r9 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEvents this
- r10 = call_cmethod Vector.length r9
- r11 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEventTarget this
- r12 = to_any r11
- write_vecindex r8 r10 r12
- r13 = read_local event
- write_cfield com.meduzik.matcharena.game.field.GameField.chipEvent this r13
- r14 = read_local chip
- write_cfield com.meduzik.matcharena.game.field.GameField.chipEventTarget this r14
- r15 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r16 = read_local chip
- r17 = read_dynindex r15 r16
- r18 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r17
- write_local chipObject r18
- r19 = read_local event
- r20 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.PreOmniOmniExplosion
- r21 = ref_cmp eq r19 r20
- condbr r21 block_1 block_2
- block_1:
- r22 = read_local chipObject
- r23 = read_local chipObject
- r24 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r23 "OmniOmniExplode"
- r25 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r22 r24
- br block_3
- br block_4
- block_2:
- r26 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.PreTintOmniExplosion
- r27 = ref_cmp eq r19 r26
- condbr r27 block_4 block_5
- block_3:
- block_4:
- r28 = read_local chipObject
- r29 = read_local chipObject
- r30 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r29 "TintOmniExplode"
- r31 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r28 r30
- br block_3
- br block_6
- block_5:
- r32 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.PreOmniExplosion
- r33 = ref_cmp eq r19 r32
- condbr r33 block_6 block_7
- block_6:
- r34 = read_local chipObject
- r35 = read_local chipObject
- r36 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r35 "OmniExplode"
- r37 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r34 r36
- br block_3
- br block_8
- block_7:
- r38 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.PreTintExplosion
- r39 = ref_cmp eq r19 r38
- condbr r39 block_8 block_9
- block_8:
- r40 = read_local chipObject
- r41 = read_local chipObject
- r42 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r41 "TintExplode"
- r43 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r40 r42
- br block_3
- br block_10
- block_9:
- r44 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.PreBombExplosion
- r45 = ref_cmp eq r19 r44
- condbr r45 block_10 block_11
- block_10:
- r46 = read_local chip
- r47 = read_local chip
- r48 = class_cast throws r46 com.meduzik.matcharena.engine.field.chip.BombChip
- write_local bombChip r48
- r49 = read_local chip
- r50 = read_local chip
- r51 = class_cast throws r49 com.meduzik.matcharena.engine.field.chip.BombChip
- r52 = call_cmethod com.meduzik.matcharena.engine.field.chip.BombChip.state r51
- r53 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.STATE_ACTIVATED
- r54 = num_cmp eq r52 r53
- write_local firstExplosion r54
- r55 = read_local firstExplosion
- condbr r55 block_12 block_13
- block_11:
- r56 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.PreMineExplosion
- r57 = ref_cmp eq r19 r56
- condbr r57 block_14 block_15
- block_12:
- r58 = read_local bombChip
- r59 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.type r58
- r60 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.TYPE_NORMAL
- r61 = num_cmp eq r59 r60
- block_13:
- r62 = phi Boolean (block_10 -> r55) (block_12 -> r61)
- condbr r62 block_16 block_17
- block_14:
- r63 = read_local chip
- r64 = read_local chip
- r65 = class_cast throws r63 com.meduzik.matcharena.engine.field.chip.MineChip
- write_local mineChip r65
- r66 = read_local mineChip
- r67 = read_cfield com.meduzik.matcharena.engine.field.chip.MineChip.supermine r66
- r68 = choice r67 Boolean false true
- condbr r68 block_18 block_19
- block_15:
- r69 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.PreLineExplosion
- r70 = ref_cmp eq r19 r69
- condbr r70 block_20 block_21
- block_16:
- r71 = call_cmethod com.meduzik.matcharena.game.field.GameField.raise this "use_bonus"
- r72 = read_local chip
- r73 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillChipQuestProperties this r71 r72
- r74 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r73
- br block_17
- block_17:
- r75 = read_local chipObject
- r76 = ref_cmp neq r75 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
- condbr r76 block_22 block_23
- block_18:
- r77 = call_cmethod com.meduzik.matcharena.game.field.GameField.raise this "use_bonus"
- r78 = read_local chip
- r79 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillChipQuestProperties this r77 r78
- r80 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r79
- br block_19
- block_19:
- r81 = read_local chipObject
- r82 = ref_cmp neq r81 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
- condbr r82 block_24 block_25
- block_20:
- r83 = read_local chip
- r84 = read_local chip
- r85 = class_cast throws r83 com.meduzik.matcharena.engine.field.chip.LineChip
- write_local lineChip r85
- r86 = read_local lineChip
- r87 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.direction r86
- r88 = read_cfield com.meduzik.matcharena.level.Direction.Horizontal
- r89 = ref_cmp eq r87 r88
- write_local horizontal r89
- r90 = read_local lineChip
- r91 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.type r90
- r92 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.TYPE_NORMAL
- r93 = num_cmp eq r91 r92
- condbr r93 block_26 block_27
- block_21:
- r94 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.MineExplosion
- r95 = ref_cmp eq r19 r94
- condbr r95 block_28 block_29
- block_22:
- r96 = read_local chipObject
- r97 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.deactivate r96
- r98 = read_local bombChip
- r99 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.type r98
- r100 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.TYPE_NORMAL
- r101 = num_cmp eq r99 r100
- condbr r101 block_30 block_31
- block_23:
- r102 = read_local chip
- r103 = class_cast r102 com.meduzik.matcharena.engine.field.chip.BombChip
- r104 = read_local chip
- r105 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.currentCell r104
- r106 = call_cmethod com.meduzik.matcharena.game.field.GameField.bombExplode this r103 r105
- br block_3
- br block_14
- block_24:
- r107 = read_local chipObject
- r108 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.deactivate r107
- r109 = read_local mineChip
- r110 = read_cfield com.meduzik.matcharena.engine.field.chip.MineChip.supermine r109
- condbr r110 block_32 block_33
- block_25:
- r111 = read_local chip
- r112 = class_cast r111 com.meduzik.matcharena.engine.field.chip.MineChip
- r113 = read_local chip
- r114 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.currentCell r113
- r115 = call_cmethod com.meduzik.matcharena.game.field.GameField.mineExplode this r112 r114
- br block_3
- br block_20
- block_26:
- r116 = call_cmethod com.meduzik.matcharena.game.field.GameField.raise this "use_bonus"
- r117 = read_local chip
- r118 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillChipQuestProperties this r116 r117
- r119 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r118
- br block_27
- block_27:
- r120 = read_local chipObject
- r121 = ref_cmp neq r120 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
- condbr r121 block_34 block_35
- block_28:
- br block_3
- br block_36
- block_29:
- r122 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.BombExplosion
- r123 = ref_cmp eq r19 r122
- condbr r123 block_36 block_37
- block_30:
- r124 = read_local firstExplosion
- condbr r124 block_38 block_39
- block_31:
- r125 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.TYPE_WINGED
- r126 = num_cmp eq r99 r125
- condbr r126 block_40 block_41
- block_32:
- r127 = read_local chipObject
- r128 = read_local chipObject
- r129 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r128 "MineMineExplode"
- r130 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r127 r129
- br block_33
- block_33:
- br block_25
- block_34:
- r131 = read_local chipObject
- r132 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.deactivate r131
- r133 = read_local lineChip
- r134 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.type r133
- r135 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.TYPE_NORMAL
- r136 = num_cmp eq r134 r135
- condbr r136 block_42 block_43
- block_35:
- r137 = read_local chip
- r138 = class_cast r137 com.meduzik.matcharena.engine.field.chip.LineChip
- r139 = read_local chip
- r140 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.currentCell r139
- r141 = call_cmethod com.meduzik.matcharena.game.field.GameField.lineExplode this r138 r140
- br block_3
- br block_28
- block_36:
- br block_3
- br block_44
- block_37:
- r142 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.LineExplosion
- r143 = ref_cmp eq r19 r142
- condbr r143 block_44 block_45
- block_38:
- r144 = read_local chipObject
- r145 = read_local chipObject
- r146 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r145 "BombExplodeFirst"
- r147 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r144 r146
- br block_39
- block_39:
- br block_46
- br block_40
- block_40:
- r148 = read_local firstExplosion
- condbr r148 block_47 block_48
- block_41:
- r149 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.TYPE_SUPER
- r150 = num_cmp eq r99 r149
- condbr r150 block_49 block_50
- block_42:
- r151 = read_local chipObject
- r152 = read_local chipObject
- r153 = read_local horizontal
- r154 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithFlag r152 "LineExplode" r153
- r155 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r151 r154
- br block_51
- br block_52
- block_43:
- r156 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.TYPE_WINGED
- r157 = num_cmp eq r134 r156
- condbr r157 block_52 block_53
- block_44:
- br block_3
- br block_54
- block_45:
- r158 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.OmniExplosion
- r159 = ref_cmp eq r19 r158
- condbr r159 block_54 block_55
- block_46:
- br block_23
- block_47:
- r160 = read_local chipObject
- r161 = read_local chipObject
- r162 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r161 "BombMineExplodeFirst"
- r163 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r160 r162
- br block_48
- block_48:
- br block_46
- br block_49
- block_49:
- r164 = read_local firstExplosion
- condbr r164 block_56 block_57
- block_50:
- br block_46
- block_51:
- br block_35
- block_52:
- r165 = read_local chipObject
- r166 = read_local chipObject
- r167 = read_local horizontal
- r168 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithFlag r166 "LineMineExplode" r167
- r169 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r165 r168
- br block_51
- br block_58
- block_53:
- r170 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.TYPE_CROSS
- r171 = num_cmp eq r134 r170
- condbr r171 block_58 block_59
- block_54:
- r172 = call_cmethod com.meduzik.matcharena.game.field.GameField.raise this "use_bonus"
- r173 = read_local chip
- r174 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillChipQuestProperties this r172 r173
- r175 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r174
- br block_3
- br block_60
- block_55:
- r176 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.OmniOmniWindup
- r177 = ref_cmp eq r19 r176
- condbr r177 block_60 block_61
- block_56:
- r178 = read_local chipObject
- r179 = read_local chipObject
- r180 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r179 "BombBombExplodeFirst"
- r181 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r178 r180
- br block_57
- block_57:
- br block_46
- br block_46
- block_58:
- r182 = read_local chipObject
- r183 = read_local chipObject
- r184 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r183 "LineLineExplode"
- r185 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r182 r184
- br block_51
- br block_62
- block_59:
- r186 = read_cfield com.meduzik.matcharena.engine.field.chip.LineChip.TYPE_LARGE
- r187 = num_cmp eq r134 r186
- condbr r187 block_62 block_63
- block_60:
- r188 = read_local chipObject
- r189 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r188 "OmniOmniWindup"
- r190 = read_local chipObject
- r191 = read_cfield com.meduzik.matcharena.level.Color.Colorless
- r192 = read_cfield com.meduzik.matcharena.game.field.effect.NukeEffect.Nuke
- r193 = newclass com.meduzik.matcharena.game.field.effect.NukeEffect r190 r191 r192
- write_local nukeEffect r193
- r194 = read_local nukeEffect
- r195 = class_cast throws r194 com.meduzik.matcharena.game.field.FieldObject
- r196 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r195
- r197 = read_local nukeEffect
- r198 = call_cmethod com.meduzik.matcharena.game.field.effect.NukeEffect.startWindup r197
- r199 = read_cfield com.meduzik.matcharena.game.field.GameField.nukes this
- r200 = read_local chip
- r201 = read_local nukeEffect
- r202 = to_any r201
- write_dynindex r199 r200
- br block_3
- br block_64
- block_61:
- r203 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.OmniOmniExplosion
- r204 = ref_cmp eq r19 r203
- condbr r204 block_64 block_65
- block_62:
- r205 = read_local chipObject
- r206 = read_local chipObject
- r207 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r206 "BombLineExplode"
- r208 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r205 r207
- br block_51
- br block_51
- block_63:
- br block_51
- block_64:
- r209 = read_local chipObject
- r210 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r209 "OmniOmniWindupEnd"
- r211 = read_cfield com.meduzik.matcharena.game.field.GameField.nukes this
- r212 = read_local chip
- r213 = read_dynindex r211 r212
- r214 = from_any class com.meduzik.matcharena.game.field.effect.NukeEffect r213
- write_local nukeEffect r214
- r215 = read_local nukeEffect
- r216 = call_cmethod com.meduzik.matcharena.game.field.effect.NukeEffect.startExplosion r215
- br block_3
- br block_66
- block_65:
- r217 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.OmniOmniSelfDestroy
- r218 = ref_cmp eq r19 r217
- condbr r218 block_66 block_67
- block_66:
- r219 = read_cfield com.meduzik.matcharena.game.field.GameField.nukes this
- r220 = read_local chip
- r221 = read_dynindex r219 r220
- r222 = from_any class com.meduzik.matcharena.game.field.effect.NukeEffect r221
- write_local nukeEffect r222
- r223 = read_local nukeEffect
- r224 = call_cmethod com.meduzik.matcharena.game.field.effect.NukeEffect.startEnd r223
- r225 = read_cfield com.meduzik.matcharena.game.field.GameField.nukes this
- r226 = read_local chip
- r227 = read_local chipObject
- r228 = read_local chipObject
- r229 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r228 "OmniOmniSelfDestroy"
- r230 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r227 r229
- br block_3
- br block_68
- block_67:
- r231 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.TintOmniWindup
- r232 = ref_cmp eq r19 r231
- condbr r232 block_68 block_69
- block_68:
- r233 = read_local chipObject
- r234 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r233 "TintOmniWindup"
- r235 = read_local chipObject
- r236 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r237 = read_local chip
- r238 = read_local chip
- r239 = class_cast throws r237 com.meduzik.matcharena.engine.field.chip.OmniChip
- r240 = read_cfield com.meduzik.matcharena.engine.field.chip.OmniChip.colorMask r239
- r241 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.getFirstColorFromMask r236 r240
- r242 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r241
- r243 = read_cfield com.meduzik.matcharena.game.field.effect.NukeEffect.Meganuke
- r244 = newclass com.meduzik.matcharena.game.field.effect.NukeEffect r235 r242 r243
- write_local nukeEffect r244
- r245 = read_local nukeEffect
- r246 = class_cast throws r245 com.meduzik.matcharena.game.field.FieldObject
- r247 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r246
- r248 = read_local nukeEffect
- r249 = call_cmethod com.meduzik.matcharena.game.field.effect.NukeEffect.startWindup r248
- r250 = read_cfield com.meduzik.matcharena.game.field.GameField.nukes this
- r251 = read_local chip
- r252 = read_local nukeEffect
- r253 = to_any r252
- write_dynindex r250 r251
- br block_3
- br block_70
- block_69:
- r254 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.TintOmniExplosion
- r255 = ref_cmp eq r19 r254
- condbr r255 block_70 block_71
- block_70:
- r256 = read_local chipObject
- r257 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r256 "TintOmniWindupEnd"
- r258 = read_cfield com.meduzik.matcharena.game.field.GameField.nukes this
- r259 = read_local chip
- r260 = read_dynindex r258 r259
- r261 = from_any class com.meduzik.matcharena.game.field.effect.NukeEffect r260
- write_local nukeEffect r261
- r262 = read_local nukeEffect
- r263 = call_cmethod com.meduzik.matcharena.game.field.effect.NukeEffect.startExplosion r262
- br block_3
- br block_72
- block_71:
- r264 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.TintOmniSelfDestroy
- r265 = ref_cmp eq r19 r264
- condbr r265 block_72 block_73
- block_72:
- r266 = read_cfield com.meduzik.matcharena.game.field.GameField.nukes this
- r267 = read_local chip
- r268 = read_dynindex r266 r267
- r269 = from_any class com.meduzik.matcharena.game.field.effect.NukeEffect r268
- write_local nukeEffect r269
- r270 = read_local nukeEffect
- r271 = call_cmethod com.meduzik.matcharena.game.field.effect.NukeEffect.startEnd r270
- r272 = read_cfield com.meduzik.matcharena.game.field.GameField.nukes this
- r273 = read_local chip
- r274 = read_local chipObject
- r275 = read_local chipObject
- r276 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r275 "TintOmniSelfDestroy"
- r277 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r274 r276
- br block_3
- br block_74
- block_73:
- r278 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.TintExplosion
- r279 = ref_cmp eq r19 r278
- condbr r279 block_74 block_75
- block_74:
- r280 = call_cmethod com.meduzik.matcharena.game.field.GameField.raise this "use_bonus"
- r281 = read_local chip
- r282 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillChipQuestProperties this r280 r281
- r283 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r282
- br block_3
- br block_3
- block_75:
- br block_3
- */
- abort();
- }
- void GameField::onChipTriggersEventEnd(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r1 = call_cmethod com.meduzik.matcharena.game.EventContext.end r0
- r2 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEvents this
- r3 = call_vecmethod Vector.pop r2
- r4 = from_any class com.meduzik.matcharena.engine.field.chip.Chip r3
- write_cfield com.meduzik.matcharena.game.field.GameField.chipEventTarget this r4
- r5 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEvents this
- r6 = call_vecmethod Vector.pop r5
- r7 = from_any class com.meduzik.matcharena.engine.observer.ChipEvent r6
- write_cfield com.meduzik.matcharena.game.field.GameField.chipEvent this r7
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- explosion : class com.meduzik.matcharena.engine.trigger.BombTrigger
- code:
- block_0:
- */
- abort();
- }
- void GameField::onChipDecays(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
- /*
- main:
- locals:
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- code:
- block_0:
- r0 = read_local chip
- r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeChipEntity this r0
- r2 = read_local chip
- r3 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.sourceCell r2
- r4 = ref_cmp neq r3 (null:class com.meduzik.matcharena.engine.field.EngineCell)
- condbr r4 block_1 block_2
- block_1:
- r5 = read_local chip
- r6 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.sourceCell r5
- r7 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateCell this r6
- br block_2
- block_2:
- r8 = read_local chip
- r9 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.targetCell r8
- r10 = ref_cmp neq r9 (null:class com.meduzik.matcharena.engine.field.EngineCell)
- condbr r10 block_3 block_4
- block_3:
- r11 = read_local chip
- r12 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.targetCell r11
- r13 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateCell this r12
- br block_4
- block_4:
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- arrow : class com.meduzik.matcharena.engine.trigger.ArrowTrigger
- engineColor : class com.meduzik.matcharena.engine.EngineColor
- secondColor : class com.meduzik.matcharena.engine.EngineColor
- color : class com.meduzik.matcharena.level.Color
- lineArrow : class com.meduzik.matcharena.game.field.LineArrow
- effect : class com.meduzik.matcharena.game.field.effect.EffectObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r1 = read_local arrow
- r2 = read_cfield com.meduzik.matcharena.engine.trigger.ArrowTrigger.colorMask r1
- r3 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.getFirstColorFromMask r0 r2
- write_local engineColor r3
- r4 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r5 = read_local arrow
- r6 = read_cfield com.meduzik.matcharena.engine.trigger.ArrowTrigger.colorMask r5
- r7 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.getSecondColorFromMask r4 r6
- write_local secondColor r7
- r8 = read_local engineColor
- r9 = ref_cmp neq r8 (null:class com.meduzik.matcharena.engine.EngineColor)
- condbr r9 block_1 block_2
- block_1:
- r10 = read_local engineColor
- r11 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r10
- br block_3
- block_2:
- r12 = read_cfield com.meduzik.matcharena.level.Color.Colorless
- br block_3
- block_3:
- r13 = phi class com.meduzik.matcharena.level.Color (block_1 -> r11) (block_2 -> r12)
- write_local color r13
- r14 = read_local arrow
- r15 = read_cfield com.meduzik.matcharena.engine.trigger.ArrowTrigger.cell r14
- r16 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r15
- r17 = read_local arrow
- r18 = read_cfield com.meduzik.matcharena.engine.trigger.ArrowTrigger.cell r17
- r19 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r18
- r20 = read_local arrow
- r21 = read_cfield com.meduzik.matcharena.engine.trigger.ArrowTrigger.side r20
- r22 = call_cmethod com.meduzik.matcharena.level.Side.offsetRow r21
- r23 = num_cast int r22
- r24 = read_local arrow
- r25 = read_cfield com.meduzik.matcharena.engine.trigger.ArrowTrigger.side r24
- r26 = call_cmethod com.meduzik.matcharena.level.Side.offsetColumn r25
- r27 = num_cast int r26
- r28 = read_local color
- r29 = call_cmethod com.meduzik.matcharena.game.field.LineArrow.Make static this r16 r19 r23 r27 r28
- write_local lineArrow r29
- r30 = read_local lineArrow
- r31 = class_cast throws r30 com.meduzik.matcharena.game.field.FieldObject
- r32 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r31
- r33 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r34 = read_local arrow
- r35 = read_local lineArrow
- r36 = to_any r35
- write_dynindex r33 r34
- r37 = read_local arrow
- r38 = read_cfield com.meduzik.matcharena.engine.trigger.ArrowTrigger.type r37
- r39 = read_cfield com.meduzik.matcharena.engine.trigger.ArrowTrigger.Normal
- r40 = num_cmp eq r38 r39
- condbr r40 block_4 block_5
- block_4:
- r41 = read_cfield com.meduzik.matcharena.game.field.GameField._resources this
- r42 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.lineArrowFlow r41
- br block_6
- block_5:
- r43 = read_cfield com.meduzik.matcharena.game.field.GameField._resources this
- r44 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.lineLargeArrowFlow r43
- br block_6
- block_6:
- r45 = phi interface com.meduzik.bundle.display.DisplayTemplate (block_4 -> r42) (block_5 -> r44)
- r46 = call_cmethod com.meduzik.matcharena.game.field.GameField.createEffect this r45
- r47 = read_local lineArrow
- r48 = class_cast throws r47 com.meduzik.matcharena.game.field.FieldObject
- r49 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.attachToObject r46 r48
- write_local effect r49
- r50 = read_local secondColor
- r51 = ref_cmp neq r50 (null:class com.meduzik.matcharena.engine.EngineColor)
- condbr r51 block_7 block_8
- block_7:
- r52 = read_local effect
- r53 = read_local color
- r54 = read_local secondColor
- r55 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r54
- r56 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.paintAB r52 r53 r55
- br block_8
- block_8:
- r57 = read_local lineArrow
- r58 = read_local effect
- write_cfield com.meduzik.matcharena.game.field.LineArrow.effect r57 r58
- */
- abort();
- }
- void GameField::onArrowPropagateBegin(fl::com::meduzik::matcharena::engine::trigger::ArrowTrigger* arrow, fl::com::meduzik::matcharena::engine::field::EngineCell* cell){
- /*
- main:
- locals:
- arrow : class com.meduzik.matcharena.engine.trigger.ArrowTrigger
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- cellObject : class com.meduzik.matcharena.game.field.cell.CellObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r1 = read_cfield com.meduzik.matcharena.game.EventContext.ARROW
- r2 = call_cmethod com.meduzik.matcharena.game.EventContext.begin r0 r1
- r3 = read_local cell
- r4 = call_cmethod com.meduzik.matcharena.game.field.GameField.getCellMapping this r3
- write_local cellObject r4
- r5 = read_local cellObject
- r6 = ref_cmp neq r5 (null:class com.meduzik.matcharena.game.field.cell.CellObject)
- condbr r6 block_1 block_2
- block_1:
- r7 = read_local cellObject
- r8 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r7 "ArrowHitsCell"
- br block_2
- block_2:
- */
- abort();
- }
- void GameField::onArrowPropagateEnd(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r1 = call_cmethod com.meduzik.matcharena.game.EventContext.end r0
- */
- abort();
- }
- void GameField::onArrowPropagateBorderBegin(fl::com::meduzik::matcharena::engine::trigger::ArrowTrigger* arrow, fl::com::meduzik::matcharena::engine::field::EngineBorder* border){
- /*
- main:
- locals:
- arrow : class com.meduzik.matcharena.engine.trigger.ArrowTrigger
- border : class com.meduzik.matcharena.engine.field.EngineBorder
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r1 = read_cfield com.meduzik.matcharena.game.EventContext.ARROW
- r2 = call_cmethod com.meduzik.matcharena.game.EventContext.begin r0 r1
- */
- abort();
- }
- void GameField::onArrowPropagateBorderEnd(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r1 = call_cmethod com.meduzik.matcharena.game.EventContext.end r0
- */
- abort();
- }
- void GameField::onArrowDisarmed(fl::com::meduzik::matcharena::engine::trigger::ArrowTrigger* arrow){
- /*
- main:
- locals:
- arrow : class com.meduzik.matcharena.engine.trigger.ArrowTrigger
- lineArrow : class com.meduzik.matcharena.game.field.LineArrow
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r1 = read_local arrow
- r2 = read_dynindex r0 r1
- r3 = from_any class com.meduzik.matcharena.game.field.LineArrow r2
- write_local lineArrow r3
- r4 = read_local lineArrow
- r5 = read_cfield com.meduzik.matcharena.game.field.LineArrow.effect r4
- r6 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r5 "ArrowDisarm"
- */
- abort();
- }
- void GameField::onArrowDecays(fl::com::meduzik::matcharena::engine::trigger::ArrowTrigger* arrow){
- /*
- main:
- locals:
- arrow : class com.meduzik.matcharena.engine.trigger.ArrowTrigger
- lineArrow : class com.meduzik.matcharena.game.field.LineArrow
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r1 = read_local arrow
- r2 = read_dynindex r0 r1
- r3 = from_any class com.meduzik.matcharena.game.field.LineArrow r2
- write_local lineArrow r3
- r4 = read_local lineArrow
- r5 = call_cmethod com.meduzik.matcharena.game.field.LineArrow.despawn r4
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- arrow : class com.meduzik.matcharena.engine.trigger.ArrowTrigger
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r1 = read_cfield com.meduzik.matcharena.game.EventContext.FALL_INTO_ARROW
- r2 = call_cmethod com.meduzik.matcharena.game.EventContext.begin r0 r1
- */
- abort();
- }
- void GameField::onChipFallsIntoArrowEnd(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r1 = call_cmethod com.meduzik.matcharena.game.EventContext.end r0
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- singularity : class com.meduzik.matcharena.engine.trigger.SingularityTrigger
- singularityObject : class com.meduzik.matcharena.game.field.effect.SingularityObject
- omniEffect : class com.meduzik.matcharena.game.field.effect.OmniEffect
- tintEffect : class com.meduzik.matcharena.game.field.effect.TintEffect
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r1 = read_local cell
- r2 = read_dynindex r0 r1
- r3 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r2
- r4 = call_cmethod com.meduzik.matcharena.game.field.effect.SingularityObject.Make static r3
- write_local singularityObject r4
- r5 = read_local chip
- r6 = class_test r5 com.meduzik.matcharena.engine.field.chip.OmniChip
- condbr r6 block_1 block_2
- block_1:
- r7 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r8 = read_local chip
- r9 = read_dynindex r7 r8
- r10 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r9
- r11 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r12 = read_local singularity
- r13 = read_cfield com.meduzik.matcharena.engine.trigger.SingularityTrigger.colorMask r12
- r14 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.getFirstColorFromMask r11 r13
- r15 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r14
- r16 = newclass com.meduzik.matcharena.game.field.effect.OmniEffect r10 r15
- write_local omniEffect r16
- r17 = read_local singularityObject
- r18 = read_local omniEffect
- r19 = class_cast throws r18 com.meduzik.matcharena.game.field.effect.SingularityEffect
- write_cfield com.meduzik.matcharena.game.field.effect.SingularityObject.effect r17 r19
- r20 = read_local omniEffect
- r21 = class_cast throws r20 com.meduzik.matcharena.game.field.FieldObject
- r22 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r21
- r23 = read_local omniEffect
- r24 = call_cmethod com.meduzik.matcharena.game.field.effect.SingularityEffect.startEffect r23
- br block_2
- block_2:
- r25 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r26 = read_local singularity
- r27 = read_local singularityObject
- r28 = to_any r27
- write_dynindex r25 r26
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- singularity : class com.meduzik.matcharena.engine.trigger.SingularityTrigger
- action : class com.meduzik.matcharena.engine.trigger.SingularityActionInstance
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- code:
- block_0:
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- singularity : class com.meduzik.matcharena.engine.trigger.SingularityTrigger
- action : class com.meduzik.matcharena.engine.trigger.SingularityActionInstance
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- singularityObject : class com.meduzik.matcharena.game.field.effect.SingularityObject
- chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- effect : class com.meduzik.matcharena.game.field.effect.SingularityEffect
- dir : Boolean
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r1 = read_cfield com.meduzik.matcharena.game.EventContext.SINGULARITY
- r2 = call_cmethod com.meduzik.matcharena.game.EventContext.begin r0 r1
- r3 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r4 = read_local singularity
- r5 = read_dynindex r3 r4
- r6 = from_any class com.meduzik.matcharena.game.field.effect.SingularityObject r5
- write_local singularityObject r6
- r7 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r8 = read_local action
- r9 = read_cfield com.meduzik.matcharena.engine.trigger.SingularityActionInstance.chip r8
- r10 = read_dynindex r7 r9
- r11 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r10
- write_local chipObject r11
- r12 = read_local action
- r13 = read_cfield com.meduzik.matcharena.engine.trigger.SingularityActionInstance.actionType r12
- r14 = read_cfield com.meduzik.matcharena.engine.trigger.SingularityActionInstance.ACTION_OMNI_LINK
- r15 = num_cmp eq r13 r14
- condbr r15 block_1 block_2
- block_1:
- r16 = phi Boolean (block_0 -> r15) (block_2 -> r17)
- condbr r16 block_3 block_4
- block_2:
- r18 = read_local action
- r19 = read_cfield com.meduzik.matcharena.engine.trigger.SingularityActionInstance.actionType r18
- r20 = read_cfield com.meduzik.matcharena.engine.trigger.SingularityActionInstance.ACTION_TINT_LINK
- r17 = num_cmp eq r19 r20
- block_3:
- r21 = read_local singularityObject
- r22 = read_cfield com.meduzik.matcharena.game.field.effect.SingularityObject.effect r21
- write_local effect r22
- r23 = read_local effect
- r24 = read_local chipObject
- r25 = call_cmethod com.meduzik.matcharena.game.field.effect.SingularityEffect.startLink r23 r24
- br block_4
- block_4:
- */
- abort();
- }
- jfl::Boolean GameField::selectDirectionForDoubleBlast(fl::com::meduzik::matcharena::engine::field::EngineCell* cellA, fl::com::meduzik::matcharena::engine::field::EngineCell* cellB){
- /*
- main:
- locals:
- cellA : class com.meduzik.matcharena.engine.field.EngineCell
- cellB : class com.meduzik.matcharena.engine.field.EngineCell
- code:
- block_0:
- r0 = read_local cellA
- r1 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r0
- r2 = read_local cellB
- r3 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r2
- r4 = num_cmp neq r1 r3
- condbr r4 block_1 block_2
- block_1:
- r5 = to_bool 1.000000
- ret r5
- br block_2
- block_2:
- r6 = to_bool 0.000000
- ret r6
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- cellA : class com.meduzik.matcharena.engine.field.EngineCell
- cellB : class com.meduzik.matcharena.engine.field.EngineCell
- code:
- block_0:
- r0 = read_local cellA
- r1 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r0
- r2 = read_local cellB
- r3 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r2
- r4 = num_cast Number r3
- r5 = num_cast Number r1
- r6 = num_cmp lt r5 r4
- condbr r6 block_1 block_2
- block_1:
- r7 = phi Boolean (block_0 -> r6) (block_2 -> r8)
- condbr r7 block_3 block_4
- block_2:
- r9 = read_local cellA
- r10 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r9
- r11 = read_local cellB
- r12 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r11
- r13 = num_cast Number r12
- r14 = num_cast Number r10
- r8 = num_cmp lt r14 r13
- block_3:
- r15 = read_local cellB
- ret r15
- br block_4
- block_4:
- r16 = read_local cellA
- ret r16
- */
- abort();
- }
- void GameField::onSingularityActsOnChipEnd(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r1 = call_cmethod com.meduzik.matcharena.game.EventContext.end r0
- */
- abort();
- }
- void GameField::onSingularityReleasesChip(fl::com::meduzik::matcharena::engine::trigger::SingularityTrigger* singularity, fl::com::meduzik::matcharena::engine::field::chip::Chip* chip, jfl::Int actionId){
- /*
- main:
- locals:
- singularity : class com.meduzik.matcharena.engine.trigger.SingularityTrigger
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- actionId : int
- code:
- block_0:
- */
- abort();
- }
- void GameField::onSingularityDecays(fl::com::meduzik::matcharena::engine::trigger::SingularityTrigger* singularity){
- /*
- main:
- locals:
- singularity : class com.meduzik.matcharena.engine.trigger.SingularityTrigger
- singularityObject : class com.meduzik.matcharena.game.field.effect.SingularityObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r1 = read_local singularity
- r2 = read_dynindex r0 r1
- r3 = from_any class com.meduzik.matcharena.game.field.effect.SingularityObject r2
- write_local singularityObject r3
- r4 = read_local singularityObject
- r5 = call_cmethod com.meduzik.matcharena.game.field.effect.SingularityObject.dispose r4
- r6 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r7 = read_local singularity
- */
- abort();
- }
- void GameField::onChipActivated(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip, fl::com::meduzik::matcharena::engine::observer::ActivationEvent* reason){
- /*
- main:
- locals:
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- reason : class com.meduzik.matcharena.engine.observer.ActivationEvent
- chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- flag : Boolean
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r1 = read_local chip
- r2 = read_dynindex r0 r1
- r3 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r2
- write_local chipObject r3
- r4 = read_local chipObject
- r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
- condbr r5 block_1 block_2
- block_1:
- write_local flag false
- r6 = read_local chip
- r7 = class_test r6 com.meduzik.matcharena.engine.field.chip.MineChip
- condbr r7 block_3 block_4
- block_2:
- block_3:
- r8 = read_local chipObject
- r9 = read_local chipObject
- r10 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r9 "ActivateMine"
- r11 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.activate r8 r10
- br block_4
- block_4:
- br block_2
- */
- abort();
- }
- void GameField::onChipDestroyed(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip, fl::com::meduzik::matcharena::engine::observer::ChipDestroyReason* reason){
- /*
- main:
- locals:
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- reason : class com.meduzik.matcharena.engine.observer.ChipDestroyReason
- chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- countForQuest : Boolean
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r1 = read_local chip
- r2 = read_dynindex r0 r1
- r3 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r2
- write_local chipObject r3
- write_local countForQuest true
- r4 = read_local chipObject
- r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
- condbr r5 block_1 block_2
- block_1:
- r6 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r7 = call_cmethod com.meduzik.matcharena.game.EventContext.current r6
- r8 = read_cfield com.meduzik.matcharena.game.EventContext.CHOCOLATE_GROW
- r9 = num_cmp eq r7 r8
- condbr r9 block_3 block_4
- block_2:
- r10 = read_local countForQuest
- condbr r10 block_5 block_6
- block_3:
- r11 = read_local chipObject
- r12 = read_local chipObject
- r13 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r12 "ChipEatenByChocolate"
- r14 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r11 r13
- write_local countForQuest false
- br block_4
- block_4:
- r15 = read_local chipObject
- r16 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r15
- r17 = ref_cmp neq r16 (null:class com.meduzik.fx.combinators.FXWrap)
- r18 = choice r17 Boolean false true
- condbr r18 block_7 block_8
- block_5:
- r19 = call_cmethod com.meduzik.matcharena.game.field.GameField.raise this "chip_destroy"
- r20 = read_local chip
- r21 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillChipQuestProperties this r19 r20
- r22 = read_local reason
- r23 = call_cmethod com.meduzik.matcharena.engine.observer.ChipDestroyReason.id r22
- r24 = to_any r23
- r25 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r21 "reason" r24
- r26 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r25
- br block_6
- block_6:
- block_7:
- r27 = read_local chipObject
- r28 = read_local chipObject
- r29 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r28 "ChipDestroyByHit"
- r30 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r27 r29
- br block_8
- block_8:
- br block_2
- */
- abort();
- }
- void GameField::onChipRecolored(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip, fl::com::meduzik::matcharena::engine::EngineColor* color){
- /*
- main:
- locals:
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- color : class com.meduzik.matcharena.engine.EngineColor
- oldColor : class com.meduzik.matcharena.engine.EngineColor
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r1 = read_local chip
- r2 = read_dynindex r0 r1
- r3 = from_any Boolean r2
- condbr r3 block_1 block_2
- block_1:
- write_cfield com.meduzik.matcharena.game.field.GameField.morphRecoloring this true
- r4 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
- r5 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.raise r4 "chip_recolored" 1.000000
- r6 = read_local chip
- r7 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillChipQuestProperties this r5 r6
- r8 = read_local color
- r9 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r8
- r10 = call_cmethod com.meduzik.matcharena.level.Color.getName r9
- r11 = to_any r10
- r12 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r7 "to_color" r11
- r13 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r12
- r14 = read_local chip
- r15 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.getColor r14
- write_local oldColor r15
- r16 = read_local chip
- r17 = read_local chip
- r18 = class_cast throws r16 com.meduzik.matcharena.engine.field.chip.ColorChip
- r19 = read_local color
- r20 = call_cmethod com.meduzik.matcharena.engine.field.chip.ColorChip.withColor r18 r19
- r21 = read_local chip
- r22 = read_local chip
- r23 = call_cmethod com.meduzik.matcharena.game.field.GameField.onChipMorphs this r21 r22
- r24 = read_local chip
- r25 = read_local chip
- r26 = class_cast throws r24 com.meduzik.matcharena.engine.field.chip.ColorChip
- r27 = read_local oldColor
- r28 = call_cmethod com.meduzik.matcharena.engine.field.chip.ColorChip.withColor r26 r27
- write_cfield com.meduzik.matcharena.game.field.GameField.morphRecoloring this false
- br block_2
- block_2:
- */
- abort();
- }
- void GameField::onChipMorphs(fl::com::meduzik::matcharena::engine::field::chip::Chip* oldChip, fl::com::meduzik::matcharena::engine::field::chip::Chip* newChip){
- /*
- main:
- locals:
- oldChip : class com.meduzik.matcharena.engine.field.chip.Chip
- newChip : class com.meduzik.matcharena.engine.field.chip.Chip
- oldChipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- newChipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- tmp : class com.meduzik.matcharena.game.field.chip.ChipObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r1 = read_local oldChip
- r2 = read_dynindex r0 r1
- r3 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r2
- write_local oldChipObject r3
- r4 = read_local newChip
- r5 = call_cmethod com.meduzik.matcharena.game.field.GameField.createChipFromEngineChip this r4
- write_local newChipObject r5
- r6 = read_local newChipObject
- r7 = class_cast throws r6 com.meduzik.matcharena.game.field.FieldObject
- r8 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r7
- r9 = read_cfield com.meduzik.matcharena.game.field.GameField.morphRecoloring this
- condbr r9 block_1 block_2
- block_1:
- r10 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r11 = call_cmethod com.meduzik.matcharena.game.EventContext.current r10
- r12 = read_cfield com.meduzik.matcharena.game.EventContext.SINGULARITY
- r13 = num_cmp eq r11 r12
- block_2:
- r14 = phi Boolean (block_0 -> r9) (block_1 -> r13)
- condbr r14 block_3 block_4
- block_3:
- r15 = read_local oldChipObject
- write_local tmp r15
- r16 = read_local newChipObject
- write_local oldChipObject r16
- r17 = read_local tmp
- write_local newChipObject r17
- r18 = read_local oldChipObject
- r19 = read_local newChipObject
- r20 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.inheritFrom r18 r19
- r21 = read_local newChipObject
- r22 = read_local oldChipObject
- r23 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.swapViewWith r21 r22
- br block_4
- block_4:
- r24 = read_local oldChipObject
- r25 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.bringToFront r24
- r26 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r27 = call_cmethod com.meduzik.matcharena.game.EventContext.current r26
- r28 = read_cfield com.meduzik.matcharena.game.EventContext.CHIP_EVENT
- r29 = num_cmp eq r27 r28
- condbr r29 block_5 block_6
- block_5:
- r30 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEvent this
- r31 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.BombExplosion
- r32 = ref_cmp eq r30 r31
- condbr r32 block_7 block_8
- block_6:
- r33 = read_local oldChipObject
- r34 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.onEngineDropsRef r33
- r35 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r36 = read_local oldChip
- r37 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r38 = read_local newChip
- r39 = read_local newChipObject
- r40 = to_any r39
- write_dynindex r37 r38
- block_7:
- r41 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEventTarget this
- r42 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEventTarget this
- r43 = class_cast throws r41 com.meduzik.matcharena.engine.field.chip.BombChip
- r44 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.type r43
- r45 = read_cfield com.meduzik.matcharena.engine.field.chip.BombChip.TYPE_SUPER
- r46 = num_cmp eq r44 r45
- condbr r46 block_9 block_10
- block_8:
- r47 = read_cfield com.meduzik.matcharena.engine.observer.ChipEvent.MineExplosion
- r48 = ref_cmp eq r30 r47
- condbr r48 block_11 block_12
- block_9:
- r49 = read_local newChipObject
- r50 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r49 "BombBombSecondColorSpawn"
- br block_10
- block_10:
- br block_13
- br block_11
- block_11:
- r51 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEventTarget this
- r52 = read_cfield com.meduzik.matcharena.game.field.GameField.chipEventTarget this
- r53 = class_cast throws r51 com.meduzik.matcharena.engine.field.chip.MineChip
- r54 = read_cfield com.meduzik.matcharena.engine.field.chip.MineChip.supermine r53
- condbr r54 block_14 block_15
- block_12:
- br block_13
- block_13:
- br block_6
- block_14:
- r55 = read_local newChipObject
- r56 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r55 "MineMineSecondColorSpawn"
- br block_15
- block_15:
- br block_13
- br block_13
- */
- abort();
- }
- void GameField::onReshuffleBegin(jfl::Int index){
- /*
- main:
- locals:
- index : int
- code:
- block_0:
- r0 = read_local index
- r1 = num_cmp eq r0 0.000000
- condbr r1 block_1 block_2
- block_1:
- r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.isInteractive this
- condbr r2 block_3 block_4
- block_2:
- block_3:
- r3 = read_cfield com.meduzik.matcharena.game.field.GameField.shoutouts this
- r4 = call_cmethod com.meduzik.matcharena.game.field.shoutout.ShoutoutController.startShoutout r3 "Reshuffling"
- r5 = call_cmethod com.meduzik.matcharena.game.field.GameField.constants this
- r6 = read_cfield com.meduzik.matcharena.game.GameConstants.ReshuffleDelay r5
- r7 = call_cmethod com.meduzik.matcharena.game.field.GameField.addDelay this r6
- r8 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r9 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r8
- br block_4
- block_4:
- br block_2
- */
- abort();
- }
- void GameField::onReshuffleActions(jfl::Vector* actions){
- /*
- main:
- locals:
- actions : Vector.<class com.meduzik.matcharena.engine.field.ReshuffleAction>
- action : class com.meduzik.matcharena.engine.field.ReshuffleAction
- fromChip : class com.meduzik.matcharena.engine.field.chip.Chip
- fromCell : class com.meduzik.matcharena.engine.field.EngineCell
- toCell : class com.meduzik.matcharena.engine.field.EngineCell
- fromObject : class com.meduzik.matcharena.game.field.cell.CellObject
- toObject : class com.meduzik.matcharena.game.field.cell.CellObject
- fromChipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- code:
- block_0:
- r0 = call_cmethod com.meduzik.matcharena.game.field.GameField.constants this
- r1 = read_cfield com.meduzik.matcharena.game.GameConstants.ReshuffleTime r0
- write_cfield com.meduzik.matcharena.game.field.GameField.engineDelay this r1
- r2 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r3 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r2
- */
- abort();
- }
- void GameField::onReshuffleEnd(){
- /*
- main:
- code:
- block_0:
- */
- abort();
- }
- void GameField::onChipInstantlyDecaysForBonus(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
- /*
- main:
- locals:
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- code:
- block_0:
- r0 = read_local chip
- r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeChipEntity this r0
- */
- abort();
- }
- void GameField::onWaveGenerationBegin(fl::com::meduzik::matcharena::level::Wave* wave){
- /*
- main:
- locals:
- wave : class com.meduzik.matcharena.level.Wave
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.waveSpawner this
- r1 = read_local wave
- r2 = call_cmethod com.meduzik.matcharena.game.field.WaveSpawner.begin r0 r1
- */
- abort();
- }
- void GameField::onWaveGenerationEnd(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.waveSpawner this
- r1 = call_cmethod com.meduzik.matcharena.game.field.WaveSpawner.end r0
- */
- abort();
- }
- void GameField::onWaveRemovedChip(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
- /*
- main:
- locals:
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- code:
- block_0:
- r0 = read_local chip
- r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeChipEntity this r0
- write_local chipObject r1
- r2 = read_local chipObject
- r3 = ref_cmp neq r2 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
- condbr r3 block_1 block_2
- block_1:
- r4 = read_local chipObject
- r5 = read_local chipObject
- r6 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r5 "WaveDestroyChip"
- r7 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r4 r6
- br block_2
- block_2:
- */
- abort();
- }
- void GameField::onWaveGeneratedChip(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
- /*
- main:
- locals:
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- code:
- block_0:
- r0 = read_local cell
- r1 = read_local chip
- r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.createChipEntity this r0 r1
- write_local chipObject r2
- r3 = read_local chip
- r4 = class_test r3 com.meduzik.matcharena.engine.field.chip.DiamondChip
- condbr r4 block_1 block_2
- block_1:
- r5 = read_local chipObject
- r6 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r5 "WaveSpawnDiamond"
- br block_2
- block_2:
- */
- abort();
- }
- void GameField::onWaveGeneratedTile(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::tile::Tile* tile){
- /*
- main:
- locals:
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- tile : class com.meduzik.matcharena.engine.field.tile.Tile
- tileObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
- code:
- block_0:
- r0 = read_local cell
- r1 = read_local tile
- r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.createTileEntity this r0 r1
- write_local tileObject r2
- r3 = read_local tile
- r4 = class_test r3 com.meduzik.matcharena.engine.field.tile.TileGold
- condbr r4 block_1 block_2
- block_1:
- r5 = read_local tileObject
- r6 = read_local tile
- r7 = read_local tile
- r8 = class_cast throws r6 com.meduzik.matcharena.engine.field.tile.TileGold
- r9 = read_cfield com.meduzik.matcharena.engine.field.tile.TileGold.level r8
- r10 = num_cast Number r9
- r11 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithNumber r5 "WaveSpawnGoldTile" r10
- br block_2
- block_2:
- */
- abort();
- }
- void GameField::onJamFlows(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::tile::JamTile* jam){
- /*
- main:
- locals:
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- jam : class com.meduzik.matcharena.engine.field.tile.JamTile
- tileObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
- code:
- block_0:
- r0 = read_local cell
- r1 = read_local jam
- r2 = class_cast throws r1 com.meduzik.matcharena.engine.field.tile.Tile
- r3 = call_cmethod com.meduzik.matcharena.game.field.GameField.createTileEntity this r0 r2
- write_local tileObject r3
- r4 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
- r5 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.raise r4 "jam_flow" 1.000000
- r6 = read_local jam
- r7 = class_cast throws r6 com.meduzik.matcharena.engine.field.tile.Tile
- r8 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillTileQuestProperties this r5 r7
- r9 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r8
- r10 = read_local tileObject
- r11 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r10 "JamFlows"
- r12 = read_local cell
- r13 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateCell this r12
- */
- abort();
- }
- void GameField::onJamReachesReceiver(fl::com::meduzik::matcharena::engine::field::Field* field, fl::com::meduzik::matcharena::engine::field::tile::JamReceiverTile* jamReceiverTile){
- /*
- main:
- locals:
- field : class com.meduzik.matcharena.engine.field.Field
- jamReceiverTile : class com.meduzik.matcharena.engine.field.tile.JamReceiverTile
- code:
- block_0:
- */
- abort();
- }
- void GameField::onIceLevelDestroyed(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::tile::IceTile* tileIce){
- /*
- main:
- locals:
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- tileIce : class com.meduzik.matcharena.engine.field.tile.IceTile
- tile : class com.meduzik.matcharena.game.field.tile.CellLayerObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r1 = read_local tileIce
- r2 = read_dynindex r0 r1
- r3 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r2
- write_local tile r3
- r4 = read_local tile
- r5 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.view r4
- r6 = read_local tile
- r7 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.view r6
- r8 = class_cast throws r5 com.meduzik.matcharena.game.field.tile.TileViewIce
- r9 = call_cmethod com.meduzik.matcharena.game.field.tile.TileViewIce.decreaseLevel r8
- r10 = read_local tile
- r11 = read_local tileIce
- r12 = read_cfield com.meduzik.matcharena.engine.field.tile.IceTile.level r11
- r13 = num_cast Number r12
- r14 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithNumber r10 "IceTileLevelDestroy" r13
- */
- abort();
- }
- void GameField::onGoldenTileLevelDestroyed(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::tile::TileGold* tileGold){
- /*
- main:
- locals:
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- tileGold : class com.meduzik.matcharena.engine.field.tile.TileGold
- tile : class com.meduzik.matcharena.game.field.tile.CellLayerObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r1 = read_local tileGold
- r2 = read_dynindex r0 r1
- r3 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r2
- write_local tile r3
- r4 = read_local tile
- r5 = read_local tileGold
- r6 = read_cfield com.meduzik.matcharena.engine.field.tile.TileGold.level r5
- r7 = num_cast Number r6
- r8 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithNumber r4 "GoldTileLevelDestroy" r7
- */
- abort();
- }
- void GameField::onPlateDestroyed(fl::com::meduzik::matcharena::engine::field::plate::Plate* plate){
- /*
- main:
- locals:
- plate : class com.meduzik.matcharena.engine.field.plate.Plate
- plateObject : class com.meduzik.matcharena.game.field.borders.PlateObject
- code:
- block_0:
- r0 = read_local plate
- r1 = call_cmethod com.meduzik.matcharena.engine.field.plate.Plate.border r0
- r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateBorder this r1
- r3 = read_local plate
- r4 = to_any r3
- r5 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r4
- r6 = from_any class com.meduzik.matcharena.game.field.borders.PlateObject r5
- write_local plateObject r6
- r7 = read_local plateObject
- r8 = ref_cmp neq r7 (null:class com.meduzik.matcharena.game.field.borders.PlateObject)
- condbr r8 block_1 block_2
- block_1:
- r9 = read_local plateObject
- r10 = read_local plateObject
- r11 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r10 "PlateDestroy"
- r12 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r9 r11
- br block_2
- block_2:
- r13 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
- r14 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.raise r13 "plate_destroy" 1.000000
- r15 = read_local plate
- r16 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillBorderQuestProperties this r14 r15
- r17 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r16
- */
- abort();
- }
- void GameField::onPlateRemoved(fl::com::meduzik::matcharena::engine::field::plate::Plate* plate){
- /*
- main:
- locals:
- plate : class com.meduzik.matcharena.engine.field.plate.Plate
- plateObject : class com.meduzik.matcharena.game.field.borders.PlateObject
- code:
- block_0:
- r0 = read_local plate
- r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.removePlateEntity this r0
- write_local plateObject r1
- r2 = read_local plateObject
- r3 = ref_cmp neq r2 (null:class com.meduzik.matcharena.game.field.borders.PlateObject)
- condbr r3 block_1 block_2
- block_1:
- r4 = read_local plateObject
- r5 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r4
- r6 = ref_cmp neq r5 (null:class com.meduzik.fx.combinators.FXWrap)
- r7 = choice r6 Boolean false true
- condbr r7 block_3 block_4
- block_2:
- block_3:
- r8 = read_local plateObject
- r9 = read_local plateObject
- r10 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r9 "PlateDestroy"
- r11 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r8 r10
- br block_4
- block_4:
- br block_2
- */
- abort();
- }
- void GameField::onTileDestroyed(fl::com::meduzik::matcharena::engine::field::tile::Tile* tile){
- /*
- main:
- locals:
- tile : class com.meduzik.matcharena.engine.field.tile.Tile
- tileObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
- code:
- block_0:
- r0 = read_local tile
- r1 = call_cmethod com.meduzik.matcharena.engine.field.tile.Tile.cell r0
- r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateCell this r1
- r3 = read_local tile
- r4 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeTileEntity this r3
- write_local tileObject r4
- r5 = read_local tile
- r6 = class_test r5 com.meduzik.matcharena.engine.field.tile.TileGold
- condbr r6 block_1 block_2
- block_1:
- r7 = read_local tileObject
- r8 = read_local tileObject
- r9 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r8 "GoldTileDestroy"
- r10 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r7 r9
- br block_2
- block_2:
- r11 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
- r12 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.raise r11 "tile_destroy" 1.000000
- r13 = read_local tile
- r14 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillTileQuestProperties this r12 r13
- r15 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r14
- */
- abort();
- }
- void GameField::onCoverBoundLevelDestroyed(fl::com::meduzik::matcharena::engine::field::cover::CoverBound* coverBound){
- /*
- main:
- locals:
- coverBound : class com.meduzik.matcharena.engine.field.cover.CoverBound
- coverObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r1 = read_local coverBound
- r2 = read_dynindex r0 r1
- r3 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r2
- write_local coverObject r3
- r4 = read_local coverBound
- r5 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.type r4
- r6 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_BOUND
- r7 = num_cmp eq r5 r6
- condbr r7 block_1 block_2
- block_1:
- r8 = read_local coverObject
- r9 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.view r8
- r10 = read_local coverObject
- r11 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.view r10
- r12 = class_cast throws r9 com.meduzik.matcharena.game.field.tile.CoverViewBlocker
- r13 = call_cmethod com.meduzik.matcharena.game.field.tile.CoverViewBlocker.decreaseLevel r12
- r14 = read_local coverObject
- r15 = read_local coverBound
- r16 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.level r15
- r17 = num_cast Number r16
- r18 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithNumber r14 "BoundsLevelDestroy" r17
- br block_3
- br block_4
- block_2:
- r19 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_HONEY
- r20 = num_cmp eq r5 r19
- condbr r20 block_4 block_5
- block_3:
- block_4:
- r21 = read_local coverObject
- r22 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.view r21
- r23 = read_local coverObject
- r24 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.view r23
- r25 = class_cast throws r22 com.meduzik.matcharena.game.field.tile.CoverViewBlocker
- r26 = call_cmethod com.meduzik.matcharena.game.field.tile.CoverViewBlocker.decreaseLevel r25
- r27 = read_local coverObject
- r28 = read_local coverBound
- r29 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.level r28
- r30 = num_cast Number r29
- r31 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithNumber r27 "HoneyLevelDestroy" r30
- br block_3
- br block_6
- block_5:
- r32 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_STONE
- r33 = num_cmp eq r5 r32
- condbr r33 block_6 block_7
- block_6:
- r34 = read_local coverObject
- r35 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.view r34
- r36 = read_local coverObject
- r37 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.view r36
- r38 = class_cast throws r35 com.meduzik.matcharena.game.field.tile.CoverViewBlocker
- r39 = call_cmethod com.meduzik.matcharena.game.field.tile.CoverViewBlocker.decreaseLevel r38
- r40 = read_local coverObject
- r41 = read_local coverBound
- r42 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.level r41
- r43 = num_cast Number r42
- r44 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithNumber r40 "StoneLevelDestroy" r43
- br block_3
- br block_8
- block_7:
- r45 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_HONEY
- r46 = num_cmp eq r5 r45
- condbr r46 block_8 block_9
- block_8:
- r47 = read_local coverObject
- r48 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.view r47
- r49 = read_local coverObject
- r50 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.view r49
- r51 = class_cast throws r48 com.meduzik.matcharena.game.field.tile.CoverViewBlocker
- r52 = call_cmethod com.meduzik.matcharena.game.field.tile.CoverViewBlocker.decreaseLevel r51
- r53 = read_local coverObject
- r54 = read_local coverBound
- r55 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.level r54
- r56 = num_cast Number r55
- r57 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithNumber r53 "ChocolateLevelDestroy" r56
- br block_3
- br block_10
- block_9:
- br block_10
- block_10:
- r58 = to_any "unknown cover bound"
- r59 = newclass Error r58
- throw r59
- br block_3
- br block_3
- */
- abort();
- }
- void GameField::onCoverDestroyed(fl::com::meduzik::matcharena::engine::field::cover::Cover* cover, jfl::Int decayTimestamp){
- /*
- main:
- locals:
- cover : class com.meduzik.matcharena.engine.field.cover.Cover
- decayTimestamp : int
- coverObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
- code:
- block_0:
- r0 = read_local cover
- r1 = call_cmethod com.meduzik.matcharena.engine.field.cover.Cover.cell r0
- r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateCell this r1
- r3 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r4 = read_local cover
- r5 = read_dynindex r3 r4
- r6 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r5
- write_local coverObject r6
- r7 = call_cmethod com.meduzik.matcharena.game.field.GameField.raise this "cover_destroy"
- r8 = read_local cover
- r9 = call_cmethod com.meduzik.matcharena.game.field.GameField.fillCoverQuestProperties this r7 r8
- r10 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r9
- r11 = read_local cover
- r12 = class_test r11 com.meduzik.matcharena.engine.field.cover.CoverBound
- condbr r12 block_1 block_2
- block_1:
- r13 = read_local cover
- r14 = read_local cover
- r15 = class_cast throws r13 com.meduzik.matcharena.engine.field.cover.CoverBound
- r16 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.type r15
- r17 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_BOUND
- r18 = num_cmp eq r16 r17
- condbr r18 block_3 block_4
- block_2:
- block_3:
- r19 = read_local coverObject
- r20 = read_local coverObject
- r21 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r20 "BoundsDestroy"
- r22 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r19 r21
- br block_5
- br block_6
- block_4:
- r23 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_HONEY
- r24 = num_cmp eq r16 r23
- condbr r24 block_6 block_7
- block_5:
- br block_2
- block_6:
- r25 = read_local coverObject
- r26 = read_local coverObject
- r27 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r26 "HoneyDestroy"
- r28 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r25 r27
- br block_5
- br block_8
- block_7:
- r29 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_CHOCOLATE
- r30 = num_cmp eq r16 r29
- condbr r30 block_8 block_9
- block_8:
- r31 = read_local coverObject
- r32 = read_local coverObject
- r33 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r32 "ChocolateDestroy"
- r34 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r31 r33
- br block_5
- br block_10
- block_9:
- r35 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_STONE
- r36 = num_cmp eq r16 r35
- condbr r36 block_10 block_11
- block_10:
- r37 = read_local coverObject
- r38 = read_local coverObject
- r39 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r38 "StoneDestroy"
- r40 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r37 r39
- br block_5
- br block_12
- block_11:
- br block_12
- block_12:
- r41 = to_any "unknown cover destroyed"
- r42 = newclass Error r41
- throw r42
- br block_5
- br block_5
- */
- abort();
- }
- void GameField::onCoverDecays(fl::com::meduzik::matcharena::engine::field::cover::Cover* cover){
- /*
- main:
- locals:
- cover : class com.meduzik.matcharena.engine.field.cover.Cover
- code:
- block_0:
- r0 = read_local cover
- r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeCoverEntity this r0
- r2 = read_local cover
- r3 = call_cmethod com.meduzik.matcharena.engine.field.cover.Cover.cell r2
- r4 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateCell this r3
- */
- abort();
- }
- void GameField::onChipSupercharged(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip, jfl::Int delay, fl::com::meduzik::matcharena::engine::observer::ActivationEvent* reason){
- /*
- main:
- locals:
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- delay : int
- reason : class com.meduzik.matcharena.engine.observer.ActivationEvent
- code:
- block_0:
- r0 = read_local chip
- r1 = read_local reason
- r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.onChipActivated this r0 r1
- */
- abort();
- }
- void GameField::onChipSuperchargeHitBegin(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
- /*
- main:
- locals:
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r1 = read_local chip
- r2 = read_dynindex r0 r1
- r3 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r2
- write_local chipObject r3
- r4 = read_local chipObject
- r5 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.deactivate r4
- */
- abort();
- }
- void GameField::onChipSuperchargeHitEnd(){
- /*
- main:
- code:
- block_0:
- */
- abort();
- }
- void GameField::onChocolateGrowBegin(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::field::cover::Cover* chocolateCover){
- /*
- main:
- locals:
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- chocolateCover : class com.meduzik.matcharena.engine.field.cover.Cover
- coverObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
- code:
- block_0:
- r0 = read_local cell
- r1 = read_local chocolateCover
- r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.createCoverEntity this r0 r1
- write_local coverObject r2
- r3 = read_local coverObject
- r4 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r3 "ChocolateGrow"
- r5 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r6 = read_cfield com.meduzik.matcharena.game.EventContext.CHOCOLATE_GROW
- r7 = call_cmethod com.meduzik.matcharena.game.EventContext.begin r5 r6
- r8 = read_local cell
- r9 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateCell this r8
- */
- abort();
- }
- void GameField::onChocolateGrowEnd(fl::com::meduzik::matcharena::engine::field::EngineCell* cell){
- /*
- main:
- locals:
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r1 = call_cmethod com.meduzik.matcharena.game.EventContext.end r0
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- oldChip : class com.meduzik.matcharena.engine.field.chip.Chip
- newChip : class com.meduzik.matcharena.engine.field.chip.Chip
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.waveSpawner this
- r1 = read_local cell
- r2 = read_local oldChip
- r3 = read_local newChip
- r4 = call_cmethod com.meduzik.matcharena.game.field.WaveSpawner.onWaveReplacedChip r0 r1 r2 r3
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- border : class com.meduzik.matcharena.engine.field.EngineBorder
- oldPlate : class com.meduzik.matcharena.engine.field.plate.Plate
- newPlate : class com.meduzik.matcharena.engine.field.plate.Plate
- code:
- block_0:
- r0 = read_local border
- r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateBorder this r0
- r2 = read_cfield com.meduzik.matcharena.game.field.GameField.waveSpawner this
- r3 = read_local border
- r4 = read_local oldPlate
- r5 = read_local newPlate
- r6 = call_cmethod com.meduzik.matcharena.game.field.WaveSpawner.onWaveReplacedPlate r2 r3 r4 r5
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- oldCover : class com.meduzik.matcharena.engine.field.cover.Cover
- newCover : class com.meduzik.matcharena.engine.field.cover.Cover
- code:
- block_0:
- r0 = read_local cell
- r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateCell this r0
- r2 = read_cfield com.meduzik.matcharena.game.field.GameField.waveSpawner this
- r3 = read_local cell
- r4 = read_local oldCover
- r5 = read_local newCover
- r6 = call_cmethod com.meduzik.matcharena.game.field.WaveSpawner.onWaveReplacedCover r2 r3 r4 r5
- */
- abort();
- }
- void GameField::updateCell(fl::com::meduzik::matcharena::engine::field::EngineCell* cell){
- /*
- main:
- locals:
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- dRow : int
- dColumn : int
- code:
- block_0:
- r0 = num_unop Number ! 1.000000
- r1 = num_cast int r0
- write_local dRow r1
- br block_1
- block_1:
- r2 = read_local dRow
- r3 = num_cast Number r2
- r4 = num_cmp le r3 1.000000
- condbr r4 block_2 block_3
- block_2:
- r5 = num_unop Number ! 1.000000
- r6 = num_cast int r5
- write_local dColumn r6
- br block_4
- block_3:
- block_4:
- r7 = read_local dColumn
- r8 = num_cast Number r7
- r9 = num_cmp le r8 1.000000
- condbr r9 block_5 block_6
- block_5:
- r10 = read_local cell
- r11 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r10
- r12 = read_local dRow
- r13 = num_binop int + r11 r12
- r14 = read_local cell
- r15 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r14
- r16 = read_local dColumn
- r17 = num_binop int + r15 r16
- r18 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateCellTile this r13 r17
- br block_7
- block_6:
- br block_8
- block_7:
- r19 = read_local dColumn
- r20 = num_binop int + r19 1.000000
- write_local dColumn r20
- br block_4
- block_8:
- r21 = read_local dRow
- r22 = num_binop int + r21 1.000000
- write_local dRow r22
- br block_1
- */
- abort();
- }
- void GameField::updateBorder(fl::com::meduzik::matcharena::engine::field::EngineBorder* border){
- /*
- main:
- locals:
- border : class com.meduzik.matcharena.engine.field.EngineBorder
- row : int
- column : int
- code:
- block_0:
- r0 = read_local border
- r1 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.row r0
- write_local row r1
- r2 = read_local border
- r3 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.column r2
- write_local column r3
- r4 = read_local row
- r5 = read_local column
- r6 = read_local border
- r7 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r6
- r8 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateBorderTile this r4 r5 r7
- r9 = read_local row
- r10 = read_local border
- r11 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r10
- r12 = call_cmethod com.meduzik.matcharena.level.Side.offsetColumn r11
- r13 = num_cast Number r9
- r14 = num_binop Number + r13 r12
- r15 = num_cast int r14
- r16 = read_local column
- r17 = read_local border
- r18 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r17
- r19 = call_cmethod com.meduzik.matcharena.level.Side.offsetRow r18
- r20 = num_binop Number - r16 r19
- r21 = num_cast int r20
- r22 = read_local border
- r23 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r22
- r24 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateBorderTile this r15 r21 r23
- r25 = read_local row
- r26 = read_local border
- r27 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r26
- r28 = call_cmethod com.meduzik.matcharena.level.Side.offsetColumn r27
- r29 = num_binop Number - r25 r28
- r30 = num_cast int r29
- r31 = read_local column
- r32 = read_local border
- r33 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r32
- r34 = call_cmethod com.meduzik.matcharena.level.Side.offsetRow r33
- r35 = num_cast Number r31
- r36 = num_binop Number + r35 r34
- r37 = num_cast int r36
- r38 = read_local border
- r39 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r38
- r40 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateBorderTile this r30 r37 r39
- r41 = read_local row
- r42 = read_local column
- r43 = read_local border
- r44 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r43
- r45 = call_cmethod com.meduzik.matcharena.level.Side.offsetColumn r44
- r46 = num_cast int r45
- r47 = read_local border
- r48 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r47
- r49 = call_cmethod com.meduzik.matcharena.level.Side.offsetRow r48
- r50 = num_unop Number ! r49
- r51 = num_cast int r50
- r52 = call_cmethod com.meduzik.matcharena.level.Side.ByOffset static r46 r51
- r53 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateBorderTile this r41 r42 r52
- r54 = read_local row
- r55 = read_local column
- r56 = read_local border
- r57 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r56
- r58 = call_cmethod com.meduzik.matcharena.level.Side.offsetColumn r57
- r59 = num_unop Number ! r58
- r60 = num_cast int r59
- r61 = read_local border
- r62 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r61
- r63 = call_cmethod com.meduzik.matcharena.level.Side.offsetRow r62
- r64 = num_cast int r63
- r65 = call_cmethod com.meduzik.matcharena.level.Side.ByOffset static r60 r64
- r66 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateBorderTile this r54 r55 r65
- r67 = read_local row
- r68 = read_local border
- r69 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r68
- r70 = call_cmethod com.meduzik.matcharena.level.Side.offsetRow r69
- r71 = num_cast Number r67
- r72 = num_binop Number + r71 r70
- r73 = num_cast int r72
- write_local row r73
- r74 = read_local column
- r75 = read_local border
- r76 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r75
- r77 = call_cmethod com.meduzik.matcharena.level.Side.offsetColumn r76
- r78 = num_cast Number r74
- r79 = num_binop Number + r78 r77
- r80 = num_cast int r79
- write_local column r80
- r81 = read_local row
- r82 = read_local column
- r83 = read_local border
- r84 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r83
- r85 = call_cmethod com.meduzik.matcharena.level.Side.offsetColumn r84
- r86 = num_cast int r85
- r87 = read_local border
- r88 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r87
- r89 = call_cmethod com.meduzik.matcharena.level.Side.offsetRow r88
- r90 = num_unop Number ! r89
- r91 = num_cast int r90
- r92 = call_cmethod com.meduzik.matcharena.level.Side.ByOffset static r86 r91
- r93 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateBorderTile this r81 r82 r92
- r94 = read_local row
- r95 = read_local column
- r96 = read_local border
- r97 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r96
- r98 = call_cmethod com.meduzik.matcharena.level.Side.offsetColumn r97
- r99 = num_unop Number ! r98
- r100 = num_cast int r99
- r101 = read_local border
- r102 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r101
- r103 = call_cmethod com.meduzik.matcharena.level.Side.offsetRow r102
- r104 = num_cast int r103
- r105 = call_cmethod com.meduzik.matcharena.level.Side.ByOffset static r100 r104
- r106 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateBorderTile this r94 r95 r105
- */
- abort();
- }
- void GameField::updateBorderTile(jfl::Int row, jfl::Int column, fl::com::meduzik::matcharena::level::Side* side){
- /*
- main:
- locals:
- row : int
- column : int
- side : class com.meduzik.matcharena.level.Side
- border : class com.meduzik.matcharena.engine.field.EngineBorder
- plateObject : class com.meduzik.matcharena.game.field.borders.PlateObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r1 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r0
- r2 = read_local row
- r3 = read_local column
- r4 = read_local side
- r5 = call_cmethod com.meduzik.matcharena.engine.field.Field.getAnyBorder r1 r2 r3 r4
- write_local border r5
- r6 = read_local border
- r7 = ref_cmp neq r6 (null:class com.meduzik.matcharena.engine.field.EngineBorder)
- r8 = choice r7 Boolean false true
- condbr r8 block_1 block_2
- block_1:
- ret void
- br block_2
- block_2:
- r9 = read_local border
- r10 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.plate r9
- r11 = to_any r10
- r12 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r11
- r13 = from_any class com.meduzik.matcharena.game.field.borders.PlateObject r12
- write_local plateObject r13
- r14 = read_local plateObject
- r15 = ref_cmp neq r14 (null:class com.meduzik.matcharena.game.field.borders.PlateObject)
- condbr r15 block_3 block_4
- block_3:
- r16 = read_local plateObject
- r17 = read_local border
- r18 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.row r17
- r19 = read_local border
- r20 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.column r19
- r21 = read_local border
- r22 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r21
- r23 = call_cmethod com.meduzik.matcharena.game.field.borders.PlateObject.updateTile r16 r18 r20 r22
- br block_4
- block_4:
- */
- abort();
- }
- void GameField::updateCellTile(jfl::Int row, jfl::Int column){
- /*
- main:
- locals:
- row : int
- column : int
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- tile : class com.meduzik.matcharena.engine.field.tile.Tile
- tileObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
- cover : class com.meduzik.matcharena.engine.field.cover.Cover
- coverObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r1 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r0
- r2 = read_local row
- r3 = read_local column
- r4 = call_cmethod com.meduzik.matcharena.engine.field.Field.getAnyCell r1 r2 r3
- write_local cell r4
- r5 = read_local cell
- r6 = ref_cmp neq r5 (null:class com.meduzik.matcharena.engine.field.EngineCell)
- r7 = choice r6 Boolean false true
- condbr r7 block_1 block_2
- block_1:
- ret void
- br block_2
- block_2:
- r8 = read_local cell
- r9 = read_cfield com.meduzik.matcharena.engine.field.EngineCell.tiles r8
- r10 = read_cfield com.meduzik.matcharena.engine.field.tile.TileSet.top r9
- write_local tile r10
- br block_3
- block_3:
- r11 = read_local tile
- r12 = ref_cmp neq r11 (null:class com.meduzik.matcharena.engine.field.tile.Tile)
- condbr r12 block_4 block_5
- block_4:
- r13 = read_local tile
- r14 = to_any r13
- r15 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r14
- r16 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r15
- write_local tileObject r16
- r17 = read_local tileObject
- r18 = ref_cmp neq r17 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
- condbr r18 block_6 block_7
- block_5:
- r19 = read_local cell
- r20 = read_cfield com.meduzik.matcharena.engine.field.EngineCell.covers r19
- r21 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverSet.top r20
- write_local cover r21
- br block_8
- block_6:
- r22 = read_local tileObject
- r23 = read_local cell
- r24 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r23
- r25 = read_local cell
- r26 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r25
- r27 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.updateTile r22 r24 r26
- br block_7
- block_7:
- br block_9
- block_8:
- r28 = read_local cover
- r29 = ref_cmp neq r28 (null:class com.meduzik.matcharena.engine.field.cover.Cover)
- condbr r29 block_10 block_11
- block_9:
- r30 = read_local tile
- r31 = read_cfield com.meduzik.matcharena.engine.field.tile.Tile.next r30
- write_local tile r31
- br block_3
- block_10:
- r32 = read_local cover
- r33 = to_any r32
- r34 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r33
- r35 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r34
- write_local coverObject r35
- r36 = read_local coverObject
- r37 = ref_cmp neq r36 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
- condbr r37 block_12 block_13
- block_11:
- block_12:
- r38 = read_local coverObject
- r39 = read_local cell
- r40 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r39
- r41 = read_local cell
- r42 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r41
- r43 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.updateTile r38 r40 r42
- br block_13
- block_13:
- br block_14
- block_14:
- r44 = read_local cover
- r45 = read_cfield com.meduzik.matcharena.engine.field.cover.Cover.next r44
- write_local cover r45
- br block_8
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- oldTile : class com.meduzik.matcharena.engine.field.tile.Tile
- newTile : class com.meduzik.matcharena.engine.field.tile.Tile
- code:
- block_0:
- r0 = read_local cell
- r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateCell this r0
- r2 = read_cfield com.meduzik.matcharena.game.field.GameField.waveSpawner this
- r3 = read_local cell
- r4 = read_local oldTile
- r5 = read_local newTile
- r6 = call_cmethod com.meduzik.matcharena.game.field.WaveSpawner.onWaveReplacedTile r2 r3 r4 r5
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- oldAddon : class com.meduzik.matcharena.engine.field.chip.addon.ChipAddon
- newAddon : class com.meduzik.matcharena.engine.field.chip.addon.ChipAddon
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.waveSpawner this
- r1 = read_local cell
- r2 = read_local oldAddon
- r3 = read_local newAddon
- r4 = call_cmethod com.meduzik.matcharena.game.field.WaveSpawner.onWaveReplacedAddon r0 r1 r2 r3
- */
- abort();
- }
- void GameField::onWaveReplacedFossil(fl::com::meduzik::matcharena::engine::field::fossils::Fossil* oldFossil, fl::com::meduzik::matcharena::engine::field::fossils::Fossil* newFossil){
- /*
- main:
- locals:
- oldFossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
- newFossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
- code:
- block_0:
- r0 = read_local oldFossil
- r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateFossilArea this r0
- r2 = read_local newFossil
- r3 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateFossilArea this r2
- r4 = read_cfield com.meduzik.matcharena.game.field.GameField.waveSpawner this
- r5 = read_local oldFossil
- r6 = read_local newFossil
- r7 = call_cmethod com.meduzik.matcharena.game.field.WaveSpawner.onWaveReplacedFossil r4 r5 r6
- */
- abort();
- }
- void GameField::onRoadTileRepaired(fl::com::meduzik::matcharena::engine::field::tile::RoadTile* roadTile){
- /*
- main:
- locals:
- roadTile : class com.meduzik.matcharena.engine.field.tile.RoadTile
- tileObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r1 = read_local roadTile
- r2 = read_dynindex r0 r1
- r3 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r2
- write_local tileObject r3
- r4 = read_local tileObject
- r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
- condbr r5 block_1 block_2
- block_1:
- r6 = read_local tileObject
- r7 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.view r6
- r8 = read_local tileObject
- r9 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.view r8
- r10 = class_cast throws r7 com.meduzik.matcharena.game.field.tile.TileViewRoad
- r11 = call_cmethod com.meduzik.matcharena.game.field.tile.TileViewRoad.repair r10
- br block_2
- block_2:
- */
- abort();
- }
- void GameField::onRoadTileRepairStarted(fl::com::meduzik::matcharena::engine::field::tile::RoadTile* roadTile, fl::com::meduzik::matcharena::engine::field::tile::TileGold* tileGold, jfl::Int repairTime){
- /*
- main:
- locals:
- roadTile : class com.meduzik.matcharena.engine.field.tile.RoadTile
- tileGold : class com.meduzik.matcharena.engine.field.tile.TileGold
- repairTime : int
- tileObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
- goldTileObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
- effect : class com.meduzik.matcharena.game.field.effect.EffectObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r1 = read_local roadTile
- r2 = read_dynindex r0 r1
- r3 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r2
- write_local tileObject r3
- r4 = read_local tileObject
- r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
- condbr r5 block_1 block_2
- block_1:
- r6 = read_local tileObject
- r7 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r6 "RoadRepair"
- br block_2
- block_2:
- r8 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r9 = read_local tileGold
- r10 = read_dynindex r8 r9
- r11 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r10
- write_local goldTileObject r11
- r12 = read_local goldTileObject
- r13 = ref_cmp neq r12 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
- condbr r13 block_3 block_4
- block_3:
- r14 = read_local tileObject
- r15 = ref_cmp neq r14 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
- block_4:
- r16 = phi Boolean (block_2 -> r13) (block_3 -> r15)
- condbr r16 block_5 block_6
- block_5:
- r17 = call_cmethod com.meduzik.matcharena.game.field.GameField.resources this
- r18 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.roadRepairProjectile r17
- r19 = call_cmethod com.meduzik.matcharena.game.field.GameField.createEffect this r18
- r20 = read_local goldTileObject
- r21 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r20
- r22 = read_local goldTileObject
- r23 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r22
- r24 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.placeAt r19 r21 r23
- write_local effect r24
- r25 = read_local effect
- r26 = read_local goldTileObject
- r27 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r26
- r28 = read_local goldTileObject
- r29 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r28
- r30 = read_local tileObject
- r31 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r30
- r32 = read_local tileObject
- r33 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r32
- r34 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithTwoPos r25 "RoadRepairProjectile" r27 r29 r31 r33
- r35 = read_local tileObject
- r36 = read_local tileObject
- r37 = class_cast throws r36 com.meduzik.matcharena.game.field.FieldObject
- r38 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithObject r35 "GoldTileUsedForRoadRepair" r37
- br block_6
- block_6:
- */
- abort();
- }
- fl::com::meduzik::matcharena::level::Color* GameField::getColor(fl::com::meduzik::matcharena::engine::EngineColor* color){
- /*
- main:
- locals:
- color : class com.meduzik.matcharena.engine.EngineColor
- code:
- block_0:
- r0 = read_local color
- r1 = ref_cmp neq r0 (null:class com.meduzik.matcharena.engine.EngineColor)
- r2 = choice r1 Boolean false true
- condbr r2 block_1 block_2
- block_1:
- r3 = read_cfield com.meduzik.matcharena.level.Color.Colorless
- ret r3
- br block_2
- block_2:
- r4 = read_local color
- r5 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r4
- ret r5
- */
- abort();
- }
- void GameField::onScoreChanged(jfl::Object* source, fl::com::meduzik::matcharena::engine::goal::GoalEvent* reason, jfl::Int count){
- /*
- main:
- locals:
- source : *
- reason : class com.meduzik.matcharena.engine.goal.GoalEvent
- count : int
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- color : class com.meduzik.matcharena.engine.EngineColor
- cellObject : class com.meduzik.matcharena.game.field.cell.CellObject
- tile : class com.meduzik.matcharena.engine.field.tile.Tile
- fieldObject : class com.meduzik.matcharena.game.field.FieldObject
- cover : class com.meduzik.matcharena.engine.field.cover.Cover
- coverObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
- coverBound : class com.meduzik.matcharena.engine.field.cover.CoverBound
- fossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
- fossilObject : class com.meduzik.matcharena.game.field.fossil.FossilObject
- plate : class com.meduzik.matcharena.engine.field.plate.Plate
- plateObject : class com.meduzik.matcharena.game.field.borders.PlateObject
- code:
- block_0:
- r0 = read_local source
- r1 = dyn_type_test r0 class com.meduzik.matcharena.engine.field.chip.Chip
- condbr r1 block_1 block_2
- block_1:
- r2 = read_local source
- r3 = from_any class com.meduzik.matcharena.engine.field.chip.Chip r2
- write_local chip r3
- r4 = read_local chip
- r5 = to_any r4
- r6 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r5
- r7 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r6
- write_local chipObject r7
- r8 = read_local chip
- r9 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.getColor r8
- write_local color r9
- r10 = read_local chip
- r11 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.targetCell r10
- r12 = call_cmethod com.meduzik.matcharena.game.field.GameField.getCellMapping this r11
- write_local cellObject r12
- r13 = read_local reason
- r14 = read_cfield com.meduzik.matcharena.engine.goal.GoalEvent.CharacterWalks
- r15 = ref_cmp eq r13 r14
- condbr r15 block_3 block_4
- block_2:
- r16 = call_cmethod com.meduzik.matcharena.game.field.GameField.changeScore this
- block_3:
- r17 = read_cfield com.meduzik.matcharena.game.field.GameField.pickup this
- r18 = imethod_closure com.meduzik.matcharena.game.field.pickup.IPickupController.pickup r17
- r19 = read_local count
- r20 = read_local chipObject
- r21 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r20
- r22 = read_local chipObject
- r23 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r22
- r24 = call_dynamic r18 this "Walk" r19 r21 r23
- r25 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
- r26 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.raise r25 "char_walk" 1.000000
- r27 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r26
- br block_5
- br block_6
- block_4:
- br block_6
- block_5:
- br block_2
- block_6:
- r28 = read_local chip
- r29 = class_test r28 com.meduzik.matcharena.engine.field.chip.DiamondChip
- condbr r29 block_7 block_8
- block_7:
- r30 = read_cfield com.meduzik.matcharena.game.field.GameField.pickup this
- r31 = imethod_closure com.meduzik.matcharena.game.field.pickup.IPickupController.pickup r30
- r32 = read_local count
- r33 = read_local chipObject
- r34 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r33
- r35 = read_local chipObject
- r36 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r35
- r37 = read_local chipObject
- r38 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.primaryView r37
- r39 = call_cmethod com.meduzik.matcharena.game.field.view.ObjectView.clone r38
- r40 = newclass com.meduzik.matcharena.game.field.view.FieldObjectViewWrapper this r39
- r41 = call_dynamic r31 this "Diamond" r32 r34 r36 r40
- br block_8
- block_8:
- br block_5
- br block_5
- */
- abort();
- }
- void GameField::changeScore(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.observer this
- r1 = imethod_closure com.meduzik.matcharena.game.GameFieldObserver.onScoreChanged r0
- r2 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r3 = read_cfield com.meduzik.matcharena.engine.Match3Engine.score r2
- r4 = call_dynamic r1 this r3
- r5 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
- r6 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.raise r5 "score" 1.000000
- r7 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r6
- */
- abort();
- }
- void GameField::loadCell(jfl::Int row, jfl::Int column){
- /*
- main:
- locals:
- row : int
- column : int
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.decorSet this
- r1 = read_local row
- r2 = read_local column
- r3 = call_cmethod com.meduzik.matcharena.game.field.decor.DecorObjectSet.onCellLoaded r0 r1 r2
- r4 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r5 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r4
- r6 = read_local row
- r7 = read_local column
- r8 = call_cmethod com.meduzik.matcharena.engine.field.Field.getAnyCell r5 r6 r7
- r9 = read_local row
- r10 = read_local column
- r11 = call_cmethod com.meduzik.matcharena.game.field.GameField.createCellFromEngineCell this r8 r9 r10
- r12 = read_local row
- r13 = read_local column
- r14 = read_cfield com.meduzik.matcharena.level.Side.Left
- r15 = call_cmethod com.meduzik.matcharena.game.field.GameField.loadBorder this r12 r13 r14
- r16 = read_local row
- r17 = read_local column
- r18 = read_cfield com.meduzik.matcharena.level.Side.Top
- r19 = call_cmethod com.meduzik.matcharena.game.field.GameField.loadBorder this r16 r17 r18
- r20 = read_local row
- r21 = read_local column
- r22 = read_cfield com.meduzik.matcharena.level.Side.Right
- r23 = call_cmethod com.meduzik.matcharena.game.field.GameField.loadBorder this r20 r21 r22
- r24 = read_local row
- r25 = read_local column
- r26 = read_cfield com.meduzik.matcharena.level.Side.Bottom
- r27 = call_cmethod com.meduzik.matcharena.game.field.GameField.loadBorder this r24 r25 r26
- */
- abort();
- }
- void GameField::unloadCell(jfl::Int row, jfl::Int column){
- /*
- main:
- locals:
- row : int
- column : int
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- cellObject : class com.meduzik.matcharena.game.field.cell.CellObject
- cover : class com.meduzik.matcharena.engine.field.cover.Cover
- coverObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
- tile : class com.meduzik.matcharena.engine.field.tile.Tile
- tileObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
- chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- code:
- block_0:
- r0 = read_local row
- r1 = read_local column
- r2 = read_cfield com.meduzik.matcharena.level.Side.Left
- r3 = call_cmethod com.meduzik.matcharena.game.field.GameField.unloadBorder this r0 r1 r2
- r4 = read_local row
- r5 = read_local column
- r6 = read_cfield com.meduzik.matcharena.level.Side.Top
- r7 = call_cmethod com.meduzik.matcharena.game.field.GameField.unloadBorder this r4 r5 r6
- r8 = read_local row
- r9 = read_local column
- r10 = read_cfield com.meduzik.matcharena.level.Side.Right
- r11 = call_cmethod com.meduzik.matcharena.game.field.GameField.unloadBorder this r8 r9 r10
- r12 = read_local row
- r13 = read_local column
- r14 = read_cfield com.meduzik.matcharena.level.Side.Bottom
- r15 = call_cmethod com.meduzik.matcharena.game.field.GameField.unloadBorder this r12 r13 r14
- r16 = read_cfield com.meduzik.matcharena.game.field.GameField.decorSet this
- r17 = read_local row
- r18 = read_local column
- r19 = call_cmethod com.meduzik.matcharena.game.field.decor.DecorObjectSet.onCellUnloaded r16 r17 r18
- r20 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r21 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r20
- r22 = read_local row
- r23 = read_local column
- r24 = call_cmethod com.meduzik.matcharena.engine.field.Field.getAnyCell r21 r22 r23
- write_local cell r24
- r25 = read_local cell
- r26 = ref_cmp neq r25 (null:class com.meduzik.matcharena.engine.field.EngineCell)
- condbr r26 block_1 block_2
- block_1:
- r27 = read_local cell
- r28 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeCellEntity this r27
- write_local cellObject r28
- r29 = read_local cellObject
- r30 = ref_cmp neq r29 (null:class com.meduzik.matcharena.game.field.cell.CellObject)
- condbr r30 block_3 block_4
- block_2:
- block_3:
- r31 = read_local cellObject
- r32 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.allowRemove r31
- br block_4
- block_4:
- r33 = read_local cell
- r34 = read_cfield com.meduzik.matcharena.engine.field.EngineCell.covers r33
- r35 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverSet.top r34
- write_local cover r35
- br block_5
- block_5:
- r36 = read_local cover
- r37 = ref_cmp neq r36 (null:class com.meduzik.matcharena.engine.field.cover.Cover)
- condbr r37 block_6 block_7
- block_6:
- r38 = read_local cover
- r39 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeCoverEntity this r38
- write_local coverObject r39
- r40 = read_local coverObject
- r41 = ref_cmp neq r40 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
- condbr r41 block_8 block_9
- block_7:
- r42 = read_local cell
- r43 = read_cfield com.meduzik.matcharena.engine.field.EngineCell.tiles r42
- r44 = read_cfield com.meduzik.matcharena.engine.field.tile.TileSet.top r43
- write_local tile r44
- br block_10
- block_8:
- r45 = read_local coverObject
- r46 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.allowRemove r45
- br block_9
- block_9:
- br block_11
- block_10:
- r47 = read_local tile
- r48 = ref_cmp neq r47 (null:class com.meduzik.matcharena.engine.field.tile.Tile)
- condbr r48 block_12 block_13
- block_11:
- r49 = read_local cover
- r50 = read_cfield com.meduzik.matcharena.engine.field.cover.Cover.next r49
- write_local cover r50
- br block_5
- block_12:
- r51 = read_local tile
- r52 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeTileEntity this r51
- write_local tileObject r52
- r53 = read_local tileObject
- r54 = ref_cmp neq r53 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
- condbr r54 block_14 block_15
- block_13:
- r55 = read_local cell
- r56 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.currentChip r55
- r57 = ref_cmp neq r56 (null:class com.meduzik.matcharena.engine.field.chip.Chip)
- condbr r57 block_16 block_17
- block_14:
- r58 = read_local tileObject
- r59 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.allowRemove r58
- br block_15
- block_15:
- br block_18
- block_16:
- r60 = read_local cell
- r61 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.currentChip r60
- r62 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeChipEntity this r61
- write_local chipObject r62
- r63 = read_local chipObject
- r64 = ref_cmp neq r63 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
- condbr r64 block_19 block_20
- block_17:
- r65 = read_local row
- r66 = read_local column
- r67 = read_cfield com.meduzik.matcharena.level.Side.Left
- r68 = call_cmethod com.meduzik.matcharena.game.field.GameField.unloadPortal this r65 r66 r67
- r69 = read_local row
- r70 = read_local column
- r71 = read_cfield com.meduzik.matcharena.level.Side.Top
- r72 = call_cmethod com.meduzik.matcharena.game.field.GameField.unloadPortal this r69 r70 r71
- r73 = read_local row
- r74 = read_local column
- r75 = read_cfield com.meduzik.matcharena.level.Side.Right
- r76 = call_cmethod com.meduzik.matcharena.game.field.GameField.unloadPortal this r73 r74 r75
- r77 = read_local row
- r78 = read_local column
- r79 = read_cfield com.meduzik.matcharena.level.Side.Bottom
- r80 = call_cmethod com.meduzik.matcharena.game.field.GameField.unloadPortal this r77 r78 r79
- r81 = read_local cell
- r82 = read_cfield com.meduzik.matcharena.engine.field.EngineCell.fossilLink r81
- r83 = ref_cmp neq r82 (null:class com.meduzik.matcharena.engine.field.fossils.Fossil)
- condbr r83 block_21 block_22
- block_18:
- r84 = read_local tile
- r85 = read_cfield com.meduzik.matcharena.engine.field.tile.Tile.next r84
- write_local tile r85
- br block_10
- block_19:
- r86 = read_local chipObject
- r87 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.allowRemove r86
- br block_20
- block_20:
- br block_17
- block_21:
- r88 = read_local cell
- r89 = read_cfield com.meduzik.matcharena.engine.field.EngineCell.fossilLink r88
- r90 = call_cmethod com.meduzik.matcharena.game.field.GameField.unloadFossil this r89
- br block_22
- block_22:
- br block_2
- */
- abort();
- }
- void GameField::loadBorder(jfl::Int row, jfl::Int column, fl::com::meduzik::matcharena::level::Side* side){
- /*
- main:
- locals:
- row : int
- column : int
- side : class com.meduzik.matcharena.level.Side
- border : class com.meduzik.matcharena.engine.field.EngineBorder
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.bordersCache this
- r1 = read_local row
- r2 = read_local column
- r3 = read_local side
- r4 = call_cmethod com.meduzik.matcharena.game.field.borders.BordersCache.load r0 r1 r2 r3
- condbr r4 block_1 block_2
- block_1:
- r5 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r6 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r5
- r7 = read_local row
- r8 = read_local column
- r9 = read_local side
- r10 = call_cmethod com.meduzik.matcharena.engine.field.Field.getAnyBorder r6 r7 r8 r9
- write_local border r10
- r11 = read_local border
- r12 = ref_cmp neq r11 (null:class com.meduzik.matcharena.engine.field.EngineBorder)
- condbr r12 block_3 block_4
- block_2:
- block_3:
- r13 = read_local border
- r14 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.plate r13
- r15 = ref_cmp neq r14 (null:class com.meduzik.matcharena.engine.field.plate.Plate)
- block_4:
- r16 = phi Boolean (block_1 -> r12) (block_3 -> r15)
- condbr r16 block_5 block_6
- block_5:
- r17 = read_local border
- r18 = read_local border
- r19 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.plate r18
- r20 = call_cmethod com.meduzik.matcharena.game.field.GameField.createPlateEntity this r17 r19
- br block_6
- block_6:
- br block_2
- */
- abort();
- }
- void GameField::unloadBorder(jfl::Int row, jfl::Int column, fl::com::meduzik::matcharena::level::Side* side){
- /*
- main:
- locals:
- row : int
- column : int
- side : class com.meduzik.matcharena.level.Side
- border : class com.meduzik.matcharena.engine.field.EngineBorder
- plateObject : class com.meduzik.matcharena.game.field.borders.PlateObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.bordersCache this
- r1 = read_local row
- r2 = read_local column
- r3 = read_local side
- r4 = call_cmethod com.meduzik.matcharena.game.field.borders.BordersCache.unload r0 r1 r2 r3
- condbr r4 block_1 block_2
- block_1:
- r5 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r6 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r5
- r7 = read_local row
- r8 = read_local column
- r9 = read_local side
- r10 = call_cmethod com.meduzik.matcharena.engine.field.Field.getAnyBorder r6 r7 r8 r9
- write_local border r10
- r11 = read_local border
- r12 = ref_cmp neq r11 (null:class com.meduzik.matcharena.engine.field.EngineBorder)
- condbr r12 block_3 block_4
- block_2:
- block_3:
- r13 = read_local border
- r14 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.plate r13
- r15 = ref_cmp neq r14 (null:class com.meduzik.matcharena.engine.field.plate.Plate)
- block_4:
- r16 = phi Boolean (block_1 -> r12) (block_3 -> r15)
- condbr r16 block_5 block_6
- block_5:
- r17 = read_local border
- r18 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.plate r17
- r19 = call_cmethod com.meduzik.matcharena.game.field.GameField.removePlateEntity this r18
- write_local plateObject r19
- r20 = read_local plateObject
- r21 = ref_cmp neq r20 (null:class com.meduzik.matcharena.game.field.borders.PlateObject)
- condbr r21 block_7 block_8
- block_6:
- br block_2
- block_7:
- r22 = read_local plateObject
- r23 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.allowRemove r22
- br block_8
- block_8:
- br block_6
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- cover : class com.meduzik.matcharena.engine.field.cover.Cover
- coverObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
- code:
- block_0:
- r0 = read_local chip
- r1 = ref_cmp neq r0 (null:class com.meduzik.matcharena.engine.field.chip.Chip)
- r2 = choice r1 Boolean false true
- condbr r2 block_1 block_2
- block_1:
- ret (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
- br block_2
- block_2:
- r3 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r4 = read_local chip
- r5 = read_dynindex r3 r4
- r6 = from_any Boolean r5
- condbr r6 block_3 block_4
- block_3:
- r7 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r8 = read_local chip
- r9 = read_dynindex r7 r8
- r10 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r9
- ret r10
- br block_4
- block_4:
- r11 = read_local chip
- r12 = call_cmethod com.meduzik.matcharena.game.field.GameField.createChipFromEngineChip this r11
- write_local chipObject r12
- r13 = read_local chipObject
- r14 = ref_cmp neq r13 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
- condbr r14 block_5 block_6
- block_5:
- r15 = read_local chipObject
- r16 = class_cast throws r15 com.meduzik.matcharena.game.field.FieldObject
- r17 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r16
- r18 = read_local cell
- r19 = ref_cmp neq r18 (null:class com.meduzik.matcharena.engine.field.EngineCell)
- condbr r19 block_7 block_8
- block_6:
- r20 = read_local chipObject
- ret r20
- block_7:
- r21 = read_local chipObject
- r22 = read_local cell
- r23 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r22
- r24 = read_local cell
- r25 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r24
- r26 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.placeAtCellPosition r21 r23 r25
- br block_8
- block_8:
- r27 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r28 = read_local chip
- r29 = read_local chipObject
- r30 = to_any r29
- write_dynindex r27 r28
- r31 = read_local chip
- r32 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.currentCell r31
- r33 = ref_cmp neq r32 (null:class com.meduzik.matcharena.engine.field.EngineCell)
- condbr r33 block_9 block_10
- block_9:
- r34 = read_local chip
- r35 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.currentCell r34
- r36 = read_cfield com.meduzik.matcharena.engine.field.EngineCell.covers r35
- r37 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverSet.top r36
- write_local cover r37
- br block_11
- block_10:
- br block_6
- block_11:
- r38 = read_local cover
- r39 = ref_cmp neq r38 (null:class com.meduzik.matcharena.engine.field.cover.Cover)
- condbr r39 block_12 block_13
- block_12:
- r40 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r41 = read_local cover
- r42 = read_dynindex r40 r41
- r43 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r42
- write_local coverObject r43
- r44 = read_local coverObject
- r45 = ref_cmp neq r44 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
- condbr r45 block_14 block_15
- block_13:
- br block_10
- block_14:
- r46 = read_local chipObject
- r47 = read_local coverObject
- r48 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.applyCover r46 r47
- br block_15
- block_15:
- br block_16
- block_16:
- r49 = read_local cover
- r50 = read_cfield com.meduzik.matcharena.engine.field.cover.Cover.next r49
- write_local cover r50
- br block_11
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- addon : class com.meduzik.matcharena.engine.field.chip.addon.ChipAddon
- chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- addonObject : class com.meduzik.matcharena.game.field.chip.addon.AddonObject
- code:
- block_0:
- r0 = read_local addon
- r1 = ref_cmp neq r0 (null:class com.meduzik.matcharena.engine.field.chip.addon.ChipAddon)
- r2 = choice r1 Boolean false true
- condbr r2 block_1 block_2
- block_1:
- ret (null:class com.meduzik.matcharena.game.field.chip.addon.AddonObject)
- br block_2
- block_2:
- r3 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r4 = read_local addon
- r5 = read_dynindex r3 r4
- r6 = from_any Boolean r5
- condbr r6 block_3 block_4
- block_3:
- r7 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r8 = read_local addon
- r9 = read_dynindex r7 r8
- r10 = from_any class com.meduzik.matcharena.game.field.chip.addon.AddonObject r9
- ret r10
- br block_4
- block_4:
- r11 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r12 = read_local chip
- r13 = read_dynindex r11 r12
- r14 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r13
- write_local chipObject r14
- r15 = read_local chipObject
- r16 = ref_cmp neq r15 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
- r17 = choice r16 Boolean false true
- condbr r17 block_5 block_6
- block_5:
- ret (null:class com.meduzik.matcharena.game.field.chip.addon.AddonObject)
- br block_6
- block_6:
- r18 = read_local chip
- r19 = read_local chipObject
- r20 = read_local addon
- r21 = call_cmethod com.meduzik.matcharena.game.field.GameField.createAddonFromEngineAddon this r18 r19 r20
- write_local addonObject r21
- r22 = read_local addonObject
- r23 = ref_cmp neq r22 (null:class com.meduzik.matcharena.game.field.chip.addon.AddonObject)
- condbr r23 block_7 block_8
- block_7:
- r24 = read_local addonObject
- r25 = class_cast throws r24 com.meduzik.matcharena.game.field.FieldObject
- r26 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r25
- r27 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r28 = read_local addon
- r29 = read_local addonObject
- r30 = to_any r29
- write_dynindex r27 r28
- br block_8
- block_8:
- r31 = read_local addonObject
- ret r31
- */
- abort();
- }
- fl::com::meduzik::matcharena::game::field::cell::CellObject* GameField::removeCellEntity(fl::com::meduzik::matcharena::engine::field::EngineCell* cell){
- /*
- main:
- locals:
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- cellObject : class com.meduzik.matcharena.game.field.cell.CellObject
- code:
- block_0:
- r0 = read_local cell
- r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.getCellMapping this r0
- write_local cellObject r1
- r2 = read_local cellObject
- r3 = ref_cmp neq r2 (null:class com.meduzik.matcharena.game.field.cell.CellObject)
- condbr r3 block_1 block_2
- block_1:
- r4 = read_local cellObject
- r5 = read_cfield com.meduzik.matcharena.game.field.cell.CellObject.arrowSprite r4
- r6 = ref_cmp neq r5 (null:class com.meduzik.matcharena.game.field.effect.SpriteFieldObject)
- condbr r6 block_3 block_4
- block_2:
- r7 = read_local cellObject
- ret r7
- block_3:
- r8 = read_local cellObject
- r9 = read_cfield com.meduzik.matcharena.game.field.cell.CellObject.arrowSprite r8
- r10 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.onEngineDropsRef r9
- r11 = read_local cellObject
- r12 = read_cfield com.meduzik.matcharena.game.field.cell.CellObject.arrowSprite r11
- r13 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.allowRemove r12
- r14 = read_local cellObject
- write_cfield com.meduzik.matcharena.game.field.cell.CellObject.arrowSprite r14 (null:class com.meduzik.matcharena.game.field.effect.SpriteFieldObject)
- br block_4
- block_4:
- r15 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r16 = read_local cell
- r17 = read_local cellObject
- r18 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.onEngineDropsRef r17
- br block_2
- */
- abort();
- }
- fl::com::meduzik::matcharena::game::field::chip::ChipObject* GameField::removeChipEntity(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
- /*
- main:
- locals:
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- addon : class com.meduzik.matcharena.engine.field.chip.addon.ChipAddon
- code:
- block_0:
- r0 = read_local chip
- r1 = to_any r0
- r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r1
- r3 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r2
- write_local chipObject r3
- r4 = read_local chipObject
- r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
- condbr r5 block_1 block_2
- block_1:
- r6 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r7 = read_local chip
- r8 = read_local chipObject
- r9 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.onEngineDropsRef r8
- br block_2
- block_2:
- r10 = read_local chip
- r11 = ref_cmp neq r10 (null:class com.meduzik.matcharena.engine.field.chip.Chip)
- condbr r11 block_3 block_4
- block_3:
- r12 = read_local chip
- r13 = read_cfield com.meduzik.matcharena.engine.field.chip.Chip.addon r12
- write_local addon r13
- br block_5
- block_4:
- r14 = read_local chipObject
- ret r14
- block_5:
- r15 = read_local addon
- r16 = ref_cmp neq r15 (null:class com.meduzik.matcharena.engine.field.chip.addon.ChipAddon)
- condbr r16 block_6 block_7
- block_6:
- r17 = read_local addon
- r18 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeAddonEntity this r17
- br block_8
- block_7:
- br block_4
- block_8:
- r19 = read_local addon
- r20 = read_cfield com.meduzik.matcharena.engine.field.chip.addon.ChipAddon.next r19
- write_local addon r20
- br block_5
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- border : class com.meduzik.matcharena.engine.field.EngineBorder
- plate : class com.meduzik.matcharena.engine.field.plate.Plate
- plateObject : class com.meduzik.matcharena.game.field.borders.PlateObject
- code:
- block_0:
- r0 = read_local plate
- r1 = ref_cmp neq r0 (null:class com.meduzik.matcharena.engine.field.plate.Plate)
- r2 = choice r1 Boolean false true
- condbr r2 block_1 block_2
- block_1:
- ret (null:class com.meduzik.matcharena.game.field.borders.PlateObject)
- br block_2
- block_2:
- r3 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r4 = read_local plate
- r5 = read_dynindex r3 r4
- r6 = from_any Boolean r5
- condbr r6 block_3 block_4
- block_3:
- r7 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r8 = read_local plate
- r9 = read_dynindex r7 r8
- r10 = from_any class com.meduzik.matcharena.game.field.borders.PlateObject r9
- ret r10
- br block_4
- block_4:
- r11 = read_local border
- r12 = read_local plate
- r13 = call_cmethod com.meduzik.matcharena.game.field.GameField.createPlateFromEnginePlate this r11 r12
- write_local plateObject r13
- r14 = read_local plateObject
- r15 = ref_cmp neq r14 (null:class com.meduzik.matcharena.game.field.borders.PlateObject)
- condbr r15 block_5 block_6
- block_5:
- r16 = read_local plateObject
- r17 = class_cast throws r16 com.meduzik.matcharena.game.field.FieldObject
- r18 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r17
- r19 = read_local plate
- r20 = ref_cmp neq r19 (null:class com.meduzik.matcharena.engine.field.plate.Plate)
- condbr r20 block_7 block_8
- block_6:
- r21 = read_local plateObject
- ret r21
- block_7:
- r22 = read_local plateObject
- r23 = read_local border
- r24 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.row r23
- r25 = read_local border
- r26 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.column r25
- r27 = read_local border
- r28 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.vertical r27
- r29 = call_cmethod com.meduzik.matcharena.game.field.borders.PlateObject.placeAtBorderPosition r22 r24 r26 r28
- br block_8
- block_8:
- r30 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r31 = read_local plate
- r32 = read_local plateObject
- r33 = to_any r32
- write_dynindex r30 r31
- br block_6
- */
- abort();
- }
- fl::com::meduzik::matcharena::game::field::borders::PlateObject* GameField::removePlateEntity(fl::com::meduzik::matcharena::engine::field::plate::Plate* plate){
- /*
- main:
- locals:
- plate : class com.meduzik.matcharena.engine.field.plate.Plate
- plateObject : class com.meduzik.matcharena.game.field.borders.PlateObject
- code:
- block_0:
- r0 = read_local plate
- r1 = to_any r0
- r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r1
- r3 = from_any class com.meduzik.matcharena.game.field.borders.PlateObject r2
- write_local plateObject r3
- r4 = read_local plateObject
- r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.borders.PlateObject)
- condbr r5 block_1 block_2
- block_1:
- r6 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r7 = read_local plate
- r8 = read_local plateObject
- r9 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.onEngineDropsRef r8
- br block_2
- block_2:
- r10 = read_local plateObject
- ret r10
- */
- abort();
- }
- fl::com::meduzik::matcharena::game::field::chip::addon::AddonObject* GameField::removeAddonEntity(fl::com::meduzik::matcharena::engine::field::chip::addon::ChipAddon* addon){
- /*
- main:
- locals:
- addon : class com.meduzik.matcharena.engine.field.chip.addon.ChipAddon
- addonObject : class com.meduzik.matcharena.game.field.chip.addon.AddonObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r1 = read_local addon
- r2 = read_dynindex r0 r1
- r3 = from_any class com.meduzik.matcharena.game.field.chip.addon.AddonObject r2
- write_local addonObject r3
- r4 = read_local addonObject
- r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.chip.addon.AddonObject)
- condbr r5 block_1 block_2
- block_1:
- r6 = read_local addonObject
- r7 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.onEngineDropsRef r6
- r8 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r9 = read_local addon
- br block_2
- block_2:
- r10 = read_local addonObject
- ret r10
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- cover : class com.meduzik.matcharena.engine.field.cover.Cover
- coverObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- code:
- block_0:
- r0 = read_local cover
- r1 = ref_cmp neq r0 (null:class com.meduzik.matcharena.engine.field.cover.Cover)
- r2 = choice r1 Boolean false true
- condbr r2 block_1 block_2
- block_1:
- ret (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
- br block_2
- block_2:
- r3 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r4 = read_local cover
- r5 = read_dynindex r3 r4
- r6 = from_any Boolean r5
- condbr r6 block_3 block_4
- block_3:
- r7 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r8 = read_local cover
- r9 = read_dynindex r7 r8
- r10 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r9
- ret r10
- br block_4
- block_4:
- r11 = read_local cell
- r12 = read_local cover
- r13 = call_cmethod com.meduzik.matcharena.game.field.GameField.createCoverFromEngineCover this r11 r12
- write_local coverObject r13
- r14 = read_local coverObject
- r15 = ref_cmp neq r14 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
- condbr r15 block_5 block_6
- block_5:
- r16 = read_local coverObject
- r17 = class_cast throws r16 com.meduzik.matcharena.game.field.FieldObject
- r18 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r17
- r19 = read_local coverObject
- r20 = read_local cell
- r21 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r20
- r22 = read_local cell
- r23 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r22
- r24 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.placeAtCellPosition r19 r21 r23
- r25 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r26 = read_local cover
- r27 = read_local coverObject
- r28 = to_any r27
- write_dynindex r25 r26
- r29 = read_local cell
- r30 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.currentChip r29
- write_local chip r30
- r31 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r32 = read_local chip
- r33 = read_dynindex r31 r32
- r34 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r33
- write_local chipObject r34
- r35 = read_local chipObject
- r36 = ref_cmp neq r35 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
- condbr r36 block_7 block_8
- block_6:
- r37 = read_local coverObject
- ret r37
- block_7:
- r38 = read_local chipObject
- r39 = read_local coverObject
- r40 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.applyCover r38 r39
- br block_8
- block_8:
- br block_6
- */
- abort();
- }
- fl::com::meduzik::matcharena::game::field::tile::CellLayerObject* GameField::removeCoverEntity(fl::com::meduzik::matcharena::engine::field::cover::Cover* cover){
- /*
- main:
- locals:
- cover : class com.meduzik.matcharena.engine.field.cover.Cover
- coverObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
- code:
- block_0:
- r0 = read_local cover
- r1 = to_any r0
- r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r1
- r3 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r2
- write_local coverObject r3
- r4 = read_local coverObject
- r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
- condbr r5 block_1 block_2
- block_1:
- r6 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r7 = read_local cover
- r8 = read_local coverObject
- r9 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.onEngineDropsRef r8
- br block_2
- block_2:
- r10 = read_local coverObject
- ret r10
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- tile : class com.meduzik.matcharena.engine.field.tile.Tile
- tileObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
- code:
- block_0:
- r0 = read_local tile
- r1 = ref_cmp neq r0 (null:class com.meduzik.matcharena.engine.field.tile.Tile)
- r2 = choice r1 Boolean false true
- condbr r2 block_1 block_2
- block_1:
- ret (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
- br block_2
- block_2:
- r3 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r4 = read_local tile
- r5 = read_dynindex r3 r4
- r6 = from_any Boolean r5
- condbr r6 block_3 block_4
- block_3:
- r7 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r8 = read_local tile
- r9 = read_dynindex r7 r8
- r10 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r9
- ret r10
- br block_4
- block_4:
- r11 = read_local cell
- r12 = read_local tile
- r13 = call_cmethod com.meduzik.matcharena.game.field.GameField.createTileFromEngineTile this r11 r12
- write_local tileObject r13
- r14 = read_local tileObject
- r15 = ref_cmp neq r14 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
- condbr r15 block_5 block_6
- block_5:
- r16 = read_local tileObject
- r17 = class_cast throws r16 com.meduzik.matcharena.game.field.FieldObject
- r18 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r17
- r19 = read_local tileObject
- r20 = read_local cell
- r21 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r20
- r22 = read_local cell
- r23 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r22
- r24 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.placeAtCellPosition r19 r21 r23
- r25 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r26 = read_local tile
- r27 = read_local tileObject
- r28 = to_any r27
- write_dynindex r25 r26
- br block_6
- block_6:
- r29 = read_local tileObject
- ret r29
- */
- abort();
- }
- fl::com::meduzik::matcharena::game::field::tile::CellLayerObject* GameField::removeTileEntity(fl::com::meduzik::matcharena::engine::field::tile::Tile* tile){
- /*
- main:
- locals:
- tile : class com.meduzik.matcharena.engine.field.tile.Tile
- tileObject : class com.meduzik.matcharena.game.field.tile.CellLayerObject
- code:
- block_0:
- r0 = read_local tile
- r1 = to_any r0
- r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r1
- r3 = from_any class com.meduzik.matcharena.game.field.tile.CellLayerObject r2
- write_local tileObject r3
- r4 = read_local tileObject
- r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.tile.CellLayerObject)
- condbr r5 block_1 block_2
- block_1:
- r6 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r7 = read_local tile
- r8 = read_local tileObject
- r9 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.onEngineDropsRef r8
- br block_2
- block_2:
- r10 = read_local tileObject
- ret r10
- */
- abort();
- }
- fl::com::meduzik::matcharena::game::field::fossil::FossilObject* GameField::removeFossilEntity(fl::com::meduzik::matcharena::engine::field::fossils::Fossil* fossil){
- /*
- main:
- locals:
- fossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
- fossilObject : class com.meduzik.matcharena.game.field.fossil.FossilObject
- code:
- block_0:
- r0 = read_local fossil
- r1 = to_any r0
- r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r1
- r3 = from_any class com.meduzik.matcharena.game.field.fossil.FossilObject r2
- write_local fossilObject r3
- r4 = read_local fossilObject
- r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.fossil.FossilObject)
- condbr r5 block_1 block_2
- block_1:
- r6 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r7 = read_local fossil
- r8 = read_local fossilObject
- r9 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.onEngineDropsRef r8
- br block_2
- block_2:
- r10 = read_local fossilObject
- ret r10
- */
- abort();
- }
- void GameField::createCellFromEngineCell(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, jfl::Int row, jfl::Int column){
- /*
- main:
- locals:
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- row : int
- column : int
- cellObject : class com.meduzik.matcharena.game.field.cell.CellObject
- arrowInstance : class com.meduzik.display.DisplayObject
- arrowSprite : class com.meduzik.matcharena.game.field.effect.SpriteFieldObject
- tile : class com.meduzik.matcharena.engine.field.tile.Tile
- cover : class com.meduzik.matcharena.engine.field.cover.Cover
- code:
- block_0:
- r0 = read_local cell
- r1 = ref_cmp neq r0 (null:class com.meduzik.matcharena.engine.field.EngineCell)
- r2 = choice r1 Boolean false true
- condbr r2 block_1 block_2
- block_1:
- ret void
- br block_2
- block_2:
- r3 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r4 = read_local cell
- r5 = read_dynindex r3 r4
- r6 = from_any Boolean r5
- condbr r6 block_3 block_4
- block_3:
- ret void
- br block_4
- block_4:
- r7 = read_local row
- r8 = read_local column
- r9 = read_local cell
- r10 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.type r9
- r11 = call_cmethod com.meduzik.matcharena.game.field.cell.CellObject.Make static r7 r8 r10
- write_local cellObject r11
- r12 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r13 = read_local cell
- r14 = read_local cellObject
- r15 = to_any r14
- write_dynindex r12 r13
- r16 = read_local cellObject
- r17 = class_cast throws r16 com.meduzik.matcharena.game.field.FieldObject
- r18 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r17
- r19 = read_local row
- r20 = read_local column
- r21 = read_cfield com.meduzik.matcharena.level.Side.Left
- r22 = call_cmethod com.meduzik.matcharena.game.field.GameField.loadPortal this r19 r20 r21
- r23 = read_local row
- r24 = read_local column
- r25 = read_cfield com.meduzik.matcharena.level.Side.Top
- r26 = call_cmethod com.meduzik.matcharena.game.field.GameField.loadPortal this r23 r24 r25
- r27 = read_local row
- r28 = read_local column
- r29 = read_cfield com.meduzik.matcharena.level.Side.Right
- r30 = call_cmethod com.meduzik.matcharena.game.field.GameField.loadPortal this r27 r28 r29
- r31 = read_local row
- r32 = read_local column
- r33 = read_cfield com.meduzik.matcharena.level.Side.Bottom
- r34 = call_cmethod com.meduzik.matcharena.game.field.GameField.loadPortal this r31 r32 r33
- r35 = read_local cell
- r36 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.type r35
- r37 = read_cfield com.meduzik.matcharena.level.cell.CellType.FallAway
- r38 = ref_cmp eq r36 r37
- condbr r38 block_5 block_6
- block_5:
- r39 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r40 = read_cfield com.meduzik.matcharena.engine.Match3Engine.mode r39
- r41 = read_cfield com.meduzik.matcharena.level.LevelMode.Diamonds
- r42 = ref_cmp eq r40 r41
- block_6:
- r43 = phi Boolean (block_4 -> r38) (block_5 -> r42)
- condbr r43 block_7 block_8
- block_7:
- r44 = call_cmethod com.meduzik.matcharena.game.field.GameField.resources this
- r45 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.fallAwayArrow r44
- r46 = imethod_closure com.meduzik.bundle.display.DisplayTemplate.createInstance r45
- r47 = call_dynamic r46
- r48 = from_any class com.meduzik.display.DisplayObject r47
- write_local arrowInstance r48
- r49 = read_local arrowInstance
- r50 = read_cfield com.meduzik.matcharena.game.field.view.SortLayer.FallAwayArrows
- r51 = call_cmethod com.meduzik.matcharena.game.field.effect.SpriteFieldObject.Make static r49 r50
- write_local arrowSprite r51
- r52 = read_local arrowSprite
- r53 = class_cast throws r52 com.meduzik.matcharena.game.field.FieldObject
- r54 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r53
- r55 = read_local arrowSprite
- r56 = read_local row
- r57 = read_local column
- r58 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.placeAtCellPosition r55 r56 r57
- r59 = read_local cellObject
- r60 = read_local arrowSprite
- write_cfield com.meduzik.matcharena.game.field.cell.CellObject.arrowSprite r59 r60
- br block_8
- block_8:
- r61 = read_local cell
- r62 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.currentChip r61
- r63 = ref_cmp neq r62 (null:class com.meduzik.matcharena.engine.field.chip.Chip)
- condbr r63 block_9 block_10
- block_9:
- r64 = read_local cell
- r65 = read_local cell
- r66 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.currentChip r65
- r67 = call_cmethod com.meduzik.matcharena.game.field.GameField.createChipEntity this r64 r66
- br block_10
- block_10:
- r68 = read_local cell
- r69 = read_cfield com.meduzik.matcharena.engine.field.EngineCell.tiles r68
- r70 = read_cfield com.meduzik.matcharena.engine.field.tile.TileSet.top r69
- write_local tile r70
- br block_11
- block_11:
- r71 = read_local tile
- r72 = ref_cmp neq r71 (null:class com.meduzik.matcharena.engine.field.tile.Tile)
- condbr r72 block_12 block_13
- block_12:
- r73 = read_local cell
- r74 = read_local tile
- r75 = call_cmethod com.meduzik.matcharena.game.field.GameField.createTileEntity this r73 r74
- br block_14
- block_13:
- r76 = read_local cell
- r77 = read_cfield com.meduzik.matcharena.engine.field.EngineCell.covers r76
- r78 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverSet.top r77
- write_local cover r78
- br block_15
- block_14:
- r79 = read_local tile
- r80 = read_cfield com.meduzik.matcharena.engine.field.tile.Tile.next r79
- write_local tile r80
- br block_11
- block_15:
- r81 = read_local cover
- r82 = ref_cmp neq r81 (null:class com.meduzik.matcharena.engine.field.cover.Cover)
- condbr r82 block_16 block_17
- block_16:
- r83 = read_local cell
- r84 = read_local cover
- r85 = call_cmethod com.meduzik.matcharena.game.field.GameField.createCoverEntity this r83 r84
- br block_18
- block_17:
- r86 = read_local cell
- r87 = read_cfield com.meduzik.matcharena.engine.field.EngineCell.fossilLink r86
- r88 = ref_cmp neq r87 (null:class com.meduzik.matcharena.engine.field.fossils.Fossil)
- condbr r88 block_19 block_20
- block_18:
- r89 = read_local cover
- r90 = read_cfield com.meduzik.matcharena.engine.field.cover.Cover.next r89
- write_local cover r90
- br block_15
- block_19:
- r91 = read_local cell
- r92 = read_cfield com.meduzik.matcharena.engine.field.EngineCell.fossilLink r91
- r93 = call_cmethod com.meduzik.matcharena.game.field.GameField.loadFossil this r92
- br block_20
- block_20:
- */
- abort();
- }
- fl::com::meduzik::matcharena::game::field::fossil::FossilObject* GameField::loadFossil(fl::com::meduzik::matcharena::engine::field::fossils::Fossil* fossil){
- /*
- main:
- locals:
- fossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
- fossilObject : class com.meduzik.matcharena.game.field.fossil.FossilObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r1 = read_local fossil
- r2 = read_dynindex r0 r1
- r3 = from_any Boolean r2
- r4 = choice r3 Boolean false true
- condbr r4 block_1 block_2
- block_1:
- r5 = read_local fossil
- r6 = call_cmethod com.meduzik.matcharena.game.field.GameField.createFossilEntity this r5
- br block_2
- block_2:
- r7 = read_local fossil
- r8 = to_any r7
- r9 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r8
- r10 = read_local fossil
- r11 = to_any r10
- r12 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r11
- r13 = from_any class com.meduzik.matcharena.game.field.fossil.FossilObject r9
- write_local fossilObject r13
- r14 = read_local fossilObject
- r15 = call_cmethod com.meduzik.matcharena.game.field.fossil.FossilObject.onCellLoaded r14
- r16 = read_local fossilObject
- ret r16
- */
- abort();
- }
- fl::com::meduzik::matcharena::game::field::fossil::FossilView* GameField::createFossilView(fl::com::meduzik::matcharena::engine::field::fossils::Fossil* fossil){
- /*
- main:
- locals:
- fossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
- code:
- block_0:
- r0 = read_local fossil
- r1 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.type r0
- r2 = read_local fossil
- r3 = read_local fossil
- r4 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.rotation r3
- r5 = call_cmethod com.meduzik.matcharena.game.field.fossil.FossilViewDefault.Make static r1 r2 r4
- r6 = class_cast throws r5 com.meduzik.matcharena.game.field.fossil.FossilView
- ret r6
- */
- abort();
- }
- fl::com::meduzik::matcharena::game::field::fossil::FossilObject* GameField::createFossilFromEngineFossil(fl::com::meduzik::matcharena::engine::field::fossils::Fossil* fossil){
- /*
- main:
- locals:
- fossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
- fossilObject : class com.meduzik.matcharena.game.field.fossil.FossilObject
- code:
- block_0:
- r0 = read_local fossil
- r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.createFossilView this r0
- r2 = call_cmethod com.meduzik.matcharena.game.field.fossil.FossilObject.Make static r1
- write_local fossilObject r2
- r3 = read_local fossilObject
- ret r3
- */
- abort();
- }
- fl::com::meduzik::matcharena::game::field::fossil::FossilObject* GameField::createFossilEntity(fl::com::meduzik::matcharena::engine::field::fossils::Fossil* fossil){
- /*
- main:
- locals:
- fossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
- fossilObject : class com.meduzik.matcharena.game.field.fossil.FossilObject
- code:
- block_0:
- r0 = read_local fossil
- r1 = ref_cmp neq r0 (null:class com.meduzik.matcharena.engine.field.fossils.Fossil)
- r2 = choice r1 Boolean false true
- condbr r2 block_1 block_2
- block_1:
- ret (null:class com.meduzik.matcharena.game.field.fossil.FossilObject)
- br block_2
- block_2:
- r3 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r4 = read_local fossil
- r5 = read_dynindex r3 r4
- r6 = from_any Boolean r5
- condbr r6 block_3 block_4
- block_3:
- r7 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r8 = read_local fossil
- r9 = read_dynindex r7 r8
- r10 = from_any class com.meduzik.matcharena.game.field.fossil.FossilObject r9
- ret r10
- br block_4
- block_4:
- r11 = read_local fossil
- r12 = call_cmethod com.meduzik.matcharena.game.field.GameField.createFossilFromEngineFossil this r11
- write_local fossilObject r12
- r13 = read_local fossilObject
- r14 = class_cast throws r13 com.meduzik.matcharena.game.field.FieldObject
- r15 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r14
- r16 = read_local fossilObject
- r17 = read_local fossil
- r18 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.row r17
- r19 = read_local fossil
- r20 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.column r19
- r21 = call_cmethod com.meduzik.matcharena.game.field.fossil.FossilObject.placeAtCellPosition r16 r18 r20
- r22 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r23 = read_local fossil
- r24 = read_local fossilObject
- r25 = to_any r24
- write_dynindex r22 r23
- r26 = read_local fossilObject
- ret r26
- */
- abort();
- }
- void GameField::unloadFossil(fl::com::meduzik::matcharena::engine::field::fossils::Fossil* fossil){
- /*
- main:
- locals:
- fossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
- fossilObject : class com.meduzik.matcharena.game.field.fossil.FossilObject
- code:
- block_0:
- r0 = read_local fossil
- r1 = to_any r0
- r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r1
- r3 = from_any class com.meduzik.matcharena.game.field.fossil.FossilObject r2
- write_local fossilObject r3
- r4 = read_local fossilObject
- r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.fossil.FossilObject)
- condbr r5 block_1 block_2
- block_1:
- r6 = read_local fossilObject
- r7 = call_cmethod com.meduzik.matcharena.game.field.fossil.FossilObject.onCellUnloaded r6
- condbr r7 block_3 block_4
- block_2:
- block_3:
- r8 = read_local fossil
- r9 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeFossilEntity this r8
- r10 = ref_cmp neq r9 (null:class com.meduzik.matcharena.game.field.fossil.FossilObject)
- condbr r10 block_5 block_6
- block_4:
- br block_2
- block_5:
- r11 = read_local fossilObject
- r12 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.allowRemove r11
- br block_6
- block_6:
- br block_4
- */
- abort();
- }
- void GameField::loadPortal(jfl::Int row, jfl::Int column, fl::com::meduzik::matcharena::level::Side* side){
- /*
- main:
- locals:
- row : int
- column : int
- side : class com.meduzik.matcharena.level.Side
- portal : class com.meduzik.matcharena.engine.field.portal.PortalNode
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r1 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r0
- r2 = read_cfield com.meduzik.matcharena.engine.field.Field.portals r1
- r3 = read_local row
- r4 = read_local column
- r5 = read_local side
- r6 = call_cmethod com.meduzik.matcharena.engine.field.portal.PortalNodes.findPortal r2 r3 r4 r5
- write_local portal r6
- r7 = read_local portal
- r8 = ref_cmp neq r7 (null:class com.meduzik.matcharena.engine.field.portal.PortalNode)
- condbr r8 block_1 block_2
- block_1:
- r9 = read_local portal
- r10 = call_cmethod com.meduzik.matcharena.game.field.GameField.createPortalNode this r9
- br block_2
- block_2:
- */
- abort();
- }
- void GameField::unloadPortal(jfl::Int row, jfl::Int column, fl::com::meduzik::matcharena::level::Side* side){
- /*
- main:
- locals:
- row : int
- column : int
- side : class com.meduzik.matcharena.level.Side
- portal : class com.meduzik.matcharena.engine.field.portal.PortalNode
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r1 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r0
- r2 = read_cfield com.meduzik.matcharena.engine.field.Field.portals r1
- r3 = read_local row
- r4 = read_local column
- r5 = read_local side
- r6 = call_cmethod com.meduzik.matcharena.engine.field.portal.PortalNodes.findPortal r2 r3 r4 r5
- write_local portal r6
- r7 = read_local portal
- r8 = ref_cmp neq r7 (null:class com.meduzik.matcharena.engine.field.portal.PortalNode)
- condbr r8 block_1 block_2
- block_1:
- r9 = read_local portal
- r10 = call_cmethod com.meduzik.matcharena.game.field.GameField.destroyPortalNode this r9
- br block_2
- block_2:
- */
- abort();
- }
- void GameField::onShowHintArrow(fl::com::meduzik::matcharena::engine::zone::EngineZone* zone, jfl::Number angle){
- /*
- main:
- locals:
- zone : class com.meduzik.matcharena.engine.zone.EngineZone
- angle : Number
- arrowInstance : class com.meduzik.display.DisplayObject
- arrowSprite : class com.meduzik.matcharena.game.field.effect.SpriteFieldObject
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.interactive this
- r1 = choice r0 Boolean false true
- condbr r1 block_1 block_2
- block_1:
- ret void
- br block_2
- block_2:
- r2 = read_cfield com.meduzik.matcharena.game.field.GameField.hintArrow this
- r3 = ref_cmp neq r2 (null:class com.meduzik.matcharena.game.field.effect.SpriteFieldObject)
- condbr r3 block_3 block_4
- block_3:
- r4 = read_cfield com.meduzik.matcharena.game.field.GameField.hintArrow this
- r5 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.onEngineDropsRef r4
- r6 = read_cfield com.meduzik.matcharena.game.field.GameField.hintArrow this
- r7 = read_cfield com.meduzik.matcharena.game.field.GameField.hintArrow this
- r8 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r7 "HintArrowDisappear"
- r9 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r6 r8
- write_cfield com.meduzik.matcharena.game.field.GameField.hintArrow this (null:class com.meduzik.matcharena.game.field.effect.SpriteFieldObject)
- br block_4
- block_4:
- r10 = read_local zone
- r11 = ref_cmp neq r10 (null:class com.meduzik.matcharena.engine.zone.EngineZone)
- condbr r11 block_5 block_6
- block_5:
- r12 = call_cmethod com.meduzik.matcharena.game.field.GameField.resources this
- r13 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.hintArrow r12
- r14 = imethod_closure com.meduzik.bundle.display.DisplayTemplate.createInstance r13
- r15 = call_dynamic r14
- r16 = from_any class com.meduzik.display.DisplayObject r15
- write_local arrowInstance r16
- r17 = read_local arrowInstance
- r18 = call_cmethod com.meduzik.display.DisplayObject.transform r17
- r19 = read_local angle
- r20 = num_binop Number / r19 180.000000
- r21 = read_cfield Math.PI
- r22 = num_binop Number * r20 r21
- r23 = call_cmethod com.meduzik.math.Transform2D.rotation r18 r22
- r24 = read_local arrowInstance
- r25 = read_cfield com.meduzik.matcharena.game.field.view.SortLayer.Overlay
- r26 = call_cmethod com.meduzik.matcharena.game.field.effect.SpriteFieldObject.Make static r24 r25
- write_local arrowSprite r26
- r27 = read_local arrowSprite
- r28 = class_cast throws r27 com.meduzik.matcharena.game.field.FieldObject
- r29 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r28
- r30 = read_local arrowSprite
- r31 = read_local zone
- r32 = read_cfield com.meduzik.matcharena.engine.zone.EngineZone.left r31
- r33 = read_local zone
- r34 = read_cfield com.meduzik.matcharena.engine.zone.EngineZone.right r33
- r35 = num_binop int + r32 r34
- r36 = num_binop Number * r35 0.500000
- r37 = call_cmethod com.meduzik.matcharena.game.field.GameField.constants this
- r38 = read_cfield com.meduzik.matcharena.game.GameConstants.CellSize r37
- r39 = num_binop Number * r36 r38
- r40 = read_local zone
- r41 = read_cfield com.meduzik.matcharena.engine.zone.EngineZone.top r40
- r42 = read_local zone
- r43 = read_cfield com.meduzik.matcharena.engine.zone.EngineZone.bottom r42
- r44 = num_binop int + r41 r43
- r45 = num_binop Number * r44 0.500000
- r46 = call_cmethod com.meduzik.matcharena.game.field.GameField.constants this
- r47 = read_cfield com.meduzik.matcharena.game.GameConstants.CellSize r46
- r48 = num_binop Number * r45 r47
- r49 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.placeAtPosition r30 r39 r48
- r50 = read_local arrowSprite
- r51 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r50 "HintArrowAppear"
- r52 = read_local arrowSprite
- write_cfield com.meduzik.matcharena.game.field.GameField.hintArrow this r52
- br block_6
- block_6:
- */
- abort();
- }
- fl::com::meduzik::matcharena::game::field::tile::CellLayerView* GameField::createCoverView(fl::com::meduzik::matcharena::engine::field::cover::Cover* cover){
- /*
- main:
- locals:
- cover : class com.meduzik.matcharena.engine.field.cover.Cover
- coverBound : class com.meduzik.matcharena.engine.field.cover.CoverBound
- code:
- block_0:
- r0 = read_local cover
- r1 = class_test r0 com.meduzik.matcharena.engine.field.cover.CoverBound
- condbr r1 block_1 block_2
- block_1:
- r2 = read_local cover
- r3 = read_local cover
- r4 = class_cast throws r2 com.meduzik.matcharena.engine.field.cover.CoverBound
- write_local coverBound r4
- r5 = read_local coverBound
- r6 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.type r5
- r7 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_BOUND
- r8 = num_cmp eq r6 r7
- condbr r8 block_3 block_4
- block_2:
- block_3:
- r9 = read_cfield com.meduzik.matcharena.game.field.tile.CoverViewBlocker.TYPE_BOUND
- r10 = read_local coverBound
- r11 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.level r10
- r12 = call_cmethod com.meduzik.matcharena.game.field.tile.CoverViewBlocker.Make static r9 r11
- r13 = class_cast throws r12 com.meduzik.matcharena.game.field.tile.CellLayerView
- ret r13
- br block_5
- br block_6
- block_4:
- r14 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_HONEY
- r15 = num_cmp eq r6 r14
- condbr r15 block_6 block_7
- block_5:
- br block_2
- block_6:
- r16 = read_cfield com.meduzik.matcharena.game.field.tile.CoverViewBlocker.TYPE_HONEY
- r17 = read_local coverBound
- r18 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.level r17
- r19 = call_cmethod com.meduzik.matcharena.game.field.tile.CoverViewBlocker.Make static r16 r18
- r20 = class_cast throws r19 com.meduzik.matcharena.game.field.tile.CellLayerView
- ret r20
- br block_5
- br block_8
- block_7:
- r21 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_CHOCOLATE
- r22 = num_cmp eq r6 r21
- condbr r22 block_8 block_9
- block_8:
- r23 = read_cfield com.meduzik.matcharena.game.field.GameField.lavaTiles this
- r24 = read_cfield com.meduzik.matcharena.game.field.view.SortLayer.CoverChocolate
- r25 = call_cmethod com.meduzik.matcharena.game.field.tile.TiledView.Make static r23 r24
- r26 = class_cast throws r25 com.meduzik.matcharena.game.field.tile.CellLayerView
- ret r26
- br block_5
- br block_10
- block_9:
- r27 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_STONE
- r28 = num_cmp eq r6 r27
- condbr r28 block_10 block_11
- block_10:
- r29 = read_cfield com.meduzik.matcharena.game.field.tile.CoverViewBlocker.TYPE_STONE
- r30 = read_local coverBound
- r31 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.level r30
- r32 = call_cmethod com.meduzik.matcharena.game.field.tile.CoverViewBlocker.Make static r29 r31
- r33 = class_cast throws r32 com.meduzik.matcharena.game.field.tile.CellLayerView
- ret r33
- br block_5
- br block_12
- block_11:
- br block_12
- block_12:
- r34 = to_any "unknown engine cover"
- r35 = newclass Error r34
- throw r35
- br block_5
- br block_5
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- cover : class com.meduzik.matcharena.engine.field.cover.Cover
- coverBound : class com.meduzik.matcharena.engine.field.cover.CoverBound
- code:
- block_0:
- r0 = read_local cover
- r1 = class_test r0 com.meduzik.matcharena.engine.field.cover.CoverBound
- condbr r1 block_1 block_2
- block_1:
- r2 = read_local cover
- r3 = read_local cover
- r4 = class_cast throws r2 com.meduzik.matcharena.engine.field.cover.CoverBound
- write_local coverBound r4
- r5 = read_local coverBound
- r6 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.type r5
- r7 = read_cfield com.meduzik.matcharena.engine.field.cover.CoverBound.TYPE_CHOCOLATE
- r8 = num_cmp eq r6 r7
- condbr r8 block_3 block_4
- block_2:
- block_3:
- r9 = read_cfield com.meduzik.matcharena.game.field.GameField.lavaTiles this
- r10 = read_cfield com.meduzik.matcharena.game.field.view.SortLayer.CoverChocolate
- r11 = call_cmethod com.meduzik.matcharena.game.field.tile.TiledView.Make static r9 r10
- r12 = read_cfield com.meduzik.matcharena.game.field.GameField.lavaTiles this
- r13 = read_local cell
- r14 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r13
- r15 = read_local cell
- r16 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r15
- r17 = call_cmethod com.meduzik.matcharena.game.field.tile.TileRenderer.acquireTile r12 r14 r16
- r18 = call_cmethod com.meduzik.matcharena.game.field.tile.TiledObject.Make static r11 r17
- r19 = class_cast throws r18 com.meduzik.matcharena.game.field.tile.CellLayerObject
- ret r19
- br block_5
- br block_6
- block_4:
- br block_6
- block_5:
- br block_2
- block_6:
- r20 = read_local cover
- r21 = call_cmethod com.meduzik.matcharena.game.field.GameField.createCoverView this r20
- r22 = call_cmethod com.meduzik.matcharena.game.field.tile.CellLayerObject.Make static r21
- ret r22
- br block_5
- br block_5
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- tile : class com.meduzik.matcharena.engine.field.tile.Tile
- tileGold : class com.meduzik.matcharena.engine.field.tile.TileGold
- tileIce : class com.meduzik.matcharena.engine.field.tile.IceTile
- roadTile : class com.meduzik.matcharena.engine.field.tile.RoadTile
- code:
- block_0:
- r0 = read_local tile
- r1 = class_test r0 com.meduzik.matcharena.engine.field.tile.TileGold
- condbr r1 block_1 block_2
- block_1:
- r2 = read_local tile
- r3 = read_local tile
- r4 = class_cast throws r2 com.meduzik.matcharena.engine.field.tile.TileGold
- write_local tileGold r4
- r5 = read_cfield com.meduzik.matcharena.game.field.GameField.grassTiles this
- r6 = read_cfield com.meduzik.matcharena.game.field.view.SortLayer.TileGolden
- r7 = call_cmethod com.meduzik.matcharena.game.field.tile.TiledView.Make static r5 r6
- r8 = read_cfield com.meduzik.matcharena.game.field.GameField.grassTiles this
- r9 = read_local cell
- r10 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.row r9
- r11 = read_local cell
- r12 = call_cmethod com.meduzik.matcharena.engine.field.EngineCell.column r11
- r13 = call_cmethod com.meduzik.matcharena.game.field.tile.TileRenderer.acquireTile r8 r10 r12
- r14 = call_cmethod com.meduzik.matcharena.game.field.tile.TiledObject.Make static r7 r13
- r15 = class_cast throws r14 com.meduzik.matcharena.game.field.tile.CellLayerObject
- ret r15
- br block_2
- block_2:
- */
- abort();
- }
- fl::com::meduzik::matcharena::game::field::chip::ChipObject* GameField::createChipFromEngineChip(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
- /*
- main:
- locals:
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- code:
- block_0:
- r0 = read_local chip
- r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.createChipBaseFromEngineChip this r0
- write_local chipObject r1
- r2 = read_local chipObject
- ret r2
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- border : class com.meduzik.matcharena.engine.field.EngineBorder
- plate : class com.meduzik.matcharena.engine.field.plate.Plate
- plateBlocker : class com.meduzik.matcharena.engine.field.plate.PlateBlocker
- code:
- block_0:
- r0 = read_local plate
- r1 = class_test r0 com.meduzik.matcharena.engine.field.plate.PlateBlocker
- condbr r1 block_1 block_2
- block_1:
- r2 = read_local plate
- r3 = read_local plate
- r4 = class_cast throws r2 com.meduzik.matcharena.engine.field.plate.PlateBlocker
- write_local plateBlocker r4
- r5 = read_cfield com.meduzik.matcharena.game.field.GameField.plateTiles this
- r6 = read_cfield com.meduzik.matcharena.game.field.GameField.plateTiles this
- r7 = read_local border
- r8 = call_cmethod com.meduzik.matcharena.engine.field.EngineBorder.side r7
- r9 = call_cmethod com.meduzik.matcharena.game.field.borders.PlateView.Make static r6 r8
- r10 = call_cmethod com.meduzik.matcharena.game.field.borders.PlateObject.Make static r5 r9
- ret r10
- br block_2
- block_2:
- */
- abort();
- }
- 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){
- /*
- main:
- locals:
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- addon : class com.meduzik.matcharena.engine.field.chip.addon.ChipAddon
- code:
- block_0:
- ret (null:class com.meduzik.matcharena.game.field.chip.addon.AddonObject)
- */
- abort();
- }
- fl::com::meduzik::matcharena::game::field::chip::ChipView* GameField::createChipView(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
- /*
- main:
- locals:
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- normalChip : class com.meduzik.matcharena.engine.field.chip.NormalChip
- bombChip : class com.meduzik.matcharena.engine.field.chip.BombChip
- lineChip : class com.meduzik.matcharena.engine.field.chip.LineChip
- mineChip : class com.meduzik.matcharena.engine.field.chip.MineChip
- omniChip : class com.meduzik.matcharena.engine.field.chip.OmniChip
- tintChip : class com.meduzik.matcharena.engine.field.chip.TintChip
- code:
- block_0:
- r0 = read_local chip
- r1 = class_test r0 com.meduzik.matcharena.engine.field.chip.NormalChip
- condbr r1 block_1 block_2
- block_1:
- r2 = read_local chip
- r3 = class_cast r2 com.meduzik.matcharena.engine.field.chip.NormalChip
- write_local normalChip r3
- r4 = read_local normalChip
- r5 = call_cmethod com.meduzik.matcharena.engine.field.chip.ColorChip.color r4
- r6 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r5
- r7 = read_local normalChip
- r8 = read_cfield com.meduzik.matcharena.engine.field.chip.MundaneChip.fishy r7
- r9 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipViewNormal.Make static r6 r8
- r10 = class_cast throws r9 com.meduzik.matcharena.game.field.chip.ChipView
- ret r10
- br block_2
- block_2:
- */
- abort();
- }
- fl::com::meduzik::matcharena::game::field::chip::ChipObject* GameField::createChipBaseFromEngineChip(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip){
- /*
- main:
- locals:
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- code:
- block_0:
- r0 = read_local chip
- r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.createChipView this r0
- r2 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.Make static r1
- ret r2
- */
- abort();
- }
- fl::com::meduzik::matcharena::game::field::cell::CellObject* GameField::getCellMapping(fl::com::meduzik::matcharena::engine::field::EngineCell* cell){
- /*
- main:
- locals:
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.cells this
- r1 = read_local cell
- r2 = read_dynindex r0 r1
- r3 = from_any class com.meduzik.matcharena.game.field.cell.CellObject r2
- ret r3
- */
- abort();
- }
- fl::Object* GameField::getObjectMapping(fl::Object* engineObject){
- /*
- main:
- locals:
- engineObject : class Object
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r1 = read_local engineObject
- r2 = read_dynindex r0 r1
- r3 = to_any r2
- ret r3
- */
- abort();
- }
- void GameField::onMovesLeftChanged(jfl::Int movesLeft){
- /*
- main:
- locals:
- movesLeft : int
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.observer this
- r1 = imethod_closure com.meduzik.matcharena.game.GameFieldObserver.onMovesChanged r0
- r2 = read_local movesLeft
- r3 = call_dynamic r1 this r2
- */
- abort();
- }
- jfl::Boolean GameField::onTouched(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.speech this
- r1 = call_cmethod com.meduzik.matcharena.game.field.speech.SpeechManager.onTouched r0
- ret r1
- */
- abort();
- }
- void GameField::onSpecialGeneratorGenerationBegin(fl::com::meduzik::matcharena::engine::field::generator::SpecialGeneratorState* genState){
- /*
- main:
- locals:
- genState : class com.meduzik.matcharena.engine.field.generator.SpecialGeneratorState
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.waveSpawner this
- r1 = read_local genState
- r2 = call_cmethod com.meduzik.matcharena.game.field.WaveSpawner.beginSpecialGen r0 r1
- */
- abort();
- }
- void GameField::onSpecialGeneratorGenerationEnd(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.waveSpawner this
- r1 = call_cmethod com.meduzik.matcharena.game.field.WaveSpawner.end r0
- */
- abort();
- }
- void GameField::onAddonDestroyed(fl::com::meduzik::matcharena::engine::field::chip::Chip* chip, fl::com::meduzik::matcharena::engine::field::chip::addon::ChipAddon* addon){
- /*
- main:
- locals:
- chip : class com.meduzik.matcharena.engine.field.chip.Chip
- addon : class com.meduzik.matcharena.engine.field.chip.addon.ChipAddon
- addonObject : class com.meduzik.matcharena.game.field.chip.addon.AddonObject
- code:
- block_0:
- r0 = read_local addon
- r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeAddonEntity this r0
- write_local addonObject r1
- r2 = read_local addonObject
- r3 = ref_cmp neq r2 (null:class com.meduzik.matcharena.game.field.chip.addon.AddonObject)
- condbr r3 block_1 block_2
- block_1:
- r4 = read_local addonObject
- r5 = read_local addonObject
- r6 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r5 "AddonDestroy"
- r7 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r4 r6
- br block_2
- block_2:
- */
- abort();
- }
- fl::com::meduzik::matcharena::game::GameConstants* GameField::jfl_get_constants(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField._constants this
- ret r0
- */
- abort();
- }
- void GameField::jfl_set_constants(fl::com::meduzik::matcharena::game::GameConstants* value){
- /*
- main:
- locals:
- value : class com.meduzik.matcharena.game.GameConstants
- code:
- block_0:
- r0 = read_local value
- write_cfield com.meduzik.matcharena.game.field.GameField._constants this r0
- */
- abort();
- }
- void GameField::setInteractive(jfl::Boolean interactive){
- /*
- main:
- locals:
- interactive : Boolean
- code:
- block_0:
- r0 = read_local interactive
- write_cfield com.meduzik.matcharena.game.field.GameField.interactive this r0
- r1 = read_cfield com.meduzik.matcharena.game.field.GameField._hinter this
- r2 = read_local interactive
- r3 = call_cmethod com.meduzik.matcharena.game.field.hint.Hinter.setInteractive r1 r2
- r4 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
- r5 = read_local interactive
- r6 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.setInteractive r4 r5
- r7 = read_cfield com.meduzik.matcharena.game.field.GameField.interaction this
- r8 = read_local interactive
- r9 = call_cmethod com.meduzik.matcharena.game.field.GameFieldInteraction.setInteractive r7 r8
- */
- abort();
- }
- jfl::Boolean GameField::isTurnInProgress(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r1 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.state r0
- r2 = read_cfield com.meduzik.matcharena.engine.EngineState.Yield
- r3 = ref_cmp eq r1 r2
- ret r3
- */
- abort();
- }
- void GameField::setBot(fl::com::meduzik::matcharena::game::bot::AbstractBot* bot){
- /*
- main:
- locals:
- bot : class com.meduzik.matcharena.game.bot.AbstractBot
- code:
- block_0:
- r0 = read_local bot
- write_cfield com.meduzik.matcharena.game.field.GameField.bot this r0
- */
- abort();
- }
- void GameField::onUIActionAdded(fl::com::meduzik::matcharena::engine::script::uiaction::UIAction* action){
- /*
- main:
- locals:
- action : class com.meduzik.matcharena.engine.script.uiaction.UIAction
- code:
- block_0:
- */
- abort();
- }
- void GameField::onUIActionRemoved(fl::com::meduzik::matcharena::engine::script::uiaction::UIAction* action){
- /*
- main:
- locals:
- action : class com.meduzik.matcharena.engine.script.uiaction.UIAction
- code:
- block_0:
- */
- abort();
- }
- void GameField::onSpeech(fl::com::meduzik::matcharena::engine::speech::SpeechType* type, fl::com::meduzik::matcharena::engine::speech::SpeechInfo* speechInfo){
- /*
- main:
- locals:
- type : class com.meduzik.matcharena.engine.speech.SpeechType
- speechInfo : class com.meduzik.matcharena.engine.speech.SpeechInfo
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.interactive this
- r1 = choice r0 Boolean false true
- condbr r1 block_1 block_2
- block_1:
- ret void
- br block_2
- block_2:
- r2 = read_local type
- r3 = read_cfield com.meduzik.matcharena.engine.speech.SpeechType.Sticky
- r4 = ref_cmp eq r2 r3
- condbr r4 block_3 block_4
- block_3:
- r5 = read_local speechInfo
- r6 = ref_cmp neq r5 (null:class com.meduzik.matcharena.engine.speech.SpeechInfo)
- condbr r6 block_5 block_6
- block_4:
- r7 = read_cfield com.meduzik.matcharena.engine.speech.SpeechType.Light
- r8 = ref_cmp eq r2 r7
- condbr r8 block_7 block_8
- block_5:
- r9 = read_cfield com.meduzik.matcharena.game.field.GameField.speech this
- r10 = read_local speechInfo
- r11 = call_cmethod com.meduzik.matcharena.game.field.speech.SpeechManager.addSticky r9 r10
- br block_6
- block_6:
- br block_9
- br block_7
- block_7:
- r12 = read_cfield com.meduzik.matcharena.game.field.GameField.speech this
- r13 = read_local speechInfo
- r14 = call_cmethod com.meduzik.matcharena.game.field.speech.SpeechManager.addLight r12 r13
- br block_9
- br block_10
- block_8:
- r15 = read_cfield com.meduzik.matcharena.engine.speech.SpeechType.Modal
- r16 = ref_cmp eq r2 r15
- condbr r16 block_10 block_11
- block_9:
- r17 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r18 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r17
- block_10:
- r19 = read_cfield com.meduzik.matcharena.game.field.GameField.speech this
- r20 = read_local speechInfo
- r21 = call_cmethod com.meduzik.matcharena.game.field.speech.SpeechManager.addModal r19 r20
- br block_9
- br block_9
- block_11:
- br block_9
- */
- abort();
- }
- void GameField::onSpeechClear(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.interactive this
- r1 = choice r0 Boolean false true
- condbr r1 block_1 block_2
- block_1:
- ret void
- br block_2
- block_2:
- r2 = read_cfield com.meduzik.matcharena.game.field.GameField.speech this
- r3 = call_cmethod com.meduzik.matcharena.game.field.speech.SpeechManager.clearAll r2
- */
- abort();
- }
- void GameField::onHighlight(jfl::Boolean active, fl::com::meduzik::matcharena::engine::field::FieldRegion* highlight){
- /*
- main:
- locals:
- active : Boolean
- highlight : class com.meduzik.matcharena.engine.field.FieldRegion
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.interactive this
- r1 = choice r0 Boolean false true
- condbr r1 block_1 block_2
- block_1:
- ret void
- br block_2
- block_2:
- r2 = read_cfield com.meduzik.matcharena.game.field.GameField.overlay this
- r3 = read_local active
- r4 = read_local highlight
- r5 = call_cmethod com.meduzik.matcharena.game.overlay.GameScreenOverlay.updateHighlight r2 r3 r4
- r6 = read_cfield com.meduzik.matcharena.game.field.GameField.observer this
- r7 = imethod_closure com.meduzik.matcharena.game.GameFieldObserver.onShowSkipTutorial r6
- r8 = read_local active
- r9 = call_dynamic r7 r8
- r10 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r11 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r10
- */
- abort();
- }
- jfl::Boolean GameField::submitCommand(fl::com::meduzik::matcharena::replay::ReplayCommand* command){
- /*
- main:
- locals:
- command : class com.meduzik.matcharena.replay.ReplayCommand
- swap : class com.meduzik.matcharena.replay.ReplayCommandSwap
- special : class com.meduzik.matcharena.replay.ReplayCommandSpecialAction
- code:
- block_0:
- r0 = read_local command
- r1 = class_test r0 com.meduzik.matcharena.replay.ReplayCommandSwap
- condbr r1 block_1 block_2
- block_1:
- r2 = read_local command
- r3 = read_local command
- r4 = class_cast throws r2 com.meduzik.matcharena.replay.ReplayCommandSwap
- write_local swap r4
- r5 = read_local swap
- r6 = read_cfield com.meduzik.matcharena.replay.ReplayCommandSwap.fromRow r5
- r7 = read_local swap
- r8 = read_cfield com.meduzik.matcharena.replay.ReplayCommandSwap.fromColumn r7
- r9 = read_local swap
- r10 = read_cfield com.meduzik.matcharena.replay.ReplayCommandSwap.toRow r9
- r11 = read_local swap
- r12 = read_cfield com.meduzik.matcharena.replay.ReplayCommandSwap.toColumn r11
- r13 = call_cmethod com.meduzik.matcharena.game.field.GameField.performSwap this r6 r8 r10 r12
- ret r13
- br block_2
- block_2:
- ret false
- */
- abort();
- }
- void GameField::onCommandExecuted(fl::com::meduzik::matcharena::replay::ReplayCommand* command){
- /*
- main:
- locals:
- command : class com.meduzik.matcharena.replay.ReplayCommand
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.observer this
- r1 = imethod_closure com.meduzik.matcharena.game.GameFieldObserver.onCommandExecuted r0
- r2 = read_local command
- r3 = call_dynamic r1 this r2
- */
- abort();
- }
- void GameField::onGameOverOutOfMoves(){
- /*
- main:
- code:
- block_0:
- r0 = call_cmethod com.meduzik.matcharena.game.field.GameField.isInteractive this
- condbr r0 block_1 block_2
- block_1:
- r1 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r2 = read_cfield com.meduzik.matcharena.engine.Match3Engine.env r1
- r3 = read_cfield com.meduzik.matcharena.engine.Match3Environment.allowBuyMoves r2
- block_2:
- r4 = phi Boolean (block_0 -> r0) (block_1 -> r3)
- condbr r4 block_3 block_4
- block_3:
- write_cfield com.meduzik.matcharena.game.field.GameField.buyingMoves this true
- r5 = read_cfield com.meduzik.matcharena.game.field.GameField.StateWaitForBuyMoves
- write_cfield com.meduzik.matcharena.game.field.GameField.state this r5
- r6 = read_cfield com.meduzik.matcharena.game.field.GameField.observer this
- r7 = imethod_closure com.meduzik.matcharena.game.GameFieldObserver.onShowBuyMovesDialog r6
- r8 = cmethod_closure com.meduzik.matcharena.game.field.GameField.onBuyMovesBought this
- r9 = cmethod_closure com.meduzik.matcharena.game.field.GameField.onBuyMovesCanceled this
- r10 = call_dynamic r7 r8 r9
- r11 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r12 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r11
- br block_4
- block_4:
- */
- abort();
- }
- void GameField::onBuyMovesBought(jfl::Int count){
- /*
- main:
- locals:
- count : int
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.record this
- r1 = call_cmethod com.meduzik.matcharena.game.field.state.GamePlayRecord.blockUndo r0
- r2 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r3 = read_local count
- r4 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.addExtraMoves r2 r3
- write_cfield com.meduzik.matcharena.game.field.GameField.buyingMoves this false
- */
- abort();
- }
- void GameField::onBuyMovesCanceled(){
- /*
- main:
- code:
- block_0:
- write_cfield com.meduzik.matcharena.game.field.GameField.buyingMoves this false
- */
- abort();
- }
- void GameField::onGameOverGoalReached(){
- /*
- main:
- code:
- block_0:
- */
- abort();
- }
- void GameField::onGameOverNoMoreReshuffles(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.shoutouts this
- r1 = call_cmethod com.meduzik.matcharena.game.field.shoutout.ShoutoutController.startShoutout r0 "NoReshuffle"
- condbr r1 block_1 block_2
- block_1:
- r2 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r3 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r2
- br block_2
- block_2:
- */
- abort();
- }
- void GameField::onArenaSplashBegin(jfl::Boolean needArenaSplash){
- /*
- main:
- locals:
- needArenaSplash : Boolean
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
- r1 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.raise r0 "arena_splash" 1.000000
- r2 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r1
- r3 = read_local needArenaSplash
- condbr r3 block_1 block_2
- block_1:
- r4 = read_cfield com.meduzik.matcharena.game.field.GameField.shoutouts this
- r5 = call_cmethod com.meduzik.matcharena.game.field.shoutout.ShoutoutController.startShoutout r4 "ArenaSplash"
- condbr r5 block_3 block_4
- block_2:
- block_3:
- r6 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r7 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r6
- br block_4
- block_4:
- br block_2
- */
- abort();
- }
- jfl::Boolean GameField::isInteractive(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.interactive this
- ret r0
- */
- abort();
- }
- void GameField::onGameOver(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.record this
- r1 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r2 = read_cfield com.meduzik.matcharena.engine.Match3Engine.turn r1
- r3 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r4 = read_cfield com.meduzik.matcharena.engine.Match3Engine.score r3
- r5 = call_cmethod com.meduzik.matcharena.game.field.state.GamePlayRecord.setScoreAtTurn r0 r2 r4
- r6 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r7 = read_cfield com.meduzik.matcharena.engine.Match3Engine.env r6
- r8 = read_cfield com.meduzik.matcharena.engine.Match3Environment.scoreGoal r7
- r9 = num_cast Number r8
- r10 = num_cmp gt r9 0.000000
- condbr r10 block_1 block_2
- block_1:
- r11 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r12 = read_cfield com.meduzik.matcharena.engine.Match3Engine.score r11
- r13 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r14 = read_cfield com.meduzik.matcharena.engine.Match3Engine.env r13
- r15 = read_cfield com.meduzik.matcharena.engine.Match3Environment.scoreGoal r14
- r16 = num_cast Number r15
- r17 = num_cast Number r12
- r18 = num_cmp lt r17 r16
- block_2:
- r19 = phi Boolean (block_0 -> r10) (block_1 -> r18)
- condbr r19 block_3 block_4
- block_3:
- ret void
- br block_4
- block_4:
- r20 = read_cfield com.meduzik.matcharena.game.field.GameField.shoutouts this
- r21 = call_cmethod com.meduzik.matcharena.game.field.shoutout.ShoutoutController.startShoutout r20 "WellDone"
- condbr r21 block_5 block_6
- block_5:
- r22 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r23 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.yield r22
- br block_6
- block_6:
- */
- abort();
- }
- jfl::Boolean GameField::isEnded(){
- /*
- main:
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.state this
- r1 = read_cfield com.meduzik.matcharena.game.field.GameField.StateEnded
- r2 = num_cmp eq r0 r1
- ret r2
- */
- abort();
- }
- void GameField::onShowTutorialDialog(jfl::String* symbol, jfl::String* text){
- /*
- main:
- locals:
- symbol : class String
- text : class String
- code:
- block_0:
- r0 = call_cmethod com.meduzik.matcharena.game.field.GameField.isInteractive this
- condbr r0 block_1 block_2
- block_1:
- r1 = read_cfield com.meduzik.matcharena.game.field.GameField.observer this
- r2 = imethod_closure com.meduzik.matcharena.game.GameFieldObserver.onShowTutorialDialog r1
- r3 = read_local symbol
- r4 = read_local text
- r5 = call_dynamic r2 r3 r4
- br block_2
- block_2:
- */
- abort();
- }
- void GameField::onMissileHitBegin(fl::com::meduzik::matcharena::engine::trigger::MissileTrigger* missileTrigger, fl::com::meduzik::matcharena::engine::field::EngineCell* target){
- /*
- main:
- locals:
- missileTrigger : class com.meduzik.matcharena.engine.trigger.MissileTrigger
- target : class com.meduzik.matcharena.engine.field.EngineCell
- missile : class com.meduzik.matcharena.game.field.effect.Missile
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r1 = read_local missileTrigger
- r2 = read_dynindex r0 r1
- r3 = from_any class com.meduzik.matcharena.game.field.effect.Missile r2
- write_local missile r3
- r4 = read_local missile
- r5 = call_cmethod com.meduzik.matcharena.game.field.effect.Missile.removeTrigger r4
- r6 = read_local missile
- r7 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.onEngineDropsRef r6
- */
- abort();
- }
- void GameField::onMissileHitEnd(){
- /*
- main:
- code:
- block_0:
- */
- abort();
- }
- void GameField::onMissileLaunched(fl::com::meduzik::matcharena::engine::trigger::MissileTrigger* trigger){
- /*
- main:
- locals:
- trigger : class com.meduzik.matcharena.engine.trigger.MissileTrigger
- flyTime : Number
- missile : class com.meduzik.matcharena.game.field.effect.Missile
- code:
- block_0:
- r0 = read_local trigger
- r1 = read_cfield com.meduzik.matcharena.engine.trigger.MissileTrigger.flyTime r0
- r2 = read_cfield com.meduzik.matcharena.engine.EngineConstants.TicksPerSec
- r3 = num_binop int / r1 r2
- r4 = num_cast Number r3
- write_local flyTime r4
- r5 = read_local trigger
- r6 = to_any r5
- r7 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r6
- r8 = from_any class com.meduzik.matcharena.game.field.effect.Missile r7
- write_local missile r8
- r9 = read_local missile
- r10 = call_cmethod com.meduzik.matcharena.game.field.effect.Missile.launch r9
- */
- abort();
- }
- void GameField::onMissileCreated(fl::com::meduzik::matcharena::engine::trigger::MissileTrigger* trigger, jfl::Int order, jfl::Int total){
- /*
- main:
- locals:
- trigger : class com.meduzik.matcharena.engine.trigger.MissileTrigger
- order : int
- total : int
- delayTime : Number
- sourceChip : class com.meduzik.matcharena.game.field.chip.ChipObject
- missile : class com.meduzik.matcharena.game.field.effect.Missile
- oldChipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- regularChip : class com.meduzik.matcharena.engine.field.chip.NormalChip
- newChipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- code:
- block_0:
- r0 = read_local trigger
- r1 = read_cfield com.meduzik.matcharena.engine.trigger.MissileTrigger.delayTime r0
- r2 = read_cfield com.meduzik.matcharena.engine.EngineConstants.TicksPerSec
- r3 = num_binop int / r1 r2
- r4 = num_cast Number r3
- write_local delayTime r4
- r5 = read_local trigger
- r6 = read_cfield com.meduzik.matcharena.engine.trigger.MissileTrigger.source r5
- r7 = to_any r6
- r8 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r7
- r9 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r8
- write_local sourceChip r9
- r10 = read_local trigger
- r11 = read_local sourceChip
- r12 = read_local trigger
- r13 = read_cfield com.meduzik.matcharena.engine.trigger.MissileTrigger.color r12
- r14 = call_cmethod com.meduzik.matcharena.engine.EngineColor.visualColor r13
- r15 = read_local delayTime
- r16 = call_cmethod com.meduzik.matcharena.game.field.effect.Missile.Make static this r10 r11 r14 r15
- write_local missile r16
- r17 = read_local missile
- r18 = class_cast throws r17 com.meduzik.matcharena.game.field.FieldObject
- r19 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r18
- r20 = read_local missile
- r21 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r20 "MissileStart"
- r22 = call_cmethod com.meduzik.matcharena.game.field.GameField.resources this
- r23 = read_cfield com.meduzik.matcharena.game.field.resources.GameFieldResources.missileLaunch r22
- r24 = call_cmethod com.meduzik.matcharena.game.field.GameField.createEffect this r23
- r25 = read_local sourceChip
- r26 = class_cast throws r25 com.meduzik.matcharena.game.field.FieldObject
- r27 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.attachToObject r24 r26
- r28 = read_local sourceChip
- r29 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.getColor r28
- r30 = call_cmethod com.meduzik.matcharena.game.field.effect.EffectObject.paint r27 r29
- r31 = read_local trigger
- r32 = read_cfield com.meduzik.matcharena.engine.trigger.MissileTrigger.source r31
- r33 = class_test r32 com.meduzik.matcharena.engine.field.chip.MineChip
- condbr r33 block_1 block_2
- block_1:
- r34 = read_local sourceChip
- r35 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.view r34
- r36 = class_test r35 com.meduzik.matcharena.game.field.chip.ChipViewMine
- block_2:
- r37 = phi Boolean (block_0 -> r33) (block_1 -> r36)
- condbr r37 block_3 block_4
- block_3:
- r38 = read_local sourceChip
- write_local oldChipObject r38
- r39 = call_cmethod com.meduzik.matcharena.engine.field.chip.NormalChip.Make static
- write_local regularChip r39
- r40 = read_local regularChip
- r41 = read_local trigger
- r42 = read_cfield com.meduzik.matcharena.engine.trigger.MissileTrigger.source r41
- r43 = call_cmethod com.meduzik.matcharena.engine.field.chip.Chip.getColor r42
- r44 = call_cmethod com.meduzik.matcharena.engine.field.chip.ColorChip.withColor r40 r43
- r45 = read_local trigger
- r46 = read_cfield com.meduzik.matcharena.engine.trigger.MissileTrigger.source r45
- r47 = read_local trigger
- r48 = read_cfield com.meduzik.matcharena.engine.trigger.MissileTrigger.source r47
- r49 = class_cast throws r46 com.meduzik.matcharena.engine.field.chip.MineChip
- r50 = read_cfield com.meduzik.matcharena.engine.field.chip.MundaneChip.fishy r49
- condbr r50 block_5 block_6
- block_4:
- r51 = read_cfield com.meduzik.matcharena.game.field.GameField.mapping this
- r52 = read_local trigger
- r53 = read_local missile
- r54 = to_any r53
- write_dynindex r51 r52
- block_5:
- r55 = read_local regularChip
- r56 = call_cmethod com.meduzik.matcharena.engine.field.chip.MundaneChip.makeFishy r55
- br block_6
- block_6:
- r57 = read_local regularChip
- r58 = class_cast throws r57 com.meduzik.matcharena.engine.field.chip.Chip
- r59 = call_cmethod com.meduzik.matcharena.game.field.GameField.createChipFromEngineChip this r58
- write_local newChipObject r59
- r60 = read_local newChipObject
- r61 = class_cast throws r60 com.meduzik.matcharena.game.field.FieldObject
- r62 = call_cmethod com.meduzik.matcharena.game.field.GameField.addObject this r61
- r63 = read_local newChipObject
- r64 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.onEngineDropsRef r63
- r65 = read_local regularChip
- r66 = call_cmethod com.meduzik.matcharena.engine.field.chip.NormalChip.dispose r65
- r67 = read_local newChipObject
- r68 = read_local newChipObject
- r69 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r68 "MineBecomesRegular"
- r70 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r67 r69
- r71 = read_local oldChipObject
- r72 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r71
- r73 = ref_cmp neq r72 (null:class com.meduzik.fx.combinators.FXWrap)
- r74 = choice r73 Boolean false true
- condbr r74 block_7 block_8
- block_7:
- r75 = read_local oldChipObject
- r76 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r75 "RegularAppearFromMine"
- br block_8
- block_8:
- r77 = read_local newChipObject
- r78 = read_local oldChipObject
- r79 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.inheritFrom r77 r78
- r80 = read_local newChipObject
- r81 = read_local oldChipObject
- r82 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.swapViewWith r80 r81
- r83 = read_local oldChipObject
- r84 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.bringToFront r83
- br block_4
- */
- abort();
- }
- void GameField::onTaskScoreChanged(fl::com::meduzik::matcharena::engine::goal::task::GoalTask* task, jfl::Object* source, fl::com::meduzik::matcharena::engine::goal::GoalEvent* reason){
- /*
- main:
- locals:
- task : class com.meduzik.matcharena.engine.goal.task.GoalTask
- source : *
- reason : class com.meduzik.matcharena.engine.goal.GoalEvent
- sourceObject : *
- object : class com.meduzik.matcharena.game.field.FieldObject
- code:
- block_0:
- r0 = read_local source
- write_local sourceObject r0
- r1 = read_local source
- r2 = dyn_type_test r1 class com.meduzik.matcharena.engine.combo.ComboInstance
- condbr r2 block_1 block_2
- block_1:
- r3 = read_local source
- r4 = read_local source
- r5 = from_any class com.meduzik.matcharena.engine.combo.ComboInstance r3
- r6 = read_cfield com.meduzik.matcharena.engine.combo.ComboInstance.primary r5
- r7 = to_any r6
- write_local sourceObject r7
- br block_2
- block_2:
- r8 = read_cfield com.meduzik.matcharena.game.field.GameField.taskObserver this
- r9 = ref_cmp neq r8 (null:interface com.meduzik.matcharena.game.info.ITaskObserver)
- condbr r9 block_3 block_4
- block_3:
- r10 = read_local sourceObject
- r11 = to_any r10
- r12 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r11
- r13 = from_any class com.meduzik.matcharena.game.field.FieldObject r12
- write_local object r13
- r14 = read_local object
- r15 = ref_cmp neq r14 (null:class com.meduzik.matcharena.game.field.FieldObject)
- condbr r15 block_5 block_6
- block_4:
- block_5:
- r16 = read_cfield com.meduzik.matcharena.game.field.GameField.taskObserver this
- r17 = imethod_closure com.meduzik.matcharena.game.info.ITaskObserver.onTaskProgress r16
- r18 = read_local task
- r19 = read_cfield com.meduzik.matcharena.game.field.GameField.pickup this
- r20 = imethod_closure com.meduzik.matcharena.game.field.pickup.IPickupController.calculatePickupTime r19
- r21 = read_local object
- r22 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.x r21
- r23 = read_local object
- r24 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.y r23
- r25 = call_dynamic r20 this r22 r24
- r26 = call_dynamic r17 r18 r25
- br block_6
- block_6:
- br block_4
- */
- abort();
- }
- void GameField::onTaskAdded(fl::com::meduzik::matcharena::engine::goal::task::GoalTask* task){
- /*
- main:
- locals:
- task : class com.meduzik.matcharena.engine.goal.task.GoalTask
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.taskObserver this
- r1 = ref_cmp neq r0 (null:interface com.meduzik.matcharena.game.info.ITaskObserver)
- condbr r1 block_1 block_2
- block_1:
- r2 = read_cfield com.meduzik.matcharena.game.field.GameField.taskObserver this
- r3 = imethod_closure com.meduzik.matcharena.game.info.ITaskObserver.onTaskAdded r2
- r4 = read_local task
- r5 = call_dynamic r3 r4
- br block_2
- block_2:
- */
- abort();
- }
- void GameField::onTaskRemoved(fl::com::meduzik::matcharena::engine::goal::task::GoalTask* task){
- /*
- main:
- locals:
- task : class com.meduzik.matcharena.engine.goal.task.GoalTask
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.taskObserver this
- r1 = ref_cmp neq r0 (null:interface com.meduzik.matcharena.game.info.ITaskObserver)
- condbr r1 block_1 block_2
- block_1:
- r2 = read_cfield com.meduzik.matcharena.game.field.GameField.taskObserver this
- r3 = imethod_closure com.meduzik.matcharena.game.info.ITaskObserver.onTaskRemoved r2
- r4 = read_local task
- r5 = call_dynamic r3 r4
- br block_2
- block_2:
- */
- abort();
- }
- void GameField::onFossilCollected(fl::com::meduzik::matcharena::engine::field::fossils::Fossil* fossil){
- /*
- main:
- locals:
- fossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
- fossilObject : class com.meduzik.matcharena.game.field.fossil.FossilObject
- code:
- block_0:
- r0 = read_local fossil
- r1 = to_any r0
- r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r1
- r3 = from_any class com.meduzik.matcharena.game.field.fossil.FossilObject r2
- write_local fossilObject r3
- r4 = read_local fossilObject
- r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.fossil.FossilObject)
- condbr r5 block_1 block_2
- block_1:
- r6 = read_local fossilObject
- r7 = read_local fossilObject
- r8 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r7 "FossilCollected"
- r9 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r6 r8
- br block_2
- block_2:
- r10 = read_cfield com.meduzik.matcharena.game.field.GameField.events this
- r11 = call_cmethod com.meduzik.matcharena.game.field.QuestEvents.raise r10 "fossil_collected" 1.000000
- r12 = read_local fossil
- r13 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.type r12
- r14 = call_cmethod com.meduzik.matcharena.level.fossil.FossilType.score r13
- r15 = box class int r14
- r16 = to_any r15
- r17 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.add r11 "score" r16
- r18 = call_cmethod com.meduzik.matcharena.game.field.QuestEvent.submit r17
- */
- abort();
- }
- void GameField::onBeginFossilExtraction(fl::com::meduzik::matcharena::engine::field::fossils::Fossil* fossil){
- /*
- main:
- locals:
- fossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r1 = read_cfield com.meduzik.matcharena.game.EventContext.FOSSIL_EXTRACT
- r2 = call_cmethod com.meduzik.matcharena.game.EventContext.begin r0 r1
- */
- abort();
- }
- void GameField::onEndFossilExtraction(fl::com::meduzik::matcharena::engine::field::fossils::Fossil* fossil){
- /*
- main:
- locals:
- fossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.eventContext this
- r1 = call_cmethod com.meduzik.matcharena.game.EventContext.end r0
- r2 = read_local fossil
- r3 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateFossilArea this r2
- r4 = read_local fossil
- r5 = call_cmethod com.meduzik.matcharena.game.field.GameField.removeFossilEntity this r4
- */
- abort();
- }
- void GameField::updateFossilArea(fl::com::meduzik::matcharena::engine::field::fossils::Fossil* fossil){
- /*
- main:
- locals:
- fossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
- row : int
- column : int
- code:
- block_0:
- r0 = read_local fossil
- r1 = ref_cmp neq r0 (null:class com.meduzik.matcharena.engine.field.fossils.Fossil)
- r2 = choice r1 Boolean false true
- condbr r2 block_1 block_2
- block_1:
- ret void
- br block_2
- block_2:
- r3 = read_local fossil
- r4 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.minRow r3
- write_local row r4
- br block_3
- block_3:
- r5 = read_local row
- r6 = read_local fossil
- r7 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.maxRow r6
- r8 = num_cast Number r7
- r9 = num_cast Number r5
- r10 = num_cmp le r9 r8
- condbr r10 block_4 block_5
- block_4:
- r11 = read_local fossil
- r12 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.minColumn r11
- write_local column r12
- br block_6
- block_5:
- block_6:
- r13 = read_local column
- r14 = read_local fossil
- r15 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.maxColumn r14
- r16 = num_cast Number r15
- r17 = num_cast Number r13
- r18 = num_cmp le r17 r16
- condbr r18 block_7 block_8
- block_7:
- r19 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r20 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r19
- r21 = read_local row
- r22 = read_local column
- r23 = call_cmethod com.meduzik.matcharena.engine.field.Field.getAnyCell r20 r21 r22
- r24 = call_cmethod com.meduzik.matcharena.game.field.GameField.updateCell this r23
- br block_9
- block_8:
- br block_10
- block_9:
- r25 = read_local column
- r26 = num_binop int + r25 1.000000
- write_local column r26
- br block_6
- block_10:
- r27 = read_local row
- r28 = num_binop int + r27 1.000000
- write_local row r28
- br block_3
- */
- abort();
- }
- fl::com::meduzik::matcharena::game::field::fossil::FossilObject* GameField::projectFossil(fl::com::meduzik::matcharena::engine::field::fossils::Fossil* fossil){
- /*
- main:
- locals:
- fossil : class com.meduzik.matcharena.engine.field.fossils.Fossil
- minRow : int
- maxRow : int
- minColumn : int
- maxColumn : int
- fossilObject : class com.meduzik.matcharena.game.field.fossil.FossilObject
- row : int
- column : int
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- code:
- block_0:
- r0 = read_local fossil
- r1 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.row r0
- r2 = read_local fossil
- r3 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.type r2
- r4 = read_local fossil
- r5 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.rotation r4
- r6 = call_cmethod com.meduzik.matcharena.level.fossil.FossilType.getMinRow r3 r5
- r7 = num_binop int + r1 r6
- write_local minRow r7
- r8 = read_local fossil
- r9 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.row r8
- r10 = read_local fossil
- r11 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.type r10
- r12 = read_local fossil
- r13 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.rotation r12
- r14 = call_cmethod com.meduzik.matcharena.level.fossil.FossilType.getMaxRow r11 r13
- r15 = num_binop int + r9 r14
- write_local maxRow r15
- r16 = read_local fossil
- r17 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.column r16
- r18 = read_local fossil
- r19 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.type r18
- r20 = read_local fossil
- r21 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.rotation r20
- r22 = call_cmethod com.meduzik.matcharena.level.fossil.FossilType.getMinColumn r19 r21
- r23 = num_binop int + r17 r22
- write_local minColumn r23
- r24 = read_local fossil
- r25 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.column r24
- r26 = read_local fossil
- r27 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.type r26
- r28 = read_local fossil
- r29 = call_cmethod com.meduzik.matcharena.engine.field.fossils.Fossil.rotation r28
- r30 = call_cmethod com.meduzik.matcharena.level.fossil.FossilType.getMaxColumn r27 r29
- r31 = num_binop int + r25 r30
- write_local maxColumn r31
- r32 = read_local minRow
- write_local row r32
- br block_1
- block_1:
- r33 = read_local row
- r34 = read_local maxRow
- r35 = num_cast Number r34
- r36 = num_cast Number r33
- r37 = num_cmp le r36 r35
- condbr r37 block_2 block_3
- block_2:
- r38 = read_local minColumn
- write_local column r38
- br block_4
- block_3:
- r39 = read_local fossilObject
- ret r39
- block_4:
- r40 = read_local column
- r41 = read_local maxColumn
- r42 = num_cast Number r41
- r43 = num_cast Number r40
- r44 = num_cmp le r43 r42
- condbr r44 block_5 block_6
- block_5:
- r45 = read_cfield com.meduzik.matcharena.game.field.GameField.engine this
- r46 = call_cmethod com.meduzik.matcharena.engine.Match3Engine.field r45
- r47 = read_local row
- r48 = read_local column
- r49 = call_cmethod com.meduzik.matcharena.engine.field.Field.getAnyCell r46 r47 r48
- write_local cell r49
- r50 = read_local cell
- r51 = call_cmethod com.meduzik.matcharena.game.field.GameField.getCellMapping this r50
- r52 = ref_cmp neq r51 (null:class com.meduzik.matcharena.game.field.cell.CellObject)
- condbr r52 block_7 block_8
- block_6:
- br block_9
- block_7:
- r53 = read_local fossil
- r54 = call_cmethod com.meduzik.matcharena.game.field.GameField.loadFossil this r53
- write_local fossilObject r54
- br block_8
- block_8:
- br block_10
- block_9:
- r55 = read_local row
- r56 = num_binop int + r55 1.000000
- write_local row r56
- br block_1
- block_10:
- r57 = read_local column
- r58 = num_binop int + r57 1.000000
- write_local column r58
- br block_4
- */
- abort();
- }
- void GameField::updateLoadedFrame(fl::com::meduzik::matcharena::level::FieldFrame* frame){
- /*
- main:
- locals:
- frame : class com.meduzik.matcharena.level.FieldFrame
- code:
- block_0:
- */
- abort();
- }
- void GameField::onCharacterEats(fl::com::meduzik::matcharena::engine::field::chip::CharacterChip* characterChip, fl::com::meduzik::matcharena::engine::field::chip::FoodChip* food, jfl::Int foodConsumeTime){
- /*
- main:
- locals:
- characterChip : class com.meduzik.matcharena.engine.field.chip.CharacterChip
- food : class com.meduzik.matcharena.engine.field.chip.FoodChip
- foodConsumeTime : int
- chipObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- foodObject : class com.meduzik.matcharena.game.field.chip.ChipObject
- code:
- block_0:
- r0 = read_local characterChip
- r1 = to_any r0
- r2 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r1
- r3 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r2
- write_local chipObject r3
- r4 = read_local chipObject
- r5 = ref_cmp neq r4 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
- condbr r5 block_1 block_2
- block_1:
- r6 = read_local chipObject
- r7 = read_local foodConsumeTime
- r8 = call_cmethod com.meduzik.matcharena.game.field.GameField.getTimestampDelta this r7
- r9 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithNumber r6 "CharacterEats" r8
- br block_2
- block_2:
- r10 = read_local food
- r11 = to_any r10
- r12 = call_cmethod com.meduzik.matcharena.game.field.GameField.getObjectMapping this r11
- r13 = from_any class com.meduzik.matcharena.game.field.chip.ChipObject r12
- write_local foodObject r13
- r14 = read_local foodObject
- r15 = ref_cmp neq r14 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
- condbr r15 block_3 block_4
- block_3:
- r16 = read_local chipObject
- r17 = ref_cmp neq r16 (null:class com.meduzik.matcharena.game.field.chip.ChipObject)
- block_4:
- r18 = phi Boolean (block_2 -> r15) (block_3 -> r17)
- condbr r18 block_5 block_6
- block_5:
- r19 = read_local foodObject
- r20 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.view r19
- r21 = read_local foodObject
- r22 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipObject.view r21
- r23 = class_cast throws r20 com.meduzik.matcharena.game.field.chip.ChipViewFood
- r24 = call_cmethod com.meduzik.matcharena.game.field.chip.ChipViewFood.onConsumed r23
- r25 = read_local foodObject
- r26 = read_local foodObject
- r27 = read_local chipObject
- r28 = class_cast throws r27 com.meduzik.matcharena.game.field.FieldObject
- r29 = read_local foodConsumeTime
- r30 = call_cmethod com.meduzik.matcharena.game.field.GameField.getTimestampDelta this r29
- r31 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFXWithObjectAndNumber r26 "CharacterConsumeFood" r28 r30
- r32 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.deadFX r25 r31
- br block_6
- block_6:
- */
- abort();
- }
- void GameField::onExplosionHitsCell(fl::com::meduzik::matcharena::engine::field::EngineCell* cell, fl::com::meduzik::matcharena::engine::trigger::ExplosionPattern* pattern){
- /*
- main:
- locals:
- cell : class com.meduzik.matcharena.engine.field.EngineCell
- pattern : class com.meduzik.matcharena.engine.trigger.ExplosionPattern
- cellObject : class com.meduzik.matcharena.game.field.cell.CellObject
- code:
- block_0:
- r0 = read_local cell
- r1 = call_cmethod com.meduzik.matcharena.game.field.GameField.getCellMapping this r0
- write_local cellObject r1
- r2 = read_local cellObject
- r3 = ref_cmp neq r2 (null:class com.meduzik.matcharena.game.field.cell.CellObject)
- condbr r3 block_1 block_2
- block_1:
- r4 = read_local cellObject
- r5 = call_cmethod com.meduzik.matcharena.game.field.FieldObject.runFX r4 "ExplosionHitsCell"
- br block_2
- block_2:
- */
- abort();
- }
- void GameField::onDecorAdded(fl::com::meduzik::matcharena::engine::field::decor::Decor* decor){
- /*
- main:
- locals:
- decor : class com.meduzik.matcharena.engine.field.decor.Decor
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.decorSet this
- r1 = read_local decor
- r2 = call_cmethod com.meduzik.matcharena.game.field.decor.DecorObjectSet.add r0 r1
- r3 = read_cfield com.meduzik.matcharena.game.field.GameField.decorSet this
- r4 = call_cmethod com.meduzik.matcharena.game.field.decor.DecorObjectSet.updateTraps r3
- */
- abort();
- }
- void GameField::onDecorRemoved(fl::com::meduzik::matcharena::engine::field::decor::Decor* decor){
- /*
- main:
- locals:
- decor : class com.meduzik.matcharena.engine.field.decor.Decor
- code:
- block_0:
- r0 = read_cfield com.meduzik.matcharena.game.field.GameField.decorSet this
- r1 = read_local decor
- r2 = call_cmethod com.meduzik.matcharena.game.field.decor.DecorObjectSet.remove r0 r1
- r3 = read_cfield com.meduzik.matcharena.game.field.GameField.decorSet this
- r4 = call_cmethod com.meduzik.matcharena.game.field.decor.DecorObjectSet.updateTraps r3
- */
- abort();
- }
- void GameField::enableFastForward(){
- /*
- main:
- code:
- block_0:
- write_cfield com.meduzik.matcharena.game.field.GameField.fastForward this true
- */
- abort();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement