[LeGo] MiniMap 10411 26

O temacie

Autor carelion

Zaczęty 2.06.2013 roku

Wyświetleń 10411

Odpowiedzi 26

carelion

carelion

RaveN Studio
Moete Kita Zo!
posty153
Propsy73
Profesjabrak
  • RaveN Studio
  • Moete Kita Zo!

carelion
RaveN Studio

[LeGo] MiniMap
2013-06-02, 13:53(Ostatnia zmiana: 2013-06-02, 13:54)
Witam otóż próbowałem zrobić mini-mapę z tego tematu ale wywołuję mi błąd przy wczytywaniu Topics.d
a dokładniej taki:
U:PAR: Unknown identifier : MEM_ARRAYSORTFUNC ( line 173 )
w skrypcie w pobliżu tej linijki:
   if(l > Topics_MaxTargets) {
        ExternalAcceptVobs();

        MEM_ArraySortFunc(t.positionsList, _Topics_DistCalculator);

        ExternalDenyVobs();
        p.numInArray = Topics_MaxTargets;
    };
czy wie ktoś może jak to naprawić?
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

[LeGo] MiniMap
#1 2013-06-02, 13:58(Ostatnia zmiana: 2013-06-02, 13:59)
Prawie na pewno parsujesz pliki w złej kolejności. Sprawdź w jakim pliku jest funkcja MEM_ARRAYSORTFUNC i upewnij się że jest on parsowany przed tym, w którym ją wywołujesz (i w którym jest wykrywany błąd). Jeśli nie jest, popraw tą kolejność. Pliki Ikarusa powinny być parsowane bardzo wcześnie, o ile pamiętam najlepiej bezpośrednio po _intern.

carelion

carelion

RaveN Studio
Moete Kita Zo!
posty153
Propsy73
Profesjabrak
  • RaveN Studio
  • Moete Kita Zo!

carelion
RaveN Studio

[LeGo] MiniMap
#2 2013-06-02, 14:02(Ostatnia zmiana: 2013-06-02, 14:03)
pliki Topics.d i Minimap.d parsują się w folderze LeGo są wpisane w Header.src oczywiście pierwszy jest parsowany Topics.d bo bez niego Minimap.d nie będzie działać.

Funkcja MEM_ARRAYSORTFUNC jest w pliku Topics.d
 

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Potrzebny jest pakiet arrays.
 
Życzę wam seksu analnego po stronie biernej.
Dropbox +500 mb na start
LowPoly
Wykonanie modelu niskopoligonowego to sztuka kompromisu. Nie jest to jedynie uproszczenie modelu wysokopoligonowego, ale głęboka modyfikacja oraz podejmowanie decyzji często zmieniających wygląd pierwotny obiektu, tak by przy najmniejszej ilości trójkątów uzyskać jak najwierniej odwzorowany kształt oryginału. Nie można też zapomnieć o tym iż musi nadal wyglądać przekonywająco i tak balansować by uzyskać efekt optymalny.

Podstawowym założeniem jest, że model nie powinien mieć zbędnych, niewidocznych dla gracza detali włączonych w geometrie. Większość obiektów jakie znajdują się w grze powinna prezentować się najlepiej z odległości około 3-5 metrów. Wszelkie detale, które zanikają, wydają się płaskie lub zlewają się z bryłą modelu należy uznać za zbędne i pozostawić je na normal mapie.

Fakt, iż gracz będzie w stanie podejść bliżej do obiektu i zobaczyć go z mniejszej niż 3m odległości nie powinno stanowić większego problemu, gdyż większą rolę odgrywają wtedy tekstury oraz dodatkowy detal zależny od materiału obiektu. To właśnie kompromis między wydajnością, a szczegółowością otoczenia.

Detal, którego nie widać z 3-5 metrów nie powinnien istnieć w geometrii modelu.
Krawędzie znajdujące się blisko siebie, które zlewają się z większej odległości należy uprościć do wspólnej płaszczyzny

carelion

carelion

RaveN Studio
Moete Kita Zo!
posty153
Propsy73
Profesjabrak
  • RaveN Studio
  • Moete Kita Zo!

carelion
RaveN Studio

