Git Product home page Git Product logo

cncnet-for-ares's Introduction

CnCNet for Ares

Provides an ability for Yuri's Revenge with Ares to use CnCNet5 to play online. This project should be used in conjunction with the XNA CnCNet Client and Ares.

Usage

  • Place cncnet5.dll in you mod folder with the XNA CnCNet Client and Ares files.
  • Optionally place rename.dll in the mod directory.
  • Syringe (included with Ares) will automatically detect and include cncnet5.dll.
  • Configure xna-cncnet-client to execute Syringe.exe rather than gamemd.exe.

Building

  • Download or clone cncnet-for-ares repository.
  • Edit src/rename.c, change the strings for the Gane name and file locations. Do not exceed the size of the existing strings in the game.
  • Download win-builds and install it by double clicking win-install.bat.
  • In the cncnet-for-ares run build.cmd by double clicking on it. Read the output window any errors you may have introduced.
  • You should now have rename.dll. Now you can rename it to something appropriate for your mod (the name will not stop it from being loaded by Syringe).

Caveats

  • Source code for cncnet5.dll is not public, only the cncnet5.dll file is provided here.
  • You do not need to use the command line -SPAWN argument.
  • You may need to edit build.cmd if win-builds did not get installed into C:\win-builds-patch-32\.

cncnet-for-ares's People

Contributors

belonit avatar dkeetonx avatar metadorius avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

cncnet-for-ares's Issues

dynamic link library relocation issue

image
This is the screenshot of what syringe logs out . I modified syringe a bit so i can have more details come out .
As i am only encountered with such issue once, but once for all retrials until i restart my operating system, i found it quite serious in my perspective .

As far as i know, cncnet5.dll uses a STATIC address and assumes it never changes when calculating and apply the patch hooks, so once such address is somehow taken by another module, all its patching will fail, and the game can never start again until the wanted address is freed.
I have been working on expansion of YR Ares for years, and i am familiar with the syringe logic, which can prevent such problems, while cncnet5 is using opcode E8 with relative address based on the STATIC address just mentioned .
I hope such problem can be solved by any kind of method, i can also offer my help if needed, thanks !

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.