Finally... A Port Royale 3 Extractor :P
#1
Hi Guys/Girls,

Finally got around to sorting out PR3's data file format. It took some time too. Damn FS Node logic had me scratching my head for a few hours.

Currently PR3_Extract can only extract files - and at the moment you have to extract ALL the files.

I'll implement other functions later - like creating a .fuk file. I decided to rush ahead and give people something to play around with first. Big Grin

BTW... the PR3_Extract runs from the commandline - no GUI at the moment.

Usage: PortRoyale3_Extract.exe e <.fuk file> <Destination Folder>

Example: PortRoyale3_Extract.exe e "C:\Games\Port Royale 3\data.fuk" "C:\PR3 DATA"

Download: http://www.openkaos.net/pr3/PortRoyale3_Extract.rar

Note: If you then copy the extracted files into the Port Royale 3 Install folder - and MOVE the .fuk file to a COMPLETELY different folder ( ie. C:\ )... you can play the game without the .fuk files. Which will be usefull if you plan on trying to mod the game. Big Grin

Anyways, if you have any problems please reply.

ScreenShots:

Files are extracting! YAHOOO!
[Image: http://www.openkaos.net/pr3/ExtractInProgress.jpg]

Files, files and more files. 7221 files in data.fuk to be exact. Big Grin ( With 7820 Entries in total = 599 Folders )
[Image: http://www.openkaos.net/pr3/ExtractedFiles.jpg]

Showcasing one of the DDS files - in this case - a loading screen you should be familiar with.
[Image: http://www.openkaos.net/pr3/LoadingScreen.jpg]
Reply
#2
thx
worked for me

Edit:
any idea why it didnt work for the patrician4 fuk files?
Reply
#3
Good to know it worked for you.

I didn't write it with P4 in mind - i worked out the file format based on what i could see PR3 was doing. While the .fuk files for P4 and PR3 have essentially the same structure, P4 makes use of some areas differenly than i saw PR3 doing. ( From what i can initially tell. )

My app is not a Rosetta Stone - while i understand most of the data format - alternate uses for each of the data structures were hard to figure out. And all i could see was how it worked for PR3 - P4 is slightly different.

I'll be spending some more time tying up the loose ends later. Smile
Reply
#4
You sir are a gentleman and a scholar, I salute you Smile
Reply
#5
This is amazing news, thank you sir Smile
Reply
#6
Amazing..... since it plays without the fuk no rush on the fukpacker lol
You must live in a pretty smart town Wink

thanks a LOT
Reply
#7
first minimod/bugfix:
in the ini directory ther ist the file controldefaults.xml -> change:
Code:
<control name="AK_OFFICE_PREV" inisection="AK_OFFICE_PREV"><key name="EKI_TAB" shiftmask="1"/><pad-button name="BTN_RTHUMB_LEFT" repeat="1"/></control><control name="AK_OFFICE_NEXT" inisection="AK_OFFICE_NEXT"><key name="EKI_TAB" shiftmask="0"/><pad-button name="BTN_RTHUMB_RIGHT" repeat="1"/></control>
into
Code:
<control name="AK_OFFICE_PREV" inisection="AK_OFFICE_PREV"><key name="EKI_M" shiftmask="1"/><pad-button name="BTN_RTHUMB_LEFT" repeat="1"/></control><control name="AK_OFFICE_NEXT" inisection="AK_OFFICE_NEXT"><key name="EKI_M" shiftmask="0"/><pad-button name="BTN_RTHUMB_RIGHT" repeat="1"/></control>
EKI_TAB => EKI_M
that way tabbing through the menu is possible and with M and SHIFT-M you can tab through your towns without changing the dialog selection
Reply
#8
It would be great to have more than one window/menu open and tabbing between them and be able to move them around, just like in windows.
Reply
#9
(20-05-2012, 03:59 PM)TheVillageIdiot Wrote: Note: If you then copy the extracted files into the Port Royale 3 Install folder - and MOVE the .fuk file to a COMPLETELY different folder ( ie. C:\ )... you can play the game without the .fuk files. Which will be usefull if you plan on trying to mod the game. Big Grin

Wait, so if I understand correctly, we can extract all the .fuk files into the install directory, delete (or move) the .fuk files, and if we modify the extracted files, the game will use them?
Reply
#10
(20-05-2012, 10:32 PM)TheDudeAbides Wrote:
(20-05-2012, 03:59 PM)TheVillageIdiot Wrote: Note: If you then copy the extracted files into the Port Royale 3 Install folder - and MOVE the .fuk file to a COMPLETELY different folder ( ie. C:\ )... you can play the game without the .fuk files. Which will be usefull if you plan on trying to mod the game. Big Grin

Wait, so if I understand correctly, we can extract all the .fuk files into the install directory, delete (or move) the .fuk files, and if we modify the extracted files, the game will use them?

Exactly. Big Grin

Although i dont recommend deleteing the .fuk files - However, i do recommend moving outside the Install directory, as PR3 adds the files/folders within it's Install directory into it's internal File System.
Reply
#11
Any chance for some source code or info on the file format? Thanks for taking the time to work it out.
Reply
#12
(21-05-2012, 12:53 AM)TheVillageIdiot Wrote:
(20-05-2012, 10:32 PM)TheDudeAbides Wrote:
(20-05-2012, 03:59 PM)TheVillageIdiot Wrote: Note: If you then copy the extracted files into the Port Royale 3 Install folder - and MOVE the .fuk file to a COMPLETELY different folder ( ie. C:\ )... you can play the game without the .fuk files. Which will be usefull if you plan on trying to mod the game. Big Grin

Wait, so if I understand correctly, we can extract all the .fuk files into the install directory, delete (or move) the .fuk files, and if we modify the extracted files, the game will use them?

Exactly. Big Grin

Although i dont recommend deleteing the .fuk files - However, i do recommend moving outside the Install directory, as PR3 adds the files/folders within it's Install directory into it's internal File System.

Ok, well villageIdiot, if you're a random person with 3 posts, then thanks. And if you're Kalypso helping us to mod, then thanks even more.
Reply
#13
Well done matey Smile
Reply
#14
So, the real question is how can I use this to resize my trading window so I don't have to scroll?

I found the dialog_trade.swf file in the UI folder, but don't know much about coding and compiling flash. I put it through an online decompiler and got the source code, but I didnt find any explicit mentions of sizing in the code.
Reply
#15
(20-05-2012, 03:59 PM)TheVillageIdiot Wrote: Hi Guys/Girls,

Finally got around to sorting out PR3's data file format. It took some time too. Damn FS Node logic had me scratching my head for a few hours.

Currently PR3_Extract can only extract files - and at the moment you have to extract ALL the files.

I'll implement other functions later - like creating a .fuk file. I decided to rush ahead and give people something to play around with first. Big Grin

BTW... the PR3_Extract runs from the commandline - no GUI at the moment.

Usage: PortRoyale3_Extract.exe e <.fuk file> <Destination Folder>

Example: PortRoyale3_Extract.exe e "C:\Games\Port Royale 3\data.fuk" "C:\PR3 DATA"

Download: http://www.openkaos.net/pr3/PortRoyale3_Extract.rar

Note: If you then copy the extracted files into the Port Royale 3 Install folder - and MOVE the .fuk file to a COMPLETELY different folder ( ie. C:\ )... you can play the game without the .fuk files. Which will be usefull if you plan on trying to mod the game. Big Grin

Anyways, if you have any problems please reply.

ScreenShots:

Files are extracting! YAHOOO!
[Image: http://www.openkaos.net/pr3/ExtractInProgress.jpg]

Files, files and more files. 7221 files in data.fuk to be exact. Big Grin ( With 7820 Entries in total = 599 Folders )
[Image: http://www.openkaos.net/pr3/ExtractedFiles.jpg]

Showcasing one of the DDS files - in this case - a loading screen you should be familiar with.
[Image: http://www.openkaos.net/pr3/LoadingScreen.jpg]
Master Smile
but it dont work on x64 bits system
Reply
#16
i have 64bit vista and it works
Reply
#17
(21-05-2012, 08:25 PM)Falko Wrote: i have 64bit vista and it works

64-bit win7, worked fine for me.
Reply
#18
for me it only show and hide ;(
Reply
#19
(21-05-2012, 10:29 PM)Katsuyoschi Wrote: for me it only show and hide ;(

You need to run it from the command line, as summarized in the first post.
Reply
#20
So has anyone been playing around with the extracted files? Falko? I'm already using your minimod/bugfix
Reply
#21
How do I attach code to a post? I want to post the decompiled dialog_trade.swf, but it's 7500 lines long.

Code:
package pr3.dialog {
    import gm.focuselement.*;

    public class Dialog extends FocusElement {

    }
}//package pr3.dialog
package pr3.dialog {
    import gm.focuselement.*;

    public class DialogPage extends FocusElement {

        public var m_PageClass:String = "<insert-classname>";
        public var m_PageButtonText:String = "ID_NONE";

        public function get pageClass():String{
            return (m_PageClass);
        }
        public function set pageClass(_arg1:String):void{
            m_PageClass = _arg1;
        }
        public function get pageButtonText():String{
            return (m_PageButtonText);
        }
        public function set pageButtonText(_arg1:String):void{
            m_PageButtonText = _arg1;
        }

    }
}//package pr3.dialog
package pr3.helpers.simplehorizontalcenterlayout {
    import flash.display.*;
    import flash.events.*;
    import pr3.helpers.*;

    public class SimpleHorizontalCenterLayout extends EventDispatcher {

        private var m_Elements:Array;
        private var m_Center:Number = 0;

        public function SimpleHorizontalCenterLayout(){
            m_Elements = new Array();
            super();
        }
        public function addElement(_arg1:DisplayObject){
            var _local2:Element;
            var _local3:*;
            if (null != _arg1){
                m_Center = (m_Center + (_arg1.width / 2));
                _local2 = (((m_Elements.length > 0)) ? (m_Elements[(m_Elements.length - 1)] as Element) : null);
                if (_local2 == null){
                    m_Center = (m_Center + _arg1.x);
                    m_Elements.push(new Element(_arg1, 0));
                } else {
                    _local3 = (_arg1.x - (_local2.m_Element.x + _local2.m_Element.width));
                    m_Center = (m_Center + (_local3 / 2));
                    m_Elements.push(new Element(_arg1, _local3));
                };
            };
        }
        public function doLayout(){
            var _local4:Element;
            var _local1:Number = 0;
            var _local2:uint;
            while (m_Elements.length > _local2) {
                _local4 = (m_Elements[_local2] as Element);
                _local1 = (_local1 + (_local4.m_Element.width + _local4.m_Offset));
                _local2++;
            };
            var _local3:Number = (m_Center - (_local1 / 2));
            _local2 = 0;
            while (m_Elements.length > _local2) {
                _local4 = (m_Elements[_local2] as Element);
                _local4.m_Element.x = (_local3 + _local4.m_Offset);
                _local3 = (_local3 + (_local4.m_Element.width + _local4.m_Offset));
                _local2++;
            };
            dispatchEvent(new LayoutEvent(LayoutEvent.LAYOUT_DONE));
        }
        public function changeElementsY(_arg1:Number){
            var _local2:Element;
            for each (_local2 in m_Elements) {
                _local2.m_Element.y = (_local2.m_Element.y + Number(int(_arg1)));
            };
        }
        public function clearElements(){
            m_Elements = [];
        }

    }
}//package pr3.helpers.simplehorizontalcenterlayout
package pr3.helpers.simplehorizontalcenterlayout {
    import flash.display.*;

    final class Element {

        public var m_Element:DisplayObject;
        public var m_Offset:Number;

        public function Element(_arg1:DisplayObject, _arg2:Number){
            m_Element = _arg1;
            m_Offset = _arg2;
        }
    }
}//package pr3.helpers.simplehorizontalcenterlayout
package pr3.helpers {
    import flash.events.*;

    public class LayoutEvent extends Event {

        public static const LAYOUT_DONE:String = "layoutevent_done";

        public function LayoutEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
            super(_arg1, _arg2, _arg3);
        }
        override public function clone():Event{
            return (new LayoutEvent(type, bubbles, cancelable));
        }
        override public function toString():String{
            return (formatToString("LayoutEvent", "type", "bubbles", "cancelable", "eventPhase"));
        }

    }
}//package pr3.helpers
package {
    import flash.display.*;

    public dynamic class icon_trade_town_convoy extends BitmapData {

        public function icon_trade_town_convoy(_arg1:int=106, _arg2:int=17){
            super(_arg1, _arg2);
        }
    }
}//package
package components.textbutton {
    import gm.textbutton.*;

    public class Visual_TextButton_Tab extends TextButton {

    }
}//package components.textbutton
package components.animatedelement {
    import gm.animatedelement.*;

    public class Visual_AniElement_Reputationmarker extends AnimatedElement {

    }
}//package components.animatedelement
package components.scrollbar {
    import gm.scrollbar.*;

    public class Visual_Scrollbar_List extends Scrollbar {

    }
}//package components.scrollbar
package components.textfield {
    import gm.textfield.*;

    public class Visual_Textfeld_16_Ml extends Textfield {

    }
}//package components.textfield
package components.textfield {
    import gm.textfield.*;

    public class Visual_Textfeld_16 extends Textfield {

    }
}//package components.textfield
package components.button {
    import gm.button.*;

    public class Visual_IconButton_soldier1 extends Button {

    }
}//package components.button
package components.button {
    import gm.button.*;

    public class Visual_IconButton_Town_Storage extends Button {

    }
}//package components.button
package components.button {
    import gm.button.*;

    public class Visual_IconButton_TownAttack extends Button {

    }
}//package components.button
package components.button {
    import gm.button.*;

    public class Visual_IconButton_habitants extends Button {

    }
}//package components.button
package components.button {
    import gm.button.*;

    public class Visual_IconButton_Town extends Button {

    }
}//package components.button
package components.button {
    import gm.button.*;

    public class Visual_IconButton_Goods extends Button {

    }
}//package components.button
package components.button {
    import gm.button.*;

    public class Visual_IconButton_NationFlag_Alpha extends Button {

    }
}//package components.button
package components.button {
    import gm.button.*;

    public class Visual_IconButton_Barrels_Consumption extends Button {

    }
}//package components.button
package components.button {
    import gm.button.*;

    public class Visual_IconButton_Workshop extends Button {

    }
}//package components.button
package components.button {
    import gm.button.*;

    public class Visual_IconButton_ThumbsUp extends Button {

    }
}//package components.button
package components.button {
    import gm.button.*;

    public class Visual_Button_Infotext extends Button {

    }
}//package components.button
package components.button {
    import gm.button.*;

    public class Visual_IconButton_occupancy extends Button {

    }
}//package components.button
package components.button {
    import gm.button.*;

    public class Visual_IconButton_Barrels_Production extends Button {

    }
}//package components.button
package components.button {
    import gm.button.*;

    public class Visual_IconButton_Ship_Storage extends Button {

    }
}//package components.button
package components.button {
    import gm.button.*;

    public class Visual_ListButton_Trade extends Button {

    }
}//package components.button
package components.button {
    import gm.button.*;

    public class Visual_IconButton_arrowUpDown extends Button {

    }
}//package components.button
package components.button {
    import gm.button.*;

    public class Visual_IconButton_buildings01 extends Button {

    }
}//package components.button
package components.button {
    import gm.button.*;

    public class Visual_IconButton_SettlerState extends Button {

    }
}//package components.button
package components.button {
    import gm.button.*;

    public class Visual_IconButton_Office_Storage extends Button {

    }
}//package components.button
package components.button {
    import gm.button.*;

    public class Visual_IconButton_Ship_Regular extends Button {

    }
}//package components.button
package components.button {
    import gm.button.*;

    public class Visual_ListButton_Equipment extends Button {

    }
}//package components.button
package components.button {
    import gm.button.*;

    public class Visual_IconButton_settlers extends Button {

    }
}//package components.button
package components.button {
    import gm.button.*;

    public class Visual_IconButton_Towninfo extends Button {

    }
}//package components.button
package components.button {
    import gm.button.*;

    public class Visual_ListButton_TownGoods extends Button {

    }
}//package components.button
package components.button {
    import gm.button.*;

    public class Visual_IconButton_goods_price extends Button {

    }
}//package components.button
package components.button {
    import gm.button.*;

    public class Visual_IconButton_Goods_Price_Average extends Button {

    }
}//package components.button
package components.focuselement {
    import flash.display.*;
    import flash.events.*;
    import gm.element.*;
    import flash.text.*;
    import components.textbutton.*;
    import flash.utils.*;
    import flash.external.*;

    public class Visual_Tab_Buttons_Pad extends Element {

        public var bt_tab_3:Visual_TextButton_Tab;
        public var bt_tab_0:Visual_TextButton_Tab;
        public var bt_tab_1:Visual_TextButton_Tab;
        public var mc_mask:MovieClip;
        public var bt_tab_4:Visual_TextButton_Tab;
        public var bt_tab_5:Visual_TextButton_Tab;
        public var bt_tab_2:Visual_TextButton_Tab;

        public function Visual_Tab_Buttons_Pad(){
            addFrameScript(0, frame1);
            __setProp_bt_tab_0_Visual_Tab_Buttons_Pad_bt_tab_0_0();
            __setProp_bt_tab_1_Visual_Tab_Buttons_Pad_bt_tab_1_0();
            __setProp_bt_tab_2_Visual_Tab_Buttons_Pad_bt_tab_2_0();
            __setProp_bt_tab_3_Visual_Tab_Buttons_Pad_bt_tab_3_0();
            __setProp_bt_tab_4_Visual_Tab_Buttons_Pad_bt_tab_4_0();
            __setProp_bt_tab_5_Visual_Tab_Buttons_Pad_bt_tab_5_0();
        }
        function __setProp_bt_tab_0_Visual_Tab_Buttons_Pad_bt_tab_0_0(){
            try {
                bt_tab_0["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            bt_tab_0.autoSizeX = "none";
            bt_tab_0.bold = false;
            bt_tab_0.buttonType = "check";
            bt_tab_0.colorRes = "ID_GUI_DEF_COLOR_TAB";
            bt_tab_0.enabled = true;
            bt_tab_0.filterColorRes = "ID_GUI_DEF_COLOR_FILTER";
            bt_tab_0.fontSize = 0;
            bt_tab_0.htmlText = true;
            bt_tab_0.instaPress = false;
            bt_tab_0.isComponent = true;
            bt_tab_0.italic = false;
            bt_tab_0.mouseWheel = false;
            bt_tab_0.navDown = "";
            bt_tab_0.navLeft = "";
            bt_tab_0.navRight = "";
            bt_tab_0.navTabBackward = "";
            bt_tab_0.navTabForward = "";
            bt_tab_0.navUp = "";
            bt_tab_0.pressAction = "PRESS";
            bt_tab_0.repeatDelay = 0;
            bt_tab_0.repeatRate = 0;
            bt_tab_0.soundFocus = "ID_GUI_DEF_SOUND_BUTTON_FOCUS_DEFAULT";
            bt_tab_0.soundPressNeg = "ID_GUI_DEF_SOUND_BUTTON_NEG_DEFAULT";
            bt_tab_0.soundPressPos = "ID_GUI_DEF_SOUND_BUTTON_PRESS_DEFAULT";
            bt_tab_0.textAlignH = "center";
            bt_tab_0.textAlignV = 0;
            bt_tab_0.textRes = "";
            bt_tab_0.tooltipRes = "";
            bt_tab_0.underline = false;
            bt_tab_0.unfocusedInput = false;
            bt_tab_0.visible = true;
            try {
                bt_tab_0["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function __setProp_bt_tab_1_Visual_Tab_Buttons_Pad_bt_tab_1_0(){
            try {
                bt_tab_1["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            bt_tab_1.autoSizeX = "none";
            bt_tab_1.bold = false;
            bt_tab_1.buttonType = "check";
            bt_tab_1.colorRes = "ID_GUI_DEF_COLOR_TAB";
            bt_tab_1.enabled = true;
            bt_tab_1.filterColorRes = "ID_GUI_DEF_COLOR_FILTER";
            bt_tab_1.fontSize = 0;
            bt_tab_1.htmlText = true;
            bt_tab_1.instaPress = false;
            bt_tab_1.isComponent = true;
            bt_tab_1.italic = false;
            bt_tab_1.mouseWheel = false;
            bt_tab_1.navDown = "";
            bt_tab_1.navLeft = "";
            bt_tab_1.navRight = "";
            bt_tab_1.navTabBackward = "";
            bt_tab_1.navTabForward = "";
            bt_tab_1.navUp = "";
            bt_tab_1.pressAction = "PRESS";
            bt_tab_1.repeatDelay = 0;
            bt_tab_1.repeatRate = 0;
            bt_tab_1.soundFocus = "ID_GUI_DEF_SOUND_BUTTON_FOCUS_DEFAULT";
            bt_tab_1.soundPressNeg = "ID_GUI_DEF_SOUND_BUTTON_NEG_DEFAULT";
            bt_tab_1.soundPressPos = "ID_GUI_DEF_SOUND_BUTTON_PRESS_DEFAULT";
            bt_tab_1.textAlignH = "center";
            bt_tab_1.textAlignV = 0;
            bt_tab_1.textRes = "";
            bt_tab_1.tooltipRes = "";
            bt_tab_1.underline = false;
            bt_tab_1.unfocusedInput = false;
            bt_tab_1.visible = true;
            try {
                bt_tab_1["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function __setProp_bt_tab_2_Visual_Tab_Buttons_Pad_bt_tab_2_0(){
            try {
                bt_tab_2["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            bt_tab_2.autoSizeX = "none";
            bt_tab_2.bold = false;
            bt_tab_2.buttonType = "check";
            bt_tab_2.colorRes = "ID_GUI_DEF_COLOR_TAB";
            bt_tab_2.enabled = true;
            bt_tab_2.filterColorRes = "ID_GUI_DEF_COLOR_FILTER";
            bt_tab_2.fontSize = 0;
            bt_tab_2.htmlText = true;
            bt_tab_2.instaPress = false;
            bt_tab_2.isComponent = true;
            bt_tab_2.italic = false;
            bt_tab_2.mouseWheel = false;
            bt_tab_2.navDown = "";
            bt_tab_2.navLeft = "";
            bt_tab_2.navRight = "";
            bt_tab_2.navTabBackward = "";
            bt_tab_2.navTabForward = "";
            bt_tab_2.navUp = "";
            bt_tab_2.pressAction = "PRESS";
            bt_tab_2.repeatDelay = 0;
            bt_tab_2.repeatRate = 0;
            bt_tab_2.soundFocus = "ID_GUI_DEF_SOUND_BUTTON_FOCUS_DEFAULT";
            bt_tab_2.soundPressNeg = "ID_GUI_DEF_SOUND_BUTTON_NEG_DEFAULT";
            bt_tab_2.soundPressPos = "ID_GUI_DEF_SOUND_BUTTON_PRESS_DEFAULT";
            bt_tab_2.textAlignH = "center";
            bt_tab_2.textAlignV = 0;
            bt_tab_2.textRes = "";
            bt_tab_2.tooltipRes = "";
            bt_tab_2.underline = false;
            bt_tab_2.unfocusedInput = false;
            bt_tab_2.visible = true;
            try {
                bt_tab_2["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function __setProp_bt_tab_3_Visual_Tab_Buttons_Pad_bt_tab_3_0(){
            try {
                bt_tab_3["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            bt_tab_3.autoSizeX = "none";
            bt_tab_3.bold = false;
            bt_tab_3.buttonType = "check";
            bt_tab_3.colorRes = "ID_GUI_DEF_COLOR_TAB";
            bt_tab_3.enabled = true;
            bt_tab_3.filterColorRes = "ID_GUI_DEF_COLOR_FILTER";
            bt_tab_3.fontSize = 0;
            bt_tab_3.htmlText = true;
            bt_tab_3.instaPress = false;
            bt_tab_3.isComponent = true;
            bt_tab_3.italic = false;
            bt_tab_3.mouseWheel = false;
            bt_tab_3.navDown = "";
            bt_tab_3.navLeft = "";
            bt_tab_3.navRight = "";
            bt_tab_3.navTabBackward = "";
            bt_tab_3.navTabForward = "";
            bt_tab_3.navUp = "";
            bt_tab_3.pressAction = "PRESS";
            bt_tab_3.repeatDelay = 0;
            bt_tab_3.repeatRate = 0;
            bt_tab_3.soundFocus = "ID_GUI_DEF_SOUND_BUTTON_FOCUS_DEFAULT";
            bt_tab_3.soundPressNeg = "ID_GUI_DEF_SOUND_BUTTON_NEG_DEFAULT";
            bt_tab_3.soundPressPos = "ID_GUI_DEF_SOUND_BUTTON_PRESS_DEFAULT";
            bt_tab_3.textAlignH = "center";
            bt_tab_3.textAlignV = 0;
            bt_tab_3.textRes = "";
            bt_tab_3.tooltipRes = "";
            bt_tab_3.underline = false;
            bt_tab_3.unfocusedInput = false;
            bt_tab_3.visible = true;
            try {
                bt_tab_3["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function __setProp_bt_tab_4_Visual_Tab_Buttons_Pad_bt_tab_4_0(){
            try {
                bt_tab_4["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            bt_tab_4.autoSizeX = "none";
            bt_tab_4.bold = false;
            bt_tab_4.buttonType = "check";
            bt_tab_4.colorRes = "ID_GUI_DEF_COLOR_TAB";
            bt_tab_4.enabled = true;
            bt_tab_4.filterColorRes = "ID_GUI_DEF_COLOR_FILTER";
            bt_tab_4.fontSize = 0;
            bt_tab_4.htmlText = true;
            bt_tab_4.instaPress = false;
            bt_tab_4.isComponent = true;
            bt_tab_4.italic = false;
            bt_tab_4.mouseWheel = false;
            bt_tab_4.navDown = "";
            bt_tab_4.navLeft = "";
            bt_tab_4.navRight = "";
            bt_tab_4.navTabBackward = "";
            bt_tab_4.navTabForward = "";
            bt_tab_4.navUp = "";
            bt_tab_4.pressAction = "PRESS";
            bt_tab_4.repeatDelay = 0;
            bt_tab_4.repeatRate = 0;
            bt_tab_4.soundFocus = "ID_GUI_DEF_SOUND_BUTTON_FOCUS_DEFAULT";
            bt_tab_4.soundPressNeg = "ID_GUI_DEF_SOUND_BUTTON_NEG_DEFAULT";
            bt_tab_4.soundPressPos = "ID_GUI_DEF_SOUND_BUTTON_PRESS_DEFAULT";
            bt_tab_4.textAlignH = "center";
            bt_tab_4.textAlignV = 0;
            bt_tab_4.textRes = "";
            bt_tab_4.tooltipRes = "";
            bt_tab_4.underline = false;
            bt_tab_4.unfocusedInput = false;
            bt_tab_4.visible = true;
            try {
                bt_tab_4["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function __setProp_bt_tab_5_Visual_Tab_Buttons_Pad_bt_tab_5_0(){
            try {
                bt_tab_5["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            bt_tab_5.autoSizeX = "none";
            bt_tab_5.bold = false;
            bt_tab_5.buttonType = "check";
            bt_tab_5.colorRes = "ID_GUI_DEF_COLOR_TAB";
            bt_tab_5.enabled = true;
            bt_tab_5.filterColorRes = "ID_GUI_DEF_COLOR_FILTER";
            bt_tab_5.fontSize = 0;
            bt_tab_5.htmlText = true;
            bt_tab_5.instaPress = false;
            bt_tab_5.isComponent = true;
            bt_tab_5.italic = false;
            bt_tab_5.mouseWheel = false;
            bt_tab_5.navDown = "";
            bt_tab_5.navLeft = "";
            bt_tab_5.navRight = "";
            bt_tab_5.navTabBackward = "";
            bt_tab_5.navTabForward = "";
            bt_tab_5.navUp = "";
            bt_tab_5.pressAction = "PRESS";
            bt_tab_5.repeatDelay = 0;
            bt_tab_5.repeatRate = 0;
            bt_tab_5.soundFocus = "ID_GUI_DEF_SOUND_BUTTON_FOCUS_DEFAULT";
            bt_tab_5.soundPressNeg = "ID_GUI_DEF_SOUND_BUTTON_NEG_DEFAULT";
            bt_tab_5.soundPressPos = "ID_GUI_DEF_SOUND_BUTTON_PRESS_DEFAULT";
            bt_tab_5.textAlignH = "center";
            bt_tab_5.textAlignV = 0;
            bt_tab_5.textRes = "";
            bt_tab_5.tooltipRes = "";
            bt_tab_5.underline = false;
            bt_tab_5.unfocusedInput = false;
            bt_tab_5.visible = true;
            try {
                bt_tab_5["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function frame1(){
            stop();
        }

    }
}//package components.focuselement
package components.focuselement {
    import flash.display.*;
    import flash.events.*;
    import gm.element.*;
    import flash.text.*;
    import components.textbutton.*;
    import flash.utils.*;
    import flash.external.*;

    public class Visual_Tab_Buttons_Mouse extends Element {

        public var bt_tab_3:Visual_TextButton_Tab;
        public var bt_tab_0:Visual_TextButton_Tab;
        public var bt_tab_1:Visual_TextButton_Tab;
        public var bt_tab_4:Visual_TextButton_Tab;
        public var bt_tab_5:Visual_TextButton_Tab;
        public var bt_tab_2:Visual_TextButton_Tab;

        public function Visual_Tab_Buttons_Mouse(){
            __setProp_bt_tab_1_Visual_Tab_Buttons_Mouse_Layer1_0();
            __setProp_bt_tab_2_Visual_Tab_Buttons_Mouse_Layer1_0();
            __setProp_bt_tab_4_Visual_Tab_Buttons_Mouse_Layer1_0();
            __setProp_bt_tab_5_Visual_Tab_Buttons_Mouse_Layer1_0();
            __setProp_bt_tab_0_Visual_Tab_Buttons_Mouse_Layer3_0();
            __setProp_bt_tab_3_Visual_Tab_Buttons_Mouse_Layer2_0();
        }
        function __setProp_bt_tab_1_Visual_Tab_Buttons_Mouse_Layer1_0(){
            try {
                bt_tab_1["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            bt_tab_1.autoSizeX = "none";
            bt_tab_1.bold = false;
            bt_tab_1.buttonType = "check";
            bt_tab_1.colorRes = "ID_GUI_DEF_COLOR_TAB";
            bt_tab_1.enabled = true;
            bt_tab_1.filterColorRes = "ID_GUI_DEF_COLOR_FILTER";
            bt_tab_1.fontSize = 0;
            bt_tab_1.htmlText = true;
            bt_tab_1.instaPress = false;
            bt_tab_1.isComponent = true;
            bt_tab_1.italic = false;
            bt_tab_1.mouseWheel = false;
            bt_tab_1.navDown = "";
            bt_tab_1.navLeft = "";
            bt_tab_1.navRight = "";
            bt_tab_1.navTabBackward = "";
            bt_tab_1.navTabForward = "";
            bt_tab_1.navUp = "";
            bt_tab_1.pressAction = "PRESS";
            bt_tab_1.repeatDelay = 0;
            bt_tab_1.repeatRate = 0;
            bt_tab_1.soundFocus = "ID_GUI_DEF_SOUND_BUTTON_FOCUS_DEFAULT";
            bt_tab_1.soundPressNeg = "ID_GUI_DEF_SOUND_BUTTON_NEG_DEFAULT";
            bt_tab_1.soundPressPos = "ID_GUI_DEF_SOUND_BUTTON_PRESS_DEFAULT";
            bt_tab_1.textAlignH = "center";
            bt_tab_1.textAlignV = 0;
            bt_tab_1.textRes = "";
            bt_tab_1.tooltipRes = "";
            bt_tab_1.underline = false;
            bt_tab_1.unfocusedInput = false;
            bt_tab_1.visible = true;
            try {
                bt_tab_1["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function __setProp_bt_tab_2_Visual_Tab_Buttons_Mouse_Layer1_0(){
            try {
                bt_tab_2["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            bt_tab_2.autoSizeX = "none";
            bt_tab_2.bold = false;
            bt_tab_2.buttonType = "check";
            bt_tab_2.colorRes = "ID_GUI_DEF_COLOR_TAB";
            bt_tab_2.enabled = true;
            bt_tab_2.filterColorRes = "ID_GUI_DEF_COLOR_FILTER";
            bt_tab_2.fontSize = 0;
            bt_tab_2.htmlText = true;
            bt_tab_2.instaPress = false;
            bt_tab_2.isComponent = true;
            bt_tab_2.italic = false;
            bt_tab_2.mouseWheel = false;
            bt_tab_2.navDown = "";
            bt_tab_2.navLeft = "";
            bt_tab_2.navRight = "";
            bt_tab_2.navTabBackward = "";
            bt_tab_2.navTabForward = "";
            bt_tab_2.navUp = "";
            bt_tab_2.pressAction = "PRESS";
            bt_tab_2.repeatDelay = 0;
            bt_tab_2.repeatRate = 0;
            bt_tab_2.soundFocus = "ID_GUI_DEF_SOUND_BUTTON_FOCUS_DEFAULT";
            bt_tab_2.soundPressNeg = "ID_GUI_DEF_SOUND_BUTTON_NEG_DEFAULT";
            bt_tab_2.soundPressPos = "ID_GUI_DEF_SOUND_BUTTON_PRESS_DEFAULT";
            bt_tab_2.textAlignH = "center";
            bt_tab_2.textAlignV = 0;
            bt_tab_2.textRes = "";
            bt_tab_2.tooltipRes = "";
            bt_tab_2.underline = false;
            bt_tab_2.unfocusedInput = false;
            bt_tab_2.visible = true;
            try {
                bt_tab_2["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function __setProp_bt_tab_4_Visual_Tab_Buttons_Mouse_Layer1_0(){
            try {
                bt_tab_4["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            bt_tab_4.autoSizeX = "none";
            bt_tab_4.bold = false;
            bt_tab_4.buttonType = "check";
            bt_tab_4.colorRes = "ID_GUI_DEF_COLOR_TAB";
            bt_tab_4.enabled = true;
            bt_tab_4.filterColorRes = "ID_GUI_DEF_COLOR_FILTER";
            bt_tab_4.fontSize = 0;
            bt_tab_4.htmlText = true;
            bt_tab_4.instaPress = false;
            bt_tab_4.isComponent = true;
            bt_tab_4.italic = false;
            bt_tab_4.mouseWheel = false;
            bt_tab_4.navDown = "";
            bt_tab_4.navLeft = "";
            bt_tab_4.navRight = "";
            bt_tab_4.navTabBackward = "";
            bt_tab_4.navTabForward = "";
            bt_tab_4.navUp = "";
            bt_tab_4.pressAction = "PRESS";
            bt_tab_4.repeatDelay = 0;
            bt_tab_4.repeatRate = 0;
            bt_tab_4.soundFocus = "ID_GUI_DEF_SOUND_BUTTON_FOCUS_DEFAULT";
            bt_tab_4.soundPressNeg = "ID_GUI_DEF_SOUND_BUTTON_NEG_DEFAULT";
            bt_tab_4.soundPressPos = "ID_GUI_DEF_SOUND_BUTTON_PRESS_DEFAULT";
            bt_tab_4.textAlignH = "center";
            bt_tab_4.textAlignV = 0;
            bt_tab_4.textRes = "";
            bt_tab_4.tooltipRes = "";
            bt_tab_4.underline = false;
            bt_tab_4.unfocusedInput = false;
            bt_tab_4.visible = true;
            try {
                bt_tab_4["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function __setProp_bt_tab_5_Visual_Tab_Buttons_Mouse_Layer1_0(){
            try {
                bt_tab_5["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            bt_tab_5.autoSizeX = "none";
            bt_tab_5.bold = false;
            bt_tab_5.buttonType = "check";
            bt_tab_5.colorRes = "ID_GUI_DEF_COLOR_TAB";
            bt_tab_5.enabled = true;
            bt_tab_5.filterColorRes = "ID_GUI_DEF_COLOR_FILTER";
            bt_tab_5.fontSize = 0;
            bt_tab_5.htmlText = true;
            bt_tab_5.instaPress = false;
            bt_tab_5.isComponent = true;
            bt_tab_5.italic = false;
            bt_tab_5.mouseWheel = false;
            bt_tab_5.navDown = "";
            bt_tab_5.navLeft = "";
            bt_tab_5.navRight = "";
            bt_tab_5.navTabBackward = "";
            bt_tab_5.navTabForward = "";
            bt_tab_5.navUp = "";
            bt_tab_5.pressAction = "PRESS";
            bt_tab_5.repeatDelay = 0;
            bt_tab_5.repeatRate = 0;
            bt_tab_5.soundFocus = "ID_GUI_DEF_SOUND_BUTTON_FOCUS_DEFAULT";
            bt_tab_5.soundPressNeg = "ID_GUI_DEF_SOUND_BUTTON_NEG_DEFAULT";
            bt_tab_5.soundPressPos = "ID_GUI_DEF_SOUND_BUTTON_PRESS_DEFAULT";
            bt_tab_5.textAlignH = "center";
            bt_tab_5.textAlignV = 0;
            bt_tab_5.textRes = "";
            bt_tab_5.tooltipRes = "";
            bt_tab_5.underline = false;
            bt_tab_5.unfocusedInput = false;
            bt_tab_5.visible = true;
            try {
                bt_tab_5["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function __setProp_bt_tab_0_Visual_Tab_Buttons_Mouse_Layer3_0(){
            try {
                bt_tab_0["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            bt_tab_0.autoSizeX = "none";
            bt_tab_0.bold = false;
            bt_tab_0.buttonType = "check";
            bt_tab_0.colorRes = "ID_GUI_DEF_COLOR_TAB";
            bt_tab_0.enabled = true;
            bt_tab_0.filterColorRes = "ID_GUI_DEF_COLOR_FILTER";
            bt_tab_0.fontSize = 0;
            bt_tab_0.htmlText = true;
            bt_tab_0.instaPress = false;
            bt_tab_0.isComponent = true;
            bt_tab_0.italic = false;
            bt_tab_0.mouseWheel = false;
            bt_tab_0.navDown = "";
            bt_tab_0.navLeft = "";
            bt_tab_0.navRight = "";
            bt_tab_0.navTabBackward = "";
            bt_tab_0.navTabForward = "";
            bt_tab_0.navUp = "";
            bt_tab_0.pressAction = "PRESS";
            bt_tab_0.repeatDelay = 0;
            bt_tab_0.repeatRate = 0;
            bt_tab_0.soundFocus = "ID_GUI_DEF_SOUND_BUTTON_FOCUS_DEFAULT";
            bt_tab_0.soundPressNeg = "ID_GUI_DEF_SOUND_BUTTON_NEG_DEFAULT";
            bt_tab_0.soundPressPos = "ID_GUI_DEF_SOUND_BUTTON_PRESS_DEFAULT";
            bt_tab_0.textAlignH = "center";
            bt_tab_0.textAlignV = 0;
            bt_tab_0.textRes = "";
            bt_tab_0.tooltipRes = "";
            bt_tab_0.underline = false;
            bt_tab_0.unfocusedInput = false;
            bt_tab_0.visible = true;
            try {
                bt_tab_0["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function __setProp_bt_tab_3_Visual_Tab_Buttons_Mouse_Layer2_0(){
            try {
                bt_tab_3["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            bt_tab_3.autoSizeX = "none";
            bt_tab_3.bold = false;
            bt_tab_3.buttonType = "check";
            bt_tab_3.colorRes = "ID_GUI_DEF_COLOR_TAB";
            bt_tab_3.enabled = true;
            bt_tab_3.filterColorRes = "ID_GUI_DEF_COLOR_FILTER";
            bt_tab_3.fontSize = 0;
            bt_tab_3.htmlText = true;
            bt_tab_3.instaPress = false;
            bt_tab_3.isComponent = true;
            bt_tab_3.italic = false;
            bt_tab_3.mouseWheel = false;
            bt_tab_3.navDown = "";
            bt_tab_3.navLeft = "";
            bt_tab_3.navRight = "";
            bt_tab_3.navTabBackward = "";
            bt_tab_3.navTabForward = "";
            bt_tab_3.navUp = "";
            bt_tab_3.pressAction = "PRESS";
            bt_tab_3.repeatDelay = 0;
            bt_tab_3.repeatRate = 0;
            bt_tab_3.soundFocus = "ID_GUI_DEF_SOUND_BUTTON_FOCUS_DEFAULT";
            bt_tab_3.soundPressNeg = "ID_GUI_DEF_SOUND_BUTTON_NEG_DEFAULT";
            bt_tab_3.soundPressPos = "ID_GUI_DEF_SOUND_BUTTON_PRESS_DEFAULT";
            bt_tab_3.textAlignH = "center";
            bt_tab_3.textAlignV = 0;
            bt_tab_3.textRes = "";
            bt_tab_3.tooltipRes = "";
            bt_tab_3.underline = false;
            bt_tab_3.unfocusedInput = false;
            bt_tab_3.visible = true;
            try {
                bt_tab_3["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }

    }
}//package components.focuselement
package components.list {
    import components.button.*;
    import gm.list.*;
    import components.scrollbar.*;

    public class Visual_List_Town_Goods extends List {

        public var list_item_4:Visual_ListButton_TownGoods;
        public var scrollbar:Visual_Scrollbar_List;
        public var list_item_8:Visual_ListButton_TownGoods;
        public var list_item_3:Visual_ListButton_TownGoods;
        public var list_item_2:Visual_ListButton_TownGoods;
        public var list_item_1:Visual_ListButton_TownGoods;
        public var list_item_0:Visual_ListButton_TownGoods;
        public var list_item_7:Visual_ListButton_TownGoods;
        public var list_item_6:Visual_ListButton_TownGoods;
        public var list_item_5:Visual_ListButton_TownGoods;

    }
}//package components.list
package components.list {
    import components.button.*;
    import exports.*;
    import gm.list.*;

    public class Visual_List_Equipment extends List {

        public var list_item_4:Visual_ListButton_Equipment;
        public var list_item_3:Visual_ListButton_Equipment;
        public var trade_overlay:Visual_Equipment_Overlay;
        public var list_item_2:Visual_ListButton_Equipment;
        public var list_item_1:Visual_ListButton_Equipment;
        public var list_item_0:Visual_ListButton_Equipment;
        public var list_item_5:Visual_ListButton_Equipment;

    }
}//package components.list
package components.list {
    import components.button.*;
    import exports.*;
    import gm.list.*;
    import components.scrollbar.*;

    public class Visual_List_Trade extends List {

        public var list_item_4:Visual_ListButton_Trade;
        public var scrollbar:Visual_Scrollbar_List;
        public var list_item_9:Visual_ListButton_Trade;
        public var list_item_8:Visual_ListButton_Trade;
        public var list_item_3:Visual_ListButton_Trade;
        public var trade_overlay:Visual_Trade_Overlay;
        public var list_item_2:Visual_ListButton_Trade;
        public var list_item_1:Visual_ListButton_Trade;
        public var list_item_0:Visual_ListButton_Trade;
        public var list_item_7:Visual_ListButton_Trade;
        public var list_item_6:Visual_ListButton_Trade;
        public var list_item_5:Visual_ListButton_Trade;

    }
}//package components.list
package exports {
    import flash.display.*;
    import gm.*;
    import flash.events.*;
    import components.button.*;
    import components.textfield.*;
    import pr3.dialog.*;
    import components.list.*;

    public class Tab_Equipment extends DialogPage {

        public var bu_info_sailor:Visual_Button_Infotext;
        public var tf_sailor:MovieClip;
        public var bu_info_ammo:Visual_Button_Infotext;
        public var tf_ammo:MovieClip;
        public var tf_info:Visual_Textfeld_16_Ml;
        public var li_equipment:Visual_List_Equipment;
        public var tf_max:Visual_Textfeld_16;
        public var icn_tt_0:Visual_IconButton_Town;
        public var icn_tt_1:Visual_IconButton_Ship_Regular;

        public function Tab_Equipment(){
            __setProp_icn_tt_1_Tab_Equipment_legend_0();
            __setProp_icn_tt_0_Tab_Equipment_legend_0();
            __setProp_tf_max_Tab_Equipment_legend_0();
            __setProp_tf_ammo_Tab_Equipment_tf_ammo_0();
            __setProp_tf_sailor_Tab_Equipment_tf_sailor_0();
            __setProp_bu_info_sailor_Tab_Equipment_infobuttons_0();
            __setProp_bu_info_ammo_Tab_Equipment_infobuttons_0();
            __setProp_li_equipment_Tab_Equipment_li_equipment_0();
        }
        function __setProp_icn_tt_1_Tab_Equipment_legend_0(){
            try {
                icn_tt_1["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            icn_tt_1.buttonType = "normal";
            icn_tt_1.enabled = true;
            icn_tt_1.instaPress = false;
            icn_tt_1.isComponent = true;
            icn_tt_1.mouseWheel = false;
            icn_tt_1.navDown = "";
            icn_tt_1.navLeft = "";
            icn_tt_1.navRight = "";
            icn_tt_1.navTabBackward = "";
            icn_tt_1.navTabForward = "";
            icn_tt_1.navUp = "";
            icn_tt_1.pressAction = "PRESS";
            icn_tt_1.repeatDelay = 0;
            icn_tt_1.repeatRate = 0;
            icn_tt_1.soundFocus = "";
            icn_tt_1.soundPressNeg = "";
            icn_tt_1.soundPressPos = "";
            icn_tt_1.tooltipRes = "ID_GUI_TT_CONVOY_ICON_SHIP";
            icn_tt_1.unfocusedInput = false;
            icn_tt_1.visible = true;
            try {
                icn_tt_1["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function __setProp_icn_tt_0_Tab_Equipment_legend_0(){
            try {
                icn_tt_0["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            icn_tt_0.buttonType = "normal";
            icn_tt_0.enabled = true;
            icn_tt_0.instaPress = false;
            icn_tt_0.isComponent = true;
            icn_tt_0.mouseWheel = false;
            icn_tt_0.navDown = "";
            icn_tt_0.navLeft = "";
            icn_tt_0.navRight = "";
            icn_tt_0.navTabBackward = "";
            icn_tt_0.navTabForward = "";
            icn_tt_0.navUp = "";
            icn_tt_0.pressAction = "PRESS";
            icn_tt_0.repeatDelay = 0;
            icn_tt_0.repeatRate = 0;
            icn_tt_0.soundFocus = "";
            icn_tt_0.soundPressNeg = "";
            icn_tt_0.soundPressPos = "";
            icn_tt_0.tooltipRes = "ID_GUI_TT_ICON_TOWN2";
            icn_tt_0.unfocusedInput = false;
            icn_tt_0.visible = true;
            try {
                icn_tt_0["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function __setProp_tf_max_Tab_Equipment_legend_0(){
            try {
                tf_max["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            tf_max.autosizeX = false;
            tf_max.autosizeY = false;
            tf_max.bold = false;
            tf_max.colorRes = "ID_GUI_DEF_COLOR_DEFAULT";
            tf_max.enabled = true;
            tf_max.filterColorRes = "ID_GUI_DEF_COLOR_FILTER";
            tf_max.fontSize = 0;
            tf_max.htmlText = false;
            tf_max.isComponent = true;
            tf_max.italic = false;
            tf_max.mouseWheel = false;
            tf_max.navDown = "";
            tf_max.navLeft = "";
            tf_max.navRight = "";
            tf_max.navTabBackward = "";
            tf_max.navTabForward = "";
            tf_max.navUp = "";
            tf_max.pressAction = "PRESS";
            tf_max.repeatDelay = 0;
            tf_max.repeatRate = 0;
            tf_max.soundFocus = "ID_GUI_DEF_SOUND_BUTTON_FOCUS_DEFAULT";
            tf_max.textAlignH = "center";
            tf_max.textAlignV = 0;
            tf_max.textRes = "ID_GUI_TAB_EQUIPMENT_MAX";
            tf_max.tooltipRes = "";
            tf_max.underline = false;
            tf_max.unfocusedInput = false;
            tf_max.visible = true;
            try {
                tf_max["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function __setProp_tf_ammo_Tab_Equipment_tf_ammo_0(){
            try {
                tf_ammo["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            tf_ammo.autosizeX = false;
            tf_ammo.autosizeY = false;
            tf_ammo.bold = false;
            tf_ammo.colorRes = "ID_GUI_DEF_COLOR_DIALOG_SUBHEADLINE";
            tf_ammo.enabled = true;
            tf_ammo.filterColorRes = "ID_GUI_DEF_COLOR_FILTER";
            tf_ammo.fontSize = 0;
            tf_ammo.htmlText = false;
            tf_ammo.isComponent = true;
            tf_ammo.italic = false;
            tf_ammo.mouseWheel = false;
            tf_ammo.navDown = "";
            tf_ammo.navLeft = "";
            tf_ammo.navRight = "";
            tf_ammo.navTabBackward = "";
            tf_ammo.navTabForward = "";
            tf_ammo.navUp = "";
            tf_ammo.pressAction = "PRESS";
            tf_ammo.repeatDelay = 0;
            tf_ammo.repeatRate = 0;
            tf_ammo.soundFocus = "ID_GUI_DEF_SOUND_BUTTON_FOCUS_DEFAULT";
            tf_ammo.textAlignH = "center";
            tf_ammo.textAlignV = 0;
            tf_ammo.textRes = "ID_GUI_TAB_EQUIPMENT_AMMO";
            tf_ammo.tooltipRes = "";
            tf_ammo.underline = false;
            tf_ammo.unfocusedInput = false;
            tf_ammo.visible = true;
            try {
                tf_ammo["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function __setProp_tf_sailor_Tab_Equipment_tf_sailor_0(){
            try {
                tf_sailor["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            tf_sailor.autosizeX = false;
            tf_sailor.autosizeY = false;
            tf_sailor.bold = false;
            tf_sailor.colorRes = "ID_GUI_DEF_COLOR_DIALOG_SUBHEADLINE";
            tf_sailor.enabled = true;
            tf_sailor.filterColorRes = "ID_GUI_DEF_COLOR_FILTER";
            tf_sailor.fontSize = 0;
            tf_sailor.htmlText = false;
            tf_sailor.isComponent = true;
            tf_sailor.italic = false;
            tf_sailor.mouseWheel = false;
            tf_sailor.navDown = "";
            tf_sailor.navLeft = "";
            tf_sailor.navRight = "";
            tf_sailor.navTabBackward = "";
            tf_sailor.navTabForward = "";
            tf_sailor.navUp = "";
            tf_sailor.pressAction = "PRESS";
            tf_sailor.repeatDelay = 0;
            tf_sailor.repeatRate = 0;
            tf_sailor.soundFocus = "ID_GUI_DEF_SOUND_BUTTON_FOCUS_DEFAULT";
            tf_sailor.textAlignH = "center";
            tf_sailor.textAlignV = 0;
            tf_sailor.textRes = "ID_GUI_TAB_EQUIPMENT_SAILOR";
            tf_sailor.tooltipRes = "";
            tf_sailor.underline = false;
            tf_sailor.unfocusedInput = false;
            tf_sailor.visible = true;
            try {
                tf_sailor["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function __setProp_bu_info_sailor_Tab_Equipment_infobuttons_0(){
            try {
                bu_info_sailor["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            bu_info_sailor.buttonType = "normal";
            bu_info_sailor.enabled = true;
            bu_info_sailor.instaPress = false;
            bu_info_sailor.isComponent = true;
            bu_info_sailor.mouseWheel = false;
            bu_info_sailor.navDown = "";
            bu_info_sailor.navLeft = "";
            bu_info_sailor.navRight = "";
            bu_info_sailor.navTabBackward = "";
            bu_info_sailor.navTabForward = "";
            bu_info_sailor.navUp = "";
            bu_info_sailor.pressAction = "PRESS";
            bu_info_sailor.repeatDelay = 0;
            bu_info_sailor.repeatRate = 0;
            bu_info_sailor.soundFocus = "ID_GUI_DEF_SOUND_BUTTON_FOCUS_DEFAULT";
            bu_info_sailor.soundPressNeg = "ID_GUI_DEF_SOUND_BUTTON_NEG_DEFAULT";
            bu_info_sailor.soundPressPos = "ID_GUI_DEF_SOUND_BUTTON_PRESS_DEFAULT";
            bu_info_sailor.tooltipIsInfo = true;
            bu_info_sailor.tooltipRes = "ID_GUI_TTINFO_DOCK_EQUIPMENT_SAILOR";
            bu_info_sailor.unfocusedInput = false;
            bu_info_sailor.visible = true;
            try {
                bu_info_sailor["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function __setProp_bu_info_ammo_Tab_Equipment_infobuttons_0(){
            try {
                bu_info_ammo["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            bu_info_ammo.buttonType = "normal";
            bu_info_ammo.enabled = true;
            bu_info_ammo.instaPress = false;
            bu_info_ammo.isComponent = true;
            bu_info_ammo.mouseWheel = false;
            bu_info_ammo.navDown = "";
            bu_info_ammo.navLeft = "";
            bu_info_ammo.navRight = "";
            bu_info_ammo.navTabBackward = "";
            bu_info_ammo.navTabForward = "";
            bu_info_ammo.navUp = "";
            bu_info_ammo.pressAction = "PRESS";
            bu_info_ammo.repeatDelay = 0;
            bu_info_ammo.repeatRate = 0;
            bu_info_ammo.soundFocus = "ID_GUI_DEF_SOUND_BUTTON_FOCUS_DEFAULT";
            bu_info_ammo.soundPressNeg = "ID_GUI_DEF_SOUND_BUTTON_NEG_DEFAULT";
            bu_info_ammo.soundPressPos = "ID_GUI_DEF_SOUND_BUTTON_PRESS_DEFAULT";
            bu_info_ammo.tooltipIsInfo = true;
            bu_info_ammo.tooltipRes = "ID_GUI_TTINFO_DOCK_EQUIPMENT_AMMO";
            bu_info_ammo.unfocusedInput = false;
            bu_info_ammo.visible = true;
            try {
                bu_info_ammo["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function __setProp_li_equipment_Tab_Equipment_li_equipment_0(){
            try {
                li_equipment["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            li_equipment.allowDeselect = true;
            li_equipment.columns = 1;
            li_equipment.dragMarker = false;
            li_equipment.dragType = "none";
            li_equipment.enabled = true;
            li_equipment.enableMouseWheel = false;
            li_equipment.isComponent = true;
            li_equipment.mouseWheel = false;
            li_equipment.navDown = "";
            li_equipment.navLeft = "";
            li_equipment.navRight = "";
            li_equipment.navTabBackward = "";
            li_equipment.navTabForward = "";
            li_equipment.navUp = "";
            li_equipment.noElementButtons = false;
            li_equipment.open = false;
            li_equipment.pageScroll = true;
            li_equipment.pressAction = "PRESS";
            li_equipment.repeatDelay = 0;
            li_equipment.repeatRate = 0;
            li_equipment.resizeableBackground = false;
            li_equipment.rows = 6;
            li_equipment.selectionType = "single";
            li_equipment.soundFocus = "ID_GUI_DEF_SOUND_BUTTON_FOCUS_DEFAULT";
            li_equipment.tooltipRes = "";
            li_equipment.unfocusedInput = false;
            li_equipment.visible = true;
            li_equipment.warp = false;
            try {
                li_equipment["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }

    }
}//package exports
package exports {
    import flash.display.*;
    import gm.*;
    import flash.events.*;
    import components.button.*;
    import pr3.dialog.*;
    import components.list.*;

    public class Tab_Trade_Town_Office extends DialogPage {

        public var li_trade:Visual_List_Trade;
        public var icn_tt_2:Visual_IconButton_Office_Storage;
        public var icn_tt_3:Visual_IconButton_Town_Storage;
        public var icn_tt_0:Visual_IconButton_goods_price;
        public var icn_tt_1:Visual_IconButton_Goods_Price_Average;

        public function Tab_Trade_Town_Office(){
            __setProp_icn_tt_0_Tab_Trade_Town_Office_legend_0();
            __setProp_icn_tt_1_Tab_Trade_Town_Office_legend_0();
            __setProp_icn_tt_2_Tab_Trade_Town_Office_legend_0();
            __setProp_icn_tt_3_Tab_Trade_Town_Office_legend_0();
            __setProp_li_trade_Tab_Trade_Town_Office_li_trade_0();
        }
        function __setProp_icn_tt_0_Tab_Trade_Town_Office_legend_0(){
            try {
                icn_tt_0["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            icn_tt_0.buttonType = "normal";
            icn_tt_0.enabled = true;
            icn_tt_0.instaPress = false;
            icn_tt_0.isComponent = true;
            icn_tt_0.mouseWheel = false;
            icn_tt_0.navDown = "";
            icn_tt_0.navLeft = "";
            icn_tt_0.navRight = "";
            icn_tt_0.navTabBackward = "";
            icn_tt_0.navTabForward = "";
            icn_tt_0.navUp = "";
            icn_tt_0.pressAction = "PRESS";
            icn_tt_0.repeatDelay = 0;
            icn_tt_0.repeatRate = 0;
            icn_tt_0.soundFocus = "";
            icn_tt_0.soundPressNeg = "";
            icn_tt_0.soundPressPos = "";
            icn_tt_0.tooltipRes = "ID_GUI_TT_ICON_PRICE";
            icn_tt_0.unfocusedInput = false;
            icn_tt_0.visible = true;
            try {
                icn_tt_0["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function __setProp_icn_tt_1_Tab_Trade_Town_Office_legend_0(){
            try {
                icn_tt_1["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            icn_tt_1.buttonType = "normal";
            icn_tt_1.enabled = true;
            icn_tt_1.instaPress = false;
            icn_tt_1.isComponent = true;
            icn_tt_1.mouseWheel = false;
            icn_tt_1.navDown = "";
            icn_tt_1.navLeft = "";
            icn_tt_1.navRight = "";
            icn_tt_1.navTabBackward = "";
            icn_tt_1.navTabForward = "";
            icn_tt_1.navUp = "";
            icn_tt_1.pressAction = "PRESS";
            icn_tt_1.repeatDelay = 0;
            icn_tt_1.repeatRate = 0;
            icn_tt_1.soundFocus = "";
            icn_tt_1.soundPressNeg = "";
            icn_tt_1.soundPressPos = "";
            icn_tt_1.tooltipRes = "ID_GUI_TT_CONVOY_ICON_AVERAGE_GOLD";
            icn_tt_1.unfocusedInput = false;
            icn_tt_1.visible = true;
            try {
                icn_tt_1["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function __setProp_icn_tt_2_Tab_Trade_Town_Office_legend_0(){
            try {
                icn_tt_2["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            icn_tt_2.buttonType = "normal";
            icn_tt_2.enabled = true;
            icn_tt_2.instaPress = false;
            icn_tt_2.isComponent = true;
            icn_tt_2.mouseWheel = false;
            icn_tt_2.navDown = "";
            icn_tt_2.navLeft = "";
            icn_tt_2.navRight = "";
            icn_tt_2.navTabBackward = "";
            icn_tt_2.navTabForward = "";
            icn_tt_2.navUp = "";
            icn_tt_2.pressAction = "PRESS";
            icn_tt_2.repeatDelay = 0;
            icn_tt_2.repeatRate = 0;
            icn_tt_2.soundFocus = "";
            icn_tt_2.soundPressNeg = "";
            icn_tt_2.soundPressPos = "";
            icn_tt_2.tooltipRes = "ID_GUI_TT_ICON_DEPOT";
            icn_tt_2.unfocusedInput = false;
            icn_tt_2.visible = true;
            try {
                icn_tt_2["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function __setProp_icn_tt_3_Tab_Trade_Town_Office_legend_0(){
            try {
                icn_tt_3["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            icn_tt_3.buttonType = "normal";
            icn_tt_3.enabled = true;
            icn_tt_3.instaPress = false;
            icn_tt_3.isComponent = true;
            icn_tt_3.mouseWheel = false;
            icn_tt_3.navDown = "";
            icn_tt_3.navLeft = "";
            icn_tt_3.navRight = "";
            icn_tt_3.navTabBackward = "";
            icn_tt_3.navTabForward = "";
            icn_tt_3.navUp = "";
            icn_tt_3.pressAction = "PRESS";
            icn_tt_3.repeatDelay = 0;
            icn_tt_3.repeatRate = 0;
            icn_tt_3.soundFocus = "";
            icn_tt_3.soundPressNeg = "";
            icn_tt_3.soundPressPos = "";
            icn_tt_3.tooltipRes = "ID_GUI_TT_BARRELS_TOWN";
            icn_tt_3.unfocusedInput = false;
            icn_tt_3.visible = true;
            try {
                icn_tt_3["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function __setProp_li_trade_Tab_Trade_Town_Office_li_trade_0(){
            try {
                li_trade["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            li_trade.allowDeselect = true;
            li_trade.columns = 1;
            li_trade.dragMarker = false;
            li_trade.dragType = "none";
            li_trade.enabled = true;
            li_trade.enableMouseWheel = true;
            li_trade.isComponent = true;
            li_trade.mouseWheel = true;
            li_trade.navDown = "";
            li_trade.navLeft = "";
            li_trade.navRight = "";
            li_trade.navTabBackward = "";
            li_trade.navTabForward = "";
            li_trade.navUp = "";
            li_trade.noElementButtons = false;
            li_trade.open = false;
            li_trade.pageScroll = true;
            li_trade.pressAction = "PRESS";
            li_trade.repeatDelay = 0;
            li_trade.repeatRate = 0;
            li_trade.resizeableBackground = false;
            li_trade.rows = 10;
            li_trade.selectionType = "single";
            li_trade.soundFocus = "ID_GUI_DEF_SOUND_BUTTON_FOCUS_DEFAULT";
            li_trade.tooltipRes = "";
            li_trade.unfocusedInput = false;
            li_trade.visible = true;
            li_trade.warp = false;
            try {
                li_trade["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }

    }
}//package exports
package exports {

    public class Visual_Equipment_Overlay extends Visual_Trade_Overlay_Base {

    }
}//package exports
package exports {
    import flash.display.*;
    import gm.*;
    import flash.events.*;
    import components.button.*;
    import components.textfield.*;
    import pr3.dialog.*;
    import components.animatedelement.*;

    public class Tab_TownInfo extends DialogPage {

        public var tf_defense:Visual_Textfeld_16;
        public var tf_citizeninfo:Visual_Textfeld_16;
        public var tf_player_factories:Visual_Textfeld_16;
        public var tf_status_citizens_growth:Visual_Textfeld_16;
        public var tf_status_status:MovieClip;
        public var tf_status_buildings_percentage:Visual_Textfeld_16;
        public var tf_rep:Visual_Textfeld_16;
        public var icon_arrow_habitants:Visual_IconButton_arrowUpDown;
        public var icon_town:MovieClip;
        public var tf_guards:Visual_Textfeld_16;
        public var tf_status_buildings:Visual_Textfeld_16;
        public var tf_status_citizens:Visual_Textfeld_16;
        public var tf_player_reputation:Visual_Textfeld_16;
        public var icn_tt_6:Visual_IconButton_Workshop;
        public var icon_habitants:Visual_IconButton_habitants;
        public var tf_subheadline_player:MovieClip;
        public var icon_production_ware_1:Visual_IconButton_Goods;
        public var icn_tt_7:Visual_IconButton_buildings01;
        public var tf_production_production:Visual_Textfeld_16;
        public var icon_production_ware_0:Visual_IconButton_Goods;
        public var icon_rep:Visual_AniElement_Reputationmarker;
        public var icn_tt_4:Visual_IconButton_ThumbsUp;
        public var tf_nationinfo:Visual_Textfeld_16;
        public var icon_production_ware_3:Visual_IconButton_Goods;
        public var icn_tt_5:Visual_IconButton_Office_Storage;
        public var icon_production_ware_2:Visual_IconButton_Goods;
        public var icon_towntype:Visual_IconButton_Towninfo;
        public var icn_tt_2:Visual_IconButton_buildings01;
        public var tf_subheadline_status:MovieClip;
        public var tf_citizens:Visual_Textfeld_16;
        public var tf_towndesc:Visual_Textfeld_16;
        public var icon_soldier01:Visual_IconButton_soldier1;
        public var icn_tt_3:Visual_IconButton_occupancy;
        public var icon_production_ware_4:Visual_IconButton_Goods;
        public var icn_tt_0:Visual_IconButton_SettlerState;
        public var icon_townattack:Visual_IconButton_TownAttack;
        public var icon_info:Visual_Button_Infotext;
        public var tf_player_residential:Visual_Textfeld_16;
        public var icon_nationflag:Visual_IconButton_NationFlag_Alpha;
        public var icon_settler:Visual_IconButton_settlers;
        public var icn_tt_1:Visual_IconButton_Workshop;
        public var tf_subheadline_production:MovieClip;
        public var tf_player_production:Visual_Textfeld_16;

        public function Tab_TownInfo(){
            __setProp_icon_nationflag_Tab_TownInfo_icon_flag_0();
            __setProp_icon_towntype_Tab_TownInfo_icon_town_0();
            __setProp_icon_town_Tab_TownInfo_icon_town_0();
            __setProp_icon_production_ware_0_Tab_TownInfo_icons_ware_0();
            __setProp_icon_production_ware_1_Tab_TownInfo_icons_ware_0();
            __setProp_icon_production_ware_2_Tab_TownInfo_icons_ware_0();
            __setProp_icon_production_ware_3_Tab_TownInfo_icons_ware_0();
            __setProp_icon_production_ware_4_Tab_TownInfo_icons_ware_0();
            __setProp_tf_nationinfo_Tab_TownInfo_text_0();
            __setProp_tf_towndesc_Tab_TownInfo_text_0();
            __setProp_tf_subheadline_status_Tab_TownInfo_text_0();
            __setProp_tf_subheadline_production_Tab_TownInfo_text_0();
            __setProp_tf_subheadline_player_Tab_TownInfo_text_0();
            __setProp_icn_tt_3_Tab_TownInfo_text_0();
            __setProp_icn_tt_1_Tab_TownInfo_text_0();
            __setProp_icn_tt_2_Tab_TownInfo_text_0();
            __setProp_icon_info_Tab_TownInfo_text_0();
            __setProp_icon_habitants_Tab_TownInfo_icons_0();
            __setProp_icon_townattack_Tab_TownInfo_icons_0();
            __setProp_icon_settler_Tab_TownInfo_icons_0();
            __setProp_icn_tt_5_Tab_TownInfo_icons_0();
            __setProp_icon_soldier01_Tab_TownInfo_icons_0();
            __setProp_icn_tt_0_Tab_TownInfo_icons_0();
            __setProp_icn_tt_6_Tab_TownInfo_icons_0();
            __setProp_icn_tt_7_Tab_TownInfo_icons_0();
            __setProp_icn_tt_4_Tab_TownInfo_icons_0();
            __setProp_icon_arrow_habitants_Tab_TownInfo_icons_0();
            __setProp_icon_rep_Tab_TownInfo_rep_ani_0();
        }
        function __setProp_icon_nationflag_Tab_TownInfo_icon_flag_0(){
            try {
                icon_nationflag["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            icon_nationflag.buttonType = "normal";
            icon_nationflag.enabled = true;
            icon_nationflag.instaPress = false;
            icon_nationflag.isComponent = true;
            icon_nationflag.mouseWheel = false;
            icon_nationflag.navDown = "";
            icon_nationflag.navLeft = "";
            icon_nationflag.navRight = "";
            icon_nationflag.navTabBackward = "";
            icon_nationflag.navTabForward = "";
            icon_nationflag.navUp = "";
            icon_nationflag.pressAction = "PRESS";
            icon_nationflag.repeatDelay = 0;
            icon_nationflag.repeatRate = 0;
            icon_nationflag.soundFocus = "";
            icon_nationflag.soundPressNeg = "";
            icon_nationflag.soundPressPos = "";
            icon_nationflag.tooltipRes = "";
            icon_nationflag.unfocusedInput = false;
            icon_nationflag.visible = true;
            try {
                icon_nationflag["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function __setProp_icon_towntype_Tab_TownInfo_icon_town_0(){
            try {
                icon_towntype["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            icon_towntype.buttonType = "normal";
            icon_towntype.enabled = true;
            icon_towntype.instaPress = false;
            icon_towntype.isComponent = true;
            icon_towntype.mouseWheel = false;
            icon_towntype.navDown = "";
            icon_towntype.navLeft = "";
            icon_towntype.navRight = "";
            icon_towntype.navTabBackward = "";
            icon_towntype.navTabForward = "";
            icon_towntype.navUp = "";
            icon_towntype.pressAction = "PRESS";
            icon_towntype.repeatDelay = 0;
            icon_towntype.repeatRate = 0;
            icon_towntype.soundFocus = "";
            icon_towntype.soundPressNeg = "";
            icon_towntype.soundPressPos = "";
            icon_towntype.tooltipRes = "";
            icon_towntype.unfocusedInput = false;
            icon_towntype.visible = true;
            try {
                icon_towntype["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function __setProp_icon_town_Tab_TownInfo_icon_town_0(){
            try {
                icon_town["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            icon_town.buttonType = "normal";
            icon_town.enabled = true;
            icon_town.instaPress = false;
            icon_town.isComponent = true;
            icon_town.mouseWheel = false;
            icon_town.navDown = "";
            icon_town.navLeft = "";
            icon_town.navRight = "";
            icon_town.navTabBackward = "";
            icon_town.navTabForward = "";
            icon_town.navUp = "";
            icon_town.pressAction = "PRESS";
            icon_town.repeatDelay = 0;
            icon_town.repeatRate = 0;
            icon_town.soundFocus = "";
            icon_town.soundPressNeg = "";
            icon_town.soundPressPos = "";
            icon_town.tooltipRes = "";
            icon_town.unfocusedInput = false;
            icon_town.visible = true;
            try {
                icon_town["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function __setProp_icon_production_ware_0_Tab_TownInfo_icons_ware_0(){
            try {
                icon_production_ware_0["componentInspectorSetting"] = true;
            } catch(e:Error) {
            };
            icon_production_ware_0.buttonType = "normal";
            icon_production_ware_0.enabled = true;
            icon_production_ware_0.instaPress = false;
            icon_production_ware_0.isComponent = true;
            icon_production_ware_0.mouseWheel = false;
            icon_production_ware_0.navDown = "";
            icon_production_ware_0.navLeft = "";
            icon_production_ware_0.navRight = "";
            icon_production_ware_0.navTabBackward = "";
            icon_production_ware_0.navTabForward = "";
            icon_production_ware_0.navUp = "";
            icon_production_ware_0.pressAction = "PRESS";
            icon_production_ware_0.repeatDelay = 0;
            icon_production_ware_0.repeatRate = 0;
            icon_production_ware_0.soundFocus = "";
            icon_production_ware_0.soundPressNeg = "";
            icon_production_ware_0.soundPressPos = "";
            icon_production_ware_0.tooltipRes = "$GOODS";
            icon_production_ware_0.unfocusedInput = false;
            icon_production_ware_0.visible = true;
            try {
                icon_production_ware_0["componentInspectorSetting"] = false;
            } catch(e:Error) {
            };
        }
        function __setProp_icon_production_ware_1_Tab_TownInfo_icons_ware_0(){

That's all that fits
Reply
#22
(20-05-2012, 08:01 PM)Falko Wrote: first minimod/bugfix:
in the ini directory ther ist the file controldefaults.xml -> change:
Code:
<control name="AK_OFFICE_PREV" inisection="AK_OFFICE_PREV"><key name="EKI_TAB" shiftmask="1"/><pad-button name="BTN_RTHUMB_LEFT" repeat="1"/></control><control name="AK_OFFICE_NEXT" inisection="AK_OFFICE_NEXT"><key name="EKI_TAB" shiftmask="0"/><pad-button name="BTN_RTHUMB_RIGHT" repeat="1"/></control>
into
Code:
<control name="AK_OFFICE_PREV" inisection="AK_OFFICE_PREV"><key name="EKI_M" shiftmask="1"/><pad-button name="BTN_RTHUMB_LEFT" repeat="1"/></control><control name="AK_OFFICE_NEXT" inisection="AK_OFFICE_NEXT"><key name="EKI_M" shiftmask="0"/><pad-button name="BTN_RTHUMB_RIGHT" repeat="1"/></control>
EKI_TAB => EKI_M
that way tabbing through the menu is possible and with M and SHIFT-M you can tab through your towns without changing the dialog selection
Thank you !
Reply
#23
if you add the "<key name"-lines you have some more hotkeys
Code:
<control name="AK_SEABATTLE_SHIP_LIST" inisection="SEABATTLE_SHIP_LIST">
    <key name="EKI_Y" shiftmask="0"/>
    <pad-button name="BTN_RSHOULDER"/>
  </control>
cycle through the ships 1->2->3->1... (since 1-3 as a hotkey doesnt seem to work Sad ) with "Y"


Code:
<control name="AK_SEABATTLE_FIRE" inisection="AK_SEABATTLE_FIRE" group="GROUP_SEABATTLE">
    <key name="EKI_Z" shiftmask="0"/>
    <pad-button name="BTN_RTRIGGER"/>
    <!--<mouse-button name="MOUSE_BTN_LEFT"/>-->
  </control>
"Z" = Fire!
no leftclick to fire the cannons in a manual battle

Code:
<control name="AK_DIALOGS_SORT_NEXT" inisection="AK_DIALOGS_SORT_NEXT">
    <key name="EKI_S" shiftmask="0"/>
    <pad-button name="BTN_RSHOULDER"/>
  </control>
"S" cycles through the sorting criteria

there are some lines that look interesting but i cant get them to work with keyboard Sad

"AK_SEABATTLE_TACTIC_NEXT" => cycle through the tactics?
"AK_LIST_PAGE_NEXT/PREV" => going through a list (convoy,town, advisor) one by one ?
"AK_SCROLL_UP/DOWN" = > going through a list (convoy,town, advisor) page by page ?
"AK_ROUTE_TOWN_UP" => going to the next stop in traderoute "my strategy?" ?
"AK_FILE_PRINTOUT" => F12 should create some file quicksave or worldinfo.txt?
Reply
#24
I've done a ship editor and tested it, not sure if I'll release it though.

Currently I have my trade fluyt with 140 cannons roaming the high seas delivering a lot of damage Tongue
Reply
#25
where did you found that information?
Reply
#26
The constdata.dat file in the Ini folder contains some of the ship info. - I've found health, price, cargo space - and i've found a value that descibes the amount of guns on each side of the ship - however changing that value will crash the game - i beleive that there's data after that vaue that has something to do with the guns - but unsure as yet. Need a bit more time on it.

The Ship names are described in that file - the section of data just above their names is where you'll find health, price, cargo amount. try the Pinnace first as it's the first one there. (I dont have the Positions on me ATM) - very easy to find tho. They're all 2 bytes in length. Enjoy.

Only been looking at the files for the last hour today - Work sucks. lol.

Also found terrain heightmap data for each of the cities. Terrain.blobs files contains that data... located in the Terrain folder with a numeric ID for each of the cities. The wcl.xml (?? Off the top of my head) file describes what city name applies to what number.

However, you really cant do anything with it - it's just cosmetic i think. Funny seeing the town submerged in water. Tongue

You'll see what i mean by cosmetic if you take the value too high - the ground floats above the water - but building placement is still fixed at an absoulte in-game value i reckon... so their hieghts dont change.

BTW... i had a better look at the Patrician 4 .fuk files just after the post i made the other day - and succesully parsed them - took only a min. lol. Very tiny change.

However, the files are organised differently than they are for PR3... so i haven't released an update yet until i can spend some time staring at the screen figuring out how each file relates to each node and folder. I'll have a good look at it over the weekend for ya... time permitting. Big Grin

Having said that - it could just be the method i came up with to explain the locations of files/folders for PR3... the game developers could be laffing at me right now. Tongue But i dont think so - it fits.

Regards,

TheVillageIdiot
Reply
#27
how would a modified and a clean version interact online I wonder? (anyone tried lan?)
i fear cheating comes next hehehe

to-do list

1: resize trade screen, 10x2 items in all just need to half the height of each commodity bar thingy and voila..
2: open up more flags... (skull n bones "0_flags50.dds" wink wink) im a pirate not a drunken skeleton on a barrel dammit
3: turn off churchbell in sounds, or at least slow the intervals inbetween tolls
4: change the misspelling of "succssful" ingame and translate und to engrish
5: mess with the gfx and make a flying dutchman/ghostship
6: map arrowkeys to shipsteering, SPACE to fire, and the rest for left hand

whats your ideas?
Reply
#28
@TheVillageIdiot

About the building placement, there are some cities where buildings can be placed on different height levels. So at least it is not only one height or sea level for all buildings.
Reply
#29
Regarding the misspelling of "succssful": I've searched the whole database... There is no word like "succssful", but "successful" is used about twenty times... Anyone finding the mistake again, please tell me the sentence (or a screenshot) and I'll fix it Wink
Reply
#30
[Image: http://oi48.tinypic.com/34hbgap.jpg]

Is anyone interested in it?

Code:
public class PR3Cannon
    {
        public int numFloats;
        public float x;
        public float y;
        public float z;
        public float w;

        public PR3Cannon(BinaryReader br)
        {
            Read(br);
        }
        public void Read(BinaryReader br)
        {
            br.ReadByte();
            numFloats = br.ReadInt32();
            x = br.ReadSingle();
            y = br.ReadSingle();
            z = br.ReadSingle();
            w = br.ReadSingle();
        }
        public void Write(BinaryWriter bw)
        {
            bw.Write((byte)0);
            bw.Write(numFloats);
            bw.Write(x);
            bw.Write(y);
            bw.Write(z);
            bw.Write(w);
        }

    }
    public class PR3Ship
    {
        public UInt32 typeid;
        public UInt32 cost;
        public UInt16 storage;
        public UInt32 maxhealth;
        public UInt32 curhealth;
        public UInt16 costperday;
        public byte[] unknown1;
        public byte minspeed;
        public byte maxspeed;
        public UInt16 agility;
        public byte[] unknown2;
        public string ShipName;
        public string ShipGFXName;
        public List<PR3Cannon> cannons;
        

        //MemoryStream ms = new MemoryStream();
        //BinaryWriter br = new BinaryWriter(ms);
        public PR3Ship(BinaryReader br)
        {
            Read(br);
        }

        public void Read(BinaryReader br)
        {
            typeid = br.ReadUInt32();
            cost = br.ReadUInt32();
            storage = br.ReadUInt16();
            maxhealth = br.ReadUInt32();
            curhealth = br.ReadUInt32();
            costperday = br.ReadUInt16();            
            unknown1 = br.ReadBytes(7);
            minspeed = br.ReadByte();
            maxspeed = br.ReadByte();
            agility = br.ReadUInt16();
            unknown2 = br.ReadBytes(76);
            int nLength = br.ReadInt32()-1;
            ShipName = System.Text.Encoding.UTF8.GetString(br.ReadBytes(nLength));
            br.ReadBytes(2);
            nLength  = br.ReadInt32()-1;
            ShipGFXName = System.Text.Encoding.UTF8.GetString(br.ReadBytes(nLength));
            br.ReadBytes(2);
            
            int nCannons = br.ReadInt32();
            cannons = new List<PR3Cannon>();
            for (int x = 0; x < nCannons; x++)
            {
                cannons.Add(new PR3Cannon(br));
            }
          
          
        }

        public void Write(BinaryWriter bw)
        {
            bw.Write(typeid);
            bw.Write(cost);
            bw.Write(storage);
            bw.Write(maxhealth);
            bw.Write(curhealth);
            bw.Write(costperday);
            bw.Write(unknown1);

            bw.Write(minspeed);
            bw.Write(maxspeed);
            bw.Write(agility);
            bw.Write(unknown2);

            bw.Write((int)ShipName.Length + 1);
            bw.Write(System.Text.Encoding.UTF8.GetBytes(ShipName));
            bw.Write((byte)0);
            bw.Write((byte)0);

            bw.Write((int)ShipGFXName.Length + 1);
            bw.Write(System.Text.Encoding.UTF8.GetBytes(ShipGFXName));
            bw.Write((byte)0);
            bw.Write((byte)0);

            bw.Write((int)cannons.Count);
            foreach (PR3Cannon cannon in cannons) cannon.Write(bw);
            
        }
        

    };

(23-05-2012, 01:02 PM)Daan Hugo Wrote: Regarding the misspelling of "succssful": I've searched the whole database... There is no word like "succssful", but "successful" is used about twenty times... Anyone finding the mistake again, please tell me the sentence (or a screenshot) and I'll fix it Wink

Most language is in global.res . It's in unicode though, I haven't specifically searched for that though.
Reply




Users browsing this thread: 1 Guest(s)