mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-18 20:29:17 +02:00
LCD Screens in python
Merge with python branch
This commit is contained in:
@@ -28,6 +28,7 @@ http://mozilla.org/MPL/2.0/.
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
TAnimAdvanced::TAnimAdvanced(){};
|
||||
|
||||
TAnimAdvanced::~TAnimAdvanced(){
|
||||
// delete[] pVocaloidMotionData; //plik został zmodyfikowany
|
||||
};
|
||||
@@ -115,7 +116,7 @@ void TAnimContainer::SetRotateAnim(vector3 vNewRotateAngles, double fNewRotateSp
|
||||
*/
|
||||
if (evDone)
|
||||
{ // dołączyć model do listy aniomowania, żeby animacje były przeliczane również bez
|
||||
// wyświetlania
|
||||
// wyświetlania
|
||||
if (iAnim >= 0)
|
||||
{ // jeśli nie jest jeszcze na liście animacyjnej
|
||||
acAnimNext = TAnimModel::acAnimList; // pozostałe doklić sobie jako ogon
|
||||
@@ -138,7 +139,7 @@ void TAnimContainer::SetTranslateAnim(vector3 vNewTranslate, double fNewSpeed)
|
||||
*/
|
||||
if (evDone)
|
||||
{ // dołączyć model do listy aniomowania, żeby animacje były przeliczane również bez
|
||||
// wyświetlania
|
||||
// wyświetlania
|
||||
if (iAnim >= 0)
|
||||
{ // jeśli nie jest jeszcze na liście animacyjnej
|
||||
acAnimNext = TAnimModel::acAnimList; // pozostałe doklić sobie jako ogon
|
||||
@@ -179,7 +180,7 @@ void TAnimContainer::AnimSetVMD(double fNewSpeed)
|
||||
//-+-+ - dłoń ma w górze zamiast na pasie w pozycji początkowej
|
||||
//+--+ - głowa do tyłu (broda w górę) w pozycji początkowej
|
||||
//--++ - pozycja początkowa dobra, trąca u góry, ale z rękami jakoś nie tak, kółko w
|
||||
//przeciwną stronę
|
||||
// przeciwną stronę
|
||||
//++++ - kładzie się brzuchem do góry
|
||||
//-+++ - ręce w górze na początku, zamiast w dół, łokieć jakby w przeciwną stronę
|
||||
//+-++ - nie podnosi ręki do głowy
|
||||
@@ -223,7 +224,7 @@ void TAnimContainer::UpdateModel()
|
||||
vTranslation += s;
|
||||
else
|
||||
vTranslation = vTranslateTo; // koniec animacji, "koniec animowania" uruchomi
|
||||
// się w następnej klatce
|
||||
// się w następnej klatce
|
||||
}
|
||||
else
|
||||
{ // koniec animowania
|
||||
@@ -233,7 +234,7 @@ void TAnimContainer::UpdateModel()
|
||||
iAnim &= ~2; // wyłączyć zmianę pozycji submodelu
|
||||
if (evDone)
|
||||
Global::AddToQuery(evDone, NULL); // wykonanie eventu informującego o
|
||||
// zakończeniu
|
||||
// zakończeniu
|
||||
}
|
||||
}
|
||||
if (fRotateSpeed != 0)
|
||||
@@ -300,7 +301,7 @@ void TAnimContainer::UpdateModel()
|
||||
fRotateSpeed = 0.0;
|
||||
if (evDone)
|
||||
Global::AddToQuery(evDone, NULL); // wykonanie eventu informującego o
|
||||
// zakończeniu
|
||||
// zakończeniu
|
||||
}
|
||||
}
|
||||
if (fAngleSpeed != 0.0)
|
||||
@@ -364,7 +365,7 @@ void TAnimContainer::UpdateModelIK()
|
||||
{
|
||||
case at_IK11: // stopa: ustawić w kierunku czubka (pierwszy potomny)
|
||||
d = ch->Translation1Get(); // wektor względem aktualnego układu (nie uwzględnia
|
||||
// obrotu)
|
||||
// obrotu)
|
||||
k = float3(RadToDeg(atan2(d.z, hypot(d.x, d.y))), 0.0,
|
||||
-RadToDeg(atan2(d.y, d.x))); // proste skierowanie na punkt
|
||||
pSubModel->SetRotateIK1(k);
|
||||
@@ -378,7 +379,7 @@ void TAnimContainer::UpdateModelIK()
|
||||
// potem wyliczyć ewentualne odchylenie w tej i następnej
|
||||
// w sumie to proste, jak wyznaczenie kątów w trójkącie o znanej długości boków...
|
||||
d = ch->Translation2Get(); // wektor względem aktualnego układu (nie uwzględnia
|
||||
// obrotu)
|
||||
// obrotu)
|
||||
// if ()
|
||||
{ // kość IK jest dalej niż pozycja spoczynkowa
|
||||
k = float3(RadToDeg(atan2(d.z, hypot(d.x, d.y))), 0.0,
|
||||
@@ -456,7 +457,7 @@ bool TAnimModel::Init(AnsiString asName, AnsiString asReplacableTexture)
|
||||
0x31310031; // tekstura z kanałem alfa - nie renderować w cyklu nieprzezroczystych
|
||||
else
|
||||
iTexAlpha = 0x30300030; // tekstura nieprzezroczysta - nie renderować w cyklu
|
||||
// przezroczystych
|
||||
// przezroczystych
|
||||
return (Init(TModelsManager::GetModel(asName.c_str())));
|
||||
}
|
||||
|
||||
@@ -684,10 +685,12 @@ void TAnimModel::RenderAlphaVBO(vector3 *vPosition)
|
||||
//---------------------------------------------------------------------------
|
||||
bool TAnimModel::TerrainLoaded()
|
||||
{ // zliczanie kwadratów kilometrowych (główna linia po Next) do tworznia tablicy
|
||||
return (this ? pModel != NULL : false); };
|
||||
return (this ? pModel != NULL : false);
|
||||
};
|
||||
int TAnimModel::TerrainCount()
|
||||
{ // zliczanie kwadratów kilometrowych (główna linia po Next) do tworznia tablicy
|
||||
return pModel ? pModel->TerrainCount() : 0; };
|
||||
return pModel ? pModel->TerrainCount() : 0;
|
||||
};
|
||||
TSubModel *__fastcall TAnimModel::TerrainSquare(int n)
|
||||
{ // pobieranie wskaźników do pierwszego submodelu
|
||||
return pModel ? pModel->TerrainSquare(n) : 0;
|
||||
@@ -721,7 +724,7 @@ void TAnimModel::Advanced()
|
||||
if (!strcmp(pCurrent->pMovementData->cBone,
|
||||
(pCurrent->pMovementData + 1)->cBone))
|
||||
{ // jak kolejna ramka dotyczy tego samego submodelu, ustawić animację do
|
||||
// kolejnej ramki
|
||||
// kolejnej ramki
|
||||
++pCurrent->pMovementData; // kolejna klatka
|
||||
pCurrent->AnimSetVMD(
|
||||
pAdvanced->fFrequency /
|
||||
@@ -773,7 +776,7 @@ void TAnimModel::AnimationVND(void *pData, double a, double b, double c, double
|
||||
{
|
||||
pSub->pMovementData = pAdvanced->pMovementData + i; // gotów do animowania
|
||||
pSub->AnimSetVMD(0.0); // usuawienie pozycji początkowej (powinna być zerowa,
|
||||
// inaczej będzie skok)
|
||||
// inaczej będzie skok)
|
||||
}
|
||||
name = AnsiString(pAdvanced->pMovementData[i].cBone); // nowa nazwa do pomijania
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user