Добрый день, Уважаемые!
Хотелось бы получить совет в написании патча.
Навык работы в Си иметься (Делфист

)
Загвоздка: знаю, что после пропатччивания ядра появляется ошибка в коде, знаю где ошибка и знаю как её исправить, но! Чтобы не перелопачивать все патчи и не править вручну (нужно же когда то учиться), решил написать свой патч.
Вот ошибка:
Свернуть ↑
// Get spell max affected targets
uint32 unMaxTargets = m_spellInfo->MaxAffectedTargets;
// custom target amount cases
switch(m_spellInfo->SpellFamilyName)
{
case SPELLFAMILY_GENERIC:
{
switch(m_spellInfo->Id)
{
case 31347: // Doom TODO: exclude top threat target from target selection
case 33711: // Murmur's Touch
case 38794: // Murmur's Touch (h)
unMaxTargets = 12;
break;
//case 28542: // Life Drain
unMaxTargets = 2;
break;
case 28796: // Poison Bolt Volley
case 29213: // Curse of the Plaguebringer
case 31298: // Sleep
unMaxTargets = 3;
break;
case 30843: // Enfeeble
case 55665: // Life Drain
unMaxTargets = 5;
break;
case 54098: // Poison Bolt Volley (h)
case 54835: // Curse of the Plaguebringer (h)
unMaxTargets = 10;
break;
}
break;
}
Свернуть ↑Развернуть ↓
значение должно быть равным 1.
Да, осознаю, что могу исправить вручню, но хочется патчиком.
Беру первый попавшийся патч на Spell.cpp и пытаюсь его править.
смущают меня
Свернуть ↑
#diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
#index 831c1a1..1b64221 100644
#--- a/src/game/Spell.cpp
#+++ b/src/game/Spell.cpp
Свернуть ↑Развернуть ↓
:
в общих чертах понятно, что дается значение расположения "а" и "b"
далее index - не понятные значения (либо это строки в коде ядра, либо...)
соответственно 3я и 4я строки это замена. - это мое понимание с git у меня пока сложновато.
в общем прошу помощи, мало-мальский мануал.
Если у кого то из профессионалов найдет время написать гайд, буду очень признателен.
заранее спасибо.
PS: пачти к которым прикладывал руку всегда имели "шапку" и в коде проблем разобраться не было.