TGround::TGround()
APPDIR=D:\EU07-220204\
SCENERY=
linia546_et22-1.scn Renderer:
GeForce2 MX/PCI/3DNOW!
Vendor:
NVIDIA Corporation
Version:
1.2.2
Supported Extensions:
GL_ARB_imaging
GL_ARB_multitexture
GL_ARB_texture_compression
GL_ARB_texture_cube_map
GL_ARB_texture_env_add
GL_ARB_texture_env_combine
GL_ARB_texture_env_dot3
GL_ARB_transpose_matrix
GL_S3_s3tc
GL_EXT_abgr
GL_EXT_bgra
GL_EXT_blend_color
GL_EXT_blend_minmax
GL_EXT_blend_subtract
GL_EXT_compiled_vertex_array
GL_EXT_draw_range_elements
GL_EXT_fog_coord
GL_EXT_packed_pixels
GL_EXT_paletted_texture
GL_EXT_point_parameters
GL_EXT_rescale_normal
GL_EXT_secondary_color
GL_EXT_separate_specular_color
GL_EXT_shared_texture_palette
GL_EXT_stencil_wrap
GL_EXT_texture_compression_s3tc
GL_EXT_texture_edge_clamp
GL_EXT_texture_env_add
GL_EXT_texture_env_combine
GL_EXT_texture_env_dot3
GL_EXT_texture_cube_map
GL_EXT_texture_filter_anisotropic
GL_EXT_texture_lod
GL_EXT_texture_lod_bias
GL_EXT_texture_object
GL_EXT_vertex_array
GL_EXT_vertex_weighting
GL_IBM_texture_mirrored_repeat
GL_KTX_buffer_region
GL_NV_blend_square
GL_NV_evaluators
GL_NV_fence
GL_NV_fog_distance
GL_NV_light_max_exponent
GL_NV_packed_depth_stencil
GL_NV_register_combiners
GL_NV_texgen_emboss
GL_NV_texgen_reflection
GL_NV_texture_env_combine4
GL_NV_texture_rectangle
GL_NV_vertex_array_range
GL_NV_vertex_array_range2
GL_NV_vertex_program
GL_SGIS_generate_mipmap
GL_SGIS_multitexture
GL_SGIS_texture_lod
GL_WIN_swap_hint
WGL_EXT_swap_control
RENDER INITIALIZATION ********************************
LIGHTING SETUP ********************************
FONT INITIALIZATION ********************************
SOUND INITIALIZATION ******************************
TEXTURES INITIALIZATION ***************************
MODELS INITIALIZATION *****************************
TGround::Init(
linia546_et22-1.scn)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
po zaimplementowaniu ZAAWANSOWANEGO DEBUGERA,
na jaw wyszlo, ze symulator sypie sie w funkcji
bool __fastcall TDynamicObject::Update(double dt, double dt1)
na
QueuedLog("03.1");
//McZapkie: parametry powinny byc pobierane z toru
// TTrackShape ts;
ts.R=MyTrack->fRadius; // REM BY Q
// ts.R=ComputeRadius(Axle1.pPosition,Axle2.pPosition,Axle3.pPosition,Axle4.pPosition);
ts.Len= Max0R(MoverParameters->BDist,MoverParameters->ADist); // REM BY Q
ts.dHtrack= Axle1.pPosition.y-Axle4.pPosition.y; // REM BY Q
ts.dHrail= (DegToRad(Axle1.GetRoll())+DegToRad(Axle4.GetRoll()))*0.5f; // REM BY Q
QueuedLog("03.2");
// TTrackParam tp; // ON BY QUEUED
tp.Width= MyTrack->fTrackWidth; // REM BY Q
//McZapkie-250202
tp.friction= MyTrack->fFriction; // REM BY Q
tp.CategoryFlag= MyTrack->iCategoryFlag; // REM BY Q
tp.DamageFlag=MyTrack->iDamageFlag; // REM BY Q
tp.QualityFlag=MyTrack->iQualityFlag; // REM BY Q
QueuedLog("04");
DEBUG.LOG CUT ----------------------------------------------------------------------
TDynamicObject::Update(0.00984966943078879, 0.196993388615776)
[eu07-486, 303e]
1
2
3
03.1
------------------------------------------------------------------------------------
Jak widac, do punktu 03.2 juz nie dochodzi. Usuwanie wyzej wymienionych zmiennych
nie wchodzi jednak w gre poniewaz sa niezbedne do poruszania sie pojazdow.
Zahashowanie...
ts.R=MyTrack->fRadius;
i zastapienie go wczesniejszym...
ts.R=ComputeRadius(Axle1.pPosition,Axle2.pPosition,Axle3.pPosition,Axle4.pPosition);
tez nic nie zmienia.
Zauwazylem jednak, ze wykszaczanie ma miejsce zawsze gdy przed pojazdem, na ktorym sie posypalo
jest pojazd i wykonane byl dla niego nastepujace procedury:
ABuFindObject()
ABuFindObject()
ABuFindObject()
ABuFindObject()
ABuFindObject()
ABuFindObject()
CouplersDettach(1, 1)
DEBUG.LOG CUT -------------------------------------------------------------------------------------
TDynamicObject::Update(0.01, 0.2)
[505120-00355-1, 111a]
1
2
3
03.1
03.2
04
05
06
07
TDynamicObject::Move(0.00514322585473357)
08
09
10
15
16
17
TDynamicObject::Update(0.01, 0.2)
[505120-00355-0, 111a]
1
2
3
03.1
03.2
04
05
06
07
TDynamicObject::Move(0.00514238810071974)
08
09
10
15
16
ABuFindObject()
ABuFindObject()
ABuFindObject()
ABuFindObject()
ABuFindObject()
ABuFindObject()
CouplersDettach(1, 1)
17
TDynamicObject::Update(0.01, 0.2)
[eu07-503, 303e]
1
2
3
03.1
--------------------------------------------------------------------------------
Zasugerowany tym, postanowilem wylaczyc owe funkcje, ale jeszcze przed tym kopiuje caly sypiacy sie sklad ...
node -1 0 EU07-503 dynamic PKP\EU07 eu07-503 303E 0.0 headdriver 3 1 pantstate enddynamic
node -1 0 505120-00355-0 dynamic PKP\Bd Bdu-0.tga 111a 0.0 nobody 3 14 Passengers enddynamic
node -1 0 505120-00355-1 dynamic PKP\Bd Bdu-0.tga 111a 0.0 nobody 3 23 Passengers enddynamic
node -1 0 505120-00355-2 dynamic PKP\Bd Bdu-0.tga 111a 0.0 nobody 3 28 Passengers enddynamic
node -1 0 505120-00355-3 dynamic PKP\Bd Bdu-0.tga 111a 0.0 nobody 3 17 Passengers enddynamic
node -1 0 505120-00355-4 dynamic PKP\Bd Bdu-0.tga 111a 0.0 nobody 3 20 Passengers enddynamic
node -1 0 505120-00355-5 dynamic PKP\Wars #wars.tga wars 0.0 nobody 3 0 enddynamic
node -1 0 505120-00355-6 dynamic PKP\Adu #1klasa1.tga 112a 0.0 nobody 3 9 Passengers enddynamic
node -1 0 505120-00355-7 dynamic PKP\Adu #1klasa1.tga 112a 0.0 nobody 3 7 Passengers enddynamic
... na swoja testowa scenerie i co? No i.....
DEBUG.LOG CUT ------------------------------------------------------------------------------------------------------
PLAYER TRAIN INITIALIZATION ********************************
TTrain::TTrain()
TTrain::Init(eu07-503)
Player train init failed!
Ground.pTrain = Train;
Finding key events...
...
...
TDynamicObject::Update(0.01, 0.2)
[505120-00355-7, 112a]
1
2
3
03.1
03.2
04
05
06
07
TDynamicObject::Move(0)
08
09
10
15
16
17
TDynamicObject::Update(0.01, 0.2)
[505120-00355-6, 112a]
1
2
3
03.1
03.2
04
05
06
07
TDynamicObject::Move(0)
08
09
10
15
16
17
TDynamicObject::Update(0.01, 0.2)
[505120-00355-5, wars]
1
2
3
03.1
03.2
04
05
06
07
TDynamicObject::Move(0)
08
09
10
15
16
17
TDynamicObject::Update(0.01, 0.2)
[505120-00355-4, 111a]
1
2
3
03.1
03.2
04
05
06
07
TDynamicObject::Move(0)
08
09
10
15
16
17
TDynamicObject::Update(0.01, 0.2)
[505120-00355-3, 111a]
1
2
3
03.1
03.2
04
05
06
07
TDynamicObject::Move(0)
08
09
10
15
16
17
TDynamicObject::Update(0.01, 0.2)
[505120-00355-2, 111a]
1
2
3
03.1
03.2
04
05
06
07
TDynamicObject::Move(0)
08
09
10
15
16
17
TDynamicObject::Update(0.01, 0.2)
[505120-00355-1, 111a]
1
2
3
03.1
03.2
04
05
06
07
TDynamicObject::Move(0)
08
09
10
15
16
17
TDynamicObject::Update(0.01, 0.2)
[505120-00355-0, 111a]
1
2
3
03.1
03.2
04
05
06
07
TDynamicObject::Move(0)
08
09
10
15
16
17
TDynamicObject::Update(0.01, 0.2)
[eu07-503, 303e]
1
2
3
03.1
--------------------------------------------------------------------------------------------------------------------
Tu juz widze, ze nie ma ABuFindObject() i CouplersDettach(1, 1) wiec mysle sobie - hmmmm parametr Passengers...
ale, ale czkaj... Dlaczego Player train init failed! na loku??? Czyzby Pantstate?
(node -1 0 EU07-503 dynamic PKP\EU07 eu07-503 303E 0.0 headdriver 3 1 pantstate enddynamic)
Zamieniam wpis na:
node -1 0 EU07-343 dynamic PKP\EU07 eu07-343.bmp 303E 0.0 headdriver 3 0 enddynamic
Odpalilo sie....Hmmmm.....ABu wieszz csooooo? Spie......., Popsules patyki, wszystko ogolnie ;)
Ale dobra Jeszcze nie ma co jechac po nickach ;) Czas na wylaczenie dwuch wyzej wymienionych funkcji.
Po wywaleniu ich nastepuje gowno.... Ale to z mojej winy bo zostawilem wywolania trj funkcji ;]
Wiec gowno nie.
DEBUG.LOG CUT ----------------------------------------------------------------------------------------------------------
TDynamicObject::Update(0.01, 0.2)
[505120-00355-7, 112a]
1
2
3
03.1
03.2
04
05
06
07
TDynamicObject::Move(0.0051396322429448)
08
09
10
15
16
17
TDynamicObject::Update(0.01, 0.2)
[505120-00355-6, 112a]
1
2
3
03.1
03.2
04
05
06
07
TDynamicObject::Move(0.00514556914392935)
08
09
10
15
16
17
TDynamicObject::Update(0.01, 0.2)
[505120-00355-5, wars]
1
2
3
03.1
03.2
04
05
06
07
TDynamicObject::Move(0.00514008989901892)
08
09
10
15
16
17
TDynamicObject::Update(0.01, 0.2)
[505120-00355-4, 111a]
1
2
3
03.1
03.2
04
05
06
07
TDynamicObject::Move(0.00513577492291376)
08
09
10
15
16
17
TDynamicObject::Update(0.01, 0.2)
[505120-00355-3, 111a]
1
2
3
03.1
03.2
04
05
06
07
TDynamicObject::Move(0.0051461393445461)
08
09
10
15
16
17
TDynamicObject::Update(0.01, 0.2)
[505120-00355-2, 111a]
1
2
3
03.1
03.2
04
05
06
07
TDynamicObject::Move(0.00514942368744)
08
09
10
15
16
17
TDynamicObject::Update(0.01, 0.2)
[505120-00355-1, 111a]
1
2
3
03.1
03.2
04
05
06
07
TDynamicObject::Move(0.00514322585473357)
08
09
10
15
16
17
TDynamicObject::Update(0.01, 0.2)
[505120-00355-0, 111a]
1
2
3
03.1
03.2
04
05
06
07
TDynamicObject::Move(0.00514238810071974)
08
09
10
15
16
------------------------------------------------------------------------------------------------------------------------
CODE CUT ---------------------------------------------------------------------------------------------------------------
QueuedLog("16");
//ABu-160305 Testowanie gotowosci do jazdy
if (Mechanik)
{
if (MoverParameters->BrakePress<0.01*MoverParameters->MaxBrakePress)
Mechanik->Ready=true;
TDynamicObject *tmp;
tmp=GetLastDynamic(1);
if(tmp!=this)
if (tmp->MoverParameters->BrakePress>0.01*tmp->MoverParameters->MaxBrakePress)
Mechanik->Ready=false;
tmp=GetFirstDynamic(1);
if(tmp!=this)
if (tmp->MoverParameters->BrakePress>0.01*tmp->MoverParameters->MaxBrakePress)
Mechanik->Ready=false;
}
//ABu-160303 sledzenie toru przed obiektem: *******************************
//Z obserwacji: v>0 -> Coupler 0; v<0 ->coupler1.
//Rozroznienie jest tutaj, zeby niepotrzebnie
//nie skakac do funkcji. Nie jest uzaleznione
//od obecnosci AI, zeby uwzglednic np. jadace
//bez lokomotywy wagony.
EndTrack=false;
if(CouplCounter>25)
{
if (
(MoverParameters->V > 0)&&
(MoverParameters->Couplers[0].CouplingFlag==ctrain_virtual)
)
ABuScanObjects(MyTrack, 1, 300);
if (
(MoverParameters->V < 0)&&
(MoverParameters->Couplers[1].CouplingFlag==ctrain_virtual)
)
ABuScanObjects(MyTrack,-1, 300);
CouplCounter=random(20);
}
if (MoverParameters->V != 0)
CouplCounter++;
else
CouplCounter=25;
QueuedLog("17");
}
bool __fastcall TDynamicObject::FastUpdate(double dt)
------------------------------------------------------------------------------------------------------------------------
Wywalamy 'testowanie gotowosci do jazdy' ....
Do czego to ma sluzyc? :> - WYWALILEM
... dalej ...
//ABu-160303 sledzenie toru przed obiektem: *******************************
//Z obserwacji: v>0 -> Coupler 0; v<0 ->coupler1.
//Rozroznienie jest tutaj, zeby niepotrzebnie
//nie skakac do funkcji. Nie jest uzaleznione
//od obecnosci AI, zeby uwzglednic np. jadace
//bez lokomotywy wagony.
EndTrack=false;
if(CouplCounter>25)
{
if (
(MoverParameters->V > 0)&&
(MoverParameters->Couplers[0].CouplingFlag==ctrain_virtual)
)
// ABuScanObjects(MyTrack, 1, 300); // REM BY Q
if (
(MoverParameters->V < 0)&&
(MoverParameters->Couplers[1].CouplingFlag==ctrain_virtual)
)
// ABuScanObjects(MyTrack,-1, 300); // REM BY Q
CouplCounter=random(20);
}
if (MoverParameters->V != 0)
CouplCounter++;
else
CouplCounter=25;
QueuedLog("17");
Wywalone odwolania do ABuScanObjects().
Po tym hashuje w hunterowej scenerii sklady-et22_1.scn siodemke z parametrem pantstate ...
trainset none krosowo_tor3-150m_ai 0.0 0.1
//node -1 0 EU07-503 dynamic PKP\EU07 eu07-503 303E 0.0 headdriver 3 1 pantstate enddynamic
node -1 0 505120-00355-0 dynamic PKP\Bd Bdu-0.tga 111a 0.0 nobody 3 14 Passengers enddynamic
node -1 0 505120-00355-1 dynamic PKP\Bd Bdu-0.tga 111a 0.0 nobody 3 23 Passengers enddynamic
node -1 0 505120-00355-2 dynamic PKP\Bd Bdu-0.tga 111a 0.0 nobody 3 28 Passengers enddynamic
node -1 0 505120-00355-3 dynamic PKP\Bd Bdu-0.tga 111a 0.0 nobody 3 17 Passengers enddynamic
node -1 0 505120-00355-4 dynamic PKP\Bd Bdu-0.tga 111a 0.0 nobody 3 20 Passengers enddynamic
node -1 0 505120-00355-5 dynamic PKP\Wars #wars.tga wars 0.0 nobody 3 0 enddynamic
node -1 0 505120-00355-6 dynamic PKP\Adu #1klasa1.tga 112a 0.0 nobody 3 9 Passengers enddynamic
node -1 0 505120-00355-7 dynamic PKP\Adu #1klasa1.tga 112a 0.0 nobody 3 7 Passengers enddynamic
endtrainset
... i jazda. Sceneria sie odpala :D
Na ten czas nie wiem, czy to pantstate czy funkcje ABu powodowaly taki stan rzeczy. Niemniej jednak stwierzam,
ze problem 674 zostal rozwiazany. Udanego szukania nowych bugs ;)
Dodano po 1 minutach: Aaaaaaaa....
http://www.members.lycos.co.uk/queued/exe/update100806.rar
Od moderatora: Doceniam wkład jaki wnosisz w ten wątek i ogólnie w symka, ale bardzo Cię proszę spróbuj skracać swoje posty. Na przykład można pominąć te linijki kodu, które i tak pewnie mało kto rozumie. Post wyszedł gigantyczny, chyba rozumiesz...