Autor Wątek:  Exe - konwersja na C++  (Przeczytany 1163858 razy)

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

Offline tmj

  • Zasłużony dla Symulatora
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2349
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #180 dnia: 14 Stycznia 2017, 19:31:41 »
Nie zrozumielismy sie :)

https://github.com/firleju/maszyna/blob/mover_in_c%2B%2B/Train.cpp

zerknij do InitializeCab()
(..)
            else if (str == AnsiString("mainctrlact:")) // zabek pozycji aktualnej
                ggMainCtrlAct.Load(Parser, DynamicObject->mdKabina);
            else if (str == AnsiString("scndctrl:")) // bocznik
                ggScndCtrl.Load(Parser, DynamicObject->mdKabina);
            else if (str == AnsiString("dirkey:")) // klucz kierunku
                ggDirKey.Load(Parser, DynamicObject->mdKabina);
(..)
i tak jeszcze ze 100 razy. Tego sie nie da za bardzo wprost przerobic na switch() bo switch musi miec stale wartosci (czyli int albo enum, tak jak mowisz) i nie lyka w takiej sytuacji wyszukiwania przypadku wg stringa. Tzn mozna by sie pewnie bawic z jakas tabela konwersji string->enum i zrobic switch() dla tych konwertowanych wartosci, ale to jest troche pisania bez gwarancji, ze i tak nie wyskoczy mu ten sam limit. To w takiej sytuacji wole to na razie zostawic, a przerobic mozna potem raz a porzadnie.
« Ostatnia zmiana: 14 Stycznia 2017, 19:34:40 wysłana przez tmj »

Offline tmj

  • Zasłużony dla Symulatora
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2349
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #181 dnia: 15 Stycznia 2017, 05:50:11 »
Nawet nie probowalem uruchamiac, bo to nie ma prawa dzialac (ponad tysiac ostrzezen roznej masci) niemniej (maly) krok naprzod jest ;)

Offline przepioramarcin

  • Zasłużony dla Symulatora
  • Wiadomości: 265
    • Zobacz profil
  • Otrzymane polubienia: 6
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #182 dnia: 15 Stycznia 2017, 08:03:02 »
TD, EU07 - Od strony elektryki wszystko wydaje się OK. Problem z hamulcem pomocniczym - działa dopiero na ostatniej pozycji hamowania. Nie działa odluźniacz. Hamulec zasadniczy OK.
Faktycznie trochę bardziej buja :).
TD, SU45 - nie udało się ruszyć. Po uruchomieniu silnika gdy załączymy sprężarkę słychać ponowny rozruch silnika. Ciśnienie w zbiorniku głównym stoi na zerze.
TD, EN57 - chyba wszystko w porządku. Nawet nie rzuca mechanikiem tak jak w EU07.
« Ostatnia zmiana: 15 Stycznia 2017, 08:18:01 wysłana przez przepioramarcin »
"Dlatego wszystko, co chcecie, żeby ludzie wam czynili, wy też im podobnie czyńcie... ."
Mateusza 7:12

Offline tmj

  • Zasłużony dla Symulatora
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2349
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #183 dnia: 15 Stycznia 2017, 14:31:40 »
"I'm making a note here:
 Huge success!"


Az sie zdziwilem, bo szybciej sie to wszystko uruchomilo niz myslalem. Milion rzeczy tam jest jeszcze do poprawienia na 100 procent, ale w kazdym razie gra, jezdzi i buczy.


