Commit Graph

57 Commits

Author SHA1 Message Date
Jonathan G Rennison
78ae295dfe Add combined normal and shunt aspect signal style flag 2022-06-27 18:51:26 +01:00
Jonathan G Rennison
191f710c40 Add custom signal style properties to set electric/semaphore enabled types 2022-06-19 17:43:46 +01:00
Jonathan G Rennison
bdd73a19a1 Add signal style flag for unconditional reserve through
Add map bits for unconditional reserve through
Adjust signal aspect/state handling
2022-06-19 04:15:27 +01:00
Jonathan G Rennison
6e4c4b35e7 Initial implementation of NewGRF custom signal styles 2022-06-19 02:08:38 +01:00
Jonathan G Rennison
41117a52d2 Signals: Add variable for signal context (track, tunnel, bridge, etc) 2022-06-15 19:03:13 +01:00
Jonathan G Rennison
ba52fbeb91 Signals: Add variable for restriction info, add bit for reserve through 2022-06-12 09:00:31 +01:00
Jonathan G Rennison
33dc6c9688 Add NewGRF VarAction2 variable remapping infrastructure 2022-01-24 02:01:09 +00:00
Jonathan G Rennison
f65a166308 Add client setting to show all signals using the default sprites 2021-12-27 18:31:27 +00:00
Jonathan G Rennison
da282c3ecc Merge branch 'master' into jgrpp-beta
# Conflicts:
#	.github/workflows/ci-build.yml
#	CMakeLists.txt
#	src/lang/finnish.txt
#	src/lang/french.txt
#	src/lang/korean.txt
#	src/lang/norwegian_bokmal.txt
#	src/lang/russian.txt
#	src/lang/spanish.txt
#	src/misc_gui.cpp
#	src/newgrf.cpp
2021-10-28 23:51:24 +01:00
Jonathan G Rennison
5d351a14d2 Add new signal type: no-entry signal
This is only passable in one direction, but does not have a signal
or show an aspect in the opposite direction

Add a setting for whether this is shown in the signal UI.
Off by default.
2021-09-04 11:39:54 +01:00
Jonathan G Rennison
b3aa59c85d Fix using wrong flag for railtype restricted signal custom sprite enabled 2021-09-04 01:39:10 +01:00
Jonathan G Rennison
b2ef6c0de8 Add implementation of multi-aspect signalling and GRF support
Requires realistic braking

See: #247
2021-08-28 12:54:18 +01:00
Jonathan G Rennison
f1fde8c684 Enable recolouring of custom signal graphics (global and per-railtype) 2021-08-22 15:01:26 +01:00
Jonathan G Rennison
322a046f49 NewGRF: Allow using Action 2/3 for custom signal sprites
This is mostly the same format as the railtype custom signal mechanism
2021-08-22 15:01:26 +01:00
rubidium42
55a11710a6 Codechange: convert printf DEBUG statements to fmt Debug statements 2021-06-13 12:45:45 +02:00
Peter Nelson
f1328db063 Codechange: Deduplicate ResolveReal() for resolvers that don't use real sprite groups.
This may change behaviour when multiple loading/loaded stages are provided, as the various copies checked in different orders, however only one result is expected in these cases anyway.
2021-06-12 08:05:59 +01:00
Peter Nelson
d3b9d19c5a Cleanup: Use std::vector in RealSpriteGroup.
(cherry picked from commit f785a70a2b)
2021-05-06 20:21:57 +01:00
Peter Nelson
f785a70a2b Cleanup: Use std::vector in RealSpriteGroup. 2021-05-02 09:41:01 +01:00
Jonathan G Rennison
b7ddd486cf Merge branch 'master' into jgrpp
# Conflicts:
#	cmake/CompileFlags.cmake
#	src/aircraft_cmd.cpp
#	src/blitter/32bpp_anim.cpp
#	src/cargopacket.cpp
#	src/cheat_gui.cpp
#	src/company_cmd.cpp
#	src/company_gui.cpp
#	src/core/pool_func.hpp
#	src/date.cpp
#	src/economy.cpp
#	src/error_gui.cpp
#	src/ground_vehicle.cpp
#	src/ground_vehicle.hpp
#	src/group_gui.cpp
#	src/industry_cmd.cpp
#	src/lang/dutch.txt
#	src/lang/french.txt
#	src/lang/german.txt
#	src/linkgraph/linkgraph_gui.cpp
#	src/linkgraph/mcf.cpp
#	src/network/network_content.cpp
#	src/network/network_server.cpp
#	src/network/network_udp.cpp
#	src/newgrf_engine.cpp
#	src/newgrf_station.cpp
#	src/order_cmd.cpp
#	src/order_gui.cpp
#	src/pathfinder/follow_track.hpp
#	src/pathfinder/yapf/yapf_common.hpp
#	src/saveload/saveload.cpp
#	src/settings_gui.cpp
#	src/station_cmd.cpp
#	src/station_kdtree.h
#	src/string_func.h
#	src/table/settings.ini
#	src/tgp.cpp
#	src/timetable_cmd.cpp
#	src/timetable_gui.cpp
#	src/toolbar_gui.cpp
#	src/town_cmd.cpp
#	src/train_cmd.cpp
#	src/train_gui.cpp
#	src/tree_gui.cpp
#	src/tunnelbridge_cmd.cpp
#	src/vehicle.cpp
#	src/vehicle_gui.cpp
#	src/video/sdl2_v.cpp
#	src/video/sdl_v.cpp
#	src/video/win32_v.cpp
#	src/viewport.cpp
#	src/viewport_sprite_sorter_sse4.cpp
#	src/window.cpp
2021-02-01 17:07:34 +00:00
frosch
868d84bbfc Add: [NewGRF] vehicle variable 63 to test the tracktype of the current tile against a given tracktype. 2021-01-10 21:24:38 +01:00
Jonathan G Rennison
b6f583a799 GRF: Add railtype custom signal sprite restricted flag, and control flag 2020-09-26 11:53:44 +01:00
Jonathan G Rennison
d32672a325 GRF: Allow railtype custom signal sprites for programmable pre-signals 2020-09-26 11:26:33 +01:00
Jonathan G Rennison
810bfd276e Add several NewGRF variables to vehicle image callback whitelist
Add vehicle flags to control cached image invalidation