[LeGo] MiniMap
#4 2013-06-02, 15:10(Ostatnia zmiana: 2013-06-02, 15:12)
Sawik, a czy mógłbyś mi podesłać link do pakietu arrays  :D

EDIT: czy to ten?
 

carelion

carelion

RaveN Studio
Moete Kita Zo!
posty153
Propsy73
Profesjabrak
  • RaveN Studio
  • Moete Kita Zo!
@refresh
czy jest ktoś w stanie mi pomóc?
 

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Tak to ten.
Chociaż przeczytaj co tam wyżej pisze, mam mało czasu nie chce mi się tłumaczyć a z niemca zawsze slaby bylem.

W sumie... pokaz kolejnosc parsowania.
 
Życzę wam seksu analnego po stronie biernej.
Dropbox +500 mb na start
LowPoly
Wykonanie modelu niskopoligonowego to sztuka kompromisu. Nie jest to jedynie uproszczenie modelu wysokopoligonowego, ale głęboka modyfikacja oraz podejmowanie decyzji często zmieniających wygląd pierwotny obiektu, tak by przy najmniejszej ilości trójkątów uzyskać jak najwierniej odwzorowany kształt oryginału. Nie można też zapomnieć o tym iż musi nadal wyglądać przekonywająco i tak balansować by uzyskać efekt optymalny.

Podstawowym założeniem jest, że model nie powinien mieć zbędnych, niewidocznych dla gracza detali włączonych w geometrie. Większość obiektów jakie znajdują się w grze powinna prezentować się najlepiej z odległości około 3-5 metrów. Wszelkie detale, które zanikają, wydają się płaskie lub zlewają się z bryłą modelu należy uznać za zbędne i pozostawić je na normal mapie.

Fakt, iż gracz będzie w stanie podejść bliżej do obiektu i zobaczyć go z mniejszej niż 3m odległości nie powinno stanowić większego problemu, gdyż większą rolę odgrywają wtedy tekstury oraz dodatkowy detal zależny od materiału obiektu. To właśnie kompromis między wydajnością, a szczegółowością otoczenia.

Detal, którego nie widać z 3-5 metrów nie powinnien istnieć w geometrii modelu.
Krawędzie znajdujące się blisko siebie, które zlewają się z większej odległości należy uprościć do wspólnej płaszczyzny

Lehona

Lehona

Użytkownicy
posty196
Propsy190
  • Użytkownicy
Both Topics.d and Minimap.d have to be parsed after LeGo, ie either at the end of header.src or any point after that. Don't parse them before you parse LeGo. Also use the version of LeGo that is linked in the thread if you don't already do so.
 
Unless specified otherwise, my posts are always about Gothic 2 Night of the Raven.

kaczka

kaczka

RaveN Studio
Definitely not kaczka!
posty2280
Propsy2392
NagrodyV
ProfesjaLvl designer
  • RaveN Studio
  • Definitely not kaczka!

kaczka
RaveN Studio

[LeGo] MiniMap
#8 2013-06-23, 17:49(Ostatnia zmiana: 2013-06-23, 17:53)
Header.src u mnie wygląda tak:
//////////
// LeGo //
//////////

EngineAdr.d
Timer.d
Userconst.d
StringBuilder.d
Locals.d
BinaryMachines.d
PermMem.d
PermMem_Structs.d
EventHandler.d
List.d
Anim8.d
HookEngine.d
FrameFunctions.d
Random.d
AI_Function.d
Interface.d
View.d
Cursor.d
Bloodsplats.d
Trialoge.d
Names.d
Bars.d
Buttons.d
Box.d
Dialoggestures.d
Focusnames.d
Gamestate.d
Saves.d
Int64.d
LeGo.d
Topics.d
Minimap.d

Początek Gotrhic.src tak
_INTERN\CONSTANTS.D
_INTERN\CLASSES.D


_INTERN\IKARUS_CONST_G2.D
_INTERN\ENGINECLASSES_G2\*.D
_INTERN\IKARUS.D
_INTERN\FLOATPAKET.D
_INTERN\ARRAY_DOCUMENTATION.D
_INTERN\ARRAY_AIVARHANDLER.D
_INTERN\ARRAYS.D
LeGo\Header.src

