Maximal Opublikowano 2 Sierpnia 2008 Udostępnij Opublikowano 2 Sierpnia 2008 Edit: To można wykorzystać nie tylko do zasobów =DNo pewnie. Na przykład skomplikowane obliczenia w tle... Ach, cudnie! :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 2 Sierpnia 2008 Udostępnij Opublikowano 2 Sierpnia 2008 Heh, no to dopoki sam nie wykombinuje tego by dzialalo poprawnie jak kiedys zaczalem, to pewnie bede uzywal Twojego dllka Snake ;P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Misiek999 Opublikowano 2 Sierpnia 2008 Udostępnij Opublikowano 2 Sierpnia 2008 hehe świetny dll :D btw. masz tam małe niedopatrzenie w przykładzie - loading podczas ładowania się nie pojawia, bo nie użyłeś zmiennej globalnej jak sam wspomniałeś w pierwszym poście ;p oczywiście 5/5 nie widzę innej opcji. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Snake Opublikowano 2 Sierpnia 2008 Autor Udostępnij Opublikowano 2 Sierpnia 2008 Heh, no to dopoki sam nie wykombinuje tego by dzialalo poprawnie jak kiedys zaczalem, to pewnie bede uzywal Twojego dllka Snake ;P Heh, masz tu gotowego, dobrego DLL-a, a Ty chcesz kombinować żeby stworzyć to samo ? ;D Rozumiem, że chodzi pewnie o to, by nie umieszczać mnie w credits ;D masz tam małe niedopatrzenie w przykładzie - loading podczas ładowania się nie pojawia, bo nie użyłeś zmiennej globalnej jak sam wspomniałeś w pierwszym poście ;p Rzeczywiście, to z przyzwyczajenia :) BTW: Dzięki za oceny :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 2 Sierpnia 2008 Udostępnij Opublikowano 2 Sierpnia 2008 Snake: heh, nie tyle ze nie chcem dodawac Cie do credits, ale wiesz jaki jestem - jak juz cos robie wiekszego to wole calosc miec zrobiona przez siebie. taka choroba zwana zbyt wielka duma ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 2 Sierpnia 2008 Udostępnij Opublikowano 2 Sierpnia 2008 Ja mam takie pytanie, czy YYG moze sie przypadkiem nie wkur** na tworcow uzywajacych takiego dlla? :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Matthew Opublikowano 2 Sierpnia 2008 Udostępnij Opublikowano 2 Sierpnia 2008 Ja mam takie pytanie, czy YYG moze sie przypadkiem nie wkur** na tworcow uzywajacych takiego dlla? :P Jak będą mieli pretensje, to Snake zhackuje mi kompy i będzie ich szantażował. Co do programu: Nice. Widziałem tutek do Delphi jak zrobić wątki. BTW. Thx za przypomnienie nazwy. Zastanawiałem się jak to się nazywało i nie mogłem sobie przypomnieć. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Snake Opublikowano 2 Sierpnia 2008 Autor Udostępnij Opublikowano 2 Sierpnia 2008 Snake: heh, nie tyle ze nie chcem dodawac Cie do credits, ale wiesz jaki jestem - jak juz cos robie wiekszego to wole calosc miec zrobiona przez siebie. taka choroba zwana zbyt wielka duma ;p Hmm... ja w ChronoSwordzie używam biblioteki supersound i nie zamierzam robić jej substytutu, bo po pierwsze nie potrafię tak programować, żeby odtworzyć jakiś dźwięk odczytując dane - nie interesują mnie takie rzeczy, a po drugie... nie czuję żebym sam w całości tej gry nie robił bo używam czyjejś biblioteki do odtwarzania dźwięku ;D Ja mam takie pytanie, czy YYG moze sie przypadkiem nie wkur** na tworcow uzywajacych takiego dlla? :PHmm... nie sądzę ;p Sam DLL raczej nie łamie EULA, tylko ja złamałem - dezasemblując aplikacje Game Makera, żeby stworzyć tą bibliotekę ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 3 Sierpnia 2008 Udostępnij Opublikowano 3 Sierpnia 2008 To czego ty tam potrzebowałeś z tejże aplikacji? :) Dll zapowiada się świetnie. Może jak coś będę pisać to użyję ^^, Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Snake Opublikowano 3 Sierpnia 2008 Autor Udostępnij Opublikowano 3 Sierpnia 2008 Informacji ;p Przecież muszę wiedzieć jak działa taka aplikacja żeby zrobić takie "wymuszenie" tworzenia wątków, kompilacje + wykonywanie kodu GML, uniknąć błędów i wycieków pamięci. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TeeGee Opublikowano 3 Sierpnia 2008 Udostępnij Opublikowano 3 Sierpnia 2008 Chyba dzisiaj z tym poeksperymentuję i zobaczę co da się osiągnąć. Dzięki, Snake! To naprawdę jedna z najbardziej użytecznych bibliotek, jaką kiedykolwiek widziałem pod GM. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 3 Sierpnia 2008 Administratorzy Udostępnij Opublikowano 3 Sierpnia 2008 Heh, ale widzę, że tu trzeba podmieniać sprita, a jak zrobię global.xxx = sprite_add(); to tak samo zadziała? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Snake Opublikowano 3 Sierpnia 2008 Autor Udostępnij Opublikowano 3 Sierpnia 2008 To naprawdę jedna z najbardziej użytecznych bibliotek, jaką kiedykolwiek widziałem pod GM. Jak miło to słyszeć od Ciebie ^^ Heh, ale widzę, że tu trzeba podmieniać sprita, a jak zrobię global.xxx = sprite_add(); to tak samo zadziała? Lul, pewnie że tak :) To nie podmienia sprite'a tylko dodaje nowego i zwraca jego index od razu do sprite_index tamtego obiektu ;p Wiem że jest sprite_replace ale częściej korzystam z sprite_add ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 3 Sierpnia 2008 Administratorzy Udostępnij Opublikowano 3 Sierpnia 2008 Ok, bo nie miałem czasu sprawdzić bo co innego teraz robię :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Snake Opublikowano 3 Sierpnia 2008 Autor Udostępnij Opublikowano 3 Sierpnia 2008 Nowa wersja, dopisałem dwie nowe funkcje: thread_get_priority( uchwyt ) - sprawdza jaki priorytet ma podany wątek, gdy wystąpi błąd przy sprawdzaniu zwraca -1. thread_last_error() - zwraca ostatni kod błędu, ustawiony podczas zakończenia wątku ( 0 - brak błędu, 1 - błąd składni, 2 - Inny błąd w GML [nieznana zmienna itd.], 3 - wystąpił wyjątek w wątku ). I poprawiłem trochę kod - nie powinien już występować wyjątek Access Violation przy zamykaniu gry przez "abort", ani ogólnie przy zamykaniu ;d Download V1.2: http://www.gmclan.org/up541_4_GMThreads12.html Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 3 Sierpnia 2008 Udostępnij Opublikowano 3 Sierpnia 2008 ten ostatni blad mozna bylo tez rozwiazac w inny sposob ;p a co do dllka to mysle ze przyda sie mozliwosc.. hmm, no po namysle to raczej jest juz tam wszystko co potrzebuje ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 3 Sierpnia 2008 Filar Społeczności Udostępnij Opublikowano 3 Sierpnia 2008 Snake, a co z tymi wskaźnikiami na zasoby, żeby je capnąć z poziomu dlla? A Ty się za wątki musiałeś zabrać... ^_^ Testowałeś memory leaki oraz czy gra po dłuższym czasie się nie "rozejdzie"? btw. Ja bym na twoim miejscu czym prędzej opublikował to na YYG jak i resztę programów w wersji angielskiej. Co z tego, że łamiesz licencję? Nic Ci nie zrobią, nie przyjadą do Polski i nie założą Ci sprawy. Przecież robisz to non-profit. Machną na to ręką, zobaczysz. A korzyści ujawnienia się będą niemałe: 1) Raz, że Polska scena GMa znów zatriumfuje. :) 2) Ci z YYG zobaczą, że ktoś na poważnie zaczyna hakować ich program, to może ruszą te swoje dupska i zaczną działać aktywniej. Naprawdę, trzeba im zacząć dawać do zrozumienia przez takie haki, że wytrwałość najbardziej wiernych użytkowników jest już na wyczerpaniu. 3) Zyskasz sławę. :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dziadekkleofas Opublikowano 3 Sierpnia 2008 Udostępnij Opublikowano 3 Sierpnia 2008 Ranmus, ale polak to w ogóle nie myśli żeby się rozpromować. Raz napisałem moda do Painkillera dodającego grę na punkty, ale w końcu nie dałem nigdzie i gdzieś przepadło po n-tym formacie dysku. :P Anway, świetna robota Snake. Szkoda żeby się zmarnowało to na GMClanie, daj na YYG. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Luksor Opublikowano 3 Sierpnia 2008 Udostępnij Opublikowano 3 Sierpnia 2008 Haha, mam dobrą wiadomość :D Nie wiem czemu mi wcześniej zamrażało okno, ale... właśnie chciałem spróbować zrobić tego hacka na grafikę, dla testu dopisałem sprite/background add/replace w wątku i... załadowało się bez żadnej przycinki xD Ale przetestujcie ten przykład (gm6 i gmk) dla pewności: http://www.gmclan.org/up541_4_ThreadLoadTest.html (ładuje 2MB plik JPG w wątku) Dlaczego link nie działa? Też bym chciał przetestować. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Snake Opublikowano 4 Sierpnia 2008 Autor Udostępnij Opublikowano 4 Sierpnia 2008 @Luksor: Zuploadowałem: http://www.gmclan.org/up541_4_ThreadLoadTest.html Snake, a co z tymi wskaźnikiami na zasoby, żeby je capnąć z poziomu dlla? Na razie się tym nie zajmuję ;p Przepisywałem ChronoSworda, trafiłem na część silnika odpowiadającą za ładowanie zasobów i zrodził się w mojej głowie pomysł z wątkami, bo freeze przy ładowaniu mnie dołował ;D więc wskaźniki do bitmap póki co poszły na bok ;p Testowałeś memory leaki oraz czy gra po dłuższym czasie się nie "rozejdzie"? Memory leaki tak, ale wiesz - większych testów nie robiłem (w grze czy coś), więc na razie nie wiem na ile to jest stabilne ;p btw. Ja bym na twoim miejscu czym prędzej opublikował to na YYG jak i resztę programów w wersji angielskiej. Co z tego, że łamiesz licencję? Nic Ci nie zrobią, nie przyjadą do Polski i nie założą Ci sprawy. Przecież robisz to non-profit. Machną na to ręką, zobaczysz. W sumie to masz rację ;p pewnie co najwyżej usuną temat jak coś im nie będzie pasować. Jak nabiorę ochoty na tłumaczenie pierwszego posta to opublikuję :) Resztę programów też ? Hmm... a czy tam przypadkiem nie publikuje się jedynie gier i programów zrobionych w GM ? 3) Zyskasz sławę. :) :w00t: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 4 Sierpnia 2008 Udostępnij Opublikowano 4 Sierpnia 2008 Nazwiesz to jako dodatek :P Albo coś :P Ale Game Protectora nie publikuj, bo i do niego wyjdzie dekompilator :D Co do bugów: napisałem z pamięci zegarek i ładowanie zasobów do gry. I nic się (przynajmniej na razie) nie "rozchodzi". Ale i tak jest pewien problem. W Create inicjuje wątki, tworzę jeden o priorytecie 2. A w wątku, w pętli nieskończonej dodaje co milisekundę 1 do zmiennej global.time Obiekt obj_hud zajmuje się wyświetlaniem czasu (no i funkcja przetwarzająca ilość milisekund na minuty sekundy i setki). I czasami, tzn. raz na ok. 5-10 uruchomień gry pojawia się błąd: nieznana zmienna global.time. Klikam ignoruj, i już działa :P Ale to nie bug, po prostu stworzenie tego wątku trwa czasami tą jedną klatkę. Ale teraz przestawiłem na 3 i już (chyba) nie ma tego błędu :P Będzie trzeba przy ładowaniu gry sprawdzać, czy wątek się już załadował. A z ładowaniem zasobów nie było żadnych problemów :) PS: Mogłem tego nawet nie robić na wątkach, no ale... nie no podobają mi się te wątki :P Startuje wątek z odpowiednim kodem i już się niczym nie przejmuje :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Snake Opublikowano 4 Sierpnia 2008 Autor Udostępnij Opublikowano 4 Sierpnia 2008 Zdefiniuj globalną przed utworzeniem wątku ;p albo sprawdzaj czy zmienna istnieje za pomocą variable_global_exists( "zmienna" ) :P Ale to nie bug, po prostu stworzenie tego wątku trwa czasami tą jedną klatkę. Po prostu wątki nie są synchronizowane z grą ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 4 Sierpnia 2008 Administratorzy Udostępnij Opublikowano 4 Sierpnia 2008 Testy na Memory leak to pewnie najlepiej będzie zrobić dając w pętli ciągle sprite_add i sprite_delete wywoływane do tego alarmem co ileś sekund. Zostawić to na 2-3 godziy niech w tle działa i zobaczyć jak mocno wzrosło zużycie pamięci. Swoją drogą, wydaje mi się, że ten DLL mógłby porządnie przyspieszyć ładowanie Almory :P Zdefiniuj globalną przed utworzeniem wątku ;p Ja np. wszystkie globalne zawsze definiuję na starcie gry, a potem daję room_goto_next() i tam dopiero zaczynam dodawać jakiekolwiek akcje, obiekty itd. Dla pewności, że sie nie wykrzaczy coś. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 4 Sierpnia 2008 Udostępnij Opublikowano 4 Sierpnia 2008 Jak nabiorę ochoty na tłumaczenie pierwszego posta to opublikuję smile.gif Resztę programów też ? Hmm... a czy tam przypadkiem nie publikuje się jedynie gier i programów zrobionych w GM ? Właśnie Ci z nudów tłumaczę i jest tam dział extending game maker. Tam można umieszczać DLL, skrypty itd. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 4 Sierpnia 2008 Udostępnij Opublikowano 4 Sierpnia 2008 jest tam dział extending game maker. Tam można umieszczać DLL, skrypty itd. Jakiś ty mądry ;D A co do DLLa, jest dość pożyteczny :3 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 4 Sierpnia 2008 Administratorzy Udostępnij Opublikowano 4 Sierpnia 2008 Uchh, to się Sandy zdziwi :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Snake Opublikowano 4 Sierpnia 2008 Autor Udostępnij Opublikowano 4 Sierpnia 2008 Właśnie Ci z nudów tłumaczę i jest tam dział extending game maker. Tam można umieszczać DLL, skrypty itd. Taa ;D Właśnie przeglądałem czy ktoś nie zrobił już czegoś podobnego ;p Poza tym, z jakiegoś tematu na GMC wyczytałem że "Mark Overmars nie zrobi multithreadingu bo to jest trudne do zaimplementowania" - czyli jak opublikuję tego DLL-a to wyjdzie na to, że jestem jakiś pr0 programmer and reverse engineer xD Swoją drogą, wydaje mi się, że ten DLL mógłby porządnie przyspieszyć ładowanie Almory No i jak dobrze by się zakodziło cały system ładowania zasobów w Almorze to pewnie wymagania już by nie były takie wielkie ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 4 Sierpnia 2008 Udostępnij Opublikowano 4 Sierpnia 2008 czyli jak opublikuję tego DLL-a to wyjdzie na to, że jestem jakiś pr0 programmer and reverse engineer xD A nie jesteś? :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 4 Sierpnia 2008 Udostępnij Opublikowano 4 Sierpnia 2008 Snake, wlasnie koncze powoli PlayGate'a i chcem umiescic informacje o Twoim dllu - jaka strone podac? i czy dll ma jakies logo czy cos? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Snake Opublikowano 4 Sierpnia 2008 Autor Udostępnij Opublikowano 4 Sierpnia 2008 Stronę ? Podaj http://gamebaseteam.eu :) A co do loga to zaraz zrobię na szybkiego ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się