wiki:Development

Version 4 (modified by Henrik Heimbuerger, 9 years ago) (diff)

change information about SVN repository to the current git repo

Internals

This page is a primer on the development process around CortUI and should provide you with your first steps if you want to contribute.

If you're interested in studying how CortUI works, you should also have a look at Internals.

How to contribute

screenshot_LobbySmall.png

You're very welcome to improve the documentation of CortUI by editing this wiki, even if it's just correcting a typo or spelling mistake.

Registration of new accounts on this site is currently disabled, so please contact Cort on Discord to set up a new user account.

If you find a bug in CortUI or any HUD, you may open a new ticket on this page. Please make sure to search for it first, to avoid creating duplicate tickets. Your bug report should always contain the essential Three Things, as for example outlined in Joel Spolsky's excellent article Painless Bug Tracking:

  1. Steps to reproduce,
  2. What you expected to see, and
  3. What you saw instead.

You may (and should) also create a new ticket to suggest a feature you would like to see added. Additionally, do not hesitate to open a ticket for requesting improved documentation on anything!

When creating new tickets, please leave all fields empty that you don't understand or are not sure what to select. I will add them in later. In particular, leave the component on [untriaged] and the milestone empty if you're not absolutely sure where it belongs. That way, the ticket query function can be used properly.

Note that the list of tickets is everything that is being worked on. Please do not PM me to report a bug. These tickets are exactly what I have on my list. If it is not here, I do not know about it. Whatever is marked as accepted is currently in the process of being implemented.

Code repository

CortUI is developed on a git repository on GitHub: https://github.com/hheimbuerger/cortui/. The same repository is also reflected in the code browser (Browse Source) of this Trac.

If you want to suggest a change, please fork and open a pull request.

Watch the timeline to see what others are changing.

Building the installer

Building the installer is fairly easy:

  1. Install the latest version of the Nullsoft Scriptable Installation System.
  2. Copy the FindProcDLL.dll from your CortUI working copy to the 'Plugins' subdirectory of your NSIS installation.
  3. Right-click the CortUI.nsi file in your working copy and select "Compile NSIS Script".

This should build a file named CortUI-<version>-dev-<date>-<time>.exe in your working copy. To generate other version numbers, the installation script has a few switches than you can set in the MakeNSISW tool that is building the installer (Tools -> Settings):

  • A symbol of BUILD_ID set to the latest revision number you updated to will build a file called CortUI-<version>-dev-r<revision>.exe. This is useful for beta releases. Knowing which revision they were built from makes it easier to track down bugs.
  • A symbol of RELEASE set to any value will build the final CortUI-<version>.exe. This may only be used for final releases.

The in-game version number is automatically set to this version as well.

Building the Modulus package

To build the Modulus package, run the BuildModulusPackage.cmd in the root of your working copy with the version number as the argument.

The version number is currently only used for the package filename. The Definition.xml file for Modulus needs to be modified manually.