.. |
Assets
|
VideoCommon: add ability to serialize a texture asset metadata to json
|
2024-06-29 14:50:40 -05:00 |
GraphicsModSystem
|
Merge pull request #12818 from iwubcode/json_file_operations
|
2024-06-15 16:43:38 +02:00 |
AbstractFramebuffer.cpp
|
VideoBackends: add support to allow rendering to multiple output textures
|
2023-06-03 14:52:31 -05:00 |
AbstractFramebuffer.h
|
AbstractFramebuffer: Fix Android reorder-ctor warning
|
2023-08-12 20:48:47 -07:00 |
AbstractGfx.cpp
|
Video: implement color correction to match the NTSC and PAL color spaces (and gamma) that GC and Wii targeted.
|
2023-06-19 01:34:42 +03:00 |
AbstractGfx.h
|
VideoBackends: support multiple compute images for some backends (D3D, OGL, Vulkan)
|
2023-06-28 17:15:31 -05:00 |
AbstractPipeline.h
|
Fix uninitialized variable warnings (C26495)
|
2023-02-15 19:18:39 -08:00 |
AbstractShader.h
|
treewide: convert GPLv2+ license info to SPDX tags
|
2021-07-05 04:35:56 +02:00 |
AbstractStagingTexture.cpp
|
Treewide: Adjust order of includes
|
2021-12-10 14:49:57 -08:00 |
AbstractStagingTexture.h
|
treewide: convert GPLv2+ license info to SPDX tags
|
2021-07-05 04:35:56 +02:00 |
AbstractTexture.cpp
|
VideoBackends / VideoCommon: add type enum to dictate whether a texture is a 2D texture, a texture array, or a cube map; support 2D texture type across backends
|
2023-12-15 11:06:02 -06:00 |
AbstractTexture.h
|
VideoCommon: move texture dump function out of texture cache to its own free function so it can be used elsewhere. Doing this change may also slightly improve performance of this operation
|
2023-11-26 16:35:03 -06:00 |
AsyncRequests.cpp
|
VideoCommon/Fifo: Pass system instance through FifoManager constructor
|
2023-12-18 22:03:25 -05:00 |
AsyncRequests.h
|
Fix crashes in dual core mode on a PI_FIFO_RESET
|
2022-08-18 13:38:37 -07:00 |
AsyncShaderCompiler.cpp
|
Core::GetState: Avoid Global System Accessor
|
2024-04-08 16:23:23 -07:00 |
AsyncShaderCompiler.h
|
Allow to interrupt shader precompilation by stopping emulation
|
2022-06-10 17:11:32 +02:00 |
BoundingBox.cpp
|
VideoCommon: Use std::span for BoundingBox::Write()
|
2023-12-09 16:33:21 -05:00 |
BoundingBox.h
|
VideoCommon: Use std::span for BoundingBox::Write()
|
2023-12-09 16:33:21 -05:00 |
BPFunctions.cpp
|
Move SmallVector to Common
|
2023-08-22 13:19:49 +02:00 |
BPFunctions.h
|
Resolve GCC Warnings
|
2022-06-30 15:26:48 -05:00 |
BPMemory.cpp
|
Replace Common::BitCast with std::bit_cast
|
2024-05-03 18:43:51 -07:00 |
BPMemory.h
|
Add descriptions for more BP registers
|
2023-11-11 23:32:17 -08:00 |
BPStructs.cpp
|
VideoCommon/BPStructs: Add a missing bounds check
|
2024-04-20 18:31:08 +02:00 |
BPStructs.h
|
treewide: convert GPLv2+ license info to SPDX tags
|
2021-07-05 04:35:56 +02:00 |
CMakeLists.txt
|
Properly link against xxhash
|
2024-07-06 16:56:44 -05:00 |
CommandProcessor.cpp
|
Migrate SConfig::bWii to System.
|
2024-01-31 12:54:07 +01:00 |
CommandProcessor.h
|
Migrate SConfig::bWii to System.
|
2024-01-31 12:54:07 +01:00 |
ConstantManager.h
|
VideoCommon: add milliseconds elapsed time value to pixel shaders as a uniform to be able to support animation effects in custom shaders
|
2023-08-20 18:53:27 -05:00 |
Constants.h
|
Revert "VideoCommon: revert max pixel shader samplers back to 8 for Android devices."
|
2024-01-03 18:43:44 -06:00 |
CPMemory.cpp
|
Migrate SConfig::bWii to System.
|
2024-01-31 12:54:07 +01:00 |
CPMemory.h
|
Fix out of bounds accesses for invalid vertex component formats
|
2024-04-04 12:50:34 -07:00 |
CPUCull.cpp
|
VideoCommon: move xf state management to its own class, so changes can be detected in places other than VertexShaderManager
|
2023-11-26 16:27:26 -06:00 |
CPUCull.h
|
Fix uninitialized variable warnings (C26495)
|
2023-02-15 19:18:39 -08:00 |
CPUCullImpl.h
|
VideoCommon: Add class for quickly transforming and culling vertices on the CPU
|
2023-01-25 02:21:56 -06:00 |
DataReader.h
|
treewide: convert GPLv2+ license info to SPDX tags
|
2021-07-05 04:35:56 +02:00 |
DriverDetails.cpp
|
VideoCommon: Post to analytics when bug is overridden
|
2024-01-28 23:24:23 -06:00 |
DriverDetails.h
|
VideoCommon: Post to analytics when bug is overridden
|
2024-01-28 23:24:23 -06:00 |
Fifo.cpp
|
VideoCommon/CommandProcessor: Pass system instance through constructor
|
2023-12-20 09:02:53 -05:00 |
Fifo.h
|
VideoCommon/Fifo: Pass system instance through FifoManager constructor
|
2023-12-18 22:03:25 -05:00 |
FramebufferManager.cpp
|
VideoCommon/Statistics: Remove global system accessor from s_after_frame_event
|
2024-01-31 13:12:09 -05:00 |
FramebufferManager.h
|
Video: Make the game resolution (within the window) snap to the XFB size if they are within a ~1 pixel treshold on one axis only.
|
2024-02-20 03:09:11 +02:00 |
FramebufferShaderGen.cpp
|
Video: implement color correction to match the NTSC and PAL color spaces (and gamma) that GC and Wii targeted.
|
2023-06-19 01:34:42 +03:00 |
FramebufferShaderGen.h
|
Video: implement color correction to match the NTSC and PAL color spaces (and gamma) that GC and Wii targeted.
|
2023-06-19 01:34:42 +03:00 |
FrameDumper.cpp
|
Video: remove enforced resolution least common multiple of 4 when dumping screenshots and not videos (only videos encoders have this limit).
|
2024-04-08 22:54:45 +03:00 |
FrameDumper.h
|
Video: remove enforced resolution least common multiple of 4 when dumping screenshots and not videos (only videos encoders have this limit).
|
2024-04-08 22:54:45 +03:00 |
FrameDumpFFMpeg.cpp
|
Core/SystemTimers: Refactor to class, move to System.
|
2024-01-04 23:35:19 +01:00 |
FrameDumpFFMpeg.h
|
Fix builds with FFMPEG disabled
|
2023-02-09 18:36:20 +13:00 |
FreeLookCamera.cpp
|
Common: Refactor PointerWrap
|
2022-05-25 13:06:41 -07:00 |
FreeLookCamera.h
|
VideoCommon: update Free Look camera's 'FieldOfView' function to 'FieldOfViewMultiplier' to better reflect usage
|
2021-10-08 18:17:20 -05:00 |
GeometryShaderGen.cpp
|
VideoBackends / VideoCommon: add new uniform buffer object for custom shader materials (slot 3, geometry shader buffer moves to slot 4 if available)
|
2023-10-06 02:17:42 -05:00 |
GeometryShaderGen.h
|
Fix ambiguous uses of format_to
|
2022-01-13 11:11:08 -08:00 |
GeometryShaderManager.cpp
|
VideoCommon: De-globalize GeometryShaderManager class.
|
2022-12-29 15:33:19 +01:00 |
GeometryShaderManager.h
|
VideoCommon: De-globalize GeometryShaderManager class.
|
2022-12-29 15:33:19 +01:00 |
GXPipelineTypes.h
|
VideoCommon: given the changes to pipeline interaction, update the global version variable to reflect those changes and force pipelines to be rebuilt
|
2023-10-06 02:17:43 -05:00 |
HiresTextures.cpp
|
VideoCommon: instead of using 'CustomTextureData' directly, use 'TextureData' for texture assets, this allows us to provide additional metadata for textures. Such as a sampler or type information (to distinguish cube maps)
|
2023-10-10 09:58:14 -05:00 |
HiresTextures.h
|
Core / VideoCommon: update HiresTexture to use CustomAssetLoader
|
2023-06-05 16:33:19 -05:00 |
IndexGenerator.cpp
|
IndexGenerator: Fix off-by-one in GetRemainingIndices
|
2023-01-04 10:42:00 -08:00 |
IndexGenerator.h
|
VideoCommon: Add vertex shader point and line expansion
|
2022-10-22 20:13:24 -05:00 |
LightingShaderGen.cpp
|
LightingShaderGen: Resolve -Wshadow warnings
|
2023-12-12 16:55:06 -05:00 |
LightingShaderGen.h
|
VideoCommon: add helper functions to handle generating custom lighting code for a custom pixel shader
|
2023-08-20 18:53:27 -05:00 |
LookUpTables.h
|
treewide: convert GPLv2+ license info to SPDX tags
|
2021-07-05 04:35:56 +02:00 |
NativeVertexFormat.h
|
NativeVertexFormat: Collapse std namespace and mark hash noexcept
|
2024-01-31 12:37:44 -05:00 |
NetPlayChatUI.cpp
|
VideoCommon: update NetplayChatUI's chat message input to use a hidden label. This avoids an error thrown by imgui
|
2023-07-29 00:27:07 -05:00 |
NetPlayChatUI.h
|
treewide: convert GPLv2+ license info to SPDX tags
|
2021-07-05 04:35:56 +02:00 |
NetPlayGolfUI.cpp
|
treewide: convert GPLv2+ license info to SPDX tags
|
2021-07-05 04:35:56 +02:00 |
NetPlayGolfUI.h
|
treewide: convert GPLv2+ license info to SPDX tags
|
2021-07-05 04:35:56 +02:00 |
OnScreenDisplay.cpp
|
Fix margins on icon-only messages
|
2024-06-15 22:42:35 -04:00 |
OnScreenDisplay.h
|
Refactored Achievement Badges into Texture Layers
|
2024-05-23 10:41:45 -04:00 |
OnScreenUI.cpp
|
Merge pull request #12867 from AdmiralCurtiss/uicommon-dependency
|
2024-06-21 20:01:44 +02:00 |
OnScreenUI.h
|
Refactored Challenge Icons to handle icon updates
|
2024-06-15 07:36:49 -04:00 |
OnScreenUIKeyMap.h
|
Insert a more solid abstraction between Qt and Imgui
|
2023-02-09 18:36:20 +13:00 |
OpcodeDecoding.cpp
|
VideoCommon: Remove calls to GetPointer
|
2024-04-09 21:08:57 +02:00 |
OpcodeDecoding.h
|
VideoCommon: add message to XF load assert
|
2023-12-12 22:35:02 +00:00 |
PerformanceMetrics.cpp
|
HW/VideoInterface: Refactor to class.
|
2023-03-11 12:50:35 +01:00 |
PerformanceMetrics.h
|
Fix uninitialized variable warnings (C26495)
|
2023-02-15 19:18:39 -08:00 |
PerformanceTracker.cpp
|
PerformanceTracker: Add ownership of m_log_name.
|
2023-01-06 20:27:25 +01:00 |
PerformanceTracker.h
|
PerformanceTracker: Add ownership of m_log_name.
|
2023-01-06 20:27:25 +01:00 |
PerfQueryBase.cpp
|
treewide: convert GPLv2+ license info to SPDX tags
|
2021-07-05 04:35:56 +02:00 |
PerfQueryBase.h
|
Add virtual Initialize() to PerfQueryBase
|
2023-01-31 19:41:24 +13:00 |
PixelEngine.cpp
|
VideoCommon/PixelEngine: Generify lock guards
|
2023-12-22 14:19:29 -05:00 |
PixelEngine.h
|
VideoCommon/PixelEngine: Passthrough system instance in constructor
|
2023-12-22 14:19:26 -05:00 |
PixelShaderGen.cpp
|
Merge pull request #12721 from iwubcode/custom_shader_alpha
|
2024-06-11 21:13:24 -04:00 |
PixelShaderGen.h
|
VideoCommon: prepare graphics mods for custom shader material data
|
2023-12-12 17:56:26 -06:00 |
PixelShaderManager.cpp
|
Make sure pixel shaders pick up Initial EFB Scale
|
2023-02-09 18:36:20 +13:00 |
PixelShaderManager.h
|
VideoCommon: add custom pixel shader constants as a buffer of data to be passed to all backends
|
2023-10-05 21:20:16 -05:00 |
PostProcessing.cpp
|
PostProcessing: Don't potentially leak memory in BlitFromTexture()
|
2024-01-23 13:34:40 -05:00 |
PostProcessing.h
|
Video: fix post process shaders with parameters failing to build on OpenGL
|
2023-08-18 02:00:56 +03:00 |
Present.cpp
|
Merge pull request #12698 from iwubcode/xfb_copy_hash_in_present
|
2024-04-18 17:11:49 +02:00 |
Present.h
|
Video: split frame dumping settings into 3 resolution dumping modes
|
2024-04-08 22:54:45 +03:00 |
RenderBase.cpp
|
Move UseVertexDepthRange() out of Renderer
|
2023-02-09 18:36:20 +13:00 |
RenderBase.h
|
Cleanup headers
|
2023-02-09 18:36:20 +13:00 |
RenderState.cpp
|
VideoCommon: copy software renderer logic for blend mode priorities
|
2023-11-12 05:51:28 +00:00 |
RenderState.h
|
RenderState: Collapse std namespace for hash
|
2024-01-31 12:40:10 -05:00 |
sfont.inc
|
Use fmt::to_string for texture format overlay
|
2022-07-15 12:29:40 -07:00 |
ShaderCache.cpp
|
VideoCommon/Statistics: Remove global system accessor from s_after_frame_event
|
2024-01-31 13:12:09 -05:00 |
ShaderCache.h
|
Common/LinearDiskCache: Move interface into Common namespace
|
2023-04-19 09:14:39 -04:00 |
ShaderGenCommon.cpp
|
VideoCommon: allow custom shaders to set the alpha value for use when blending is enabled
|
2024-04-28 18:15:27 -05:00 |
ShaderGenCommon.h
|
VideoCommon: prepare graphics mods for custom shader material data
|
2023-12-12 17:56:26 -06:00 |
Spirv.cpp
|
Merge pull request #10946 from Pokechu22/remove-iLog
|
2022-08-05 22:42:09 +12:00 |
Spirv.h
|
VideoBackends / VideoCommon: refactor Vulkan to use new SPIRV functionality
|
2022-06-24 18:09:53 -05:00 |
Statistics.cpp
|
Config: Expose GFX_OVERLAY_PROJ_STATS setting in UI.
|
2024-04-18 14:45:28 -05:00 |
Statistics.h
|
VideoCommon: Show the average projection to viewport ratio in statistics
|
2024-04-18 14:45:28 -05:00 |
TextureCacheBase.cpp
|
VideoCommon: pull texture sampler out of texture cache so that it can be used in other places in the future
|
2024-06-01 23:21:04 -05:00 |
TextureCacheBase.h
|
VideoCommon: pull texture sampler out of texture cache so that it can be used in other places in the future
|
2024-06-01 23:21:04 -05:00 |
TextureConfig.cpp
|
VideoCommon: add texture type to texture config comparison
|
2024-06-08 14:28:11 -05:00 |
TextureConfig.h
|
TextureConfig: Collapse std namespace for hash
|
2024-01-31 12:41:33 -05:00 |
TextureConversionShader.cpp
|
Common/MathUtil: Move IntLog2 into MathUtil namespace
|
2023-04-15 03:35:05 -04:00 |
TextureConversionShader.h
|
VideoCommon: Reduce duplicates of non-palette-requiring texture decode shaders
|
2022-06-16 02:08:45 -05:00 |
TextureConverterShaderGen.cpp
|
VideoCommon: apply "force 24-bit color" to EFB-to-VRAM copies as well
|
2023-12-20 02:25:07 +00:00 |
TextureConverterShaderGen.h
|
Restructure parameters to TetxureConverterShaderGen/TextureConversionShader
|
2022-07-16 00:07:10 -07:00 |
TextureDecoder_Common.cpp
|
VideoCommon: Use GetSpanForAddress safely in texture decoding
|
2024-04-20 18:31:08 +02:00 |
TextureDecoder_Generic.cpp
|
Treewide: Adjust order of includes
|
2021-12-10 14:49:57 -08:00 |
TextureDecoder_Util.h
|
treewide: convert GPLv2+ license info to SPDX tags
|
2021-07-05 04:35:56 +02:00 |
TextureDecoder_x64.cpp
|
Remove casts to integers for texture and EFB formats
|
2022-07-15 12:29:40 -07:00 |
TextureDecoder.h
|
VideoCommon: Use GetSpanForAddress safely in texture decoding
|
2024-04-20 18:31:08 +02:00 |
TextureInfo.cpp
|
VideoCommon: Use GetSpanForAddress safely in texture decoding
|
2024-04-20 18:31:08 +02:00 |
TextureInfo.h
|
VideoCommon: Use GetSpanForAddress safely in texture decoding
|
2024-04-20 18:31:08 +02:00 |
TextureUtils.cpp
|
VideoCommon: Scan texture dumping directory + subdirectories to not re-dump existing files.
|
2024-03-21 20:27:34 -05:00 |
TextureUtils.h
|
VideoCommon: Scan texture dumping directory + subdirectories to not re-dump existing files.
|
2024-03-21 20:27:34 -05:00 |
TMEM.cpp
|
Treewide: Adjust order of includes
|
2021-12-10 14:49:57 -08:00 |
TMEM.h
|
Treewide: Adjust order of includes
|
2021-12-10 14:49:57 -08:00 |
UberShaderCommon.cpp
|
EnumUtils: Add Common::ToUnderlying
|
2023-06-17 07:15:33 -05:00 |
UberShaderCommon.h
|
VideoCommon: Allow BitfieldExtract in specialized shaders
|
2021-11-17 20:04:33 -08:00 |
UberShaderPixel.cpp
|
VideoCommon: allow custom shaders to set the alpha value for use when blending is enabled
|
2024-04-28 18:15:27 -05:00 |
UberShaderPixel.h
|
VideoCommon: uber pixel shader gen changes needed to support custom pixel shaders in graphics mods
|
2023-08-20 18:53:27 -05:00 |
UberShaderVertex.cpp
|
VideoCommon: Fix VS point/line on older GLSL
|
2023-10-24 23:18:01 -05:00 |
UberShaderVertex.h
|
VideoCommon: Name ubershaders
|
2022-06-16 02:08:45 -05:00 |
VertexLoader_Color.cpp
|
VertexLoader: Fix wrong array being used if color 1 is present but color 0 isn't
|
2023-12-02 15:54:52 -08:00 |
VertexLoader_Color.h
|
VertexLoader: Fix wrong array being used if color 1 is present but color 0 isn't
|
2023-12-02 15:54:52 -08:00 |
VertexLoader_Normal.cpp
|
Fix out of bounds accesses for invalid vertex component formats
|
2024-04-04 12:50:34 -07:00 |
VertexLoader_Normal.h
|
Fix out of bounds accesses for invalid vertex component formats
|
2024-04-04 12:50:34 -07:00 |
VertexLoader_Position.cpp
|
Fix out of bounds accesses for invalid vertex component formats
|
2024-04-04 12:50:34 -07:00 |
VertexLoader_Position.h
|
Fix out of bounds accesses for invalid vertex component formats
|
2024-04-04 12:50:34 -07:00 |
VertexLoader_TextCoord.cpp
|
Fix out of bounds accesses for invalid vertex component formats
|
2024-04-04 12:50:34 -07:00 |
VertexLoader_TextCoord.h
|
Fix out of bounds accesses for invalid vertex component formats
|
2024-04-04 12:50:34 -07:00 |
VertexLoader.cpp
|
VertexLoader: Use Common::SmallVector
|
2023-12-02 15:54:52 -08:00 |
VertexLoader.h
|
VertexLoader: Use Common::SmallVector
|
2023-12-02 15:54:52 -08:00 |
VertexLoaderARM64.cpp
|
Fix out of bounds accesses for invalid vertex component formats
|
2024-04-04 12:50:34 -07:00 |
VertexLoaderARM64.h
|
VertexLoader: Eliminate use of DataReader
|
2022-11-22 17:17:11 -08:00 |
VertexLoaderBase.cpp
|
Replace Common::BitCast with std::bit_cast
|
2024-05-03 18:43:51 -07:00 |
VertexLoaderBase.h
|
VertexLoaderBase: Collapse std namespace for hash and mark noexcept
|
2024-01-31 12:43:00 -05:00 |
VertexLoaderManager.cpp
|
Memmap: Replace GetPointer with GetSpanForAddress
|
2024-04-20 18:31:08 +02:00 |
VertexLoaderManager.h
|
VertexLoader: Eliminate use of DataReader
|
2022-11-22 17:17:11 -08:00 |
VertexLoaderUtils.h
|
VertexLoader: Eliminate use of DataReader
|
2022-11-22 17:17:11 -08:00 |
VertexLoaderX64.cpp
|
Fix out of bounds accesses for invalid vertex component formats
|
2024-04-04 12:50:34 -07:00 |
VertexLoaderX64.h
|
VertexLoader: Eliminate use of DataReader
|
2022-11-22 17:17:11 -08:00 |
VertexManagerBase.cpp
|
VideoCommon: pull texture sampler out of texture cache so that it can be used in other places in the future
|
2024-06-01 23:21:04 -05:00 |
VertexManagerBase.h
|
VideoCommon: Show the average projection to viewport ratio in statistics
|
2024-04-18 14:45:28 -05:00 |
VertexShaderGen.cpp
|
VideoCommon: Fix VS point/line on older GLSL
|
2023-10-24 23:18:01 -05:00 |
VertexShaderGen.h
|
Fix build errors related to formatting non-scoped enums
|
2022-11-23 13:45:43 -08:00 |
VertexShaderManager.cpp
|
VideoCommon: move xf state management to its own class, so changes can be detected in places other than VertexShaderManager
|
2023-11-26 16:27:26 -06:00 |
VertexShaderManager.h
|
VideoCommon: move xf state management to its own class, so changes can be detected in places other than VertexShaderManager
|
2023-11-26 16:27:26 -06:00 |
VideoBackendBase.cpp
|
Core::IsRunning: Avoid Global System Accessor
|
2024-05-01 08:54:17 -07:00 |
VideoBackendBase.h
|
VideoCommon: Pass WindowSystemInfo to InitBackendInfo
|
2023-06-08 22:07:39 -07:00 |
VideoCommon.h
|
Fix warning about compare sign mismatch
|
2023-01-31 19:41:23 +13:00 |
VideoConfig.cpp
|
Core/VideoCommon: Revert change from #12828
|
2024-06-23 03:44:05 +02:00 |
VideoConfig.h
|
VideoConfig: Adjust FrameDumpResolutionType enum class to style guidelines
|
2024-04-13 03:21:39 +02:00 |
VideoEvents.h
|
VideoCommon: add xfbs presented to video events
|
2024-04-09 18:57:32 -05:00 |
VideoState.cpp
|
VideoCommon: Use GetSpanForAddress safely in texture decoding
|
2024-04-20 18:31:08 +02:00 |
VideoState.h
|
treewide: convert GPLv2+ license info to SPDX tags
|
2021-07-05 04:35:56 +02:00 |
Widescreen.cpp
|
VideoCommon: Show the average projection to viewport ratio in statistics
|
2024-04-18 14:45:28 -05:00 |
Widescreen.h
|
Video: update widescreen heuristic code to never get stuck to specific old values when changing settings
|
2024-02-20 22:26:19 +02:00 |
XFMemory.cpp
|
treewide: convert GPLv2+ license info to SPDX tags
|
2021-07-05 04:35:56 +02:00 |
XFMemory.h
|
VideoCommon: Add class for quickly transforming and culling vertices on the CPU
|
2023-01-25 02:21:56 -06:00 |
XFStateManager.cpp
|
VideoCommon: move xf state management to its own class, so changes can be detected in places other than VertexShaderManager
|
2023-11-26 16:27:26 -06:00 |
XFStateManager.h
|
VideoCommon: move xf state management to its own class, so changes can be detected in places other than VertexShaderManager
|
2023-11-26 16:27:26 -06:00 |
XFStructs.cpp
|
Replace Common::BitCast with std::bit_cast
|
2024-05-03 18:43:51 -07:00 |
XFStructs.h
|
Refactor OpcodeDecoding and FIFO analyzer to use callbacks
|
2021-12-18 15:21:36 -08:00 |