A zaraz po parsowaniu przez zSpy, wyskakuje taki oto błąd. Kombinowałem z kolejnością właściwie wszystkiego, pliki przeglądałem ale widocznie jestem aż tak ułomny, że nie potrafię znaleźć przyczyny tego błędu.

Spoiler

Z kolei linia nr 60 w Array_Documentation.d wygląda tak
func int Arr_Length (int arr_ID)
Tu początek pliku Araj Dokumentajszyn
Spoiler
Pierwsze skrypty (tj. func int Arr_Create()) zaczynają się od linii 56
//************************************
//     Benutzung der Funktionen:
//************************************

/************/
/* 1D Array */
/************/

func int Arr_Create()
/* -> Erzeugt ein neues Array und gibt einen integer Wert zurück, der im
Folgenden zur Identifikation des Arrays dient. */

func int Arr_Length (int arr_ID)
/* -> Gibt die Länge des Arrays 'arr_ID' zurück. Ist arr_ID ungültig
wird NAN zurückgegeben. */

func int Arr_High (int arr_ID)
/* -> Gibt den Index des letzten Elements im Array 'arr_ID' zurück
(dieser ist stets um 1 kleiner als die Länge des Arrays, da die Zählung
bei 0 beginnt). */

func void Arr_SetLength (int arr_ID, int newLength)
/* -> Setzt die Länge des Arrays 'arr_ID' auf den Wert 'newLength' (dann
gibt es in dem Array newLength gültige Positionen, diese sind 0, 1, 2,
..., newLength - 1). */

func void Arr_SetValue (int arr_ID, int offset, int value)
/* -> Setzt den Wert mit dem Index 'offset' des Arrays 'arr_ID' auf den
Wert 'value'. Anmerkung: Wird jenseits der rechten Array Grenze
geschrieben, wird das Array automatisch verlängert und eine Warnung
ausgegeben. */

func int Arr_GetValue (int arr_ID, int offset)
/* -> Gibt den Wert mit dem Index 'offset' des Arrays 'arr_ID' zurück.
Bei ungültigen Paramtern wird NAN zurückgegeben. */

func void Arr_Free (int arr_ID)
/* -> Gibt das Array 'arr_ID' frei. Der Speicher steht nun für andere
Arrays zur Verfügung. */

func int Arr_IndexOf (int arr_ID, int value)
/* -> Gibt den Index des ersten Elements im Array 'arr_ID' das den Wert
'value' hat zurück. Wird kein passendes Element gefunden wird NAN
zurückgegeben. */

func void Arr_Append (int arr_ID, int value)
/* -> Verlängert das Array 'arr_ID' um 1 und schreibt den Wert 'value'
in das neu erzeugte Element. */

/************/
/* 2D Array */
/************/
 

Splash

Splash

Moderator
posty4212
Propsy3414
ProfesjaNierób
  • Moderator

Splash
Moderator

[LeGo] MiniMap
#9 2013-06-23, 18:10(Ostatnia zmiana: 2013-06-23, 18:10)
A mi działa. Też miałem problemy z minimapą, ale ściągnąłem wszystkie najnowsze pliki LeGo stąd : https://portfolio.assembla.com/code/lego2/subversion/changesets/31
I wszystko działa  :ok:
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

carelion

carelion

RaveN Studio
Moete Kita Zo!
posty153
Propsy73
Profesjabrak
  • RaveN Studio
  • Moete Kita Zo!
Splash jeśli chodzi ci o to:
Zagrożone pliki

EngineAdr.d →Szybka diff
Header.src →
HookEngine.d →Szybka diff
Interface.d →Szybka diff
LeGo.d →Szybka diff
PermMem.d →Szybka diff
Sprite.d →Szybka diff
wgrałem to i wyskakuje mi teraz błąd:
U:PAR: Unknown identifier : ARR_REINITSTARTANDHIGH ( line 25 )
 

Splash

Splash

Moderator
posty4212
Propsy3414
ProfesjaNierób
  • Moderator

Splash
Moderator

[LeGo] MiniMap
#11 2013-06-23, 22:27(Ostatnia zmiana: 2013-06-23, 22:34)
Pobierz pakiet arrays stąd : http://exodus.worldofgothic.com/team/Sektenspinner/Arrays.zip
Tak ma wyglądać końcówka w pliku header.src :
Array_AivarHandler.d
Arrays.d
Topics.d
Minimap.d

