Błędy w VCMI 0.73

Chciałbym pomóc w znajdywaniu błędów w tym projekcie, ale przy uruchamianiu clienta wyskakuje mi taki błąd:

img205.imageshack.us/img205/9505/vcmicrash.th.jpg

edit/
W folderze pojawił się też plik z logiem, który trochę się różni od tego na obrazku:
Creating console and logfile: 0
Loading settings: 0
VCMI 0.73 (client)
Initializing screen: 16
Initializing video: 0
Initializing minors: 0
Initializing fonts: 0
Loading default system settings: 0
Initializing sound: 78
Initializing screen, fonts and sound handling: 78
Loading .lod files: 47
Reading OBJNAMES
Reading ADVEVENT
Reading XTRAINFO
Reading MINENAME
Reading MINEEVNT
invalid string position
Reading config/cr_sounds.txt
Disaster happened.
Reason: 0xc0000005 - EXCEPTION_ACCESS_VIOLATION at 001b:0043A803
Attempt to read from 0x00000070
Thread ID: c4e8 [50408]
Crash info will be put in 000002EC

Coś w przetwarzaniu plików tekstowych…
Jaką masz wersję językową H3?
Jeśli polską, to sprawdź proszę, czy wypakowanie tych plików do podfolderu /Data naprawia problem. Jeśli naprawia - po uruchomieniu VCMI wpisz do konsoli komendę “get txt”. Zaczekaj, aż się wykona, następnie spakuj powstały podfolder “Extracted_txts” i mi go gdzieś zuploaduj.
Jeżeli angielskie pliki nie naprawiają twojego problemu, to wgraj mi gdzieś plik “VCMI_client.exe_crashinfo.dmp” powstały, gdy VCMI się wysypuje.

Dzięki :slight_smile:

Błędne wyświetlanie ilości stworzeń

img8.imageshack.us/img8/8837/beztytuutwn.png

EDIT: Crash przy próbie wyłączenia VCMI z trybu pełnoekranowego (1024x600)

img241.imageshack.us/img241/9447/beztytuuhtf.th.jpg

Było

W pliku konfiguracyjnym rozdzielczości zmień

bpp=24; // bytes per pixels: 24 or 32

na

bpp=32; // bytes per pixels: 24 or 32

U Ciebie to pomogło?

Trochę pomogło.Ale po wejściu do zamku było jak u AlienX

Mam taki sam problem jak smd co mam zrobić?
wersje mam polską proszę aby ktoś z VCMI teamu udzielił mi pomocy bo Pomocy Tow’a nie kapuje chciałbym tak krok po kroku

dziękuje i pozdrawiam

Ps:Witam

Atakuje jednorożcami ,i gdy rozbójnik ma się poruszyć występuje Crash

http://img265.imageshack.us/img265/9470/screenhunter01aug171553.jpg

W logach jest to

Listening... 	received server message of type struct EndAction
	Made first apply on cl
	Applied on gs
	Made second apply on cl

I powtarza się z około 100 razy.

@ "w logach jest to"
to są zwykłe zapisy w logu, dzięki którym można powiedzieć kiedy był błąd ale nie mówią co się stało (mówią że została podjęta akcja i została zatwierdzona - normalny “oddech” aplikacji)
myślę że Towa i resztę bardziej interesują pozostałe wpisy, a także bugdump
lepiej wyślij tu pliki logów i te dwa pliki z dump w nazwie to może coś powiedzą/zauważą

Co to znaczy “trochę pomogło”?
Napisz proszę dokładnie, CO się zmieniło. Jakie jest zachowanie przed zmianą i po zmianie. Ten problem jest u mnie niereprodukowalny.

Jeśli faktycznie pakiet o końcu akcji się powtarza, to normalne to nie jest. Faktycznie jednak zawsze lepiej jest móc spojrzeć na cały log.

