bestfriends_0705
Trap Cadet
Kĩ thuật memory-patching mình áp dụng trên Ever17 và Steins Gate, cái Steins Gate thì team kia dịch sắp xong. Ever17 chỉ support font monospace nên mình chọn Consolas, Steins Gate bản Tiếng Anh thì font gì cũng được. Kỳ thực mình cũng chẳng biết 2 game đó dùng engine gì :148:Trước có thử vụ A -> W rồi nhưng không được trên BGI.
Cho hỏi bạn làm trên engine nào với font nào luôn :148:
Hook TextOutA thì kiểu như thế này:
PHP:
BOOL WINAPI TextOutMod(_In_ HDC hdc,
_In_ int nXStart,
_In_ int nYStart,
_In_ unsigned char* lpString,
_In_ int cchString)
{
LOGFONTA logFont;
HFONT hFont = (HFONT)GetCurrentObject(hdc, OBJ_FONT);
GetObjectA(hFont, sizeof(LOGFONTA), &logFont);
OverrideHFont(logFont, hdc);
WCHAR buffer[2];
ConvertString((char*)lpString, cchString, buffer, cchString); // đổi từ chuỗi 1 byte sang Unicode theo bảng ánh xạ riêng
BOOL rs = TextOutW(hdc, nXStart, nYStart, buffer, cchString);
return rs;
}
Last edited: