Codechange: verify the presence of music files in the gm folder. Slightly altered r5464
to exclude the addition of music.c and left out the extra functionality. While in essence
this is not a true fix, several people have reported a rising CPU usage because Dmusic
kept indefinitely looping the file list. This should solve that.
-Indentation
-Whitespace
-DeMorgan's Law
-Test with NULL or 0 for non-booleans
-'\0' instead of 0 for chars
-Remove redundantly redundant comments (like DoFoo(); // Do foo)
-Join multiple short lines with a single statement
-Split single lines with multiple statements
-Avoid assignments in if
Add several missing chars:
- Š/š (S with hacek, all sizes)
- Ž/ž (Z with hacek, all sizes)
- Œ/œ (OE ligature, all sizes)
- Ð/ð (eth, large font was missing)
- Þ/þ (thorn, large font was missing)
- º (male ordinal sign, all sizes)
Also move Ÿ (Y with umlaut, all sizes) to the correct position in the charset
To add some chars it was necessary to shuffle some OTTD specific chars (arrows, transport type markers) around
- Cases are used to change a string, such as Coal Mine, depending on the surrounding context.
- Cases are defined like "STR_4802_COAL_MINE.ack :Coala Mina"
- All cases need to be listed on the top of the file like this "##case ack"
- When using the string, type {STRING.ack} to choose the "ack" version of Coal mine.
- Also combined the strgen arrays into a struct, and fixed a bug with SetXY.
- Renamed the plural command to "P" instead of "PLURAL". Now write something like this to append an s on plural: {P "" s}. (You can optionally still add an argument index to explicitly specifiy which number that's used)
- Removed the pluralized cargo strings from the string files. The new method is to use the plural specifier {P}
- Added support for genders. First add "##gender der das die" on top, then use {G=der} on a cargoname/industry to set the gender, and to switch between genders do something like {G neu neu neue} {STRING}
- Updated the swedish/english translation with P strings.
- {NUM} {PLURAL 0 car cars}: Prints either car or cars depending on if the argument 0 is plural.
Also supports languages with weird plural forms such as Polish.
The plural format needs to be specified in the beginning of the langfile, like "##plural 7" for Polish.
- The formatting of the industry name can be controlled with the string STR_INDUSTRY_FORMAT.
Change: Changed several occurences of {STRING1} into {TOWN} to get rid of townnametype being used directly.
- Feature: [strgen] Allow changing the order of parameters in translated strings.
- Use {1:TOWN} syntax to set the order.
- Codechange: [strgen] Rewrote lots of strgen internals.
-Codechange: rewrote some functions while moving waypoint-stuff
-Add: added support for 64k waypoints
-Fix: made the waypoint struct a bit more logic (no bit-fucking)
- indentation
- 0 -> '\0' in string handling
- whitespaces
- space after for, switch, etc.
- don't treat non-boolean values as boolean
- space before and after binary operators
- bracing style