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
tron
a7d6b41c6a
(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
64ac03f9dc
(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
1cce4637fd
(svn r2850) [newgrf] Patch from peter1139
2005-08-11 12:51:59 +00:00
tron
452652e85e
(svn r2720) Remove unused declarations and definitions
2005-07-26 19:34:03 +00:00
tron
647cbd6bdd
(svn r2701) Insert Id tags into all source files
2005-07-24 14:12:37 +00:00
tron
54cbd01825
(svn r2673) Include functions.h directly, not globally via openttd.h
2005-07-22 07:02:20 +00:00
tron
71140a5768
(svn r2669) Shuffle some more stuff around to reduce dependencies
2005-07-21 22:15:02 +00:00
celestar
53e58e8bdb
(svn r2521) -Codechange: Removed trailing "\n"s from DEBUG statements
2005-07-05 17:47:10 +00:00
hackykid
c1867e3fcc
(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
daae0d315a
(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
26e87892e2
(svn r2414) - Feature: [newgrf] Implement powered wagons, and the callback that goes with it.
2005-06-06 00:19:24 +00:00
hackykid
52ebf02f2f
(svn r2401) - Fix: [newgrf] Finish up callback mechanism, implement 'refit capacity' callback slightly more correct.
2005-06-03 10:39:30 +00:00
hackykid
6849e086f5
(svn r2400) - Fix: [newgrf] Load power for dual-headed engines correctly
2005-06-02 21:38:50 +00:00
Darkvater
ba8c649fac
(svn r2397) - CodeChange: rename all "ttd" files to "openttd" files.
2005-06-02 19:30:21 +00:00
hackykid
799e1f5c50
(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
9ca73ebf5b
(svn r2379) - Fix: [newgrf] Note to self, check thoroughly before committing!
2005-05-29 20:42:01 +00:00
orudge
49084f9dd2
(svn r2378) - Fix: [newgrf] Further property stubs, help prevents subsequent incorrect reading of newgrf data
2005-05-29 20:36:11 +00:00
orudge
6c9a02be68
(svn r2377) - Fix: [newgrf] Ignore action 0 prop 0x20 (air drag)
2005-05-29 20:05:04 +00:00
Darkvater
aa2f0c1429
(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
7470322a3d
(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
7168cfd6f3
(svn r2115) Spring cleaning, no functional changes
2005-04-01 10:43:20 +00:00
pasky
3e4553e55f
(svn r2111) So, result is bool therefore no need for this horrible == 0 thing.
2005-03-30 12:30:24 +00:00
pasky
6dc963e246
(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
d1e158d6f7
(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
ca3ccff729
(svn r1981) Typedef some structs and enums
2005-03-10 07:01:43 +00:00
pasky
25aa47448d
(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
257e97c09a
(svn r1833) byte -> char transition: the rest
2005-02-06 22:25:27 +00:00
tron
36c9758c94
(svn r1803) Move debugging stuff into files of it's own
2005-02-05 15:58:59 +00:00
dominik
0ec604ad0f
(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
f20758441c
(svn r1682) - Fix: [newgrf] Helicopters from grf sets are now correctly recognized
2005-01-26 17:36:59 +00:00
celestar
91bf7a7448
(svn r1410) Replaced all occurences of 'passanger' by 'passenger' in the code
2005-01-07 08:38:27 +00:00
truelight
c90bba35a2
(svn r939) -Fix: Fixed compiler errors
2004-12-04 15:02:45 +00:00
tron
ecf1c35849
(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