Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

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.

Opublikowano

Wow! Różnica FPSów jest bardzo duża :] Może jednak zacznę znów robić gry...

 

btw. Ten gość z twojego avatara strasznie przypomina mi Treya (Horo Horo) z Shaman Kinga :3

Opublikowano
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

Opublikowano

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

Opublikowano

Hmmm chciałbym użyć GMAPI do mojego silniczka, głównie chodzi mi o GMowy d3d. Ale nie jestem pewien... czy licencja nie przewiduje umieszczania kodu źródłowego? Bo szczerze, nie chciałbym dawać source ;)

  • 2 miesiące temu...
Opublikowano

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\.

  • 4 miesiące temu...
Opublikowano

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).

  • Administratorzy
Opublikowano

Mam jakieś errory przy testowaniu (wypakowałem). Wygląda na błąd definiowania funkcji (chyba, że GM6 inaczej to robi, bo ja mam GM7).

  • Administratorzy
Opublikowano

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 :)

Opublikowano

Raczej to drugie ;p Zuploaduję wersje niewymagającą redistów, żeby inni mogli sprawdzić sobie bez instalowania tej paczki czy też VC++.

  • Administratorzy
Opublikowano

A nie da się np. jakoś wykrywać tego, żeby usera ostrzegać przy odpalaniu, że program nie zadziała bez pobrania redistributable? To by chyba wystarczyło :)

Opublikowano

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

Opublikowano

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

Opublikowano

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

Opublikowano

no wreszcie cos na co czekalem :D

btw. dodawanie stalych tez juz dziala?

  • 2 miesiące temu...
Opublikowano

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

  • 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ę...