peter1138
53d27e2629
(svn r4645) - NewGRF: pretend to be the last alpha version of TTDPatch in our version value.
2006-05-01 12:07:44 +00:00
peter1138
838ea453dc
(svn r4632) - NewGRF: support loading of helicopter rotor sprites (mart3p)
2006-04-30 18:41:16 +00:00
peter1138
4a687fdbaa
(svn r4631) - NewGRF: fix incorrect length check
2006-04-30 18:39:31 +00:00
belugas
3ac1832fd1
(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
e6d9d67f77
(svn r4588) - NewGRF: silence a false compiler warning
2006-04-27 06:33:21 +00:00
peter1138
60cc7337e5
(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
2c93d47199
(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
b637a16db0
(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
d1ef086ce0
(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
af556831a9
(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
b4ba26bce7
(svn r4551) - NewGRF: add string handling for newstations.
2006-04-23 18:37:06 +00:00
peter1138
87e994c25b
(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
b342c6b223
(svn r4549) - NewGRF: store the grf version from Action 0x08.
2006-04-23 18:03:55 +00:00
peter1138
7e229e9728
(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
fa213c686e
(svn r4540) - NewGRF: don't treat integer values as boolean.
2006-04-23 11:13:06 +00:00
peter1138
d4204c3af5
(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
925ab8403d
(svn r4537) - NewGRF: replace if cascade with a switch block in the sprite group loader
2006-04-23 09:46:23 +00:00
Darkvater
0a0b8f22aa
(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
fe61e68c8a
(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
0cfb45d112
(svn r4517) - NewGRF: fix and complete the feature list
2006-04-22 06:54:25 +00:00
peter1138
112af05a48
(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
a98818cc6d
(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
bbb2c58456
(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
103a2aa116
(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
3d137e9c0f
(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
1f2a41bc9b
(svn r4474) - NewGRF: Skip non-fatal errors when not in stage 2.
2006-04-19 07:50:16 +00:00
celestar
65f759cbac
(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
0e22cb1318
(svn r4453) - NewGRF: fix two compile warnings.
2006-04-16 20:24:10 +00:00
peter1138
1ec49f91eb
(svn r4452) - NewGRF: switch to unsigned ints for array indices.
2006-04-16 18:57:07 +00:00
Darkvater
f8f10d737d
(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
cd25cba992
(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
6750dcdd89
(svn r4431) - NewGRF: rename nfo_line to _nfo_line, to avoid confusing Darkvater ;)
2006-04-15 16:40:54 +00:00
Darkvater
65bccb7c97
(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
da1f310034
(svn r4414) - NewGRF: Don't execute sprite replacements (action 0x0A) in the
...
initialization stage.
2006-04-14 15:58:38 +00:00
peter1138
f942a6e1f5
(svn r4356) - NewGRF: Load more newstation properties.
2006-04-11 13:00:06 +00:00
peter1138
55550c33a8
(svn r4355) - NewGRF: Minor clean up; use the correct return type and remove extraneous brackets.
2006-04-11 10:53:07 +00:00
peter1138
432ef5cad9
(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
4b568332ae
(svn r4339) - Comment Change: NewGRF, update comments for units of speed
2006-04-09 18:08:20 +00:00
celestar
6c44bf5012
(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
2e2ed81e40
(svn r3684) - NewGRF: Support loading of miscellaneous flags (not used yet)
2006-02-28 08:13:15 +00:00
peter1138
d1dabedb73
(svn r3678) - NewGRF Codechange: remove redundant braces and temporary variables.
2006-02-27 15:35:22 +00:00
tron
7692556c62
(svn r3613) Some more const, indentation, whitespace and similar stuff
2006-02-18 14:41:24 +00:00
peter1138
d8be42dbf6
(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
8e86c759ab
(svn r3603) - NewGRF: Support loading of AI rank data
2006-02-13 22:19:23 +00:00
peter1138
8caedb4898
(svn r3586) - NewGRF: Load callback masks for all vehicle types.
2006-02-11 07:34:05 +00:00
peter1138
2d67fc8741
(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
6c28b1cec7
(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
17ec6ed70d
(svn r3520) Remove unused parameters from some functions
2006-02-02 07:15:46 +00:00
peter1138
36dc9ffeda
(svn r3491) - NewGRF Fix: Handle loading of rail vehicle flags (unimplemented)
2006-01-30 18:42:46 +00:00
peter1138
4bc7df663c
(svn r3486) - NewGRF fix: Always reinitialize the ttdpatch flags as patch settings may have changed.
2006-01-30 14:50:55 +00:00
peter1138
fccfada0b3
(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
fb7e17153b
(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
c8e14de683
(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
04657c2d1b
(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
e1f9b72c82
(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
5cfbb88bbb
(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
eb12f1a66c
(svn r3384) - NewGRF fix: running cost should be halved for dual head vehicles.
2006-01-07 13:20:02 +00:00
peter1138
c5496ae092
(svn r3360) Fix initialization of engines for precalculation of default refit mask.
2006-01-02 22:40:39 +00:00
peter1138
0fbb9815ba
(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
7dc1e23845
(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
9822b4d755
(svn r3297) Staticise
2005-12-14 06:20:23 +00:00
tron
3848d103c8
(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
45f07e63d7
(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
b1b6d15072
(svn r3169) Little bit of coding style fixing, and change from value to lengthof()
2005-11-12 08:51:46 +00:00
peter1138
12009af1c5
(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
ce9f2fe823
(svn r3166) Constify read-only accesses of custom stations
2005-11-11 20:34:16 +00:00
peter1138
760830da4e
(svn r3152) - NewGRF: [ 1340189 ] Action 7/9 new value : is it TTDPatch or OpenTTD? (belugas)
2005-11-07 14:34:23 +00:00
peter1138
34c503cabf
(svn r3148) -NewGRF, Feature: Add support for cargo refitting specification by cargo classes.
2005-11-06 13:42:26 +00:00
tron
00037cb9c9
(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
181d586a7c
(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
49c627ba35
(svn r3074) -NewGrf: Fix stupid typo in weight setting.
2005-10-20 19:44:41 +00:00
peter1138
3931d8ef5c
(svn r3071) -NewGRF: Add support for rail vehicle weight greater than 255 tons.
2005-10-20 15:15:58 +00:00
tron
24253c17cc
(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
668963a359
(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
e4f668fb43
(svn r3044) -NewGRF, Codechange: Improve handling of non-existent sprite sets.
2005-10-14 20:10:12 +00:00
peter1138
ec28f947aa
(svn r3034) -NewGRF: Improve error checking of setting price bases.
2005-10-12 09:54:29 +00:00
peter1138
95857f2026
(svn r3032) -NewGRF, Feature: Add support for changing base prices.
2005-10-12 07:27:56 +00:00
peter1138
13d02ca965
(svn r3017) -NewGRF: Implement sprite group unreferencing and unloading.
2005-10-04 21:42:00 +00:00
peter1138
f614b86114
(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
4879e04986
(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
e8bca26b74
(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
907b232946
(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
0c6d899818
(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
0941c388d9
(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
42db633850
(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
9e20ae4222
(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
aac5e2c131
(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
bdbceba0cb
(svn r2984) Use adequate types, this should aid portability a bit
2005-09-25 09:04:59 +00:00
peter1138
5dcb1e34fd
(svn r2982) Newgrf: Added patch option for wagon speed limits. This is enabled by default.
2005-09-24 13:56:39 +00:00
peter1138
77888b85a2
(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
cab56117ca
(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
1635e75c0b
(svn r2968) -Newgrf: Implement current set of action D (ParamSet) operations.
2005-09-21 19:07:58 +00:00
peter1138
75be0ed773
(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
316944c1f5
(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
5ba82c6da2
(svn r2964) Fix: newgrf: Include missing grf feature canal.
2005-09-20 09:38:09 +00:00
tron
2264103610
(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
bf93946d1b
(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
6f1ba99d82
(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
976b8b90e8
(svn r2871) -Feature/Fix: Per GRF parameter lists
2005-08-15 21:19:28 +00:00
tron
69f250796f
(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