Actionscript mods Enhanced Perk Tree - XCOM:EU 2012

From Nexus Mods Wiki
Jump to: navigation, search

Overview

This page deals with the Actionscript file changes necessary to implement the Enhanced Perk Tree mod

All of these changes are applied to Command1.upk

Programs and Tools

  • JPEXS Flash Decompiler
  • HxD Hex Editor

Details

There are seven separate hex changes necessary to implement this portion of the Enhanced Perk Tree mod.


The actionscript refers to 'rows' and 'columns'

  • Row corresponds with 'option', and relates to the number of ability icons displayed per rank
  • Column corresponds with 'branch', and relates to the soldier rank


  1. Change the constant MAX_ROWS_PER_COLUMN to 3 to allow up to 3 ability icons to be set per column
  2. Change function InitializeTree to allow setting upper-left corner class icon for psiTree
  3. Change "psiTree" to "normalTree" in InitializeTree, causing the full 21 icon sprite to be used for the Psi Tree UI
  4. Redefine SetColumnData to support:
    1. Ability to completely blank a column
    2. Ability to dim ability icons in the current promotable column (ability icon is dimmed if it was previously selected)
    3. Blanking rank icons for Psi Tree
    4. Display of rank string for Psi Tree
  5. Change SetAbilityIcon to actively set the icon "highlight" state to match the HasPerk() boolean
  6. Correct the size of the tagged block containing the normalTree sprite
  7. Redefine the normalTree sprite, adding 9 additional ability icons
    1. Space was acquired by shortening debug strings in an adjoining script __Package::Environment


File Changes

MAX_ROWS_PER_COLUMN to 3

This changes the package variable MAX_ROWS_PER_COLUMN from 2 to 3

Hex Change

Command1.upk >> DoInitAction(163: __Packages.SoldierPromotion)
original: 96 02 00 04 03 3E 4F 96 09 00 04 02 08 35 07 02 00 00 00 4F 96 09 00 04 02 08 5C 07 E0 FF FF FF
new: 96 02 00 04 03 3E 4F 96 09 00 04 02 08 35 07 03 00 00 00 4F 96 09 00 04 02 08 5C 07 E0 FF FF FF

Decompiled Code

Original Code
    MAX_ROWS_PER_COLUMN = 2

New Code
    MAX_ROWS_PER_COLUMN = 3

Class Icon for psiTree

This change allows setting the Class Icon in the upper left corner of the windows, if the tree type is 'psiTree'

Hex Change

Command1.upk >> DoInitAction(163: __Packages.SoldierPromotion.InitializeTree)
original: 96 04 00 04 01 08 1E 4E 12 12 9D 02 00 22 00 96 0B 00 04 06 07 01 00 00 00 04 01 08 08 4E 96 02 00 08 09 4E 96 02 00 08 3D 4E 96 02 00 08 20 52 17 4F
new: 96 0B 00 04 06 07 01 00 00 00 04 01 08 08 4E 96 02 00 08 09 4E 96 02 00 08 3D 4E 96 02 00 08 20 52 17 96 04 00 04 01 08 1E 4E 12 12 9D 02 00 22 00 4F

Decompiled Code

Original Code
      if(!this.isPsiTree)
      {
            this.promotionBG.header.classIcon.gotoAndStop(treeTitleIconLabel);
      }

New Code
      this.promotionBG.header.classIcon.gotoAndStop(treeTitleIconLabel);
      if(!this.isPsiTree)
      {
      }

Use "normalTree" for Psi Tree

This change alters the sprite selection code so that the 'normalTree' sprite is used instead of the 'psiTree' sprite.

Hex Change

Command1.upk >> DoInitAction(163: __Packages.SoldierPromotion.InitializeTree)
original: 96 04 00 04 01 08 1E 4E 96 02 00 05 01 49 12 9D 02 00 45 00 96 0B 00 08 1F 07 01 00 00 00 04 01 08 08 4E 96 02 00 08 20 52 17 96 0B 00 08 21 07 01 00 00 00 04 01 08 0F
new: 96 04 00 04 01 08 1E 4E 96 02 00 05 01 49 12 9D 02 00 45 00 96 0B 00 08 26 07 01 00 00 00 04 01 08 08 4E 96 02 00 08 20 52 17 96 0B 00 08 27 07 01 00 00 00 04 01 08 0F

Decompiled Code

Original Code
    this.abilityTree.gotoAndStop("psiTree");

New Code
    this.abilityTree.gotoAndStop("normalTree");

Redefine SetColumnData

This substantially rewrites the SetColumnData function, adding:

  1. Ability to completely blank a column
  2. Ability to dim ability icons in the current promotable column (ability icon is dimmed if it was previously selected)
  3. Blanking rank icons for Psi Tree

Hex Change

