cbartondock
83dc4685aa
waterfall loading of textures via id to prefer elfid-gameid when launched via elf; fallback to gameid if no match
2026-07-15 12:02:16 -07:00
iwubcode
2d21a99205
VideoCommon: separate the concept of a 'resource' from an 'asset'. A resource is potentially multiple assets that are chained together but represent one type of data to the rest of the system. An example is a 'material'. A 'material' is a collection of textures, a custom shader, and some metadata that all comes together to form what the concept of the material is. There will be a 'material' resource. For now, start small by introducing the interface and change our texture loading which used assets from the old resource manager, to an actual resource.
2025-11-23 11:04:24 -06:00
iwubcode
7afa9e6c6f
VideoCommon: use CustomResourceManager in the texture cache and hook up to our hires textures
2025-06-06 23:03:02 -05:00
dreamsyntax
07f712f8a0
Core/VideoCommon: Fix duplicate OSD Custom Textures messages
...
Resolves duplicate OSD messages for Loading and Found custom textures.
VideoBackend initialization results in HiresTexture::Init being called.
We already call HiresTexture::Update when OnNewTitleLoad is called.
Thus we can remove HiresTextures::Init completely as it is redundant.
2024-12-28 01:09:50 -07:00
iwubcode
f1f1ecc9d1
Core / VideoCommon: update HiresTexture to use CustomAssetLoader
2023-06-05 16:33:19 -05:00
iwubcode
e028d2ead0
VideoCommon: move custom texture data to assets
2023-06-02 14:07:42 -05:00
iwubcode
42cb3f3904
VideoCommon: remove HiResTexture DDS loading, update hirestexture logic to use custom texture data
2023-03-01 12:11:04 -06:00
iwubcode
892678648e
VideoCommon: trigger mod calls in TextureCacheBase (efb/xfb calls), VertexManagerBase (draw calls), and VertexShaderManager (projection calls)
2022-06-27 18:20:52 -05:00
Pokechu22
78bfd25964
Fix all uninitialized variable warnings (C26495)
2021-10-13 12:32:16 -07:00
Pierre Bourdon
e149ad4f0a
treewide: convert GPLv2+ license info to SPDX tags
...
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
2021-07-05 04:35:56 +02:00
iwubcode
182dfc38e6
VideoCommon: move all texture calculations to a "TextureInfo" class. This ever so slightly improves readability and allows for the full texture name to be generated outside of the hires texture cache
2021-05-11 22:58:36 -05:00
iwubcode
fd3af4c5d3
InputCommon: Introducing the "Dynamic Input Texture". Configuration links an emulated input action to an image based on what host key is defined for that emulated input. Specific regions are called out in configuration that mark where to replace an input button with a host key image.
2020-10-03 17:10:35 -05:00
iwubcode
8a1539f948
VideoCommon: Make a reusable free function for getting top level directories that have a matching gameid text file underneath
2020-10-03 17:10:35 -05:00
iwubcode
bba92019dc
VideoCommon: Allow texture folders to be determined by a <gameid>.txt file
2020-03-15 12:34:04 -05:00
Stenzek
f7a0cae7f4
HiresTextures: Do not load compressed textures with unaligned dimensions
...
D3D11 cannot handle block compressed textures where the first mip level
is not a multiple of the block size. The simple fix for texture pack
authors: leave these textures uncompressed. You can still use a .dds
container.
2018-05-22 16:15:18 +10:00
Emmanuel Gil Peyrot
17e65a7167
VideoCommon: Replace SOIL with libpng for hires textures
2018-05-20 13:44:38 +02:00
JosJuice
c25fffc9a0
Treat custom textures with "_arb" suffix as having arbitrary mipmaps
...
This is adapted from Bighead's code that was posted at
https://forums.dolphin-emu.org/Thread-dolphin-custom-texture-mipmaps?pid=460867#pid460867
In master, custom textures are never treated as having arbitrary mipmaps,
so we need either a change like this or a change that makes us apply the
arbitrary mipmap heuristic even when a custom texture is used.
2018-01-10 17:51:45 +01:00
N.E.C
c3a57bbad5
Video: Clearly separate Texture and EFB Copy formats
...
Improve bookkeeping around formats. Hopefully make code less confusing.
- Rename TlutFormat -> TLUTFormat to follow conventions.
- Use enum classes to prevent using a Texture format where an EFB Copy format
is expected or vice-versa.
- Use common EFBCopyFormat names regardless of depth and YUV configurations.
2017-08-03 18:35:29 -07:00
iwubcode
e4896d39bd
Video Backends: Move and rename HostTextureFormat to AbstractTextureFormat
2017-06-13 00:41:56 -05:00
Stenzek
20cbef8e9f
HiresTextures: Move the maximum mip level check from DDS to main loader
...
This way that the mip count check occurs on .png and uncombined DDS
textures as well.
2017-04-29 13:46:43 +10:00
Stenzek
8761c8244d
HiresTextures: Load full mipmap chain from DDS files
...
This removes the need for multiple texture files to store the mipmap
chain for a texture. As many mipmaps will be loaded as are present in
the DDS file, and any remaining mipmaps will fall back to the old
behavior.
2017-04-29 13:46:43 +10:00
Stenzek
bc8a96d713
HiresTextures: Support parsing DDS files directly
...
This leaves DDS textures using DXT1/3/5 compressed in-memory, which can
be passed directly to the backend.
2017-04-29 00:14:23 +10:00
Pierre Bourdon
3570c7f03a
Reformat all the things. Have fun with merge conflicts.
2016-06-24 10:43:46 +02:00
JosJuice
03091ce180
HiresTextures: Refactor getting directory
2016-01-06 19:35:16 +01:00
JosJuice
a2b45a4b82
HiresTextures: Also look for directories with 3-character IDs
...
People who make texture packs usually release them using a specific ID
(for instance SX4E01). Users who have a different version of the game
(like the PAL version SX4P01) then need to rename the custom texture
folder to match. This is a lot simpler than renaming every texture file,
as was required with the old texture format, but it's still something
that users can forget to do. To make that unnecessary, this change makes
it possible to use three-character region-free IDs for custom texture
folders, similarly to how game INIs can use three-character IDs. Once
most people have updated to Dolphin versions that include this change,
those who make texture packs will be able to name them with
three-character IDs, removing the need for users to rename anything.
2016-01-06 14:33:36 +01:00
Lioncash
e082ebad1a
HiresTextures: Remove the need to explicitly free SOIL allocated data
2015-12-29 08:40:17 -05:00
Lioncash
1d01fbd217
HiresTextures: Make Load return a unique_ptr
2015-12-29 08:40:15 -05:00
Lioncash
6a9e4511b5
HiresTextures: Remove unnecessary header includes
2015-12-29 08:40:07 -05:00
Markus Wick
a6412fb41e
Merge pull request #2162 from degasus/prefetch_tex
...
CustomTexture: prefetch all available textures
2015-05-26 13:30:26 +02:00
Tillmann Karras
30ebb2459e
Set copyright year to when a file was created
2015-05-25 13:22:31 +02:00
Tillmann Karras
cefcb0ace9
Update license headers to GPLv2+
2015-05-25 13:22:31 +02:00
degasus
242f7d964d
CustomTexture: prefetch all available textures
2015-05-16 15:12:07 +02:00
degasus
f9ced4eb13
CustomTexture: also support the legacy format
2015-01-21 21:22:55 +01:00
degasus
62402efa6c
CustomTexture: Mark textures with mipmaps
2015-01-21 21:22:55 +01:00
degasus
ee9d05d67f
CustomTexture: Use another file name with wildcards
2015-01-21 21:22:55 +01:00
degasus
f8184858da
VideoCommon: Merge code to generate texture names on dumping
2014-12-29 10:24:27 +01:00
degasus
51bfc4c52a
VideoCommon: rewrite custom textures
2014-12-29 10:24:21 +01:00
Lioncash
b06ec302d1
Remove some unnecessary semicolons
2014-09-11 13:05:31 -04:00
Lioncash
a82675b7d5
Kill off some usages of c_str.
...
Also changes some function params, but this is ok.
Some simplifications were also able to be made (ie. killing off strcmps with ==, etc).
2014-03-14 13:51:23 -04:00
Lioncash
2afe215271
Convert all includes to relative paths.
2014-02-18 02:19:10 -05:00
lioncash
d2038049f5
Replace all include guard ifdefs with "#pragma once"
2014-02-10 18:07:16 -05:00
Jasper St. Pierre
34692ab826
Remove unnecessary Src/ folders
2013-12-31 14:03:19 -05:00