Offline firleju

  • Zasłużony dla Symulatora
  • Wiadomości: 1588
  • bawię się (w) exe...
    • Zobacz profil
  • Otrzymane polubienia: 121
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #184 dnia: 16 Stycznia 2017, 10:33:40 »
Jako, że masz te same błędy co ja, to z tym jeździ bym nie przesadzał ;)
Ale chętnie przyjmę poprawki, żeby już też się pozbyć BCB. Nadal nie umiem w solucji zrobić takich ładnych folderów z plikami i mam wszystko płaskie :(
Skrypty do Blendera dostępne tutaj
W miarę aktualne wiki EXE wiki.eu07.es

Offline tmj

  • Zasłużony dla Symulatora
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2349
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #185 dnia: 16 Stycznia 2017, 14:44:30 »
No nie calkiem te same, pare poprawilem ;)
musze jeszcze zintegrowac z poprawkami ktore zrobiles w miedzyczasie, ale wersja tymczasowa jest tutaj: https://github.com/tmj-fstate/maszyna/tree/parser_replacement

a co do folderow w visual studio, kliknij prawym przyciskiem na projekcie albo folderze w okienku solution, i Add->New Filter. Mozesz wtedy wrzucac do nich pliki przez drag&drop.

Offline El Mecánico

  • Wiadomości: 1067
  • Dawniej El Driver
    • Zobacz profil
    • Stowarzyszenie POLARIS - OPP
  • Otrzymane polubienia: 2
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #186 dnia: 16 Stycznia 2017, 15:00:00 »
[ciach] i tak jeszcze ze 100 razy. [/ciach]
Czyli kwestia tego, że mamy bardzo dużo słów kluczowych definiujących elementy taboru. Wiem, naleciałość z czasów, kiedy jedynym dostępnym edytorem do MaSzyny był zwykły edytor tekstu. A próbował ktoś kompilatora GNU? Może to ograniczenie dotyczy tylko kompilatora ze stajni M$?

[luźna_dywagacja]
A tak docelowo, to chyba trzeba będzie trochę wcześniej niż później przejść na jakiś (pre)kompilowany format zapisu danych konfiguracyjnych i odejście od postaci tekstowych.
[/luźna_dywagacja]
www.polaris.org.pl
www.ciemneniebo.pl
MaSzyna_LD w trakcie tworzenia...

Offline tmj

  • Zasłużony dla Symulatora
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2349
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #187 dnia: 16 Stycznia 2017, 15:36:25 »
Czyli kwestia tego, że mamy bardzo dużo słów kluczowych definiujących elementy taboru. Wiem, naleciałość z czasów, kiedy jedynym dostępnym edytorem do MaSzyny był zwykły edytor tekstu. A próbował ktoś kompilatora GNU? Może to ograniczenie dotyczy tylko kompilatora ze stajni M$?
Inne kompilatory powinny sobie poradzic, standardowo limit to 256 tego typu blokow. Tak czy owak nie ma to juz znaczenia, rozbilem funkcje na pare blokow i chodzi, a w przyszlosci mozna to w ogole zautomatyzowac, np budujac w locie tabele elementow z otrzymanych typow/nazw, zamiast kodowania na sztywno.

@firleju merge zrobiony, podrzucilem pull request. Mozesz ciagnac kiedy ci pasuje :)

Offline tmj

  • Zasłużony dla Symulatora
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2349
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #188 dnia: 16 Stycznia 2017, 16:05:16 »
Aha, z zauwazalnych bledow -- cos jest na rzeczy z kolami/wozkami (moze innymi sub-modelami tez, nie przygladalem sie) W wagonach i samochodach przednie kola znikaja gdzies jak tylko pojazd zaczyna sie ruszac. W lokomotywach chyba jest w porzadku. Tak samo jest w tym skompilowanym .exe umieszczonym wczesniej w watku, czyli to nie moja wina ;)

Offline firleju

  • Zasłużony dla Symulatora
  • Wiadomości: 1588
  • bawię się (w) exe...
    • Zobacz profil
  • Otrzymane polubienia: 121
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #189 dnia: 16 Stycznia 2017, 21:30:51 »
Ja i tak jestem szczęśliwy, że nie będę miał już dwóch środowisk do pracy. BCB mnie już doprowadzał do szału topornością. No, ale jak się nie dziwię, jak popatrzę na VS6 to obsługa wygląda podobnie, czyli raczej taki był standard tamtych czasów.
Skrypty do Blendera dostępne tutaj
W miarę aktualne wiki EXE wiki.eu07.es