Various refactorings
2020-08-25 01:26:44 +01:00
Niels Martin Hansen
c8779fb311
Feature: NewGRF callback profiling (#7868)
Adds a console command newgrf_profile to collect some profiling data about NewGRF action 2 callbacks and produce a CSV file.
2020-01-26 13:45:51 +01:00
S. D. Cloudt
13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
Henry Wilson
7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 2019-04-10 23:22:20 +02:00
Henry Wilson
2bc2de9034 Codechange: Replaced SmallVector::Find() with std::find() 2019-03-26 20:15:57 +00:00
Henry Wilson
a690936ed7 Codechange: Replace SmallVector::Length() with std::vector::size() 2019-03-26 20:15:57 +00:00
Charles Pigott
f5b1115039 Doc: Lots and lots of doxymentation fixes 2018-10-31 12:35:54 +01:00
frosch
d9d669dcf8 (svn r27984) -Codechange: Make ScopeResolver constructors/destructors inlineable. Speedup sprite resolving by about 8 percent. 2018-03-11 13:19:41 +00:00
frosch
574b981e33 (svn r27342) -Add: Optionally return the number of sprites in the spriteset from GetCustomRailSprite. 2015-07-26 12:25:37 +00:00
rubidium
0463dbdc9e (svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values 2014-04-23 20:13:33 +00:00
frosch
6b61c4608f (svn r26388) -Codechange: Move resolving of Action 3 into ResolverObject constructor. 2014-03-03 20:02:31 +00:00
frosch
db894b0b3f (svn r26085) -Codechange: Pass ResolverObjects as reference instead of pointer since they are never NULL. 2013-11-24 14:41:19 +00:00
alberth
33ff55a8f1 (svn r24693) -Doc: Add some doxymentation into the newgrf code. 2012-11-10 20:46:39 +00:00
alberth
82e6001451 (svn r24685) -Codechange: Add resolver classes for rail types. 2012-11-10 20:41:45 +00:00
alberth
438495b433 (svn r24678) -Codechange: Introduce scope resolver base class and prepare for adding derived classes. 2012-11-10 20:37:31 +00:00
michi_cc
b0d21d2fad (svn r24367) -Feature: [NewGRF] Customisable signals for rail types. 2012-07-01 23:12:50 +00:00
frosch
522e5ec86b (svn r24277) -Codechange: Store cargo and railtype translation tables in a SmallVector. 2012-05-25 20:57:36 +00:00
frosch
c9a7eb2571 (svn r23866) -Feature: [NewGRF] Give NewGRF defined level crossings and rail depots access to the townzone. 2012-01-28 19:36:22 +00:00
rubidium
6d6be50ae0 (svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files 2012-01-03 21:32:51 +00:00
frosch
1ad7239247 (svn r23138) -Feature: [NewGRF] Allow passing 32bit parameters to 60+x variables (using var 7B). Currently most useful for vehicle var 60. 2011-11-08 17:23:30 +00:00
frosch
8b18292a2e (svn r22634) -Codechange: Deduplicate some code. Note that zeroing 'count' is intentionally removed, it is only used together with 'scope'. 2011-07-04 20:31:57 +00:00
frosch
d2b236802c (svn r22633) -Fix: Implement variables 25 and 7F for railtypes. 2011-07-04 20:25:17 +00:00
rubidium
4d5dbf5170 (svn r22410) -Document: some more bits ;) 2011-05-02 16:14:23 +00:00
rubidium
a6a2fbd937 (svn r21198) -Fix: don't call variables properties in debug messages 2010-11-15 16:43:46 +00:00
rubidium
30f2afac9b (svn r20632) -Cleanup: remove "a few" unneeded includes, and add them to some headers 2010-08-26 22:01:16 +00:00
terkhen
78fd08c7b2 (svn r20424) -Fix: Rename members of TileContext (TC_NORMAL conflicted with an existing define on MinGW). 2010-08-09 10:59:30 +00:00
frosch
48c5091a7c (svn r20420) -Codechange: Add TileContext enum instead of using a bool. 2010-08-09 07:10:42 +00:00
rubidium
6bb0d06668 (svn r20203) -Fix: some file "headers" were incorrect, including doxygen @file so they wouldn't be picked up by doxygen. 2010-07-22 16:50:58 +00:00