peter1138
967752fe7c
(svn r4631) - NewGRF: fix incorrect length check
2006-04-30 18:39:31 +00:00
belugas
187013b6a3
(svn r4593) CodeChange : Renamed spec (when using StationSpec) to statspec.
...
This is following the same scheme as for IndustrySpec
2006-04-27 18:28:56 +00:00
peter1138
a0c9b03801
(svn r4588) - NewGRF: silence a false compiler warning
2006-04-27 06:33:21 +00:00
peter1138
2f01c7d990
(svn r4583) - NewGRF: Revamp sprite group loading to support advanced varadjusts and variable size. These are not yet processed, however.
2006-04-26 20:44:28 +00:00
peter1138
b81e6dd6a2
(svn r4582) - NewGRF: include an additional check to see if a spriteset id is within range.
2006-04-26 20:18:29 +00:00
peter1138
2b96c107fa
(svn r4581) - NewGRF: replace replicated action 2 code with two functions to simplify code somewhat. Also check that a sprite id is
...
valid.
2006-04-26 19:42:05 +00:00
peter1138
7555d8528b
(svn r4559) - NewGRF: keep a record of which grf an engine is defined in. Will be used in the future.
2006-04-23 22:25:33 +00:00
peter1138
72d3fabb58
(svn r4552) - NewGRF: fix braino... in r4550, new_scheme should true when the version is 7 or higher, not less than 7...
2006-04-23 18:37:53 +00:00
peter1138
70bd867d71
(svn r4551) - NewGRF: add string handling for newstations.
2006-04-23 18:37:06 +00:00
peter1138
baebc8d47e
(svn r4550) - NewGRF: update string system to new rules: a grf version of less than 6 uses the old scheme, of 7 or more uses the new scheme. (Moving targets, yay...)
2006-04-23 18:27:53 +00:00
peter1138
b54ebaba70
(svn r4549) - NewGRF: store the grf version from Action 0x08.
2006-04-23 18:03:55 +00:00
peter1138
14b6860e62
(svn r4546) - NewGRF: add support for Action 0x05, type 0x04: replacement signal graphics. Thanks to Purno for supplying data to test
...
with.
2006-04-23 15:57:34 +00:00
peter1138
b5ce99c52d
(svn r4540) - NewGRF: don't treat integer values as boolean.
2006-04-23 11:13:06 +00:00
peter1138
c77f77304a
(svn r4539) - NewGRF: always check that the action 0x2 feature matches the action 0x1, not just on 'normal' sprite groups.
2006-04-23 10:50:09 +00:00
peter1138
f74a683f90
(svn r4537) - NewGRF: replace if cascade with a switch block in the sprite group loader
2006-04-23 09:46:23 +00:00
Darkvater
5a8d992eaa
(svn r4529) - Codechange: Use proper naming for hex numbers in debug prints eg. 0xF3A6. Use fixed lengths where applicable (newgrf). Unfortunately '%#X' is unusable since it gives 0XFF3 and '%#x' gives 0xff3 while we want 0xFF3 :P
2006-04-22 13:56:16 +00:00
Darkvater
e3280971b1
(svn r4527) - Feature [NewGRF]: Add support for specifying parameters to GRF files. Usage: "mygrf = 1". You can pass up to 128 parameters, each one seperated by a comma or a space-character. Big thanks to peter1138 for the inspiration and examples.
2006-04-22 13:17:13 +00:00
peter1138
2e7034f059
(svn r4517) - NewGRF: fix and complete the feature list
2006-04-22 06:54:25 +00:00
peter1138
0b3659b41a
(svn r4510) - NewGRF bounds checking:
...
- check Engine ID is within range
- don't try setting a vehicle name if the string id is not a valid Engine ID
2006-04-21 20:59:04 +00:00
peter1138
ae94d7b26f
(svn r4496) - NewGRF: switch custom engine names from storing a char* to using the new StringID based text system. Vehicle name
...
translations now work.
2006-04-21 07:06:31 +00:00
belugas
aab91d287a
(svn r4493) Newgrf : Action 04. Beginning of implementation.
...
Some TODOs left, but the core is there.
Thanks to Peter1138 for code, advice and patience
And to Patchman for letting us define a lot of langids :)
2006-04-21 03:00:20 +00:00
peter1138
92d8af75db
(svn r4486) - NewGRF: Create and use a memory pool to manage sprite groups. This
...
reduces the amount of house keeping we do and the chance of memory
leaks.
2006-04-20 20:51:57 +00:00
peter1138
9ed8c6d4ac
(svn r4483) - NewGRF: Dynamically allocate memory for 'real' spritegroups. This removes the limit of 16 loading/unloading states, although will result in less memory usage as most of the time the full fixed allocation wasn't used.
2006-04-20 13:33:40 +00:00
peter1138
0c889ec8c6
(svn r4474) - NewGRF: Skip non-fatal errors when not in stage 2.
2006-04-19 07:50:16 +00:00
celestar
22f82bba2e
(svn r4463) -Codechange. Include vehicle.h directly instead of implicitly via station.h in a number of source files
2006-04-18 05:16:13 +00:00
peter1138
e3cd311d35
(svn r4453) - NewGRF: fix two compile warnings.
2006-04-16 20:24:10 +00:00
peter1138
2766728629
(svn r4452) - NewGRF: switch to unsigned ints for array indices.
2006-04-16 18:57:07 +00:00
Darkvater
b5bbc23b2c
(svn r4447) - NewGRF: It seems I committed printing action NOP Action 0x0C which is mainly used for comments. So leave it in, but fix the created warning. Use proper action name for check_length() in Action 0x10
2006-04-16 11:33:26 +00:00
Darkvater
12770adba6
(svn r4439) - NewGRF: Add support for Action 0x10. This also required an extra pre-stage (before initialize and activation) to scan the GRF file for GOTO labels. Big thanks for peter1138 for the guidance and answers, as well as parts of the code.
2006-04-15 21:27:59 +00:00
peter1138
3e8423f5d8
(svn r4431) - NewGRF: rename nfo_line to _nfo_line, to avoid confusing Darkvater ;)
2006-04-15 16:40:54 +00:00
Darkvater
5c9acdb182
(svn r4429) - CodeChange[newgrf]: Action0, prop 0x0D. use calloc to allocate memory and zero it out and change the loop a little
2006-04-15 16:03:45 +00:00
peter1138
1a1148c247
(svn r4414) - NewGRF: Don't execute sprite replacements (action 0x0A) in the
...
initialization stage.
2006-04-14 15:58:38 +00:00
peter1138
96e794be2d
(svn r4356) - NewGRF: Load more newstation properties.
2006-04-11 13:00:06 +00:00
peter1138
64a237b192
(svn r4355) - NewGRF: Minor clean up; use the correct return type and remove extraneous brackets.
2006-04-11 10:53:07 +00:00
peter1138
5e345e0e7f
(svn r4352) - NewGRF Codechange: dynamically allocate the memory used to store custom station data. This saves us approximately 40KB per GRF file, if there are no stations defined.
2006-04-11 10:05:52 +00:00
peter1138
32622f2c7b
(svn r4339) - Comment Change: NewGRF, update comments for units of speed
2006-04-09 18:08:20 +00:00
celestar
a7d8ad0004
(svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
2006-03-29 16:30:26 +00:00
peter1138
56c3f42397
(svn r3684) - NewGRF: Support loading of miscellaneous flags (not used yet)
2006-02-28 08:13:15 +00:00
peter1138
d6cb4c82da
(svn r3678) - NewGRF Codechange: remove redundant braces and temporary variables.
2006-02-27 15:35:22 +00:00
tron
49c7eb934b
(svn r3613) Some more const, indentation, whitespace and similar stuff
2006-02-18 14:41:24 +00:00
peter1138
9936e39924
(svn r3606) - NewGRF: Convert from TTDP railtype values to our own railtypes. (These are currently the same, but won't be forever...)
2006-02-15 12:53:36 +00:00
peter1138
b5b4491471
(svn r3603) - NewGRF: Support loading of AI rank data
2006-02-13 22:19:23 +00:00
peter1138
67573ed605
(svn r3586) - NewGRF: Load callback masks for all vehicle types.
2006-02-11 07:34:05 +00:00
peter1138
500a7e6627
(svn r3546) - NewGRF feature: Implement rail vehicle 'property' 0x1A: allows shuffling order of rail vehicle purchase list (and replace vehicle list)
2006-02-04 21:48:46 +00:00
peter1138
b88904f345
(svn r3524) - Split newgrf features from engine.[ch] into newgrf_engine.[ch], and add the new files to project files.
2006-02-03 12:55:21 +00:00
tron
b844aa2db3
(svn r3520) Remove unused parameters from some functions
2006-02-02 07:15:46 +00:00
peter1138
e2dda7bce6
(svn r3491) - NewGRF Fix: Handle loading of rail vehicle flags (unimplemented)
2006-01-30 18:42:46 +00:00
peter1138
876813cd9d
(svn r3486) - NewGRF fix: Always reinitialize the ttdpatch flags as patch settings may have changed.
2006-01-30 14:50:55 +00:00
peter1138
571bbc06d7
(svn r3449) - NewGRF Fix: When changing the sprite ID of a vehicle, if it is not FD (custom graphics), the value needs to changed from a 16bit array offset to an array index. (fixes tropicstw.grf)
2006-01-27 07:13:58 +00:00
peter1138
ec7d2fbb39
(svn r3424) - NewGRF fix: Only power should decide whether a rail vehicle is an engine or a wagon. (fixes SHIKI 810 in jpsetw.grf)
2006-01-24 09:33:51 +00:00
peter1138
2a746ffa2d
(svn r3397) - NewGRF fix: Show nfo sprite number instead of current sprite id for warning messages -- this makes this output more useful...
2006-01-13 18:40:39 +00:00
peter1138
2067b2e7b4
(svn r3394) - NewGRF fix: ignore non-climate dependent cargo types. The spec is rather vague on this, but we don't support newcargos anyway.
2006-01-12 07:57:40 +00:00
peter1138
e81c316134
(svn r3388) - NewGRF: Allow train running cost class to differ from engine class. Also fix typo in r3384.
2006-01-07 16:47:59 +00:00
peter1138
793a0099d4
(svn r3386) - NewGRF: Small comment update, and fix for possible issue with engine class not getting set.
2006-01-07 13:26:52 +00:00
peter1138
473b3072ea
(svn r3384) - NewGRF fix: running cost should be halved for dual head vehicles.
2006-01-07 13:20:02 +00:00
peter1138
f55153ce3c
(svn r3360) Fix initialization of engines for precalculation of default refit mask.
2006-01-02 22:40:39 +00:00
peter1138
3532b91eef
(svn r3316) - NewGRF: Unload engine names before loading grf files. This fixes names in climates where the engines don't get loaded. Renamed function to reflect its purpose.
2005-12-18 14:03:28 +00:00
tron
2956b119b2
(svn r3311) Remove the unnecessary global variable _grffile_count: It's just the scroll count of a list and furthermore only used in one file
2005-12-18 08:01:05 +00:00
tron
23bfc03054
(svn r3297) Staticise
2005-12-14 06:20:23 +00:00
tron
24f857ed5e
(svn r3187) Simplify overly complicated ifs, especially if (foo) return false; else return true; is confusing
2005-11-15 09:47:25 +00:00
peter1138
422bea5a0b
(svn r3170) - NewGRF: make ttdpatch flags to reflect patch option status, and added some more values.
2005-11-12 09:30:52 +00:00
peter1138
b3056bc799
(svn r3169) Little bit of coding style fixing, and change from value to lengthof()
2005-11-12 08:51:46 +00:00
peter1138
ff8223150a
(svn r3167) - NewGRF: Start moving custom station code to separate files.
...
Rewrite handling of station classes.
Allow for more than 8 station tile layouts.
Start of code to unload custom stations.
2005-11-12 00:19:34 +00:00
peter1138
b1075ca7a4
(svn r3166) Constify read-only accesses of custom stations
2005-11-11 20:34:16 +00:00
peter1138
7304bbe500
(svn r3152) - NewGRF: [ 1340189 ] Action 7/9 new value : is it TTDPatch or OpenTTD? (belugas)
2005-11-07 14:34:23 +00:00
peter1138
bc25cd89bf
(svn r3148) -NewGRF, Feature: Add support for cargo refitting specification by cargo classes.
2005-11-06 13:42:26 +00:00
tron
422a8654e3
(svn r3119) Don't pretend to be the Windows version of TTD all the time. When being asked answer according to _use_dos_palette. (Suggestion by Belugas)
2005-11-02 16:05:45 +00:00
tron
47137cefb7
(svn r3078) Some more stuff, which piled up:
...
- const, whitespace, indentation, bracing, GB/SB, pointless casts
- use the trinary operator where appropriate
- data types (uint[] -> AcceptedCargo, ...)
- if cascade -> switch
- if (ptr) -> if (ptr != NULL)
- DeMorgan's Law
- Fix some comments
- 0 -> '\0', change magic numbers to symbolic constants
2005-10-23 13:04:44 +00:00
peter1138
8bf11c2e41
(svn r3074) -NewGrf: Fix stupid typo in weight setting.
2005-10-20 19:44:41 +00:00
peter1138
d5eb4183b8
(svn r3071) -NewGRF: Add support for rail vehicle weight greater than 255 tons.
2005-10-20 15:15:58 +00:00
tron
f3de172560
(svn r3059) Use bitfields to encode railtype and climates of engines instead of manual shifting/anding
2005-10-18 11:23:58 +00:00
peter1138
ab41ccb23c
(svn r3045) -NewGRF, Codechange: Don't attempt to map and empty sprite group to a vehicle.
2005-10-15 07:40:22 +00:00
peter1138
5c3625b88f
(svn r3044) -NewGRF, Codechange: Improve handling of non-existent sprite sets.
2005-10-14 20:10:12 +00:00
peter1138
5551b423fc
(svn r3034) -NewGRF: Improve error checking of setting price bases.
2005-10-12 09:54:29 +00:00
peter1138
c78e87d4da
(svn r3032) -NewGRF, Feature: Add support for changing base prices.
2005-10-12 07:27:56 +00:00
peter1138
abe60acbbb
(svn r3017) -NewGRF: Implement sprite group unreferencing and unloading.
2005-10-04 21:42:00 +00:00
peter1138
c655e13e92
(svn r3016) -NewGRF: Implement the start of reference counting for sprite groups. This will allow unloading.
2005-10-04 20:58:10 +00:00
peter1138
d1591e864d
(svn r3015) -NewGRF: Add a new sprite group result type, and support loading of callbacks results within random and "real" groups. (Not fully supported yet.)
2005-10-04 20:38:26 +00:00
peter1138
9fabe008a0
(svn r3014) -NewGRF, Codechange: Make all sprite group references be pointers instead of copying the data around.
2005-10-04 19:52:26 +00:00
peter1138
c294de06b9
(svn r3006) -Fix, NewGRF: Don't assert on user input, skip data instead.
...
-Codechange, NewGRF: Remove unnecessary NULL check.
2005-10-02 12:00:30 +00:00
peter1138
4fe06ceecc
(svn r3005) -Fix, NewGRF: Some GRF files don't specify a name or description, in which case the Action 8 is 8 bytes, not 9. (pb_viaduct)
2005-10-01 17:41:41 +00:00
peter1138
adc5c1230f
(svn r3004) -Feature, NewGRF: Support loading of bridge attributes and tables from GRF. Currently drawing tall pillars uses old data.
2005-10-01 17:38:48 +00:00
peter1138
eb1d025d08
(svn r3002) -Fix, Newgrf: Max speed of 0xFFFF means no max speed.
...
-Fix, Newgrf: Don't mark an engine as a wagon after setting speed -- wagons can have speed limits.
2005-09-30 20:51:20 +00:00
peter1138
fbf06041ca
(svn r2990) Remove _engine_original_sprites and replace all uses with references to our (new) original engine/vehicle tables.
2005-09-26 19:01:49 +00:00
peter1138
2314431a59
(svn r2989) - Make engine/vehicle information tables constant. Duplicate them so NewGRF data can be loaded without wiping out the default data.
2005-09-26 18:43:58 +00:00
tron
c2c865e4b9
(svn r2984) Use adequate types, this should aid portability a bit
2005-09-25 09:04:59 +00:00
peter1138
c02b1d555d
(svn r2982) Newgrf: Added patch option for wagon speed limits. This is enabled by default.
2005-09-24 13:56:39 +00:00
peter1138
eeeeecb030
(svn r2971) - Newgrf: Support loading VarAction2 parameter for variables 0x60-0x7F. This parameter isn't used yet.
2005-09-22 20:58:14 +00:00
peter1138
e380abec97
(svn r2970) - Newgrf: Allocate spritegroups dynamically; this allows a cargo ID to reference the previous definition of the same cargo ID, instead of causing loops.
2005-09-22 20:35:20 +00:00
peter1138
1195076373
(svn r2968) -Newgrf: Implement current set of action D (ParamSet) operations.
2005-09-21 19:07:58 +00:00
peter1138
5676cc32b4
(svn r2966) Fix: newgrf: Replace special case with a check for the existence of a handler in VehicleChangeInfo.
2005-09-20 17:33:57 +00:00
peter1138
2f0616e9f2
(svn r2965) Fix: newgrf: Add bounds checking to VehicleChangeInfo for vehicles and change
...
station special case to vehicle special case.
2005-09-20 11:07:33 +00:00
peter1138
a3b3c3cf31
(svn r2964) Fix: newgrf: Include missing grf feature canal.
2005-09-20 09:38:09 +00:00
tron
42813c5426
(svn r2947) Reorder some code to prepare for future enhancements and get rid of some gotos (peter1138)
2005-09-13 09:23:23 +00:00
tron
4b59946ffe
(svn r2926) -Fix: Use the same file slots in both initialisation stages when loading a patch grf
2005-09-09 06:39:47 +00:00
tron
0c7af4a5ad
(svn r2872) -Feature: [NewGRF] Add support for "extended bytes"
...
While here work around a buffer overflow in action 4
2005-08-15 22:48:33 +00:00
tron
1637df1788
(svn r2871) -Feature/Fix: Per GRF parameter lists
2005-08-15 21:19:28 +00:00
tron
52c859cbe8
(svn r2868) Change the way NewGRFs are loaded: The loading process i no longer bolted onto the normal graphics loading.
...
This has two major advantages:
- Removal of a maze of global variables and distinction of cases from the sprite loading routines, which weren't directly related to the loading process in the first place
- NewGRF actions no longer occupy sprite slots - for example when using DBSetXL this saves about 2000 slots! (you could regard this as a bug fix)
If i didn't make a major mistake this change should have no negative effect on NewGRF support, please test!
2005-08-15 11:39:13 +00:00
tron
19f5036c46
(svn r2866) Move all functions and tables which aren't directly involved in managing the sprite heap to a new file gfxinit.c.
...
This doesn't ease the global variable mess, but makes the distinction between sprite heap and gfx loading routines easier.
2005-08-14 18:10:18 +00:00
tron
302055fc15
(svn r2862) Return a proper version number, when testing the TTDPatch version in the SkipIf action. Pretend to be version 2.0.1 alpha 49 for now.
...
Also change the type of the variables, which get compared, to uint32, because the values are at most 32bits wide and always seem to be unsigned.
2005-08-13 16:23:07 +00:00