Files
Rex-EMoolator-docs/docs/pl/reference/APPLICATION.md
Patryk Gensch df6cf2f3d3
Some checks failed
docs / deploy (push) Has been cancelled
docs / build (push) Has been cancelled
Added part of docs
2026-05-19 20:51:59 +02:00

4.3 KiB

APPLICATION

Obiekt aplikacji — najwyższy poziom hierarchii skryptów gry. Deklarowany w pliku Application.def jako pierwszy obiekt; zawiera listę epizodów i wskazuje, który z nich uruchomić jako pierwszy.

Pola

EPISODES

STRING EPISODES

Lista nazw epizodów (EPISODE) tworzących aplikację, oddzielonych przecinkami. W analizowanych grach z reguły zawiera jedną pozycję.

PATH

STRING PATH

Ścieżka relatywna do katalogu dane, w którym znajdują się pliki aplikacji. Używana przez silnik przy lokalizowaniu pliku .CNV powiązanego z aplikacją (zobacz Ładowanie kolejnych plików).

STARTWITH

STRING STARTWITH

Nazwa epizodu, od którego silnik rozpocznie grę.

Metadane

Następujące pola są zapisywane w pliku skryptu jako metadane i nie wpływają bezpośrednio na działanie silnika:

  • AUTHOR — autor pliku.
  • BLOOMOO_VERSION — wersja silnika BlooMoo.
  • CREATIONTIME — data utworzenia pliku.
  • DESCRIPTION — opis aplikacji.
  • LASTMODIFYTIME — data ostatniej modyfikacji pliku.
  • VERSION — wersja aplikacji.

Metody

EXIT

void EXIT()

Kończy działanie aplikacji.

Przykłady

GAME^EXIT();

GETLANGUAGE

STRING GETLANGUAGE()

Zwraca aktualnie ustawiony język aplikacji. Wartością domyślną jest "POL".

Zwraca: kod języka.

Przykłady

UFO^GETLANGUAGE();

RUN

mixed RUN(STRING varName, STRING methodName, [mixed param1, ..., mixed paramN])

Wywołuje metodę methodName na zmiennej varName, przekazując pozostałe argumenty jako jej parametry. Wartość zwracana to wynik wywołanej metody. Mechanizm pełni rolę dynamicznego wywołania — pozwala wybrać zarówno docelową zmienną, jak i metodę w runtime.

Parametry

  • varName — nazwa docelowej zmiennej.
  • methodName — nazwa wywoływanej metody.
  • param1, …, paramN — (opcjonalnie) argumenty przekazywane do wywołania.

Zwraca: wartość zwróconą przez wywołaną metodę.

Przykłady

UFO^RUN(VARSTRINGTEMP, "SETASBUTTON", FALSE, FALSE);
UFO^RUN(VARSTRINGTEMP, "HIDE");
UFO^RUN(["ANIMO"+$1], "HIDE");
UFO^RUN($1, "PLAY", $2);
UFO^RUN(ARRCARS^GET(VARPLAYER), "SETPRIORITY", ARRPRIORITY^GET(VARPLAYER));

RUNENV

mixed RUNENV(STRING sceneName, STRING behaviourName)

Wywołuje procedurę behaviourName, ale tylko wtedy, gdy aktualnie aktywna scena ma nazwę sceneName. W przeciwnym razie metoda nie ma efektu. Mechanizm służy do warunkowego uruchamiania procedur, które mają sens wyłącznie w konkretnym kontekście sceny.

Parametry

  • sceneName — nazwa sceny, w której procedura ma być wykonana.
  • behaviourName — nazwa wywoływanej procedury.

Zwraca: wartość zwróconą przez procedurę lub NULL, jeżeli warunek sceny nie został spełniony.

Przykłady

GAME^RUNENV(SCENENAME, "__HELPSTART__");
GAME^RUNENV(SCENENAME, "B_PAUSE_START");
GAME^RUNENV(SCENENAME, "__CUTINIT__");

SETLANGUAGE

void SETLANGUAGE(STRING languageCode)

Ustawia kod języka aplikacji. Silnik mapuje przekazany kod LCID Windows na wewnętrzny identyfikator języka według poniższej tabeli:

Kod LCID Język Wewnętrzny ID Podkatalog
0415 polski 1 POL
0405 czeski 2 CZE
0402 bułgarski 3 BUL
0418 rumuński 4 ROM
0419 rosyjski 5 RUS
040E węgierski 6 HUN
041B słowacki 7 SLO
0422 ukraiński 8 UKR

Wybrany identyfikator decyduje o podkatalogu z lokalizowanymi zasobami, z którego silnik wczytuje pliki gry (zobacz Ładowanie kolejnych plików). Identyfikatory 9, 10 i 11 (ustawiane inną drogą niż SETLANGUAGE) odpowiadają podkatalogowi NIEM — wersji niemieckojęzycznej. Identyfikator spoza powyższego zakresu skutkuje pustym podkatalogiem. Po ustawieniu języka silnik ponownie inicjalizuje również układ klawiatury.

Parametry

  • languageCode — kod LCID w postaci czterocyfrowej liczby szesnastkowej.

Przykłady

UFO^SETLANGUAGE("0415");
UFO^SETLANGUAGE("040E");
UFO^SETLANGUAGE("0419");