Offline queuedEU

  • Zasłużony dla Symulatora
  • Wiadomości: 1265
    • Zobacz profil
    • Celebrity Maszyna
  • Otrzymane polubienia: 33
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #190 dnia: 16 Stycznia 2017, 21:44:44 »
Nadal nie wierzę :)

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10133
    • Zobacz profil
  • Otrzymane polubienia: 2611
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #191 dnia: 16 Stycznia 2017, 21:47:46 »
Cytat: Yoda
I dlatego ci się nie udaje.
:)
Mój kanał youtube

Offline queuedEU

  • Zasłużony dla Symulatora
  • Wiadomości: 1265
    • Zobacz profil
    • Celebrity Maszyna
  • Otrzymane polubienia: 33
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #192 dnia: 16 Stycznia 2017, 21:52:59 »
Jak tak patrze w ten mover.cpp to tam wiekszosc jest tak jak bylo po moim tlumaczeniu, szkoda ze Firlej nie podkreslil bledow, teraz nie ma dowodow ;)

Offline queuedEU

  • Zasłużony dla Symulatora
  • Wiadomości: 1265
    • Zobacz profil
    • Celebrity Maszyna
  • Otrzymane polubienia: 33
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #193 dnia: 16 Stycznia 2017, 21:54:39 »
Cesky, szykuj browary czy co tam mialo byc,  bo w tym przypadku opoznienie sie nie liczy :).

Offline firleju

  • Zasłużony dla Symulatora
  • Wiadomości: 1588
  • bawię się (w) exe...
    • Zobacz profil
  • Otrzymane polubienia: 121
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #194 dnia: 16 Stycznia 2017, 21:59:19 »
Q, całą historię znajdziesz na githubie ;) Więc wszystko jest publiczne :D Zresztą ciężko popełniać błędy w czymś czego nie ma :DDDD
Skrypty do Blendera dostępne tutaj
W miarę aktualne wiki EXE wiki.eu07.es

Offline tmj

  • Zasłużony dla Symulatora
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2349
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #195 dnia: 16 Stycznia 2017, 23:03:38 »
Aha, cppcheck znalazl takie cos w mover.cpp
            if ((TrainType != dt_ET22) ||
                ((TrainType == dt_ET22) &&
                 (ScndCtrlPos ==
                  0))) // w ET22 nie da siê krêciæ nastawnikiem przy w³¹czonym boczniku

Redundant condition: TrainType==dt_ET22. 'TrainType!=dt_ET22 || (TrainType==dt_ET22 && ScndCtrlPos==0)' is equivalent to 'TrainType!=dt_ET22 || ScndCtrlPos==0'
czyli warunek bedzie spelniony zawsze, gdy ScndCTrlPos = 0 albo gdy pociag nie jest typu ET22. Sadzac po komentarzu to nie jest dokladnie to, co autor mial na mysli, ale nie wiem co dokladnie autor mial na mysli, wiec wolalem nie ruszac... ale to prawdopodobnie przyczyna dlaczego sterowanie nie jest calkiem takie, jak powinno byc.

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10133
    • Zobacz profil
  • Otrzymane polubienia: 2611
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #196 dnia: 17 Stycznia 2017, 00:04:02 »
W pascalu nie ma tu żadnych niejasności.
if (TrainType<>dt_ET22) or ((TrainType=dt_ET22) and (ScndCtrlPos=0)) then //w ET22 nie da się kręcić nastawnikiem przy włączonym boczniku
Kontrola nastawnika jest, jeśli pojazd nie jest et22 lub jest et22 z bocznikiem na pozycji 0.
Mój kanał youtube

