Allegro (biblioteka oprogramowania)

Allegro
Oryginalni autorzy Shawn Hargreaves [ pl ]
Deweloperzy deweloperzy allegro
Pierwsze wydanie początek 1990 roku ; 33 lata temu ( 1990 )
Wersja stabilna
5.2.8 / 5 czerwca 2022 r .; 9 miesięcy temu ( 05.06.2022 )
Magazyn
Napisane w C
System operacyjny Windows , Linux , macOS , Android , iOS , przeglądarka internetowa i in.
Typ Pakiet SDK do multimediów i gier
Licencja Allegro 5: zlib
Strona internetowa liballleg .org

Allegro to biblioteka oprogramowania do tworzenia gier wideo . Funkcjonalność biblioteki obejmuje obsługę podstawowej grafiki 2D, manipulację obrazami, wyjście tekstowe, wyjście audio, MIDI , wejście i timery, a także dodatkowe procedury dla arytmetyki macierzy stałoprzecinkowych i zmiennoprzecinkowych, ciągi znaków Unicode , dostęp do systemu plików , manipulacji plikami, plikami danych i grafiką 3D. Biblioteka jest napisana w języku programowania C i zaprojektowana do użytku z C, C++ lub Objective-C , z powiązaniami dostępnymi dla Python , Lua , Scheme , D , Go i innych języków. Allegro zawiera obszerną dokumentację i wiele przykładów.

Allegro obsługuje systemy Windows , macOS , systemy uniksopodobne , Android i iOS , łącząc ich interfejsy programowania aplikacji (API) w jeden przenośny interfejs. Może również działać na wierzchu Simple DirectMedia Layer , który służy do uruchamiania programów Allegro w przeglądarce internetowej za pomocą Emscripten .

Wydane na warunkach licencji zlib Allegro jest oprogramowaniem darmowym i open source .

Historia

, początkowo oznaczające Atari Low-Level Game Routines , zostało pierwotnie stworzone przez Shawna Hargreavesa [ pl ] dla Atari ST na początku lat 90. Jednak Hargreaves porzucił wersję dla Atari, gdy zdał sobie sprawę, że platforma umiera, i ponownie zaimplementował swoją pracę dla Borland C++ i DJGPP w 1995 roku. Obsługa Borland C++ została usunięta w wersji 2.0, a DJGPP był jedynym obsługiwanym kompilatorem. Ponieważ DJGPP był DOS , wszystkie gry korzystające z Allegro korzystały z DOS. Około 1998 roku Allegro rozgałęziło się na kilka wersji. Powstał port na Windows , WinAllegro, a także w tym czasie uniksowy port Allegro, XwinAllegro. Te różne porty zostały połączone w wersjach Allegro 3.9 WIP, przy czym Allegro 4.0 jest pierwszą stabilną wersją Allegro obsługującą wiele platform.

allegro 5

Obecny rozwój koncentruje się na gałęzi Allegro 5, całkowitym przeprojektowaniu zarówno interfejsu API, jak i większości wewnętrznych operacji biblioteki. Dołożono wszelkich starań, aby interfejs API był bardziej spójny i bezpieczny dla wielu wątków. Domyślnie biblioteka jest teraz przyspieszana sprzętowo przy użyciu zaplecza renderującego OpenGL lub DirectX, tam gdzie to konieczne. Wiele dodatków, które istniały jako osobne projekty dla Allegro 4, teraz płynnie współpracuje z właściwym Allegro i jest dołączanych do domyślnej instalacji. Allegro 5 jest sterowane zdarzeniami .

Cechy

Allegro 5 obsługuje następujące funkcje w swoim Core API:

  • Pliki konfiguracyjne – obsługa plików w formacie INI
  • Wyświetlacze - praca z oknami
  • Wydarzenia - zarządzanie wydarzeniami
  • File I/O - abstrakcja zarówno na rzeczywistych plikach, jak i plikach wewnątrz jakiegoś pliku danych (np. archiwum ZIP *)
  • System plików - abstrakcja zarówno rzeczywistego systemu plików, jak i systemu plików w jakimś pliku danych (np. Archiwum ZIP)
  • Matematyka punktu stałego - może być przydatna w przypadku wbudowanych procesorów bez FPU
  • Tryby pełnoekranowe
  • Procedury graficzne - kolory, formaty pikseli, mapy bitowe, obcinanie
  • Procedury dotykowe — wymuszone sprzężenie zwrotne i wibracje na urządzeniach wejściowych
  • Procedury joysticka
  • Procedury klawiatury
  • Zarządzanie pamięcią
  • Monitory
  • Rutyny myszy
  • Struktury ścieżek - manipulacja ścieżkami plików
  • Shader
  • Stan - możesz przechowywać i później przywracać stan aplikacji Allegro
  • Procedury systemowe
  • Wątki
  • Czas
  • Regulator czasowy
  • Wejście dotykowe
  • Transformacje – transformacje współrzędnych dla 2D i 3D
  • Procedury łańcuchowe UTF-8
  • Integracja Direct3D
  • Integracja z OpenGL

Dodatki

Społeczność użytkowników Allegro wniosła kilka rozszerzeń bibliotek do obsługi takich rzeczy, jak przewijanie map kafelków oraz import i eksport różnych formatów plików. Również niektóre części tego, co kiedyś było częścią Allegro, są teraz oddzielone jako dodatek w Allegro 5. Te dodatki są dystrybuowane z podstawową biblioteką:

  • Dodatek audio
  • Kodeki audio - .wav, .flac, .ogg, .opus, .it, .mod, .s3m, .xm, .voc
  • Dodatek do kolorów - konwersja przestrzeni kolorów
  • Dodatki do czcionek
  • Dodatek we/wy obrazu — BMP, DDS, PCX, TGA, JPEG, PNG
  • Główny dodatek
  • Dodatek Memfile - traktuj stały blok ciągłej pamięci jako plik
  • Natywny dodatek do dialogów
  • Dodatek PhysicsFS - używanie archiwum jako systemu plików
  • Dodatek do prymitywów - rysowanie prymitywów (np. okręgu)
  • Dodatek do strumieniowego przesyłania wideo

Zobacz też

Linki zewnętrzne