Zmiany w GM 8.1
Artykuł uwzględnia zmiany do wersji 8.1.59
Edytor plansz
Zmiana prawego klawisza myszy - otwiera menu, zamiast kasować, do kasowania trzeba przytrzymać Ctrl.
Usuwanie już rozmieszczonych obiektów z planszy jest domyślnie wyłączone - można je więc nakładać na siebie.
Zoom w room editorze. Poza guzikami w edytorze, rolka myszy przybliża i oddala, wciśnięcie środkowego klawisza pozwala przesuwać planszę.
Można ustawić w opcjach defaultowe tło dla room editora, gdy wyłączymy rysowanie tła.
Gdy używamy przeźroczystego tła, widoczna jest szachownica jak w edytorze grafik.
Dodatkowa opcja w menu (PPM), pozwalająca edytować obiekt.
Edytor grafik
Zoom za pomocą rolki w myszce, przesuwanie za pomocą środkowego przycisku.
Edytor ścieżek
Przesuwanie za pomocą środkowego przycisku myszki.
Edytor kodu
Przyspieszono kolorowanie dłuższych skryptów (działa płynnie do 1000 linii).
Można wyszukiwać dowolny tekst występujący w kodzie w Skryptach/Obiektach/Planszach/Liniach czasu/Wyzwalaczach.
Można włączać wyłączać podpowiadanie kodu przyciskiem na górze edytora.
ESC zamyka aktualne podpowiedzi.
Można zmienić kolor tła.
Dodanie /// w pierwszej linii Execute Code w obiektach powoduje wyświetlanie komentarza w miejesce nazwy tego klocka.
Przekazywanie argumentów
Od wersji 8.1.59 zmieniono obsługę argumentów skryptach. Jeśli w skrypcie mojSkrypt() pojawia się zmienna argumentX, do skryptu mojSkrypt() nalezy podać X+1 argumentów. Np. dla argument2, trzeba podać trzy argumenty. Argumenty są więc teraz OBOWIĄZKOWE.
Aby uzyskać argument opcjonalny, nalezy używać tablicy argument[Y]. Warunek jest jeden - Y nie może być większy/równy niż zmienna argument_count, która przetrzymuje liczbę przekazanych argumentów:
kodif argument_count > 4 { // jest co najmniej 5 argumentów
// mozna teraz zrobić coś z argument[4];, czyli piątym argumentem
}Przypominam, że tablice numerowane są od zera, zatem ostatnim argumentem opcjonalnym nie generującym błędu GM jest argument[argument_count-1];
Inne
Zmiana nazw zasobów jest teraz pod klawiszem F2. Ctrl+R wyszukuje zasoby, Ctrl+F działa tylko w edytorze kodu i pozwala na wyszukiwanie.
GM 8.1 zapisuje pliki jako GM81 a nie GMK.
Dodana funkcja draw_self() - wykonuje kod draw_sprite_ext(sprite_index,image_index,x,y,image_xscale,image_yscale,image_blend,image_angle,image_alpha);
Zmienne os_type i os_device dla osób chcących wydać grę na innych platformach niż PC.
BuforZ w 24 bitach.
Sprzętowe T&L dla szybszego generowania grafiki.
Dodano d3d_light_define_ambient(kolor) aby ustawić ogólny kolor otoczenia.
Dodano dot_product(x1,y1, x2,y2), dot_product_3d(x1,y1,z1, x2,y2,z2), point_distance_3d(x1,y1,z1, x2,y2,z2).
Poprawiono rendering czcionek.
Kodowanie
GM 8.1 został napisany w najnowszej wersji Delphi, zatem kodowany jest w UTF, co powoduje pewne problemy. O ile można już korzystać z prawego Alta do wpisywania polskich znaków diaktrycznych (ą, ę) i działało to w wersji do 8.1.53 to niestety źle generowane były czcionki - powyżej tej wersji czcionki już generują się dobrze, ale kodowane w edytorze się zmieniło i tych znaków nie uzyskamy... niestety ten bug prawdopodobnie zostanie naprawiony w kolejnych wersjach, 8.1.59 jeszcze tej poprawki nie uwzględniał.
Tekst jest poprawnie pobierany przez get_string(), oraz poprawnie wyświetlany dla gier przekonwertowanych z GM8.0.