Funkcja ARR_REINITSTARTANDHIGH znajduje się w pliku arrays.d
Są dwie możliwości czemu ci wywala błąd
1. Brak pakietu arrays
2. Zła kolejność parsowania
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

carelion

carelion

RaveN Studio
Moete Kita Zo!
posty153
Propsy73
Profesjabrak
  • RaveN Studio
  • Moete Kita Zo!

carelion
RaveN Studio

[LeGo] MiniMap
#12 2013-06-24, 13:37(Ostatnia zmiana: 2013-06-24, 13:44)
Dobra, dzięki spash :D  ale teraz mam inny problem otóż moje modele i cała mapa są dziurawe... oO

EDIT: teraz wywala mi błąd :
 U:PAR: Unknown identifier : SPRITE_SETPOSPXLF ( line 173 ) ... <zParser.cpp,#599>
 

Splash

Splash

Moderator
posty4212
Propsy3414
ProfesjaNierób
  • Moderator

Splash
Moderator

[LeGo] MiniMap
#13 2013-06-24, 14:55(Ostatnia zmiana: 2013-06-24, 14:56)
Nie masz pliku Sprite, a to właśnie w nim jest funkcja SPRITE_SETPOSPXLF. Tak powinna wyglądać końcówka header.src
Sprite.d
Array_AivarHandler.d
Arrays.d
topics.d
minimap.d

Cytuj
moje modele i cała mapa są dziurawe... oO
Nie wiem co jest tego przyczyną.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

carelion

carelion

RaveN Studio
Moete Kita Zo!
posty153
Propsy73
Profesjabrak
  • RaveN Studio
  • Moete Kita Zo!
Nie masz pliku Sprite, a to właśnie w nim jest funkcja SPRITE_SETPOSPXLF. Tak powinna wyglądać końcówka header.src
Sprite.d
Array_AivarHandler.d
Arrays.d
topics.d
minimap.d
tylko że mam sprite w header.src w tej kolejności...
 

Splash

Splash

Moderator
posty4212
Propsy3414
ProfesjaNierób
  • Moderator

Splash
Moderator

[LeGo] MiniMap
#15 2013-06-24, 15:45(Ostatnia zmiana: 2013-06-24, 15:46)
A spróbuj z całym plikiem tak :
EngineAdr.d
Timer.d
Userconst.d
StringBuilder.d
Locals.d
BinaryMachines.d
PermMem.d
PermMem_Structs.d
EventHandler.d
List.d
Anim8.d
HookEngine.d
FrameFunctions.d
Random.d
AI_Function.d
Interface.d
View.d
Cursor.d
Bloodsplats.d
Trialoge.d
Names.d
Bars.d
Buttons.d
Box.d
Dialoggestures.d
Focusnames.d
Gamestate.d
Saves.d
Int64.d
sprite.d
LeGo.d
Array_AivarHandler.d
Arrays.d
topics.d
minimap.d
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

carelion

carelion

RaveN Studio
Moete Kita Zo!
posty153
Propsy73
Profesjabrak
  • RaveN Studio
  • Moete Kita Zo!
dzięki działa. ale dalej przenikają mi obiekty :
 

Splash

Splash

Moderator
posty4212
Propsy3414
ProfesjaNierób
  • Moderator
Tutaj akurat jestem bezradny. Pierwszy raz coś takiego widzę.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Wowoz

Wowoz

Użytkownicy
Wowoźny
posty3698
Propsy4862
NagrodyVV
Profesjabrak
  • Użytkownicy
  • Wowoźny
No co, zamiast kucyka ma sztuczną szczękę :ok:
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

[LeGo] MiniMap
#19 2013-06-24, 17:52(Ostatnia zmiana: 2013-06-24, 17:53)
Bezpośrednią przyczyną jest zjebany z-buffer, ale nie potrafię powiedzieć dlaczego ten błąd się pojawił (reszty tematu nie czytałem, zajrzałem zaskoczony widząc że Wowoz pisze w temacie o skryptach).


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry