Mini Integrated Nightly

From OpenTTD
Jump to: navigation, search


Content.png

Historic content
This page or section contains content that is no longer relevant for the current version of OpenTTD. Please keep it intact because it shows some of the history of this wiki as documentation.


The Mini Integrated Nightly was a special build of OpenTTD, which incorporates patches which have yet to be approved for the main code. It was maintained by richk67. "Its like OTTD's smarter younger brother; a bit dirty and smelly at times, but tons of energy, and lots of ideas - some more realistic than others."[1] --richk67

Contents

Description (non-technical)

While there are a core set of programmers who work on the major improvements and administer the project, anybody is allowed to code their own improvement for OpenTTD. However, until that improvement gets approval from the core administers, it will not be integrated into the main game. Until that time, the improvement generally sits in the development forum in the form of a source code setting.

Anybody with a compiler can take a patch or any number of patches and create their own version. But not all OpenTTD users know how to compile code. The other problem of course is that patches often conflict with each other.

The answer: The Mini Integrated Nightly (or MiniIN for short)

The requirements are much less strict for a patch to be included into the MiniIN, so quite a few patches are included as quickly as possible. Small neat patches are more likely to be applied quickly - it has been known for a patch to be added within hours of its first posting on the forums.

The term "nightly" refers to the Nightly Builds, which contain the latest changes made by the core programmers. "Integrated" refers to all the patches being integrated into the nightly build. "Mini" refers to the fact that this is the second generation of Integrated Nightly's, and there are a few requirements before a patch will be included.

Downloading the Mini Integrated Nightly

The executable files are automatically compiled, and this is what is known as a nightly. Despite its name, the nightly builds for the MiniIN are only built every Sunday, Tuesday and Thursday (23:00 CET, 22:00 UTC). If there aren't any changes in between those three days, you just have to wait.

The latest MiniIN nightly build can be downloaded at:

http://nightly.openttd.org/MiniIN/files/

Be sure to download the version for your Operating System.

Common problems

Using PBS

To use PBS you need to turn on New Global Pathfinder (NPF) and turn off YAPF. Note that NPF is not as efficient as YAPF and that performance might be adversely affected.

Planeset not introducing planes correctly

This is a common type of error if you install the planeset GRF and try to use it on an existing savegame. This error may affect all types of new vehicle sets. It will not occur if you start a new game after loading a vehicle set.

To fix the problem, press ~ (Tilde, next to 1 on the keyboard.), and type resetengines.

Configuration File Error

MiniIN Config File Error.gif

This is a very common type of error to see when you first install the MiniIN. A lot has changed in the MiniIN, and your old configuration files basically are no longer valid. It's not a big issue, as the game will still run even with an invalid configuration file. However, you probably want to fix it, you have two options:

1. Delete openttd.cfg from the OpenTTD home directory. You'll lose your default settings. It's worth it though!

2. Open the openttd.cfg and delete all what you get after the = of the display_opt entry (you should have then "display_opt = "). This option is the preferred, as you only need to reset the display options when in game, like Show Town Names or Full Detail

Patches Included

A few lists of patches included in or up for review for the Mini Integrated Nightly as of r5311(?). See the forum for a possible more up to date list.

If you download the source code, this list can be found in /patches/MiniINpatches.txt.

