• Askerka
    了解作者
  • C/C++
    开发工具
  • 6MB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 10 积分
    下载积分
  • 0
    下载次数
  • 2019-12-02 02:38
    上传日期
mapeditor sources by Softon
MapEditor.rar
  • MapEditor
  • include
  • interface
  • MFileDef.h
    3.7KB
  • ZoneFileHeader.h
    1.3KB
  • MSectorEdit.h
    6.3KB
  • MInteractionObject.h
    2.1KB
  • MZoneEdit.h
    9.9KB
  • MObject.h
    3.2KB
  • CPositionList.h
    9.2KB
  • MString.h
    2.3KB
  • ZoneFileBody.h
    3.7KB
  • CTypeTable.h
    3.7KB
  • MZoneDef.h
    1.2KB
  • MInteractionObjectTable.h
    1.4KB
  • MViewDef.h
    2.6KB
  • vssver.scc
    368B
  • MTopViewEdit.h
    11.5KB
  • MTypeDef.h
    4.7KB
  • MShadowAnimationObject.h
    1KB
  • MImageObject.h
    6.5KB
  • MSectorInfo.h
    4.1KB
  • MPortal.h
    2.9KB
  • MAnimationObject.h
    2.6KB
  • MShadowObject.h
    959B
  • SEQUENCE.H
    917B
  • minimap.h
    5.6KB
  • AttachObject.h
    2.5KB
  • mapEditor.h
    9.7KB
  • MapView.h
    2.4KB
  • ME_exec_id.h
    2.6KB
  • AttachTile.h
    3.4KB
  • ME_string.h
    1.6KB
  • vssver.scc
    208B
  • Help.h
    324B
  • ME_define.h
    1KB
  • TileGroupViewer.h
    1.5KB
  • src
  • interface
  • MObject.cpp
    1.5KB
  • MZoneEdit.cpp
    142KB
  • MInteractionObject.cpp
    3.8KB
  • MSectorInfo.cpp
    3.6KB
  • MTopViewEdit.cpp
    95.3KB
  • MAnimationObject.cpp
    3.3KB
  • MString.cpp
    4.6KB
  • MSectorEdit.cpp
    7.3KB
  • vssver.scc
    288B
  • MShadowAnimationObject.cpp
    1.3KB
  • VS_UI_release.lib
    9.4MB
  • ZoneFileBody.cpp
    4.8KB
  • MInteractionObjectTable.cpp
    1.3KB
  • MImageObject.cpp
    6.5KB
  • ZoneFileHeader.cpp
    1KB
  • MPortal.cpp
    2.1KB
  • MShadowObject.cpp
    1.4KB
  • minimap.cpp
    27.7KB
  • Help.cpp
    2.7KB
  • MapView.cpp
    53.6KB
  • vssver.scc
    160B
  • AttachTile.cpp
    26.7KB
  • TileGroupViewer.cpp
    6.9KB
  • AttachObject.cpp
    50.8KB
  • WinMain.cpp
    188.4KB
  • mapEditor.cpp
    1.5KB
  • CAlphaSpritePackList565.cpp
    1.2KB
  • statictext.h
    651B
  • CStorageSurface.h
    1.5KB
  • CDirectDraw.cpp
    27.5KB
  • ShowTimeChecker.cpp
    4.1KB
  • FL.DLL
    60KB
  • DXLib.h'
    504B
  • MZoneSoundManager.cpp
    11.4KB
  • CSpriteSet.cpp
    3.2KB
  • CAlphaSpritePackList555.cpp
    1.2KB
  • textbutton.h
    1.4KB
  • Gl.lib
    15.5KB
  • FONT.H
    1.3KB
  • CDirectInput.h
    8.3KB
  • CAlphaSprite.h
    8.9KB
  • BasicS.dll
    92.1KB
  • Help.pdb
    25KB
  • AttachTile.pdb
    25KB
  • PlatformService.h
    1.3KB
  • scrollbar.h
    2.9KB
  • MZoneSoundManager.h
    3.7KB
  • outputbox.h
    2.2KB
  • MapEditor.positions
    3.7KB
  • filetype.cpp
    5.3KB
  • CSpriteSet.h
    1.5KB
  • CSpritePackList565.cpp
    1.2KB
  • CAlphaSprite555.h
    775B
  • MSoundTable.cpp
    930B
  • PICINFO.H
    476B
  • CSpriteDef.h
    1.1KB
  • MSoundTable.h
    1.4KB
  • scrollbar2.h
    4.7KB
  • CDirectSetup.cpp
    21.4KB
  • CTypeMap.h
    5.5KB
  • CSprite555.h
    793B