Offline ryba825

  • Wiadomości: 83
    • Zobacz profil
  • Otrzymane polubienia: 0
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #197 dnia: 17 Stycznia 2017, 00:14:41 »
Stele, skoro TrainType<>dt_ET22 jest fałszem to TrainType=dt_ET22 jest prawdą, więc skraca się do if TrainType<>dt_ET22 or ScndCtrlPos=0
Coś pominąłem?
« Ostatnia zmiana: 17 Stycznia 2017, 00:47:10 wysłana przez ryba825 »

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10133
    • Zobacz profil
  • Otrzymane polubienia: 2611
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #198 dnia: 17 Stycznia 2017, 00:38:40 »
No TrainType=dt_ET22 and ScndCtrlPos<>0 dla którego ma być fałsz. Patrząc na nawiasy, to matematycznie powinno działać. A że cpp potrafi traktować to nieco inaczej, to już Grześ się przekonał wyżej.
« Ostatnia zmiana: 17 Stycznia 2017, 00:39:44 wysłana przez Stele »
Mój kanał youtube

Offline ryba825

  • Wiadomości: 83
    • Zobacz profil
  • Otrzymane polubienia: 0
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #199 dnia: 17 Stycznia 2017, 01:01:29 »
Żeby wzięło pod uwagę drugi warunek, to TrainType musi być dt_ET22, więc nie ma sensu sprawdzać tego drugi raz. Jeśli TrainType nie nie jest dt_ET22, to jest dt_ET22, więc tylko zerowość ScndCtrlPos jest brana pod uwagę. No chyba że w Pascalu porównanie i różność działają inaczej.

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10133
    • Zobacz profil
  • Otrzymane polubienia: 2611
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #200 dnia: 17 Stycznia 2017, 01:12:25 »
Istotnie, macie rację.
Mój kanał youtube

Offline tmj

  • Zasłużony dla Symulatora
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2349
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #201 dnia: 17 Stycznia 2017, 01:37:20 »
Kontrola nastawnika jest, jeśli pojazd nie jest et22 lub jest et22 z bocznikiem na pozycji 0.
Czyli ujmujac to inaczej, jesli pociag to ET22 z bocznikiem na pozycji innej niz neutralna, to kontroli nie ma? Zmienilem zapis na
if( false == (( TrainType == dt_ET22 ) && ( ScndCtrlPos != 0 )) ) {
...
}
wychodzi na to samo, ale z malym rozumkiem troche latwiej to ogarnac :)

edit: a jak sie zastanowic, to mozna z tego wyrzucic negacje i po prostu od razu zwracac false, zamiast sie bawic w zagniezdzanie.
« Ostatnia zmiana: 17 Stycznia 2017, 01:42:18 wysłana przez tmj »

Offline firleju

  • Zasłużony dla Symulatora
  • Wiadomości: 1588
  • bawię się (w) exe...
    • Zobacz profil
  • Otrzymane polubienia: 121
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #202 dnia: 17 Stycznia 2017, 07:22:24 »
tmj, możesz też podrzucić solucję. Chcę mieć pewność, że czegoś nie zwaliłem podczas już lat pracy na dwóch środowiskach i 3 różnych wersjach VS. Jakąś zresztą będzie trzeba wrzucić na git-a.
Odnosząc się do warunku to chyba łatwiej będzie zapisać
if (TrainType != dt_ET22 || ScndCtrlPos == 0)
Skrypty do Blendera dostępne tutaj
W miarę aktualne wiki EXE wiki.eu07.es

Offline surgeon

  • Wiadomości: 659
  • Zmierzły, opryskliwy, czepialski i mądrala :D
    • Zobacz profil
    • SCN
  • Otrzymane polubienia: 0
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #203 dnia: 17 Stycznia 2017, 17:02:55 »
Aha, cppcheck znalazl takie cos w mover.cpp
            if ((TrainType != dt_ET22) ||
                ((TrainType == dt_ET22) &&
                 (ScndCtrlPos ==
                  0))) // w ET22 nie da si&ecirc; kr&ecirc;ci&aelig; nastawnikiem przy w&sup3;&sup1;czonym boczniku

