亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? opengl.cpp

?? 我對他如何控制準星、顯示敵友很好奇
?? CPP
字號:
// 
// Online Game Cheats Client.dll hook
// Copyright (c) system   2001-2002
// Copyright (c) bunny771 2001-2002
// 
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// 
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
// 
// NOTE:
// GNU license doesn't cover Engine directory.
// Content of Engine directory is copyrighted (c) 1999, 2000, by Valve LLC
// and it is licensed under Valve's proprietary license (see original HL SDK).
// 

#define  WIN32_LEAN_AND_MEAN
#include <windows.h>

#include "cvar.h"
#include "client.h"
#include <gl/gl.h>

#include <map>
#include <string>
using namespace std;
#include "hookqueue.h"

// color stuff
#include <vector>
#include "stringfinder.h"
#include "color.h"

// logging
#include <fstream>


typedef void (APIENTRY *Tgl1ui) (unsigned int);
typedef void (APIENTRY *Tgl3f)( float , float , float );
typedef void (APIENTRY *Tgl4f)( float , float , float , float );
typedef void (APIENTRY *Tgl2ui) (unsigned int, unsigned int);
typedef void (APIENTRY *TglTexEnvi) (unsigned int, unsigned int, int);
typedef void (APIENTRY *Tglvui) (unsigned int,float*);
typedef void (APIENTRY *xglViewport) (GLint x, GLint y, GLsizei width, GLsizei height);
typedef BOOL (APIENTRY *xwglSwapBuffers) (HDC);
typedef void (APIENTRY *xglBlendFunc) (GLenum sfactor, GLenum dfactor);
typedef void (APIENTRY *xglColor4f) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
typedef void (APIENTRY *xglLineWidth) (GLfloat width);
typedef void (APIENTRY *TglRectiFunc) (GLint x, GLint y, GLint x2, GLint y2);

extern hookinfo glBlendFuncInfo   ;
extern hookinfo glBeginInfo       ;
extern hookinfo glVertex3fInfo    ;
extern hookinfo glDisableInfo     ;
extern hookinfo glEnableInfo      ;
extern hookinfo glColor3fInfo     ;
extern hookinfo glTexEnviInfo     ;
extern hookinfo glPolygonModeInfo ;
extern hookinfo glClearColorInfo  ;
extern hookinfo glClearInfo       ;
extern hookinfo glGetFloatvInfo   ;
extern hookinfo glViewportInfo    ;
extern hookinfo glColor4fInfo     ;
extern hookinfo glLineWidthInfo   ;
extern hookinfo glRectiInfo       ;


//========================================================================================
void opengl_ClearBackground()
{
	if(glClearColorInfo.oldfunc && glClearInfo.oldfunc)
	{
		ColorEntry* color = colorList.get(10);
		float r = float(color->r)/255.0f;
		float g = float(color->g)/255.0f;
		float b = float(color->b)/255.0f;
		float a = float(color->a)/255.0f;
		(*(Tgl4f )(glClearColorInfo.oldfunc))(r,g,b,a);
		(*(Tgl1ui)(glClearInfo     .oldfunc))(GL_COLOR_BUFFER_BIT);
	}
}