Currently in MiniIN or main trunk:
Patch Name MiniIN Status Update Available Description
YAPF in trunk Yet another pathfinder is a powerful and flexible, yet optimized, pathfinder for vehicles.
New Stations in trunk New Stations enables the use of .GRF station sets.
Sort Stations in trunk Sort stations enables you to sort (by cargo waiting/cargo value/station type/name) and filter stations (by vehicle type/cargo type) in the station list.
Planeset v1.5 in trunk Planeset v1.5 enables the use of Planeset v1.5 in OpenTTD.
NewGRF Aircraft Callback15 in trunk NewGRF Aircraft Callback15 enables you to refit cargo capacities in aircraft and is intended to be used with the Planeset.
Italian Town Names in trunk This adds a new Italian town names generator.
6 New Airports 4 in trunk, 2 in MiniIN This adds the following airports to the game: Commuter airport (Supports only "small" aircraft), Metropolitan airport, International airport, Intercontinental airport, Helistation and Helidepot.
PNGmap in trunk PNGmap allows the import of heightmaps.
Past 2090 in trunk Past 2090 allows playing past 2090.
NewGRF Cargo Subtype Callback 19 in trunk NewGRF Cargo Subtype Callback 19 adds the ability to use alternative liveries, such as those used in the Planeset.
Old Path Based Signaling (PBS) in MiniIN PBS allows multiple trains in the same signal block.
TerraGenesis Perlin in trunk TerraGenesis Perlin adds a new terrain generator.
More Trees (now part of TerraGenesis) in MiniIN
Snow in Temperate in MiniIN Snow in Temperate adds snow in the temperate climate above the snow line, as configured for the sub-arctic climate. Although it cannot be disabled, you can increase the snow height to the maximum, limiting snow to only the highest peaks. The snow line height cannot be changed once the terrain has been generated.
Smooth economy 5147 in MiniIN In Smooth economy 5147 industries respond to the demand put on them by the transport network. It also smoothes increases and decreases in production.
More Diesel Smoke patch v2.0b in MiniIN More Diesel Smoke patch v2.0b increases the amount of smoke diesel trains produce.
Realistic Acceleration v2.0 in MiniIN Realistic Acceleration v2.0 will make the acceleration of trains more realistic. Trains will go slower around sharp corners, and faster (up to full speed) around less sharp turns. Trains will not slow down so much for a short (1 square) slope.
Signal Auto-complete in MiniIN Yes With Signal Auto-complete signals can be automatically be build until the first junction.
Signal Gui in MiniIN Signal Gui adds a graphical interface to select the signal you want to build.
Waypoint stats in MiniIN Using Waypoint stats waypoints will keep track of the amount of trains to pass in the current and prior month, and year, as well as the standing record.
Subsidiaries patch in MiniIN The Subsidiaries patch allows the company to create subsidiaries. This is useful to build station in or near local authorities that will not ordinarily allow you to build in them.
Upgrade Bridges in situ in trunk Upgrade Bridges in situ allows you to replace a bridge by simply dragging a new bridge over it. This is useful to replace wooden bridges built by cities.
Advanced Town Handling in MiniIN Advanced Town Handling makes it more expensive to build near and in cities.
Town growth patch in MiniIN Town growth patch will make the town road building algorithm more effective and eliminate small blocks.
Dither Desert/Rocks in MiniIN Dither Desert/Rocks allows drag/drop of a random pattern of desert and rock tiles.
Additional Orders in MiniIN Additional Orders adds the following orders: Load/unload/transfer exactly x%, Priority load.
Toolbar fix in MiniIN Toolbar fix Fixes the position of popup toolbars so they do not overlap with main build toolbar.
Purchase Window Refit Info in trunk Purchase Window Refit Info adds information about the cargos a vehicle can be refitted to in the purchase list.
Build Templates (Copy & Paste) in MiniIN Yes Build Templates (Copy & Paste) allows you to copy and paste, as well as save and import track/road layouts.
Loading Indicators in Trunk With Loading Indicators vehicles will show the percentage cargo they have been loaded with in the status bar.
More Selective Transparency in trunk With More Selective Transparency you can select the objects that will be transparent. See fix for bug above.
Send All *Vehicles* to Depot in trunk Send All *Vehicles* to Depot allows you to globally order all vehicles (of a type) to the nearest depot. This is useful to replace trains with autoreplace.
Adjustable Day Length in MiniIN Adjustable Day Length allows you to adjust the length of a day.
Freight Trains Weight Multiplier in MiniIN Freight Trains Weight Multiplier This allows you to multiply the weight of freight trains by a multiplier to simulate very heavy trains.
Advanced Auto Replace in MiniIN Advanced Auto Replace allows you to (auto) replace trains with trains of a different type. (e.g. normal rail trains to monorail trains.) Trains of a different type will stay in the depot until the depot is updated.
Screen Size Limit Increase in MiniIN Screen Size Limit Increase increases the maximum resolution of the game in a windowed game.
Electricity Production (by coal plants) in MiniIN Coal power plants will report the amount of coal delivered to them.
Drive Through Road Stops in MiniIN This allows the construction of Drive Through Road Stops for bus and lorry stations.
Physics In MiniIN
Breaking News In MiniIN Breaking News will move news about disasters to the top of the newspaper queue.
Found a Bank town option In MiniIN Found a Bank town option will add an option to the town option list to found a bank.
Origveh In MiniIN Origveh will replace statistics of certain trains with those in the original Transport Tycoon.
No Town Bridges within 2 tiles In MiniIN No Town Bridges within 2 tiles will stop towns from building bridges within two tiles form one another.
Diagonal Level Crossings In MiniIN Diagonal Level Crossings allows tracks to be built diagonally over roads.
Drag Buying Land In MiniIN Drag Buying Land allows you to buy land by dragging the mouse, instead of buying one square at a time. You will receive "bulk discount" for buying larger areas of land. This does not work in multiplayer.
Adjacent Stations In MiniIN Adjacent & DistantJoin Stations allows stations to be built next to each other, or join them if they are more than 1 tile away from each other (a list will pop up to ask which station group to join.).

