智阳's profilewitsunPhotosBlogListsMore Tools Help

智阳 徐

Occupation
Interests
我是WitSun 压力产生动力
Photo 1 of 21
No list items have been added yet.
9/7/2007

这几天写了一个UDP的P2P网络库

这库主要特点是用起来比较方便,你不需要关心内部实现方式,只要SendDataToServer 或 SendDataToClient 就OK了。
支持P2P,当然了,主要针对实时性高的连线游戏。
这库没经过实际项目考验,可能存在一些BUG。
有兴趣的可以下载试看看:http://www.witsun.net/download/NetLib.rar
 
//库说明:
//  以第三方开源网络库TNL(www.opentnl.org)为基础而进行封装,
//  网络通信协议为UDP.
//工作原理:
//  服务器(以下称为S).客户端(以下以字母C开头).
//  Cn连接上S后,可以自由跟S通讯,这是基本.
//  Cn可向其它Cx发动连接请求(俗称P2P连接,或打洞连接).
//  如果连接建立不成功,则数据通过S中转.
//  所以用户不需要关心内部链接情况.直接可用接口函数
//  SendDataToServer 或 SendDataToClient 发送数据!
//                                            WitSun (2007.08.30)
8/17/2007

《灵游记》被攻击案件终告破,中央电视台《法制在线》栏目专题

 
6/27/2007

SONY,投降吧!

PSP3.5版本又被破解了~
可怜的SONY~东西都在别人那让人研究了还怎么防得了呀~
4/23/2007

高丽棒子的代码就是有个性

看下工程文件列表的截图:)
1/22/2007

天机截图2

1/13/2007

天机截图

12/19/2006

解决VC开发的程序在别的机子跑不起来的问题

一般症状为程序直接非法操作,或提示"由于应用程序配制不正确"
解决方法
让目标机器运行"X:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\vcredist_x86.exe"此程序即可.
 
 
Visual C++ 
How to: Deploy using XCopy 

This topic demonstrates how to deploy applications by copying application files from one computer to another. This technique is useful for debugging applications on another computer. For background on this deployment scenario, see Scenarios for Deployment Examples.

Deploying Visual C++ library DLLs as shared assemblies

  1. Create a folder structure on the development computer that matches the folder structure to be used on the target computer. For this example, create a \bin folder and copy myapplication.exe there. Then create a \bin\mylibrary folder and copy MyLibrary.dll there.

  2. Copy this folder to the target computer.

  3. Copy Visual C++ Redistributable Package (vcredist_x86.exe) from %PROGDIR%\Microsoft Visual Studio 8\SDK\v2.0\Bootstrapper\Packages\vcredist_x86\vcredist_x86.exe to the target computer

    Note

    For applications built in Visual C++ Express, it is recommended to redistribute Visual C++ libraries using the Visual C++ Redistributable Package (vcredist_x86.exe). Visual C++ Express does not install this package; however, it can be downloaded from Microsoft Visual C++ 2005 Redistributable Package (x86).

  4. Run vcredist_x86.exe on the target computer.This installs all Visual C++ libraries as shared assemblies. On a target computer with support for manifest-based binding of applications to their dependencies (Windows XP Home Edition, Windows XP Professional, Windows Server 2003), the libraries are installed in the WinSxS folder. On a computer without such support (Windows 98, Windows 98 Second Edition, Windows Millennium Edition, Windows 2000), the libraries are installed to both the WinSxS and System32 folders.

    Note

    For deploying 64-bit applications to 64-bit operating systems, use vcredist_x64.exe or vcredist_ia64.exe. These packages can also be downloaded from Microsoft Visual C++ 2005 Redistributable Package (x64) and Microsoft Visual C++ 2005 Redistributable Package (ia64)

    Note

    vcredist_*.exe installs only the release versions of Visual C++ DLLs. Debug versions should only be deployed as private assemblies; see the next procedure for more details.

  5. Your application is ready to be run.

