diff --git a/libsrc/ffdec_lib/src/com/jpexs/helpers/Helper.java b/libsrc/ffdec_lib/src/com/jpexs/helpers/Helper.java index fbc31d7c2..7d724e121 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/helpers/Helper.java +++ b/libsrc/ffdec_lib/src/com/jpexs/helpers/Helper.java @@ -607,11 +607,13 @@ public class Helper { return ret; } - public static int[] toIntArray(List list) { + public static int[] toIntArray(Collection list) { int[] ret = new int[list.size()]; - for (int i = 0; i < ret.length; i++) { - ret[i] = list.get(i); + int i = 0; + for (int i2 : list) { + ret[i++] = i2; } + return ret; } diff --git a/libsrc/ffdec_lib/testdata/as2/as2.fla b/libsrc/ffdec_lib/testdata/as2/as2.fla index 024947f66..71e02470a 100644 Binary files a/libsrc/ffdec_lib/testdata/as2/as2.fla and b/libsrc/ffdec_lib/testdata/as2/as2.fla differ diff --git a/libsrc/ffdec_lib/testdata/as2/as2.swf b/libsrc/ffdec_lib/testdata/as2/as2.swf index e041e40c2..6462cd0af 100644 Binary files a/libsrc/ffdec_lib/testdata/as2/as2.swf and b/libsrc/ffdec_lib/testdata/as2/as2.swf differ diff --git a/libsrc/ffdec_lib/testdata/as3/as3.swf b/libsrc/ffdec_lib/testdata/as3/as3.swf index dfa4d810a..7d9e93e19 100644 Binary files a/libsrc/ffdec_lib/testdata/as3/as3.swf and b/libsrc/ffdec_lib/testdata/as3/as3.swf differ diff --git a/libsrc/ffdec_lib/testdata/as3/classes/MoreClass.as b/libsrc/ffdec_lib/testdata/as3/classes/MoreClass.as index bfa4b67c5..4dde6e2dc 100644 --- a/libsrc/ffdec_lib/testdata/as3/classes/MoreClass.as +++ b/libsrc/ffdec_lib/testdata/as3/classes/MoreClass.as @@ -12,8 +12,12 @@ import flash.utils.getDefinitionByName; class SubTest { + private var privat = 5; + protected var protat = 6; public function go(){ getDefinitionByName("aa"); trace("hello from private class"); + this.privat = 5; + this.protat = 6; } } diff --git a/libsrc/ffdec_lib/testdata/as3/classes/Test.as b/libsrc/ffdec_lib/testdata/as3/classes/Test.as index 3f6179e53..32062dc88 100644 --- a/libsrc/ffdec_lib/testdata/as3/classes/Test.as +++ b/libsrc/ffdec_lib/testdata/as3/classes/Test.as @@ -212,6 +212,8 @@ } trace("hello"); } +import classes.TestNs; + } public function testSwitchDefault() @@ -918,5 +920,9 @@ trace("infinally"); } } + + public function other(){ + var n:TestNs = new TestNs(); + } } } \ No newline at end of file diff --git a/libsrc/ffdec_lib/testdata/as3/classes/TestNs.as b/libsrc/ffdec_lib/testdata/as3/classes/TestNs.as new file mode 100644 index 000000000..aa771ede9 --- /dev/null +++ b/libsrc/ffdec_lib/testdata/as3/classes/TestNs.as @@ -0,0 +1,168 @@ +package classes { + + class TestNs { + + + public var pubAttr:int = 5; + private var privAttr:int = 5; + protected var protAttr:int = 5; + var noAttr:int = 5; + myInternal var nsAttr:int = 5; + + + public static var pubStatAttr:int = 5; + private static var privStatAttr:int = 5; + protected static var protStatAttr:int = 5; + static var noStatAttr:int = 5; + myInternal static var nsStatAttr:int = 5; + + + + public function testAttr(){ + + classes.testPkgFunc(); + + this.pubAttr = 6; + this.privAttr = 7; + this.protAttr = 8; + this.noAttr = 9; + this.myInternal::nsAttr = 10; + + TestNs.pubStatAttr = 6; + TestNs.privStatAttr = 7; + TestNs.protStatAttr = 8; + TestNs.noStatAttr = 9; + TestNs.myInternal::nsStatAttr = 10; + + } + + public function pubFunc(){ + + } + + private function privFunc(){ + + } + + protected function protFunc(){ + + } + + function noFunc(){ + + } + + myInternal function nsFunc(){ + + } + + //--------------- static: + + public static function pubStatFunc(){ + + } + + private static function privStatFunc(){ + + } + + protected static function protStatFunc(){ + + } + + static function noStatFunc(){ + + } + + myInternal static function nsStatFunc(){ + + } + + } + +} + +function testSubFunction() +{ + +} + +import classes.myInternal; + +class SubTestNs { + + public var pubAttr:int = 5; + private var privAttr:int = 5; + protected var protAttr:int = 5; + var noAttr:int = 5; + myInternal var nsAttr:int = 5; + + + public static var pubStatAttr:int = 5; + private static var privStatAttr:int = 5; + protected static var protStatAttr:int = 5; + static var noStatAttr:int = 5; + myInternal static var nsStatAttr:int = 5; + + + + public function testAttr(){ + this.pubAttr = 6; + this.privAttr = 7; + this.protAttr = 8; + this.noAttr = 9; + this.myInternal::nsAttr = 10; + + SubTestNs.pubStatAttr = 6; + SubTestNs.privStatAttr = 7; + SubTestNs.protStatAttr = 8; + SubTestNs.noStatAttr = 9; + SubTestNs.myInternal::nsStatAttr = 10; + + } + + + public function pubFunc(){ + + } + + private function privFunc(){ + + } + + protected function protFunc(){ + + } + + function noFunc(){ + + } + + myInternal function nsFunc(){ + + } + + //--------------- static: + + public static function pubStatFunc(){ + + } + + + private static function privStatFunc(){ + + } + + protected static function protStatFunc(){ + + } + + static function noStatFunc(){ + + } + + myInternal static function nsStatFunc(){ + + } + + } diff --git a/libsrc/ffdec_lib/testdata/as3/classes/testPkgFunc.as b/libsrc/ffdec_lib/testdata/as3/classes/testPkgFunc.as new file mode 100644 index 000000000..c16868622 --- /dev/null +++ b/libsrc/ffdec_lib/testdata/as3/classes/testPkgFunc.as @@ -0,0 +1,12 @@ +package classes { + + public function testPkgFunc(){ + + } + +} + + +function testOutFunc(){ + +} \ No newline at end of file diff --git a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_it.properties b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_it.properties index 414010399..d3e3af331 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_it.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_it.properties @@ -273,7 +273,7 @@ config.name.export.zoom = (Interno) Zoom per esportazione config.description.export.zoom = Ultimo zoom usato per l'esportazione config.name.debuggerPort = Porta del debugger -config.description.debuggerPort = Numero porta utilizzata per il socket debugging +config.description.debuggerPort = Numero di porta usato per il socket debugging config.name.displayDebuggerInfo = (Interno) Mostra info debugger config.description.displayDebuggerInfo = Visualizzare informazioni sul debugger prima di attivarlo @@ -288,22 +288,22 @@ config.name.getLocalNamesFromDebugInfo = AS3: Prendere i nomi di registro locali config.description.getLocalNamesFromDebugInfo = Se sono presenti informazioni di debug, rinomina i registri locali da _loc_x_ ai nomi reali.\r\nQuesto pu\u00f2 essere disattivato perch\u00e9 alcuni offuscatori usano nomi di registro non validi. config.name.tagTreeShowEmptyFolders = Visualizza cartelle vuote -config.description.tagTreeShowEmptyFolders = Visualizza cartelle vuote nell'albero dei tag. +config.description.tagTreeShowEmptyFolders = Visualizza cartelle vuote nell'albero dei tag config.name.autoLoadEmbeddedSwfs = Caricamento automatico SWF incorporati -config.description.autoLoadEmbeddedSwfs = Carica in automatico i file SWF incorporati con i tag DefineBinaryData. +config.description.autoLoadEmbeddedSwfs = Carica in automatico i file SWF incorporati con i tag DefineBinaryData config.name.overrideTextExportFileName = Personalizza nome file di esportazione testo -config.description.overrideTextExportFileName = \u00c8 possibile personalizzare il nome del file di testo esportato.\r\nUsare il segnaposto {filename} per indicare il nome del file SWF corrente. +config.description.overrideTextExportFileName = \u00c8 possibile personalizzare il nome del file di testo esportato.\r\nUsare il segnaposto {filename} per indicare il nome del file SWF corrente config.name.showOldTextDuringTextEditing = Mostra vecchio testo durante la modifica -config.description.showOldTextDuringTextEditing = Mostra il testo originale della variabile in grigio nell'area di anteprima. +config.description.showOldTextDuringTextEditing = Mostra il testo originale della variabile in grigio nell'area di anteprima config.group.name.import = Importazione config.group.description.import = Impostazioni di importazione config.name.textImportResizeTextBoundsMode = Modalit\u00e0 ridimensionamento margini di testo -config.description.textImportResizeTextBoundsMode = Modalit\u00e0 ridimensionamento limiti di testo dopo la modifica del testo. +config.description.textImportResizeTextBoundsMode = Modalit\u00e0 ridimensionamento limiti di testo dopo la modifica del testo config.name.showCloseConfirmation = Mostra conferma chiusura SWF config.description.showCloseConfirmation = Mostra conferma chiusura SWF per i file modificati. @@ -372,4 +372,13 @@ config.name.overwriteExistingFiles = Sovrascrivere i file esistenti config.description.overwriteExistingFiles = Sovrascrivere i file esistenti durante l'esportazione. Attualmente solo per script AS2/3 config.name.smartNumberFormatting = Usa formattazione intelligente dei numeri -config.description.smartNumberFormatting = Formatta numeri speciali (ad esempio colori e istanti temporali) \ No newline at end of file +config.description.smartNumberFormatting = Formatta numeri speciali (ad esempio colori e istanti temporali) + +config.name.enableScriptInitializerDisplay = Visualizza inizializzatori script +config.description.enableScriptInitializerDisplay = Abilita inizializzatori script e modifiche. Questa impostazione pu\u00f2 aggiungere un accapo a ciascuna classe per evidenziare. + +config.name.autoOpenLoadedSWFs = Apri SWF caricati durante l'esecuzione (visualizzatore esterno = solo su Windows) +config.description.autoOpenLoadedSWFs = Apri in automatico tutti gli SWF caricati dalla classe AS3 Loader eseguendo lo SWF quando riprodotto nel player esterno di FFDec. Disponibile solo su Windows. + +config.name.lastSessionFileTitles = Titoli file ultima sessione +config.description.lastSessionFileTitles = Contiene i titoli dei file aperti nell'ultima sessione (ad es. quelli caricati da URL ecc.) diff --git a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_it.properties b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_it.properties index 7c3ba6ea8..5f88bd707 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_it.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_it.properties @@ -470,7 +470,7 @@ abc.action.find-declaration = Trova dichiarazione contextmenu.rawEdit = Modifica raw contextmenu.jumpToCharacter = Vai al carattere -menu.settings.dumpView = Dump view +menu.settings.dumpView = Visualizza Dump menu.view = Visualizza menu.file.view.resources = Risorse @@ -486,8 +486,8 @@ header.compression.none = Nessuna compressione header.version = Versione SWF: header.gfx = GFX: header.filesize = Dimensione file: -header.framerate = Frequenza fotogrammi: -header.framecount = Conteggio fotogrammi: +header.framerate = Frequenza frame: +header.framecount = Conteggio frame: header.displayrect = Rect di visualizzazione: header.displayrect.value.twips = %xmin%,%ymin% => %xmax%,%ymax% twip header.displayrect.value.pixels = %xmin%,%ymin% => %xmax%,%ymax% pixel @@ -583,7 +583,7 @@ preview.loop = Cicla menu.file.import.script = Importa script contextmenu.copyTagWithDependencies = Copia tag con le dipendenze button.replaceWithTag = Sostituisci con altro tag di carattere -button.resolveConstants = Risolvere le costanti +button.resolveConstants = Risolvi le costanti #after version 5.1.0 button.viewConstants = Visualizza le costanti @@ -601,7 +601,7 @@ tagInfo.width = Larghezza tagInfo.height = Altezza tagInfo.neededCharacters = Caratteri necessari -button.viewhexpcode = Mostra esadecimale con le istruzioni +button.viewhexpcode = Mostra valori byte assieme alle istruzioni taginfo.header = Informazioni tag di base tagInfo.dependentCharacters = Caratteri dipendenti @@ -626,3 +626,8 @@ import.script.as12warning = Importa script pu\u00f2 importare solo script AS1/2. error.constantPoolTooBig = Constant pool troppo grande. indice=%index%, dimensioni=%size% error.image.alpha.invalid = Valori canale alfa non validi. + +#after version 6.0.2 +contextmenu.saveUncompressedToFile = Salva su file senza compressione +abc.traitslist.scriptinitializer = Inizializzatore script +menu.settings.autoOpenLoadedSWFs = Apri SWF caricati durante la riproduzione diff --git a/src/com/jpexs/decompiler/flash/gui/locales/abc/NewTraitDialog_it.properties b/src/com/jpexs/decompiler/flash/gui/locales/abc/NewTraitDialog_it.properties index f1c2bfe10..c00dfee06 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/abc/NewTraitDialog_it.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/abc/NewTraitDialog_it.properties @@ -19,6 +19,5 @@ type.setter = Setter type.const = Costante type.slot = Slot (var) checkbox.static = Statico -dialog.title = Nuova caratteristica - -error.name = Occorre specificare il nome della caratteristica +dialog.title = Nuovo trait +error.name = Occorre specificare il nome del trait