degasus
9a96e3c416
AudioCommon: Remove lock on Pause state
...
We had to lock audiocommon with the old asynchron HLE audio emulation,
now our Mixer is just a plain FIFO which may underrun.
Of course, this will stutter, but underruning the audio backend is likely worse.
2015-05-28 19:58:18 +02:00
JosJuice
6fb8ce58d6
Honor logging settings at startup
...
https://code.google.com/p/dolphin-emu/issues/detail?id=7959
2015-05-28 09:28:23 +02:00
Fog
c767813c0c
Fix adding additional Disc 2 to certain multi-disc games
2015-05-27 11:08:57 -04:00
Tillmann Karras
285ac34bf3
OGL: use GL_TEXTURE* constants
2015-05-27 15:05:49 +02:00
JosJuice
f1580a4c91
Fix game list name encoding error caused by 4.0-6419 ( d7900b4
)
...
The UTF-8 std::strings were being interpreted as the default encoding.
2015-05-27 12:28:23 +02:00
Markus Wick
255a8dfdd2
Merge pull request #2465 from lioncash/commandproc
...
CommandProcessor: Replace volatile usages with atomics
2015-05-27 11:07:36 +02:00
Lioncash
1ba3b4e7ac
CommandProcessor: Replace volatile usages with atomics
...
Also remove said variables from being globals.
2015-05-27 03:53:29 -04:00
Markus Wick
3318120632
Merge pull request #2422 from lioncash/core
...
DSPCore: Make the mailbox registers atomic.
2015-05-27 09:14:41 +02:00
Lioncash
ec03196267
PixelEngine: Replace volatile usages with atomics
...
Also removes two unused volatile variables.
2015-05-27 02:39:55 -04:00
Markus Wick
a6b327751a
Merge pull request #2463 from lioncash/fifo
...
Fifo: Replace usages of volatile with atomics
2015-05-27 08:03:39 +02:00
Lioncash
5db7d4d1d5
DSPCore: Make the mailbox registers atomic.
2015-05-27 00:58:52 -04:00
Lioncash
4cb55cc427
Fifo: Replace usages of volatile with atomics
2015-05-27 00:42:56 -04:00
Rohit Nirmal
c59bfd2b7f
Fix building with PCH disabled.
2015-05-26 22:44:51 -05:00
Matthew Parlane
3135b4f3e4
Merge pull request #2461 from lioncash/barrier
...
Thread: Remove unused Barrier class
2015-05-27 13:21:14 +10:00
Lioncash
23c11b3f27
Thread: Remove unused Barrier class
2015-05-26 19:25:59 -04:00
Markus Wick
85e706b4ec
Merge pull request #2459 from degasus/master
...
Common: Fix IsTriviallyCopyable macro for GCC 5
2015-05-26 20:13:14 +02:00
degasus
ebad10f2a1
Common: Fix IsTriviallyCopyable macro for GCC 5
...
Based on quarthex's patch in PR #2440
2015-05-26 19:50:14 +02:00
Tillmann Karras
6ea49da5b9
Jit64: fix ps_sum
...
It's /always/ the register cache.
2015-05-26 19:00:42 +02:00
skidau
8944e07f84
Merge pull request #2457 from degasus/master
...
DolphinWX: Drop dead hotkey button.
2015-05-26 23:53:46 +10:00
degasus
b64301d65c
DolphinWX: Drop dead hotkey button.
2015-05-26 15:50:15 +02:00
Jules Blok
0b61a0dfc5
Merge pull request #2448 from Armada651/depth-inversion
...
D3D: Depth range inversion.
2015-05-26 15:39:50 +02:00
Markus Wick
d7900b4423
Merge pull request #2006 from RisingFog/disc2
...
Append Disc 2 to Titles for Multi-Disc Games
2015-05-26 15:39:42 +02:00
Jules Blok
ca7801da44
D3D: Invert initial depth buffer clear.
2015-05-26 15:31:36 +02:00
galop1n
2975e53091
D3D: Depth range inversion.
...
Credits go to Galop1n for designing this technique and to BhaaLseN for cleaning up the commit.
2015-05-26 15:31:31 +02: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
Markus Wick
5d3a248811
Merge pull request #2455 from lioncash/fifo
...
FifoQueue: Use atomics instead of volatile members
2015-05-26 12:26:36 +02:00
Lioncash
de5038849e
FifoQueue: Use atomics instead of volatile members
2015-05-26 05:34:47 -04:00
Ryan Houdek
b038b61a29
[ARMv7] Extend the life of the JIT Recompiler.
...
Until loadstores are fully investigated, let's artificially extend the life of it by disabling all of them.
These instructions break in a very terrible way and eventually all loadstores end up attempting to access memory region (u32)-1.
Disable until someone has enough time to investigate further.
2015-05-25 23:36:28 -05:00
Ryan Houdek
a4a8162fb5
Merge pull request #2188 from JosJuice/dol-cleanup
...
DOL loader cleanup with std::vector and safety checks
2015-05-25 23:51:40 -04:00
Ryan Houdek
f4625e6383
Merge pull request #2398 from JosJuice/revert-854f6b8
...
Attempt at fixing issue 8544 (input recording desyncs)
2015-05-25 23:49:56 -04:00
Ryan Houdek
061848457a
Merge pull request #2382 from RisingFog/vfwfix
...
Fix video dumping incorrect lengths for some games in Windows
2015-05-25 23:46:22 -04:00
Ryan Houdek
f706518dc0
Merge pull request #2390 from darkengine-io/new-qt
...
More miscellaneous Qt fixes
2015-05-25 23:45:21 -04:00
Ryan Houdek
96ef0fce38
Merge pull request #2450 from lioncash/alloc
...
NetPlayClient: Remove unnecessary array allocation
2015-05-25 23:42:49 -04:00
Ryan Houdek
b0b5f4d10d
Merge pull request #2326 from JosJuice/isoproperties-config-block
...
ISOProperties: Don't block when opening default INI in text editor
2015-05-25 23:42:26 -04:00
Ryan Houdek
5911dd528a
Merge pull request #2361 from JosJuice/filesystem-read32
...
Remove CFileSystemGCWii::Read32
2015-05-25 23:40:28 -04:00
Ryan Houdek
c88d6c804a
Merge pull request #2430 from Sonicadvance1/android_panic_handler
...
[Android] Add support for panic alerts to the JNI.
2015-05-25 23:37:48 -04:00
Ryan Houdek
4ba430951a
Merge pull request #2439 from JosJuice/company-from-id
...
Use an ID-to-name map when volume has no company string
2015-05-25 23:32:55 -04:00
Ryan Houdek
0c31013622
Merge pull request #2453 from rohit-n/call-me-bob
...
Fix building with PCH disabled.
2015-05-25 23:28:18 -04:00
Ryan Houdek
1d6375b71f
Merge pull request #2339 from JosJuice/fix-wii-fst-size
...
Fix reading Wii FST size
2015-05-25 23:27:25 -04:00
Rohit Nirmal
dbe54e63ed
Fix building with PCH disabled.
2015-05-25 22:26:43 -05:00
Ryan Houdek
dad5d8e13d
Merge pull request #2357 from degasus/ogl_efb_poke_merge
...
ogl: efb poke merge
2015-05-25 23:26:39 -04:00
Ryan Houdek
3817dd0f91
Merge pull request #2272 from phire/jitil-floatbug
...
JitIL: Fix a bug in floatpoint load/store instructions.
2015-05-25 23:17:56 -04:00
Ryan Houdek
d789d8d75f
[Android] Add support for panic alerts to the JNI.
2015-05-25 22:13:00 -05:00
Ryan Houdek
7c04c76a26
Merge pull request #2421 from Tilka/jit_stuff
...
Jit64: fixes + less code
2015-05-25 23:08:24 -04:00
Ryan Houdek
0c5f5c4519
Merge pull request #2394 from Sonicadvance1/android_block_profiling_api
...
[Android] Block profiling JNI interface
2015-05-25 23:06:37 -04:00
Ryan Houdek
95f9096068
Merge pull request #2396 from Sonicadvance1/fix_racing_cpu_core
...
Fix a race condition when pausing the CPU core.
2015-05-25 23:06:18 -04:00
Ryan Houdek
99d9161e49
Merge pull request #2429 from Sonicadvance1/aarch64_block_profile
...
[AArch64] Implement block profiling.
2015-05-25 23:05:54 -04:00
Markus Wick
1fc3c8aa02
Merge pull request #2451 from degasus/master
...
DSP: Inline DSPControl into DSPState
2015-05-25 15:19:31 +02:00
Ryan Houdek
69963dc4b0
Merge pull request #2274 from degasus/disable_bbox
...
Disable bbox
2015-05-25 08:46:12 -04: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
Tillmann Karras
268f52e054
Add missing license headers
2015-05-25 13:11:47 +02:00
Tillmann Karras
6d9986846c
Simplify some more license headers
2015-05-25 13:11:41 +02:00
degasus
dd35f5df94
DSP: Inline DSPControl into DSPState
...
This was a struct with exactly one element, and
an overloaded constructor which matches the construtor
of this element. So there is no need for this stacked
structur.
2015-05-25 10:56:14 +02:00
degasus
7e127da791
VideoCommon: Warn if bbox is disabled but used
2015-05-25 09:33:34 +02:00
degasus
029912681e
VideoCommon: return 0 if bbox is disabled
...
Through just returning the last written value sounds better, this crashes Paper Mario.
In my opinion, gfx issues are fine on older GPUs, but crashes should not happen.
2015-05-25 09:33:34 +02:00
degasus
6b2a1e57e2
BBox: remove now unreachable SW bbox implementation
2015-05-25 09:33:34 +02:00
degasus
acd074e291
VideoCommon: Make BBox emulation optional
2015-05-25 09:33:34 +02:00
degasus
ac0e304159
Jitregister: fix common-core dependency
2015-05-25 09:33:34 +02:00
Markus Wick
732802ebd0
Merge pull request #2419 from Armada651/clip-control
...
OGL: Add glClipControl support.
2015-05-25 09:29:43 +02:00
Lioncash
b0075966af
NetPlayClient: Remove unnecessary array allocation
2015-05-24 22:53:25 -04:00
Matthew Parlane
34cd2b0299
Merge pull request #2435 from sigmabeta/android-native-autodetect
...
Android: Have build.gradle figure out what ABI and Toolchain to use.
2015-05-25 10:11:52 +10:00
JosJuice
d2e6adb045
Use an ID-to-name map when volume has no company string
...
This is written so that the result of GetCompanyFromID never is cached
(except on Android?). Caching is unnecessary because the string can be
obtained quickly at runtime, and not caching it means that the cache
doesn't have to be invalidated when GetCompanyFromID is edited.
2015-05-24 17:41:53 +02:00
Lioncash
6b30c9710c
SoundStream: Devirtualize StartLogAudio and StopLogAudio
...
These don't rely on anything that might need to be implemented in other SoundStream classes.
2015-05-24 06:10:11 -04:00
Lioncash
07d4dbe657
AudioCommon: Add missing override specifiers
...
Also removes unnecessary virtual keywords.
2015-05-24 06:10:03 -04:00
Lioncash
4695233c98
SoundStream: Devirtualize GetMixer
...
Since it's handled by the base class, there's no need to allow overriding.
2015-05-24 05:49:51 -04:00
Lioncash
35ee8a1362
SoundStream: Internally construct the mixer
...
Instead of creating the mixer externally and then passing it in, it can just be made within the class.
2015-05-24 05:49:41 -04:00
Lioncash
88e1850231
GekkoDisassembler: Fix typecast for the second printf param for mtfsf
2015-05-24 01:54:04 -04:00
Lioncash
612118e8e5
GekkoDisassembler: Fix disassembly of mtfsf's FM field
2015-05-24 01:51:07 -04:00
Lioncash
ac89d00718
DSPCaptureLogger: Add virtual destructor
...
Silences a warning.
2015-05-24 00:44:49 -04:00
Lioncash
c6088cdf31
Merge pull request #2442 from lioncash/netplay
...
NetPlayClient: Fix erroneous shifts for reconstructing system time.
2015-05-23 23:22:11 -04:00
Lioncash
1d2b29734a
NetPlayClient: Rename time variables to be more self-explanatory
2015-05-23 23:07:52 -04:00
Lioncash
6dd10033d3
NetPlayClient: Fix reassembling of system time from packets
...
The shifts need to be swapped to correctly reassemble a 64-bit integer.
2015-05-23 23:06:30 -04:00
Lioncash
5c3fecc8e5
DolphinWX: Add missing breaks to a switch in RegisterView
...
Technically the fallthrough would never happen, as the row numbers correspond to the grid view (which will always be zero or greater). However, it gets rid of compiler warnings on higher warning levels.
2015-05-23 22:16:39 -04:00
Matthew Parlane
8f12cc5bc3
Merge pull request #2433 from lioncash/leak
...
WII_IPC_HLE_Device_net: Fix a leak with getaddrinfo
2015-05-23 19:27:06 +10:00
Lioncash
383b104af0
WiiWad: Use correct form of delete for arrays
2015-05-22 17:52:54 -04:00
Jules Blok
e31982474c
OGL: Depth range inversion.
2015-05-22 23:52:22 +02:00
Jules Blok
88cc91030e
VertexShaderGen: Use correct depth output when glClipControl is supported.
2015-05-22 23:52:21 +02:00
Jules Blok
522e721830
OGL: Add glClipControl support.
2015-05-22 23:52:20 +02:00
Eder Bastos
fe8d9e5a38
Android: Upgrade to newest Build-Tools version.
2015-05-22 17:14:28 -04:00
Eder Bastos
140826edd5
Android: Have build.gradle figure out what ABI and Toolchain to use.
2015-05-22 17:13:25 -04:00
Lioncash
9ad35cc986
ExpressionParser: Add missing break in UnaryExpression value setting
2015-05-22 15:02:22 -04:00
Lioncash
760a17abef
WII_IPC_HLE_Device_net: Fix a leak with getaddrinfo
2015-05-22 13:15:27 -04:00
Markus Wick
ad9dae30a8
Merge pull request #2410 from lioncash/swatomic
...
Software: Convert most volatile variables to atomics
2015-05-22 14:11:16 +02:00
Lioncash
474188d606
Merge pull request #2432 from lioncash/android
...
ButtonManager: Pass strings by const reference
2015-05-21 22:37:47 -04:00
Lioncash
8a2f70b2ef
ButtonManager: Pass strings by const reference
2015-05-21 22:22:52 -04:00
Eder Bastos
286af8be50
Android: Implement new EmulationActivity.
2015-05-21 20:14:03 -04:00
Tillmann Karras
df34d43936
Jit64: merge ps_sign into fsign
2015-05-21 12:33:37 +02:00
Tillmann Karras
36d6a16559
Jit64: merge ps_maddXX into fmaddXX
2015-05-21 12:33:37 +02:00
Tillmann Karras
c6147c5ed5
Jit64: merge ps_arith into fp_arith
2015-05-21 12:33:37 +02:00
Tillmann Karras
6d23b511a6
Jit64: merge tri_op into fp_tri_op
2015-05-21 12:33:37 +02:00
Tillmann Karras
dc220fa13d
Jit64: merge ps_sel into fselx
2015-05-21 12:33:36 +02:00
Tillmann Karras
05a55de08f
Jit64: optimize ps_sum
2015-05-21 12:33:36 +02:00
Tillmann Karras
6593ba7ecc
XEmitter: add BLENDPS/BLENDPD
2015-05-21 12:33:36 +02:00
Tillmann Karras
ece0ef4ca8
Jit64: add packed optimization to frsp
2015-05-21 12:33:36 +02:00
Tillmann Karras
6b8ab5993a
Jit64: make ForceSinglePrecision more versatile
2015-05-21 12:33:36 +02:00
Tillmann Karras
9792976ee9
Jit64: fix ForceSinglePrecisionS/P
...
This bug never broke anything because of how these functions are used.
Fixing it should avoid some false dependencies though.
2015-05-21 12:33:36 +02:00
Tillmann Karras
a7d753922d
Interpreter: fix instruction table flags of frsp
...
frsp overwrites both ps0 and ps1 so frD is not an input. Regardless of
whether that's what the hardware does, it's what we do.
2015-05-21 12:33:36 +02:00
Ryan Houdek
eb94e742f1
[AArch64] Implement block profiling.
...
This is time based block profiling unlike the ARMv7 core.
I would like to add cycle counter based block profiling like the ARMv7 core, but it first requires writing a kernel module to enable the counters to userland applications
2015-05-20 22:23:59 -05:00
Eder Bastos
3e5e352fee
Android: Implement an SQLite database-based game library.
2015-05-20 19:55:55 -04:00
Eder Bastos
4f6a5e0293
Android: Make floating action buttons use the correct accent color programmatically.
2015-05-20 19:46:48 -04:00
Eder Bastos
91c1c0b1b3
Android: Add SQLiteDatabase interface class.
2015-05-20 19:46:28 -04:00
Eder Bastos
5b0c047e0b
Android: Remove inheritance from Game model, and improve the relevance of its content
2015-05-20 19:46:19 -04:00
Eder Bastos
4c786cb70c
Android: Implement reading country value from game files.
2015-05-20 19:44:31 -04:00
Lioncash
12493c332c
Merge pull request #2420 from sigmabeta/android-native-gradle-build
...
Android: Allow building of native code inside Android Studio / Gradle
2015-05-20 19:31:30 -04:00
Lioncash
23842cb75d
Merge pull request #2413 from sigmabeta/android-lollipop-settings
...
Android: Implement Settings screen in new UI.
2015-05-20 19:14:22 -04:00
Lioncash
8dc2909c00
JitWindow: Add missing virtual destructor to HostDisassembler
...
HostDisassemblerLLVM has a destructor, but the class uses a pointer to the base class.
2015-05-20 12:27:47 -04:00
Jules Blok
05f42f94a0
OGL: Use floating point arithmetic to scale the depth value.
2015-05-20 14:22:30 +02:00
Jules Blok
05d60f4fef
Revert "OGL: Change the depth buffer type to GL_FLOAT."
...
This reverts commit 4b2e04b862
.
2015-05-20 14:22:29 +02:00
Jules Blok
9ef1ca4141
Revert "OGL: Switch depth buffers to GL_DEPTH_COMPONENT32F format."
...
This reverts commit be810eb750
.
2015-05-20 14:22:28 +02:00
degasus
d91d935057
OGL: reimplement poke-color
2015-05-20 11:05:31 +02:00
degasus
c7bae5ad11
VideoCommon: Merge EFB pokes
2015-05-20 10:39:21 +02:00
Tillmann Karras
ad6b522c3b
XEmitter: fix L bit in VEX prefix
2015-05-20 09:34:27 +02:00
Eder Bastos
4cded65320
Android: No longer require specification of NDK or Git paths in build.gradle.
2015-05-19 09:05:35 -04:00
Markus Wick
695a72c24c
Merge pull request #2414 from Armada651/depth-clamp
...
VideoBackends: Clamp depth to uint24 range.
2015-05-19 14:44:34 +02:00
Eder Bastos
9c19d91e18
Android: Allow building of native libraries inside Android Studio / Gradle
2015-05-18 21:20:43 -04:00
Fiora
22317ac74c
Merge pull request #2417 from Tilka/vex
...
XEmitter: VEX-related cleanup
I'm merging this solely because of the FMA3 error message
2015-05-18 16:23:23 -07:00
Fiora
ace0a6ec90
Merge pull request #2412 from Tilka/x64cpudetect
...
x64CPUDetect: fix AVX2/BMI1/BMI2/HTT detection
2015-05-18 16:22:23 -07:00
Fiora
b260500045
Merge pull request #2411 from Tilka/cosmetic
...
PowerPC: cosmetic changes
2015-05-18 16:20:52 -07:00
Markus Wick
cad23fe27b
Merge pull request #2415 from Armada651/d3d-depthbuffer
...
Revert "D3D: Use a 32-bit floating point depth buffer."
2015-05-18 23:31:11 +02:00
Jules Blok
ef78941042
VideoBackends: Clamp depth to uint24 range.
2015-05-18 23:22:28 +02:00
Tillmann Karras
c2c31086ae
XEmitter: restructure WriteVEXOp wrappers
2015-05-17 18:44:56 +02:00
Tillmann Karras
ae8efaa6a3
XEmitter: add VBLENDVPD and VCMPPD
2015-05-17 18:42:36 +02:00
Tillmann Karras
18e9241637
XEmitter: rename WriteVex to WriteVEX
2015-05-17 09:35:53 +02:00
Tillmann Karras
9e3f4df733
XEmitter: rename WriteRex to WriteREX
2015-05-17 09:35:53 +02:00
yerejm
e4e1fe5a9c
Reset faked CPU extension support at test end to ensure test isolation.
2015-05-17 11:48:05 +10:00
Jules Blok
f7151a2a5c
Revert "D3D: Use a 32-bit floating point depth buffer."
...
This reverts commit a224c604a3
.
2015-05-16 22:16:31 +02:00
degasus
562b9d4a9f
VideoCommon: Abort texture prefetching on low RAM
...
There is no nice way to correctly "detect" the "used" memory, so we just say
we're fine to use 50% of the physical memory for custom textures.
This will fix out-of-memory crashes, but we still might run into swapping issues.
2015-05-16 15:39:36 +02:00
degasus
242f7d964d
CustomTexture: prefetch all available textures
2015-05-16 15:12:07 +02:00
Eder Bastos
ba591ea1ee
Android: Add Settings Activity to new UI.
2015-05-15 10:45:00 -04:00
skidau
132ae5f457
Merge pull request #2349 from mathieui/remove-traversal-options-ui
...
Netplay: don’t show traversal server/port options (INI config only)
2015-05-15 12:34:05 +10:00
Eder Bastos
bb7f8c6753
Move AssetCopyService to the services package.
2015-05-14 20:44:52 -04:00
Tillmann Karras
7f57e27a65
x64CPUDetect: fix AVX2/BMI1/BMI2/HTT detection
...
On non-Windows platforms, ECX was not being initialized to 0.
2015-05-14 23:14:34 +02:00
Tillmann Karras
1b01911c01
Jit64: indent far code because it looks nice
2015-05-14 19:12:58 +02:00
Tillmann Karras
6c5e5cc7b8
PowerPC: clean up instruction tables
2015-05-14 19:12:54 +02:00
Tillmann Karras
accefbf0a5
JitBase: small cleanup
2015-05-14 19:08:07 +02:00
Tillmann Karras
5b023b83ec
Jit64: rename twx to twX
...
We use the lower-case x to signal an optional Rc bit.
2015-05-14 19:08:07 +02:00
Tillmann Karras
2074abbe86
Jit64: drop unused argument from SetFPRFIfNeeded
2015-05-14 19:08:05 +02:00
Tillmann Karras
9723a4e2ed
Interpreter: use IntDouble instead of casts
2015-05-14 18:59:05 +02:00
Lioncash
26a3eaf959
Software: Convert most volatile variables to atomics
2015-05-14 12:33:19 -04:00
Markus Wick
8290fa1e46
Merge pull request #2377 from degasus/zfreeze
...
PixelShaderGen: apply zfreeze before ztextures
2015-05-14 11:26:46 +02:00
skidau
e35148fe15
Merge pull request #2387 from lioncash/atomic
...
AudioCommon: Remove usages of volatile variables.
2015-05-14 13:31:28 +10:00
Eder Bastos
4710c3e0eb
Android: Build separate APKs for each native platform.
2015-05-13 22:45:12 -04:00
Rohit Nirmal
df9b06d937
Fix building with PCH disabled.
2015-05-13 16:06:09 -05:00
degasus
3d98f6ab9f
PixelShaderGen: apply zfreeze before ztextures
...
The zfreeze option freezes the depth plane of the rasterization.
So this is done before the TEV stages, where the z-textures are applied.
2015-05-13 20:06:23 +02:00
skidau
bdeb067597
Merge pull request #2402 from JosJuice/internal-title
...
Volume: Rename GetName to GetInternalName
2015-05-13 13:19:41 +10:00
Ryan Houdek
42cc48f929
Merge pull request #2407 from sigmabeta/master
...
Android: Put GCPadNew.ini back into the repository.
2015-05-12 19:24:05 -04:00
Eder Bastos
c75378bb45
Android: Put GCPadNew.ini back into the repository.
2015-05-12 19:12:21 -04:00
Lioncash
b036a4ea17
Merge pull request #2405 from sigmabeta/master
...
Android: Fix a possible crash in the file browser.
2015-05-12 09:36:39 -04:00
Eder Bastos
0fa0e55e2c
Android: Fix a possible crash in the file browser if attempting to show a file with no extension.
2015-05-12 09:18:29 -04:00