《侠盗飞车4》完整汉化版1月份发布?!(为什么还没看到影子?太平洋网骗人的?)
3DM日前放出了最新的《侠盗飞车4》汉化版截图了,在技术上,目前正在做最后的稳定性处理和测试。相信很快可以全部完成。
不过确定的是,翻译上目前初翻已经全部完毕。在1月份中文版游戏会与大家见面,很有可能作为春节献礼。英语不好的玩家这下有福了!






一些技术上的东西
在这里给大家一些信息。。当然,无视技术细节的人可以飘过。。。
第一:补丁使用的是外挂式的方式,为何不使用运行更快的内核式方法?
答案:现在的各个版本的GTA4都不是Clean rip,而是采用补丁的方法破解,这使得静态分析不太可能。如果以后有了Clean rip,可以采用内核式方法。
第二:为何GTA4 PC版要求高得离谱?
答案:GTA4 PC版根本没有经过任何优化,纯粹就是糊弄人的移植。不相信?
看看这段代码:
SetRenderState(p,a,b)
RenderState22 1
SetVertexShader(p,a)
SetVertexShaderConstantF(p,a,b,c)
SetPixelShader(p,a)
SetTexture(p,a,b)
SetSamplerState(p,a,b,c)
SetSamplerState(p,a,b,c)
SetSamplerState(p,a,b,c)
SetSamplerState(p,a,b,c)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,D
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,a
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,v
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,e
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,i
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,s
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,n
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,o
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,t
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,c
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,o
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,m
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,i
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,n
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,g
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,.
这么多次调用,就是干了一件事:显示了一个“Dave is not coming.”
稍微懂行的人,就会知道,实际上这件事只用这么几行就行了:
SetRenderState(p,a,b)
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
不过还不算完,上面的代码竟然在一桢中重复了足足五次!也就是,平白无故的多了15*5*8=600次Directx调用。随便再NB的机器也跑不动。这还仅仅是显示几个字符,游戏程序其他地方的优化大家可以想象了. |