Oryginalna strona colobot.cba.pl umarła, gdy cba.pl przestało oferować darmowy hosting. To jest statyczny mirror, pobrany w 2018. ~krzys_h
 
Polski Portal COLOBOTa
COLOBOT Polish Portal

Modyfikacje kodu gry - Status

piotrdz - 11-06-2012, 18:03
Temat postu: Status
Tworzę nowy wątek, żeby opisać co dzieje się w repozytorium tzn. opisać aktualny status, co zmieniłem i dlaczego i czym się będę zajmował. Wiem, że same commity na githubie często niewiele mówią, więc opiszę tutaj szerzej, co się dzieje.
W innych wątkach już po trochu opisałem ogólny status, więc podam tutaj tylko nowe rzeczy.

1. Gałąź master
Ostatnio poprawiłem bugi dotyczące wykrzaczania się gry przy ładowaniu/zapisywaniu misji. Wszystko kompiluje się pod CMake/MinGW i działa bez problemu. Na razie gałąź będzie "zamrożona" ze względu na zmiany w dev (potem złączy się dev i master).

2. Gałąź dev
Ostatnio oprócz prac nad modułem math, zrobiłem trochę porządków tak, aby kod przypominał bardziej C++:
- zmiana BOOL -> bool
- typedef struct -> struct
- stałe zdefinionwane przez #define xxx zzz zamienione na const typ xxx = zzz; albo na enum'y

Poza tym zaktualizowałem wszystkie ścieżki w CMakeLists.txt i w każdym #include "...". Tak więc teraz projekt kompiluje się poprawnie.

Teraz zajmę się zmianą FPOINT -> Math::Point. Powinno się udać w ciągu kilku dni. Jeżeli wszystko będzie OK, to spróbuję zmienić D3DVECTOR -> Math::Vector. Z D3DMATRIX na razie się wstrzymam, bo trzeba dokładniej przetestować implementację.


Jeszcze taka ciekawostka: można kross-kompilować projekt za pomocą MXE (http://mxe.cc/). Tzn. pod Linuksem skompilować projekt do colobot.exe i libCBot.dll. Oczywiście odpalić potem trzeba pod Windowsem, ale kod można pisać bez problemu w linuksowym środowisku (co też właśnie robię).

krzys_h - 11-06-2012, 20:22

piotrdz napisał/a:
Poza tym zaktualizowałem wszystkie ścieżki w CMakeLists.txt i w każdym #include "...". Tak więc teraz projekt kompiluje się poprawnie.

A ja myślałem że nie umiem obsługiwać CMake...

Simbax - 11-06-2012, 20:43

Uwaga, poniżej nowicjusz zadaje głupie pytanie, nie wnoszące nic do dyskusji!

piotrdz napisał/a:
- zmiana BOOL -> bool


Jaka jest różnica? Przecież to to samo, tylko pisane inną wielkością liter.

piotrdz - 11-06-2012, 21:08

@krzys_h: nigdzie wcześniej nie pisałem, że dev da się skompilować :-P

@Simbax: BOOL to naleciałość z Windows API - chodziło pewnie o zgodność z C, które nie ma wbudowanego typu boolowskiego. To nic innego, jak #define BOOL int. Takie wymysły są zupełnie niepotrzebne w C++, nie mówiąc już o przenośności kodu. A, no i w C/C++ wielkość liter ma znaczenie, więc między bool a BOOL jest różnica.

Simbax - 11-06-2012, 21:17

Wiem, że C++ rozróżnia wielkości liter, tylko mnie ciekawiło, czym się te dwa typy różnią. To BOOL faktycznie jest głupie.
piotrdz - 13-06-2012, 22:59

FPOINT -> Math::Point już zmienione. Nawet niczego nie zepsułem ;) Od jutra biorę się za D3DVECTOR.

UPDATE:

Uff, migracja modułu math skończona. :-) D3DVECTOR -> Math::Vector i D3DMATRIX -> Math::Matrix zrobione za jednym zamachem. Ale było z tym trochę zabawy.

Nic nie jest zepsute (chyba), ale przydałoby się jeszcze sprawdzić -- najlepiej jakby ktoś jeszcze spróbował przejść kilka misji i zobaczył, jak to wygląda.

W najbliższym czasie zajmę się też poczyszczeniem kodu w object/, aby był bardziej niezależny od reszty.

[ Dodano: 20-06-2012, 21:06 ]
Kolejny update:

Teraz pracuję nad odpowiednikami struktur D3D, jak i nowym szablonem CD3DEngine i CD3DApplication. W ciągu tygodnia powinienem już mieć szkielet projektu w SDL i OpenGL.

[ Dodano: 22-06-2012, 17:00 ]
Poprzenosiłem pliki tak, że teraz w src/app i src/graphics będzie nowy kod, a stary kod przeniosłem do src/old. Pozmieniałem wszędzie ścieżki tak, że dalej kompiluje się OK. Teraz można pracować nad nowym kodem niezależnie od starego.


Powered by phpBB modified by Przemo & WRIM © 2003 phpBB Group