Command1.upk >> DoInitAction(163: __Packages.SoldierPromotion.SetColumnData)
original: 96 04 00 04 02 08 48 8E 23 00 00 03 00 07 29 00 04 63 6F 6C 75 6D 6E 49 6E 64 65 78 00 06 6C 61 62 65 6C 00 05 73 74 61 74 65 00 C8 03 96 02 00 04 05 87 01 00 00 96 04 00 04 01 08 49 4E 66 9D 02 00 35 00 96 06 00 04 00 04 01 08 4A 4E 66 9D 02 00 8E 00 96 06 00 04 00 04 01 08 4B 4E 66 9D 02 00 E7 00 96 06 00 04 00 04 01 08 4C 4E 66 9D 02 00 0E 01 99 02 00 72 01 96 04 00 04 01 08 32 4E 96 02 00 04 04 4E 96 04 00 08 0A 05 01 4F 96 04 00 04 01 08 32 4E 96 02 00 04 04 4E 96 07 00 08 44 07 64 00 00 00 4F 96 0B 00 08 4D 07 01 00 00 00 04 01 08 2C 4E 96 02 00 04 04 4E 96 02 00 08 20 52 17 96 04 00 04 01 08 2C 4E 96 02 00 04 04 4E 96 07 00 08 44 07 64 00 00 00 4F 99 02 00 09 01 96 04 00 04 01 08 32 4E 96 02 00 04 04 4E 96 04 00 08 0A 05 01 4F 96 04 00 04 01 08 32 4E 96 02 00 04 04 4E 96 06 00 08 44 04 01 08 4E 4E 4F 96 0B 00 08 4D 07 01 00 00 00 04 01 08 2C 4E 96 02 00 04 04 4E 96 02 00 08 20 52 17 96 04 00 04 01 08 2C 4E 96 02 00 04 04 4E 96 06 00 08 44 04 01 08 4E 4E 4F 99 02 00 A0 00 96 04 00 04 01 08 32 4E 96 02 00 04 04 4E 96 04 00 08 0A 05 00 4F 96 0B 00 08 26 07 01 00 00 00 04 01 08 2C 4E 96 02 00 04 04 4E 96 02 00 08 20 52 17 99 02 00 69 00 96 04 00 04 01 08 32 4E 96 02 00 04 04 4E 96 04 00 08 0A 05 00 4F 96 04 00 04 01 08 32 4E 96 02 00 04 04 4E 96 06 00 08 44 04 01 08 47 4E 4F 96 0B 00 08 4F 07 01 00 00 00 04 01 08 2C 4E 96 02 00 04 04 4E 96 02 00 08 20 52 17 96 04 00 04 01 08 2C 4E 96 02 00 04 04 4E 96 06 00 08 44 04 01 08 47 4E 4F 99 02 00 00 00 96 09 00 06 00 00 00 00 00 00 00 00 87 01 00 03 17 96 06 00 04 03 04 01 08 34 4E 96 02 00 04 04 4E 96 02 00 08 50 4E 48 12 9D 02 00 88 01 96 04 00 04 01 08 34 4E 96 02 00 04 04 4E 96 02 00 04 03 4E 87 01 00 02 17 96 02 00 04 05 87 01 00 00 96 04 00 04 01 08 49 4E 66 9D 02 00 35 00 96 06 00 04 00 04 01 08 4B 4E 66 9D 02 00 5F 00 96 06 00 04 00 04 01 08 4A 4E 66 9D 02 00 9E 00 96 06 00 04 00 04 01 08 4C 4E 66 9D 02 00 C8 00 99 02 00 13 01 96 04 00 04 02 08 36 4E 96 07 00 08 44 07 64 00 00 00 4F 96 04 00 04 01 08 24 4E 96 09 00 07 01 00 00 00 04 02 08 36 4E 96 02 00 08 3A 4E 96 02 00 08 20 52 17 99 02 00 D9 00 96 04 00 04 02 08 43 4E 96 02 00 05 01 49 12 12 9D 02 00 13 00 96 04 00 04 02 08 36 4E 96 06 00 08 44 04 01 08 4E 4E 4F 96 04 00 04 01 08 22 4E 96 09 00 07 01 00 00 00 04 02 08 36 4E 96 02 00 08 3A 4E 96 02 00 08 20 52 17 99 02 00 8A 00 96 04 00 04 02 08 36 4E 96 06 00 08 44 04 01 08 4E 4E 4F 96 04 00 04 01 08 24 4E 96 09 00 07 01 00 00 00 04 02 08 36 4E 96 02 00 08 3A 4E 96 02 00 08 20 52 17 99 02 00 50 00 96 04 00 04 02 08 36 4E 96 06 00 08 44 04 01 08 47 4E 4F 96 0B 00 08 4F 07 01 00 00 00 04 02 08 36 4E 96 02 00 08 20 52 17 96 04 00 04 01 08 51 4E 96 09 00 07 01 00 00 00 04 02 08 36 4E 96 02 00 08 3A 4E 96 02 00 08 20 52 17 99 02 00 00 00 96 02 00 04 03 50 87 01 00 03 17 99 02 00 5B FE 96 04 00 04 01 08 1E 4E 12 12 9D 02 00 45 00 96 04 00 04 01 08 2C 4E 96 02 00 04 04 4E 96 02 00 08 52 4E 96 04 00 08 53 04 06 4F 96 04 00 08 30 04 04 47 4B 96 09 00 07 01 00 00 00 04 01 08 2C 4E 96 02 00 04 04 4E 96 02 00 08 31 4E 96 02 00 08 20 52 17 4F
new: 96 04 00 04 02 08 48 8E 23 00 00 03 00 07 29 00 04 63 6F 6C 75 6D 6E 49 6E 64 65 78 00 06 6C 61 62 65 6C 00 05 73 74 61 74 65 00 C8 03 96 04 00 04 01 08 32 4E 96 02 00 04 04 4E 96 04 00 08 0A 05 00 4F 96 04 00 04 01 08 2C 4E 96 02 00 04 04 4E 96 04 00 08 0A 05 01 4F 96 02 00 04 05 87 01 00 00 96 04 00 04 01 08 49 4E 66 9D 02 00 35 00 96 06 00 04 00 04 01 08 4A 4E 66 9D 02 00 8E 00 96 06 00 04 00 04 01 08 4B 4E 66 9D 02 00 E7 00 96 06 00 04 00 04 01 08 4C 4E 66 9D 02 00 F8 00 99 02 00 0E 01 96 04 00 04 01 08 32 4E 96 02 00 04 04 4E 96 04 00 08 0A 05 01 4F 96 04 00 04 01 08 32 4E 96 02 00 04 04 4E 96 07 00 08 44 07 64 00 00 00 4F 96 0B 00 08 4D 07 01 00 00 00 04 01 08 2C 4E 96 02 00 04 04 4E 96 02 00 08 20 52 17 96 04 00 04 01 08 2C 4E 96 02 00 04 04 4E 96 07 00 08 44 07 64 00 00 00 4F 99 02 00 A5 00 96 04 00 04 01 08 32 4E 96 02 00 04 04 4E 96 04 00 08 0A 05 01 4F 96 04 00 04 01 08 32 4E 96 02 00 04 04 4E 96 06 00 08 44 04 01 08 4E 4E 4F 96 0B 00 08 4D 07 01 00 00 00 04 01 08 2C 4E 96 02 00 04 04 4E 96 02 00 08 20 52 17 96 04 00 04 01 08 2C 4E 96 02 00 04 04 4E 96 06 00 08 44 04 01 08 4E 4E 4F 99 02 00 3C 00 96 0B 00 08 26 07 01 00 00 00 04 01 08 2C 4E 96 02 00 04 04 4E 96 02 00 08 20 52 17 99 02 00 1B 00 96 04 00 04 01 08 2C 4E 96 02 00 04 04 4E 96 04 00 08 0A 05 00 4F 99 02 00 00 00 96 09 00 06 00 00 00 00 00 00 00 00 87 01 00 03 17 96 06 00 04 03 04 01 08 34 4E 96 02 00 04 04 4E 96 02 00 08 50 4E 48 12 9D 02 00 9A 01 96 04 00 04 01 08 34 4E 96 02 00 04 04 4E 96 02 00 04 03 4E 87 01 00 02 17 96 04 00 04 02 08 36 4E 96 07 00 08 44 07 64 00 00 00 4F 96 02 00 04 05 87 01 00 00 96 04 00 04 01 08 49 4E 66 9D 02 00 35 00 96 06 00 04 00 04 01 08 4B 4E 66 9D 02 00 73 00 96 06 00 04 00 04 01 08 4A 4E 66 9D 02 00 B2 00 96 06 00 04 00 04 01 08 4C 4E 66 9D 02 00 F0 00 99 02 00 12 01 96 04 00 04 02 08 43 4E 96 02 00 05 01 49 12 9D 02 00 13 00 96 04 00 04 02 08 36 4E 96 06 00 08 44 04 01 08 4E 4E 4F 96 04 00 04 01 08 24 4E 96 09 00 07 01 00 00 00 04 02 08 36 4E 96 02 00 08 3A 4E 96 02 00 08 20 52 17 99 02 00 C4 00 96 04 00 04 02 08 43 4E 96 02 00 05 01 49 12 12 9D 02 00 13 00 96 04 00 04 02 08 36 4E 96 06 00 08 44 04 01 08 4E 4E 4F 96 04 00 04 01 08 22 4E 96 09 00 07 01 00 00 00 04 02 08 36 4E 96 02 00 08 3A 4E 96 02 00 08 20 52 17 99 02 00 75 00 96 04 00 04 02 08 43 4E 96 02 00 05 01 49 12 9D 02 00 13 00 96 04 00 04 02 08 36 4E 96 06 00 08 44 04 01 08 4E 4E 4F 96 04 00 04 01 08 24 4E 96 09 00 07 01 00 00 00 04 02 08 36 4E 96 02 00 08 3A 4E 96 02 00 08 20 52 17 99 02 00 27 00 96 04 00 04 01 08 22 4E 96 09 00 07 01 00 00 00 04 02 08 36 4E 96 02 00 08 3A 4E 96 02 00 08 20 52 17 99 02 00 00 00 96 02 00 04 03 50 87 01 00 03 17 99 02 00 49 FE 96 04 00 04 01 08 1E 4E 12 9D 02 00 21 00 96 04 00 04 01 08 2C 4E 96 02 00 04 04 4E 96 02 00 08 31 4E 96 04 00 08 0A 05 00 4F 99 02 00 29 00 96 04 00 08 30 04 04 47 4B 96 09 00 07 01 00 00 00 04 01 08 2C 4E 96 02 00 04 04 4E 96 02 00 08 31 4E 96 02 00 08 20 52 17 96 04 00 04 01 08 2C 4E 96 02 00 04 04 4E 96 02 00 08 52 4E 96 04 00 08 53 04 06 4F 96 02 00 00 00 17 4F

Decompiled Code

