Commit Graph

178 Commits (88b77661579831ddaa309acbaae4ed5df6e46835)

Author SHA1 Message Date
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...) 18 years ago
peter1138 b342c6b223 (svn r4549) - NewGRF: store the grf version from Action 0x08. 18 years ago
peter1138 7e229e9728 (svn r4546) - NewGRF: add support for Action 0x05, type 0x04: replacement signal graphics. Thanks to Purno for supplying data to test
with.
18 years ago
peter1138 fa213c686e (svn r4540) - NewGRF: don't treat integer values as boolean. 18 years ago
peter1138 d4204c3af5 (svn r4539) - NewGRF: always check that the action 0x2 feature matches the action 0x1, not just on 'normal' sprite groups. 18 years ago
peter1138 925ab8403d (svn r4537) - NewGRF: replace if cascade with a switch block in the sprite group loader 18 years ago
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 18 years ago
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. 18 years ago
peter1138 0cfb45d112 (svn r4517) - NewGRF: fix and complete the feature list 18 years ago
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
18 years ago
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.
18 years ago
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 :)
18 years ago
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.
18 years ago
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. 18 years ago
peter1138 1f2a41bc9b (svn r4474) - NewGRF: Skip non-fatal errors when not in stage 2. 18 years ago
celestar 65f759cbac (svn r4463) -Codechange. Include vehicle.h directly instead of implicitly via station.h in a number of source files 18 years ago
peter1138 0e22cb1318 (svn r4453) - NewGRF: fix two compile warnings. 18 years ago
peter1138 1ec49f91eb (svn r4452) - NewGRF: switch to unsigned ints for array indices. 18 years ago
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 18 years ago
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. 18 years ago
peter1138 6750dcdd89 (svn r4431) - NewGRF: rename nfo_line to _nfo_line, to avoid confusing Darkvater ;) 18 years ago
Darkvater 65bccb7c97 (svn r4429) - CodeChange[newgrf]: Action0, prop 0x0D. use calloc to allocate memory and zero it out and change the loop a little 18 years ago
peter1138 da1f310034 (svn r4414) - NewGRF: Don't execute sprite replacements (action 0x0A) in the
initialization stage.
18 years ago
peter1138 f942a6e1f5 (svn r4356) - NewGRF: Load more newstation properties. 19 years ago
peter1138 55550c33a8 (svn r4355) - NewGRF: Minor clean up; use the correct return type and remove extraneous brackets. 19 years ago
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. 19 years ago
peter1138 4b568332ae (svn r4339) - Comment Change: NewGRF, update comments for units of speed 19 years ago
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. 19 years ago
peter1138 2e2ed81e40 (svn r3684) - NewGRF: Support loading of miscellaneous flags (not used yet) 19 years ago
peter1138 d1dabedb73 (svn r3678) - NewGRF Codechange: remove redundant braces and temporary variables. 19 years ago
tron 7692556c62 (svn r3613) Some more const, indentation, whitespace and similar stuff 19 years ago
peter1138 d8be42dbf6 (svn r3606) - NewGRF: Convert from TTDP railtype values to our own railtypes. (These are currently the same, but won't be forever...) 19 years ago
peter1138 8e86c759ab (svn r3603) - NewGRF: Support loading of AI rank data 19 years ago
peter1138 8caedb4898 (svn r3586) - NewGRF: Load callback masks for all vehicle types. 19 years ago
peter1138 2d67fc8741 (svn r3546) - NewGRF feature: Implement rail vehicle 'property' 0x1A: allows shuffling order of rail vehicle purchase list (and replace vehicle list) 19 years ago
peter1138 6c28b1cec7 (svn r3524) - Split newgrf features from engine.[ch] into newgrf_engine.[ch], and add the new files to project files. 19 years ago
tron 17ec6ed70d (svn r3520) Remove unused parameters from some functions 19 years ago
peter1138 36dc9ffeda (svn r3491) - NewGRF Fix: Handle loading of rail vehicle flags (unimplemented) 19 years ago
peter1138 4bc7df663c (svn r3486) - NewGRF fix: Always reinitialize the ttdpatch flags as patch settings may have changed. 19 years ago
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) 19 years ago
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) 19 years ago
peter1138 c8e14de683 (svn r3397) - NewGRF fix: Show nfo sprite number instead of current sprite id for warning messages -- this makes this output more useful... 19 years ago
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. 19 years ago
peter1138 e1f9b72c82 (svn r3388) - NewGRF: Allow train running cost class to differ from engine class. Also fix typo in r3384. 19 years ago
peter1138 5cfbb88bbb (svn r3386) - NewGRF: Small comment update, and fix for possible issue with engine class not getting set. 19 years ago
peter1138 eb12f1a66c (svn r3384) - NewGRF fix: running cost should be halved for dual head vehicles. 19 years ago
peter1138 c5496ae092 (svn r3360) Fix initialization of engines for precalculation of default refit mask. 19 years ago
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. 19 years ago
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 19 years ago
tron 9822b4d755 (svn r3297) Staticise 19 years ago
tron 3848d103c8 (svn r3187) Simplify overly complicated ifs, especially if (foo) return false; else return true; is confusing 19 years ago
peter1138 45f07e63d7 (svn r3170) - NewGRF: make ttdpatch flags to reflect patch option status, and added some more values. 19 years ago
peter1138 b1b6d15072 (svn r3169) Little bit of coding style fixing, and change from value to lengthof() 19 years ago
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.
19 years ago
peter1138 ce9f2fe823 (svn r3166) Constify read-only accesses of custom stations 19 years ago
peter1138 760830da4e (svn r3152) - NewGRF: [ 1340189 ] Action 7/9 new value : is it TTDPatch or OpenTTD? (belugas) 19 years ago
peter1138 34c503cabf (svn r3148) -NewGRF, Feature: Add support for cargo refitting specification by cargo classes. 19 years ago
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) 19 years ago
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
19 years ago
peter1138 49c627ba35 (svn r3074) -NewGrf: Fix stupid typo in weight setting. 19 years ago
peter1138 3931d8ef5c (svn r3071) -NewGRF: Add support for rail vehicle weight greater than 255 tons. 19 years ago
tron 24253c17cc (svn r3059) Use bitfields to encode railtype and climates of engines instead of manual shifting/anding 19 years ago
peter1138 668963a359 (svn r3045) -NewGRF, Codechange: Don't attempt to map and empty sprite group to a vehicle. 19 years ago
peter1138 e4f668fb43 (svn r3044) -NewGRF, Codechange: Improve handling of non-existent sprite sets. 19 years ago
peter1138 ec28f947aa (svn r3034) -NewGRF: Improve error checking of setting price bases. 19 years ago
peter1138 95857f2026 (svn r3032) -NewGRF, Feature: Add support for changing base prices. 19 years ago
peter1138 13d02ca965 (svn r3017) -NewGRF: Implement sprite group unreferencing and unloading. 19 years ago
peter1138 f614b86114 (svn r3016) -NewGRF: Implement the start of reference counting for sprite groups. This will allow unloading. 19 years ago
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.) 19 years ago
peter1138 e8bca26b74 (svn r3014) -NewGRF, Codechange: Make all sprite group references be pointers instead of copying the data around. 19 years ago
peter1138 907b232946 (svn r3006) -Fix, NewGRF: Don't assert on user input, skip data instead.
-Codechange, NewGRF: Remove unnecessary NULL check.
19 years ago
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) 19 years ago
peter1138 0941c388d9 (svn r3004) -Feature, NewGRF: Support loading of bridge attributes and tables from GRF. Currently drawing tall pillars uses old data. 19 years ago
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.
19 years ago
peter1138 9e20ae4222 (svn r2990) Remove _engine_original_sprites and replace all uses with references to our (new) original engine/vehicle tables. 19 years ago
peter1138 aac5e2c131 (svn r2989) - Make engine/vehicle information tables constant. Duplicate them so NewGRF data can be loaded without wiping out the default data. 19 years ago
tron bdbceba0cb (svn r2984) Use adequate types, this should aid portability a bit 19 years ago
peter1138 5dcb1e34fd (svn r2982) Newgrf: Added patch option for wagon speed limits. This is enabled by default. 19 years ago
peter1138 77888b85a2 (svn r2971) - Newgrf: Support loading VarAction2 parameter for variables 0x60-0x7F. This parameter isn't used yet. 19 years ago
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. 19 years ago
peter1138 1635e75c0b (svn r2968) -Newgrf: Implement current set of action D (ParamSet) operations. 19 years ago
peter1138 75be0ed773 (svn r2966) Fix: newgrf: Replace special case with a check for the existence of a handler in VehicleChangeInfo. 19 years ago
peter1138 316944c1f5 (svn r2965) Fix: newgrf: Add bounds checking to VehicleChangeInfo for vehicles and change
station special case to vehicle special case.
19 years ago
peter1138 5ba82c6da2 (svn r2964) Fix: newgrf: Include missing grf feature canal. 19 years ago
tron 2264103610 (svn r2947) Reorder some code to prepare for future enhancements and get rid of some gotos (peter1138) 19 years ago
tron bf93946d1b (svn r2926) -Fix: Use the same file slots in both initialisation stages when loading a patch grf 19 years ago
tron 6f1ba99d82 (svn r2872) -Feature: [NewGRF] Add support for "extended bytes"
While here work around a buffer overflow in action 4
19 years ago
tron 976b8b90e8 (svn r2871) -Feature/Fix: Per GRF parameter lists 19 years ago
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!
19 years ago
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.
19 years ago
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.
19 years ago
miham 1cce4637fd (svn r2850) [newgrf] Patch from peter1139 19 years ago
tron 452652e85e (svn r2720) Remove unused declarations and definitions 19 years ago
tron 647cbd6bdd (svn r2701) Insert Id tags into all source files 19 years ago
tron 54cbd01825 (svn r2673) Include functions.h directly, not globally via openttd.h 19 years ago
tron 71140a5768 (svn r2669) Shuffle some more stuff around to reduce dependencies 19 years ago
celestar 53e58e8bdb (svn r2521) -Codechange: Removed trailing "\n"s from DEBUG statements 19 years ago
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) 19 years ago
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)
19 years ago
hackykid 26e87892e2 (svn r2414) - Feature: [newgrf] Implement powered wagons, and the callback that goes with it. 19 years ago