# AdventureBoardActivity_Model_AdventureBoardActivityBoardModel_1378.luac
; fn @AdventureBoardActivityBoardModel.lua  line 0-0 np=0 va=1 ms=3 code=21 consts=11 upvals=1 protos=3
;   K[0]='AdventureBoardActivityBoardModel'
;   K[1]='setmetatable'
;   K[2]='eScrollDirection'
;   K[3]='EBoardScrollDirection'
;   K[4]='Down'
;   K[5]='BaseUIBoardModel'
;   K[6]='__index'
;   K[7]='Create'
;   K[8]='AdventureBoardActivityBoardModel'
;   K[9]='Init'
;   K[10]='GetScrollRowByCustomRule'
;   upvals: _ENV
0000  GETTABUP  R0 = _ENV[K1('setmetatable')]
0001  NEWTABLE  R1 = {} (0 items)
0002  GETTABUP  R2 = _ENV[K3('EBoardScrollDirection')]
0003  GETTABLE  R2 = R2[K4('Down')]
0004  SETTABLE  R1[K2('eScrollDirection')] = R2
0005  GETTABUP  R2 = _ENV[K5('BaseUIBoardModel')]
0006  CALL      R0 = call(R0, 1 args, 2 rets)
0007  SETTABUP  _ENV[K0('AdventureBoardActivityBoardModel')] = R0
0008  GETTABUP  R0 = _ENV[K0('AdventureBoardActivityBoardModel')]
0009  GETTABUP  R1 = _ENV[K0('AdventureBoardActivityBoardModel')]
0010  SETTABLE  R0[K6('__index')] = R1
0011  GETTABUP  R0 = _ENV[K0('AdventureBoardActivityBoardModel')]
0012  CLOSURE   R1 = closure proto0
0013  SETTABLE  R0[K7('Create')] = R1
0014  GETTABUP  R0 = _ENV[K8('AdventureBoardActivityBoardModel')]
0015  CLOSURE   R1 = closure proto1
0016  SETTABLE  R0[K9('Init')] = R1
0017  GETTABUP  R0 = _ENV[K8('AdventureBoardActivityBoardModel')]
0018  CLOSURE   R1 = closure proto2
0019  SETTABLE  R0[K10('GetScrollRowByCustomRule')] = R1
0020  RETURN    return R0..R-1
; ---------- proto0 [Create] ----------
  ; fn ?  line 10-14 np=1 va=0 ms=5 code=9 consts=3 upvals=1 protos=0
  ;   K[0]='setmetatable'
  ;   K[1]='AdventureBoardActivityBoardModel'
  ;   K[2]='Init'
  ;   upvals: _ENV
  ;   locals: args(0-9), boardModel(4-9)
  0000  GETTABUP  R1 = _ENV[K0('setmetatable')]
  0001  NEWTABLE  R2 = {} (0 items)
  0002  GETTABUP  R3 = _ENV[K1('AdventureBoardActivityBoardModel')]
  0003  CALL      R1 = call(R1, 1 args, 2 rets)
  0004  SELF      R3 = R1[K2('Init')] (self)
  0005  MOVE      R4 = R0
  0006  CALL      R2 = call(R2, 0 args, 2 rets)
  0007  RETURN    return R1..R0
  0008  RETURN    return R0..R-1
; ---------- proto1 [Init] ----------
  ; fn ?  line 17-20 np=2 va=0 ms=5 code=9 consts=5 upvals=1 protos=0
  ;   K[0]='gameMode'
  ;   K[1]='EGameMode'
  ;   K[2]='ExtraBoard'
  ;   K[3]='BaseUIBoardModel'
  ;   K[4]='Init'
  ;   upvals: _ENV
  ;   locals: self(0-9), args(0-9)
  0000  GETTABUP  R2 = _ENV[K1('EGameMode')]
  0001  GETTABLE  R2 = R2[K2('ExtraBoard')]
  0002  SETTABLE  R1[K0('gameMode')] = R2
  0003  GETTABUP  R2 = _ENV[K3('BaseUIBoardModel')]
  0004  GETTABLE  R2 = R2[K4('Init')]
  0005  MOVE      R3 = R0
  0006  MOVE      R4 = R0
  0007  CALL      R2 = call(R2, 0 args, 2 rets)
  0008  RETURN    return R0..R-1
; ---------- proto2 [GetScrollRowByCustomRule] ----------
  ; fn ?  line 22-39 np=1 va=0 ms=8 code=35 consts=12 upvals=1 protos=0
  ;   K[0]='GetCurDepth'
  ;   K[1]='m_initCodeMap'
  ;   K[2]=1
  ;   K[3]=0
  ;   K[4]='m_fogModel'
  ;   K[5]=nil
  ;   K[6]='GetNeedMoveRows'
  ;   K[7]='GetVerticalTiles'
  ;   K[8]='math'
  ;   K[9]='min'
  ;   K[10]='m_maxDepth'
  ;   K[11]='max'
  ;   upvals: _ENV
  ;   locals: self(0-35), depth(2-35), totalMoveRows(16-35), alreadyMoveRows(20-35), moveRows(21-35)
  0000  SELF      R2 = R0[K0('GetCurDepth')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  GETTABLE  R2 = R0[K1('m_initCodeMap')]
  0003  LEN       R2 = len R0
  0004  ADD       R2 = K2(1) add R2
  0005  EQ        if R0 eq R2   -> -130551
  0006  JMP       (jump)   -> 9
  0007  LOADK     R2 = K3 0
  0008  RETURN    return R2..R1
  0009  GETTABLE  R2 = R0[K4('m_fogModel')]
  0010  EQ        if R0 eq K5(nil)   -> -129775
  0011  JMP       (jump)   -> 13
  0012  RETURN    return R0..R-1
  0013  GETTABLE  R2 = R0[K4('m_fogModel')]
  0014  SELF      R3 = R2[K6('GetNeedMoveRows')] (self)
  0015  CALL      R2 = call(R2, 1 args, 1 rets)
  0016  SUB       R3 = K2(1) sub R1
  0017  SELF      R5 = R0[K7('GetVerticalTiles')] (self)
  0018  CALL      R4 = call(R4, 1 args, 1 rets)
  0019  SUB       R3 = R4 sub R3
  0020  SUB       R4 = R3 sub R2
  0021  GETTABUP  R5 = _ENV[K8('math')]
  0022  GETTABLE  R5 = R5[K9('min')]
  0023  MOVE      R6 = R0
  0024  GETTABLE  R7 = R0[K10('m_maxDepth')]
  0025  SUB       R7 = R1 sub R7
  0026  CALL      R5 = call(R5, 1 args, 2 rets)
  0027  MOVE      R4 = R0
  0028  GETTABUP  R5 = _ENV[K8('math')]
  0029  GETTABLE  R5 = R5[K11('max')]
  0030  LOADK     R6 = K3 0
  0031  MOVE      R7 = R0
  0032  TAILCALL  tailcall(R5, 0)
  0033  RETURN    return R5..R4
  0034  RETURN    return R0..R-1