Original Code
   function SetColumnData(columnIndex, label, state)
   {
      switch(state)
      {
            case this.COLUMN_HIGHLIGHT_ON:
               this.promoteHighlights[columnIndex]._visible=true;
               this.promoteHighlights[columnIndex]._alpha=100;
               this.promoteBrackets[columnIndex].gotoAndStop("promotable");
               this.promoteBrackets[columnIndex]._alpha=100;
               break;
            case this.COLUMN_HIGHLIGHT_FADED:
               this.promoteHighlights[columnIndex]._visible=true;
               this.promoteHighlights[columnIndex]._alpha=this.FADED_COLUMN_ALPHA;
               this.promoteBrackets[columnIndex].gotoAndStop("promotable");
               this.promoteBrackets[columnIndex]._alpha=this.FADED_COLUMN_ALPHA;
               break;
            case this.COLUMN_HIGHLIGHT_OFF:
               this.promoteHighlights[columnIndex]._visible=false;
               this.promoteBrackets[columnIndex].gotoAndStop("normal");
               break;
            case this.COLUMN_HIGHLIGHT_LOCKED:
               this.promoteHighlights[columnIndex]._visible=false;
               this.promoteHighlights[columnIndex]._alpha=this.LOCKED_ICON_ALPHA;
               this.promoteBrackets[columnIndex].gotoAndStop("locked");
               this.promoteBrackets[columnIndex]._alpha=this.LOCKED_ICON_ALPHA;
      }
      register3=0;
      while(register3<this.abilityIcons[columnIndex].length)
      {
            switch(state)
            {
               case this.COLUMN_HIGHLIGHT_ON:
                  register2.icon._alpha=100;
                  register2.icon.perkBackground.gotoAndStop(this.highlightedBackgroundIconColor);
                  break;
               case this.COLUMN_HIGHLIGHT_OFF:
                  if(!(register2.isHighlighted==true))
                  {
                     register2.icon._alpha=this.FADED_COLUMN_ALPHA;
                  }
                  register2.icon.perkBackground.gotoAndStop(this.normalBackgroundIconColor);
                  break;
               case this.COLUMN_HIGHLIGHT_FADED:
                  register2.icon._alpha=this.FADED_COLUMN_ALPHA;
                  register2.icon.perkBackground.gotoAndStop(this.highlightedBackgroundIconColor);
                  break;
               case this.COLUMN_HIGHLIGHT_LOCKED:
                  register2.icon._alpha=this.LOCKED_ICON_ALPHA;
                  register2.icon.gotoAndStop("locked");
                  register2.icon.perkBackground.gotoAndStop(this.lockedBackgroundIconColor);
            }
            register3=register3+1;
      }
      if(!this.isPsiTree)
      {
            this.promoteBrackets[columnIndex].rankLabel.text=label;
            this.promoteBrackets[columnIndex].rankIcon.gotoAndStop(String("rank"+columnIndex));
      }
   }

New Code
   function SetColumnData(columnIndex, label, state)
   {
      this.promoteHighlights[columnIndex]._visible=false;
      this.promoteBrackets[columnIndex]._visible=true;
      switch(state)
      {
            case this.COLUMN_HIGHLIGHT_ON:
               this.promoteHighlights[columnIndex]._visible=true;
               this.promoteHighlights[columnIndex]._alpha=100;
               this.promoteBrackets[columnIndex].gotoAndStop("promotable");
               this.promoteBrackets[columnIndex]._alpha=100;
               break;
            case this.COLUMN_HIGHLIGHT_FADED:
               this.promoteHighlights[columnIndex]._visible=true;
               this.promoteHighlights[columnIndex]._alpha=this.FADED_COLUMN_ALPHA;
               this.promoteBrackets[columnIndex].gotoAndStop("promotable");
               this.promoteBrackets[columnIndex]._alpha=this.FADED_COLUMN_ALPHA;
               break;
            case this.COLUMN_HIGHLIGHT_OFF:
               this.promoteBrackets[columnIndex].gotoAndStop("normal");
               break;
            case this.COLUMN_HIGHLIGHT_LOCKED:
               this.promoteBrackets[columnIndex]._visible=false;
      }
      register3=0;
      while(register3<this.abilityIcons[columnIndex].length)
      {
            register2=this.abilityIcons[columnIndex][register3];
            register2.icon._alpha=100;
            switch(state)
            {
               case this.COLUMN_HIGHLIGHT_ON:
                  if(register2.isHighlighted==true)
                  {
                     register2.icon._alpha=this.FADED_COLUMN_ALPHA;
                  }
                  register2.icon.perkBackground.gotoAndStop(this.highlightedBackgroundIconColor);
                  break;
               case this.COLUMN_HIGHLIGHT_OFF:
                  if(!(register2.isHighlighted==true))
                  {
                     register2.icon._alpha=this.FADED_COLUMN_ALPHA;
                  }
                  register2.icon.perkBackground.gotoAndStop(this.normalBackgroundIconColor);
                  break;
               case this.COLUMN_HIGHLIGHT_FADED:
                  if(register2.isHighlighted==true)
                  {
                     register2.icon._alpha=this.FADED_COLUMN_ALPHA;
                  }
                  register2.icon.perkBackground.gotoAndStop(this.highlightedBackgroundIconColor);
                  break;
               case this.COLUMN_HIGHLIGHT_LOCKED:
                  register2.icon.perkBackground.gotoAndStop(this.normalBackgroundIconColor);
            }
            register3=register3+1;
      }
      if(this.isPsiTree)
      {
            this.promoteBrackets[columnIndex].rankIcon._visible=false;
      }
      else
      {
            this.promoteBrackets[columnIndex].rankIcon.gotoAndStop(String("rank"+columnIndex));
      }
      this.promoteBrackets[columnIndex].rankLabel.text=label;
   }

SetAbilityIcon Change

This change explicitly sets the highlighted state of each ability icon to be identical to the HasPerk() parameter passed to the function. This was necessary to prevent incorrect behavior while using the PrevSoldier and NextSoldier buttons.

Hex Change

Command1.upk >> DoInitAction(163: __Packages.SoldierPromotion.SetAbilityIcon)
original: 96 04 00 04 02 08 3F 8E 2D 00 00 04 00 07 29 00 03 63 6F 6C 75 6D 6E 00 04 72 6F 77 00 06 69 63 6F 6E 4C 61 62 65 6C 00 05 69 73 48 69 6C 69 67 68 74 65 64 00 85 01 96 04 00 04 01 08 34 4E 96 02 00 04 03 4E 96 02 00 04 04 4E 87 01 00 02 17 96 03 00 04 02 03 49 12 9D 02 00 20 00 96 04 00 08 40 04 03 47 96 02 00 08 41 47 96 02 00 04 04 47 96 02 00 08 42 47 26 96 01 00 03 3E 96 0B 00 04 06 07 01 00 00 00 04 02 08 36 4E 96 02 00 08 20 52 17 96 02 00 04 05 12 9D 02 00 A1 00 96 06 00 04 02 08 43 05 01 4F 96 04 00 04 02 08 36 4E 96 07 00 08 44 07 64 00 00 00 4F 96 04 00 04 01 08 22 4E 96 09 00 07 01 00 00 00 04 02 08 36 4E 96 02 00 08 3A 4E 96 02 00 08 20 52 17 96 04 00 04 01 08 29 4E 96 02 00 08 45 4E 96 01 00 03 49 4C 9D 02 00 12 00 17 96 06 00 04 03 04 01 08 29 4E 96 02 00 08 45 4E 67 12 9D 02 00 2C 00 96 04 00 04 01 08 29 4E 96 04 00 08 45 04 03 4F 96 04 00 08 46 04 03 47 96 09 00 07 01 00 00 00 04 01 08 29 4E 96 02 00 08 20 52 17 99 02 00 73 00 96 04 00 04 01 08 29 4E 96 02 00 08 45 4E 96 01 00 03 49 4C 9D 02 00 15 00 17 96 04 00 04 01 08 29 4E 96 02 00 08 45 4E 96 02 00 04 03 67 12 9D 02 00 2C 00 96 04 00 04 01 08 29 4E 96 04 00 08 45 04 03 4F 96 04 00 08 46 04 03 47 96 09 00 07 01 00 00 00 04 01 08 29 4E 96 02 00 08 20 52 17 96 04 00 04 02 08 36 4E 96 06 00 08 44 04 01 08 47 4E 4F 96 06 00 04 02 08 0A 05 01 4F 4F
new: 96 04 00 04 02 08 3F 8E 2D 00 00 04 00 07 29 00 03 63 6F 6C 75 6D 6E 00 04 72 6F 77 00 06 69 63 6F 6E 4C 61 62 65 6C 00 05 69 73 48 69 6C 69 67 68 74 65 64 00 85 01 96 04 00 04 01 08 34 4E 96 02 00 04 03 4E 96 02 00 04 04 4E 87 01 00 02 17 96 03 00 04 02 03 49 12 9D 02 00 20 00 96 04 00 08 40 04 03 47 96 02 00 08 41 47 96 02 00 04 04 47 96 02 00 08 42 47 26 96 01 00 03 3E 96 0B 00 04 06 07 01 00 00 00 04 02 08 36 4E 96 02 00 08 20 52 17 96 06 00 04 02 08 43 04 05 4F 96 02 00 04 05 12 9D 02 00 97 00 96 04 00 04 02 08 36 4E 96 07 00 08 44 07 64 00 00 00 4F 96 04 00 04 01 08 22 4E 96 09 00 07 01 00 00 00 04 02 08 36 4E 96 02 00 08 3A 4E 96 02 00 08 20 52 17 96 04 00 04 01 08 29 4E 96 02 00 08 45 4E 96 01 00 03 49 4C 9D 02 00 12 00 17 96 06 00 04 03 04 01 08 29 4E 96 02 00 08 45 4E 67 12 9D 02 00 2C 00 96 04 00 04 01 08 29 4E 96 04 00 08 45 04 03 4F 96 04 00 08 46 04 03 47 96 09 00 07 01 00 00 00 04 01 08 29 4E 96 02 00 08 20 52 17 99 02 00 73 00 96 04 00 04 01 08 29 4E 96 02 00 08 45 4E 96 01 00 03 49 4C 9D 02 00 15 00 17 96 04 00 04 01 08 29 4E 96 02 00 08 45 4E 96 02 00 04 03 67 12 9D 02 00 2C 00 96 04 00 04 01 08 29 4E 96 04 00 08 45 04 03 4F 96 04 00 08 46 04 03 47 96 09 00 07 01 00 00 00 04 01 08 29 4E 96 02 00 08 20 52 17 96 04 00 04 02 08 36 4E 96 06 00 08 44 04 01 08 47 4E 4F 96 06 00 04 02 08 0A 05 01 4F 4F