Redundant condition: TrainType==dt_ET22. 'TrainType!=dt_ET22 || (TrainType==dt_ET22 && ScndCtrlPos==0)' is equivalent to 'TrainType!=dt_ET22 || ScndCtrlPos==0'
czyli warunek bedzie spelniony zawsze, gdy ScndCTrlPos = 0 albo gdy pociag nie jest typu ET22. Sadzac po komentarzu to nie jest dokladnie to, co autor mial na mysli, ale nie wiem co dokladnie autor mial na mysli, wiec wolalem nie ruszac... ale to prawdopodobnie przyczyna dlaczego sterowanie nie jest calkiem takie, jak powinno byc.
Moim zdaniem wskazany fragment pascala został przetłumaczony prawidłowo. Po prostu można to skrócić do tego co zaproponował cppcheck i nadal będzie to działało tak samo.
Ra: Ostatnio dochodzę do wniosku, że cybernetycznie to kura ma podobne skomplikowanie, co obecne komputery. A jest tańsza, zdrowsza, a jak się zepsuje, to wywalić na kompost można.

Offline tmj

  • Zasłużony dla Symulatora
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2349
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #204 dnia: 17 Stycznia 2017, 18:21:29 »
tmj, możesz też podrzucić solucję. Chcę mieć pewność, że czegoś nie zwaliłem podczas już lat pracy na dwóch środowiskach i 3 różnych wersjach VS. Jakąś zresztą będzie trzeba wrzucić na git-a.
Dolaczam ta, ktorej uzywam, chociaz pewnie trzeba bedzie poprawic sciezke (skonfigurowany jest zeby ciagnac dsound.lib z instalacji directX SDK)

Uporzadkowalem troche IncMainCtrl() dla latwiejszego czytania, i bylbym wdzieczny gdyby ktos rzucil okiem, czy tam jest wszystko w porzadku pod wzgledem logiki, bo ja sie na pociagach az tak nie znam :)  zwlaszcza sekcja ElectricSeriesMotors:

// basic fail conditions:
if( ( CabNo == 0 )
|| ( MainCtrlPosNo <= 0 ) ) {
// nie ma sterowania
return false;
}
if( ( TrainType == dt_ET22 ) && ( ScndCtrlPos != 0 ) ) {
// w ET22 nie da si&ecirc; kr&ecirc;ci&aelig; nastawnikiem przy w&sup3;&sup1;czonym boczniku
return false;
}
if( ( TrainType == dt_EZT ) && ( ActiveDir == 0 ) ) {
// w EZT nie da si&ecirc; za&sup3;&sup1;czy&aelig; pozycji bez ustawienia kierunku
return false;
}

