Jonathan G Rennison
1a4b0d6ecf
Prevent NewGRFs from using Action A to replace internal sprites
2 years ago
Jonathan G Rennison
b807f0d50e
Fix setting of object spec ctrl flags from GRF properties
3 years ago
Jonathan G Rennison
24fb390e9f
Add NewGRF object property for flood-resistance
...
Does not imply being able to be built on water
3 years ago
Jonathan G Rennison
d9116106ca
Add NewGRF object property for new edge foundation mode
3 years ago
Jonathan G Rennison
ff714b7648
Add setting to disable "big GUI" NewGRFs
3 years ago
Jonathan G Rennison
924ffb013f
Add NewGRF object property/flag to use land as object ground sprite
...
This handles variable ground densities, snow/desert, etc.
3 years ago
Jonathan G Rennison
906fde15c7
Move NewGRF extension feature/property lists to separate file
3 years ago
Jonathan G Rennison
0691b25e17
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/saveload/afterload.cpp
3 years ago
Jonathan G Rennison
fc58ed9987
Codechange: Remove CargoSpec::multipliertowngrowth which is unused ( #9701 )
...
This is set by cargo property 19.
This property is only implemented in TTDPatch.
3 years ago
Jonathan G Rennison
3d4261a33a
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/order_cmd.cpp
# src/table/settings/news_display_settings.ini
3 years ago
Michael Lutz
95c8467670
Fix 65cbde4b: Writing to uninitialized string when loading a currency NewGRF.
3 years ago
Jonathan G Rennison
9e946d4c5d
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# src/command.cpp
# src/console_cmds.cpp
# src/group_gui.cpp
# src/lang/catalan.txt
# src/lang/czech.txt
# src/lang/danish.txt
# src/lang/greek.txt
# src/lang/hungarian.txt
# src/lang/irish.txt
# src/lang/japanese.txt
# src/lang/luxembourgish.txt
# src/lang/norwegian_bokmal.txt
# src/lang/romanian.txt
# src/lang/russian.txt
# src/lang/serbian.txt
# src/lang/simplified_chinese.txt
# src/lang/slovak.txt
# src/lang/spanish_MX.txt
# src/lang/swedish.txt
# src/lang/tamil.txt
# src/lang/traditional_chinese.txt
# src/lang/turkish.txt
# src/lang/ukrainian.txt
# src/lang/vietnamese.txt
# src/network/network.cpp
# src/network/network_client.cpp
# src/network/network_func.h
# src/network/network_internal.h
# src/network/network_server.cpp
# src/network/network_server.h
# src/saveload/afterload.cpp
# src/saveload/newgrf_sl.cpp
# src/saveload/saveload.h
# src/script/script_instance.cpp
# src/toolbar_gui.cpp
# src/toolbar_gui.h
# src/vehicle_gui.cpp
# src/widgets/rail_widget.h
# src/widgets/vehicle_widget.h
# src/window.cpp
3 years ago
Jonathan G Rennison
3ef1a0943b
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# src/lang/chuvash.txt
# src/lang/czech.txt
# src/lang/english_AU.txt
# src/lang/english_US.txt
# src/lang/german.txt
# src/lang/japanese.txt
# src/lang/korean.txt
# src/lang/latvian.txt
# src/lang/russian.txt
# src/tree_gui.cpp
# src/vehicle.cpp
3 years ago
Jonathan G Rennison
faf32200cf
Merge tag '12.0-beta1' into jgrpp-beta
...
# Conflicts:
# CMakeLists.txt
# bin/ai/CMakeLists.txt
# bin/game/CMakeLists.txt
# src/build_vehicle_gui.cpp
# src/console_cmds.cpp
# src/core/overflowsafe_type.hpp
# src/fios.cpp
# src/lang/english.txt
# src/lang/german.txt
# src/lang/korean.txt
# src/lang/polish.txt
# src/network/core/game_info.cpp
# src/network/core/game_info.h
# src/network/core/tcp_game.cpp
# src/network/core/tcp_game.h
# src/network/network.cpp
# src/network/network_client.cpp
# src/network/network_client.h
# src/network/network_coordinator.cpp
# src/network/network_gui.cpp
# src/network/network_server.cpp
# src/network/network_server.h
# src/newgrf_engine.cpp
# src/openttd.cpp
# src/rev.cpp.in
# src/settings_type.h
# src/train.h
# src/train_cmd.cpp
3 years ago
Jonathan G Rennison
f764fcfb1f
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# src/console_cmds.cpp
# src/debug.cpp
# src/lang/vietnamese.txt
# src/network/core/address.cpp
# src/network/core/address.h
# src/network/core/config.h
# src/network/core/os_abstraction.cpp
# src/network/core/os_abstraction.h
# src/network/core/tcp_listen.h
# src/network/core/udp.cpp
# src/network/core/udp.h
# src/network/network.cpp
# src/network/network_client.cpp
# src/network/network_gamelist.cpp
# src/network/network_server.cpp
# src/network/network_udp.cpp
# src/newgrf.cpp
# src/openttd.cpp
# src/saveload/saveload.h
# src/settings.cpp
# src/settings_table.cpp
# src/settings_type.h
# src/table/settings/network_settings.ini
3 years ago
Jonathan G Rennison
f54d69a60a
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# src/economy.cpp
# src/elrail.cpp
# src/graph_gui.cpp
# src/linkgraph/linkgraph_gui.cpp
# src/network/core/game_info.cpp
# src/newgrf_station.cpp
# src/saveload/saveload.cpp
# src/settings.cpp
# src/station_cmd.cpp
# src/station_gui.cpp
# src/strings_func.h
# src/table/settings/network_settings.ini
# src/table/settings/settings.ini
3 years ago
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
3 years ago
Jonathan G Rennison
544da99102
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# src/cargopacket.h
# src/lang/korean.txt
# src/linkgraph/linkgraph.h
# src/linkgraph/linkgraphjob.h
# src/linkgraph/linkgraphschedule.h
# src/network/network_admin.h
# src/network/network_func.h
# src/network/network_server.cpp
# src/network/network_server.h
# src/order_base.h
# src/rail_cmd.cpp
# src/saveload/company_sl.cpp
# src/saveload/depot_sl.cpp
# src/saveload/economy_sl.cpp
# src/saveload/linkgraph_sl.cpp
# src/saveload/map_sl.cpp
# src/saveload/newgrf_sl.cpp
# src/saveload/order_sl.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/saveload/signs_sl.cpp
# src/saveload/station_sl.cpp
# src/saveload/subsidy_sl.cpp
# src/saveload/town_sl.cpp
# src/saveload/vehicle_sl.cpp
# src/script/api/script_object.cpp
# src/settings.cpp
# src/string.cpp
# src/string_func.h
# src/table/CMakeLists.txt
# src/table/settings/settings.ini
# src/viewport_sprite_sorter_sse4.cpp
3 years ago
Jonathan G Rennison
4042480806
Merge branch 'jgrpp' into jgrpp-beta
...
# Conflicts:
# src/settings.cpp
# src/settings_gui.cpp
# src/settings_internal.h
# src/table/company_settings.ini
# src/table/currency_settings.ini
# src/table/gameopt_settings.ini
# src/table/misc_settings.ini
# src/table/settings.h.preamble
# src/table/settings.ini
# src/table/win32_settings.ini
# src/table/window_settings.ini
3 years ago
PeterN
f5561ac212
Fix #9562 : Handle case of invalid action2 with zero results. ( #9564 )
...
(cherry picked from commit 7e70ead396
)
3 years ago
Jonathan G Rennison
fd605e3cf3
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# .github/workflows/commit-checker.yml
# src/company_cmd.cpp
# src/console_cmds.cpp
# src/crashlog.cpp
# src/lang/english.txt
# src/lang/german.txt
# src/lang/indonesian.txt
# src/lang/japanese.txt
# src/lang/korean.txt
# src/lang/swedish.txt
# src/linkgraph/linkgraphjob.cpp
# src/linkgraph/mcf.cpp
# src/network/core/tcp.cpp
# src/network/core/tcp.h
# src/network/core/tcp_game.h
# src/network/core/udp.h
# src/network/network.cpp
# src/network/network_admin.cpp
# src/network/network_admin.h
# src/network/network_chat_gui.cpp
# src/network/network_client.cpp
# src/network/network_client.h
# src/network/network_func.h
# src/network/network_internal.h
# src/network/network_server.cpp
# src/network/network_server.h
# src/newgrf.cpp
# src/newgrf_station.cpp
# src/order_gui.cpp
# src/rail_cmd.cpp
# src/saveload/saveload.cpp
# src/settings.cpp
# src/settings_gui.cpp
# src/settings_internal.h
# src/settings_type.h
# src/station_cmd.cpp
# src/stdafx.h
# src/table/currency_settings.ini
# src/table/misc_settings.ini
# src/table/settings.h.preamble
# src/table/settings.ini
# src/terraform_cmd.cpp
# src/timetable_gui.cpp
# src/train_cmd.cpp
# src/tree_cmd.cpp
# src/water_cmd.cpp
3 years ago
PeterN
7e70ead396
Fix #9562 : Handle case of invalid action2 with zero results. ( #9564 )
3 years ago
Charles Pigott
16dca0d7bc
Codechange: Object non-zero dimension check was not logically correct
3 years ago
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.
3 years ago
Jonathan G Rennison
b2ef6c0de8
Add implementation of multi-aspect signalling and GRF support
...
Requires realistic braking
See: #247
3 years ago
Jonathan G Rennison
f1fde8c684
Enable recolouring of custom signal graphics (global and per-railtype)
3 years ago
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
3 years ago
Vít Šefl
2183fd4dab
Feature: [NewGRF] Maximum curve speed modifier for rail vehicles ( #9346 )
3 years ago
Jonathan G Rennison
4174fe727c
Add NewGRF feature: Extra station name strings
...
These are used when all the default names have been used up,
instead of "Town Station #NNN".
3 years ago
Rubidium
178ea3196b
Remove: includes to network/core/config.h from headers when only three cpp files need it
3 years ago
Patric Stout
6f0c6fb2ae
Fix a4987233: NewGRFs could no longer be loaded from the NewGRF folder.
...
This statement was removed by accident, as it felt it could be removed.
But it is used to know if the NewGRF is from the baseset folder or
from the NewGRF folder.
3 years ago
rubidium42
a498723345
Remove: arbitrary limit on number of statically loaded NewGRFs ( #9431 )
3 years ago
glx22
a543a4b7bb
Codechange: Remove FOR_EACH_SET_CARGO_ID
3 years ago
glx22
89ab8b79a5
Codechange: Remove FOR_EACH_SET_BIT
3 years ago
rubidium42
55a11710a6
Codechange: convert printf DEBUG statements to fmt Debug statements
3 years ago
Peter Nelson
40cec34836
Change: Skip creating a RealSpriteGroup when there is only one result.
...
This avoids checking RSG for empty sets every time they are evaluated.
This might alter behaviour in cases of a malformed NewGRF file.
3 years ago
Jonathan G Rennison
054c820521
Implement custom sprite detection with new sprite mechanism
3 years ago
Rubidium
e227bbaff0
Cleanup: remove the old FIO slot functions
...
(cherry picked from commit fa6abe1646
)
3 years ago
Rubidium
eecf7c8525
Codechange: let NewGRF make use of SpriteFile instead of most of the FIO slot functions
...
(cherry picked from commit 10e35ca8e4
)
3 years ago
Rubidium
6bd12e24d7
Codechange: introduce SpriteFile to be used by the sprite loader instead of the global FIO slot functionality
...
(cherry picked from commit fdc11a9f94
)
3 years ago
Rubidium
525f6adcd0
Codechange: let NewGRF sounds make use of RandomAccessFile instead of the FIO slot functions
...
(cherry picked from commit c097bc9d7d
)
3 years ago
Rubidium
7c4d803265
Fix: memory leak due to assigning result of strdup to a std::string
...
(cherry picked from commit 296194ad36
)
3 years ago
Patric Stout
ca9a7df752
Codechange: rename str_validate to StrMakeValid(InPlace) ( #9304 )
...
This to be more explicit the function changes the value, and not
returns yes/no.
3 years ago
rubidium42
ae85af98eb
Codechange: Use std::string GetString where convenient
3 years ago
rubidium42
44ca7d9377
Change: Use gender-neutral pronouns
3 years ago
Rubidium
e6f0d63e25
Codechange: comparison result is always the same due to earlier check
...
Practically the length of the handlers not being equal to the number of
features is the problem as it means something was forgotten when adding
a new feature, so static assert to that and let the existing check on
the feature number take care of invalid data from the NewGRFs.
3 years ago
frosch
1da0ba95b2
Feature: Define refittability of default vehicles using cargo classes.
...
This ensures that default vehicles can transport any NewGRF defined cargos, albeit with weird graphics and vehicle names.
This also changes the refittability of default vehicles with default industries.
3 years ago
frosch
9f8d0b1bee
Fix: Resolve cargo-types of default vehicles via their cargo label.
...
Default vehicles now behave as if they had a cargo translation table. This fixes default vehicles carrying seemingly random cargos, if NewGRF industry sets are present.
This behavior is disabled, when a NewGRF touches any of the cargo-type or refitting properties. In that case it's up to the NewGRF to define its own cargo translation table.
3 years ago
rubidium42
65cbde4b30
Codechange: move currency settings to std::string
3 years ago
Rubidium
296194ad36
Fix: memory leak due to assigning result of strdup to a std::string
3 years ago
Rubidium
10e35ca8e4
Codechange: let NewGRF make use of SpriteFile instead of most of the FIO slot functions
3 years ago
Rubidium
fdc11a9f94
Codechange: introduce SpriteFile to be used by the sprite loader instead of the global FIO slot functionality
3 years ago
Rubidium
c097bc9d7d
Codechange: let NewGRF sounds make use of RandomAccessFile instead of the FIO slot functions
3 years ago
Peter Nelson
01d40812fa
Codechange: Validate custom station platform layout tiles are permitted values only.
...
(cherry picked from commit 756034fa27
)
3 years ago
Peter Nelson
da571d6481
Codechange: Use std::vector for NewGRF station tile sprite layouts.
...
(cherry picked from commit a3e49178d1
)
3 years ago
Peter Nelson
72bc8c7595
Codechange: Use std::vector for NewGRF station platform layouts.
...
This avoids the need to custom memory management and additional members.
This also resolves use-after-free if modifying copied layouts, so presumably nobody has ever done that.
(cherry picked from commit bd1a20f6ee
)
3 years ago
Peter Nelson
0b4d45af93
Codechange: Warn if randomaction2 group count is not a power of 2.
...
Previously noted by a comment, this does not need to be guarded against as non-powers of 2 will not cause issues beyond the choice of results being reduced.
(cherry picked from commit 18fb1c3866
)
3 years ago
Peter Nelson
f5722a999e
Cleanup: Use std::vector in RandomSpriteGroup.
...
(cherry picked from commit 913d8a7f28
)
3 years ago
Peter Nelson
a69a1d19a9
Cleanup: Use std::vector in DeterministicSpriteGroup.
...
(cherry picked from commit 1aeaf39954
)
3 years ago
Peter Nelson
d3b9d19c5a
Cleanup: Use std::vector in RealSpriteGroup.
...
(cherry picked from commit f785a70a2b
)
3 years ago
glx22
050b95e351
Codechange: Replace FOR_ALL_CARGOSPECS with range-based for loops
...
(cherry picked from commit 9a8756d7ed
)
3 years ago
Peter Nelson
756034fa27
Codechange: Validate custom station platform layout tiles are permitted values only.
3 years ago
Peter Nelson
a3e49178d1
Codechange: Use std::vector for NewGRF station tile sprite layouts.
3 years ago
Peter Nelson
bd1a20f6ee
Codechange: Use std::vector for NewGRF station platform layouts.
...
This avoids the need to custom memory management and additional members.
This also resolves use-after-free if modifying copied layouts, so presumably nobody has ever done that.
3 years ago
Peter Nelson
18fb1c3866
Codechange: Warn if randomaction2 group count is not a power of 2.
...
Previously noted by a comment, this does not need to be guarded against as non-powers of 2 will not cause issues beyond the choice of results being reduced.
3 years ago
Peter Nelson
913d8a7f28
Cleanup: Use std::vector in RandomSpriteGroup.
3 years ago
Peter Nelson
1aeaf39954
Cleanup: Use std::vector in DeterministicSpriteGroup.
3 years ago
Peter Nelson
f785a70a2b
Cleanup: Use std::vector in RealSpriteGroup.
3 years ago
glx22
9a8756d7ed
Codechange: Replace FOR_ALL_CARGOSPECS with range-based for loops
3 years ago
Jonathan G Rennison
6a62b94263
Add NewGRF railtype flag to disable realistic braking for vehs of that type
...
See: #242
3 years ago
Jonathan G Rennison
f39b6f4ba3
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/cheat_gui.cpp
# src/genworld_gui.cpp
# src/landscape.cpp
# src/lang/english.txt
# src/saveload/afterload.cpp
# src/screenshot.cpp
# src/settings_gui.cpp
# src/settings_internal.h
# src/settings_type.h
# src/table/settings.ini
# src/tile_type.h
# src/widgets/genworld_widget.h
3 years ago
Jonathan G Rennison
83ac5aa27a
Fix: Memory leak of airport tile layout in AirportChangeInfo (prop 0A) ( #8928 )
3 years ago
Jonathan G Rennison
7ae5e5b89f
Fix memory leak of airport tile layout in AirportChangeInfo
3 years ago
Patric Stout
1a1049bc0d
Change: rename setting "max_heightlevel" to "map_height_limit"
...
This better reflects what it is, and hopefully removes a bit of
the confusion people are having what this setting actually does.
Additionally, update the text on the setting to better inform
users what it is doing exactly, so they can make an educated
decision on how to change it.
Next commit will introduce an "auto" value, which should be the
new default. The rename has as added benefit that everyone will
start out on the "auto" value.
3 years ago
Jonathan G Rennison
2e20da40ed
Cache current value of snow line height
3 years ago
Jonathan G Rennison
1c1d272b57
Merge branch 'master' into jgrpp
3 years ago
Charles Pigott
8157af6d68
Fix #8276 : Crash when a NewGRF object's size was not set
3 years ago
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
3 years ago
Jonathan G Rennison
6c3e5642f8
Merge branch 'master' into jgrpp
...
# Conflicts:
# cmake/CompileFlags.cmake
# src/crashlog.cpp
# src/fileio.cpp
# src/fileio_func.h
# src/fios_gui.cpp
# src/ini_load.cpp
# src/ini_type.h
# src/lang/english.txt
# src/lang/german.txt
# src/lang/korean.txt
# src/network/network_client.cpp
# src/order_base.h
# src/order_cmd.cpp
# src/os/windows/win32.cpp
# src/road_cmd.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/settings.cpp
# src/station_cmd.cpp
# src/stdafx.h
# src/table/settings.ini
# src/tree_cmd.cpp
# src/tree_gui.cpp
# src/vehicle_base.h
# src/video/cocoa/cocoa_v.mm
# src/video/cocoa/event.mm
# src/video/cocoa/wnd_quartz.mm
# src/viewport.cpp
# src/widgets/tree_widget.h
3 years ago
Jonathan G Rennison
43980639de
Merge branch 'master' into jgrpp
...
# Conflicts:
# .gitignore
# CMakeLists.txt
# src/3rdparty/optional/optional.hpp
# src/group_cmd.cpp
# src/industry_cmd.cpp
# src/misc_gui.cpp
# src/video/sdl2_v.cpp
3 years ago
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
3 years ago
frosch
e94656b5a5
Fix: [NewGRF] Action 7/9 conditions 0x0F to 0x12 failed, if 'param' was 0x88. ( #8382 )
...
Fix: [NewGRF] Action 7/9 conditions 0x0B to 0x12 failed, if 'param' was 0x85.
These conditions are supposed to ignore 'param' entirely.
(cherry picked from commit d5f05fb781
)
3 years ago
Charles Pigott
860c270c73
Codechange: Replace assert_compile macro with static_assert
3 years ago
Michael Lutz
1478fa93b3
Add: [NewGRF] Patch flag to test if inflation is on or off.
3 years ago
frosch
d5f05fb781
Fix: [NewGRF] Action 7/9 conditions 0x0F to 0x12 failed, if 'param' was 0x88. ( #8382 )
...
Fix: [NewGRF] Action 7/9 conditions 0x0B to 0x12 failed, if 'param' was 0x85.
These conditions are supposed to ignore 'param' entirely.
4 years ago
Michael Lutz
79240eab1e
Codechange: Make use of the improved C++17 emplace_back function.
4 years ago
Jonathan G Rennison
e51c585f45
GRF: Fix rail/road type reservation phase with extended properties
4 years ago
Jonathan G Rennison
75a964acb0
GRF: Add extra road/tram type flag: not available to AI/GS
4 years ago
Jonathan G Rennison
14adcbac80
Add NewGRF bridge property to prevent town or AI/GS building bridge type
4 years ago
Jonathan G Rennison
b6f583a799
GRF: Add railtype custom signal sprite restricted flag, and control flag
4 years ago
Jonathan G Rennison
d32672a325
GRF: Allow railtype custom signal sprites for programmable pre-signals
4 years ago
Jonathan G Rennison
810bfd276e
Add several NewGRF variables to vehicle image callback whitelist
...
Add vehicle flags to control cached image invalidation
Various refactorings
4 years ago
Jonathan G Rennison
53f9fa139d
Remove redundant year/month date globals
4 years ago
Jonathan G Rennison
43c538fa7d
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/town_cmd.cpp
4 years ago
Yexo
1507902d00
Codechange: remove has_newindustries global
4 years ago
Yexo
a82572d0f5
Codechange: remove has_newhouses global
4 years ago
Jonathan G Rennison
677940cfc6
Merge branch 'master' into jgrpp
4 years ago
Yexo
f827bc8c1a
Fix #8166 : don't crash on loading an invalid roadtype newgrf
...
Initialization code for GRFFile::roadtype_map was copied from
railtype_map. But while RailType is a byte-sized enum and could thus
be initialized via memset, RoadType doesn't have a defined size.
4 years ago
Jonathan G Rennison
f8d6e781ba
Merge branch 'master' into jgrpp
...
# Conflicts:
# projects/openttd_vs140.vcxproj.filters
# projects/openttd_vs141.vcxproj.filters
# projects/openttd_vs142.vcxproj.filters
# src/base_consist.h
# src/company_base.h
# src/newgrf_config.cpp
# src/newgrf_config.h
# src/openttd.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/saveload/station_sl.cpp
# src/settings.cpp
# src/signs_base.h
# src/string.cpp
# src/string_func.h
# src/table/misc_settings.ini
# src/table/settings.h.preamble
# src/town_cmd.cpp
# src/vehicle.cpp
# src/vehicle_cmd.cpp
# src/video/cocoa/cocoa_v.mm
# src/video/null_v.cpp
4 years ago
Michael Lutz
9c2e47d03c
Codechange: Use std::string for storing GRF error messages.
4 years ago
Michael Lutz
c082f570ce
Codechange: Use std::string when translating TTDP NewGRF string codes.
4 years ago
Michael Lutz
43cd892e0c
Codechange: Replace custom linked list for GRF texts with STL vectors and strings.
4 years ago
Michael Lutz
f2b40f40aa
Codechange: Replace SmallPair with std::pair.
...
std::pair is already the smallest possible pair, and it already handles non-POD types correctly.
4 years ago
Jonathan G Rennison
81a1094cc8
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/console_cmds.cpp
# src/date.cpp
# src/economy.cpp
# src/misc.cpp
# src/newgrf_house.cpp
4 years ago
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.
4 years ago
Jonathan G Rennison
7960db35f2
Merge branch 'master' into jgrpp
...
# Conflicts:
# config.lib
# projects/openttd_vs140.vcxproj
# projects/openttd_vs140.vcxproj.filters
# projects/openttd_vs141.vcxproj
# projects/openttd_vs141.vcxproj.filters
# projects/openttd_vs142.vcxproj
# projects/openttd_vs142.vcxproj.filters
# src/aircraft_cmd.cpp
# src/base_station_base.h
# src/core/pool_type.hpp
# src/disaster_vehicle.cpp
# src/economy.cpp
# src/engine.cpp
# src/group.h
# src/group_cmd.cpp
# src/group_gui.cpp
# src/lang/english.txt
# src/lang/german.txt
# src/linkgraph/linkgraph_gui.cpp
# src/network/network_command.cpp
# src/network/network_server.cpp
# src/openttd.cpp
# src/order_cmd.cpp
# src/road_cmd.cpp
# src/saveload/afterload.cpp
# src/saveload/cargopacket_sl.cpp
# src/saveload/linkgraph_sl.cpp
# src/saveload/order_sl.cpp
# src/saveload/station_sl.cpp
# src/saveload/town_sl.cpp
# src/saveload/vehicle_sl.cpp
# src/screenshot.cpp
# src/screenshot.h
# src/settings_gui.cpp
# src/settings_type.h
# src/smallmap_gui.cpp
# src/station.cpp
# src/station_cmd.cpp
# src/table/settings.ini
# src/toolbar_gui.cpp
# src/town_cmd.cpp
# src/train.h
# src/train_cmd.cpp
# src/train_gui.cpp
# src/vehicle.cpp
# src/vehicle_base.h
# src/vehiclelist.cpp
# src/window_type.h
4 years ago
frosch
7f351fd7c1
Fix: Action7/9 conditions 0F..12 reported roadtypes as valid tramtypes and vice versa.
4 years ago
frosch
e5dd19b0de
Cleanup: Properties 12 and 15 do not exist for road/tramtypes.
4 years ago
glx
1f6b3a37f9
Codechange: Replace FOR_ALL_ENGINES with range-based for loops
5 years ago
Jonathan G Rennison
6ada7c3c7f
Logging: Log full file names of opened GRFs
5 years ago
Jonathan G Rennison
fe9b024f1a
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/signs_cmd.cpp
# src/station.cpp
# src/station_cmd.cpp
# src/town_cmd.cpp
# src/viewport.cpp
# src/waypoint.cpp
# src/waypoint_cmd.cpp
5 years ago
Jonathan G Rennison
030e8bf762
Rename programmable signals to programmable pre-signals
...
This is to make it less unclear what they actually are and do
5 years ago
glx22
d865916a07
Fix #7836 : Check coherency of NewGRF parameter min/max ( #7840 )
5 years ago
Jonathan G Rennison
cbdd9f84d8
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/console_gui.cpp
# src/lang/korean.txt
# src/video/sdl2_v.cpp
# src/video/sdl2_v.h
# src/window.cpp
# src/window_gui.h
5 years ago
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
5 years ago
Jonathan G Rennison
ca3c72438e
Merge branch 'master' into jgrpp
...
# Conflicts:
# Makefile.bundle.in
# src/os/macosx/string_osx.cpp
# src/station_cmd.cpp
5 years ago
Niels Martin Hansen
53f8d0b815
Codechange: Use std::vector for industry tile layouts
5 years ago
Jonathan G Rennison
edfd378e93
Merge branch 'master' into jgrpp
...
# Conflicts:
# source.list
# src/blitter/32bpp_anim.cpp
# src/linkgraph/linkgraphjob.cpp
# src/order_cmd.cpp
# src/vehicle.cpp
# src/vehicle_type.h
5 years ago
JMcKiern
04f659e768
Fix: Some typos found using codespell
5 years ago
Jonathan G Rennison
ba8ed880c1
Merge branch 'master' into jgrpp-nrt
...
Merge NRT feature
# Conflicts:
# docs/landscape.html
# docs/landscape_grid.html
# src/bridge_map.h
# src/build_vehicle_gui.cpp
# src/company_base.h
# src/company_cmd.cpp
# src/misc_gui.cpp
# src/newgrf.cpp
# src/newgrf_engine.cpp
# src/pathfinder/follow_track.hpp
# src/pathfinder/npf/npf.cpp
# src/road_cmd.cpp
# src/road_func.h
# src/road_gui.cpp
# src/road_map.h
# src/road_type.h
# src/roadveh_cmd.cpp
# src/saveload/afterload.cpp
# src/saveload/company_sl.cpp
# src/script/api/script_bridge.cpp
# src/table/newgrf_debug_data.h
# src/tile_cmd.h
# src/town_cmd.cpp
# src/tunnel_map.h
# src/tunnelbridge_cmd.cpp
5 years ago
Jonathan G Rennison
36eb4165b8
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/bridge_map.h
# src/crashlog.cpp
# src/industry.h
# src/linkgraph/linkgraph_type.h
# src/order_type.h
# src/saveload/afterload.cpp
# src/settings.cpp
# src/settings_type.h
# src/smallmap_gui.cpp
# src/spritecache.cpp
# src/stdafx.h
# src/table/settings.h.preamble
# src/train.h
# src/vehicle.cpp
# src/viewport.cpp
# src/viewport_func.h
# src/widgets/station_widget.h
# src/zoom_func.h
# src/zoom_type.h
5 years ago
peter1138
c02ef3e456
Feature: Add NotRoadTypes (NRT)
5 years ago
Charles Pigott
69a6c494bf
Codechange: Set VehicleType's base type to byte instead of using VehicleTypeByte
5 years ago
Jonathan G Rennison
bd2fdde759
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/core/sort_func.hpp
# src/rail_cmd.cpp
# src/timetable_cmd.cpp
# src/video/sdl_v.cpp
# src/video/win32_v.cpp
5 years ago
PeterN
be073b46da
Fix: Bounds check access to railtype_map. ( #7529 )
5 years ago
Jonathan G Rennison
1c0643e419
Add GRF ID/name to "Too many NewGRF string parameters" messages
5 years ago
Jonathan G Rennison
0d93ecb6bf
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/core/alloc_type.hpp
# src/group_gui.cpp
# src/newgrf.cpp
# src/saveload/economy_sl.cpp
# src/saveload/map_sl.cpp
# src/station_cmd.cpp
5 years ago
peter1138
4f052fc2a4
Cleanup: Fix alignment after NULL -> nullptr change.
5 years ago
Jonathan G Rennison
674732cd68
Merge: Codechange: Use null pointer literal instead of the NULL macro
5 years ago
Jonathan G Rennison
f5747bf753
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/genworld_gui.cpp
# src/group_gui.cpp
# src/saveload/saveload.cpp
# src/settings_gui.cpp
# src/toolbar_gui.cpp
# src/vehicle_gui.cpp
# src/vehicle_gui_base.h
# src/widgets/dropdown.cpp
# src/widgets/dropdown_type.h
5 years ago
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
5 years ago
Jonathan G Rennison
58433c7667
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/core/smallmap_type.hpp
# src/lang/korean.txt
# src/network/network_content.cpp
# src/smallmap_gui.cpp
# src/station_cmd.cpp
5 years ago
frosch
0cf25e84df
Fix #7447 , 3357cac847: Action 4 has feature 48 'original strings'. ( #7449 )
5 years ago
glx22
66dd7c3879
Fix: MSVC warnings ( #7423 )
5 years ago
Jonathan G Rennison
ba34ec7ade
Merge branch 'master' into jgrpp
...
Replace build and refit, and group collapse implementations
Fix template creation build and refit
# Conflicts:
# Makefile.bundle.in
# config.lib
# src/animated_tile.cpp
# src/blitter/32bpp_anim.hpp
# src/blitter/32bpp_base.hpp
# src/blitter/8bpp_base.hpp
# src/blitter/null.hpp
# src/build_vehicle_gui.cpp
# src/command.cpp
# src/command_func.h
# src/console_gui.cpp
# src/core/smallstack_type.hpp
# src/date.cpp
# src/debug.cpp
# src/genworld_gui.cpp
# src/ground_vehicle.hpp
# src/group_gui.cpp
# src/lang/korean.txt
# src/linkgraph/linkgraph_gui.h
# src/main_gui.cpp
# src/misc_gui.cpp
# src/network/core/game.h
# src/network/core/packet.cpp
# src/network/core/udp.cpp
# src/network/core/udp.h
# src/network/network_content.cpp
# src/network/network_type.h
# src/network/network_udp.cpp
# src/newgrf_house.h
# src/openttd.cpp
# src/order_cmd.cpp
# src/order_gui.cpp
# src/os/unix/crashlog_unix.cpp
# src/os/windows/crashlog_win.cpp
# src/osk_gui.cpp
# src/pathfinder/opf/opf_ship.cpp
# src/rail_cmd.cpp
# src/rail_gui.cpp
# src/saveload/saveload.cpp
# src/settings.cpp
# src/settings_gui.cpp
# src/smallmap_gui.h
# src/station_base.h
# src/station_cmd.cpp
# src/table/gameopt_settings.ini
# src/table/newgrf_debug_data.h
# src/table/settings.ini
# src/timetable_gui.cpp
# src/toolbar_gui.cpp
# src/train_gui.cpp
# src/vehicle.cpp
# src/vehicle_gui.cpp
# src/vehiclelist.cpp
# src/viewport.cpp
# src/widgets/dropdown.cpp
# src/window_gui.h
5 years ago
Henry Wilson
c01a2e2a81
Codechange: Removed SmallVector completely
5 years ago
Henry Wilson
ab711e6942
Codechange: Replaced SmallVector::[Begin|End]() with std alternatives
5 years ago
Henry Wilson
2bc2de9034
Codechange: Replaced SmallVector::Find() with std::find()
5 years ago
Henry Wilson
a0f36a50e6
Codechange: Replaced SmallVector::Append() with std::vector::[push|emplace]_back()
5 years ago
Henry Wilson
aa7ca7fe64
Codechange: Replaced SmallVector::Get(n) non-const with std::vector::data() + n
5 years ago
Henry Wilson
a690936ed7
Codechange: Replace SmallVector::Length() with std::vector::size()
5 years ago
Henry Wilson
bfd79e59dc
Codechange: Replace SmallVector::Clear() with std::vector::clear()
5 years ago
Peter Nelson
3357cac847
Fix: Bounds check NewGRF feature.
5 years ago
Peter Nelson
054d05b132
Codechange: NewGRF features are documented in hex, so display as hex.
5 years ago
peter1138
fc5f67123a
Fix e66cec8f86: Permit loading of industry production callback with invalid cargo type.
...
It is only an error if the invalid result is actually used. This will be silently ignored at the moment.
It is still an error if a duplicate cargo type is returned.
5 years ago
Jonathan G Rennison
7ff252c58d
Merge branch 'master' into jgrpp
...
# Conflicts:
# Makefile.src.in
# findversion.sh
# projects/determineversion.vbs
# src/aircraft_cmd.cpp
# src/lang/dutch.txt
# src/linkgraph/linkgraph_gui.cpp
# src/linkgraph/linkgraph_gui.h
# src/order_cmd.cpp
# src/settings_gui.cpp
# src/smallmap_gui.cpp
# src/town_cmd.cpp
# src/viewport.cpp
# src/water_map.h
5 years ago
Eddi-z
1447661d20
Cleanup: spurious TODOs in newgrf.cpp ( #7297 )
5 years ago
Jonathan G Rennison
9d3b77c5a2
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/fios_gui.cpp
# src/lang/english.txt
# src/lang/german.txt
5 years ago
Peter Nelson
21dc725762
Fix: Don't consider engines not in the current climate towards used livery classes.
5 years ago
Jonathan G Rennison
281d346fe2
Merge branch 'master' into jgrpp
...
# Conflicts:
# bin/baseset/no_sound.obs
# bin/baseset/orig_dos.obg
# bin/baseset/orig_dos.obs
# bin/baseset/orig_dos_de.obg
# bin/baseset/orig_win.obg
# bin/baseset/orig_win.obm
# bin/baseset/orig_win.obs
# src/aircraft_cmd.cpp
# src/blitter/32bpp_anim.cpp
# src/blitter/32bpp_anim.hpp
# src/blitter/32bpp_base.cpp
# src/blitter/32bpp_base.hpp
# src/blitter/8bpp_base.cpp
# src/blitter/8bpp_base.hpp
# src/blitter/common.hpp
# src/group_gui.cpp
# src/lang/korean.txt
# src/linkgraph/linkgraph_gui.cpp
# src/saveload/saveload.cpp
# src/town_cmd.cpp
# src/viewport.cpp
# src/viewport_func.h
5 years ago
Niels Martin Hansen
48b334cf97
Add: Houses can accept up to 16 different cargo types via NewGRF.
...
New Action0 property 23 for feature 07, variable length, format B n*(B B). Initial byte is number of structures following. First byte in structure is cargo id, second is acceptance level in 1/8 units.
5 years ago
Jonathan G Rennison
a26db59349
Add Action 5 support for programmable signals graphics
6 years ago
Jonathan G Rennison
5b0cca4b57
Merge branch 'newgrf-property-mapping' into jgrpp
...
# Conflicts:
# docs/newgrf-additions.html
# src/newgrf.cpp
6 years ago
Jonathan G Rennison
7f87e3d61c
Add an action 5 type ID remapping mechanism
6 years ago
Jonathan G Rennison
26ec41ebd5
Refactor Action 14 property mapping to make it more generic
6 years ago
Jonathan G Rennison
2ab0a9611b
Rename Action0RemapFallbackMode to GRFPropertyMapFallbackMode
6 years ago
Jonathan G Rennison
9608912d29
Merge branch 'newgrf-property-mapping' into jgrpp
6 years ago
Jonathan G Rennison
2e539dfeca
Fix typo in static assert message
6 years ago
Jonathan G Rennison
8b37e5aac2
Implement custom bridge pillar flag support
...
Add bridge NewGRF property to set bridge pillars
Add station NewGRF property to disallow bridge pillars
Set values for default bridges and stations
6 years ago
Jonathan G Rennison
2c88645bac
Merge branch 'newgrf-property-mapping' into jgrpp
6 years ago
Jonathan G Rennison
04536952ee
Fix Action 0 mapped property length handling
...
Fix case when Num-info != 1
6 years ago
Jonathan G Rennison
2bb6877f18
Fix syntax of static_assert
6 years ago
Jonathan G Rennison
ceae4516ca
Add remappable properties for station min bridge height and bridge menu icon
6 years ago
Jonathan G Rennison
06c458cb19
Merge branch 'newgrf-property-mapping' into jgrpp
...
# Conflicts:
# docs/newgrf-additions.html
# src/newgrf.cpp
6 years ago
Jonathan G Rennison
9a6a66a054
Add general NewGRF Action 0 property mapping scheme to Action 14
6 years ago
Jonathan G Rennison
cb459132ac
Merge branch 'master' into newgrf-feature-detection
6 years ago
Jonathan G Rennison
c10f6f9abb
Fix incorrect method documentation of ChangeGRFFeatureSetPlatformVarBit
6 years ago
Jonathan G Rennison
e735c1a51a
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/aircraft_cmd.cpp
# src/autoreplace_cmd.cpp
# src/pathfinder/follow_track.hpp
# src/pathfinder/yapf/yapf_rail.cpp
# src/saveload/afterload.cpp
# src/saveload/saveload.cpp
# src/script/api/ai/ai_station.hpp.sq
# src/script/api/game/game_station.hpp.sq
# src/script/api/script_station.hpp
# src/track_func.h
# src/vehicle_base.h
6 years ago
Niels Martin Hansen
e66cec8f86
Add: NewGRF support for 16-in-16-out industries
6 years ago
Charles Pigott
e0c0394e37
Fix: Remove various dead or unnecessary assignments
6 years ago
Charles Pigott
f5b1115039
Doc: Lots and lots of doxymentation fixes
6 years ago
Jonathan G Rennison
6bcc705c7c
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/saveload/saveload.cpp
6 years ago
Michael Lutz
4b0b4e0643
Feature: [NewGRF] Increase size of persistent storage to 256.
6 years ago
frosch
6391d49277
Fix: Variable 0x85 had no bounds checks.
6 years ago
frosch
97d6e3c90f
Fix: Variable 0x85 had no bounds checks.
6 years ago
Jonathan G Rennison
f06c2e0475
Add NewGRF feature for varact2 station var 42
6 years ago
Jonathan G Rennison
cb7eea8896
Add NewGRF features for more bridge types and Action 0 bridges prop 0x14
6 years ago
cirdan
1aa13c9ea3
Allow NewGRFs to set the selection sprite for a bridge
...
Allow NewGRFs to define the sprite to use for a bridge in the bridge
selection window through Action0 property 14.
(cherry picked from commit 8434809a5b57477908e8d5f663e950546c7c8408)
6 years ago
Jonathan G Rennison
b582ef8078
Add NewGRF feature: action0_station_prop1B
6 years ago
Jonathan G Rennison
2735e7748c
Merge branch 'newgrf-feature-detection' into jgrpp
6 years ago
Jonathan G Rennison
9f2515d793
Add general NewGRF feature detection scheme to Action 14
6 years ago
Jonathan G Rennison
ef0a0b0f8e
Implement rail station property 1B, bridge clearance information
6 years ago
Jonathan G Rennison
4d1bd8e4b4
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/genworld_gui.cpp
# src/gfx.cpp
# src/lang/korean.txt
# src/linkgraph/linkgraph_gui.cpp
# src/linkgraph/linkgraph_gui.h
# src/music.cpp
# src/table/settings.ini
# src/town_cmd.cpp
# src/train_cmd.cpp
6 years ago
Niels Martin Hansen
836d25e738
Codechange: Address some MSVC compiler warnings
6 years ago
Jonathan G Rennison
c36c5ac851
Tag NewGRF unaligned memory load in StationChangeInfo
6 years ago
Jonathan G Rennison
641e877441
Change grfmsg to be a macro which checks the debug level first
...
This is to avoid doing a sprintf when the result will be thrown away
6 years ago
Jonathan G Rennison
56be293107
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/blitter/32bpp_anim.cpp
# src/blitter/32bpp_anim.hpp
# src/blitter/32bpp_anim_sse2.cpp
# src/blitter/32bpp_base.cpp
# src/blitter/32bpp_base.hpp
# src/ground_vehicle.cpp
# src/linkgraph/linkgraph_gui.h
# src/main_gui.cpp
# src/newgrf_house.cpp
# src/newgrf_house.h
# src/town_cmd.cpp
# src/vehicle_base.h
# src/viewport_gui.cppp
6 years ago
PeterN
4cebebcf68
Change: Add CargoTypes type for cargo masks. ( #6790 )
6 years ago
Jonathan G Rennison
6342099c4d
Allow 256 NewGRFs in multiplayer
...
Add extended network format for server info
Add general UDP packet fragmentation system
Fix map dimensions >= 64k
Increase length of server revision string
Maintain backwards compatibility with trunk for advertisement/server listing
6 years ago
Jonathan G Rennison
1fe0bb76b9
Merge branches 'crashlog_improvements', 'save_ext', 'version_utils' into jgrpp
6 years ago
keldorkatarn
4955996b35
Remove costly recalculation of a date format we already have.
...
(cherry picked from commit 6aca18d18252f1c2f6d4a215999b7d7afb7df813)
See #36
6 years ago
Patric Stout
88be2413ce
Codechange #6729 : mute bogus GCC 7 warning ( #6733 )
...
We do a memset of (byte - byte), which strictly seen ranges from -254 .. 255, for which GCC warns.
But just before this memset is an if() which says the first byte has to be bigger than the second.
So this is a bogus warning.
6 years ago
Jonathan G Rennison
385a2552e9
Merge branch 'enhanced_viewport_overlay' into jgrpp
6 years ago
frosch
55a503e6f2
(svn r27989) -Fix (r27985): VA2 optimisation failed in various special cases:
...
- nvar=0 is meant to return the calculated result.
- Missing references resolve to NULL and got identified with the default result.
- Missing 'break' broke overlapping cases.
- Splitting into non-overlapping cases could result in more than 256 cases.
6 years ago
frosch
a537fd5d0e
(svn r27989) -Fix (r27985): VA2 optimisation failed in various special cases:
...
- nvar=0 is meant to return the calculated result.
- Missing references resolve to NULL and got identified with the default result.
- Missing 'break' broke overlapping cases.
- Splitting into non-overlapping cases could result in more than 256 cases.
6 years ago
frosch
07d841d0ef
(svn r27985) -Codechange: Convert VA2 switches into ones with non-overlapping ranges, sort them and resolve them using binary search. Speedup sprite resolving by about 7 percent.
6 years ago
frosch
30f73d907a
(svn r27985) -Codechange: Convert VA2 switches into ones with non-overlapping ranges, sort them and resolve them using binary search. Speedup sprite resolving by about 7 percent.
6 years ago
peter1138
dacd8d87ef
(svn r27974) -Fix (r27907) [FS#6627]: free() called on static airport rotation data (JGR)
6 years ago
peter1138
5df8ac52d6
(svn r27974) -Fix (r27907) [FS#6627]: free() called on static airport rotation data (JGR)
6 years ago
Jonathan G Rennison
86a9438070
Fix AirportSpec->rotation not being duplicated/freed correctly
...
Fixes crashes when resetting GRF data
7 years ago