Yes you can play a well optimised modern commercial game. A hacked old game will probably perform very badly, especially seeing how the game was not designed around it.Yes. Absolutely! I can play Far Cry 3 on maximum settings yet I can't play a graphically enhanced Warcraft 3 mod. Sounds logical.
not to speak WC3 works on single core and can't do parallel calculations. it will have greatly less speed than modern games which actually support multicore systems.
but even on single core it's speed amazingly high, if you ever know about jass. nowaday games hardly optimizied and can lag even on NASA computers, regardless core amount.
Now I understand what's wrong with the lighting and why don't work the standard shaders, the answer here. So you will get similar problems with lighting:
But this problem can be avoided by importing .3ds/.fbx /.x mesh instead of using the standard .mdx models.
Based on the first conclusion, I redid the ParallaxOcclusionMapping effect. Now POM works fine, but only on flat objects.
Also, you can download the new version and see everything by yourself.
- Strong freezes caused by the transfer of data from the original to the new vertex buffer in real time.
Lags appear only when the frame is a lot of primitives.in real time
Scene complexity and number of actors. Although modern RTS games can give you good quality graphics they cannot give the same scope that an RPG/FPS engine would because they have to function very differently. Where as RPG/FPS engines can reduce scene complexity to within the scopes of what your character is doing, RTS games cannot and need to be managing all state context all the time.and why's that
Google results are different for everyone and vary depending on region so that is not really helpful.Googling for pseudocodes and game.dll might lead to a site that leads to another site that leads to a file that may or may not be interesting...
Google results are different for everyone and vary depending on region so that is not really helpful.
So people know, WC3 uses the fixed pipelines to render which limits the maximum quality/performance one could achieve.
So how would that work in the end? We replace the game.dll with a modified version and get all the goodness or is it *way* more complicated than that?
Because I have to say this looks amazing!
native int GetMouseX(); native int GetMouseY(); native float GetMouseTerrainX(); native float GetMouseTerrainY(); native float GetMouseTerrainZ(); native bool IsMouseOverUI(); native int GetWheelDelta(); native void SetMousePos(int x, int y); native void TriggerRegisterMouseWheelEvent(trigger trig); native void TriggerRegisterMouseMoveEvent(trigger trig); native void TriggerRegisterMouseEvent(trigger trig, int iButton, int state); native int GetTriggerKey(); native bool IsKeyDown(int iKey); native void TriggerRegisterKeyEvent(trigger trig, int iKey, int state); native float FPS(); native float DeltaTime(); native int GetWindowWidth(); native int GetWindowHeight(); native void TriggerRegisterWindowResizeEvent(trigger trig); native int COLOR_ARGB(int a, int r, int g, int b); //native void ShowCursor(bool isShow); //native void EnableDebug(bool b); native void CtrlCreateInstance(int id, int left, int top, int width, int height); native void CtrlSetText(int id, bool autoResize, string text, int argb); native void CtrlSetColor(int id, int argb); native void CtrlSetTexture(int instID, string filename); native void CtrlSetRect(int id, int left, int right, int top, int bottom); native void CtrlSetPosition(int id, int x, int y); native void CtrlSetCallback(int id, trigger trig, int iButton, int state); //native void CtrlDelete(int id); native void CtrlShow(int id, bool isShow); native void CtrlSetInteractive(int id, bool isInteractive); native int CtrlGetSelectID();
No, it's not ZUKMAN's hack, it's my own solution. ZUKMAN changes the aspect ratio of the projection matrix while maintaining original proportions of the playing area, while I stretch it under the game interface.black bars were removed by rendering the game screen using ZUKMAN's hack that the author modified in his library.
No, you're wrong. Performance does not be affected. This is only possible due to the fact that I have not yet found a way to use normal maps, besides transferring the data from the original vertex buffer into a new in real time, but I will fix it.it will have a huge performance drop on older computers.
No, now it is not so, I can easily change the order of rendering and draw new GUI elements under the old interface. I did so, that the GUI rendering occurred before drawing the cursor and game menu, so the new GUI elements became almost integral with the originals. Standard interface can also be changed, for example, you can move or resize the minimap.New interface is drawn on top of the old one, since old one can't be removed (or edited)
I use Visual Studio 2015. And I no longer use Nirvana. I rewrote the mod from scratch using ReShade d3d8to9 converter as a basis.Also, what Visual Studio version does your mod/the version of Nirvana you're using use? I get VCRUNTIME140D.dll and ucrtbased.dll missing. (I don't have the 4.0 that Nirvana requires. It'd be a pain to downgrade.)
This already goes beyond my expectations ...No, now it is not so, I can easily change the order of rendering and draw new GUI elements under the old interface. I did so, that the GUI rendering occurred before drawing the cursor and game menu, so the new GUI elements became almost integral with the originals. Standard interface can also be changed, for example, you can move or resize the minimap.
If you mean the custom interface, then yes. The standard interface can be hidden, and then it can be recreated using custom functions, after that it is possible to dynamically change it during the game.is it possible to change the position of the UI within of the game and change your skin on time real?
-- # begin RenderEdge # haveRenderEdge = grim.exists(path.."\\RenderEdge.exe") and grim.exists(path.."\\RenderEdge.dll") if haveRenderEdge then RenderEdgeMenu = wehack.addmenu("RenderEdge") RenderEdgeEnabled = TogMenuEntry:New(RenderEdgeMenu,"Run with RenderEdge",nil,true) end -- # end RenderEdge #
if haveRenderEdge and RenderEdgeEnabled.checked then local pos = string.find(cmdline, ".exe") cmdline = string.sub(cmdline, 5 + pos) cmdline = path .. "\\RenderEdge.exe " .. cmdline end
Great, this I commented as they could do something like this, playing only with the user interface:If you mean the custom interface, then yes. The standard interface can be hidden, and then it can be recreated using custom functions, after that it is possible to dynamically change it during the game.
No it doesn't require SharpCraft, "I completely abandoned SharpCraft, since implemented most of its functionality at my library". But maybe it still compatible with SharpCraft.