Decompiled Code

Original Code
   function SetAbilityIcon(column, row, iconLabel, isHilighted)
   {
      register2=this.abilityIcons[column][row];
      if(register2==undefined)
      {
            trace("ERROR: SetAbilityIcon: Could not find icon MovieClip at position ["+column+","+row+"].");
            return undefined;
      }
      register2.icon.gotoAndStop(iconLabel);
      if(isHilighted)
      {
            register2.isHighlighted=true;
            register2.icon._alpha=100;
            register2.icon.perkBackground.gotoAndStop(this.normalBackgroundIconColor);
            if(this.horizontalLine.maxColumn==undefined||column>this.horizontalLine.maxColumn)
            {
               this.horizontalLine.maxColumn=column;
               this.horizontalLine.gotoAndStop("line"+column);
            }
      }
      else
      {
            if(this.horizontalLine.maxColumn==undefined||this.horizontalLine.maxColumn>column)
            {
               this.horizontalLine.maxColumn=column;
               this.horizontalLine.gotoAndStop("line"+column);
            }
            register2.icon._alpha=this.LOCKED_ICON_ALPHA;
      }
      register2._visible=true;
   }

New Code
   function SetAbilityIcon(column, row, iconLabel, isHilighted)
   {
      register2=this.abilityIcons[column][row];
      if(register2==undefined)
      {
            trace("ERROR: SetAbilityIcon: Could not find icon MovieClip at position ["+column+","+row+"].");
            return undefined;
      }
      register2.icon.gotoAndStop(iconLabel);
      register2.isHighlighted=isHilighted;
      if(isHilighted)
      {
            register2.icon._alpha=100;
            register2.icon.perkBackground.gotoAndStop(this.normalBackgroundIconColor);
            if(this.horizontalLine.maxColumn==undefined||column>this.horizontalLine.maxColumn)
            {
               this.horizontalLine.maxColumn=column;
               this.horizontalLine.gotoAndStop("line"+column);
            }
      }
      else
      {
            if(this.horizontalLine.maxColumn==undefined||this.horizontalLine.maxColumn>column)
            {
               this.horizontalLine.maxColumn=column;
               this.horizontalLine.gotoAndStop("line"+column);
            }
            register2.icon._alpha=this.LOCKED_ICON_ALPHA;
      }
      register2._visible=true;
   }

normalTree sprite tagged block size change

This change adjusts the size (as defined in the block header) of the tagged block containing the normalTree sprite from 0x455 to 0x542.

Hex Change

Command1.upk >> SWF tagged block)
original: FF 09 55 04 00 00 92 00
new: FF 09 42 05 00 00 92 00

Decompiled Code

None.

Redefine the normalTree sprite

This very large change adds the additional 9 ability icons to the normalTree sprite. Space was obtained by shortening debugs strings in the nearby script package 'Environment'

Hex Change

