|
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ć
@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.
|
|