Yapmanız gereken işlem çok basit.
Mesela örnek olarak benim elimde x adlı files var diyelim ve tertemiz bir dump proto var. Ve ben bu ikisini birbirine uyarlamak istiyorum.
Öncelikle elimdeki fileste, proto ile alakalı hangi sistemler var ona bakmam gerekiyor.
Bunun için
db/src/ProtoReader.cpp dosyasını açıp
#ifdef bunu aratıyorum. Mesele şöyle bir sonuç çıktı;
ProtoReader.cpp:
Örnek olarak fileste won sistemi ekliymiş. Benim bunu dump_proto ya aktarmam gerekiyor. Bunun için dump_proto/src/ItemCSVReader.cpp dosyasını açıp "ITEM_BELT", bunu aratıp, ProtoReader.cpp de ekli olan #ifdef ENABLE_CHEQUE_SYSTEM kodunu aynı yere ekliyorum.
ItemCSVReader.cpp:
Lakin bunu eklerken, yani dump_proto tarafına #ifdef makrosu eklerken, ekleyeceğiniz sistemin server tarafındaki #ifdef satırını değil, client src de tanımlı olan #ifdef satırını kullanmalısınız.
Yani won sistemi için server tarafında:
#ifdef _CHEQUE_SYSTEM_ şeklinde ekli olabilir fakat client src de
#ifdef ENABLE_WON_SYSTEM şeklinde ekli olabilir. Dump protoya aktarma yaparken client src de kullanılan tanımı baz almalısınız. Ya da hiç bunları eklemeden direkt sistemin kendisine ait olan satırı kopyalayıp yapıştırabilirsiniz.
ItemCSVReader.cpp dosyası ve ProtoReader.cpp dosyası, büyük ölçüde birbiriyle aynı olan dosyalardır. Bu yüzden, fileste ekli olan kodları bu iki dosya arasında tıpkı sistem ekler gibi aktarma yaparak eklemeniz yeterli. Son olarak dump_proto yu VS de build ederek uyumlu bir şekilde kullanabilirsiniz.
Olabildiğince anlaşılır bir şekilde anlatmaya çalıştım, umarım sorun yaşamazsınız.