Command1.upk >> DoInitAction(163: __Packages.SoldierPromotion.InitializeTree)
original: FF 0A 0B 00 00 00 6E 6F 72 6D 61 6C 54 72 65 65 00 BF 06 1E 00 00 00 36 2B 00 85 00 1D 36 27 2C E0 09 00 70 72 6F 6D 6F 74 69 6F 6E 42 72 61 63 6B 65 74 36 00 BF 06 1E 00 00 00 36 2F 00 85 00 1D 36 26 98 20 09 00 70 72 6F 6D 6F 74 69 6F 6E 42 72 61 63 6B 65 74 35 00 BF 06 1E 00 00 00 36 33 00 85 00 1D 36 26 03 E0 09 00 70 72 6F 6D 6F 74 69 6F 6E 42 72 61 63 6B 65 74 34 00 BF 06 1E 00 00 00 36 37 00 85 00 1D 36 25 6F 80 09 00 70 72 6F 6D 6F 74 69 6F 6E 42 72 61 63 6B 65 74 33 00 BF 06 1E 00 00 00 36 3B 00 85 00 1D 36 24 DA C0 09 00 70 72 6F 6D 6F 74 69 6F 6E 42 72 61 63 6B 65 74 32 00 BF 06 1E 00 00 00 36 3F 00 85 00 1D 36 24 46 00 09 00 70 72 6F 6D 6F 74 69 6F 6E 42 72 61 63 6B 65 74 31 00 BF 06 1E 00 00 00 36 43 00 85 00 1F 9B 12 EC 48 09 00 70 72 6F 6D 6F 74 69 6F 6E 42 72 61 63 6B 65 74 30 00 BF 06 14 00 00 00 36 47 00 87 00 1D 83 BD E1 40 09 00 69 63 6F 6E 31 5F 31 00 BF 06 14 00 00 00 36 49 00 88 00 1D C8 8D DF E0 09 00 69 63 6F 6E 31 5F 30 00 BF 06 14 00 00 00 36 4B 00 87 00 1B 07 79 CD 00 09 00 69 63 6F 6E 32 5F 31 00 BF 06 14 00 00 00 36 4D 00 88 00 1B 91 19 CD 80 09 00 69 63 6F 6E 32 5F 30 00 BF 06 14 00 00 00 36 4F 00 87 00 1B 07 7C 29 80 09 00 69 63 6F 6E 33 5F 31 00 BF 06 13 00 00 00 36 51 00 88 00 19 22 30 96 09 00 69 63 6F 6E 33 5F 30 00 BF 06 14 00 00 00 36 53 00 87 00 1B 07 7E 73 00 09 00 69 63 6F 6E 34 5F 31 00 BF 06 13 00 00 00 36 55 00 88 00 19 22 39 CE 09 00 69 63 6F 6E 34 5F 30 00 BF 06 14 00 00 00 36 57 00 87 00 1B 07 73 19 00 09 00 69 63 6F 6E 36 5F 31 00 BF 06 13 00 00 00 36 59 00 88 00 19 22 2C 68 09 00 69 63 6F 6E 36 5F 30 00 BF 06 14 00 00 00 36 5B 00 89 00 1B 07 AF FE 80 09 00 69 63 6F 6E 35 5F 30 00 BF 06 14 00 00 00 36 5D 00 89 00 1D 83 D5 18 80 09 00 69 63 6F 6E 30 5F 30 00 BF 06 21 00 00 00 36 5F 00 8E 00 C9 41 E3 50 6F 0E CA 5A C5 90 09 00 73 65 6C 65 63 74 6F 72 42 72 61 63 6B 65 74 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 02 07 01 00 02 07 07 00 02 07 0D 00 02 07 13 00 02 07 19 00 02 07 1F 00 02 07 25 00 02 07 2B 00 02 07 2F 00 02 07 33 00 02 07 37 00 02 07 4F 00 02 07 51 00 02 07 53 00 02 07 55 00 02 07 57 00 02 07 59 00 02 07 5B 00 FF 0A 08 00 00 00 70 73 69 54 72 65 65 00 BF 06 13 00 00 00 36 01 00 91 00 19 96 B5 A2 13 00 62 6F 72 64 65 72 32 00 BF 06 14 00 00 00 36 03 00 91 00 1B CB 5B 16 00 13 00 62 6F 72 64 65 72 31 00 BF 06 14 00 00 00 36 05 00 91 00 1B CB 58 C3 80 13 00 62 6F 72 64 65 72 30 00 88 06 05 3B 00 1D 36 36 02 00 88 06 05 3F 00 1D 36 1D 6E 00 88 06 05 43 00 1D 36 1C DA 00 88 06 05 47 00 1D 39 DF 08 C0 88 06 05 49 00 1D 74 87 08 C0 88 06 05 4B 00 1D 39 DF 9C 20 88 06 05 4D 00 1D 74 87 9C 20 88 06 05 5D 00 1D 35 DE 40 A0 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 00 00 FF 09 78 00 00 00 93 00 01 00 BF 06 16 00 00 00 26 01 00 5A 00 1D D7 74 3D 00 70 72 6F 6D 6F 74 69 6F 6E 42 47 00 BF 06 19 00 00 00 26 0D 00 5B 00 20 88 BF E0 6A 73 6F 6C 64 69 65 72 53 74 61 74 73 4D 43 00 BF 06 18 00 00 00 26 0E 00 5C 00 1E D8 E3 15 A0 73 6F 6C 64 69 65 72 49 6E 66 6F 4D 43 00 BF 06 11 00 00 00 26 0F 00 92 00 17 0D AD D0 74 68 65 54 72 65 65 00 40 00 00 00 3F 0E 1B 00 00 00 01 00 93 00 53 6F 6C 64 69 65 72 50 72 6F 6D 6F 74 69 6F 6E 53 63 72 65 65 6E 00 BF 06 14 00 00 00 26 01 00 93 00 1E B6 04 F8 18 74 68 65 53 63 72 65 65 6E 00 FF 09 06 00 00 00 94 00 00 00 00 00 3F 0E 1B 00 00 00 01 00 94 00 5F 5F 50 61 63 6B 61 67 65 73 2E 49 44 69 73 70 6F 73 61 62 6C 65 00 FF 0E 44 00 00 00 94 00 88 16 00 02 00 5F 67 6C 6F 62 61 6C 00 49 44 69 73 70 6F 73 61 62 6C 65 00 96 02 00 08 00 1C 96 02 00 08 01 4E 12 12 9D 02 00 14 00 96 02 00 08 00 1C 96 02 00 08 01 9B 05 00 00 00 00 00 00 4F 17 00 FF 09 06 00 00 00 95 00 00 00 00 00 3F 0E 1B 00 00 00 01 00 95 00 5F 5F 50 61 63 6B 61 67 65 73 2E 45 6E 76 69 72 6F 6E 6D 65 6E 74 00 FF 0E 43 16 00 00 95 00 88 73 06 6C 00 5F 67 6C 6F 62 61 6C 00 45 6E 76 69 72 6F 6E 6D 65 6E 74 00 67 66 78 45 78 74 65 6E 73 69 6F 6E 73 00 64 65 62 75 67 67 69 6E 67 00 67 66 78 50 6C 61 79 65 72 00 67 66 78 56 65 72 73 69 6F 6E 00 72 65 73 6F 6C 75 74 69 6F 6E 00 66 6C 61 73 68 00 67 65 6F 6D 00 52 65 63 74 61 6E 67 6C 65 00 73 61 66 65 41 72 65 61 00 61 72 72 4E 6F 74 69 66 79 55 70 6F 6E 52 65 73 6F 6C 75 74 69 6F 6E 43 68 61 6E 67 65 00 41 72 72 61 79 00 49 4E 54 00 53 65 74 4C 61 6E 67 75 61 67 65 00 70 72 6F 74 6F 74 79 70 65 00 49 44 69 73 70 6F 73 61 62 6C 65 00 69 6E 73 74 61 6E 63 65 00 5F 69 6E 73 74 61 6E 63 65 00 64 69 73 70 6F 73 65 64 00 57 41 52 4E 49 4E 47 3A 20 52 65 2D 63 72 65 61 74 69 6E 67 20 61 20 6E 65 77 20 73 69 6E 67 6C 65 74 6F 6E 20 69 6E 73 74 61 6E 63 65 20 6F 66 20 45 6E 76 69 72 6F 6E 6D 65 6E 74 28 29 20 61 66 74 65 72 20 64 69 73 70 6F 73 65 21 00 64 69 73 70 6F 73 65 00 70 6C 61 74 66 6F 72 6D 00 74 6F 53 74 72 69 6E 67 00 7B 45 6E 76 69 72 6F 6E 6D 65 6E 74 00 7C 5F 67 6C 6F 62 61 6C 2E 67 66 78 45 78 74 65 6E 73 69 6F 6E 73 3A 00 7C 5F 67 6C 6F 62 61 6C 2E 64 65 62 75 67 67 69 6E 67 3A 00 7C 6D 6F 75 73 65 41 63 74 69 76 65 3A 00 62 49 73 4D 6F 75 73 65 45 6E 61 62 6C 65 64 00 7C 7D 00 53 65 74 56 69 65 77 00 45 6E 76 69 72 6F 6E 6D 65 6E 74 2E 53 65 74 56 69 65 77 3A 20 00 2C 20 00 57 41 52 4E 49 4E 47 3A 20 55 49 20 45 6E 76 69 72 6F 6E 6D 65 6E 74 2E 53 65 74 56 69 65 77 28 29 20 72 65 63 65 69 76 65 64 20 73 61 66 65 20 61 72 65 61 20 61 62 6F 76 65 20 31 2E 30 3A 20 00 4E 6F 74 69 66 79 52 65 73 6F 6C 75 74 69 6F 6E 43 68 61 6E 67 65 00 69 50 6C 61 74 66 6F 72 6D 00 67 65 74 41 6E 63 68 6F 72 00 41 4E 43 48 4F 52 5F 54 4F 50 5F 4C 45 46 54 00 41 4E 43 48 4F 52 5F 54 4F 50 5F 43 45 4E 54 45 52 00 41 4E 43 48 4F 52 5F 54 4F 50 5F 52 49 47 48 54 00 41 4E 43 48 4F 52 5F 4D 49 44 44 4C 45 5F 4C 45 46 54 00 41 4E 43 48 4F 52 5F 4D 49 44 44 4C 45 5F 43 45 4E 54 45 52 00 41 4E 43 48 4F 52 5F 4D 49 44 44 4C 45 5F 52 49 47 48 54 00 41 4E 43 48 4F 52 5F 42 4F 54 54 4F 4D 5F 4C 45 46 54 00 41 4E 43 48 4F 52 5F 42 4F 54 54 4F 4D 5F 43 45 4E 54 45 52 00 41 4E 43 48 4F 52 5F 42 4F 54 54 4F 4D 5F 52 49 47 48 54 00 6C 65 66 74 00 74 6F 70 00 72 69 67 68 74 00 62 6F 74 74 6F 6D 00 50 6F 69 6E 74 00 73 65 74 4D 6F 75 73 65 41 63 74 69 76 65 00 49 73 4D 6F 75 73 65 41 63 74 69 76 65 00 54 6F 67 67 6C 65 4D 6F 75 73 65 48 69 74 44 65 62 75 67 67 69 6E 67 00 54 6F 67 67 6C 69 6E 67 20 4D 6F 75 73 65 20 48 69 74 20 44 65 62 75 67 67 69 6E 67 20 66 6F 72 20 27 00 27 00 6F 6E 4D 6F 75 73 65 4D 6F 76 65 00 44 65 62 75 67 4D 6F 75 73 65 54 61 72 67 65 74 69 6E 67 00 4D 6F 75 73 65 00 67 65 74 54 6F 70 4D 6F 73 74 45 6E 74 69 74 79 00 63 75 72 72 65 6E 74 4D 6F 75 73 65 54 61 72 67 65 74 00 4D 6F 75 73 65 20 74 61 72 67 65 74 20 63 68 61 6E 67 65 64 3A 20 00 49 73 50 43 00 50 4C 41 54 46 4F 52 4D 5F 50 43 00 49 73 50 53 33 00 50 4C 41 54 46 4F 52 4D 5F 50 53 33 00 49 73 58 62 6F 78 00 50 4C 41 54 46 4F 52 4D 5F 58 42 4F 58 00 53 75 62 73 63 72 69 62 65 54 6F 52 65 73 6F 6C 75 74 69 6F 6E 55 70 64 61 74 65 00 6C 65 6E 67 74 68 00 45 6E 76 69 72 6F 6E 6D 65 6E 74 2E 53 75 62 73 63 72 69 62 65 54 6F 52 65 73 6F 6C 75 74 69 6F 6E 55 70 64 61 74 65 28 29 3A 20 44 75 70 6C 69 63 61 74 65 20 73 75 62 73 63 72 69 70 74 69 6F 6E 3F 20 59 6F 75 27 72 65 20 61 6C 72 65 61 64 79 20 73 75 62 73 63 72 69 62 65 64 20 76 69 61 20 74 68 69 73 20 66 75 6E 63 74 69 6F 6E 3A 20 00 70 75 73 68 00 55 6E 73 75 62 73 63 72 69 62 65 54 6F 52 65 73 6F 6C 75 74 69 6F 6E 55 70 64 61 74 65 00 73 70 6C 69 63 65 00 46 52 41 00 53 50 41 00 49 54 41 00 44 45 55 00 4B 4F 52 00 52 55 53 00 4A 50 4E 00 50 4F 4C 00 6C 61 6E 67 75 61 67 65 00 4C 41 4E 47 55 41 47 45 5F 46 52 41 00 4C 41 4E 47 55 41 47 45 5F 53 50 41 00 4C 41 4E 47 55 41 47 45 5F 49 54 41 00 4C 41 4E 47 55 41 47 45 5F 44 45 55 00 4C 41 4E 47 55 41 47 45 5F 4B 4F 52 00 4C 41 4E 47 55 41 47 45 5F 52 55 53 00 4C 41 4E 47 55 41 47 45 5F 4A 50 4E 00 4C 41 4E 47 55 41 47 45 5F 50 4F 4C 00 4C 41 4E 47 55 41 47 45 5F 49 4E 54 00 45 6E 76 69 72 6F 6E 6D 65 6E 74 2E 53 65 74 4C 61 6E 67 75 61 67 65 3A 20 42 41 44 20 4C 41 4E 47 55 41 47 45 20 53 45 54 21 20 27 00 27 2E 20 44 65 66 61 75 6C 74 69 6E 67 20 74 6F 20 49 4E 54 2E 00 67 65 74 4C 61 6E 67 75 61 67 65 00 69 73 4C 61 6E 67 75 61 67 65 00 73 65 74 4B 6F 72 65 61 6E 41 64 76 61 6E 63 65 42 75 74 74 6F 6E 53 77 61 70 00 62 4B 6F 72 65 61 6E 41 64 76 61 6E 63 65 42 75 74 74 6F 6E 53 77 61 70 00 49 73 4B 6F 72 65 61 6E 41 64 76 61 6E 63 65 42 75 74 74 6F 6E 53 77 61 70 41 63 74 69 76 65 00 47 65 74 41 64 76 61 6E 63 65 42 75 74 74 6F 6E 49 63 6F 6E 00 49 63 6F 6E 5F 42 5F 43 69 72 63 6C 65 00 49 63 6F 6E 5F 41 5F 58 00 47 65 74 42 61 63 6B 42 75 74 74 6F 6E 49 63 6F 6E 00 53 43 52 45 45 4E 5F 57 49 44 54 48 00 53 43 52 45 45 4E 5F 48 45 49 47 48 54 00 41 4E 43 48 4F 52 5F 4E 4F 4E 45 00 4D 4F 55 53 45 5F 44 4F 55 42 4C 45 5F 43 4C 49 43 4B 5F 53 50 45 45 44 00 41 53 53 65 74 50 72 6F 70 46 6C 61 67 73 00
new: FF 0A 0B 00 00 00 6E 6F 72 6D 61 6C 54 72 65 65 00 BF 06 1E 00 00 00 36 2B 00 85 00 1D 36 27 2C E0 09 00 70 72 6F 6D 6F 74 69 6F 6E 42 72 61 63 6B 65 74 36 00 BF 06 1E 00 00 00 36 2F 00 85 00 1D 36 26 98 20 09 00 70 72 6F 6D 6F 74 69 6F 6E 42 72 61 63 6B 65 74 35 00 BF 06 1E 00 00 00 36 33 00 85 00 1D 36 26 03 E0 09 00 70 72 6F 6D 6F 74 69 6F 6E 42 72 61 63 6B 65 74 34 00 BF 06 1E 00 00 00 36 37 00 85 00 1D 36 25 6F 80 09 00 70 72 6F 6D 6F 74 69 6F 6E 42 72 61 63 6B 65 74 33 00 BF 06 1E 00 00 00 36 3B 00 85 00 1D 36 24 DA C0 09 00 70 72 6F 6D 6F 74 69 6F 6E 42 72 61 63 6B 65 74 32 00 BF 06 1E 00 00 00 36 3F 00 85 00 1D 36 24 46 00 09 00 70 72 6F 6D 6F 74 69 6F 6E 42 72 61 63 6B 65 74 31 00 BF 06 1E 00 00 00 36 43 00 85 00 1F 9B 12 EC 48 09 00 70 72 6F 6D 6F 74 69 6F 6E 42 72 61 63 6B 65 74 30 00 BF 06 14 00 00 00 36 45 00 87 00 1D 83 05 4A E0 09 00 69 63 6F 6E 30 5F 32 00 BF 06 14 00 00 00 36 47 00 87 00 1D A5 85 4A E0 09 00 69 63 6F 6E 30 5F 31 00 BF 06 14 00 00 00 36 49 00 87 00 1D C8 05 4A E0 09 00 69 63 6F 6E 30 5F 30 00 BF 06 14 00 00 00 36 4B 00 87 00 1D 83 05 DF 60 09 00 69 63 6F 6E 31 5F 32 00 BF 06 14 00 00 00 36 4D 00 87 00 1D A5 85 DF 60 09 00 69 63 6F 6E 31 5F 31 00 BF 06 14 00 00 00 36 4F 00 87 00 1D C8 05 DF 60 09 00 69 63 6F 6E 31 5F 30 00 BF 06 14 00 00 00 36 51 00 87 00 1D 83 06 73 E0 09 00 69 63 6F 6E 32 5F 32 00 BF 06 14 00 00 00 36 53 00 87 00 1D A5 86 73 E0 09 00 69 63 6F 6E 32 5F 31 00 BF 06 14 00 00 00 36 55 00 87 00 1D C8 06 73 E0 09 00 69 63 6F 6E 32 5F 30 00 BF 06 14 00 00 00 36 57 00 87 00 1D 83 07 08 60 09 00 69 63 6F 6E 33 5F 32 00 BF 06 14 00 00 00 36 59 00 87 00 1D A5 87 08 60 09 00 69 63 6F 6E 33 5F 31 00 BF 06 14 00 00 00 36 5B 00 87 00 1D C8 07 08 60 09 00 69 63 6F 6E 33 5F 30 00 BF 06 14 00 00 00 36 5D 00 87 00 1D 83 07 9C E0 09 00 69 63 6F 6E 34 5F 32 00 BF 06 14 00 00 00 36 5F 00 87 00 1D A5 87 9C E0 09 00 69 63 6F 6E 34 5F 31 00 BF 06 14 00 00 00 36 61 00 87 00 1D C8 07 9C E0 09 00 69 63 6F 6E 34 5F 30 00 BF 06 14 00 00 00 36 63 00 87 00 1D 83 00 31 60 09 00 69 63 6F 6E 35 5F 32 00 BF 06 14 00 00 00 36 65 00 87 00 1D A5 80 31 60 09 00 69 63 6F 6E 35 5F 31 00 BF 06 14 00 00 00 36 67 00 87 00 1D C8 00 31 60 09 00 69 63 6F 6E 35 5F 30 00 BF 06 14 00 00 00 36 69 00 87 00 1D 83 00 C5 E0 09 00 69 63 6F 6E 36 5F 32 00 BF 06 14 00 00 00 36 6B 00 87 00 1D A5 80 C5 E0 09 00 69 63 6F 6E 36 5F 31 00 BF 06 14 00 00 00 36 6D 00 87 00 1D C8 00 C5 E0 09 00 69 63 6F 6E 36 5F 30 00 BF 06 21 00 00 00 36 5F 00 8E 00 C9 41 E3 50 6F 0E CA 5A C5 90 09 00 73 65 6C 65 63 74 6F 72 42 72 61 63 6B 65 74 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 02 07 01 00 02 07 07 00 02 07 0D 00 02 07 13 00 02 07 19 00 02 07 1F 00 02 07 25 00 02 07 2B 00 02 07 2F 00 02 07 33 00 02 07 37 00 02 07 4F 00 02 07 51 00 02 07 53 00 02 07 55 00 02 07 57 00 02 07 59 00 02 07 5B 00 FF 0A 08 00 00 00 70 73 69 54 72 65 65 00 BF 06 13 00 00 00 36 01 00 91 00 19 96 B5 A2 13 00 62 6F 72 64 65 72 32 00 BF 06 14 00 00 00 36 03 00 91 00 1B CB 5B 16 00 13 00 62 6F 72 64 65 72 31 00 BF 06 14 00 00 00 36 05 00 91 00 1B CB 58 C3 80 13 00 62 6F 72 64 65 72 30 00 88 06 05 3B 00 1D 36 36 02 00 88 06 05 3F 00 1D 36 1D 6E 00 88 06 05 43 00 1D 36 1C DA 00 88 06 05 47 00 1D 39 DF 08 C0 88 06 05 49 00 1D 74 87 08 C0 88 06 05 4B 00 1D 39 DF 9C 20 88 06 05 4D 00 1D 74 87 9C 20 88 06 05 5D 00 1D 35 DE 40 A0 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 00 00 FF 09 78 00 00 00 93 00 01 00 BF 06 16 00 00 00 26 01 00 5A 00 1D D7 74 3D 00 70 72 6F 6D 6F 74 69 6F 6E 42 47 00 BF 06 19 00 00 00 26 0D 00 5B 00 20 88 BF E0 6A 73 6F 6C 64 69 65 72 53 74 61 74 73 4D 43 00 BF 06 18 00 00 00 26 0E 00 5C 00 1E D8 E3 15 A0 73 6F 6C 64 69 65 72 49 6E 66 6F 4D 43 00 BF 06 11 00 00 00 26 0F 00 92 00 17 0D AD D0 74 68 65 54 72 65 65 00 40 00 00 00 3F 0E 1B 00 00 00 01 00 93 00 53 6F 6C 64 69 65 72 50 72 6F 6D 6F 74 69 6F 6E 53 63 72 65 65 6E 00 BF 06 14 00 00 00 26 01 00 93 00 1E B6 04 F8 18 74 68 65 53 63 72 65 65 6E 00 FF 09 06 00 00 00 94 00 00 00 00 00 3F 0E 1B 00 00 00 01 00 94 00 5F 5F 50 61 63 6B 61 67 65 73 2E 49 44 69 73 70 6F 73 61 62 6C 65 00 FF 0E 44 00 00 00 94 00 88 16 00 02 00 5F 67 6C 6F 62 61 6C 00 49 44 69 73 70 6F 73 61 62 6C 65 00 96 02 00 08 00 1C 96 02 00 08 01 4E 12 12 9D 02 00 14 00 96 02 00 08 00 1C 96 02 00 08 01 9B 05 00 00 00 00 00 00 4F 17 00 FF 09 06 00 00 00 95 00 00 00 00 00 3F 0E 1B 00 00 00 01 00 95 00 5F 5F 50 61 63 6B 61 67 65 73 2E 45 6E 76 69 72 6F 6E 6D 65 6E 74 00 FF 0E 56 15 00 00 95 00 88 86 05 6C 00 5F 67 6C 6F 62 61 6C 00 45 6E 76 69 72 6F 6E 6D 65 6E 74 00 67 66 78 45 78 74 65 6E 73 69 6F 6E 73 00 64 65 62 75 67 67 69 6E 67 00 67 66 78 50 6C 61 79 65 72 00 67 66 78 56 65 72 73 69 6F 6E 00 72 65 73 6F 6C 75 74 69 6F 6E 00 66 6C 61 73 68 00 67 65 6F 6D 00 52 65 63 74 61 6E 67 6C 65 00 73 61 66 65 41 72 65 61 00 61 72 72 4E 6F 74 69 66 79 55 70 6F 6E 52 65 73 6F 6C 75 74 69 6F 6E 43 68 61 6E 67 65 00 41 72 72 61 79 00 49 4E 54 00 53 65 74 4C 61 6E 67 75 61 67 65 00 70 72 6F 74 6F 74 79 70 65 00 49 44 69 73 70 6F 73 61 62 6C 65 00 69 6E 73 74 61 6E 63 65 00 5F 69 6E 73 74 61 6E 63 65 00 64 69 73 70 6F 73 65 64 00 57 41 52 4E 49 4E 47 3A 20 00 64 69 73 70 6F 73 65 00 70 6C 61 74 66 6F 72 6D 00 74 6F 53 74 72 69 6E 67 00 7B 45 6E 76 69 72 6F 6E 6D 65 6E 74 00 7C 5F 67 6C 6F 62 61 6C 2E 67 66 78 45 78 74 65 6E 73 69 6F 6E 73 3A 00 7C 5F 67 6C 6F 62 61 6C 2E 64 65 62 75 67 67 69 6E 67 3A 00 7C 6D 6F 75 73 65 41 63 74 69 76 65 3A 00 62 49 73 4D 6F 75 73 65 45 6E 61 62 6C 65 64 00 7C 7D 00 53 65 74 56 69 65 77 00 45 6E 76 69 72 6F 6E 6D 65 6E 74 2E 53 65 74 56 69 65 77 3A 20 00 2C 20 00 57 41 52 4E 49 4E 47 3A 20 00 4E 6F 74 69 66 79 52 65 73 6F 6C 75 74 69 6F 6E 43 68 61 6E 67 65 00 69 50 6C 61 74 66 6F 72 6D 00 67 65 74 41 6E 63 68 6F 72 00 41 4E 43 48 4F 52 5F 54 4F 50 5F 4C 45 46 54 00 41 4E 43 48 4F 52 5F 54 4F 50 5F 43 45 4E 54 45 52 00 41 4E 43 48 4F 52 5F 54 4F 50 5F 52 49 47 48 54 00 41 4E 43 48 4F 52 5F 4D 49 44 44 4C 45 5F 4C 45 46 54 00 41 4E 43 48 4F 52 5F 4D 49 44 44 4C 45 5F 43 45 4E 54 45 52 00 41 4E 43 48 4F 52 5F 4D 49 44 44 4C 45 5F 52 49 47 48 54 00 41 4E 43 48 4F 52 5F 42 4F 54 54 4F 4D 5F 4C 45 46 54 00 41 4E 43 48 4F 52 5F 42 4F 54 54 4F 4D 5F 43 45 4E 54 45 52 00 41 4E 43 48 4F 52 5F 42 4F 54 54 4F 4D 5F 52 49 47 48 54 00 6C 65 66 74 00 74 6F 70 00 72 69 67 68 74 00 62 6F 74 74 6F 6D 00 50 6F 69 6E 74 00 73 65 74 4D 6F 75 73 65 41 63 74 69 76 65 00 49 73 4D 6F 75 73 65 41 63 74 69 76 65 00 54 6F 67 67 6C 65 4D 6F 75 73 65 48 69 74 44 65 62 75 67 67 69 6E 67 00 54 6F 67 67 6C 69 6E 67 20 4D 6F 75 73 65 20 48 69 74 20 44 65 62 75 67 67 69 6E 67 20 66 6F 72 20 27 00 27 00 6F 6E 4D 6F 75 73 65 4D 6F 76 65 00 44 65 62 75 67 4D 6F 75 73 65 54 61 72 67 65 74 69 6E 67 00 4D 6F 75 73 65 00 67 65 74 54 6F 70 4D 6F 73 74 45 6E 74 69 74 79 00 63 75 72 72 65 6E 74 4D 6F 75 73 65 54 61 72 67 65 74 00 4D 6F 75 73 65 20 74 61 72 67 65 74 20 63 68 61 6E 67 65 64 3A 20 00 49 73 50 43 00 50 4C 41 54 46 4F 52 4D 5F 50 43 00 49 73 50 53 33 00 50 4C 41 54 46 4F 52 4D 5F 50 53 33 00 49 73 58 62 6F 78 00 50 4C 41 54 46 4F 52 4D 5F 58 42 4F 58 00 53 75 62 73 63 72 69 62 65 54 6F 52 65 73 6F 6C 75 74 69 6F 6E 55 70 64 61 74 65 00 6C 65 6E 67 74 68 00 45 20 00 70 75 73 68 00 55 6E 73 75 62 73 63 72 69 62 65 54 6F 52 65 73 6F 6C 75 74 69 6F 6E 55 70 64 61 74 65 00 73 70 6C 69 63 65 00 46 52 41 00 53 50 41 00 49 54 41 00 44 45 55 00 4B 4F 52 00 52 55 53 00 4A 50 4E 00 50 4F 4C 00 6C 61 6E 67 75 61 67 65 00 4C 41 4E 47 55 41 47 45 5F 46 52 41 00 4C 41 4E 47 55 41 47 45 5F 53 50 41 00 4C 41 4E 47 55 41 47 45 5F 49 54 41 00 4C 41 4E 47 55 41 47 45 5F 44 45 55 00 4C 41 4E 47 55 41 47 45 5F 4B 4F 52 00 4C 41 4E 47 55 41 47 45 5F 52 55 53 00 4C 41 4E 47 55 41 47 45 5F 4A 50 4E 00 4C 41 4E 47 55 41 47 45 5F 50 4F 4C 00 4C 41 4E 47 55 41 47 45 5F 49 4E 54 00 45 6E 76 69 72 6F 6E 6D 65 6E 74 2E 53 65 74 4C 61 6E 67 3A 20 42 41 44 20 4C 41 4E 47 55 41 47 45 20 53 45 54 21 20 27 00 27 2E 20 44 65 66 61 75 6C 74 69 6E 67 20 74 6F 20 49 4E 54 2E 00 67 65 74 4C 61 6E 67 75 61 67 65 00 69 73 4C 61 6E 67 75 61 67 65 00 73 65 74 4B 6F 72 65 61 6E 41 64 76 61 6E 63 65 42 75 74 74 6F 6E 53 77 61 70 00 62 4B 6F 72 65 61 6E 41 64 76 61 6E 63 65 42 75 74 74 6F 6E 53 77 61 70 00 49 73 4B 6F 72 65 61 6E 41 64 76 61 6E 63 65 42 75 74 74 6F 6E 53 77 61 70 41 63 74 69 76 65 00 47 65 74 41 64 76 61 6E 63 65 42 75 74 74 6F 6E 49 63 6F 6E 00 49 63 6F 6E 5F 42 5F 43 69 72 63 6C 65 00 49 63 6F 6E 5F 41 5F 58 00 47 65 74 42 61 63 6B 42 75 74 74 6F 6E 49 63 6F 6E 00 53 43 52 45 45 4E 5F 57 49 44 54 48 00 53 43 52 45 45 4E 5F 48 45 49 47 48 54 00 41 4E 43 48 4F 52 5F 4E 4F 4E 45 00 4D 4F 55 53 45 5F 44 4F 55 42 4C 45 5F 43 4C 49 43 4B 5F 53 50 45 45 44 00 41 53 53 65 74 50 72 6F 70 46 6C 61 67 73 00