bool OK = false;
    if (MainCtrlPos < MainCtrlPosNo)
    {
switch( EngineType ) {
case None:
case Dumb:
case DieselElectric:
case ElectricInductionMotor:
{
if( CtrlSpeed > 1 ) {
OK = ( IncMainCtrl( 1 )
&& IncMainCtrl( CtrlSpeed - 1 ) ); // a fail will propagate up the recursion chain. should this be || instead?
}
else {
++MainCtrlPos;
OK = true;
}
break;
}

case ElectricSeriesMotor:
{
if( ActiveDir == 0 ) { return false; }

if( CtrlSpeed > 1 ) {
// szybkie przejœcie na bezoporow&sup1;
if( TrainType == dt_ET40 ) {
break; // this means ET40 won't react at all to fast acceleration command. should it issue just IncMainCtrl(1) instead?
}
while( ( RList[ MainCtrlPos ].R > 0.0 )
&& IncMainCtrl( 1 ) ) {
// all work is done in the loop header
;
}
// OK:=true ; {takie chamskie, potem poprawie} <-Ra: kto mia&sup3; to
// poprawi&aelig; i po co?
if( ActiveDir == -1 ) {
while( ( RList[ MainCtrlPos ].Bn > 1 )
&& IncMainCtrl( 1 ) ) {
--MainCtrlPos;
}
}
OK = false; // shouldn't this be part of the loop above?
}
else { // CtrlSpeed == 1
++MainCtrlPos;
OK = true;
if( Imax == ImaxHi ) {
if( RList[ MainCtrlPos ].Bn > 1 ) {
if( true == MaxCurrentSwitch( false )) {
// wylaczanie wysokiego rozruchu
SetFlag( SoundFlag, sound_relay );
}
if( TrainType == dt_ET42 ) {
--MainCtrlPos;
OK = false;
}
}
}
if( ActiveDir == -1 ) {
if( ( TrainType != dt_PseudoDiesel )
&& ( RList[ MainCtrlPos ].Bn > 1 ) ) {
// blokada wejœcia na równoleg&sup3;&sup1; podczas jazdy do ty&sup3;u
--MainCtrlPos;
OK = false;
}
}
}

if( ( TrainType == dt_ET42 ) && ( true == DynamicBrakeFlag ) ) {
if( MainCtrlPos > 20 ) {
MainCtrlPos = 20;
OK = false;
}
}
// return OK;
break;
}

case DieselEngine:
{
if( CtrlSpeed > 1 ) {
while( MainCtrlPos < MainCtrlPosNo ) {
IncMainCtrl( 1 );
}
}
else {
++MainCtrlPos;
if( MainCtrlPos > 0 ) { CompressorAllow = true; }
else                  { CompressorAllow = false; }
}
OK = true;
break;
}

case WheelsDriven:
{
OK = AddPulseForce( CtrlSpeed );
break;
}
} // switch EngineType of
    }
    else {// MainCtrlPos>=MainCtrlPosNo
if( true == CoupledCtrl ) {
// wspólny wa&sup3; nastawnika jazdy i bocznikowania
if( ScndCtrlPos < ScndCtrlPosNo ) { // 3<3 -> false
++ScndCtrlPos;
OK = true;
}
else {
OK = false;
}
}
    }
konkretnie to kawalek if( ActiveDir == -1 ) bo tam jednoczesnie zwieksza ciag o 1 uzywajac wywolanie IncMainCtrl(1) i zaraz w tej samej petli zmniejsza o 1, co wydaje sie troche bez sensu..? Aha, i jeszcze to, ze blok dla CtrSpeed > 1 zawsze zwraca false. Nie powinno to byc ograniczone tylko to pod-bloku ActiveDir == -1, tak jak w pozostalych miejscach?
« Ostatnia zmiana: 17 Stycznia 2017, 18:25:09 wysłana przez tmj »

Offline firleju

  • Zasłużony dla Symulatora
  • Wiadomości: 1588
  • bawię się (w) exe...
    • Zobacz profil
  • Otrzymane polubienia: 121
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #205 dnia: 17 Stycznia 2017, 21:36:03 »
Na mojej wersji mam 44 errory, najczęściej związane z char* niezgodny z LPCWSTR. Ściągam repo tmj i zobaczę na nim czy czegoś nie zwaliłem razem z łączeniem.

EDIT:
Nie chce mi się bawić. Nadgrywam na moje repo solucję tmj, bo tak będzie szybciej i prościej niż szukanie różnic w ustawieniach.

EDIT2:
Ranna sesja zakończona pomyślnym zbudowaniem. Niestety brakuje jakiejś dll-ki. Gdzie są wpisane .lib których używa przy budowaniu?

EDIT3:
Już wiem co się stało z dll-k - mam jakiś błąd instalacji VS i muszę przeinstalować jeden komponent. Lib-y już też znalazłem.
« Ostatnia zmiana: 18 Stycznia 2017, 07:35:33 wysłana przez firleju »
Skrypty do Blendera dostępne tutaj
W miarę aktualne wiki EXE wiki.eu07.es

