暗黑2重制版,超级存档

超级存档,让大家节约时间,手快点的话,大概两个多小时就能速度三个难度(自己不用打,一直瞬移就行)。存档内容:

  1. 一级全新法师
  2. 两个变态帽子,自己用udietoo做的,基本加上了所有正面属性。一级就能用。一个自己用,一个给弓箭手佣兵用。
  3. 佣兵就能秒杀一切,用于速通地狱

存档下载地址:点我下载

使用方法:

  1. 下载本存档
  2. 把所下载的文件复制到以下位置:
    C:\Users\你的用户名\Saved Games\Diablo II Resurrected
  3. 运行暗黑2重制版,选择离线游戏,选择fashi,即可进行游戏。

blender制作tile:叠加所有tile

谷歌半天也没找到正确的方法,如果挨个移动缩放,几百个tile,工作量很大。以下操作步骤是自己在多次尝试后,得到的方法,记录下来,以免忘记。

  1. 把所有正方形的边,标记为缝合边
  2. 选中所有面,展开uv
  3. 点击uv菜单,选择“重置”

这样所有正方形,都重叠到一起,并铺满uv。然后进行适当的缩放,放置到合适的贴图位置即可。

Note:重叠后的正方形的朝向是一致的,保证了所有tile的铺设方向一、连贯。
效果:

UDP 打洞

NAT Punchthrough overview
What is NAT?

NAT is short for network address translation. It is used by routers to map addresses behind the router to a single destination address, using different ports. For example, if you have two computers behind a router, but only one ISP, then both computers will use the same IP address, but with different source ports than what the application actually assigned. The router keeps a lookup table of what mappings it provides, so when a remote computer replies it is routed to the correct local computer behind the NAT.
继续阅读“UDP 打洞”

c# PINVOKE传递bool类型的注意事项

自己c++代码传递的明明是false,到了c#却变成了true。虽然明知错误发生在参数传递的过程中,却是很难找到原因。

c语言中的bool类型是整数(4个字节),c++中是一个字节,pinvoke 中 bool 默认是4个字节。所以c++代码调用c#函数时,传递bool类型就会出现错误。

方法也很简单,在c++中声明函数时,用int来代替bool。c#代码不用修改,代码就能正常运行了。