Istnieje problem związany z nieprawidłową reprezentacją wartości kierunku. Po przekroczeniu wartości 255, system odpowiedzialny za określanie kierunku zaczął działać niepoprawnie. Źródło problemu leżało w użyciu typu 'BYTE' do przechowywania kierunku. Typ 'BYTE' ma ograniczenie zakresu od 0 do 255. W naszym przypadku, gdzie kierunek jest definiowany jako kąt w zakresie od 0 do 359 stopni, wykorzystanie 'BYTE' okazuje się niewystarczające i prowadzi do błędów w momencie gdy wartość kierunku przekraczała 255. Rozwiązanie to zmiana typu danych na uint16_t, która przechowuje znacznie większy zakres.
Cześć,
Istnieje problem związany z nieprawidłową reprezentacją wartości kierunku. Po przekroczeniu wartości 255, system odpowiedzialny za określanie kierunku zaczął działać niepoprawnie. Źródło problemu leżało w użyciu typu 'BYTE' do przechowywania kierunku. Typ 'BYTE' ma ograniczenie zakresu od 0 do 255. W naszym przypadku, gdzie kierunek jest definiowany jako kąt w zakresie od 0 do 359 stopni, wykorzystanie 'BYTE' okazuje się niewystarczające i prowadzi do błędów w momencie gdy wartość kierunku przekraczała 255. Rozwiązanie to zmiana typu danych na uint16_t, która przechowuje znacznie większy zakres.
Implementacja:
📂 Lokalizacja pliku: 'game -> regen.h'
🔍 Szukaj
♻️ Zamień
📂 Lokalizacja pliku: 'game -> questlua_dungeon.cpp'
🔍 2x Szukaj
♻️ 2x Zamień
📂 Lokalizacja pliku: 'game -> char_manager.cpp'
🔍 Szukaj
➕ Zamień