-
Notifications
You must be signed in to change notification settings - Fork 444
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Initial release. Some files may missing, please report.
Dependency not included. Deps: EasyHook, FreeType
- Loading branch information
1 parent
0a89093
commit 07a1eee
Showing
160 changed files
with
60,648 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,117 @@ | ||
# usage: | ||
# nmake release build | ||
# nmake debug=1 debug build | ||
# nmake ddk=1 using DDK compiler | ||
# nmake sse=1 build for SSE capable CPUs (uses with ddk=1) | ||
# nmake clean clean all file(s) | ||
# nmake cleanobj clean object file(s) | ||
|
||
GDI_PREFIX = ..\gdi++ | ||
GDI_PREFIX_DDK = ..\gdi++ | ||
GDI_PREFIX_SSE = ..\gdi++_sse | ||
|
||
TARGET_EXE = $(GDI_PREFIX).exe | ||
TARGET_DLL = $(GDI_PREFIX).dll | ||
|
||
EXE_OBJS = run.obj gdiexe.res | ||
DLL_OBJS = hook.obj override.obj settings.obj cache.obj misc.obj expfunc.obj ft.obj fteng.obj ft2vert.obj gdidll.res | ||
LINK_LIBS = memcpy_amd.lib | ||
|
||
EXE_PREFIX = ..\gdiexe | ||
DLL_PREFIX = ..\gdidll | ||
|
||
.SUFFIXES: .c .cpp .obj .rc .res | ||
|
||
CPPFLAGS = /nologo /D "WIN32" | ||
LINKFLAGS = /nologo | ||
LINK_EXE = /map:$(EXE_PREFIX).map | ||
LINK_DLL = /map:$(DLL_PREFIX).map | ||
|
||
CPPOPT = /G6 /Gy /QI0f- /QIfdiv- | ||
LINKOPT = /opt:nowin98 /opt:icf /opt:ref | ||
|
||
!ifdef ddk | ||
TARGET_DLL = $(GDI_PREFIX_DDK).dll | ||
DLL_PREFIX = ..\gdidll | ||
|
||
!ifdef sse | ||
TARGET_EXE = $(GDI_PREFIX_SSE).exe | ||
TARGET_DLL = $(GDI_PREFIX_SSE).dll | ||
CPPOPT = $(CPPOPT) /GL /arch:SSE | ||
!else | ||
CPPOPT = /G7 /Gy /QI0f- /QIfdiv- /GL /arch:SSE2 | ||
!endif | ||
|
||
LINKOPT = $(LINKOPT) /ltcg /ignore:4070,4078 bufferoverflowU.lib | ||
LINK_LIBS = detoured_.lib detours_.lib $(LINK_LIBS) | ||
|
||
!else | ||
LINK_LIBS = detoured.lib detours.lib $(LINK_LIBS) | ||
!endif | ||
|
||
!ifdef ftstatic | ||
CPPFLAGS = $(CPPFLAGS) /D "FREETYPE_STATIC" | ||
FTLIB = freetypeMT | ||
!else | ||
FTLIB = freetype | ||
!endif | ||
|
||
!ifdef debug | ||
CPPFLAGS = $(CPPFLAGS) /Od /MDd /FD /GZ /Zi /D "DEBUG" /D "_DEBUG" | ||
LINKFLAGS = $(LINKFLAGS) /incremental:no /debug /machine:I386 /opt:ref /opt:noicf | ||
LINK_EXE = $(LINK_EXE) /pdb:$(EXE_PREFIX).pdb | ||
#LINK_DLL = $(LINK_DLL) $(FTLIB)D.lib /pdb:$(DLL_PREFIX).pdb | ||
LINK_DLL = $(LINK_DLL) $(FTLIB).lib /pdb:$(DLL_PREFIX).pdb | ||
!else | ||
CPPFLAGS = $(CPPFLAGS) $(CPPOPT) /O2 /MD | ||
LINK_DLL = $(LINK_DLL) $(LINKOPT) $(FTLIB).lib | ||
LINK_EXE = $(LINK_EXE) $(LINKOPT) | ||
!endif | ||
|
||
all: $(TARGET_EXE) $(TARGET_DLL) | ||
|
||
$(TARGET_EXE): $(EXE_OBJS) | ||
link $(LINKFLAGS) $(LINK_EXE) $(LINK_LIBS) /out:$@ $(EXE_OBJS) | ||
|
||
$(TARGET_DLL): $(DLL_OBJS) expfunc.def | ||
link /dll $(LINKFLAGS) $(LINK_DLL) $(LINK_LIBS) /def:expfunc.def /out:$@ $(DLL_OBJS) | ||
|
||
.c.obj: | ||
cl $(CPPFLAGS) /GF /GA /W3 /Fo$@ /c $< | ||
|
||
.cpp.obj: | ||
cl $(CPPFLAGS) /GF /GA /W3 /Fo$@ /c $< | ||
|
||
.rc.res: | ||
rc /l 0x411 $< | ||
|
||
clean: cleanobj | ||
@-erase "$(TARGET_EXE)" | ||
@-erase "$(TARGET_DLL)" | ||
|
||
cleanobj: | ||
@-erase $(EXE_OBJS) | ||
@-erase $(DLL_OBJS) | ||
@-erase ..\gdi???.map | ||
@-erase vc??.pdb | ||
@-erase vc??.idb | ||
@-erase "$(EXE_PREFIX).pdb" | ||
@-erase "$(DLL_PREFIX).pdb" | ||
@-erase "$(GDI_PREFIX).exp" | ||
@-erase "$(GDI_PREFIX).lib" | ||
@-erase "$(GDI_PREFIX_DDK).exp" | ||
@-erase "$(GDI_PREFIX_DDK).lib" | ||
@-erase "$(GDI_PREFIX_SSE).exp" | ||
@-erase "$(GDI_PREFIX_SSE).lib" | ||
|
||
hook.obj: hook.cpp ft.h hooklist.h override.h common.h array.h cache.h settings.h tlsdata.h fteng.h | ||
override.obj: override.cpp ft.h hooklist.h override.h common.h array.h cache.h settings.h tlsdata.h fteng.h supinfo.h | ||
cache.obj: cache.cpp hooklist.h override.h common.h array.h cache.h | ||
misc.obj: misc.cpp common.h array.h | ||
settings.obj: settings.cpp common.h array.h cache.h settings.h strtoken.h supinfo.h fteng.h | ||
expfunc.obj: expfunc.cpp common.h array.h cache.h settings.h | ||
ft.obj: ft.cpp ft.h override.h common.h array.h cache.h settings.h fteng.h ft2vert.h | ||
fteng.obj: fteng.cpp ft.h override.h common.h array.h cache.h settings.h fteng.h | ||
ft2vert.obj: ft2vert.c ft2vert.h | ||
run.obj: run.cpp expfunc.cpp supinfo.h gdiexe.rc | ||
gdiexe.res: gdiexe.rc gdidll.rc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
# usage: | ||
# nmake release build | ||
# nmake debug=1 debug build | ||
# nmake ddk=1 using DDK compiler | ||
# nmake oldpsdk=1 using old platform sdk (dynamic load SHILCreateFromPath()/SHFree()) | ||
# nmake clean clean all file(s) | ||
# nmake cleanobj clean object file(s) | ||
|
||
TARGET_EXE = ..\gdi++.exe | ||
TARGET_DLL = ..\gdi++.dll | ||
|
||
EXE_OBJS = run.obj gdiexe.res | ||
DLL_OBJS = hook.obj override.obj settings.obj cache.obj misc.obj expfunc.obj ft.obj fteng.obj ft2vert.obj gdidll.res memcpy_amd.obj | ||
DLL_LIBS = advapi32.lib | ||
|
||
GDI_PREFIX = ..\gdi++ | ||
EXE_PREFIX = ..\gdiexe | ||
DLL_PREFIX = ..\gdidll | ||
|
||
.SUFFIXES: .c .cpp .obj .rc .res | ||
|
||
CPPFLAGS = /nologo /D "WIN32" /I. /EHsc /D | ||
LINKFLAGS = /nologo | ||
LINK_EXE = /map:$(EXE_PREFIX).map | ||
LINK_DLL = /map:$(DLL_PREFIX).map | ||
|
||
CPPOPT = /Gy /arch:SSE | ||
LINKOPT = /opt:nowin98 /opt:icf /opt:ref | ||
|
||
!ifdef ddk | ||
GDI_PREFIX = ..\gdi++_G7-GS-SSE2_ddk | ||
TARGET_DLL = ..\gdi++_G7-GS-SSE2_ddk.dll | ||
DLL_PREFIX = ..\gdidll_G7-GS-SSE2_ddk | ||
CPPOPT = /G7 /Gy /GL /GS /arch:SSE2 | ||
LINKOPT = $(LINKOPT) /ltcg /ignore:4070,4078 bufferoverflowU.lib | ||
!endif | ||
|
||
!ifdef oldpsdk | ||
CPPFLAGS = $(CPPFLAGS) /D "OLD_PSDK" | ||
!endif | ||
|
||
!ifdef usetrace | ||
CPPFLAGS = $(CPPFLAGS) /D "USE_TRACE" | ||
!endif | ||
|
||
!ifdef ftstatic | ||
CPPFLAGS = $(CPPFLAGS) /D "FREETYPE_STATIC" | ||
FTLIB = freetypeMT | ||
!else | ||
FTLIB = freetype | ||
!endif | ||
|
||
!ifdef debug | ||
CPPFLAGS = $(CPPFLAGS) /Od /MTd /FD /GZ /Zi /D "DEBUG" /D "_DEBUG" | ||
LINKFLAGS = $(LINKFLAGS) /incremental:no /debug /machine:I386 /opt:ref /opt:noicf /Fm | ||
LINK_EXE = $(LINK_EXE) /pdb:$(EXE_PREFIX).pdb | ||
LINK_DLL = $(LINK_DLL) $(FTLIB)D.lib /pdb:$(DLL_PREFIX).pdb | ||
!else | ||
CPPFLAGS = $(CPPFLAGS) $(CPPOPT) /O2 /MT /GF /GL | ||
LINK_DLL = $(LINK_DLL) $(LINKOPT) $(FTLIB).lib | ||
LINK_EXE = $(LINK_EXE) $(LINKOPT) | ||
!endif | ||
|
||
!ifdef ddk | ||
all: $(TARGET_DLL) | ||
!else | ||
all: $(TARGET_EXE) $(TARGET_DLL) | ||
!endif | ||
|
||
$(TARGET_EXE): $(EXE_OBJS) | ||
link $(LINKFLAGS) $(LINK_EXE) /LTCG /out:$@ $(EXE_OBJS) | ||
|
||
$(TARGET_DLL): $(DLL_OBJS) expfunc.def | ||
link /dll $(LINKFLAGS) $(LINK_DLL) /LTCG /def:expfunc.def /out:$@ $(DLL_OBJS) $(DLL_LIBS) | ||
if exist $@.manifest mt -manifest $@.manifest -outputresource:$@;2 | ||
|
||
pgi: | ||
-del gdi++*.pg* | ||
link /dll $(LINKFLAGS) $(LINK_DLL) /LTCG:PGI /def:expfunc.def /out:gdi++.dll $(DLL_OBJS) $(DLL_LIBS) | ||
|
||
pgo: | ||
link /dll $(LINKFLAGS) $(LINK_DLL) /LTCG:PGO /def:expfunc.def /out:gdi++.dll $(DLL_OBJS) $(DLL_LIBS) | ||
|
||
.c.obj: | ||
cl $(CPPFLAGS) /W3 /Fo$@ /c $< | ||
|
||
.cpp.obj: | ||
cl $(CPPFLAGS) /W3 /Fo$@ /c $< | ||
|
||
.rc.res: | ||
rc /l 0x411 $< | ||
|
||
clean: cleanobj | ||
@-erase "$(TARGET_EXE)" | ||
@-erase "$(TARGET_DLL)" | ||
|
||
cleanobj: | ||
@-erase $(EXE_OBJS) | ||
@-erase $(DLL_OBJS) | ||
@-erase vc??.pdb | ||
@-erase vc??.idb | ||
@-erase "$(EXE_PREFIX).pdb" | ||
@-erase "$(DLL_PREFIX).pdb" | ||
@-erase "$(EXE_PREFIX).map" | ||
@-erase "$(DLL_PREFIX).map" | ||
@-erase "$(GDI_PREFIX).exp" | ||
@-erase "$(GDI_PREFIX).lib" | ||
|
||
memcpy_amd.obj: optimize/memcpy__amd.cpp optimize/memcpy_amd.h | ||
cl $(CPPFLAGS) /W3 /Fomemcpy_amd.obj /c optimize/memcpy__amd.cpp | ||
|
||
hook.obj: hook.cpp ft.h hooklist.h override.h common.h array.h cache.h settings.h tlsdata.h fteng.h | ||
override.obj: override.cpp ft.h hooklist.h override.h common.h array.h cache.h settings.h tlsdata.h fteng.h | ||
cache.obj: cache.cpp hooklist.h override.h common.h array.h cache.h | ||
misc.obj: misc.cpp common.h array.h | ||
settings.obj: settings.cpp common.h array.h cache.h settings.h strtoken.h | ||
expfunc.obj: expfunc.cpp common.h array.h cache.h settings.h | ||
ft.obj: ft.cpp ft.h override.h common.h array.h cache.h settings.h fteng.h ft2vert.h | ||
fteng.obj: fteng.cpp ft.h override.h common.h array.h cache.h settings.h fteng.h | ||
ft2vert.obj: ft2vert.c ft2vert.h | ||
run.obj: run.cpp expfunc.cpp gdiexe.rc | ||
gdiexe.res: gdiexe.rc gdidll.rc | ||
gdidll.res: gdidll.rc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
#pragma once | ||
|
||
#ifndef _INC_SHLWAPI | ||
#define NO_SHLWAPI_STRFCNS | ||
#define NO_SHLWAPI_PATH | ||
#define NO_SHLWAPI_REG | ||
#define NO_SHLWAPI_STREAM | ||
#define NO_SHLWAPI_GDI | ||
#include <shlwapi.h> | ||
#endif | ||
|
||
#if !defined(_INC_SHLWAPI) || defined(NOSHLWAPI) || defined(NO_SHLWAPI_PATH) | ||
BOOL WINAPI PathIsRelative(LPCTSTR pszPath); | ||
BOOL WINAPI PathRemoveFileSpec(LPTSTR pszPath); | ||
LPTSTR WINAPI PathFindExtension(LPCTSTR pszPath); | ||
LPTSTR WINAPI PathAddBackslash(LPTSTR pszPath); | ||
LPTSTR WINAPI PathCombine(LPTSTR pszDest, LPCTSTR pszDir, LPCTSTR pszFile); | ||
#endif | ||
|
||
#include <atlbase.h> | ||
|
||
template <class T> | ||
class CArray : public CSimpleArray<T> | ||
{ | ||
public: | ||
T* Begin() const | ||
{ | ||
return m_aT; | ||
} | ||
T* End() const | ||
{ | ||
return m_aT + m_nSize; | ||
} | ||
}; | ||
|
||
template <class T> | ||
class CValArray : public CSimpleValArray<T> | ||
{ | ||
public: | ||
T* Begin() const | ||
{ | ||
return m_aT; | ||
} | ||
T* End() const | ||
{ | ||
return m_aT + m_nSize; | ||
} | ||
}; | ||
|
||
template <class T> | ||
class CPtrArray : public CValArray<T*> | ||
{ | ||
}; | ||
|
||
template <class TKey, class TVal> | ||
class CMap : public CSimpleMap<TKey, TVal> | ||
{ | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
@echo off | ||
|
||
setlocal | ||
|
||
set INCLUDE=..\..\..\freetype2\include;%INCLUDE% | ||
set LIB=..\..;%LIB% | ||
|
||
:go | ||
nmake -f Makefile.vc2005 %* | ||
if errorlevel 1 goto err | ||
goto end | ||
|
||
:err | ||
pause | ||
goto go | ||
|
||
:end | ||
endlocal | ||
rem pause |
Oops, something went wrong.