Use "CTRL + Build" to popup the GUI.

Disable Elrails In MiniIN Disable Elrails turns electric rails off. Previously built electric rail will remain, and previously built electric trains will only be able to run on electric rail. Newly built electric trains will be able to run on normal rail.
Tile quantity calculator In MiniIN (?) Tile quantity calculator shows a tooltip which you can use to measure the length and height change of a tile selection. This is useful when building bridges over valleys.
Past 2090 In MiniIN (?) Past 2090 allows playing past 31 December 2090.
Will be added soon:
Patch Name MiniIN Status
Speed Signs pending-Needs updating for YAPF
Bridge Highlight (Diff Tracker Link) updated by RichK67. pending
No tunnels under mines updated by RichK67. pending
Continue Multiplayer Locally pending
Disable repay loan pending
Origveh(Diff Tracker Link) pending. RichK updated for more "real" truck names
Aircraft queueing & planespeed Pending, Will Be Updated Very, Very Soon (Richk67)
Likely to be added if updated by author:
Patch Name MiniIN Status
Yellow signal state awaiting confirmation it is current
Unknown:
Patch Name MiniIN Status
Auto clean zero unknown. may not be applied
Pause on no clients unknown
Statistics tools unknown
Copy orders from vehicle windows unknown
Sort Vehicle options unknown
Smallmap zoom unknown. updated feature being added to trunk
Unlikely to be added:
Patch Name MiniIN Status
Oil industries anywhere on map unknown. TGPerlin does something similar
Diagonal Clearing needs updating. clear_cmd.c changed a lot
No bells on crossings settings vars need updating.
Pause on Dec 31 will not be added

Development

This section contains the technical details for obtaining the code and creating special patches for the MiniIN

Downloading the MiniIN code

Using a Subversion program, you may download any revision of the code from svn://svn.openttd.org/branches/MiniIN

Viewing the Changelog

The complete changelog can be viewed here:

http://svn.openttd.org/cgi-bin/trac.cgi/log/branches/MiniIN

This is a great way to stay on top of all the changes, and even better for updating this wiki!

Create a patch for the MiniIN

Ok, so you've created your very cool patch and want users to try it out? Several people will look at it if you build your own executable, but even more will look at it if you include it into the MiniIN. Here's how:

First, make sure that you meet the requirements for having your patch included:

  • Wait a month and test your patch before requesting inclusion in the MiniIN
  • No debugging code
  • "Idle" commented-out dev code removed
  • Any trailing spaces removed; regexp: /s/[\t ]+$//
  • Applies to MiniIN branch (resolve conflicts as best you can)
  • Compiles without any errors or warnings (other than non-fatal language warnings)
  • If you have an update, or a bug fix, please say *what* has changed or what the current version number is in the forum topic.

Next, create an actual patch against the MiniIN (The steps below apply to users of TortoiseSVN):

  1. Check out trunk at either pre-branch (4977), or current last sync (check the branch for details).
  2. Apply patch
  3. Use the Tortoise "Switch" option to point to svn://svn.openttd.org/branches/MiniIN. It will run a merge, and you may get conflicts.
  4. Resolve conflicts.
  5. Create patch.

Maintaining your patch in the MiniIN

If you make a new version of your patch and need to update it in the MiniIN, pretty much you follow the same method as when you first put it in. Your new code will most likely conflict with your old code, so always compile and run your patch to make sure you haven't left any orphaned lines of code in.

BIG NOTE: When your patch is first added, richk67 will change any settings you added in settings.c:

Before:
SDT_VAR(Patches, day_length, SLE_UINT8, NS, 0, 1, 1, 32, STR_CONFIG_PATCHES_DAY_LENGTH, NULL), 

After:
SDT_CONDVAR(Patches, day_length,  SLE_UINT8, 34, SL_MAX_VERSION, NS, 0, 1, 1,   32, STR_CONFIG_PATCHES_DAY_LENGTH, NULL),

This is to keep savegames backwards compatible. Do not revert these, and do not change the 3rd and 4th parameters. More info at OpenTTDDevBlackBook/Patches/AddPatchOption

When you upload your update patch, please notify everyone on this forum thread. You may upload the file to the individual patch thread or to the MiniIN patch forum thread. Then feel free to add a link to the Update Available like this:

[http://link-to-update/ Yes]

External Links

Forum topic [2]
Forum - problems thread [3]
Forum - patches and TODO list [4]
SVN Branch [5]
MiniIN Nightly Build [6]
Old Integrated Nightly forum topic [7]

See also

Personal tools