Deploying Visual C++ library DLLs as private assemblies

  1. Create a folder structure on the development computer that matches the folder structure to be used on the target computer. For this example, create a \bin folder and copy myapplication.exe there. Then create a \bin\mylibrary folder and copy MyLibrary.dll there.

  2. On the development computer, from %PROGDIR%\Microsoft Visual Studio 8\VC\Redist\x86, copy Microsoft.VC80.CRT and Microsoft.VC80.CRT to \bin and to \bin\MyLibrary.

    Note

    Visual C++ Express does not create %PROGDIR%\Microsoft Visual Studio 8\VC\Redist\ during installation on the development computer. To redistribute Visual C++ libraries with applications built with Visual C++ Express, please use Visual C++ Redistributable Packages (VCRedist_*.exe). See section "Deploying Visual C++ library DLLs as shared assemblies" above for more information.

    Note

    For deploying 64-bit applications to 64-bit operating systems, use \vc\redist\amd64 or \vc\redist\ia64.

  3. Copy the \bin folder to the target computer. On a target computer with manifest-based binding support (Windows XP Home Edition, Windows XP Professional, Windows Server 2003), no further preparation is necessary. On a computer without such support (Windows 98, Windows 98 Second Edition, Windows Millennium Edition, Windows 2000), Microsoft.VC80.CRT and Microsoft.VC80.MFC must be on the path.

    Note

    For debug applications, use debug DLLs from \vc\redist\debug_nonredist\. However, remote debugging may not work for an application that deploys debug versions of Visual C++ libraries as private assemblies. For more information, see Preparing a Test Machine To Run a Debug Executable.

    Note

    If you want to do remote debugging on the target machine, you must copy over the debug DLLs or follow the procedure to install debug DLLs in Preparing a Test Machine To Run a Debug Executable.

See Also

12/15/2006

发布《SoftDog》的源代码

发布《SoftDog》的源代码

什么是SoftDog请看这里
http://bbs.pspchina.net/viewthread.php?tid=146204&extra=page%3D1

源代码下载地址
http://www.witsun.net/Soft/SoftDog/MyPSP.rar

必要编译环境DevkitPro
(建议用VisualStudio2005的IDE.源代码里附带VS2005的工程文件VSMake.sln)
12/5/2006

Sony PSP版的SoftDog发布!

<SoftDog 0.1版>
用途:
把PSP上的一些不想被别人看到的文件隐藏起来,如一些私人的视频或照片.
 
 
安装方法:
装SoftDog.rar解压出来,然后拷贝到"X:\PSP\GAME\"下(X为PSP的盘符)
目前只在PSP1.5上通过
 
载图:
11/7/2006

今天把绘制汉字功能加了到了PSP中

有一个多月没去碰PSP程序了,
今天把绘制汉字功能加了进来.
跟之前直接在屏幕上打点不同的是这次直接画到贴图上,然后再由贴图渲染到屏幕上.
10/11/2006

你的IBM笔记本是索尼公司锂离子电池吗?

这些电池出问题会自燃了,要招回了~
解决方案:
经我们及客户的多方确认,无论哪个地区购买的THINKPAD笔记本电脑均可在中国大陆地区免费更换电池

方法1.确认您的电池属于召回范围之后,可致电召回专线800-810-3315转3,或拨打010—58859595进行更换事宜的咨询。
 
方法2.访问以下的页面,按提示进行操作
 
 
我的是不需要了.哈哈哈
电池条形码: XXXXXXXXXXX
您的电池不受此次召回行动的影响。
9/28/2006

好些阵子没更新PSP了的信息了

前些天笔记本屏幕出问题,然后把它卖了又买了台新的.
然后又遇到这几天游戏内测,每天那么晚回来都没空去搞了.
去洗澡睡觉了~
BTW:小王!!!你们搞得太大声了~~汗...
9/26/2006

别人那抄来的

自从我变成了狗屎,就再也没有人踩在我头上了 . 

 一大学生 最低奋斗目标:农妇,山泉,有点田. 

走自己的路,让别人打车去吧. 

水至清则无鱼 ,人至贱则无敌!

聪明的女人对付男人,而笨女人对付女人.

我不是随便的人。我随便起来不是人 .
 
骑白马的不一定是王子,他可能是唐僧;带翅膀的也不一定是天使,妈妈说,那是鸟 人。 
9/13/2006

血泪的教训呀!

血泪的教训呀!!!!不管你要不要在屏幕上显示调试信息一定要调用pspDebugScreenInit()!!!!
鬼知道它里面做了什么东西别的其它跟调试信息没关的事.
妈的,我还以哪里出问题了,除零了?非法指针调用了?内存越界了?
运行这句"CTexture* p = new CTexture;"(构造函数里没做什么事)的时候PSP会当机没反应,然后过一会儿自动关机.
(不是每次,是当第N次的时候,要创建某特定图时)
TNND的pspDebugScreenInit()被调用了就不会了~
9/8/2006

