Все изменения провожу в Notepad++. (необходимы полностью скаченные исходники Mangos'a)
В этом способе мы подгоняем подгоняем патч под имеющиеся исходники.
Исходный кусок кода патча для примера:
Код:
diff --git a/src/game/Group.h b/src/game/Group.h
index 3024438..88eda30 100644
--- a/src/game/Group.h
+++ b/src/game/Group.h
@@ -92,7 +92,8 @@ enum GroupUpdateFlags
GROUP_UPDATE_FLAG_PET_AURAS = 0x00040000, // uint64 mask, for each bit set uint32 spellid + uint8 unk, pet auras...
GROUP_UPDATE_FLAG_VEHICLE_SEAT = 0x00080000, // uint32 vehicle_seat_id (index from VehicleSeat.dbc)
GROUP_UPDATE_PET = 0x0007FC00, // all pet flags
- GROUP_UPDATE_FULL = 0x0007FFFF, // all known flags
+ GROUP_UPDATE_VEHICLE = 0x000FFC00, // all vehicle flags
+ GROUP_UPDATE_FULL = 0x000FFFFF, // all known flags
};
#define GROUP_UPDATE_FLAGS_COUNT 20
diff --git a/src/game/GroupHandler.cpp b/src/game/GroupHandler.cpp
1. Собственно нужно убедится что есть сами исходники, программа Git и сам патч (желательно ещё и присутствие программы Compare IT! или других аналогичных)
2. Закидываем патч в корневую папку с исходниками, если патч для ядра. Кликаем правой кнопкой мыши по папке с исходниками и выбираем
Git Bash Here. И в консоли вводим
patch -p1 < имя_патча.patch, нажимаем Enter
3. Смотрим что у нас получилось, если в строчках присутствует
FAILED или
*** значит в патче есть ошибки. Git лучше оставить открытым, чтобы можно было найти ошибки.
4. Открываем патч. Ищем на основе результата применения патча в Git'e ищём нужный блок в котором была ошибка.
В моём примере. Начало блока вносимых изменений из патча в нужный файл исходного кода, это :
diff --git a/src/game/Group.h b/src/game/Group.h
В моём примере. Конец блока вносимых изменений из патча в исходный файл нужного кода, это : #define GROUP_UPDATE_FLAGS_COUNT 20
В моём примере. Начало следующего блока вносимых изменений из патча в нужный файл исходного кода, это :
diff --git a/src/game/GroupHandler.cpp b/src/game/GroupHandler.cpp
5. Открываем файл, в моём примере это Group.h, и ищем строчку из патча начинающуюся со знака
"-". И заменяем эти строчки на строчки которые начинаются со знака
+
6. После того как вы внесли все изменения из ошибочного блока патча, удалите этот блок из патча. И продолжите дальше исправление ошибок.
Аккуратно изменяйте патч, при удалении не задевайте другие блоки.
После всех необходимых попробуйте добавить патч на чистые исходники.
P.S. Возможны краши после подгонки патчей.