Offline tmj

  • Zasłużony dla Symulatora
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2349
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #206 dnia: 18 Stycznia 2017, 08:04:54 »
Jesli brakuje .dll to najprawdopodobniej glew32.dll, ze strony glew ( http://glew.sourceforge.net/ )  poprzednio bylo to chyba laczone statycznie, i domyslnie brakuje jej w paczce z maszyna.

Wrzucilem na githuba male uaktualnienie -- glownie poprawiona wiekszosc memory leaks, przy okazji poczyscilem troche komponenty do hamulcow itp, wylazlo tam kilka wiecej nieinicjalizowanych zmiennych ;)  teraz beda chyba wszystkie, moze poprawi to troche niektore ze zgloszonych bledow, a moze nie.

Offline firleju

  • Zasłużony dla Symulatora
  • Wiadomości: 1588
  • bawię się (w) exe...
    • Zobacz profil
  • Otrzymane polubienia: 121
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #207 dnia: 18 Stycznia 2017, 08:44:40 »
Glew już ściągnąłem, gdyż nie budował ;) Teraz lib jest także na repo.
Ja bym Cię prosił, żeby jednak używać CamelBack do nazw funkcji.

EDIT:
Ta dll-ka to jest komponent vsredist, a dokładnie ucrtbased.dll.
« Ostatnia zmiana: 18 Stycznia 2017, 08:50:18 wysłana przez firleju »
Skrypty do Blendera dostępne tutaj
W miarę aktualne wiki EXE wiki.eu07.es

Offline tmj

  • Zasłużony dla Symulatora
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2349
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #208 dnia: 18 Stycznia 2017, 19:49:37 »
Podlaczylem z powrotem otwieranie drzwi, choc na razie jest po chamsku zakodowane na sztywno dla skladow EZT
Docelowo powinien to byc zapewne wpic w .mmd albo coos, z tym ze w takiej sytuacji powinno to nastapic przed ladowanie glownego pudla, zeby kod byl w stanie podczepic prawidlowa wersje funkcji animujacej.

edit: znalazlem przyczyne znikajacych niektorych osi -- kod ladujacy pliki .fiz potrafil ustawic srednice na 0.0 (kiedy parameter nie byl podany) i przepuszczal to, bo mial zle ustawiony warunek brzegowy. W rezultacie przy kalkulacji obrotow bylo dzielenie przez 0. Teraz powinno byc dobrze, ale moze warto zmienic funkcje getkeyval() na cos w stylu bool getkeyval( _Type &Parameter, std::string const &Key) wtedy bedzie mogla automatycznie uaktualnic docelowa zmienna, a jak nie znajdzie wartosci to zwroci false. I przy okazji odpadnie koniecznosc recznego definiowania typow.
« Ostatnia zmiana: 18 Stycznia 2017, 21:44:02 wysłana przez tmj »

Offline firleju

  • Zasłużony dla Symulatora
  • Wiadomości: 1588
  • bawię się (w) exe...
    • Zobacz profil
  • Otrzymane polubienia: 121
Odp: Odp: Exe - konwersja na C++
« Odpowiedź #209 dnia: 19 Stycznia 2017, 07:07:34 »
getkeyval to wytwór Q. Najlepiej by było chyba zrobić wersję z parametrem domyślnym w przypadku nie znalezienia słowa kluczowego.
Coś zepsułeś w hamulcach, gdyż po narzuceniu twoich zmian z pull-a znowu nie ma ciśnienia w cylindrach hamulcowych po starcie TD a powinno być. Mnie już naprawdę nie chce się tego szukać n-ty raz. Hamulce działają na wersji c3 i tak powinno zostać.
Skrypty do Blendera dostępne tutaj
W miarę aktualne wiki EXE wiki.eu07.es