终于在出现我想要的效果了:)

呵呵,完全是硬件加速的呀!可不是打点的^^
9/5/2006

昨天的死机BUG找到

原来我在代码里加了pspDebugInstallErrorHandler,我的目地没达到反而起到相反的效果~运行就出现死机的现像。
这个先不管,把代码屏蔽,以后再说。
这回虽是没死机,但也没有出现我想要的效果(屏幕被填充为红色的)一直是黑呼呼的。
把自己代码跟例子的一行一行对比(唯一的区别是它用C的,而我的被我改成C++的对像模式)。
该初始化的初始化,该设置的设置可是没没效果。
看时间又是一点多了,本想打算放弃明天再找。
就试着最后再看一个下,看了一下SDK的sceGuDrawArray定义,发现好像有什么不对,一看,果然是写错了。
我把宏GU_COLOR_8888(Vertex Declaration)写成GU_PSM_8888(Pixel Formats)了:(
嘿~心情好多了,洗澡去了,晚安
9/4/2006

哪里出BUG了

代码都快被我给屏蔽光了,可是程序编译完放到PSP上就是黑屏,系统按键也没反应~非得关机重启~
我要晕死了~不知道哪出问题了,昨晚调到2点多还是没找到.
看来今天要把代码全屏蔽掉再一些一些的开启看看了
8/29/2006

原来PSP除了画点外还有更好的选择

前几天差不多完成我那所谓的PSP框架,图片能上,中英文字能上,就剩声音了.
几天前同事问我PSP上图的问题,
我说,它除了给你提供显存地址外其它的都得自己来,什么画点啦画线啦,更不用说画图了~(感觉是回到DOS时代的游戏方式)
他问我难道PSP没有提供硬件支持的给图吗?
我一想是呀,应该是要用到GPU吧?光用CPU去算点那GPU是不是太闲了?
结果网上资料再一找,果然有~竟然在SKD目录下的GU~
只怪前些天太冲动,一看到显存地址就自以为就是这样了.
今天打开GU里的blit例子看了一下,跟D3D的差不多(我想3D的东东用法是差不多吧?)
初始化像机,坐标系,贴图属性,渲染方式,顶点格式,再提交给设备渲染就OK了~
自从2002写了自己的第一个D3D程序到现在都这么多年了
(后来是因为卡在不知道怎么从3DMAX导出自己想要的格式,导出的微软的.X模型到程序中看不到贴图,后来就放弃没再研究了)
太久了,对这方面没兴趣了~因为太多人做了,网上PC上的3D的什么东东太多太多了,我还去弄什么~
为了PSP不得不再硬着头皮上了,现在连最简单的什么点,线,什么uv,什么三角形条状,扇状方式最要忘光了.
看了一个例子还是蛮简单的,画个自己的图上去应该是没问题吧,打算放弃落后的打点模式,这样就不用考虑怎么去把图放大缩小,旋转等等了~
这些交给GUP就OK了:)
8/25/2006

终于可以在PSP画点了!!!

