Jump to content

duki

Donor
  • Posts

    27
  • Joined

  • Last visited

Reputation

41 Excellent

7 Followers

Recent Profile Visitors

605 profile views
  1. Thanks! Even though its far from being perfect, it still lacks some map effects (falling flowers, maze orbs, or even some covers/scenes from common maps), but I think its a good starting point to build something new on top. In the C++ version im still playing around with optimizations and stuff like this: cppmap.mp4
  2. Map viewer built around my export format (JSON + JPEG atlases + sprite strips). Three.js, no server needed, just open index.html. The C++ version will be posted in the next few days separately, both projects have enough features on their own to keep each post short and they can be used independently. Some ideas for usage: overlay Mobs/NPC/guard positions on the map, player backtrack/movement history, heatmaps for player activity zones, or just browsing maps without the client. I hope someone find this useful & get creative with it. References: wiki/Dmap, wiki/DmapLayerType & EO-Map implementation. Preview: webmappreview.mp4 There are few maps that you can try in the live demo, depending on the map, it will take longer to load. tc: 33MB, desert: 15MB, desert10: 5MB, island: 11MB Live demo: web-map-viewer-demo. Repository: web-map-viewer
  3. Based on surface values, refs: [og] [cpp] [web]. This was simply to improve the visual appearance, rather than relying on the usual green and red accent colors.
  4. Enjoy. References: wiki/Dmap & spirited/floor (so basically shoutout to: @Spirited ) Preview: floorEditorOld.mp4 Live demo: web-demo Repository: cpp-version (win32 + imgui/dx11 and basic optimizations) & web-version (three.js).
  5. Yeah... but would be cooler doing the entire client from ""scratch"" based on wiki's & old leaked bases... Few years ago i hooked their dx10/dx10.1, it was funny to play around w/ those clients, loved the fact they used Themida® to prevent RE easily. As far i know, there is a new dx11 client from other groups that is based on the EO-leak.
  6. Updated & moved code to repo (link) Cleaner & detailed info + added both dx8/dx9 addresses (ref)
  7. Updated & moved code to repo (link). The code is ready is ready to compile, the only thing you'll need to do is adding external libraries & including it to your own project which would take you less than 1 minute to do so.
  8. Using crosire's d3d8to9 you can render imgui re-using the same base. Actually this uses d3d9 to render imgui, re-using d3d8to9 existing functions. The source only includes modified functions + imgui handler instead of the entire base to make it more simple. Btw you could simply use the og d3d8to9 base & render imgui with other module (or use my other post example) Tested on 5517/6609 clients & latest's dx8 game version. Source
  9. dumb ideas are my passion imguirenderStatic.mp4 imguirenderv2.mp4 imguirender.mp4
  10. Based on my previous post ( D3D9-BASE )... Here's just a quick setup to include IMGUI into Conquer, using og device & handles. This include might not be the best way to do it, and it could be improved a lot (as the title says, it's a quick setup). If you have any ideas or suggestions to improve it, I’ll happily update the post! I tested on newer versions of the game and it still working (also tested on 6609). Code: Link Preview: imgui.mp4
  11. getting d3d9 base ( D3D9-base ) and hooking endscene + reset imgui.mp4
  12. Yeah, that would be cool thing to do without fully getting into reverse-engineering the game, and it could even be almost "universal" across all DX9 versions of the game. I tested a few things with this hook, like rotating them or making them bigger by multiplying their matrix. goofy ah pheasant rotating with wrong axis xD:
  13. Following my previous D3D9-Base setup, here's an example using it for a simple DIP (DrawIndexedPrimitive) hook. Wireframe example code targeting pheasants: typedef HRESULT(WINAPI* tDrawIndexedPrimitive)(LPDIRECT3DDEVICE9, D3DPRIMITIVETYPE, INT, UINT, UINT, UINT, UINT); tDrawIndexedPrimitive oDrawIndexedPrimitive = nullptr; HRESULT APIENTRY hkDrawIndexedPrimitive(LPDIRECT3DDEVICE9 device, D3DPRIMITIVETYPE dType, INT baseVertexIndex, UINT minVertexIndex, UINT numVertices, UINT startIndex, UINT primCount) { //targeting pheasants models (mainly 6609 clients) if (numVertices == 420 && primCount == 544) { DWORD dwOldFillMode; device->GetRenderState(D3DRS_FILLMODE, &dwOldFillMode); device->SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME); //here you could return directly, to make it more noticeable oDrawIndexedPrimitive(device, dType, baseVertexIndex, minVertexIndex, numVertices, startIndex, primCount); device->SetRenderState(D3DRS_FILLMODE, dwOldFillMode); } return oDrawIndexedPrimitive(device, dType, baseVertexIndex, minVertexIndex, numVertices, startIndex, primCount); } This example code has only wireframe "effect" for the texture targeted (pheasants), but you can change the colors of the texture too (know as Chams), gather realtime w2s positions, adding effects/shaders, etc. Some preview of how it could work (chams & w2s from texture):
×
×
  • Create New...