Decompiled Code

Original Code
<PlaceObject2 idref=85 name='icon1_1' depth=4y matrix='t -3977,-4342' ratio=9/> 
<PlaceObject2 idref=85 name='icon1_0' depth=4y matrix='t -1775,-4353' ratio=9/> 
<PlaceObject2 idref=85 name='icon2_1' depth=4y matrix='t -3977,-3174' ratio=9/> 
<PlaceObject2 idref=85 name='icon2_0' depth=4y matrix='t -1775,-3173' ratio=9/> 
<PlaceObject2 idref=85 name='icon3_1' depth=4y matrix='t -3977,-1965' ratio=9/> 
<PlaceObject2 idref=85 name='icon3_0' depth=4y matrix='t -1775,-1973' ratio=9/> 
<PlaceObject2 idref=85 name='icon4_1' depth=4y matrix='t -3977,-794' ratio=9/> 
<PlaceObject2 idref=85 name='icon4_0' depth=4y matrix='t -1775,-793' ratio=9/> 
<PlaceObject2 idref=85 name='icon6_1' depth=4y matrix='t -3977,1586' ratio=9/> 
<PlaceObject2 idref=85 name='icon6_0' depth=4y matrix='t -1775,1588' ratio=9/> 
<PlaceObject2 idref=85 name='icon5_0' depth=4y matrix='t -3974,-48' ratio=9/> 
<PlaceObject2 idref=85 name='icon0_0' depth=4y matrix='t -3974,-5948' ratio=9/> 