这几天忙里偷闲终于差不多搭建完PSP的框架了,
框架跟DirectX的结构差不多.
刚才终于把RGB三个小点画出来了,哈哈哈,不容易呀~
昨晚调到将近3点了~可是眼睛盯着屏幕左看右看就是看不到小点点.
今晚又仔细找了一晚才发现问题是pspDebugScreenInit()没有调用.还以为是框架哪里有逻辑错误,电脑上没有PSP的模拟器调试真不方便,不能断点或单步运行:(
从网上别人的文章里看:
pspDebugScreenInit(); // do this so that we can use pspDebugScreenPrintf
这个函数的作用是只有当要打印调试信息时才有必要加.而且从字面上看这函数的意义也确实如此,
所以我就把它放到了我CErrorLog类里的初始化函数里.(没有要打印的错误信息是不会被调用的)
就是因为没在显示设备类初始化它,所以才导致在屏幕上画点没反映~
很奇怪这个函数的真正用途,不初始化它在屏幕上画点就没反应...
8/9/2006

在PSP上运行自己开发的程序

上星期去买了个PSP,
突然对在上面开发程序很感兴趣。
经过这两天网上的资料搜索终于有个大概的了解,
并且成功的配制了可在VS2005下工作的环境。
据我所知现在有Cygwin,DevkitPro,CodeWarrior,SONY官方SDK..好多..但,
SONY官方SDK:要SONY受权,好像是要两万美金
CodeWarrior:从某个公司流传出来的,但目前网上还没有在上面应用的案例(不知这是不是SONY官方的SDK)
剩下的也就只有Cygwin和DevkitPro了。
感觉在下载、安装与配制方面Cygwin比DevkitPro来得麻烦复杂多了,所以我选择了DevkitPro.
发现这些开发工具全部都是TMD的命令行形式的!
对我这样用惯视窗系统用惯IDE开发环境的人来说命令行编译太不习惯了。
打开VC尝试了一下,OK了
但编译器还是用DevkitPro的MSys,只是IDE用VS2005的,因为有Visual Assist呀!方便呀。
具体配制方法。
1,正确安装DevkitPro
2,系统变量PATH里多加“X:\devkitPro\devkitPSP\bin”
3,打开VS2005.net
4,新建“生成文件项目”的项目
5,“生成命令行”里填“make kxploit”
6,“清除命令”里填“make clean”
7,点“完成”后再把所需的Makefile与*.C;*.CPP;*.h等文件拷到项目目录下
8,按F7,OK!
9,为了Visual Assist能自动找到PSPAPI函数定义你还要把“X:\devkitPro\devkitPSP\psp\sdk\include”加到VS的项目目录里
 
------ 已启动生成: 项目: MakeTest, 配置: Debug Win32 ------
正在执行生成文件项目操作
psp-g++ -I. -I/e/devkitPro/devkitPSP/psp/sdk/include -O2 -G0 -Wall -I. -I/e/devkitPro/devkitPSP/psp/sdk/include -O2 -G0 -Wall -fno-exceptions -fno-rtti   -c -o main.o main.cpp
psp-gcc -I. -I/e/devkitPro/devkitPSP/psp/sdk/include -O2 -G0 -Wall  -L. -L/e/devkitPro/devkitPSP/psp/sdk/lib   main.o -lpspwlan -lpspdebug -lpspdisplay -lpspge -lpspctrl -lpspsdk -lc -lpspnet -lpspnet_inet -lpspnet_apctl -lpspnet_resolver -lpsputility -lpspuser -lpspkernel -o wlansample.elf
psp-fixup-imports wlansample.elf
mksfo 'wlansample' PARAM.SFO
mkdir -p "wlansample"
psp-strip wlansample.elf -o wlansample/EBOOT.PBP
mkdir -p "wlansample%"
pack-pbp "wlansample%/EBOOT.PBP" PARAM.SFO NULL  \
 NULL NULL NULL  \
 NULL NULL NULL
生成日志保存在“file://e:\temp\MakeTest\MakeTest\Debug\BuildLog.htm”
MakeTest - 0 个错误,0 个警告
========== 生成: 1 已成功, 0 已失败, 0 最新, 0 已跳过 ==========
 
6/11/2006

关于VS2005不停的"Update IntelliSense"与feacp.dll问题

VS2005会在你代码改变的时候会去更新IntelliSense.(智能感知,代码提示,关联之类)
如工程过大就会出现更新很慢,CPU占用100%.每次改了头文件,按Ctrl+S它就会更新.
然后VS就会很卡.
这已是一个已知的VS的BUG
网上给出一个解决方案是把"X:\Program Files\Microsoft Visual Studio 8\VC\vcpackages\feacp.dll"删了.
本以为已经装了VA就不用它自带的智能感知了.
 
可今天写程序时出了问题.
 
新加了一个MFC对话框工程,
发现对话框资源与对话框类不能绑定在一起.即你在对话框上要处理控件的事件之类的,VS会提示你要为对话框添加类(但此类已存在).如果你又再加类也加不了!
 
本以为是笔记本上的VS出了问题,可以想了一下,这种问应该跟智能感知,绑定有关系.
把feacp.dll恢复
一切正常.
 
使用了几个月没有feacp.dll的VS今天才发现有这种问题.
不知道以前往工程里新加类加不了是不是这个问题.
3/10/2006

<真大头贴>软件升级至1.5版本