Wtyczka advSplash

Ten dokument zgodny jest z NSIS 3.9


1. Wprowadzenie

AdvSplash.dll - mała (5.5k), prosta wtyczka, która pozwala na wyświetlenie obrazka powitalnego (splash screen) w instalatorach NSIS, z fajnymi efektami zanikania (win2000+) oraz przezroczystości.

2. Sposób użycia

  • Utwórz plik z obrazkiem powitalnym w formacie .BMP.
  • Utwórz plik dźwiękowy w formacie .WAV, który zostanie odtworzony podczas wyświetlania obrazka (opcjonalnie).
  • Dodaj następujące linie do kodu pliku .NSI:
    Function .onInit
      InitPluginsDir
      File "/oname=$PluginsDir\spltmp.bmp" "${NSISDIR}\Contrib\Graphics\Wizard\llama.bmp"
    
    ; opcjonalnie
    ; File /oname=$PluginsDir\spltmp.wav "moja_melodyjka.wav"
    
      advsplash::show 1000 600 400 -1 $PluginsDir\spltmp
    
      Pop $0 ; zmienna $0 ma wartość '1', jeśli użytkownik zamknie
             ; wcześniej obrazek, '0' jeśli obrazek zamykany jest
             ; normalnie oraz '-1' jeśli wystąpił jakis błąd.
    
    FunctionEnd
    

3. Format wywołania

advsplash::show Zwłoka CzasPojawiania CzasZaniku KolorKluczowy NazwaPliku
  • Zwłoka - czas, po którym zostanie wyświetlony obrazek (w milisekundach)
  • CzasPojawiania - czas potrzebny na pokazanie efektu pojawiania (w ms) (nie zawarty w Zwłoka)
  • CzasZaniku - czas potrzebny na pokazanie efektu zaniku (w ms) (nie zawarty w Zwłoka)
  • KolorKluczowy - kolor używany dla przezroczystości, dowolna wartość RGB (np. R=255 G=100 B=16 -> KolorKluczowy=0xFF6410), użyj KolorKluczowy=-1, jeśli nie ma koloru przezroczystości w twoim obrazku.
  • NazwaPliku - nazwa pliku obrazka (bez rozszerzenia .bmp). Użyty plik BMP będzie miał nazwę ten parametr.bmp, a plik wave (jeśli istnieje): ten parametr.wav.

(Jeśli masz już zdefiniowaną funkcję .onInit, wstaw powyższy kod własnie tam)

Uwaga 1:

Efekty pojawiania/zaniku dostępne są tylko w systemach win2k/winxp, wszystkie inne wyświetlą po prostu obrazek z Zwłoka = Zwłoka + CzasPojawiania + CzasZaniku. Również, zauważyłem, że mój winXP nie używa koloru przezroczystości w rozdzielczości obrazka 16 bpp, więc bpps niższe niż 32 dla obrazków z kolorem przezroczystości nie dają efektu zaniku.


Uwaga 2:

Zwracana wartość funkcji równa się 1, jeśli użytkownik zamknie wcześniej obrazek powitalny (zdejmie ją ze stosu).

-Justin

Konwersja na wtyczkę DLL - Amir Szekely (kichik)
Efekt zanikania i przezroczystości - Nik Medved (brainsucker)