New Code
<PlaceObject2 idref=85 name='icon0_2' depth=45 matrix='t -4000,-5545' ratio=9/> 
<PlaceObject2 idref=85 name='icon0_1' depth=47 matrix='t -2896,-5545' ratio=9/> 
<PlaceObject2 idref=85 name='icon0_0' depth=49 matrix='t -1792,-5545' ratio=9/> 
<PlaceObject2 idref=85 name='icon1_2' depth=4B matrix='t -4000,-4357' ratio=9/> 
<PlaceObject2 idref=85 name='icon1_1' depth=4D matrix='t -2896,-4357' ratio=9/> 
<PlaceObject2 idref=85 name='icon1_0' depth=4F matrix='t -1792,-4357' ratio=9/> 
<PlaceObject2 idref=85 name='icon2_2' depth=51 matrix='t -4000,-3169' ratio=9/> 
<PlaceObject2 idref=85 name='icon2_1' depth=53 matrix='t -2896,-3169' ratio=9/> 
<PlaceObject2 idref=85 name='icon2_0' depth=55 matrix='t -1792,-3169' ratio=9/> 
<PlaceObject2 idref=85 name='icon3_2' depth=57 matrix='t -4000,-1981' ratio=9/> 
<PlaceObject2 idref=85 name='icon3_1' depth=59 matrix='t -2896,-1981' ratio=9/> 
<PlaceObject2 idref=85 name='icon3_0' depth=5B matrix='t -1792,-1981' ratio=9/> 
<PlaceObject2 idref=85 name='icon4_2' depth=5D matrix='t -4000,-793' ratio=9/> 
<PlaceObject2 idref=85 name='icon4_1' depth=5F matrix='t -2896,-793' ratio=9/> 
<PlaceObject2 idref=85 name='icon4_0' depth=61 matrix='t -1792,-793' ratio=9/> 
<PlaceObject2 idref=85 name='icon5_2' depth=63 matrix='t -4000,395' ratio=9/> 
<PlaceObject2 idref=85 name='icon5_1' depth=65 matrix='t -2896,395' ratio=9/> 
<PlaceObject2 idref=85 name='icon5_0' depth=67 matrix='t -1792,395' ratio=9/> 
<PlaceObject2 idref=85 name='icon6_2' depth=69 matrix='t -4000,1583' ratio=9/> 
<PlaceObject2 idref=85 name='icon6_1' depth=6B matrix='t -2896,1583' ratio=9/> 
<PlaceObject2 idref=85 name='icon6_0' depth=6D matrix='t -1792,1583' ratio=9/> 

Additional changes not reflected via the decompiled code:

  1. Changed the size define the Environment package header from 0x1643 to 0x1556
  2. Changed the constant pool header size from 0x673 to 0x586
  3. Shortened the following strings in the Environment constant pool:
    1. "WARNING: Re-creating a new singleton instance of Environment() after dispose!" to "WARNING " (68 bytes recovered)
    2. "WARNING: UI Environment.SetView() received safe area above 1.0: " to "WARNING " (55 bytes recovered)
    3. "Environment.SubscribeToResolutionUpdate(): Duplicate subscription? You're already subscribed via this function: " to "E " (110 bytes recovered)
    4. "Environment.SetLanguage: BAD LANGUAGE SET! '" to "Environment.SetLang: BAD LANGUAGE SET! '" (4 bytes recovered)


References

Referred to by this article:

That refer to this article: