Artykuly - [UE1] Pliki .umod by Raven dnia: 25 Listopad 2007, 23:05
Istnieja dwa sposoby, aby zrobic installera typu .umod. W pierwszym, wystarczy sciagnac program UMOD Wizard (obsluga banalna), w drugim zas, którym my sie zajmiemy, uzyjemy wbudowanej funkcji ucc master.
Dlaczego ten? Poniewaz zawsze warto go znac :). No ale przejdzmy do kursu. Zatem wpierw nalezy stworzyc dwa pliki, o IDENTYCZNYCH nazwach (powiedzmy MyModSE). Pliki te maja miec rozszerzenia .int oraz .ini, a znajdowac sie maja w katalogu system.
Plik INI
W pliku .ini mozna zdefiniowac kilka grup.
Grupa setup
- Product - nazwa, która bedzie zapisana do pliku manifest.ini po zainstalowaniu moda.
- Version - wersja (charakter czysto informacyjny).
- Archive - nazwa wygenerowabego.
- SrcPath - katalog w którym zostanie zapisany wygenerowany plik .umod (. oznacza katalog system).
- MasterPath - domyslna sciezka (najlepiej zostawic .. i uzywac odpowiednich odwolan w grupach).
- Requires - grupa wymagan.
- Group - grupa instalacyjna. Zauwaz, ze zarówno grupa [SetupGroup] i zawarte w niej pliki sa niezbedne. Pierwszy plik oznacza logo, drugi readme). Grup moze byc wiele.
- Visible i Tree - Czy grupy maja byc widoczne podczas instalacji (tzn. czy mozliwy jest wybór, które grupy maja byc zainstalowane).
np:
[Setup]
Product=My Mod
Language=int
Version=1
Archive=MyMod.umod
SrcPath=.
MasterPath=..
MasterPathUnrealGameContent=..
Requires=UTRequirement
Group=SetupGroup
Group=MMain
Group=MHelp
Tree=True
Visible=true
Grupa UTRequirement- Product - nazwa wymaganej gry.
- Version - wymagana wersja gry.
np:
[UTRequirement]
Product=UnrealTournament
Version=436
Grupa SetupGroup - Copy=(Src=System\Manifest.*,Flags=3) - aktualizuje plik Manifest
- File=(Src=MyMod\help\MyMod.bmp") - sciezka do loga
- File=(Src=MyMod\help\HELP.html") - sciezka do readme
np:
[SetupGroup]
Copy=(Src=System\Manifest.*,Flags=3)
File=(Src=MyMod\help\MyMod.bmp")
File=(Src=MyMod\help\HELP.html")
Grupy Instalacyjne
- Visible - czy grupa jest widoczna w wyborze grup (nie ma znaczenia, jesli nie ustawiamy zadnych grup) - wartosci True lub False
- Optional - czy grupa jest wymagana (False), czy nie (True)
- Selected - czy jest domyslnie wybrana - wartosci True lub False
- Selectable - czy moze zostac wybrana - wartosci True lub False
- File - sciezka do pliku który ma zostac umieszczony w pliku .umod (instalowany bedzie w tym samym miejscu)
- Copy - kopiuje plik. Dodanie Flags=3 spowoduje zaktualizowanie istniejacego juz pliku.
- Src - opcja komendy Copy/File. Wskazuje odpowiedni plik
- Master - ?? (nie doszedlem do czego sluzy)
- Shortcut - tworzy skrót
- WinRegistry - dodaje/modyfikuje wskazana wartosc w rejestrze (dziala tylko w systemach Windows)!!
- AddIni - dodaje jedna linijke do wskazanego pliku ini we wskazanej grupie (PlikINI.ini,Nazwa.Grupy.Opcja=wartosc)
- Ini - modyfikuje wskazana wartosc pliku .ini
np:
[MMain]
Visible=True
Optional=False
Selected=True
Selectable=False
Shortcut=PlayShortcut
File=(Src=MyMod\system\MyMain.u")
File=(Src=system\MyMain.int")
AddIni=UnrealTournament.ini,Core.System.Paths=../MyMod/System/*.u
AddIni=UnrealTournament.ini,Engine.Engine.Language=int
WinRegistry=HKEY_LOCAL_MACHINE\MyMod\%Product%\DisplayName=%LocalProduct%
[MHelp]
Visible=True
Optional=True
Selected=True
Selectable=True
File=(Src=system\ext.dll")
[PlayShortcut]
Template=%CommonProgramsPath%\%LocalProduct%\%Caption%.lnk
WorkingDirectory=%DestPath%\System
Command=%DestPath%\System\UnrealTournament.exe
Parameters=ini=MyMod.ini
Icon=%DestPath%\Help\Unreal.ico
Plik INT
To by bylo na tyle jesli chodzi o plik ini. Jednak do poprawnego skompilowania nalezy zbudowac takze plik .int, który takze jest podzielony na grupy.
Grupa Setup
- LocalProduct - nazwa instalowanego moda.
- ReadMe - link do readme
- SetupWindowTitle - nazwa okna instalacyjnego.
- ProductURL - oficjalna strona moda
- VersionURL - strona na której mozemy sciagnac najnowsza wersje
- Developer - twórcy moda
- DeveloperURL - link do oficjalnej strony autorów moda
- License - opcjonalnie licencja (nie rozgryzlem o co w tym biega :))
- AutoplayWindowTitle - nazwa okna po zainstalowaniu moda
- Logo - adres loga
np:
[Setup]
LocalProduct=Skaarj Evasion
ReadMe=MyMod\help\HELP.html
SetupWindowTitle=Install My Mod
AutoplayWindowTitle=Play My Mod
ProductURL=http://mymod.pl
VersionURL=http://mymod.pl/download
Developer=SET
DeveloperURL=http://mymod.pl/team
Logo=MyMod\help\MyMod.bmp
Grupa UTRequirement
- ProductURL - nazwa gry.
- ProductURL - link do strony o grze.
- VersionURL - link do pobrania najnowszego patcha niezbednego do instalacji moda.
- Developer - nazwa twórcy gry.
- DeveloperURL - link do oficjalnej strony autorów gry.
np:
[UTRequirement]
LocalProduct=UnrealTournament
ProductURL=http://www.unrealtournament.com/
VersionURL=http://unreal.epicgames.com/
Developer=Epic Games, Inc.
DeveloperURL=http://www.epicgames.com/
Grupy instalacyjne
- Caption - nazwa opcji.
- Description - opis opcji.
np:
[MMain]
Caption=My Mod Game
Description=install all game files
[MHelp]
Caption=My Mod Help
Description=install help
Grupa Shortcut
np:
[PlayShortcut]
Caption=Play MyMod
Kompilacja
Najwazniejsza czesc. Proces kompilacji ulatwi ponizszy skrypt .bat, który nalezy umiescic w katalogu system:
echo off
echo :: umod compiler ::
echo code by Raven
copy Manifest.ini OldManifest.ini
copy Manifest.int OldManifest.int
ucc.exe master MyModSE
del Manifest.ini
del Manifest.int
copy OldManifest.ini Manifest.ini
copy OldManifest.int Manifest.int
del OldManifest.ini
del OldManifest.int
Oczywiscie wszystkie nazwy mozna zmieniac, nalezy tylko zwracac uwage na wskazane zaleznosci.