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
miham
f7593f1b99
(svn r2850) [newgrf] Patch from peter1139
2005-08-11 12:51:59 +00:00
tron
af9f55c977
(svn r2720) Remove unused declarations and definitions
2005-07-26 19:34:03 +00:00
tron
a227065ab7
(svn r2701) Insert Id tags into all source files
2005-07-24 14:12:37 +00:00
tron
559babcdc9
(svn r2673) Include functions.h directly, not globally via openttd.h
2005-07-22 07:02:20 +00:00
tron
0762aa9ec9
(svn r2669) Shuffle some more stuff around to reduce dependencies
2005-07-21 22:15:02 +00:00
celestar
b29556e6b5
(svn r2521) -Codechange: Removed trailing "\n"s from DEBUG statements
2005-07-05 17:47:10 +00:00
hackykid
7b0c767238
(svn r2474) - Fix: [newgrf] Some road vehicle action 0 properties were loaded as the wrong type (int8,int16,int32) causing undefined results. (like cargo types being wrong)
2005-06-23 01:26:54 +00:00
hackykid
6d78b70075
(svn r2428) - Feature: [newgrf] Implement shorter train vehicles (Therax), and the callback that goes with it.
...
- Codechange: Remove some magic numbers (PALETTE_CRASH)
2005-06-06 22:44:11 +00:00
hackykid
1018d3b786
(svn r2414) - Feature: [newgrf] Implement powered wagons, and the callback that goes with it.
2005-06-06 00:19:24 +00:00
hackykid
ad2eef0a30
(svn r2401) - Fix: [newgrf] Finish up callback mechanism, implement 'refit capacity' callback slightly more correct.
2005-06-03 10:39:30 +00:00
hackykid
3f3cbea5c4
(svn r2400) - Fix: [newgrf] Load power for dual-headed engines correctly
2005-06-02 21:38:50 +00:00
Darkvater
b438b1248c
(svn r2397) - CodeChange: rename all "ttd" files to "openttd" files.
2005-06-02 19:30:21 +00:00
hackykid
351d7aaa9f
(svn r2389) - Feature: [newgrf] Implement the mechanism for handling newgrf callbacks.
...
- Feature: [newgrf] Implement the 'refit capacity' callback.
2005-06-01 11:34:37 +00:00
orudge
98b3840a3e
(svn r2379) - Fix: [newgrf] Note to self, check thoroughly before committing!
2005-05-29 20:42:01 +00:00
orudge
8ef11fc41f
(svn r2378) - Fix: [newgrf] Further property stubs, help prevents subsequent incorrect reading of newgrf data
2005-05-29 20:36:11 +00:00
orudge
188d1e2e19
(svn r2377) - Fix: [newgrf] Ignore action 0 prop 0x20 (air drag)
2005-05-29 20:05:04 +00:00
Darkvater
72f673f36d
(svn r2368) - Fix: Add 'multihead' TTDPatch option to OpenTTD newgrf flags-emulation (DBSETXLW doesn't complain about it anymore)
2005-05-27 13:41:03 +00:00
Darkvater
5174d3adfe
(svn r2306) - CodeChange: Check the last commands; refits. This needed an extensive rewrite and global/local-cargo ID juggling and bitmasking. However with this done it looks better as well and is compatible with newgrf handling. Big thanks to HackyKid for doing most of the work. This also closes patch "[ 1199277 ] Command checks"
2005-05-14 12:36:16 +00:00
tron
3d6d4b1bfd
(svn r2115) Spring cleaning, no functional changes
2005-04-01 10:43:20 +00:00
pasky
16a64d7000
(svn r2111) So, result is bool therefore no need for this horrible == 0 thing.
2005-03-30 12:30:24 +00:00
pasky
7ff930af04
(svn r2110) - Fix: Fixed test for various flags (e.g. newtrains in usset). result is bool so !! any non-zero values before assigning them to it - they apparently didn't fit. ;-)
2005-03-30 12:27:50 +00:00
truelight
83637d164e
(svn r2046) -Codechange: moved all waypoint code to waypoint.c/waypoint.h
...
-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)
2005-03-24 17:03:37 +00:00
tron
4bf173e9c1
(svn r1981) Typedef some structs and enums
2005-03-10 07:01:43 +00:00
pasky
39743082b4
(svn r1943) Show the sprite ID in the check_length() error message. Also show the correct sprite ID in the spriteskip notice.
2005-03-06 15:22:28 +00:00
tron
eed181245d
(svn r1833) byte -> char transition: the rest
2005-02-06 22:25:27 +00:00
tron
f0f85a7ef3
(svn r1803) Move debugging stuff into files of it's own
2005-02-05 15:58:59 +00:00
dominik
ac0ea378ff
(svn r1685) - Fix: [newgrf] airplanes from grf sets are not treated as helicopters, as introduced in r1682
2005-01-26 18:39:35 +00:00
dominik
478e001d0e
(svn r1682) - Fix: [newgrf] Helicopters from grf sets are now correctly recognized
2005-01-26 17:36:59 +00:00
celestar
8ed132a5b9
(svn r1410) Replaced all occurences of 'passanger' by 'passenger' in the code
2005-01-07 08:38:27 +00:00
truelight
0434287ef8
(svn r939) -Fix: Fixed compiler errors
2004-12-04 15:02:45 +00:00
tron
c00258237e
(svn r907) Sprinkle holy ANSI water:
...
- "inline" must before the return type (and after "static")
- Initialise all struct members, not just some of them
- Remove (one) spurious semicolon
2004-12-03 07:43:00 +00:00
tron
fca55e3741
(svn r793) Merge INLINE -> inline replacement (revision 376)
2004-11-24 13:19:48 +00:00
pasky
34c89d6896
(svn r772) Whoops, I know. Do not consider pointer to be a boolean value. Sorry 'bout that, sirs.
2004-11-22 22:52:01 +00:00
pasky
f012e15c95
(svn r771) Do not give a file new {struct GRFFile} if it was already loaded once. Eliminates those double entries in the newgrf manager and also some possible memory leaks.
2004-11-22 22:51:19 +00:00
dominik
4e41cf9e2b
(svn r745) Added newgrf GUI (in options menu)\nThe interface currently only displays the installed grf sets, you can't (de)activate them through the gui yet
2004-11-21 22:44:13 +00:00
dominik
8d91459f37
(svn r665) code fixes for newgrf.c/newgrf.h
2004-11-17 20:08:13 +00:00
dominik
4612dcdb48
(svn r662) [newgrf] Moved grfspecial.c to newgrf.c/newgrf.h
2004-11-17 18:49:55 +00:00