Commit Graph

323 Commits (jgrpp)

Author SHA1 Message Date
Peter Nelson 9666e46739 Feature: Variable GUI scale.
GUI scale is now variable from 100% to 500%, and no longer restricted to
powers-of-2.
2 years ago
Jonathan G Rennison 73e5c57e6b
Fix 5e413c9d: Last sprite offset in GRF file was not recorded (#10062)
A line was missed when preparing PR #9988, as this had been added
in a commit prior to the one which the PR was immediately based on
2 years ago
Jonathan G Rennison 5e413c9dcd
Fix #9804: Only apply sprite_zoom_min setting when sprites available (#9988)
Only discard sprite zoom levels when a suitable higher zoom level is
defined in the same colour mode

This is to avoid placeholder or empty sprites being used, causing
visual artefacts
2 years ago
Jonathan G Rennison 309f1b47d2 Only apply sprite_zoom_min setting when suitable zoom levels are available
Only discard sprite zoom levels when a suitable higher zoom level is
defined in the same colour mode

See: https://github.com/OpenTTD/OpenTTD/issues/9804
2 years ago
Jonathan G Rennison 27316f70ec Create enum for sprite cache control flag bits 2 years ago
Jonathan G Rennison 7d86909a90 Ensure that sprite data is cleared when loading over an existing sprite
Fixes crash when looking at recolour sprite in sprite viewer window
which has been overriden by a non-recolour sprite by a faulty GRF
2 years ago
Jonathan G Rennison 1a4b0d6ecf Prevent NewGRFs from using Action A to replace internal sprites 2 years ago
Jonathan G Rennison 80236f5c4c Remove a dubious use of FIND_FIRST_BIT 3 years ago
Jonathan G Rennison ffef1c9e44 Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/saveload/cargopacket_sl.cpp
#	src/saveload/cheat_sl.cpp
#	src/saveload/company_sl.cpp
#	src/saveload/engine_sl.cpp
#	src/saveload/map_sl.cpp
#	src/saveload/order_sl.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload.h
#	src/saveload/station_sl.cpp
#	src/saveload/vehicle_sl.cpp
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/settings_internal.h
#	src/stdafx.h
#	src/table/settings/settings.ini
#	src/town_cmd.cpp
#	src/vehicle.cpp
3 years ago
rubidium42 55a11710a6 Codechange: convert printf DEBUG statements to fmt Debug statements 3 years ago
Jonathan G Rennison 1002c6d9d2 Fix various compiler warnings
See: #267
3 years ago
Patric Stout 28e90769f7 Codechange: use "[[maybe_unused]]" instead of a wide variety of other ways we had
While at it, replace OTTD_ASSERT with WITH_ASSERT, as this
is always set if assert() is valid. No matter if NDEBUG is set
or not.
3 years ago
Jonathan G Rennison fe64093cc0 Avoid reading non-32bpp sprites twice where possible
Try to avoid unnecessary over-reading
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 fdc11a9f94 Codechange: introduce SpriteFile to be used by the sprite loader instead of the global FIO slot functionality 3 years ago
Jonathan G Rennison edfa04286b Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/release.yml
#	bin/CMakeLists.txt
#	src/dock_gui.cpp
#	src/lang/brazilian_portuguese.txt
#	src/lang/catalan.txt
#	src/lang/czech.txt
#	src/lang/dutch.txt
#	src/lang/english.txt
#	src/lang/english_US.txt
#	src/lang/estonian.txt
#	src/lang/finnish.txt
#	src/lang/french.txt
#	src/lang/german.txt
#	src/lang/hungarian.txt
#	src/lang/indonesian.txt
#	src/lang/italian.txt
#	src/lang/japanese.txt
#	src/lang/korean.txt
#	src/lang/lithuanian.txt
#	src/lang/luxembourgish.txt
#	src/lang/norwegian_bokmal.txt
#	src/lang/polish.txt
#	src/lang/portuguese.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.txt
#	src/lang/spanish_MX.txt
#	src/lang/swedish.txt
#	src/lang/tamil.txt
#	src/lang/ukrainian.txt
#	src/lang/vietnamese.txt
#	src/newgrf.cpp
#	src/newgrf_gui.cpp
#	src/object_gui.cpp
#	src/pathfinder/yapf/yapf_costrail.hpp
#	src/pathfinder/yapf/yapf_node_rail.hpp
#	src/rail_cmd.cpp
#	src/roadveh_cmd.cpp
#	src/town_cmd.cpp
#	src/vehicle.cpp
#	src/water_cmd.cpp
3 years ago
Charles Pigott dd798d688b
Fix #8919: Release builds with asserts enabled (#8925) 3 years ago
Patric Stout fece1c57ca
Codechange: Suppress warnings when asserts are disabled (#8917) 3 years ago
Jonathan G Rennison f4e29071be Merge tag '1.11.0-beta2' into jgrpp
# Conflicts:
#	.github/workflows/ci-build.yml
#	.github/workflows/release.yml
#	CMakeLists.txt
#	src/blitter/32bpp_optimized.cpp
#	src/debug.cpp
#	src/gfx.cpp
#	src/gfx_func.h
#	src/lang/czech.txt
#	src/lang/english.txt
#	src/lang/italian.txt
#	src/lang/swedish.txt
#	src/lang/ukrainian.txt
#	src/network/network_server.cpp
#	src/os/windows/crashlog_win.cpp
#	src/os/windows/win32.cpp
#	src/pathfinder/follow_track.hpp
#	src/screenshot.cpp
#	src/settings_type.h
#	src/spritecache.cpp
#	src/vehicle_gui.cpp
#	src/video/sdl2_v.cpp
#	src/video/video_driver.cpp
#	src/video/video_driver.hpp
#	src/video/win32_v.cpp
3 years ago
Michael Lutz 3e49aff35c Codechange: Allow video drivers to handle the cursor themselves. 3 years ago
Michael Lutz 6776229047 Codechange: Make the simple Malloc sprite allocator globally usable. 3 years ago
Michael Lutz 70aa3b4011 Codechange: Give sprite encoders a hint which colour components of a sprite are filled with useful information. 3 years ago
Michael Lutz e7e5316340 Add: Allow sprite encoders (blitters) to specify an alignment for sprite width and height. 3 years ago
Michael Lutz 02e8741457 Codechange: Allow for using a sprite encoder that is not the currently active blitter when loading a sprite. 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
Charles Pigott 9b800a96ed
Codechange: Remove min/max functions in favour of STL variants (#8502) 3 years ago
Charles Pigott 860c270c73 Codechange: Replace assert_compile macro with static_assert 4 years ago
Jonathan G Rennison aefefb61c2 Fix GetSpriteMainColour with non-default zoom sprites
This fixes viewport map mode with extra zoom ground tile sets
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 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 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
Charles Pigott 10ba431d21 Codechange: Remove SpriteTypeByte type 5 years ago
Jonathan G Rennison 674732cd68 Merge: Codechange: Use null pointer literal instead of the NULL macro 5 years ago
Henry Wilson 7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 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
Greg Carlin 00d28a500d Feature: Add option to adjust font size separately from GUI size. (#7003)
Adds an option in the "Game Options" next to "Interface Size" called "Font Size". Available options are normal, double, and quad.
5 years ago
Jonathan G Rennison 5995e825bc Remove bitfield from struct SpriteCache
This causes issues with packing on MSVC
5 years ago
Jonathan G Rennison f645222d8f Add scope info logging to sprite read/load 5 years ago
Jonathan G Rennison 3f03d03d92 Fix uint8 file_slot in LoadNextSprite 5 years ago
Jonathan G Rennison c9c3e6f574 Fix use of uint8 for file slot handles 6 years ago
Jonathan G Rennison 6f9f467dbe Fix struct SpriteInfo comparator not being marked const 6 years ago
Jonathan G Rennison e789a6ff86 Replace sprite cache implementation
Use malloc instead of custom allocator, to improve performance.
Change eviction mechanism to reduce performance problems.
Remove periodic compaction mechanism.
Simplify LRU mechanism.
6 years ago
Jonathan G Rennison 6242c50725 Use a std::vector for SpriteCache struct array 6 years ago
Jonathan G Rennison f34833f111 Merge branch 'improved_breakdowns' into jgrpp
# Conflicts:
#	src/vehiclelist.cpp
7 years ago
frosch b4b98e5165 (svn r27893) -Codechange: Use fallthrough attribute. (LordAro) 7 years ago
frosch a47fb85cd8 (svn r27893) -Codechange: Use fallthrough attribute. (LordAro) 7 years ago
Jonathan G Rennison 9d5f34fea6 Replace various uses of std::set/map with btree containers. 7 years ago
Jonathan G Rennison 90cd312428 Merge branch 'master' into jgrpp
# Conflicts:
#	src/fios.h
8 years ago
frosch 7b553d255e (svn r27732) -Change: Turn the message about 'missing baseset sprites' from a popup into a static message that only shows in non-release versions, just like the 'missing translations' message. 8 years ago
frosch 050271ed2d (svn r27732) -Change: Turn the message about 'missing baseset sprites' from a popup into a static message that only shows in non-release versions, just like the 'missing translations' message. 8 years ago
Jonathan G Rennison 52d3f075ea Fix over shift left undefined behaviour.
The maximum zoom level is now >= 8, so shifting a uint8 by a zoom
level results in undefined behaviour.
9 years ago
patch-import 536a95dfd0 Import combined Enhanced viewport: zoom out, overlays & tooltips (r53_27127) patch
https://www.tt-forums.net/viewtopic.php?f=33&t=53394
9 years ago
peter1138 4de8b75605 (svn r27016) -Fix (r27004): Setting font-sprite data failed for some user(s). 10 years ago
peter1138 2b46a4ae1d (svn r27016) -Fix (r27004): Setting font-sprite data failed for some user(s). 10 years ago
peter1138 aa6fdf6f13 (svn r27004) -Codechange: Make GUI size apply to (sprite-font) text as well. 10 years ago
peter1138 1088ad48fc (svn r27004) -Codechange: Make GUI size apply to (sprite-font) text as well. 10 years ago
rubidium 2be4215f43 (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 10 years ago
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 10 years ago
rubidium 4a911754b5 (svn r26209) -Codechange: remove some template magic and simplify some code 11 years ago
rubidium 2618d960e3 (svn r26209) -Codechange: remove some template magic and simplify some code 11 years ago
rubidium 98b320614a (svn r26201) -Fix: unscaling by a negative value is the same as scaling by a positive number 11 years ago
rubidium fb4db0b022 (svn r26201) -Fix: unscaling by a negative value is the same as scaling by a positive number 11 years ago
frosch 7b2c2b3b62 (svn r25821) -Fix-ish: Sprite 0 was considered available, even if no baseset was loaded. 11 years ago
frosch 1e0dd39075 (svn r25821) -Fix-ish: Sprite 0 was considered available, even if no baseset was loaded. 11 years ago
michi_cc b13d452bbe (svn r25492) -Doc: Missing comment. 11 years ago
michi_cc 6f359bc1f0 (svn r25492) -Doc: Missing comment. 11 years ago
frosch d640903eb7 (svn r25081) -Fix [FS#5500]: Catch exception anonymously, if the exception content is not of interest. 11 years ago
frosch f800c826a8 (svn r25081) -Fix [FS#5500]: Catch exception anonymously, if the exception content is not of interest. 11 years ago
frosch c9967ad03e (svn r25061) -Fix: When allocation of the sprite cache fails, try to allocate less memory and display an error message later on. 11 years ago
frosch d3c0e1d340 (svn r25061) -Fix: When allocation of the sprite cache fails, try to allocate less memory and display an error message later on. 11 years ago
planetmaker f00d9976f9 (svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow) 12 years ago
planetmaker c24374f99c (svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow) 12 years ago
frosch bdb5931c78 (svn r24858) -Fix [FS#5404]: Make invalid sprite references to mapgen sprites behave the same as invalid references between recolour and real sprites. 12 years ago
frosch 24e62f39e0 (svn r24858) -Fix [FS#5404]: Make invalid sprite references to mapgen sprites behave the same as invalid references between recolour and real sprites. 12 years ago
frosch cd3651368d (svn r24828) -Change: For dedicated servers without blitter ignore the spritecache size setting and always use the minimum. 12 years ago
frosch e428952110 (svn r24828) -Change: For dedicated servers without blitter ignore the spritecache size setting and always use the minimum. 12 years ago
frosch c5d8a51c76 (svn r24252) -Fix [FS#5162]: Change the unit of the sprite-cache size setting from megabytes to megapixels, so it depends on the blitter being used. Also increase it from 64 to 128, and change the name in the cfg file, so everyone gets the new default. 12 years ago
frosch d351f3dae5 (svn r24252) -Fix [FS#5162]: Change the unit of the sprite-cache size setting from megabytes to megapixels, so it depends on the blitter being used. Also increase it from 64 to 128, and change the name in the cfg file, so everyone gets the new default. 12 years ago
frosch f833f6c148 (svn r23986) -Fix (r23889): Invalid reads when scaling an odd-sized sprite smaller. 12 years ago
frosch 3d381403a8 (svn r23986) -Fix (r23889): Invalid reads when scaling an odd-sized sprite smaller. 12 years ago
michi_cc 2d4346bd8e (svn r23976) -Fix (r23889): Sprites of different zoom levels were not always padded correctly to a common size. 12 years ago
michi_cc 0aecd1fa7b (svn r23976) -Fix (r23889): Sprites of different zoom levels were not always padded correctly to a common size. 12 years ago
michi_cc ac1919408d (svn r23898) -Remove: PNG sprite loader. 13 years ago
michi_cc 44abdccfd0 (svn r23898) -Remove: PNG sprite loader. 13 years ago
michi_cc 1358995dfa (svn r23897) -Feature: [NewGRF] 32bpp sprites in GRFs. 13 years ago
michi_cc 2c3bca6ad9 (svn r23897) -Feature: [NewGRF] 32bpp sprites in GRFs. 13 years ago
michi_cc 2f0c046a6f (svn r23896) -Fix (r23884): Don't free unallocated memory. 13 years ago
michi_cc bd3c507910 (svn r23896) -Fix (r23884): Don't free unallocated memory. 13 years ago
michi_cc a55a77cbae (svn r23889) -Codechange: Centralise sprite resizing in one place. (peter1138) 13 years ago
michi_cc e85d5b5d31 (svn r23889) -Codechange: Centralise sprite resizing in one place. (peter1138) 13 years ago
michi_cc 14094d00bf (svn r23887) -Feature: [NewGRF] Support for container version 2. 13 years ago
michi_cc 6db39410a1 (svn r23887) -Feature: [NewGRF] Support for container version 2. 13 years ago
michi_cc 59d0702a6a (svn r23885) -Codechange: Use the GRF sprite loader for then mapgen sprites as well. 13 years ago
michi_cc 02d07e68d8 (svn r23885) -Codechange: Use the GRF sprite loader for then mapgen sprites as well. 13 years ago
michi_cc a02854d32f (svn r23884) -Codechange: Store recolour sprites in memory directly during GRF loading. 13 years ago
michi_cc 76cfbb257c (svn r23884) -Codechange: Store recolour sprites in memory directly during GRF loading. 13 years ago
peter1138 9e0e4bf639 (svn r23315) -Codechange: Only encode sprites for zoom levels that will be used. 13 years ago