//========================================================================================
bool oglSubtractive = false;
extern hookinfo glBlendFuncInfo;
void APIENTRY pglBlendFunc(GLenum sfactor, GLenum dfactor)
{
	if(oglSubtractive)  (*(xglBlendFunc)(glBlendFuncInfo.oldfunc))(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
	else                (*(xglBlendFunc)(glBlendFuncInfo.oldfunc))(sfactor, dfactor);
}

extern bool bIsHooked;

//========================================================================================
void APIENTRY pglBegin(unsigned int mode)
{
	if(!bIsHooked) { (*(Tgl1ui)(glBeginInfo.oldfunc))(mode); return; }

	switch (cvar.wall) 
	{ 
	case 1: 	
		if (mode == GL_TRIANGLE_STRIP || mode == GL_TRIANGLE_FAN) 
		{
			(*(Tgl1ui)(glDisableInfo.oldfunc))(GL_DEPTH_TEST);
		}
		break;
	case 2:
		if (mode != GL_TRIANGLE_STRIP && mode != GL_TRIANGLE_FAN)
		{
			float curcolor[4];
			(*(Tglvui)(glGetFloatvInfo.oldfunc      ))(GL_CURRENT_COLOR, curcolor);
			(*(Tgl1ui)(glDisableInfo.oldfunc        ))(GL_DEPTH_TEST);
			(*(Tgl1ui)(glEnableInfo .oldfunc        ))(GL_BLEND);
			(*(xglBlendFunc)(glBlendFuncInfo.oldfunc))(GL_SRC_ALPHA, GL_ONE);
			(*(Tgl4f )(glColor4fInfo.oldfunc        ))(curcolor[0], curcolor[1], curcolor[2], colorList.get(10)->onebased_a );
		}
		break;
		
	}
	
	switch (cvar.glextra)
	{
	case 0:break;
	case 1:
		if(mode != GL_TRIANGLES && mode != GL_TRIANGLE_STRIP  && mode != GL_TRIANGLE_FAN  && mode != GL_QUADS) 
		{
			(*(TglTexEnvi)(glTexEnviInfo .oldfunc ))(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
		}
		break;
	case 2:
		if(mode != GL_TRIANGLES && mode != GL_TRIANGLE_STRIP  && mode != GL_TRIANGLE_FAN  && mode != GL_QUADS) 
		{
			(*(TglTexEnvi)(glTexEnviInfo .oldfunc ))(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_BLEND);
		}
		break;
	case 3:
		if(mode == GL_POLYGON)
		{
			ColorEntry* c = colorList.get(14);
			(*(Tgl3f )(glColor3fInfo        .oldfunc ))( c->onebased_r, c->onebased_g, c->onebased_b);
			(*(Tgl2ui)(glPolygonModeInfo    .oldfunc ))(GL_FRONT_AND_BACK, GL_LINE);
			(*(xglLineWidth)(glLineWidthInfo.oldfunc ))(2);
		}
		else 
		{
			(*(Tgl2ui)(glPolygonModeInfo.oldfunc ))(GL_FRONT_AND_BACK, GL_FILL);
		}
		break;
	}  

	
	if(cvar.nosky)
	{
		//if(mode==GL_QUADS)
		//{
		//	float curcolor[4];
		//	(*(Tglvui)(glGetFloatvInfo.oldfunc))(GL_CURRENT_COLOR, curcolor);
		//	if(curcolor[0] == 1 && curcolor[1] == 1 && curcolor[2] == 1)
		//	{
		//		//float texCoords[10];
		//		//(*(Tglvui)(glGetFloatvInfo.oldfunc))(GL_CURRENT_TEXTURE_COORDS, texCoords);
		//		//
		//		//if(texCoords[6] > 512 || texCoords[7] > 512)
		//		//{
		//			mode = 0;
		//		//}
		//	}
		//} 
	}
	
	(*(Tgl1ui)(glBeginInfo.oldfunc))(mode);
}

//========================================================================================
void APIENTRY pglVertex3f( float x, float y, float z) 
{
	if (cvar.lambert && bIsHooked)
	{ 
		ColorEntry* c = colorList.get(15);
		(*(Tgl3f )(glColor3fInfo    .oldfunc ))( c->onebased_r, c->onebased_g, c->onebased_b);
	}
	(*(Tgl3f)(glVertex3fInfo.oldfunc))(x, y, z);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
综合欧美一区二区三区| 日韩精品一区第一页| 成人h动漫精品一区二区| 久久人人97超碰com| 日韩精品1区2区3区| 一本到高清视频免费精品| 中文字幕日韩一区| 不卡av在线免费观看| 亚洲日本青草视频在线怡红院| 99久久精品国产导航| 伊人一区二区三区| 欧美日韩黄色影视| 蜜桃久久久久久久| 综合激情网...| 91精品蜜臀在线一区尤物| 国内偷窥港台综合视频在线播放| 欧美视频在线不卡| 免费看黄色91| 中文字幕第一区| 在线观看网站黄不卡| 国产激情视频一区二区在线观看| 亚洲精品免费播放| 欧美成人vr18sexvr| 欧美唯美清纯偷拍| 国产福利一区在线| 激情五月激情综合网| 五月天国产精品| 亚洲国产婷婷综合在线精品| 久久毛片高清国产| 日韩欧美中文字幕制服| 91视频com| 精品写真视频在线观看| 秋霞影院一区二区| 亚洲成人一二三| 亚洲综合色在线| 亚洲免费伊人电影| 一区二区三区国产豹纹内裤在线| 久久久不卡网国产精品二区| 91精品国产综合久久婷婷香蕉 | 在线不卡的av| 这里只有精品视频在线观看| 欧美色偷偷大香| 91天堂素人约啪| 北岛玲一区二区三区四区 | 国产一二三精品| 国产suv精品一区二区883| 成人一区二区三区视频| 色呦呦日韩精品| 51精品国自产在线| 久久久久国色av免费看影院| 日本一二三四高清不卡| 亚洲精品成人精品456| 天天综合天天综合色| 麻豆91在线观看| 成人av午夜影院| 在线一区二区视频| 欧美一区二区精品在线| 亚洲国产精品99久久久久久久久 | 欧美性猛交xxxxxxxx| 日韩欧美中文一区二区| 欧美激情一区二区三区蜜桃视频 | 成人精品高清在线| 欧美日韩视频在线第一区| 国产欧美1区2区3区| 亚洲一区欧美一区| 精油按摩中文字幕久久| 欧美影视一区二区三区| 国产女主播一区| 国产乱码精品一区二区三| 欧美在线视频全部完| 国产精品第四页| 国产.欧美.日韩| 久久久精品日韩欧美| 国精产品一区一区三区mba视频| 在线免费不卡视频| 亚洲欧美在线视频观看| 国产精品资源在线观看| 精品国产91乱码一区二区三区| 亚洲黄色片在线观看| 久久国产欧美日韩精品| 欧美一区二区播放| 国产中文字幕精品| 欧美精品一区二区久久久| 久久av资源站| 国产夜色精品一区二区av| 极品美女销魂一区二区三区| 精品免费视频.| 成人永久aaa| 一区二区三区产品免费精品久久75| www.av精品| 手机精品视频在线观看| 日韩一区二区三区电影在线观看 | 国产尤物一区二区| 久久久精品黄色| 欧美色综合影院| 极品美女销魂一区二区三区免费 | 欧美本精品男人aⅴ天堂| 韩国av一区二区三区四区| 国产精品入口麻豆九色| 日本大香伊一区二区三区| 久久精品国产精品亚洲红杏| 国产视频一区在线观看| 欧美日韩一区在线| 国产成人精品亚洲午夜麻豆| 中文字幕视频一区二区三区久| 91精品国产综合久久久蜜臀图片 | 亚洲视频在线观看三级| 日韩视频123| 欧美久久免费观看| 97超碰欧美中文字幕| 国产精品一卡二卡在线观看| 午夜精品aaa| 视频在线观看国产精品| 亚洲一区二区视频在线观看| 欧美激情在线一区二区| 欧美一区二区在线看| 欧美美女网站色| 日韩美一区二区三区| 色综合久久综合中文综合网| 韩国av一区二区三区| 国产精品亚洲成人| 国产成人免费视频网站| 国产精品996| 成人免费va视频| 91麻豆精品秘密| 欧美四级电影网| 欧美xxxxxxxx| 国产精品乱码一区二区三区软件| www国产精品av| 国产精品国产三级国产aⅴ原创 | 视频一区视频二区在线观看| 亚洲精品国产精华液| 亚洲国产精品一区二区www| 一区二区三区视频在线看| 一区二区久久久久久| 日韩高清一区二区| 国产精品99久久久久久宅男| 99热精品国产| 欧美一区二区三区不卡| 国产精品午夜免费| 亚洲一区中文日韩| 国产精品18久久久| 欧美四级电影网| 中文字幕制服丝袜一区二区三区 | 日韩一二三区不卡| 中文字幕乱码日本亚洲一区二区 | 白白色 亚洲乱淫| 日韩精品一区在线| 亚洲一区国产视频| 99热99精品| 亚洲国产精品成人综合| 蜜臀久久99精品久久久久久9| 99视频超级精品| 久久精品网站免费观看| 蜜桃av一区二区三区电影| 在线观看不卡一区| 一区二区三区在线免费| 国产成人精品影视| 久久久国际精品| 国产成人自拍在线| 欧美日韩精品高清| 亚洲国产综合人成综合网站| 国产伦精品一区二区三区视频青涩 | 中文字幕欧美日本乱码一线二线| 亚洲成人av电影在线| 91蜜桃视频在线| 国产亚洲精品精华液| 九一九一国产精品| 在线成人av网站| 免费一级片91| 久久久亚洲国产美女国产盗摄 | 欧美aaa在线| 欧美欧美欧美欧美| 国产精品激情偷乱一区二区∴| 成人av免费观看| 国产精品福利一区二区三区| 国产伦理精品不卡| 亚洲黄色av一区| 欧美一区二区三区四区高清| 性久久久久久久久| 精品视频123区在线观看| 亚洲欧美另类在线| 欧美精品久久99久久在免费线| 亚洲免费电影在线| 久久这里只有精品首页| 国产成a人亚洲精| 亚洲午夜久久久久久久久久久| 欧美videos中文字幕| 久久精品国产**网站演员| 亚洲精品一区在线观看| 国产91综合网| 亚洲成av人片| 成人欧美一区二区三区黑人麻豆| 成人国产视频在线观看| 一区二区不卡在线视频 午夜欧美不卡在| 在线精品视频一区二区三四| 蜜臀久久99精品久久久久宅男| 一区二区三区中文在线| 欧美大胆一级视频| 成人午夜精品一区二区三区|