内容介绍
//---------------------------------------------------------------------- // CSpriteSurface.cpp //---------------------------------------------------------------------- #include "CSprite.h" #include "CAlphaSprite.h" #include "CIndexSprite.h" #include "CShadowSprite.h" #include "CSpriteOutlineManager.h" #include "CFilter.h" #include "CSpriteSurface.h" //---------------------------------------------------------------------- // Static member //---------------------------------------------------------------------- int CSpriteSurface::s_Value1 = 1; int CSpriteSurface::s_Value2 = 31; int CSpriteSurface::s_Value3 = 1; // memcpy Effect FUNCTION_MEMCPYEFFECT CSpriteSurface::s_pMemcpyEffectFunction = memcpyEffectDarker; FUNCTION_MEMCPYEFFECT CSpriteSurface::s_pMemcpyEffectFunctionTable[MAX_EFFECT] = { memcpyEffectDarker, memcpyEffectGrayScale, memcpyEffectLighten, memcpyEffectDarken, memcpyEffectColorDodge, memcpyEffectScreen, memcpyEffectDodgeBurn, memcpyEffectDifferent, memcpyEffectGradation, memcpyEffectSimpleOutline, memcpyEffectWipeOut, memcpyEffectNet, memcpyEffectGrayScaleVarious }; //---------------------------------------------------------------------- // // constructor/destructor // //---------------------------------------------------------------------- CSpriteSurface::CSpriteSurface() { } CSpriteSurface::~CSpriteSurface() { } //---------------------------------------------------------------------- // // member functions // //---------------------------------------------------------------------- //---------------------------------------------------------------------- // VLine //---------------------------------------------------------------------- // 세로 선 그리기 //---------------------------------------------------------------------- void CSpriteSurface::VLine(int x, int y, int length, WORD color) { RECT rect; rect.left = x; rect.top = y; rect.right = x+1; rect.bottom = y+length; FillRect(&rect, color); } //---------------------------------------------------------------------- // HLine //---------------------------------------------------------------------- // 가로선 그리기 //---------------------------------------------------------------------- void CSpriteSurface::HLine(int x, int y, int length, WORD color) { RECT rect; rect.left = x; rect.top = y; rect.right = x+length; rect.bottom = y+1; FillRect(&rect, color); } //---------------------------------------------------------------------- // DrawRect //---------------------------------------------------------------------- // 속이 빈 상자 그리기 //---------------------------------------------------------------------- void CSpriteSurface::DrawRect(RECT* pRect, WORD color) { int width = abs(pRect->right - pRect->left)+1, height = abs(pRect->bottom - pRect->top)+1; HLine(pRect->left, pRect->top, width, color); HLine(pRect->left, pRect->bottom, width, color); VLine(pRect->left, pRect->top, height, color); VLine(pRect->right, pRect->top, height, color); } //---------------------------------------------------------------------- // 직선 그리기 //---------------------------------------------------------------------- void CSpriteSurface::Line(int x1, int y1, int x2, int y2, WORD color) { // 한 점씩 찍어서 직선을 그린다. WORD* lpSurface = (WORD*)m_ddsd.lpSurface; WORD lPitch = m_ddsd.lPitch; WORD* lpSurfaceTemp; // // Bresenham algolithm // int x, y; int d, dx, dy; int Aincr, Bincr, xincr, yincr; int t; if (abs(x2 - x1) > abs(y2 - y1)) { if (x1 > x2) { t = x1; x1 = x2; x2 = t; t = y1; y1 = y2; y2 = t; } if (y2 > y1) yincr = 1; else yincr = -1; dx = x2 - x1; dy = abs(y2 - y1); d = 2 * dy - dx; Aincr = 2 * (dy - dx); Bincr = 2 * dy; x = x1; y = y1; // PutPixel(x,y, color) lpSurfaceTemp = (WORD*)((BYTE*)lpSurface + lPitch*y + (x<<1)); *lpSurfaceTemp = color; for (x++; x <= x2; x++) { if (d >= 0) { y += yincr; d += Aincr; } else d += Bincr; // PutPixel(x,y, color) lpSurfaceTemp = (WORD*)((BYTE*)lpSurface + lPitch*y + (x<<1)); *lpSurfaceTemp = color; } } else { if (y1 > y2) { t = x1; x1 = x2; x2 = t; t = y1; y1 = y2; y2 = t; } if (x2 > x1) xincr = 1; else xincr = -1; dx = abs(x2 - x1); dy = y2 - y1; d = 2*dx - dy; Aincr = 2 * (dx - dy); Bincr = 2 * dx; x = x1; y = y1; // PutPixel(x,y, color) lpSurfaceTemp = (WORD*)((BYTE*)lpSurface + lPitch*y + (x<<1)); *lpSurfaceTemp = color; for (y++; y <= y2; y++) { if (d >= 0) { x += xincr; d += Aincr; } else d += Bincr; // PutPixel(x,y, color) lpSurfaceTemp = (WORD*)((BYTE*)lpSurface + lPitch*y + (x<<1)); *lpSurfaceTemp = color; } } } //---------------------------------------------------------------------- // Rect영역을 읽어서 Point위치에 찍을 경우 // 화면 크기를 넘지 않도록 좌표를 다시 설정해준다. //---------------------------------------------------------------------- bool CSpriteSurface::ClippingRectToPoint(RECT*& pRect, POINT*& pPoint) { // 영역을 넘어가는지에 대한 체크 if (pPoint->x>=(int)m_ClipRight || pPoint->y>=(int)m_ClipBottom) return false; // width clipping if (pPoint->x<m_ClipLeft) { pRect->left = pRect->left-pPoint->x + m_ClipLeft; //abs(pPoint->x); pPoint->x = m_ClipLeft; } else if ((int)m_ClipRight-pPoint->x < pRect->right-pRect->left) { pRect->right = pRect->left+ m_ClipRight-pPoint->x; } // height clipping if (pPoint->y<m_ClipTop) { pRect->top = pRect->top-pPoint->y + m_ClipTop; pPoint->y = m_ClipTop; } else if ((int)m_ClipBottom-pPoint->y < pRect->bottom-pRect->top) { pRect->bottom = pRect->top+ m_ClipBottom-pPoint->y; } // 화면 영역을 넘어가면 안된다-> if (pRect->left >= pRect->right || pRect->top >= pRect->bottom) return false; return true; } //---------------------------------------------------------------------- // Blt Darkness //---------------------------------------------------------------------- // SourceSurface를 DarkBits만큼 어둡게 만들어서 *this에 출력 //---------------------------------------------------------------------- void CSpriteSurface::BltDarkness(POINT* pPoint, CDirectDrawSurface* SourceSurface, RECT* pRect, BYTE DarkBits) { //------------------------ // Clipping //------------------------ // TargetSurface의 영역을 넘어가는지에 대한 체크 if (pPoint->x>=(int)m_ClipRight || pPoint->y>=(int)m_ClipBottom) return; // width clipping if (pPoint->x<m_ClipLeft) { pRect->left = pRect->left-pPoint->x + m_ClipLeft; pPoint->x = m_ClipLeft; } else if ((int)m_ClipRight-pPoint->x < pRect->right-pRect->left) { pRect->right = pRect->left+ m_ClipRight-pPoint->x; } // height clipping if (pPoint->y<m_ClipTop) { pRect->top = pRect->top-pPoint->y + m_ClipTop; pPoint->y = m_ClipTop; } else if ((int)m_ClipBottom-pPoint->y < pRect->bottom-pRect->top) { pRect->bottom = pRect->top+ m_ClipBottom-pPoint->y; } void* lpSurfaceTemp = m_ddsd.lpSurface; long lPitchTemp = m_ddsd.lPitch; WORD* lpTargetSurface = (WORD*)m_ddsd.lpSurface; WORD lTargetPitch = m_ddsd.lPitch; /
评论
    相关推荐
    • Map-Tools-Source.zip
      Some darkeden maptools
    • GaussDB_100_1.0.1-DATABASE-REDHAT-64bit.tar.gz
      guassdb100在redhat上安装包,单机部署的包,安装步骤请看我的文中介绍,经过大量实验搭建总结出来的文档
    • SIM800C_MQTT.rar
      使用SIM800C模块,使用MQTT协议,连接中国移动onenet平台,能实现数据的订阅、发布、存储等
    • 卷积神经网络
      这是卷积神经网络的一个实际用例,已经调试好了,能够在matlab上成功运行,适合从事卷积神经网络(CNN)研究的人员学习使用。
    • android从bootloader到launcher启动流程整理
      讲述android 开机流程 从boot rom---bootloader---init--zygote---systemserver---ams 并附上自己整理的每个流程的流程图 ,清晰熟悉android 启动流程
    • 分数阶混沌系统:分数阶混沌系统的数值解。-matlab开发
      该工具箱包含可用于模拟一些著名的分数阶混沌系统的函数,例如: - 陈的系统, - Arneodo的系统, - Genesio-Tesi 的系统, - 洛伦兹系统, - 牛顿-莱普尼克系统, - 罗斯勒的系统, - Lotka-Volterra系统, - 达芬的系统, - 范德波尔的振荡器, -伏打的系统- 陆氏系统, - 刘的系统, - Chua的系统, - 金融系统, - 3 细胞 CNN。 这些函数以数值方式计算描述混沌系统的分数阶非线性微分方程的解。 每个函数返回总模拟时间的状态轨迹(吸引器)。 更多详情请看书: Ivo Petras,分数阶非线性系统:建模、分析和仿真,Springer,系列:非线性物理科学,2011,ISBN 978-3-642-18100-9。 http://www.springer.com/engineering/control/book/978-3-
    • matlabpam代码-dsp-library:用于光通信的MATLABDSP函数库
      matlab pam代码 DSP库 该项目包含几种不同的功能,可将DSP算法应用于光通信。 这些功能适用于相干和非相干(PAM,DMT)光通信。 大多数功能是相互独立的。 因此,该代码中的功能可以轻松使用,并与其他DSP功能结合使用。 用法 功能列表以及简短说明在文件中。 输入和输出参数的描述在每个函数的标题中。 讯号 通常,输入(和输出)信号在第一维度上具有时间(例如,列向量),而第二维度用于一次管理多个信号(例如,不同的极化,不同的参数等)。 之所以选择这种约定,是因为MATLAB通过将列保留在内存的连续部分中来存储矩阵,因此,这种约定比其他方法(行向量)要快。 参数 大多数功能使用参数结构作为输入参数。 函数中使用的参数的描述通常在标头中,而coherent-dsp函数的默认参数在文件中。 参考 执照 此代码在下发布。
    • 有关多目标跟踪的PHD滤波的一些资料
      一些关于多目标跟踪的新的文献,主要是有关概率假设密度(PHD)的
    • 基于python开发的全国新工商采集工具 v1.2版本
      这个软件是通过scrapy爬虫框架结合代理IP池再加上request模拟请求技术以及验证码识别技术,可以做到日更新采集全国新工商信息。采集的数据自动存储在mysql数据库表里,可下载全量1.8亿多企业工商基本信息和36维度的详细信息.支持sql和excel导出数据包格式。
    • Aerosim Blockset
      The AeroSim aeronautical simulation blockset provides a complete set of tools for the rapid development of nonlinear 6-degree of freedom aircraft dynamic models. In addition to the basic aircraft dynamics blocks, the library also includes complete aircraft models which can be customized through parameter files.