Berserker Wrote:Нет, именно типы лодов. ZVS в своей AddToList добавляет новые лоды во все три игровых типа:
// 1 def
// 2 txt,pic
// 3 wav
А традиционно разные лоды к разным типам. h3sprite = def, h3bitmap = txt, pcx. Осталось лишь проверить, берётся ли из лодов звук.
Об этих индексах и типах я ничего не знал.
Я говорил про эти индексы, передающиеся аргументами sub_75605B:
.text:007015F8 push 4
.text:00701615 push 5
.text:007015E5 push 1
.text:007015E7 push offset aH3wog_lod ; "h3wog.lod"
.text:007015EC call sub_773F64
.text:007015F1 add esp, 8
.text:007015F4 test eax, eax
.text:007015F6 jz short loc_701602
.text:007015F8 push 4
.text:007015FA call sub_75605B
.text:007015FF add esp, 4
.text:00701602
.text:00701602 loc_701602: ; CODE XREF: .text:007015F6j
.text:00701602 push 1
.text:00701604 push offset aH3custom_lod ; "h3custom.lod"
.text:00701609 call sub_773F64
.text:0070160E add esp, 8
.text:00701611 test eax, eax
.text:00701613 jz short loc_70161F
.text:00701615 push 5
.text:00701617 call sub_75605B
.text:0070161C add esp, 4
А внутри sub_75605B этот параметр сравнивается с 0 и 64:
.text:00756077 cmp [ebp+arg_0], 0
.text:0075607B jl short loc_756083
.text:0075607D cmp [ebp+arg_0], 64h
.text:00756081 jl short loc_7560A1
И, если он не в их промежутке, вызывается некая функция, одним из параметров которой является указатель на строку "Incorrect LOD index to add".
.text:00756083 loc_756083: ; CODE XREF: sub_75605B+20j
.text:00756083 push offset aIncorrectLodIn ; "Incorrect LOD index to add"
.text:00756088 push 45h
.text:0075608A push 13h
.text:0075608C call sub_71248A
.text:0075605B push ebp
.text:0075605C mov ebp, esp
.text:0075605E sub esp, 14h
.text:00756061 push ebx
.text:00756062 push esi
.text:00756063 push edi
.text:00756064 pusha
.text:00756065 push 0
.text:00756067 push offset unk_121EAC3
.text:0075606C mov ecx, offset unk_28AAFD0
.text:00756071 call sub_706D10
.text:00756076 popa
.text:00756077 cmp [ebp+arg_0], 0
.text:0075607B jl short loc_756083
.text:0075607D cmp [ebp+arg_0], 64h
.text:00756081 jl short loc_7560A1
.text:00756083
.text:00756083 loc_756083: ; CODE XREF: sub_75605B+20j
.text:00756083 push offset aIncorrectLodIn ; "Incorrect LOD index to add"
.text:00756088 push 45h
.text:0075608A push 13h
.text:0075608C call sub_71248A
.text:00756091 add esp, 0Ch
.text:00756094 call sub_7712B0
.text:00756099 or eax, 0FFFFFFFFh
.text:0075609C jmp loc_756195