Commit Graph

197 Commits

Author SHA1 Message Date
peter1138
ff7d2cace9 (svn r4704) - NewGRF: in Action 0x03, set the engine type's GRF ID on the 'default' cargo type, not for each specific cargo. Fixes '(undefined string)' issues, as some engines weren't set properly. 2006-05-02 21:58:02 +00:00
peter1138
f17ac778a8 (svn r4658) - NewGRF: add Action 0xNN comments before each action handler. This mainly aids code navigation... 2006-05-02 09:31:59 +00:00
peter1138
b8cc6d6cee (svn r4657) - NewGRF: use grf_load_byte() in favour of array accesses 2006-05-02 09:18:51 +00:00
Darkvater
bc850f5c09 (svn r4655) - Fix [NewGRF r4654]: /me bangs head against the wall....gaah 2006-05-01 21:47:30 +00:00
Darkvater
40dd3b2061 (svn r4654) - Fix [NewGRF]: Properly read in the GRFID. This fixes GRFID checking and activation/deactivation. Do swap the GRFID for displaying purposes. 2006-05-01 21:45:35 +00:00
peter1138
55978ceed2 (svn r4652) - NewGRF: support loading of foundation and canal graphics from NewGRF files via action 5 2006-05-01 18:57:43 +00:00
peter1138
10aec2a4f1 (svn r4651) - NewGRF: support loading of catenary sprites from NewGRF files. This actually works by replacing our hardcoded sprites. 2006-05-01 16:54:18 +00:00
peter1138
8a4a39d38c (svn r4650) - NewGRF: use the correct type for _cur_spriteid 2006-05-01 16:52:43 +00:00
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