turniej.unreal.pl :: Zobacz temat - [UT1][DODATEK] UEngine Preprocessor Commandlet
graphic logo logo graphic graphic  


Unreal Tournament UEngine Preprocessor Commandlet
Napisz nowy temat   Odpowiedz do tematu
   Forum turniej.unreal.pl Strona Główna -> Modyfikacje  
Autor Wiadomość
 Post Wysłany: Pon Wrz 22, 2008 7:37 pm 

Raven
Admin
Admin


Dołączył: 13 Maj 2004
Posty: 200


 
 
 

Unreal Tournament UEngine Preprocessor Commandlet
Zobacz pojedynczy postZobacz pojedynczy post

Nazwa: UEngine Preprocessor Commandlet
Wersja: 0.1.35
Typ: UCC Commandlet
Wymagania: Unreal Tournament v. 436
Instalacja: Wypakuj zawartość archiwum do foleru UT
Opis: Jest to preprocesor w formie rozszerzenia ucc.exe
Readme: Dokłady spis funkcji na WIKI.
Screen shot:


Download: http://turniej.unreal.pl/files/UEnginePPC.zip ~93kb
Kod źródłowy: Załączony do archiwum.

Jest to nowa wersja preprocesora UScript - tym razem w formie komendy UCC. Jak zwykle pełne źródła są dostępne w archiwum. Dodatek napisałem aby sprawdzić jak działa komenda ucc. Główną zaletą, w porówaniu do poprzedniego preprocesora, są lepsze dyrektywy oraz lepsza integracja z UnrealEngine.

 
Odpowiedz z cytatem

_________________

personal wiki
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora Numer GG Tlen
 Post Wysłany: Sro Wrz 24, 2008 1:53 pm 

Raven
Admin
Admin


Dołączył: 13 Maj 2004
Posty: 200


 
 
 


Zobacz pojedynczy postZobacz pojedynczy post

Jest to dodatek dla osób piszących w Unreal Script. Od preprocesora z C++ różni się nazwą dyrektyw. W założeniu ma on automatyzować pewne czynności. Oto przykład działania:

Zakładając, że mamy projekt REmitter.upc

<UT>/REmitter/REmitter.upc
Kod:
[project]
path=../REmitter/
debug=true
make=false
make_ini=make.ini
clean=true
output=classes
input=classes/preprocessor
printglobals=true

[globals]
__NUM_NATIVES__=1


oraz klasy

<UT>/REmitter/classes/preprocessor/REmitterBase.uc
Unreal Script:
  1. `process
  2. `include(classes/includes/default_header.uc,true)
  3. // Base class for emitter related actors.
  4. // Quaternion implementation originally written by UsAaR33.
  5. class REmitterBase extends Actor native;
  6.  
  7. struct Quat
  8. {
  9.         var() config float W, X, Y, Z;
  10. };
  11. //converts rotator to quaternion
  12. native`write(__NUM_NATIVES__==1?(2330):) static final function Quat RotationToQuat( rotator R, bool bHighPrecision);


<UT>/REmitter/classes/includes/default_header.uc
Unreal Script:
  1. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2. // Copyright 2005-2008 Dead Cow Studios. All Rights Reserved.
  3. // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  4. // Coder: Raven
  5. // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  6. // Last revision: __DATE__
  7. // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  8.  


Uruchamiasz polecenie ucc:

Kod:
ucc uengineppc.parse project=../REmitter/REmitter.upc



1. Preprocesor wykrywa dyrektywę `process. Dzięki temu program wie, że ma przeanalizować aktualnie otwarty plik
2. Preprocesor wykrywa dyrektywę `include. Pierwszy parametr określa lokalizację pliku do załączenia, drugi czy załączany plik ma być analizowany.
3. Preprocesor wykrywa makro __DATE__ i aktualna data jest wstawiana na jego miejsce
4. Preprocesor wykrywa dyrektywę `write. Ponieważ wyrażenie jest spełnione (__NUM_NATIVES__ jest równe 1) pierwsza wartość po ? - (2330) - jest wstawiona w miejscu dyrektywy

plik wyjściowy będzie wyglądał następująco:

<UT>REmitter/classes/REmitterBase.uc
Unreal Script:
  1. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2. // Copyright 2005-2008 Dead Cow Studios. All Rights Reserved.
  3. // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  4. // Coder: Raven
  5. // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  6. // Last revision: 21-9-2008 20:1
  7. // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  8. // Base class for emitter related actors.
  9. // Quaternion implementation originally written by UsAaR33.
  10. class REmitterBase extends Actor native;
  11.  
  12. struct Quat
  13. {
  14.         var() config float W, X, Y, Z;
  15. };
  16. //converts rotator to quaternion
  17. native(2330) static final function Quat RotationToQuat( rotator R, bool bHighPrecision);

 
Odpowiedz z cytatem

_________________

personal wiki
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora Numer GG Tlen
   Forum turniej.unreal.pl Strona Główna -> Modyfikacje
Napisz nowy temat   Odpowiedz do tematu
Skocz do:  

 Further options
 Wszystkie czasy w strefie GMT
Strona 1 z 1
 
Zobacz poprzedni temat :: Zobacz następny temat  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz dołączać plików na tym forum
Nie możesz ściągać plików na tym forum
Wyświetl posty z ostatnich:   
 

turniej.unreal.pl Kanał RSS tematu 
PicLens 

Powered by phpBB © 2001, 2002 phpBB Group
Illusion template v.1.0.2 © Jasidog.com
Powered by phpbb, copyright the phpbb group Template by jasidog.com