summaryrefslogtreecommitdiff
path: root/src/newgrf_engine.h
AgeCommit message (Collapse)Author
2021-04-30Codechange: Use C++ features for train wagon overrides. (#9141)PeterN
This removes the need for C-style array management and allows use of iterators to perform wagon override lookups.
2020-01-26Feature: NewGRF callback profiling (#7868)Niels Martin Hansen
Adds a console command newgrf_profile to collect some profiling data about NewGRF action 2 callbacks and produce a CSV file.
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-04-10Codechange: Use null pointer literal instead of the NULL macroHenry Wilson
2019-03-24Codechange: Use override specifer for overriding member declarationsHenry Wilson
This is a C++11 feature that allows the compiler to check that a virtual member declaration overrides a base-class member with the same signature. Also src/blitter/32bpp_anim_sse4.hpp +38 is no longer erroneously marked as virtual despite being a template.
2018-03-11(svn r27984) -Codechange: Make ScopeResolver constructors/destructors ↵frosch
inlineable. Speedup sprite resolving by about 8 percent.
2017-10-25(svn r27928) -Fix: [NewGRF] While executing random triggers, var 5F should ↵frosch
include the new triggers. -Fix: [NewGRF] Reset used random triggers only after all A123 chains have been resolved, so that all RA2 in all chains can test the shard triggers. This also includes multiple RA2 in the same A123 chain. -Fix: [NewGRF] Industry random triggers are stored per tile, even when randomising the shared random bits of the parent industry.
2016-10-16(svn r27666) -Codechange: Pass vehicle sprites around using a struct ↵frosch
VehicleSpriteSeq.
2014-03-03(svn r26388) -Codechange: Move resolving of Action 3 into ResolverObject ↵frosch
constructor.
2013-11-24(svn r26085) -Codechange: Pass ResolverObjects as reference instead of ↵frosch
pointer since they are never NULL.
2012-11-10(svn r24693) -Doc: Add some doxymentation into the newgrf code.alberth
2012-11-10(svn r24691) -Codechange: Add resolver classes for vehicles.alberth
2012-06-07(svn r24332) -Change/Fix [FS#2553]: [NewGRF] Change the length of 8/8 ↵frosch
roadvehicles in vehicle lists to 32 pixels; this is in fact the correct length as can be seen in corners for short articulated parts following each other. It also looks fine for most old GRFs, thus there is no need for a switch.
2012-06-03(svn r24321) -Change/Fix [FS#4254]: [NewGRF] Group vehicles in the purchase ↵frosch
list properly by source GRF, but also consider engine GRFID overrides.
2011-11-09(svn r23174) -Codechange: Deduplicate code between GetEngineProperty() and ↵frosch
GetVehicleProperty().
2011-11-01(svn r23080) -Feature: [NewGRF] Use variable 10 to enable vehicle GRFs to ↵frosch
draw different sprites on the map and in various GUIs.
2011-11-01(svn r23075) -Codechange: Add GetGRF() and GetGRFID() methods to Engine and ↵frosch
Vehicle to simplify code.
2010-05-13(svn r19812) -Codechange: give some unnamed enums a name or, in case they ↵rubidium
consisted of unrelated values use static const (u)int
2010-01-15(svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, ↵rubidium
if a header require a header make it include that header
2009-09-22(svn r17616) -Codechange [FS#3222]: Enumerize properties used in callback ↵frosch
0x36. Based on Terkhen's work.
2009-08-21(svn r17248) -Fix: add GPL license notice where appropriaterubidium
2009-07-17(svn r16867) -Feature(ette): Turn variable 0E/8E (vertical offset for trains ↵frosch
in depot) and variable 1E/9E bit 3 (wagon width in depot) into grf-local variables.
2009-06-24(svn r16648) -Codechange: move some more includes aroundyexo
2009-06-24(svn r16647) -Codechange: remove newgrf.h include from newgrf_engine.h to ↵yexo
prevent unnecessary inclusion newgrf.h anyway
2009-05-22(svn r16387) -Codechange: use Aircraft instead of Vehicle where appropriaterubidium
2009-01-10(svn r14949) -Cleanup: pointer coding stylerubidium
2008-07-20(svn r13761) -Codechange: Remove dependency on rail for altering purchase ↵peter1138
list position (mostly function renaming)
2008-05-06(svn r12971) -Documentation: add @file in files that missed them and add ↵rubidium
something more than whitespace as description of files that don't have a description.
2008-04-30(svn r12932) -Fix [FS#1970]: Articulated engines ignored GRF engine overrides.peter1138
2008-04-29(svn r12924) -Feature: Introducing the so called 'engine pool' which ↵peter1138
primarily removes the fixed engine type limits and also happens to allow (with the patch option 'dynamic_engines') multiple NewGRF vehicle sets to coexist.
2008-04-24(svn r12872) -Codechange: Remove obsolete unused engine list order functionpeter1138
2008-01-12(svn r11822) -Codechange: Replaced fixed size custom name array. Names are ↵peter1138
now attached to their object directly and there is no limit to the amount of names. -Fix: NewGRF engines could not be renamed.
2008-01-09(svn r11799) -Codechange: no need to special-case helicopter rotor 'overrides'peter1138
2008-01-05(svn r11761) -Codechange: Use appropriate variable types for NewGRF engine ↵peter1138
overrides, and adjust scope while there.
2007-12-18(svn r11661) -Codechange: some header reworks in order to try to reduce the ↵rubidium
compile time of OpenTTD by reduce the amount of circular-ish dependencies.
2007-11-11(svn r11406) -Fix: wrong triggers would be activated on callback 32 for ↵rubidium
vehicles.
2007-10-28(svn r11353) -Codechange: add support for newgrf callback 32glx
2007-07-25(svn r10690) -Codechange: use the enum that describes all callback IDs in ↵rubidium
favor of "just" using an untyped integer.
2007-05-10(svn r9818) -Codechange: Cache wagon override sprite set whenever consist is ↵peter1138
changed, instead of 'recalculating' it every time it is used or just tested.
2007-04-20(svn r9703) -Codechange: support callback 36 in vehicle purchase listspeter1138
2007-04-18(svn r9671) -Codechange: Implement NewGRF callback 36, which allows changing ↵peter1138
of various properties which were previously static. Vehicle max speed and train power/te/running costs are adjustable.
2007-03-21(svn r9385) -Cleanup: doxygen changes. Today, we are exploring the letter N.belugas
2007-03-07(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};rubidium
2007-03-07(svn r9050) -Codechange: Foo(void) -> Foo()rubidium
2007-01-06(svn r7901) -Codechange: Remove some misplaced externs and use extern, not ↵peter1138
VARDEF, in the place they should be...
2007-01-02(svn r7759) -Merge: makefile rewrite. This merge features:rubidium
- A proper ./configure, so everything needs to be configured only once, not for every make. - Usage of makedepend when available. This greatly reduces the time needed for generating the dependencies. - A generator for all project files. There is a single file with sources, which is used to generate Makefiles and the project files for MSVC. - Proper support for OSX universal binaries. - Object files for non-MSVC compiles are also placed in separate directories, making is faster to switch between debug and release compiles and it does not touch the directory with the source files. - Functionality to make a bundle of all needed files for for example a nightly or distribution of a binary with all needed GRFs and language files. Note: as this merge moves almost all files, it is recommended to make a backup of your working copy before updating your working copy.