Prędzej czy później musiało się to pojawić. Nemo 440, czyli „prosty” disassembler AS3.
Archiwum kategorii ‘actionscript’
AS3 disassembler w AIR
piątek, Marzec 7th, 2008ActionScript 4.0
sobota, Luty 16th, 2008Colin Moock pisze o ECMAScript 4, Francis Cheng też. Zbieg okoliczności? Radziu obstawia Flasha 11… A ja mam cichą nadzieję na 10. Przynajmniej parametryzowane typy i rekordy niechaj zyszczy nam i spuści nam…
Dzieckiem w kolebce, kto łeb urwał Hydrze
poniedziałek, Październik 1st, 2007Drugi dzień Adobe MAX Chicago w pełni rozkiwitu (sześć godzin na minusie). I już coś wiadomo na temat Flash Playera 10: BĘDZIE 3D. Widać też, że Adobe poważnie patrzy na plany AMD dotyczące uruchamiania aplikacji na GPU. Za UnitZeroOne: dziesiąta wersja dostanie lepsze wsparcie tekstu (aż się boję jak wtedy może wyglądać Buzzword), język Hydra, który wygląda na pixel shaderową implementację Adobe i wcześniej wspomniane wsparcie 3D.
//TODO: trochę to przeredagować ;-)
AVM2 Overview
środa, Maj 30th, 2007W końcu coś technicznego na temat AVM2, czyli ActionScript Virtual Machine 2 (AVM2) Overview w PeDeeFie. Jak pisze Emmy wkrótce ma się też pojawić specyfikacja formatów SWF9 i FLV. Jak dla mnie dużo bardziej łakomy kąsek niż sama specyfikacja SWF.
Dwa słowa o architekturze komponentów z Flash CS3
poniedziałek, Maj 28th, 2007flash.net.Socket::flush()
niedziela, Kwiecień 22nd, 2007Jak nie urok to sraczka. Po sześciu godzinach, rozmowie z inou i mooską i przeczytaniu tego, stwierdziłem, że się poddaję. Wygląda na to, że nie ma żadnego sposobu na poznanie statusu bufora wyjściowego flashowego socketa. Dla bufora wejściowego, czyli danych nadchodzących mamy Socket::bytesAvailable, oraz zdarzenie ProgressEvent.SOCKET_DATA. Niestety w przeciwieństwie do informacyjnego rozpasania wejścia na wyjściu mamy biedne Socket::flush(). Żadnej informacji, że nasze dane już u dotarły do adresata (część bufora się wypróżniła ;>). Przy małej ilości danych to żaden ból, jeśli jednak w ten sposób chcemy wysłać bitmapę, czy plik i pokazać postęp to problem już jest poważny. Jeśli usługa nasłuchująca po drugiej stronie nie da nam odpowiedzi, że już wszystko zebrała, to możemy sobie czekać do usranej śmierci.
Próbowałem wszystkiego, łapania wyjątków, sprawdzania bieżącej pozycji czytanego ByteArray’a, nasłuchiwania wszystkiego co się da i na drzewo nie ucieka. Nada. Nic…
Wymuszanie odśmiecania pamięci
środa, Marzec 28th, 2007Jakiś czas temu magnum pytał się mnie jak wymusić działanie garbage collectora w AVM2. Pamiętałem wtedy, że gdzieś czytałem o takim myku, jednak za cholerę przypomnieć sobie nie mogłem. Dziś znalazłem, więc postuje creme de la creme:
-
//(...)
-
public function gcHack():void
-
{
-
// unsupported hack that seems to force a full GC
-
try
-
{
-
var lc1:LocalConnection = new LocalConnection();
-
var lc2:LocalConnection = new LocalConnection();
-
-
lc1.connect("name");
-
lc2.connect("name");
-
}
-
catch (e:Error)
-
{
-
}
-
}
-
//(...)
Podana lokalizacja, oprócz miłego komponentu MXML MemoryMonitor zawiera garść kolejnych linków do tematu GC.