W ostatnim release jednak wciąż są crashbugi przy atakowaniu dwuheksowców, przypuszczam, że to to dało o sobie znać. Ponoć już załątane.

Mogłem chodzić Herosem po mapie ,ale jak dałem widok zamku: CRASH.

Dobrze że zachowałem
[LINK]

Obrażenia jednostek są źle liczone, co jest szczególnie widoczne dla jednostek niskopoziomowych. Rozrzut jest zdecydowanie za duży. Po sprawdzeniu w kodzie źródłowym widać, że obrażenia to losowy numer między minimalnymi a maksymalnymi obrażeniami liczonymi dla całego oddziału, a powinny być losowe dla pojedyńczej jednostki. Np. dla dwóch jednostek zadających 1-3, szansa na zadanie 4 powinna być trzy razy większa niż na zadanie 2.

niedokładnie: w oryginalnym herosie jest liczone płaskie losowanie dla pojedyńczej jednostki a potem mnożone (chyba nie ma wielokrotnych losowań?), tu jest chyba na odwrót: najpierw mnożone potem losowane

“Testując” obrażenia w Heroesach Complete jestem pewien, że nie ma płaskiego losowania. Im większy stack, tym wyniki są względnie coraz bliżej średniej z min i max. Może dałoby się to jakoś ułatwić stosując np. rozkład normalny dla dużych oddziałów, choć nie wiem jak wykonać to w praktyce.

Znowu ktoś protestuje z tego samego powodu, tymczasem odkąd pamiętam w H3 wzór na obrażenia jest płaski :confused: .

Zgadzam sie :wink: Info z manuala dla potwierdzenia. (niestety nie moglem skopiowac txtu z pdfa)

img197.imageshack.us/img197/5261/damagecalculation.th.jpg

przepraszam że się wtrącam, nic nie wiedząc, ale istnieje możliwość że dla każdej jednostki obrażenia mogłyby być liczone oddzielnie, wtedy obserwacja zjarka byłaby zbieżna z rozkładem wynikającym z wielu losowań płaskich i sumowaniu

jednak myślę że bardziej prawdopodobne jest losowanie z ziarnem - nie wszystkie wartości dozwolone (tzn. na każdą jednostkę przypada całkowita liczba obrażeń tzn na 100 jednostek bijących 3-5 prawidłowe wyniki to tylko 300,400 i 500), które może powodować złudzenie na które zjarek dał się nabrać

szczerze mówiąc sam się dokładnie nie zastanawiałem nad algorytmem obrażeń gdy grałem, jedyne co zrobiłem na ten temat to przeczytałem w helpie że atak i obrona mają wpływ na obrażenia i że ten wpływ jest limitowany :stuck_out_tongue:

EDIT: nie zdążyłem przeczytać postu u góry ale jednak jest losowanie z ziarnem tzn. najpierw losowane dla jednostki a dopiero potem mnożone, co daje w przypadku 100 jednostek 3-5 33% szansy na obrażenia 500

No cóż, zgodnie z najlepszym źrodłem informacji o mechanice Heroes III jakie posiadam, wszyscy nie mamy racji (ani wy, ani kod VCMI).

Tekst pochodzi z heroescommunity.com/viewthread.php3?TID=27539

Z tego co widać, nie mogli się zdecydować ani na rozkład jednostajny, ani na efekt zbieżności do rozkładu normalnego dla dużych ilosci jednostek, więc wybrali metodę pośrednią. Postaram się to poprawić (oraz inne niedociągnięcia w zakesie liczenia obrażeń), ale nie wiem do której wersji.

Base damage is damage displayed for every unit in its stats (e.g. 40-50 for a Black Dragon).

noolis.com/

noolisimages

You know, if you really want to promote the Estonian cuisine, use this thread or this one. :wink:

[size=75]Anyway, if the above is spam, is the most innocent spam I’ve ever seen. :stuck_out_tongue: Tow/TowDragon, I’ll leave this one up to you… :p[/size]