Skocz do zawartości

Rekomendowane odpowiedzi

GMAPI nie dekompiluje gier, żeby dostać się do zasobów ;p wszystko opiera się na pobieraniu właściwych danych z pamięci runnera, operowaniu na nich i wywoływaniu odpowiednich funkcji z runnera w właściwy sposób, żeby GM nie zaliczył crasha :)

 

Jeśli chodzi o ten update związany z kompatybilnością z GM8 - będę nad tym pracował, ale tylko nad wersją dla Windowsów :P na 99% uda mi się zdobyć wszystkie informacje o runnerze, tylko nie wiem czy nie będzie trzeba czasami zrobić osobnej wersji GMAPI, jeśli większość rzeczy będzie całkowicie inaczej działać. Zobaczymy.

Odnośnik do komentarza
Udostępnij na innych stronach

GMAPI nie dekompiluje gier, żeby dostać się do zasobów ;p wszystko opiera się na pobieraniu właściwych danych z pamięci runnera, operowaniu na nich i wywoływaniu odpowiednich funkcji z runnera w właściwy sposób, żeby GM nie zaliczył crasha :)

 

Jeśli chodzi o ten update związany z kompatybilnością z GM8 - będę nad tym pracował, ale tylko nad wersją dla Windowsów :P na 99% uda mi się zdobyć wszystkie informacje o runnerze, tylko nie wiem czy nie będzie trzeba czasami zrobić osobnej wersji GMAPI, jeśli większość rzeczy będzie całkowicie inaczej działać. Zobaczymy.

o to mi właśnie chodzi ;p skoro nie dało by się dekompilować gier a.k.a nie było by dostępu do zasobów, to chyba logicznym jest, że prawdopodobnie nie będzie też dostępu do odpowiednich funkcji runnera, ale to są szanse 50/50 ;p

Odnośnik do komentarza
Udostępnij na innych stronach

Aha, to źle zrozumiałem :P Tak czy inaczej, GM8 będzie trzeba od zera analizować, żeby uzyskać dostęp do wszystkiego :) ...dlatego myślę o współpracy, żeby szybciej poszło z analizą i pisaniem biblioteki :P

 

K, czas zaktualizować inne projekty :D

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 miesiące temu...

39ster (z GMC) wykonał kawał dobrej roboty i poprawił kod źródłowy GMAPI tak, aby można było skompilować projekt zarówno pod VC++ jak i MinGW. Tak, więc można teraz pracować z GMAPI na MinGW - tu możecie pobrać tą wersję biblioteki:

link.png

39ster miał jakieś problemy z wkompilowaniem "jądra" GMAPI w bibliotekę statyczną, dlatego jeśli przy kompilowaniu pojawią się problemy z linkerem będzie trzeba dodać do zlinkowania razem z libem "libGMApiRelease.a" bibliotekę "GMAPICore.lib" z folderu GMAPICore\.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 4 miesiące temu...

Mała aktualizacja:

- Kilka bugów zostało usuniętych

- Wprowadzono kilka małych poprawek do komentarzy

- Dodano nowe funkcje do klasy CGMAPI: SetGMFunctionAddress, SetGMFunctionResult, PreserveFunctionData i RestoreFunctionData, które ułatwiają manipulowanie tabelą funkcji z GM (podmienianie funkcji GM na własne)

 

Pobierz wersję v0.5:

https://gmclan.org/up541_4_GMAPIv0_5_src.html

 

Przykład pokazujący jak podmienić funkcje z GM na funkcje z DLLa:

https://gmclan.org/up541_3_GMFunctionReplacing.html

 

Teraz zajmę się czcionkami, particlami i wbudowanymi "zmiennymi" z GM, żeby można było z DLLa pobrać/zmienić wartość np. room_speed/width/height itd. Potem będzie trzeba to wszystko zrobić kompatybilne z GM8 (jak zdąży wyjść ;p).

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Wiesz co teraz działa, nie wiem czy to kwestia wywalenia z pliku gm6 ścieżki do Debug\ i wrzucenia DLLa folder wyżej, czy kwestia tego, że zainstalowałem Visual C++ Express w międzyczasie :)

Odnośnik do komentarza
Udostępnij na innych stronach

Jakoś na pewno się da, po wpisach w rejestrze czy cuś, nie sprawdzałem tego. ;p Wolę nie zmuszać ludzi do instalowania jakichś dodatków, jak wystarczy, że skompiluję aplikację/bibliotekę z odpowiednią biblioteką uruchomieniową :P

Odnośnik do komentarza
Udostępnij na innych stronach

wystarczy kompilować z opcją code generation multi-threading debug/release bez dll ;p

Odnośnik do komentarza
Udostępnij na innych stronach

Mam dobrą wiadomość. Udało mi się rozwiązać wszelkie problemy, które uniemożliwiały dodawanie własnych funkcji GML do gry, tak więc można się spodziewać takiej możliwości w następnej wersji GMAPI. :P Dzięki temu wywoływanie funkcji z DLL-a będzie znacznie wydajniejsze, jako że zniknie potrzeba używania external_call do wywołań. Normalna dokumentacja najprawdopodobniej też będzie (w końcu) zrobiona ;p

Odnośnik do komentarza
Udostępnij na innych stronach

no wreszcie cos na co czekalem :D

btw. dodawanie stalych tez juz dziala?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 miesiące temu...

Nowa wersja jest już dostępna!

 

Zmiany:

  • Biblioteka jest teraz kompatybilna z GM8
  • Dodano funkcje i stałe z GM8
  • Dodano nowe interfejsy, które dają dostęp do: czcionek, wbudowanych zmiennych, systemów cząsteczek, typów cząsteczek, emitterów, deflectorów, destroyerów, changerów oraz attractorów
  • Zmodernizowano metodę podmiany funkcji GML i dodano możliwość rejestrowania własnych.
  • Dodano nowe metody do klasy CGMVariable, dzięki którym można konwertować wartości pomiędzy string a real.
  • Funkcje GM, które zmieniły się w GM8 (np. sprite_add) są teraz przeładowane z nowymi parametrami.
  • Poprawiono kilka błędów w funkcjach GM, komentarzach i klasie CGMVariable

Więcej informacji n.t. zmian znajdziecie w pliku changelog. (lepiej sprawdzić bo wprowadziłem kilka zmian, które prowadzą do braku kompatybilności z poprzednimi wersjami GMAPI) Od teraz nie będę już zapewniał wsparcia dla GM6 i GM7 i w przyszłej wersji zostanie ono usunięte.

Projekt jest teraz hostowany na Google Code, więc jak chcecie sprawdzić kod źródłowy to zapraszam tutaj: http://code.google.com/p/gmapi/

 

Download wersji 0.6:

http://gmapi.googlecode.com/files/GMAPIv0_6.rar

 

Przykład dodawania/podmieniania funkcji GML:

https://gmclan.org/up541_4_RegisteringGMFunctions.html

 

Test dostępu do particli i wbudowanych zmiennych:

https://gmclan.org/up541_4_ParticleTest.html

 

EDIT: BTW, pochwalę się: już 7 projektów korzysta z GMAPI:

:D

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...