Commit Graph

188 Commits (c471ddf4b69579a9e05eafe1b4156c7012cc89d7)

Author SHA1 Message Date
peter1138 838ea453dc (svn r4632) - NewGRF: support loading of helicopter rotor sprites (mart3p) 19 years ago
peter1138 4a687fdbaa (svn r4631) - NewGRF: fix incorrect length check 19 years ago
belugas 3ac1832fd1 (svn r4593) CodeChange : Renamed spec (when using StationSpec) to statspec.
This is following the same scheme as for IndustrySpec
19 years ago
peter1138 e6d9d67f77 (svn r4588) - NewGRF: silence a false compiler warning 19 years ago
peter1138 60cc7337e5 (svn r4583) - NewGRF: Revamp sprite group loading to support advanced varadjusts and variable size. These are not yet processed, however. 19 years ago
peter1138 2c93d47199 (svn r4582) - NewGRF: include an additional check to see if a spriteset id is within range. 19 years ago
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.
19 years ago
peter1138 d1ef086ce0 (svn r4559) - NewGRF: keep a record of which grf an engine is defined in. Will be used in the future. 19 years ago
peter1138 af556831a9 (svn r4552) - NewGRF: fix braino... in r4550, new_scheme should true when the version is 7 or higher, not less than 7... 19 years ago
peter1138 b4ba26bce7 (svn r4551) - NewGRF: add string handling for newstations. 19 years ago
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...) 19 years ago
peter1138 b342c6b223 (svn r4549) - NewGRF: store the grf version from Action 0x08. 19 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.
19 years ago
peter1138 fa213c686e (svn r4540) - NewGRF: don't treat integer values as boolean. 19 years ago
peter1138 d4204c3af5 (svn r4539) - NewGRF: always check that the action 0x2 feature matches the action 0x1, not just on 'normal' sprite groups. 19 years ago
peter1138 925ab8403d (svn r4537) - NewGRF: replace if cascade with a switch block in the sprite group loader 19 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 19 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. 19 years ago
peter1138 0cfb45d112 (svn r4517) - NewGRF: fix and complete the feature list 19 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
19 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.
19 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 :)
19 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.
19 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. 19 years ago
peter1138 1f2a41bc9b (svn r4474) - NewGRF: Skip non-fatal errors when not in stage 2. 19 years ago
celestar 65f759cbac (svn r4463) -Codechange. Include vehicle.h directly instead of implicitly via station.h in a number of source files 19 years ago
peter1138 0e22cb1318 (svn r4453) - NewGRF: fix two compile warnings. 19 years ago
peter1138 1ec49f91eb (svn r4452) - NewGRF: switch to unsigned ints for array indices. 19 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 19 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. 19 years ago
peter1138 6750dcdd89 (svn r4431) - NewGRF: rename nfo_line to _nfo_line, to avoid confusing Darkvater ;) 19 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 19 years ago
peter1138 da1f310034 (svn r4414) - NewGRF: Don't execute sprite replacements (action 0x0A) in the
initialization stage.
19 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