Advertisement
CherryDT

Event Code to Text Converter (preview.bi)

May 23rd, 2013
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Enum EExtraDefinitions
  2.     _BODY = &hFFF0
  3.     _HEADER_EVENT
  4.     _HEADER_PAGE
  5.     _HEADER_SCRIPT
  6.     _FREE_LINE
  7.     _START_CONDITION_LIST
  8.     _START_CONDITION_ENTRY
  9.     _MOVEMENTPATTERN
  10.     _CODE
  11.     _INDENT
  12.     _UNKNOWN_COMMAND
  13. End Enum
  14.  
  15. Type TFormattingTemplateEntry
  16.     Before As String
  17.     After As String
  18. End Type
  19.  
  20. Dim Shared FormattingTemplate(&hFFFF) As TFormattingTemplateEntry
  21.  
  22. Sub LoadFormattingTemplate()
  23.     Var ac = MessageBox(NULL, "Use a formatting template?", APPNAME, MB_YESNO Or MB_ICONQUESTION)
  24.     Select Case ac
  25.         Case IDYES
  26.             Var buf = OpenFileDlg("Open formatting template...", OFN_FILTER_FORMATTINGTEMPLATE, "eft", ExePath & "\ftemplates")
  27.             If buf <> "" Then
  28.                 Open buf For Input As #2
  29.                 Do Until Eof(2)
  30.                     Dim s As String
  31.                     Dim v As Integer
  32.                     Line Input #2, s
  33.                     If Left(s, 2) = "//" Then Continue Do
  34.                     If InStr(s, " //") Then s = Left(s, InStr(s, " //") - 1)
  35.                     Select Case UCase(s)
  36.                         Case "BODY"
  37.                             v = _BODY
  38.                         Case "HEADER:EVENT"
  39.                             v = _HEADER_EVENT
  40.                         Case "HEADER:PAGE"
  41.                             v = _HEADER_PAGE
  42.                         Case "HEADER:SCRIPT"
  43.                             v = _HEADER_SCRIPT
  44.                         Case "FREELINE"
  45.                             v = _FREE_LINE
  46.                         Case "STARTCONDITION:LIST"
  47.                             v = _START_CONDITION_LIST
  48.                         Case "STARTCONDITION:ENTRY"
  49.                             v = _START_CONDITION_ENTRY
  50.                         Case "MOVEMENTPATTERN"
  51.                             v = _MOVEMENTPATTERN
  52.                         Case "CODE"
  53.                             v = _CODE
  54.                         Case "INDENT"
  55.                             v = _INDENT
  56.                         Case "UNKNOWNCOMMAND"
  57.                             v = _UNKNOWN_COMMAND
  58.                         Case Else
  59.                             v = Abs(Val(s))
  60.                             If v > &hFFFF Then v = 0
  61.                     End Select
  62.                     Do
  63.                         Line Input #2, s
  64.                         If Left(s, 2) <> "//" Then Exit Do
  65.                     Loop
  66.                     If v Then FormattingTemplate(v).Before = s
  67.                     Do
  68.                         Line Input #2, s
  69.                         If Left(s, 2) <> "//" Then Exit Do
  70.                     Loop
  71.                     If v Then FormattingTemplate(v).After = s
  72.                 Loop
  73.                 Close #2
  74.             EndIf
  75.         Case IDNO
  76.             For i As Integer = 0 To &hFFFF
  77.                 FormattingTemplate(i).Before = ""
  78.                 FormattingTemplate(i).After = ""
  79.             Next
  80.     End Select
  81. End Sub
  82.  
  83. Sub ExportEvent(ev As AEE.EVENT Ptr, cbct As AEE.CLIPBOARDCONTENTTYPE, file As String)
  84.     If ev = NULL Then Exit Sub
  85.     Open file For Output As #1
  86.     Print #1, FormattingTemplate(_BODY).Before
  87.     If cbct = AEE.CBCT_EVENT Or cbct = AEE.CBCT_COMMONEVENT Or cbct = AEE.CBCT_MONSTERGROUP Then
  88.         Print #1, FormattingTemplate(_HEADER_EVENT).Before;
  89.         Print #1, "--- EVENT ---";
  90.         Print #1, FormattingTemplate(_HEADER_EVENT).After
  91.         Print #1, "Type: ";
  92.         Select Case ev->Type_
  93.             Case AEE.EVENT.EVT_UNKNOWN
  94.                 Print #1, "Unknown"
  95.             Case AEE.EVENT.EVT_MAP
  96.                 Print #1, "Map event"
  97.             Case AEE.EVENT.EVT_COMMON
  98.                 Print #1, "Common event"
  99.             Case AEE.EVENT.EVT_BATTLE
  100.                 Print #1, "Battle event"
  101.             Case Else
  102.                 Print #1, "???"
  103.         End Select
  104.         Print #1, "Name: " & *ev->Name
  105.         If ev->Type_ = AEE.EVENT.EVT_MAP Then Print #1, "Coordinates: (" & ev->Coordinates.x & ", " & ev->Coordinates.y & ")"
  106.         Print #1, "Number of Pages: " & ev->PagesAmount
  107.     EndIf
  108.     For i As Integer = 0 To ev->PagesAmount - 1
  109.         If cbct = AEE.CBCT_EVENT Or cbct = AEE.CBCT_COMMONEVENT Or cbct = AEE.CBCT_MONSTERGROUP Then Print #1, FormattingTemplate(_FREE_LINE).Before & FormattingTemplate(_FREE_LINE).After
  110.         If cbct <> AEE.CBCT_EVENTCOMMANDS Then
  111.             Print #1, FormattingTemplate(_HEADER_PAGE).Before;
  112.             Print #1, "-- PAGE ";
  113.             If cbct = AEE.CBCT_EVENTPAGE Or cbct = AEE.CBCT_BATTLEEVENTPAGE Then Print #1, "--"; Else Print #1, ev->Pages[i].ID & " --";
  114.             Print #1, FormattingTemplate(_HEADER_PAGE).After
  115.         EndIf
  116.         If cbct = AEE.CBCT_EVENT Or cbct = AEE.CBCT_COMMONEVENT Or cbct = AEE.CBCT_EVENTPAGE Or cbct = AEE.CBCT_BATTLEEVENTPAGE Or cbct = AEE.CBCT_MONSTERGROUP Then
  117.             If ev->Pages[i].StartConditions Then
  118.                 Print #1, "Start conditions:"
  119.                 Print #1, FormattingTemplate(_START_CONDITION_LIST).Before;
  120.                 If ev->Pages[i].StartConditions->Used And AEE.STARTCONDITIONS.EPSC_SWITCH1 Then Print #1, FormattingTemplate(_START_CONDITION_ENTRY).Before & " Switch [" & ev->Pages[i].StartConditions->Switch1_ID & "] == ON" & FormattingTemplate(_START_CONDITION_ENTRY).After
  121.                 If ev->Pages[i].StartConditions->Used And AEE.STARTCONDITIONS.EPSC_SWITCH2 Then Print #1, FormattingTemplate(_START_CONDITION_ENTRY).Before & " Switch [" & ev->Pages[i].StartConditions->Switch2_ID & "] == ON" & FormattingTemplate(_START_CONDITION_ENTRY).After
  122.                 If ev->Pages[i].StartConditions->Used And AEE.STARTCONDITIONS.EPSC_VARIABLE Then
  123.                     Print #1, FormattingTemplate(_START_CONDITION_ENTRY).Before & " Variable [" & ev->Pages[i].StartConditions->Variable_ID & "] ";
  124.                     Select Case ev->Pages[i].StartConditions->Variable_Comparison
  125.                         Case AEE.EVC_EQUAL
  126.                             Print #1, "==";
  127.                         Case AEE.EVC_GREATER_OR_EQUAL
  128.                             Print #1, ">=";
  129.                         Case AEE.EVC_LESS_OR_EQUAL
  130.                             Print #1, "<=";
  131.                         Case AEE.EVC_GREATER
  132.                             Print #1, ">";
  133.                         Case AEE.EVC_LESS
  134.                             Print #1, "<";
  135.                         Case AEE.EVC_NOT_EQUAL
  136.                             Print #1, "!=";
  137.                         Case Else
  138.                             Print "???=";
  139.                     End Select
  140.                     Print #1, " " & ev->Pages[i].StartConditions->Variable_Value & FormattingTemplate(_START_CONDITION_ENTRY).After
  141.                 EndIf
  142.                 If ev->Pages[i].StartConditions->Used And AEE.STARTCONDITIONS.EPSC_ITEM Then Print #1, FormattingTemplate(_START_CONDITION_ENTRY).Before & " Item #" & ev->Pages[i].StartConditions->Item_ID & " possessed" & FormattingTemplate(_START_CONDITION_ENTRY).After
  143.                 If ev->Pages[i].StartConditions->Used And AEE.STARTCONDITIONS.EPSC_HERO_IN_PARTY Then Print #1, FormattingTemplate(_START_CONDITION_ENTRY).Before & " Hero #" & ev->Pages[i].StartConditions->HeroInParty_HeroID & " in Party" & FormattingTemplate(_START_CONDITION_ENTRY).After
  144.                 If ev->Pages[i].StartConditions->Used And AEE.STARTCONDITIONS.EPSC_TIMER1 Then Print #1, FormattingTemplate(_START_CONDITION_ENTRY).Before & " Timer 1 <= " & ev->Pages[i].StartConditions->Timer1_Sec \ 60 & "'" & ev->Pages[i].StartConditions->Timer1_Sec Mod 60 & """" & FormattingTemplate(_START_CONDITION_ENTRY).After
  145.                 If ev->Pages[i].StartConditions->Used And AEE.STARTCONDITIONS.EPSC_TIMER2 Then Print #1, FormattingTemplate(_START_CONDITION_ENTRY).Before & " Timer 2 <= " & ev->Pages[i].StartConditions->Timer2_Sec \ 60 & "'" & ev->Pages[i].StartConditions->Timer2_Sec Mod 60 & """" & FormattingTemplate(_START_CONDITION_ENTRY).After
  146.                 If ev->Pages[i].StartConditions->Used And AEE.STARTCONDITIONS.EPSC_TURNS Then Print #1, FormattingTemplate(_START_CONDITION_ENTRY).Before & " Turns elapsed: " & ev->Pages[i].StartConditions->Turns_Elapsed1 & "X+" & ev->Pages[i].StartConditions->Turns_Elapsed2 & FormattingTemplate(_START_CONDITION_ENTRY).After
  147.                 If ev->Pages[i].StartConditions->Used And AEE.STARTCONDITIONS.EPSC_MONSTER_TURNS Then Print #1, FormattingTemplate(_START_CONDITION_ENTRY).Before & " Enemy #" & ev->Pages[i].StartConditions->MonsterTurns_MonsterID & " has elapsed " & ev->Pages[i].StartConditions->MonsterTurns_TurnsElapsed1 & "X+" & ev->Pages[i].StartConditions->MonsterTurns_TurnsElapsed2 & " turns" & FormattingTemplate(_START_CONDITION_ENTRY).After
  148.                 If ev->Pages[i].StartConditions->Used And AEE.STARTCONDITIONS.EPSC_HERO_TURNS Then Print #1, FormattingTemplate(_START_CONDITION_ENTRY).Before & " Hero #" & ev->Pages[i].StartConditions->HeroTurns_HeroID & " has elapsed " & ev->Pages[i].StartConditions->HeroTurns_TurnsElapsed1 & "X+" & ev->Pages[i].StartConditions->HeroTurns_TurnsElapsed2 & " turns" & FormattingTemplate(_START_CONDITION_ENTRY).After
  149.                 If ev->Pages[i].StartConditions->Used And AEE.STARTCONDITIONS.EPSC_EXHAUSTION Then Print #1, FormattingTemplate(_START_CONDITION_ENTRY).Before & " Party exhaustion is between " & ev->Pages[i].StartConditions->Exhaustion_Min & "% and " & ev->Pages[i].StartConditions->Exhaustion_Max & "%" & FormattingTemplate(_START_CONDITION_ENTRY).After
  150.                 If ev->Pages[i].StartConditions->Used And AEE.STARTCONDITIONS.EPSC_MONSTER_HP Then Print #1, FormattingTemplate(_START_CONDITION_ENTRY).Before & " Enemy #" & ev->Pages[i].StartConditions->MonsterHP_MonsterID & "'s HP are between " & ev->Pages[i].StartConditions->MonsterHP_Min & "% and " & ev->Pages[i].StartConditions->MonsterHP_Max & "%" & FormattingTemplate(_START_CONDITION_ENTRY).After
  151.                 If ev->Pages[i].StartConditions->Used And AEE.STARTCONDITIONS.EPSC_HERO_HP Then Print #1, FormattingTemplate(_START_CONDITION_ENTRY).Before & " Hero #" & ev->Pages[i].StartConditions->HeroHP_HeroID & "'s HP are between " & ev->Pages[i].StartConditions->HeroHP_Min & "% and " & ev->Pages[i].StartConditions->HeroHP_Max & "%" & FormattingTemplate(_START_CONDITION_ENTRY).After
  152.                 If ev->Pages[i].StartConditions->Used And AEE.STARTCONDITIONS.EPSC_HERO_COMMAND Then Print #1, FormattingTemplate(_START_CONDITION_ENTRY).Before & " Hero #" & ev->Pages[i].StartConditions->HeroCommand_HeroID & " has used battle command #" & ev->Pages[i].StartConditions->HeroCommand_CommandID & FormattingTemplate(_START_CONDITION_ENTRY).After
  153.                 If ev->Pages[i].StartConditions->Used = 0 Then Print #1, " <None>"
  154.                 Print #1, FormattingTemplate(_START_CONDITION_LIST).After;
  155.             EndIf
  156.             If cbct = AEE.CBCT_EVENT Or cbct = AEE.CBCT_EVENTPAGE Then
  157.                 Print #1, "Sprite: ";
  158.                 If ev->Pages[i].Sprite_Filename = NULL Then Print #1, "<Tileset>"; Else Print #1, *ev->Pages[i].Sprite_Filename;
  159.                 Print #1, " #" & ev->Pages[i].Sprite_ID
  160.                 Print #1, "Facing direction: ";
  161.                 Select Case ev->Pages[i].FacingDirection
  162.                     Case AEE.FD_UP
  163.                         Print #1, "Up"
  164.                     Case AEE.FD_RIGHT
  165.                         Print #1, "Right"
  166.                     Case AEE.FD_DOWN
  167.                         Print #1, "Down"
  168.                     Case AEE.FD_LEFT
  169.                         Print #1, "Left"
  170.                     Case Else
  171.                         Print #1, "???"
  172.                 End Select
  173.                 Print #1, "Animation frame: ";
  174.                 Select Case ev->Pages[i].Frame
  175.                     Case AEE.CSF_LEFT
  176.                         Print #1, "Left"
  177.                     Case AEE.CSF_CENTER
  178.                         Print #1, "Center"
  179.                     Case AEE.CSF_RIGHT
  180.                         Print #1, "Right"
  181.                     Case Else
  182.                         Print #1, "???"
  183.                 End Select
  184.                 Print #1, "Transparent: " & IIfStr(ev->Pages[i].Sprite_Transparency, "Yes", "No")
  185.             EndIf
  186.             Print #1, "Trigger condition: ";
  187.             Select Case ev->Pages[i].Trigger
  188.                 Case AEE.EVENTPAGE.EPTC_PUSH_KEY
  189.                     Select Case ev->Type_
  190.                         Case AEE.EVENT.EVT_MAP
  191.                             Print #1, "Push key"
  192.                         Case AEE.EVENT.EVT_COMMON
  193.                             Print #1, "Call"
  194.                         Case Else
  195.                             Print #1, "<Event>"
  196.                     End Select
  197.                 Case AEE.EVENTPAGE.EPTC_HERO_TOUCH
  198.                     Print #1, "Touched by hero"
  199.                 Case AEE.EVENTPAGE.EPTC_HERO_COLLISION
  200.                     Print #1, "Collision with hero"
  201.                 Case AEE.EVENTPAGE.EPTC_AUTOSTART
  202.                     Print #1, "Auto start"
  203.                 Case AEE.EVENTPAGE.EPTC_PARALLEL
  204.                     Print #1, "Parallel process"
  205.                 Case Else
  206.                     Print #1, "???"
  207.             End Select
  208.             If cbct = AEE.CBCT_EVENT Or cbct = AEE.CBCT_EVENTPAGE Then
  209.                 Print #1, "Event level: ";
  210.                 Select Case ev->Pages[i].EventLevel
  211.                     Case AEE.EVENTPAGE.ELV_BELOW_HERO
  212.                         Print #1, "Below hero"
  213.                     Case AEE.EVENTPAGE.ELV_SAME_LEVEL_AS_HERO
  214.                         Print #1, "Same level as hero"
  215.                     Case AEE.EVENTPAGE.ELV_ABOVE_HERO
  216.                         Print #1, "Above hero"
  217.                     Case Else
  218.                         Print #1, "???"
  219.                 End Select
  220.                 Print #1, "Forbid event overlap: " & IIfStr(ev->Pages[i].ForbidEventOverlap, "Yes", "No")
  221.                 Print #1, "Animation type: ";
  222.                 Select Case ev->Pages[i].AnimationType
  223.                     Case AEE.EVENTPAGE.EPAT_NON_CONTINUOUS
  224.                         Print #1, "Non-continuous"
  225.                     Case AEE.EVENTPAGE.EPAT_CONTINUOUS
  226.                         Print #1, "Continuous"
  227.                     Case AEE.EVENTPAGE.EPAT_FIXED_DIR_NON_CONTINUOUS
  228.                         Print #1, "Fixed direction; Non-continuous"
  229.                     Case AEE.EVENTPAGE.EPAT_FIXED_DIR_CONTINUOUS
  230.                         Print #1, "Fixed direction; Continuous"
  231.                     Case AEE.EVENTPAGE.EPAT_FIXED_GRAPHIC
  232.                         Print #1, "Fixed graphic"
  233.                     Case AEE.EVENTPAGE.EPAT_SPIN_AROUND
  234.                         Print #1, "Spin around"
  235.                     Case AEE.EVENTPAGE.EPAT_NO_STEPS
  236.                         Print #1, "No steps"
  237.                     Case Else
  238.                         Print #1, "???"
  239.                 End Select
  240.                 Print #1, "Movement type: ";
  241.                 Select Case ev->Pages[i].MovementType
  242.                     Case AEE.EVENTPAGE.EPMT_STATIONARY
  243.                         Print #1, "Stationary"
  244.                     Case AEE.EVENTPAGE.EPMT_RANDOM
  245.                         Print #1, "Random"
  246.                     Case AEE.EVENTPAGE.EPMT_VERTICAL
  247.                         Print #1, "Vertical"
  248.                     Case AEE.EVENTPAGE.EPMT_HORIZONTAL
  249.                         Print #1, "Horizontal"
  250.                     Case AEE.EVENTPAGE.EPMT_TOWARD_HERO
  251.                         Print #1, "Toward hero"
  252.                     Case AEE.EVENTPAGE.EPMT_AWAY_FROM_HERO
  253.                         Print #1, "Away from hero"
  254.                     Case AEE.EVENTPAGE.EPMT_CUSTOM
  255.                         Print #1, "Custom"
  256.                     Case Else
  257.                         Print #1, "???"
  258.                 End Select
  259.                 Print #1, "Movement frequency: " & ev->Pages[i].MovementFrequency
  260.                 Print #1, "Movement speed: " & ev->Pages[i].MovementSpeed
  261.                 If ev->Pages[i].MovementPattern AndAlso ev->Pages[i].MovementPattern->CommandsAmount Then
  262.                     Print #1, "Movement pattern:"
  263.                     Print #1, FormattingTemplate(_MOVEMENTPATTERN).Before;
  264.                     For j As Integer = 0 To ev->Pages[i].MovementPattern->CommandsAmount - 1
  265.                         Print #1, " <>";
  266.                         Select Case ev->Pages[i].MovementPattern->Commands[j].Command
  267.                             Case AEE.MOVEEVENTCOMMAND.ME_MOVE_UP
  268.                                 Print #1, " Move up";
  269.                             Case AEE.MOVEEVENTCOMMAND.ME_MOVE_RIGHT
  270.                                 Print #1, " Move right";
  271.                             Case AEE.MOVEEVENTCOMMAND.ME_MOVE_DOWN
  272.                                 Print #1, " Move down";
  273.                             Case AEE.MOVEEVENTCOMMAND.ME_MOVE_LEFT
  274.                                 Print #1, " Move left";
  275.                             Case AEE.MOVEEVENTCOMMAND.ME_MOVE_UP_RIGHT
  276.                                 Print #1, " Move up/right";
  277.                             Case AEE.MOVEEVENTCOMMAND.ME_MOVE_DOWN_RIGHT
  278.                                 Print #1, " Move down/right";
  279.                             Case AEE.MOVEEVENTCOMMAND.ME_MOVE_DOWN_LEFT
  280.                                 Print #1, " Move down/left";
  281.                             Case AEE.MOVEEVENTCOMMAND.ME_MOVE_UP_LEFT
  282.                                 Print #1, " Move up/left";
  283.                             Case AEE.MOVEEVENTCOMMAND.ME_MOVE_RANDOMLY
  284.                                 Print #1, " Move randomly";
  285.                             Case AEE.MOVEEVENTCOMMAND.ME_MOVE_TOWARD_HERO
  286.                                 Print #1, " Move toward hero";
  287.                             Case AEE.MOVEEVENTCOMMAND.ME_MOVE_AWAY_FROM_HERO
  288.                                 Print #1, " Move away from hero";
  289.                             Case AEE.MOVEEVENTCOMMAND.ME_MOVE_FORWARD
  290.                                 Print #1, " Move forward";
  291.                             Case AEE.MOVEEVENTCOMMAND.ME_FACE_UP
  292.                                 Print #1, " Face up";
  293.                             Case AEE.MOVEEVENTCOMMAND.ME_FACE_RIGHT
  294.                                 Print #1, " Face right";
  295.                             Case AEE.MOVEEVENTCOMMAND.ME_FACE_DOWN
  296.                                 Print #1, " Face down";
  297.                             Case AEE.MOVEEVENTCOMMAND.ME_FACE_LEFT
  298.                                 Print #1, " Face left";
  299.                             Case AEE.MOVEEVENTCOMMAND.ME_TURN_RIGHT
  300.                                 Print #1, " Turn right";
  301.                             Case AEE.MOVEEVENTCOMMAND.ME_TURN_LEFT
  302.                                 Print #1, " Turn left";
  303.                             Case AEE.MOVEEVENTCOMMAND.ME_TURN_AROUND
  304.                                 Print #1, " Turn around";
  305.                             Case AEE.MOVEEVENTCOMMAND.ME_TURN_RANDOMLY
  306.                                 Print #1, " Turn randomly";
  307.                             Case AEE.MOVEEVENTCOMMAND.ME_FACE_RANDOMLY
  308.                                 Print #1, " Face randomly";
  309.                             Case AEE.MOVEEVENTCOMMAND.ME_FACE_TOWARD_HERO
  310.                                 Print #1, " Face toward hero";
  311.                             Case AEE.MOVEEVENTCOMMAND.ME_FACE_AWAY_FROM_HERO
  312.                                 Print #1, " Face away from hero";
  313.                             Case AEE.MOVEEVENTCOMMAND.ME_WAIT
  314.                                 Print #1, " Wait";
  315.                             Case AEE.MOVEEVENTCOMMAND.ME_BEGIN_JUMP
  316.                                 Print #1, " Begin jump";
  317.                             Case AEE.MOVEEVENTCOMMAND.ME_END_JUMP
  318.                                 Print #1, " End jump";
  319.                             Case AEE.MOVEEVENTCOMMAND.ME_LOCK_FACING
  320.                                 Print #1, " Lock facing";
  321.                             Case AEE.MOVEEVENTCOMMAND.ME_UNLOCK_FACING
  322.                                 Print #1, " Unlock facing";
  323.                             Case AEE.MOVEEVENTCOMMAND.ME_INCREASE_SPEED
  324.                                 Print #1, " Increase speed";
  325.                             Case AEE.MOVEEVENTCOMMAND.ME_DECREASE_SPEED
  326.                                 Print #1, " Decrease speed";
  327.                             Case AEE.MOVEEVENTCOMMAND.ME_INCREASE_FREQUENCY
  328.                                 Print #1, " Increase frequency";
  329.                             Case AEE.MOVEEVENTCOMMAND.ME_DECREASE_FREQUENCY
  330.                                 Print #1, " Decrease frequency";
  331.                             Case AEE.MOVEEVENTCOMMAND.ME_SWITCH_ON
  332.                                 Print #1, " Switch [" & ev->Pages[i].MovementPattern->Commands[j].Switch_ID & "] ON";
  333.                             Case AEE.MOVEEVENTCOMMAND.ME_SWITCH_OFF
  334.                                 Print #1, " Switch [" & ev->Pages[i].MovementPattern->Commands[j].Switch_ID & "] OFF";
  335.                             Case AEE.MOVEEVENTCOMMAND.ME_CHANGE_GRAPHIC
  336.                                 Print #1, " Change graphic to " & *ev->Pages[i].MovementPattern->Commands[j].Sprite_Filename & " #" & ev->Pages[i].MovementPattern->Commands[j].Sprite_ID;
  337.                             Case AEE.MOVEEVENTCOMMAND.ME_PLAY_SE
  338.                                 Print #1, " Play SE " & *ev->Pages[i].MovementPattern->Commands[j].SE_Filename & " V" & ev->Pages[i].MovementPattern->Commands[j].SE_Volume & " T" & ev->Pages[i].MovementPattern->Commands[j].SE_Tempo & " B" & ev->Pages[i].MovementPattern->Commands[j].SE_Balance;
  339.                             Case AEE.MOVEEVENTCOMMAND.ME_PHASING_MODE_ON
  340.                                 Print #1, " Phasing mode on";
  341.                             Case AEE.MOVEEVENTCOMMAND.ME_PHASING_MODE_OFF
  342.                                 Print #1, " Phasing mode off";
  343.                             Case AEE.MOVEEVENTCOMMAND.ME_STOP_ANIMATION
  344.                                 Print #1, " Stop animation";
  345.                             Case AEE.MOVEEVENTCOMMAND.ME_RESUME_ANIMATION
  346.                                 Print #1, " Resume animation";
  347.                             Case AEE.MOVEEVENTCOMMAND.ME_INCREASE_TRANSPARENCY
  348.                                 Print #1, " Increase transparency";
  349.                             Case AEE.MOVEEVENTCOMMAND.ME_DECREASE_TRANSPARENCY
  350.                                 Print #1, " Decrease transparency";
  351.                             Case Else
  352.                                 Print #1, " Command 0x" & Hex(ev->Pages[i].MovementPattern->Commands[j].Command);
  353.                         End Select
  354.                         Print #1, ""
  355.                     Next
  356.                     Print #1, " <>"
  357.                     Print #1, FormattingTemplate(_MOVEMENTPATTERN).After
  358.                     Print #1, "Repeat movement pattern: " & IIfStr(ev->Pages[i].MovementPattern->RepeatPattern, "Yes", "No")
  359.                     Print #1, "Ignore impossible movements: " & IIfStr(ev->Pages[i].MovementPattern->IgnoreImpossible, "Yes", "No")
  360.                 EndIf
  361.             EndIf
  362.         EndIf
  363.         Print #1, FormattingTemplate(_HEADER_SCRIPT).Before;
  364.         Print #1, "- SCRIPT -";
  365.         Print #1, FormattingTemplate(_HEADER_SCRIPT).After
  366.         Print #1, FormattingTemplate(_CODE).Before;
  367.         For j As Integer = 0 To ev->Pages[i].CommandsAmount - 1
  368.             For k As Integer = 1 To ev->Pages[i].Commands[j].TreeDepth
  369.                 Print #1, FormattingTemplate(_INDENT).Before & " " & FormattingTemplate(_INDENT).After;
  370.             Next
  371.             If Abs(ev->Pages[i].Commands[j].Command) < &hFFF0 Then Print #1, FormattingTemplate(Abs(ev->Pages[i].Commands[j].Command)).Before;
  372.             With ev->Pages[i].Commands[j]
  373.                 Select Case .Command
  374.                     Case AEE.EVCMD_FREE_LINE
  375.                         Print #1, "<>"
  376.                     Case AEE.EVCMD_SHOW_MESSAGE
  377.                         Print #1, "<> Show Message: " & *.NameBlock
  378.                     Case AEE.EVCMD_ADD_LINE_TO_MESSAGE
  379.                         Print #1, ":        " & *.NameBlock
  380.                     Case AEE.EVCMD_MESSAGE_OPTIONS
  381.                         Print #1, "<> Message Style: " & IIfStr(.Params[0], "Transparent", "Normal") & ", " & IIfStr(.Params[1], IIfStr(.Params[1] = 2, "Bottom", "Center"), "Top") & ", " & IIfStr(.Params[2], "Auto Pos.", "Fixed Pos.") & ", " & IIfStr(.Params[3], "Don't halt processes", "Halt processes")
  382.                     Case AEE.EVCMD_SELECT_FACE
  383.                         Print #1, "<> Select Face: ";
  384.                         If .NameBlock <> NULL Then Print #1, *.NameBlock & " #" & .Params[0] & ", " & IIfStr(.Params[1], "Right", "Left") & IIfStr(.Params[2], ", Mirrored", "") Else Print #1, "Erase"
  385.                     Case AEE.EVCMD_SHOW_CHOICE
  386.                         Print #1, "<> Show Choices: " & *.NameBlock & IIfStr(.Params[0] = 5, "", IIfStr(.Params[0], " (Option #" & .Params[0] & " as default)", " (Ignore cancel)"))
  387.                     Case AEE.EVCMD_CHOICE_CASE
  388.                         Print #1, ": " & IIfStr(.NameBlock <> NULL, "[" & *.NameBlock & "]", "Cancel") & " Handler" & IIfStr(.Params[0] = 4, "", " (Option #" & .Params[0] + 1 & ")")
  389.                     Case AEE.EVCMD_CHOICE_END
  390.                         Print #1, ": End of choice"
  391.                     Case AEE.EVCMD_INPUT_NUMBER
  392.                         Print #1, "<> Input Number: " & .Params[0] & " digits, Store in var. [" & .Params[1] & "]"
  393.                     Case AEE.EVCMD_CHANGE_SWITCH
  394.                         Print #1, "<> Change Switch: [" & IIfStr(.Params[0] = 2, "V[" & .Params[1] & "]", IIfStr(.Params[0], "" & .Params[1] & "-" & .Params[2], "" & .Params[1])) & "]" & IIfStr(.Params[3] = 2, ", Toggle", IIfStr(.Params[3], " = OFF", " = ON"))
  395.                     Case AEE.EVCMD_CHANGE_VARIABLE
  396.                         Print #1, "<> Change Variable: [" & IIfStr(.Params[0] = 2, "V[" & .Params[1] & "]", IIfStr(.Params[0], "" & .Params[1] & "-" & .Params[2], "" & .Params[1])) & "]";
  397.                         Select Case .Params[3]
  398.                             Case 0
  399.                                 Print #1, " = ";
  400.                             Case 1
  401.                                 Print #1, " += ";
  402.                             Case 2
  403.                                 Print #1, " -= ";
  404.                             Case 3
  405.                                 Print #1, " *= ";
  406.                             Case 4
  407.                                 Print #1, " /= ";
  408.                             Case 5
  409.                                 Print #1, " Mod= ";
  410.                             Case Else
  411.                                 Print #1, " ???=" ;
  412.                         End Select
  413.                         Select Case .Params[4]
  414.                             Case 0
  415.                                 Print #1, "" & .Params[5]
  416.                             Case 1
  417.                                 Print #1, "V[" & .Params[5] & "]"
  418.                             Case 2
  419.                                 Print #1, "V[V[" & .Params[5] & "]]"
  420.                             Case 3
  421.                                 Print #1, "Random [" & .Params[5] & "-" & .Params[6] & "]"
  422.                             Case 4
  423.                                 Print #1, "Amount of item #" & .Params[5] & " " & IIfStr(.Params[6], "equipped", "owned")
  424.                             Case 5
  425.                                 Select Case .Params[6]
  426.                                     Case 0
  427.                                         Print #1, "Level";
  428.                                     Case 1
  429.                                         Print #1, "EXP";
  430.                                     Case 2
  431.                                         Print #1, "HP";
  432.                                     Case 3
  433.                                         Print #1, "MP";
  434.                                     Case 4
  435.                                         Print #1, "Max. HP";
  436.                                     Case 5
  437.                                         Print #1, "Max. MP";
  438.                                     Case 6
  439.                                         Print #1, "ATK";
  440.                                     Case 7
  441.                                         Print #1, "DEF";
  442.                                     Case 8
  443.                                         Print #1, "INT";
  444.                                     Case 9
  445.                                         Print #1, "AGI";
  446.                                     Case 10
  447.                                         Print #1, "Weapon ID";
  448.                                     Case 11
  449.                                         Print #1, "Shield ID";
  450.                                     Case 12
  451.                                         Print #1, "Armor ID";
  452.                                     Case 13
  453.                                         Print #1, "Helmet ID";
  454.                                     Case 14
  455.                                         Print #1, "Accessory ID";
  456.                                     Case Else
  457.                                         Print #1, "???";
  458.                                 End Select
  459.                                 Print #1, " of hero #" & .Params[5]
  460.                             Case 6
  461.                                 Select Case .Params[6]
  462.                                     Case 0
  463.                                         Print #1, "Map ID";
  464.                                     Case 1
  465.                                         Print #1, "X position on map (tiles)";
  466.                                     Case 2
  467.                                         Print #1, "Y position on map (tiles)";
  468.                                     Case 3
  469.                                         Print #1, "Facing direction";
  470.                                     Case 4
  471.                                         Print #1, "X position on screen (pixels)";
  472.                                     Case 5
  473.                                         Print #1, "Y position on screen (pixels)";
  474.                                     Case Else
  475.                                         Print #1, "???";
  476.                                 End Select
  477.                                 Print #1, " of ";
  478.                                 Select Case .Params[5]
  479.                                     Case AEE.EV_HERO
  480.                                         Print #1, "hero"
  481.                                     Case AEE.EV_BOAT
  482.                                         Print #1, "boat"
  483.                                     Case AEE.EV_SHIP
  484.                                         Print #1, "ship"
  485.                                     Case AEE.EV_AIRSHIP
  486.                                         Print #1, "airship"
  487.                                     Case AEE.EV_THIS
  488.                                         Print #1, "this event"
  489.                                     Case Else
  490.                                         Print #1, "event #" & .Params[5]
  491.                                 End Select
  492.                             Case 7
  493.                                 Select Case .Params[5]
  494.                                     Case 0
  495.                                         Print #1, "Money"
  496.                                     Case 1
  497.                                         Print #1, "Seconds remaining of timer 1"
  498.                                     Case 2
  499.                                         Print #1, "Party size"
  500.                                     Case 3
  501.                                         Print #1, "Number of saves"
  502.                                     Case 4
  503.                                         Print #1, "Number of battles"
  504.                                     Case 5
  505.                                         Print #1, "Number of victories"
  506.                                     Case 6
  507.                                         Print #1, "Number of defeats"
  508.                                     Case 7
  509.                                         Print #1, "Number of escapes"
  510.                                     Case 8
  511.                                         Print #1, "MIDI position (ticks)"
  512.                                     Case 9
  513.                                         Print #1, "Seconds remaining of timer 2"
  514.                                 End Select
  515.                             Case 8
  516.                                 Select Case .Params[6]
  517.                                     Case 0
  518.                                         Print #1, "HP";
  519.                                     Case 1
  520.                                         Print #1, "MP";
  521.                                     Case 2
  522.                                         Print #1, "Max. HP";
  523.                                     Case 3
  524.                                         Print #1, "Max. MP";
  525.                                     Case 4
  526.                                         Print #1, "ATK";
  527.                                     Case 5
  528.                                         Print #1, "DEF";
  529.                                     Case 6
  530.                                         Print #1, "INT";
  531.                                     Case 7
  532.                                         Print #1, "AGI";
  533.                                     Case Else
  534.                                         Print #1, "???";
  535.                                 End Select
  536.                                 Print #1, " of enemy #" & .Params[5] + 1
  537.                             Case Else
  538.                                 Print #1, "??? (" & .Params[4] & ")"
  539.                         End Select
  540.                     Case AEE.EVCMD_CHANGE_TIMER
  541.                         Print #1, "<> Change Timer: ";
  542.                         Select Case .Params[0]
  543.                             Case 0
  544.                                 Print #1, "Set timer " & IIfStr(.Params[5], "2", "1") & " to ";
  545.                                 If .Params[1] Then
  546.                                     Print #1, "V[" & .Params[2] & "] sec."
  547.                                 Else
  548.                                     Print #1, "" & .Params[2] \ 60 & "'" & .Params[2] Mod 60 & """"
  549.                                 EndIf
  550.                             Case 1
  551.                                 Print #1, "Start timer " & IIfStr(.ParamsAmount >= 5 AndAlso .Params[5] = 1, "2", "1") & IIfStr(.Params[3], ", Display on screen", "") & IIfStr(.Params[4], ", Keep running in battle", "")
  552.                             Case 2
  553.                                 Print #1, "Stop timer " & IIfStr(.ParamsAmount >= 5 AndAlso .Params[5] = 1, "2", "1")
  554.                             Case Else
  555.                                 Print #1, "???"
  556.                         End Select
  557.                     Case AEE.EVCMD_CHANGE_MONEY
  558.                         Print #1, "<> Change Money: " & IIfStr(.Params[0], "Remove ", "Add ") & IIfStr(.Params[1], "V[" & .Params[2] & "] ", "" & .Params[2]) & "$"
  559.                     Case AEE.EVCMD_CHANGE_ITEMS
  560.                         Print #1, "<> Change Items: " & IIfStr(.Params[0], "Remove ", "Add ") & IIfStr(.Params[3], "V[" & .Params[4] & "]", "" & .Params[4]) & " piece" & IIfStr(.Params[4] = 1 And .Params[3] = 0, "", "s") & " of item " & IIfStr(.Params[1], "V[" & .Params[2] & "] ", "#" & .Params[2])
  561.                     Case AEE.EVCMD_CHANGE_PARTY
  562.                         Print #1, "<> Change Party: " & IIfStr(.Params[0], "Remove ", "Add ") & "hero " & IIfStr(.Params[1], "V[" & .Params[2] & "] ", "#" & .Params[2])
  563.                     Case AEE.EVCMD_CHANGE_EXP
  564.                         Print #1, "<> Change EXP: " & IIfStr(.Params[2], "Decrease ", "Increase ") & "EXP of " & IIfStr(.Params[0] = 0, "entire party", "hero " & IIfStr(.Params[0] = 2, "V[" & .Params[1] & "] ", "#" & .Params[1])) & " by " & IIfStr(.Params[3], "V[" & .Params[4] & "]", "" & .Params[4]) & " points" & IIfStr(.Params[5] = 1 And .Params[2] = 0, ", Show level-up", "")
  565.                     Case AEE.EVCMD_CHANGE_LEVEL
  566.                         Print #1, "<> Change Level: " & IIfStr(.Params[2], "Decrease ", "Increase ") & "level of " & IIfStr(.Params[0] = 0, "entire party", "hero " & IIfStr(.Params[0] = 2, "V[" & .Params[1] & "] ", "#" & .Params[1])) & " by " & IIfStr(.Params[3], "V[" & .Params[4] & "]", "" & .Params[4]) & IIfStr(.Params[5] = 1 And .Params[2] = 0, ", Show level-up", "")
  567.                     Case AEE.EVCMD_CHANGE_STATS
  568.                         Print #1, "<> Change Ability: " & IIfStr(.Params[2], "Decrease ", "Increase ");
  569.                         Select Case .Params[3]
  570.                             Case 0
  571.                                 Print #1, "Max. HP";
  572.                             Case 1
  573.                                 Print #1, "Max. MP";
  574.                             Case 2
  575.                                 Print #1, "ATK";
  576.                             Case 3
  577.                                 Print #1, "DEF";
  578.                             Case 4
  579.                                 Print #1, "INT";
  580.                             Case 5
  581.                                 Print #1, "AGI";
  582.                             Case Else
  583.                                 Print #1, "???";
  584.                         End Select
  585.                         Print #1, " of " & IIfStr(.Params[0] = 0, "entire party", "hero " & IIfStr(.Params[0] = 2, "V[" & .Params[1] & "]", "#" & .Params[1])) & " by " & IIfStr(.Params[4], "V[" & .Params[5] & "]", "" & .Params[5]) & " points"
  586.                     Case AEE.EVCMD_CHANGE_SKILL
  587.                         Print #1, "<> Change Skill: " & IIfStr(.Params[0] = 0, "Entire party", "Hero " & IIfStr(.Params[0] = 2, "V[" & .Params[1] & "]", "#" & .Params[1])) & ", " & IIfStr(.Params[2], "Learn ", "Forget ") & "skill " & IIfStr(.Params[3], "V[" & .Params[4] & "]", "#" & .Params[4])
  588.                     Case AEE.EVCMD_CHANGE_EQUIPMENT
  589.                         Print #1, "<> Change Equipment: " & IIfStr(.Params[0] = 0, "Entire party", "Hero " & IIfStr(.Params[0] = 2, "V[" & .Params[1] & "]", "#" & .Params[1])) & ", ";
  590.                         If .Params[2] Then
  591.                             Print #1, "Remove";
  592.                             Select Case .Params[3]
  593.                                 Case 0
  594.                                     Print #1, " weapon";
  595.                                 Case 1
  596.                                     Print #1, " shield";
  597.                                 Case 2
  598.                                     Print #1, " armor";
  599.                                 Case 3
  600.                                     Print #1, " helmet";
  601.                                 Case 4
  602.                                     Print #1, " accessor" & IIfStr(.Params[0] = 0, "ie", "y");
  603.                                 Case 5
  604.                                     Print #1, " all equipment";
  605.                                 Case Else
  606.                                     Print #1, " ???";
  607.                             End Select
  608.                             If .Params[0] = 0 And .Params[3] <= 4 Then Print #1, "s" Else Print #1,
  609.                         Else
  610.                             Print #1, "Equip item " & IIfStr(.Params[3], "V[" & .Params[4] & "] ", "#" & .Params[4])
  611.                         EndIf
  612.                     Case AEE.EVCMD_CHANGE_HP
  613.                         Print #1, "<> Change HP: " & IIfStr(.Params[2], "Decrease ", "Increase ") & "HP of " & IIfStr(.Params[0] = 0, "entire party", "hero " & IIfStr(.Params[0] = 2, "V[" & .Params[1] & "] ", "#" & .Params[1])) & " by " & IIfStr(.Params[3], "V[" & .Params[4] & "]", "" & .Params[4]) & " points" & IIfStr(.Params[5] = 1 And .Params[2] = 1, ", Allow death", "")
  614.                     Case AEE.EVCMD_CHANGE_MP
  615.                         Print #1, "<> Change MP: " & IIfStr(.Params[2], "Decrease ", "Increase ") & "MP of " & IIfStr(.Params[0] = 0, "entire party", "hero " & IIfStr(.Params[0] = 2, "V[" & .Params[1] & "] ", "#" & .Params[1])) & " by " & IIfStr(.Params[3], "V[" & .Params[4] & "]", "" & .Params[4]) & " points"
  616.                     Case AEE.EVCMD_CHANGE_CONDITION
  617.                         Print #1, "<> Change Condition: " & IIfStr(.Params[0] = 0, "Entire party", "Hero " & IIfStr(.Params[0] = 2, "V[" & .Params[1] & "]", "#" & .Params[1])) & ", " & IIfStr(.Params[2] = 0, "Inflict ", "Cure ") & "condition #" & .Params[3]
  618.                     Case AEE.EVCMD_FULL_RECOVERY
  619.                         Print #1, "<> Full Recovery: " & IIfStr(.Params[0] = 0, "Entire party", "Hero " & IIfStr(.Params[0] = 2, "V[" & .Params[1] & "]", "#" & .Params[1]))
  620.                     Case AEE.EVCMD_INFLICT_DAMAGE
  621.                         Print #1, "<> Inflict Damage: " & IIfStr(.Params[0] = 0, "Entire party", "Hero " & IIfStr(.Params[0] = 2, "V[" & .Params[1] & "]", "#" & .Params[1])) & ", Attack pwr. " & .Params[2] & ", Def. chance" & .Params[3] & "%, Mind chance" & .Params[4] & "%, V" & .Params[5] & IIfStr(.Params[6], ", Store in var. [" & .Params[7] & "]", "")
  622.                     Case AEE.EVCMD_CHANGE_HERO_NAME
  623.                         Print #1, "<> Change Hero Name: Hero #" & .Params[0] & " -> " & *.NameBlock
  624.                     Case AEE.EVCMD_CHANGE_HERO_TITLE
  625.                         Print #1, "<> Change Hero Title: Hero #" & .Params[0] & " -> " & *.NameBlock
  626.                     Case AEE.EVCMD_CHANGE_HERO_GRAPHIC
  627.                         Print #1, "<> Change Hero Graphic: Hero #" & .Params[0] & " -> " & *.NameBlock & " #" & .Params[1] & IIfStr(.Params[2], ", Transparent", "")
  628.                     Case AEE.EVCMD_CHANGE_HERO_FACE
  629.                         Print #1, "<> Change Hero Face: Hero #" & .Params[0] & " -> " & *.NameBlock & " #" & .Params[1]
  630.                     Case AEE.EVCMD_CHANGE_VEHICLE_GRAPHIC
  631.                         Print #1, "<> Change Vehicle Graphic: " & IIfStr(.Params[0] = 2, "Airship", IIfStr(.Params[0], "Ship", "Boat")) & " -> " & *.NameBlock & " #" & .Params[1]
  632.                     Case AEE.EVCMD_CHANGE_SYSTEM_BGM
  633.                         Print #1, "<> Change System BGM: ";
  634.                         Select Case .Params[0]
  635.                             Case 0
  636.                                 Print #1, "Battle";
  637.                             Case 1
  638.                                 Print #1, "Victory";
  639.                             Case 2
  640.                                 Print #1, "Boat";
  641.                             Case 3
  642.                                 Print #1, "Ship";
  643.                             Case 4
  644.                                 Print #1, "Airship";
  645.                             Case 5
  646.                                 Print #1, "Game over";
  647.                             Case Else
  648.                                 Print #1, "???";
  649.                         End Select
  650.                         Print #1, " -> " & *.NameBlock & ", Volume " & .Params[2] & "%, Speed " & .Params[3] & "%, Pan " & IIfStr(.Params[4] <> 50, IIfStr(.Params[4] > 50, "R " & .Params[4] * 2 - 100, "L " & 100 - .Params[4] * 2) & "%", "Center") & IIfStr(.Params[1], ", Fade in " & .Params[1] / 1000 & " sec.", "")
  651.                     Case AEE.EVCMD_CHANGE_SYSTEM_SE
  652.                         Print #1, "<> Change System SE: ";
  653.                         Select Case .Params[0]
  654.                             Case 0
  655.                                 Print #1, "Cursor";
  656.                             Case 1
  657.                                 Print #1, "Decision";
  658.                             Case 2
  659.                                 Print #1, "Cancel";
  660.                             Case 3
  661.                                 Print #1, "Buzzer";
  662.                             Case 4
  663.                                 Print #1, "Battle start";
  664.                             Case 5
  665.                                 Print #1, "Escape";
  666.                             Case 6
  667.                                 Print #1, "Attack";
  668.                             Case 7
  669.                                 Print #1, "Damage enemy";
  670.                             Case 8
  671.                                 Print #1, "Damage hero";
  672.                             Case 9
  673.                                 Print #1, "Evade";
  674.                             Case 10
  675.                                 Print #1, "Death";
  676.                             Case 11
  677.                                 Print #1, "Item";
  678.                             Case Else
  679.                                 Print #1, "???";
  680.                         End Select
  681.                         Print #1, " -> " & *.NameBlock & ", Volume " & .Params[1] & "%, Speed " & .Params[2] & "%, Pan " & IIfStr(.Params[3] <> 50, IIfStr(.Params[3] > 50, "R " & .Params[3] * 2 - 100, "L " & 100 - .Params[3] * 2) & "%", "Center")
  682.                     Case AEE.EVCMD_CHANGE_SYSTEM_GRAPHIC
  683.                         Print #1, "<> Change System Graphic: " & *.NameBlock & ", " & IIfStr(.Params[0], "Tiled", "Stretched") & ", " & IIfStr(.Params[1], "RM2000/MS Mincho", "RMG2000/MS Gothic")
  684.                     Case AEE.EVCMD_CHANGE_TRANSITION
  685.                         Print #1, "<> Change Transition: ";
  686.                         Select Case .Params[0]
  687.                             Case 0
  688.                                 Print #1, "Erase on teleport";
  689.                             Case 1
  690.                                 Print #1, "Show on teleport";
  691.                             Case 2
  692.                                 Print #1, "Erase on battle start";
  693.                             Case 3
  694.                                 Print #1, "Show on battle start";
  695.                             Case 4
  696.                                 Print #1, "Erase on battle end";
  697.                             Case 5
  698.                                 Print #1, "Show on battle end";
  699.                             Case Else
  700.                                 Print #1, "???";
  701.                         End Select
  702.                         Print #1, " -> ";
  703.                         Select Case .Params[1]
  704.                             Case 0
  705.                                 Print #1, "Fade"
  706.                             Case 1
  707.                                 Print #1, "Dissolve"
  708.                             Case 2
  709.                                 Print #1, "Dissolve up"
  710.                             Case 3
  711.                                 Print #1, "Dissolve down"
  712.                             Case 4
  713.                                 Print #1, "Blinds"
  714.                             Case 5
  715.                                 Print #1, "Vertical stripes"
  716.                             Case 6
  717.                                 Print #1, "Horizontal stripes"
  718.                             Case 7
  719.                                 Print #1, "Reciding square"
  720.                             Case 8
  721.                                 Print #1, "Expanding square"
  722.                             Case 9
  723.                                 Print #1, "Shift up"
  724.                             Case 10
  725.                                 Print #1, "Shift down"
  726.                             Case 11
  727.                                 Print #1, "Shift left"
  728.                             Case 12
  729.                                 Print #1, "Shift right"
  730.                             Case 13
  731.                                 Print #1, "Vertical split"
  732.                             Case 14
  733.                                 Print #1, "Horizontal split"
  734.                             Case 15
  735.                                 Print #1, "4-way split"
  736.                             Case 16
  737.                                 Print #1, "Zoom"
  738.                             Case 17
  739.                                 Print #1, "Mosaic"
  740.                             Case 18
  741.                                 Print #1, "Waver screen"
  742.                             Case 19
  743.                                 Print #1, "Instant"
  744.                             Case 20
  745.                                 Print #1, "None"
  746.                             Case Else
  747.                                 Print #1, "???"
  748.                         End Select
  749.                     Case AEE.EVCMD_START_COMBAT
  750.                         Print #1, "<> Start Combat: Monster group " & IIfStr(.Params[0], "V[" & .Params[1] & "]", "#" & .Params[1]);
  751.                         If .ParamsAmount > 6 Then
  752.                             Select Case .Params[6]
  753.                                 Case 0
  754.                                     ' nothing
  755.                                 Case 1
  756.                                     Print #1, ", Initiative";
  757.                                 Case 2
  758.                                     Print #1, ", Back attack";
  759.                                 Case 3
  760.                                     Print #1, ", Surround attack";
  761.                                 Case 4
  762.                                     Print #1, ", Pincers attack";
  763.                                 Case Else
  764.                                     Print #1, ", ???";
  765.                             End Select
  766.                         EndIf
  767.                         If .Params[2] = 1 Then Print #1, ", Backdrop " & *.NameBlock;
  768.                         If .Params[2] = 1 And .ParamsAmount > 6 Then
  769.                             If .Params[7] = 2 Then Print #1, ", Tight formation"; Else Print #1, ", Loose formation";
  770.                         EndIf
  771.                         If .Params[2] = 2 Then Print #1, ", Backdrop as in terrain #" & .Params[8];
  772.                         Select Case .Params[3]
  773.                             Case 0
  774.                                 Print #1, ", Escape disabled";
  775.                             Case 1
  776.                                 Print #1, ", Stop event on escape";
  777.                             Case 2
  778.                                 Print #1, ", Custom escape handler";
  779.                             Case Else
  780.                                 Print #1, ", ??? (on escape)";
  781.                         End Select
  782.                         If .Params[4] Then Print #1, ", Custom defeat handler";
  783.                         If .Params[5] Then Print #1, ", First strike";
  784.                         Print #1, ""
  785.                     Case AEE.EVCMD_BATTLE_VICTORY
  786.                         Print #1, ": Victory handler"
  787.                     Case AEE.EVCMD_BATTLE_ESCAPE
  788.                         Print #1, ": Escape handler"
  789.                     Case AEE.EVCMD_BATTLE_DEFEAT
  790.                         Print #1, ": Defeat handler"
  791.                     Case AEE.EVCMD_BATTLE_END
  792.                         Print #1, ": End of battle handlers"
  793.                     Case AEE.EVCMD_CALL_SHOP
  794.                         Print #1, "<> Call Shop: ";
  795.                         Select Case .Params[0]
  796.                             Case 0 
  797.                                 Print #1, "Buy and sell";
  798.                             Case 1
  799.                                 Print #1, "Buy only";
  800.                             Case 2
  801.                                 Print #1, "Sell only";
  802.                             Case Else
  803.                                 Print #1, "??? (shop type)";
  804.                         End Select
  805.                         Print #1, ", Style " & Chr(65 + .Params[1]);
  806.                         If .Params[2] Then Print #1, ", Use custom handlers";
  807.                         If .ParamsAmount > 4 And .Params[0] <> 2 Then
  808.                             Print #1, ", Items: ";
  809.                             For k As Integer = 4 To .ParamsAmount - 1
  810.                                 If k > 4 Then Print #1, ", ";
  811.                                 Print #1, "#" & .Params[k];
  812.                             Next
  813.                         EndIf
  814.                         Print #1, ""
  815.                     Case AEE.EVCMD_SHOP_TRANSACTION
  816.                         Print #1, ": Transaction handler"
  817.                     Case AEE.EVCMD_SHOP_CANCEL
  818.                         Print #1, ": Cancel handler"
  819.                     Case AEE.EVCMD_SHOP_END
  820.                         Print #1, ": End of shop handlers"
  821.                     Case AEE.EVCMD_CALL_INN
  822.                         Print #1, "<> Call Inn: Style " & Chr(65 + .Params[0]) & ", Cost " & .Params[1] & "$" & IIfStr(.Params[2], ", Use custom handlers", "")
  823.                     Case AEE.EVCMD_INN_REST
  824.                         Print #1, ": Stay handler"
  825.                     Case AEE.EVCMD_INN_CANCEL
  826.                         Print #1, ": Cancel handler"
  827.                     Case AEE.EVCMD_INN_END
  828.                         Print #1, ": End of inn handlers"
  829.                     Case AEE.EVCMD_ENTER_HERO_NAME
  830.                         Print #1, "<> Enter Hero Name: Hero #" & .Params[0] & ", " & IIfStr(.Params[1] = 1, "Hiragana/Alphanumeric as default", "Katakana/Symbols as default") & IIfStr(.Params[2], ", Show intial name", "")
  831.                     Case AEE.EVCMD_TELEPORT
  832.                         Print #1, "<> Teleport: Map #" & .Params[0] & ", (" & .Params[1] & ", " & .Params[2] & ")";
  833.                         If .ParamsAmount > 3 Then
  834.                             Select Case .Params[3]
  835.                                 Case 0
  836.                                     ' nothing
  837.                                 Case 1
  838.                                     Print #1, ", Face up";
  839.                                 Case 2
  840.                                     Print #1, ", Face right";
  841.                                 Case 3
  842.                                     Print #1, ", Face down";
  843.                                 Case 4
  844.                                     Print #1, ", Face left";
  845.                                 Case Else
  846.                                     Print #1, ", ??? (facing)";
  847.                             End Select
  848.                         EndIf
  849.                         Print #1, ""
  850.                     Case AEE.EVCMD_MEMORIZE_LOCATION
  851.                         Print #1, "<> Memorize Location: Map -> Var. [" & .Params[0] & "], X -> Var. [" & .Params[1] & "], Y -> Var. [" & .Params[2] & "]"
  852.                     Case AEE.EVCMD_GO_TO_MEMORIZED_LOCATION
  853.                         Print #1, "<> Go To Memorized Location: Map V[" & .Params[0] & "], (V[" & .Params[1] & "], V[" & .Params[2] & "])"
  854.                     Case AEE.EVCMD_RIDE_VEHICLE
  855.                         Print #1, "<> Ride/Dismount Vehicle"
  856.                     Case AEE.EVCMD_TELEPORT_VEHICLE
  857.                         Print #1, "<> Teleport Vehicle: " & IIfStr(.Params[0] = 2, "Airship", IIfStr(.Params[0], "Ship", "Boat")) & " -> Map " & IIfStr(.Params[1], "V[" & .Params[2] & "]", "#" & .Params[2]) & ", (" & IIfStr(.Params[1], "V[" & .Params[3] & "]", "" & .Params[3]) & ", " & IIfStr(.Params[1], "V[" & .Params[4] & "]", "" & .Params[4]) & ")";
  858.                         If .ParamsAmount > 5 Then
  859.                             Select Case .Params[5]
  860.                                 Case 0
  861.                                     ' nothing
  862.                                 Case 1
  863.                                     Print #1, ", Face up";
  864.                                 Case 2
  865.                                     Print #1, ", Face right";
  866.                                 Case 3
  867.                                     Print #1, ", Face down";
  868.                                 Case 4
  869.                                     Print #1, ", Face left";
  870.                                 Case Else
  871.                                     Print #1, ", ??? (facing)";
  872.                             End Select
  873.                         EndIf
  874.                         Print #1, ""
  875.                     Case AEE.EVCMD_SET_EVENT_LOCATION
  876.                         Print #1, "<> Set Event Location: " & IIfStr(.Params[0] = AEE.EV_THIS, "This event", "Event #" & .Params[0]) & " -> (" & IIfStr(.Params[1], "V[" & .Params[2] & "]", "" & .Params[2]) & ", " & IIfStr(.Params[1], "V[" & .Params[3] & "]", "" & .Params[3]) & ")";
  877.                         If .ParamsAmount > 4 Then
  878.                             Select Case .Params[4]
  879.                                 Case 0
  880.                                     ' nothing
  881.                                 Case 1
  882.                                     Print #1, ", Face up";
  883.                                 Case 2
  884.                                     Print #1, ", Face right";
  885.                                 Case 3
  886.                                     Print #1, ", Face down";
  887.                                 Case 4
  888.                                     Print #1, ", Face left";
  889.                                 Case Else
  890.                                     Print #1, ", ??? (facing)";
  891.                             End Select
  892.                         EndIf
  893.                         Print #1, ""
  894.                     Case AEE.EVCMD_SWAP_TWO_EVENT_LOCATIONS
  895.                         Print #1, "<> Swap Two Event Locations: " & IIfStr(.Params[0] = AEE.EV_THIS, "This event", "Event #" & .Params[0]) & " <-> " & IIfStr(.Params[1] = AEE.EV_THIS, "This event", "Event #" & .Params[1])
  896.                     Case AEE.EVCMD_GET_TERRAIN_ID
  897.                         Print #1, "<> Get Terrain ID: (" & IIfStr(.Params[0], "V[" & .Params[1] & "]", "" & .Params[1]) & ", " & IIfStr(.Params[0], "V[" & .Params[2] & "]", "" & .Params[2]) & "), Store in var. [" & .Params[3] & "]"
  898.                     Case AEE.EVCMD_GET_EVENT_ID
  899.                         Print #1, "<> Get Event ID: (" & IIfStr(.Params[0], "V[" & .Params[1] & "]", "" & .Params[1]) & ", " & IIfStr(.Params[0], "V[" & .Params[2] & "]", "" & .Params[2]) & "), Store in var. [" & .Params[3] & "]"
  900.                     Case AEE.EVCMD_ERASE_SCREEN
  901.                         Print #1, "<> Erase Screen: ";
  902.                         Select Case .Params[0]
  903.                             Case -1
  904.                                 Print #1, "Default"
  905.                             Case 0
  906.                                 Print #1, "Fade"
  907.                             Case 1
  908.                                 Print #1, "Dissolve"
  909.                             Case 2
  910.                                 Print #1, "Dissolve up"
  911.                             Case 3
  912.                                 Print #1, "Dissolve down"
  913.                             Case 4
  914.                                 Print #1, "Blinds"
  915.                             Case 5
  916.                                 Print #1, "Vertical stripes"
  917.                             Case 6
  918.                                 Print #1, "Horizontal stripes"
  919.                             Case 7
  920.                                 Print #1, "Reciding square"
  921.                             Case 8
  922.                                 Print #1, "Expanding square"
  923.                             Case 9
  924.                                 Print #1, "Shift up"
  925.                             Case 10
  926.                                 Print #1, "Shift down"
  927.                             Case 11
  928.                                 Print #1, "Shift left"
  929.                             Case 12
  930.                                 Print #1, "Shift right"
  931.                             Case 13
  932.                                 Print #1, "Vertical split"
  933.                             Case 14
  934.                                 Print #1, "Horizontal split"
  935.                             Case 15
  936.                                 Print #1, "4-way split"
  937.                             Case 16
  938.                                 Print #1, "Zoom"
  939.                             Case 17
  940.                                 Print #1, "Mosaic"
  941.                             Case 18
  942.                                 Print #1, "Waver screen"
  943.                             Case 19
  944.                                 Print #1, "Instant"
  945.                             Case 20
  946.                                 Print #1, "None"
  947.                             Case Else
  948.                                 Print #1, "???"
  949.                         End Select
  950.                     Case AEE.EVCMD_SHOW_SCREEN
  951.                         Print #1, "<> Show Screen: ";
  952.                         Select Case .Params[0]
  953.                             Case -1
  954.                                 Print #1, "Default"
  955.                             Case 0
  956.                                 Print #1, "Fade"
  957.                             Case 1
  958.                                 Print #1, "Dissolve"
  959.                             Case 2
  960.                                 Print #1, "Dissolve up"
  961.                             Case 3
  962.                                 Print #1, "Dissolve down"
  963.                             Case 4
  964.                                 Print #1, "Blinds"
  965.                             Case 5
  966.                                 Print #1, "Vertical stripes"
  967.                             Case 6
  968.                                 Print #1, "Horizontal stripes"
  969.                             Case 7
  970.                                 Print #1, "Reciding square"
  971.                             Case 8
  972.                                 Print #1, "Expanding square"
  973.                             Case 9
  974.                                 Print #1, "Shift up"
  975.                             Case 10
  976.                                 Print #1, "Shift down"
  977.                             Case 11
  978.                                 Print #1, "Shift left"
  979.                             Case 12
  980.                                 Print #1, "Shift right"
  981.                             Case 13
  982.                                 Print #1, "Vertical split"
  983.                             Case 14
  984.                                 Print #1, "Horizontal split"
  985.                             Case 15
  986.                                 Print #1, "4-way split"
  987.                             Case 16
  988.                                 Print #1, "Zoom"
  989.                             Case 17
  990.                                 Print #1, "Mosaic"
  991.                             Case 18
  992.                                 Print #1, "Waver screen"
  993.                             Case 19
  994.                                 Print #1, "Instant"
  995.                             Case 20
  996.                                 Print #1, "None"
  997.                             Case Else
  998.                                 Print #1, "???"
  999.                         End Select
  1000.                     Case AEE.EVCMD_SET_SCREEN_TONE
  1001.                         Print #1, "<> Set Screen Tone: (R" & .Params[0] & ", B" & .Params[1] & ", G" & .Params[2] & ", C" & .Params[3] & "), " & Format(.Params[4] / 10, "0.0") & " sec." & IIfStr(.Params[5], ", Wait", "")
  1002.                     Case AEE.EVCMD_FLASH_SCREEN
  1003.                         Print #1, "<> Flash Screen: ";
  1004.                         Select Case .Params[6]
  1005.                             Case 0
  1006.                                 Print #1, "Once, (R" & .Params[0] & ", B" & .Params[1] & ", G" & .Params[2] & ", S" & .Params[3] & "), " & Format(.Params[4] / 10, "0.0") & " sec." & IIfStr(.Params[5], ", Wait", "")
  1007.                             Case 1
  1008.                                 Print #1, "Begin, (R" & .Params[0] & ", B" & .Params[1] & ", G" & .Params[2] & ", S" & .Params[3] & "), " & Format(.Params[4] / 10, "0.0") & " sec."
  1009.                             Case 2
  1010.                                 Print #1, "Cease"
  1011.                         End Select
  1012.                     Case AEE.EVCMD_SHAKE_SCREEN
  1013.                         Print #1, "<> Shake Screen: ";
  1014.                         Select Case .Params[4]
  1015.                             Case 0
  1016.                                 Print #1, "Once, Pwr " & .Params[0] & ", Spd " & .Params[1] & ", " & Format(.Params[2] / 10, "0.0") & " sec." & IIfStr(.Params[3], ", Wait", "")
  1017.                             Case 1
  1018.                                 Print #1, "Begin, Pwr " & .Params[0] & ", Spd " & .Params[1] & ", " & Format(.Params[2] / 10, "0.0") & " sec."
  1019.                             Case 2
  1020.                                 Print #1, "Cease"
  1021.                         End Select
  1022.                     Case AEE.EVCMD_PAN_SCREEN
  1023.                         Print #1, "<> Pan Screen: ";
  1024.                         Select Case .Params[0]
  1025.                             Case 0
  1026.                                 Print #1, "Lock position"
  1027.                             Case 1
  1028.                                 Print #1, "Unlock position"
  1029.                             Case 2
  1030.                                 Print #1, "Move " & .Params[2] & " tiles ";
  1031.                                 Select Case .Params[1]
  1032.                                     Case 0
  1033.                                         Print #1, "up";
  1034.                                     Case 1
  1035.                                         Print #1, "right";
  1036.                                     Case 2
  1037.                                         Print #1, "down";
  1038.                                     Case 3
  1039.                                         Print #1, "left";
  1040.                                     Case Else
  1041.                                         Print #1, "??? (direction)";
  1042.                                 End Select
  1043.                                 Print #1, ", Speed " & .Params[3] & IIfStr(.Params[4], ", Wait", "")
  1044.                             Case 3
  1045.                                 Print #1, "Move to origin, Speed " & .Params[3] & IIfStr(.Params[4], ", Wait", "")
  1046.                         End Select
  1047.                     Case AEE.EVCMD_WEATHER_EFFECTS
  1048.                         Print #1, "<> Weather Effects: ";
  1049.                         Select Case .Params[0]
  1050.                             Case 0
  1051.                                 Print #1, "None"
  1052.                             Case 1
  1053.                                 Print #1, "Rain";
  1054.                             Case 2
  1055.                                 Print #1, "Snow";
  1056.                             Case 3
  1057.                                 Print #1, "Fog";
  1058.                             Case 4
  1059.                                 Print #1, "Sandstorm";
  1060.                             Case Else
  1061.                                 Print #1, "???"
  1062.                         End Select
  1063.                         If .Params[0] Then
  1064.                             Select Case .Params[1]
  1065.                                 Case 0
  1066.                                     Print #1, ", Weak"
  1067.                                 Case 1
  1068.                                     Print #1, ", Medium"
  1069.                                 Case 2
  1070.                                     Print #1, ", Strong"
  1071.                                 Case Else
  1072.                                     Print #1, ", ???"
  1073.                             End Select
  1074.                         EndIf
  1075.                     Case AEE.EVCMD_SHOW_PICTURE
  1076.                         Print #1, "<> Show Picture: #" & .Params[0] & ", " & IIfStr(.NameBlock <> NULL, *.NameBlock, "<no file>") & ", " & IIfStr(.Params[1], "(V[" & .Params[2] & "], V[" & .Params[3] & "])", "(" & .Params[2] & ", " & .Params[3] & ")");
  1077.                         If .Params[4] Then Print #1, ", Move w/ map";
  1078.                         Print #1, ", Mgn " & .Params[5] & "%, Tsp " & .Params[6] & "%";
  1079.                         If .ParamsAmount > 14 Then Print #1, "/" & .Params[14] & "%";
  1080.                         If .Params[7] = 0 Then Print #1, ", No trans. color";
  1081.                         If .Params[8] <> 100 Or .Params[9] <> 100 Or .Params[10] <> 100 Or .Params[11] <> 100 Then Print #1, ", (R" & .Params[8] & "%, G" & .Params[9] & "%, B" & .Params[10] & "%, C" & .Params[11] & "%)";
  1082.                         Select Case .Params[12]
  1083.                             Case 0
  1084.                                 ' Do nothing
  1085.                             Case 1
  1086.                                 Print #1, ", Spin " & .Params[13];
  1087.                             Case 2
  1088.                                 Print #1, ", Ripple " & .Params[13];
  1089.                             Case Else
  1090.                                 Print #1, ", ??? (effect) " & .Params[13];
  1091.                         End Select
  1092.                         Print #1, ""
  1093.                     Case AEE.EVCMD_MOVE_PICTURE
  1094.                         Print #1, "<> Move Picture: #" & .Params[0] & ", " & IIfStr(.Params[1], "(V[" & .Params[2] & "], V[" & .Params[3] & "])", "(" & .Params[2] & ", " & .Params[3] & ")");
  1095.                         Print #1, ", Mgn " & .Params[5] & "%, Tsp " & .Params[6] & "%";
  1096.                         If .ParamsAmount > 16 Then Print #1, "/" & .Params[16] & "%";
  1097.                         If .Params[8] <> 100 Or .Params[9] <> 100 Or .Params[10] <> 100 Or .Params[11] <> 100 Then Print #1, ", (R" & .Params[8] & "%, G" & .Params[9] & "%, B" & .Params[10] & "%, C" & .Params[11] & "%)";
  1098.                         Select Case .Params[12]
  1099.                             Case 0
  1100.                                 ' Do nothing
  1101.                             Case 1
  1102.                                 Print #1, ", Spin " & .Params[13];
  1103.                             Case 2
  1104.                                 Print #1, ", Ripple " & .Params[13];
  1105.                             Case Else
  1106.                                 Print #1, ", ??? (effect) " & .Params[13];
  1107.                         End Select
  1108.                         Print #1, ", " & Format(.Params[14] / 10, "0.0") & " sec." & IIfStr(.Params[15], ", Wait", "")
  1109.                     Case AEE.EVCMD_ERASE_PICTURE
  1110.                         Print #1, "<> Erase Picture: #" & .Params[0]
  1111.                     Case AEE.EVCMD_SHOW_BATTLE_ANIMATION
  1112.                         Print #1, "<> Show Battle Animation: #" & .Params[0] & ", ";
  1113.                         Select Case .Params[1]
  1114.                             Case 1 To 10000
  1115.                                 Print #1, "Event #" & .Params[1];
  1116.                             Case AEE.EV_HERO
  1117.                                 Print #1, "Hero";
  1118.                             Case AEE.EV_BOAT
  1119.                                 Print #1, "Boat";
  1120.                             Case AEE.EV_SHIP
  1121.                                 Print #1, "Ship";
  1122.                             Case AEE.EV_AIRSHIP
  1123.                                 Print #1, "Airship";
  1124.                             Case AEE.EV_THIS
  1125.                                 Print #1, "This event";
  1126.                         End Select
  1127.                         If .Params[2] Then Print #1, ", Wait";
  1128.                         If .Params[3] Then Print #1, ", Fullscreen";
  1129.                         Print #1, ""
  1130.                     Case AEE.EVCMD_SET_HERO_OPACITY
  1131.                         Print #1, "<> Set Hero Opacity: " & IIfStr(.Params[0], "Visible", "Invisible")
  1132.                     Case AEE.EVCMD_FLASH_EVENT
  1133.                         Print #1, "<> Flash Event: ";
  1134.                         Select Case .Params[0]
  1135.                             Case 1 To 10000
  1136.                                 Print #1, "Event #" & .Params[0];
  1137.                             Case AEE.EV_HERO
  1138.                                 Print #1, "Hero";
  1139.                             Case AEE.EV_BOAT
  1140.                                 Print #1, "Boat";
  1141.                             Case AEE.EV_SHIP
  1142.                                 Print #1, "Ship";
  1143.                             Case AEE.EV_AIRSHIP
  1144.                                 Print #1, "Airship";
  1145.                             Case AEE.EV_THIS
  1146.                                 Print #1, "This event";
  1147.                         End Select
  1148.                         Print #1, ", (R" & .Params[1] & ", G" & .Params[2] & ", B" & .Params[3] & ", S" & .Params[4] & "), " & Format(.Params[5] / 10, "0.0") & " sec." & IIfStr(.Params[6], ", Wait", "")
  1149.                     Case AEE.EVCMD_MOVE_EVENT
  1150.                         Print #1, "<> Move Event: ";
  1151.                         Select Case .MoveEventBlock->Target
  1152.                             Case 1 To 10000
  1153.                                 Print #1, "Event #" & .MoveEventBlock->Target;
  1154.                             Case AEE.EV_HERO
  1155.                                 Print #1, "Hero";
  1156.                             Case AEE.EV_BOAT
  1157.                                 Print #1, "Boat";
  1158.                             Case AEE.EV_SHIP
  1159.                                 Print #1, "Ship";
  1160.                             Case AEE.EV_AIRSHIP
  1161.                                 Print #1, "Airship";
  1162.                             Case AEE.EV_THIS
  1163.                                 Print #1, "This event";
  1164.                         End Select
  1165.                         Print #1, ", Frq " & .MoveEventBlock->Frequency;
  1166.                         If .MoveEventBlock->RepeatPattern Then Print #1, ", Repeat pattern";
  1167.                         If .MoveEventBlock->IgnoreImpossible Then Print #1, ", Ignore impossible moves";
  1168.                         Print #1, ", Pattern: ";
  1169.                         If .MoveEventBlock->CommandsAmount = 0 Then Print #1, "<none>";
  1170.                         For j As Integer = 0 To .MoveEventBlock->CommandsAmount - 1
  1171.                             If j <> 0 Then Print #1, ", ";
  1172.                             Select Case .MoveEventBlock->Commands[j].Command
  1173.                                 Case AEE.MOVEEVENTCOMMAND.ME_MOVE_UP
  1174.                                     Print #1, "Mv up";
  1175.                                 Case AEE.MOVEEVENTCOMMAND.ME_MOVE_RIGHT
  1176.                                     Print #1, "Mv right";
  1177.                                 Case AEE.MOVEEVENTCOMMAND.ME_MOVE_DOWN
  1178.                                     Print #1, "Mv down";
  1179.                                 Case AEE.MOVEEVENTCOMMAND.ME_MOVE_LEFT
  1180.                                     Print #1, "Mv left";
  1181.                                 Case AEE.MOVEEVENTCOMMAND.ME_MOVE_UP_RIGHT
  1182.                                     Print #1, "Mv u/r";
  1183.                                 Case AEE.MOVEEVENTCOMMAND.ME_MOVE_DOWN_RIGHT
  1184.                                     Print #1, "Mv d/r";
  1185.                                 Case AEE.MOVEEVENTCOMMAND.ME_MOVE_DOWN_LEFT
  1186.                                     Print #1, "Mv d/l";
  1187.                                 Case AEE.MOVEEVENTCOMMAND.ME_MOVE_UP_LEFT
  1188.                                     Print #1, "Mv u/l";
  1189.                                 Case AEE.MOVEEVENTCOMMAND.ME_MOVE_RANDOMLY
  1190.                                     Print #1, "Mv rndm";
  1191.                                 Case AEE.MOVEEVENTCOMMAND.ME_MOVE_TOWARD_HERO
  1192.                                     Print #1, "Mv toward hero";
  1193.                                 Case AEE.MOVEEVENTCOMMAND.ME_MOVE_AWAY_FROM_HERO
  1194.                                     Print #1, "Mv away f. hero";
  1195.                                 Case AEE.MOVEEVENTCOMMAND.ME_MOVE_FORWARD
  1196.                                     Print #1, "Mv frwd";
  1197.                                 Case AEE.MOVEEVENTCOMMAND.ME_FACE_UP
  1198.                                     Print #1, "Fc up";
  1199.                                 Case AEE.MOVEEVENTCOMMAND.ME_FACE_RIGHT
  1200.                                     Print #1, "Fc right";
  1201.                                 Case AEE.MOVEEVENTCOMMAND.ME_FACE_DOWN
  1202.                                     Print #1, "Fc down";
  1203.                                 Case AEE.MOVEEVENTCOMMAND.ME_FACE_LEFT
  1204.                                     Print #1, "Fc left";
  1205.                                 Case AEE.MOVEEVENTCOMMAND.ME_TURN_RIGHT
  1206.                                     Print #1, "Tn right";
  1207.                                 Case AEE.MOVEEVENTCOMMAND.ME_TURN_LEFT
  1208.                                     Print #1, "Tn left";
  1209.                                 Case AEE.MOVEEVENTCOMMAND.ME_TURN_AROUND
  1210.                                     Print #1, "Tn around";
  1211.                                 Case AEE.MOVEEVENTCOMMAND.ME_TURN_RANDOMLY
  1212.                                     Print #1, "Tn rndm";
  1213.                                 Case AEE.MOVEEVENTCOMMAND.ME_FACE_RANDOMLY
  1214.                                     Print #1, "Fc rndm";
  1215.                                 Case AEE.MOVEEVENTCOMMAND.ME_FACE_TOWARD_HERO
  1216.                                     Print #1, "Fc toward hero";
  1217.                                 Case AEE.MOVEEVENTCOMMAND.ME_FACE_AWAY_FROM_HERO
  1218.                                     Print #1, "Fc away f. hero";
  1219.                                 Case AEE.MOVEEVENTCOMMAND.ME_WAIT
  1220.                                     Print #1, "Wait";
  1221.                                 Case AEE.MOVEEVENTCOMMAND.ME_BEGIN_JUMP
  1222.                                     Print #1, "Begin jp";
  1223.                                 Case AEE.MOVEEVENTCOMMAND.ME_END_JUMP
  1224.                                     Print #1, "End jp";
  1225.                                 Case AEE.MOVEEVENTCOMMAND.ME_LOCK_FACING
  1226.                                     Print #1, "Lock fc";
  1227.                                 Case AEE.MOVEEVENTCOMMAND.ME_UNLOCK_FACING
  1228.                                     Print #1, "Unlock fc";
  1229.                                 Case AEE.MOVEEVENTCOMMAND.ME_INCREASE_SPEED
  1230.                                     Print #1, "Inc spd";
  1231.                                 Case AEE.MOVEEVENTCOMMAND.ME_DECREASE_SPEED
  1232.                                     Print #1, "Dec spd";
  1233.                                 Case AEE.MOVEEVENTCOMMAND.ME_INCREASE_FREQUENCY
  1234.                                     Print #1, "Inc frq";
  1235.                                 Case AEE.MOVEEVENTCOMMAND.ME_DECREASE_FREQUENCY
  1236.                                     Print #1, "Dec frq";
  1237.                                 Case AEE.MOVEEVENTCOMMAND.ME_SWITCH_ON
  1238.                                     Print #1, "S[" & .MoveEventBlock->Commands[j].Switch_ID & "] ON";
  1239.                                 Case AEE.MOVEEVENTCOMMAND.ME_SWITCH_OFF
  1240.                                     Print #1, "S[" & .MoveEventBlock->Commands[j].Switch_ID & "] OFF";
  1241.                                 Case AEE.MOVEEVENTCOMMAND.ME_CHANGE_GRAPHIC
  1242.                                     Print #1, "Chg graphic to " & *.MoveEventBlock->Commands[j].Sprite_Filename & " #" & .MoveEventBlock->Commands[j].Sprite_ID;
  1243.                                 Case AEE.MOVEEVENTCOMMAND.ME_PLAY_SE
  1244.                                     Print #1, "Play SE " & *.MoveEventBlock->Commands[j].SE_Filename & " V" & .MoveEventBlock->Commands[j].SE_Volume & " T" & .MoveEventBlock->Commands[j].SE_Tempo & " B" & .MoveEventBlock->Commands[j].SE_Balance;
  1245.                                 Case AEE.MOVEEVENTCOMMAND.ME_PHASING_MODE_ON
  1246.                                     Print #1, "Phas. mode on";
  1247.                                 Case AEE.MOVEEVENTCOMMAND.ME_PHASING_MODE_OFF
  1248.                                     Print #1, "Phas. mode off";
  1249.                                 Case AEE.MOVEEVENTCOMMAND.ME_STOP_ANIMATION
  1250.                                     Print #1, "Stop anim";
  1251.                                 Case AEE.MOVEEVENTCOMMAND.ME_RESUME_ANIMATION
  1252.                                     Print #1, "Resume anim";
  1253.                                 Case AEE.MOVEEVENTCOMMAND.ME_INCREASE_TRANSPARENCY
  1254.                                     Print #1, "Inc tsp";
  1255.                                 Case AEE.MOVEEVENTCOMMAND.ME_DECREASE_TRANSPARENCY
  1256.                                     Print #1, "Dec tsp";
  1257.                                 Case Else
  1258.                                     Print #1, "Cmd 0x" & Hex(.MoveEventBlock->Commands[j].Command);
  1259.                             End Select
  1260.                         Next
  1261.                         Print #1, ""
  1262.                     Case AEE.EVCMD_WAIT_UNTIL_MOVED
  1263.                         Print #1, "<> Wait Until Moved"
  1264.                     Case AEE.EVCMD_STOP_ALL_MOVEMENT
  1265.                         Print #1, "<> Stop All Movement"
  1266.                     Case AEE.EVCMD_WAIT
  1267.                         Print #1, "<> Wait: ";
  1268.                         If .Params[1] Then
  1269.                             Print #1, "Until key is pressed"
  1270.                         Else
  1271.                             Print #1, Format(.Params[0] / 10, "0.0") & " sec."
  1272.                         EndIf
  1273.                     Case AEE.EVCMD_PLAY_BGM
  1274.                         Print #1, "<> Play BGM: " & *.NameBlock & ", Volume " & .Params[1] & "%, Speed " & .Params[2] & "%, Pan " & IIfStr(.Params[3] <> 50, IIfStr(.Params[3] > 50, "R " & .Params[3] * 2 - 100, "L " & 100 - .Params[3] * 2) & "%", "Center") & IIfStr(.Params[0], ", Fade in " & .Params[0] / 1000 & " sec.", "")
  1275.                     Case AEE.EVCMD_FADE_OUT_BGM
  1276.                         Print #1, "<> Fade Out BGM: " & .Params[0] / 1000 & " sec."
  1277.                     Case AEE.EVCMD_MEMORIZE_BGM
  1278.                         Print #1, "<> Memorize BGM"
  1279.                     Case AEE.EVCMD_PLAY_MEMORIZED_BGM
  1280.                         Print #1, "<> Play Memorized BGM"
  1281.                     Case AEE.EVCMD_PLAY_SOUND_EFFECT
  1282.                         Print #1, "<> Play Sound Effect: " & *.NameBlock & ", Volume " & .Params[0] & "%, Speed " & .Params[1] & "%, Pan " & IIfStr(.Params[2] <> 50, IIfStr(.Params[2] > 50, "R " & .Params[2] * 2 - 100, "L " & 100 - .Params[2] * 2) & "%", "Center")
  1283.                     Case AEE.EVCMD_PLAY_MOVIE
  1284.                         Print #1, "<> Play Movie: " & IIfStr(.NameBlock <> NULL, *.NameBlock, "<no file>") & ", " & IIfStr(.Params[0], "(V[" & .Params[1] & "], V[" & .Params[2] & "])", "(" & .Params[1] & ", " & .Params[2] & ")") & ", Size (" & .Params[3] & ", " & .Params[4] & ")"
  1285.                     Case AEE.EVCMD_KEY_INPUT_PROCESSING
  1286.                         Print #1, "<> Key Input Processing: Var. [" & .Params[0] & "]";
  1287.                         If .Params[1] Then
  1288.                             Print #1, ", Wait until key pressed";
  1289.                             If .Params[8] Then Print #1, ", Store time in var. [" & .Params[7] & "]";
  1290.                         EndIf
  1291.                         Print #1, ", Keys: ";
  1292.                         Dim none As Boolean = TRUE
  1293.                         If .ParamsAmount > 5 Then
  1294.                             If .Params[10] Then Print #1, IIfStr(none, "", ", ") & "Down"; : none = FALSE
  1295.                             If .Params[11] Then Print #1, IIfStr(none, "", ", ") & "Left"; : none = FALSE
  1296.                             If .Params[12] Then Print #1, IIfStr(none, "", ", ") & "Right"; : none = FALSE
  1297.                             If .Params[13] Then Print #1, IIfStr(none, "", ", ") & "Up"; : none = FALSE
  1298.                         Else
  1299.                             If .Params[2] Then Print #1, IIfStr(none, "", ", ") & "Directional keys"; : none = FALSE
  1300.                         EndIf
  1301.                         If .Params[3] Then Print #1, IIfStr(none, "", ", ") & "Decision"; : none = FALSE
  1302.                         If .Params[4] Then Print #1, IIfStr(none, "", ", ") & "Cancel"; : none = FALSE
  1303.                         If .Params[9] Then Print #1, IIfStr(none, "", ", ") & "Shift"; : none = FALSE
  1304.                         If .Params[5] Then Print #1, IIfStr(none, "", ", ") & "Number keys"; : none = FALSE
  1305.                         If .Params[6] Then Print #1, IIfStr(none, "", ", ") & "Calc. keys"; : none = FALSE
  1306.                         Print #1, ""
  1307.                     Case AEE.EVCMD_CHANGE_TILESET
  1308.                         Print #1, "<> Change Tileset: #" & .Params[0]
  1309.                     Case AEE.EVCMD_CHANGE_PANORAMA
  1310.                         Print #1, "<> Change Panorama: " & IIfStr(.NameBlock <> NULL, *.NameBlock, "<no file>");
  1311.                         If .Params[0] Then
  1312.                             Print #1, ", Horiz. scrolling";
  1313.                             If .Params[2] Then Print #1, " (auto " & IIfStr(.Params[3], Format(.Params[3], "+0"), "0") & ")";
  1314.                         EndIf
  1315.                         If .Params[1] Then
  1316.                             Print #1, ", Vert. scrolling";
  1317.                             If .Params[4] Then Print #1, " (auto " & IIfStr(.Params[5], Format(.Params[5], "+0"), "0") & ")";
  1318.                         EndIf
  1319.                         Print #1, ""
  1320.                     Case AEE.EVCMD_CHANGE_ENCOUNTER_RATE
  1321.                         Print #1, "<> Change Encounter Rate: " & .Params[0] & " steps"
  1322.                     Case AEE.EVCMD_CHANGE_SINGLE_TILE
  1323.                         Print #1, "<> Change Single Tile: " & IIfStr(.Params[0], "Upper", "Lower") & " layer, #" & .Params[1] + 1 & " -> #" & .Params[2] + 1
  1324.                     Case AEE.EVCMD_CHANGE_TELEPORT_TARGET
  1325.                         Print #1, "<> Change Teleport Target: " & IIfStr(.Params[0], "Remove", "Add") & ", Map #" & .Params[1] & IIfStr(.Params[0] = 0, ", (" & .Params[2] & ", " & .Params[3] & ")", "");
  1326.                         If .Params[0] = 0 And .Params[4] = 1 Then Print #1, ", On teleport turn switch [" & .Params[5] & "] ON";
  1327.                         Print #1, ""
  1328.                     Case AEE.EVCMD_ENABLE_TELEPORT
  1329.                         Print #1, "<> Allow/Forbid Teleport: " & IIfStr(.Params[0], "Allow", "Forbid")
  1330.                     Case AEE.EVCMD_SET_ESCAPE_LOCATION
  1331.                         Print #1, "<> Set Escape Location: Map #" & .Params[0] & ", (" & .Params[1] & ", " & .Params[2] & ")";
  1332.                         If .Params[3] = 1 Then Print #1, ", On escape turn switch [" & .Params[4] & "] ON";
  1333.                         Print #1, ""
  1334.                     Case AEE.EVCMD_ENABLE_ESCAPE
  1335.                         Print #1, "<> Allow/Forbid Escape: " & IIfStr(.Params[0], "Allow", "Forbid")
  1336.                     Case AEE.EVCMD_CALL_SAVE_MENU
  1337.                         Print #1, "<> Call Save Menu"
  1338.                     Case AEE.EVCMD_ENABLE_SAVE
  1339.                         Print #1, "<> Allow/Forbid Save: " & IIfStr(.Params[0], "Allow", "Forbid")
  1340.                     Case AEE.EVCMD_CALL_MAIN_MENU
  1341.                         Print #1, "<> Call Main Menu"
  1342.                     Case AEE.EVCMD_ENABLE_MAIN_MENU
  1343.                         Print #1, "<> Allow/Forbid Main Menu: " & IIfStr(.Params[0], "Allow", "Forbid")
  1344.                     Case AEE.EVCMD_FORK
  1345.                         Dim comma As Boolean
  1346.                         Print #1, "<> Fork Condition: If ";
  1347.                         Select Case .Params[0]
  1348.                             Case 0
  1349.                                 Print #1, "Switch [" & .Params[1] & "] == " & IIfStr(.Params[2], "OFF", "ON");
  1350.                             Case 1
  1351.                                 Print #1, "Variable [" & .Params[1] & "] ";
  1352.                                 Select Case .Params[4]
  1353.                                     Case 0
  1354.                                         Print #1, "==";
  1355.                                     Case 1
  1356.                                         Print #1, ">=";
  1357.                                     Case 2
  1358.                                         Print #1, "<=";
  1359.                                     Case 3
  1360.                                         Print #1, ">";
  1361.                                     Case 4
  1362.                                         Print #1, "<";
  1363.                                     Case 5
  1364.                                         Print #1, "!=";
  1365.                                     Case Else
  1366.                                         Print #1, "???=";
  1367.                                 End Select
  1368.                                 Print #1, IIfStr(.Params[2], " V[" & .Params[3] & "]", " " & .Params[3]);
  1369.                             Case 2
  1370.                                 Print #1, "Timer 1 " & IIfStr(.Params[2], "<=", ">=") & " " & .Params[1] \ 60 & "'" & .Params[1] Mod 60 & """";
  1371.                             Case 3
  1372.                                 Print #1, "Money " & IIfStr(.Params[2], "<=", ">=") & " " & .Params[1] & "$";
  1373.                             Case 4
  1374.                                 Print #1, "Item #" & .Params[1] & IIfStr(.Params[2], " not", "") & " owning";
  1375.                             Case 5
  1376.                                 Print #1, "Hero #" & .Params[1];
  1377.                                 Select Case .Params[2]
  1378.                                     Case 0
  1379.                                         Print #1, " is in party";
  1380.                                     Case 1
  1381.                                         Print #1, "'s name == """ & *.NameBlock & """";
  1382.                                     Case 2
  1383.                                         Print #1, "'s level >= " & .Params[3];
  1384.                                     Case 3
  1385.                                         Print #1, "'s HP >= " & .Params[3];
  1386.                                     Case 4
  1387.                                         Print #1, " has learned skill #" & .Params[3];
  1388.                                     Case 5
  1389.                                         Print #1, " has item #" & .Params[3] & " equipped";
  1390.                                     Case 6
  1391.                                         Print #1, " is afflicted with condition #" & .Params[3];
  1392.                                     Case Else
  1393.                                         Print #1, " ???";
  1394.                                 End Select
  1395.                             Case 6
  1396.                                 Select Case .Params[1]
  1397.                                     Case 1 To 10000
  1398.                                         Print #1, "Event #" & .Params[1];
  1399.                                     Case AEE.EV_HERO
  1400.                                         Print #1, "Hero";
  1401.                                     Case AEE.EV_BOAT
  1402.                                         Print #1, "Boat";
  1403.                                     Case AEE.EV_SHIP
  1404.                                         Print #1, "Ship";
  1405.                                     Case AEE.EV_AIRSHIP
  1406.                                         Print #1, "Airship";
  1407.                                     Case AEE.EV_THIS
  1408.                                         Print #1, "This event";
  1409.                                     Case Else
  1410.                                         Print #1, "??? (event)";
  1411.                                 End Select
  1412.                                 Print #1, " is facing ";
  1413.                                 Select Case .Params[2]
  1414.                                     Case 0
  1415.                                         Print #1, "up";
  1416.                                     Case 1
  1417.                                         Print #1, "right";
  1418.                                     Case 2
  1419.                                         Print #1, "down";
  1420.                                     Case 3
  1421.                                         Print #1, "left";
  1422.                                     Case Else
  1423.                                         Print #1, "??? (facing)";
  1424.                                 End Select
  1425.                             Case 7
  1426.                                 Print #1, "Party is riding ";
  1427.                                 Select Case .Params[1]
  1428.                                     Case 0
  1429.                                         Print #1, "Boat";
  1430.                                     Case 1
  1431.                                         Print #1, "Ship";
  1432.                                     Case 2
  1433.                                         Print #1, "Airship";
  1434.                                     Case 3
  1435.                                         Print #1, "??? (vehicle)";
  1436.                                 End Select
  1437.                             Case 8
  1438.                                 Print #1, "Event was started using action key";
  1439.                             Case 9
  1440.                                 Print #1, "BGM has played once";
  1441.                             Case 10
  1442.                                 Print #1, "Timer 2 " & IIfStr(.Params[2], "<=", ">=") & " " & .Params[1] \ 60 & "'" & .Params[1] Mod 60 & """";
  1443.                             Case Else
  1444.                                 Print #1, "COND(";
  1445.                                 If .NameBlock Then Print #1, """" & *.NameBlock & """"; : comma = TRUE
  1446.                                 For k As Integer = 0 To .ParamsAmount - 1
  1447.                                     If comma Then Print #1, ", ";
  1448.                                     Print #1, "" & .Params[k];
  1449.                                     comma = TRUE
  1450.                                 Next
  1451.                                 Print #1, ")";
  1452.                         End Select
  1453.                         Print #1, " then ..."
  1454.                     Case AEE.EVCMD_FORK_ELSE_CASE
  1455.                         Print #1, ": Else ..."
  1456.                     Case AEE.EVCMD_FORK_END
  1457.                         Print #1, ": End of fork"
  1458.                     Case AEE.EVCMD_LABEL
  1459.                         Print #1, "<> Label: " & .Params[0]
  1460.                     Case AEE.EVCMD_JUMP_TO_LABEL
  1461.                         Print #1, "<> Jump To Label: " & .Params[0]
  1462.                     Case AEE.EVCMD_START_LOOP
  1463.                         Print #1, "<> Loop"
  1464.                     Case AEE.EVCMD_END_LOOP
  1465.                         Print #1, ": End of loop"
  1466.                     Case AEE.EVCMD_BREAK_LOOP
  1467.                         Print #1, "<> Break Loop"
  1468.                     Case AEE.EVCMD_STOP_EVENT
  1469.                         Print #1, "<> Stop Event"
  1470.                     Case AEE.EVCMD_DELETE_EVENT
  1471.                         Print #1, "<> Delete Event"
  1472.                     Case AEE.EVCMD_CALL_EVENT
  1473.                         Print #1, "<> Call Event: ";
  1474.                         Select Case .Params[0]
  1475.                             Case 0
  1476.                                 Print #1, "Common Event #" & .Params[1]
  1477.                             Case 1
  1478.                                 Print #1, "Map Event #" & .Params[1] & ", Page #" & .Params[2]
  1479.                             Case 2
  1480.                                 Print #1, "Map Event V[" & .Params[1] & "], Page V[" & .Params[2] & "]"
  1481.                             Case Else
  1482.                                 Print #1, "???"
  1483.                         End Select
  1484.                     Case AEE.EVCMD_COMMENT
  1485.                         Print #1, "<> Comment: " & *.NameBlock
  1486.                     Case AEE.EVCMD_ADD_LINE_TO_COMMENT
  1487.                         Print #1, ":        " & *.NameBlock
  1488.                     Case AEE.EVCMD_GAME_OVER
  1489.                         Print #1, "<> Game Over"
  1490.                     Case AEE.EVCMD_GO_TO_TITLE_SCREEN
  1491.                         Print #1, "<> Go To Title Screen"
  1492.                     Case AEE.EVCMD_CHANGE_CLASS
  1493.                         Print #1, "<> Change Class: Hero #" & .Params[1] & " -> " & IIfStr(.Params[2], "Class #" & .Params[2], "No class");
  1494.                         If .Params[3] Then Print #1, ", Change level to 1";
  1495.                         If .Params[4] = 1 Then
  1496.                             Print #1, ", Add new skills and delete old ones";
  1497.                         ElseIf .Params[4] = 2 Then
  1498.                             Print #1, ", Add new skills and keep old ones";
  1499.                         EndIf
  1500.                         Select Case .Params[5]
  1501.                             Case 1
  1502.                                 Print #1, ", Halve ability values";
  1503.                             Case 2
  1504.                                 Print #1, ", Change ability values to level 1 in new class";
  1505.                             Case 3
  1506.                                 Print #1, ", Change ability values to current level in new class";
  1507.                         End Select
  1508.                         If .Params[6] Then Print #1, ", Show level-up message";
  1509.                         Print #1, ""
  1510.                     Case AEE.EVCMD_CHANGE_BATTLE_COMMANDS
  1511.                         Print #1, "<> Change Battle Commands: Hero #" & .Params[1] & ", " & IIfStr(.Params[3], "Add", "Remove") & IIfStr(.Params[2] = 0, " all", " command #" & .Params[2])
  1512.                     Case AEE.EVCMD_CHANGE_ENEMY_HP
  1513.                         Print #1, "<> Change Enemy HP: " & IIfStr(.Params[1], "Decrease ", "Increase ") & "HP of enemy #" & .Params[0] + 1 & " by " & IIfStr(.Params[2] = 1, "V[" & .Params[3] & "] points", IIfStr(.Params[2] = 0, "" & .Params[3] & " points", "" & .Params[3] & "%")) & IIfStr(.Params[4] = 1 And .Params[1] = 1, ", Allow death", "")
  1514.                     Case AEE.EVCMD_CHANGE_ENEMY_MP
  1515.                         Print #1, "<> Change Enemy MP: " & IIfStr(.Params[1], "Decrease ", "Increase ") & "MP of enemy #" & .Params[0] + 1 & " by " & IIfStr(.Params[2] = 1, "V[" & .Params[3] & "] points", "" & .Params[3] & " points")
  1516.                     Case AEE.EVCMD_CHANGE_ENEMY_CONDITION
  1517.                         Print #1, "<> Change Enemy Condition: Enemy #" & .Params[0] + 1 & ", " & IIfStr(.Params[1] = 0, "Inflict ", "Cure ") & "condition #" & .Params[2]
  1518.                     Case AEE.EVCMD_REVIVE_ENEMY
  1519.                         Print #1, "<> Revive Enemy: Enemy #" & .Params[0] + 1
  1520.                     Case AEE.EVCMD_CHANGE_BACKDROP
  1521.                         Print #1, "<> Change Backdrop: " & *.NameBlock
  1522.                     Case AEE.EVCMD_SHOW_BATTLE_ANIMATION_IN_BATTLE
  1523.                         Print #1, "<> Show Battle Animation (B): #" & .Params[0] & ", ";
  1524.                         If .Params[3] Then
  1525.                             If .Params[1] = -1 Then
  1526.                                 Print #1, "Entire party";
  1527.                             Else
  1528.                                 Print #1, "Hero #" & .Params[1];
  1529.                             EndIf
  1530.                         Else
  1531.                             If .Params[1] = -1 Then
  1532.                                 Print #1, "All enemies";
  1533.                             Else
  1534.                                 Print #1, "Enemy #" & .Params[1] + 1;
  1535.                             EndIf
  1536.                         EndIf
  1537.                         If .Params[2] Then Print #1, ", Wait";
  1538.                         Print #1, ""
  1539.                     Case AEE.EVCMD_ENABLE_COMBO
  1540.                         Print #1, "<> Enable Combo: Hero #" & .Params[0] & ", Command #" & .Params[1] & ", " & .Params[2] & " times"
  1541.                     Case AEE.EVCMD_FORCE_FLEE
  1542.                         Print #1, "<> Force Flee: ";
  1543.                         Select Case .Params[0]
  1544.                             Case 0
  1545.                                 Print #1, "Party";
  1546.                             Case 1
  1547.                                 Print #1, "All enemies";
  1548.                             Case 2
  1549.                                 Print #1, "Enemy #" & .Params[1] + 1
  1550.                             Case Else
  1551.                                 Print #1, "??? (target)";
  1552.                         End Select
  1553.                         If .Params[2] Then Print #1, ", Ignore surrounding";
  1554.                         Print #1, ""
  1555.                     Case AEE.EVCMD_END_BATTLE
  1556.                         Print #1, "<> End Battle"
  1557.                     Case AEE.EVCMD_FORK_IN_BATTLE
  1558.                         Print #1, "<> Fork Condition (B): If ";
  1559.                         Select Case .Params[0]
  1560.                             Case 0
  1561.                                 Print #1, "Switch [" & .Params[1] & "] == " & IIfStr(.Params[2], "OFF", "ON");
  1562.                             Case 1
  1563.                                 Print #1, "Variable [" & .Params[1] & "] ";
  1564.                                 Select Case .Params[4]
  1565.                                     Case 0
  1566.                                         Print #1, "==";
  1567.                                     Case 1
  1568.                                         Print #1, ">=";
  1569.                                     Case 2
  1570.                                         Print #1, "<=";
  1571.                                     Case 3
  1572.                                         Print #1, ">";
  1573.                                     Case 4
  1574.                                         Print #1, "<";
  1575.                                     Case 5
  1576.                                         Print #1, "!=";
  1577.                                     Case Else
  1578.                                         Print #1, "???=";
  1579.                                 End Select
  1580.                                 Print #1, IIfStr(.Params[2], " V[" & .Params[3] & "]", " " & .Params[3]);
  1581.                             Case 2
  1582.                                 Print #1, "Hero #" & .Params[1] & " is able to act";
  1583.                             Case 3
  1584.                                 Print #1, "Enemy #" & .Params[1] + 1 & " is able to act";
  1585.                             Case 4
  1586.                                 Print #1, "Enemy #" & .Params[1] + 1 & " is the current target";
  1587.                             Case 5
  1588.                                 Print #1, "Hero #" & .Params[1] & " is using battle command #" & .Params[2];
  1589.                             Case Else
  1590.                                 Print #1, "COND(";
  1591.                                 Dim comma As Boolean
  1592.                                 If .NameBlock Then Print #1, """" & *.NameBlock & """"; : comma = TRUE
  1593.                                 For k As Integer = 0 To .ParamsAmount - 1
  1594.                                     If comma Then Print #1, ", ";
  1595.                                     Print #1, "" & .Params[k];
  1596.                                     comma = TRUE
  1597.                                 Next
  1598.                                 Print #1, ")";
  1599.                         End Select
  1600.                         Print #1, " then ..."
  1601.                     Case AEE.EVCMD_FORK_IN_BATTLE_ELSE_CASE
  1602.                         Print #1, ": Else (B) ..."
  1603.                     Case AEE.EVCMD_FORK_IN_BATTLE_END
  1604.                         Print #1, ": End of fork (B)"
  1605.                     Case AEE.EVCMD_CALL_COMMON_EVENT
  1606.                         Print #1, "<> Call Event (B): Common Event #" & .Params[0]
  1607.                     Case Else
  1608.                         Print #1, FormattingTemplate(_UNKNOWN_COMMAND).Before;
  1609.                         Dim comma As Boolean
  1610.                         Print #1, "<> Command 0x" & Hex(.Command) & ": (";
  1611.                         If .NameBlock Then Print #1, """" & *.NameBlock & """"; : comma = TRUE
  1612.                         For k As Integer = 0 To .ParamsAmount - 1
  1613.                             If comma Then Print #1, ", ";
  1614.                             Print #1, "" & .Params[k];
  1615.                             comma = TRUE
  1616.                         Next
  1617.                         Print #1, ")" & FormattingTemplate(_UNKNOWN_COMMAND).After
  1618.                 End Select
  1619.             End With
  1620.             If Abs(ev->Pages[i].Commands[j].Command) < &hFFF0 Then Print #1, FormattingTemplate(Abs(ev->Pages[i].Commands[j].Command)).After;
  1621.         Next
  1622.         If cbct <> AEE.CBCT_EVENTCOMMANDS Then Print #1, FormattingTemplate(&hA).Before & "<>" & FormattingTemplate(&hA).After
  1623.         Print #1, FormattingTemplate(_CODE).After;
  1624.     Next
  1625.    
  1626.     Print #1, FormattingTemplate(_BODY).After
  1627.     Close #1
  1628. End Sub
  1629.  
  1630. Function PreviewEvent(ev As AEE.EVENT Ptr, cbct As AEE.CLIPBOARDCONTENTTYPE) As String
  1631.     For i As Integer = 0 To &hFFFF
  1632.         FormattingTemplate(i).Before = ""
  1633.         FormattingTemplate(i).After = ""
  1634.     Next
  1635.     Var file = Environ("temp") & "\ef" & Hex(Rnd * &hFFFF, 4) & ".txt"
  1636.     ExportEvent(ev, cbct, file)
  1637.     Open file For Binary As #1
  1638.     Var ret = Space(Lof(1))
  1639.     Get #1, 1, ret
  1640.     Close #1
  1641.     Kill(file)
  1642.     Return ret
  1643. End Function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement