Compare commits

...

77 Commits
1.0 ... v1.0

Author SHA1 Message Date
ramapcsx2
68121cefcf Re-added prafull to the beta testers list, he got lost somehow.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5350 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-01 00:48:00 +00:00
sudonim1@gmail.com
134ac6a160 GUI: Closing the GS window didn't update the structure telling plugins about the window. Decided that just hiding the window has less race potential.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5347 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-24 03:48:38 +00:00
sudonim1@gmail.com
5f28d08286 GSDX: New interpretation of destination alpha testing to improve effect rendering as an optional hack. Known to make shadows in the persona games (and thus probably shin megami tensei) better, not sure what else it accomplishes without destroying other effects.
Now, a note about the actual issue.  Destination alpha tests can be used on the GS as one of the workarounds for a lack of stencils.  If you use a destination alpha test and leave alpha writing on, the GS will only write each pixel until you write an alpha value which would fail the test.  This works to a point in gsdx without further hacking, but that point is when within a single batch of primitives the same pixels are written multiple times and the destination alpha test is expected to update.  I did experimentally make a tight loop updating the stencil with a draw then drawing for one primitive at a time, but it was prohibitively slow (over 80% fps loss, you really don't want to know).

Destination alpha testing cannot be directly implemented in D3D9 or D3D10, but (probably) can in D3D11 (with a speed hit for sure, but I doubt it'll be 80%).  I'll be getting a new graphics card and looking into that.

And before some idiot says it, the answer is no.  OpenGL does not help.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5346 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-24 02:20:07 +00:00
sudonim1@gmail.com
96c8c13ead GSDX: don't unnecessarily create and use a render target for the DATE setup stage, D3D10+ supports not having a render target set. (D3D9 doesn't, so that's untouched.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5345 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-23 22:55:06 +00:00
sudonim1@gmail.com
8a20e5af90 GSDX: Quick ugly fix (major work on this function might be done soon) for a bug with colclamp I noticed. Unknown impact, might make some effects work.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5344 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-23 20:24:09 +00:00
sudonim1@gmail.com
8a8d3c67d4 GSDX: Removed the collapsing of ge/g and le/l alpha tests in the shader code and the supporting code in the C++. This was presumably intended to reduce the number of shaders needed but a) this was never actually implemented, b) a single developer will generally not mix the functionally equivalent (with a different AREF) greater/less than with greater/less than or equal to in GS techniques, c) it really wouldn't make much of a difference to performance anyway and d) it would make an experimental change I'm working with more complicated and slower.
No change in functionality expected.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5343 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-23 16:39:56 +00:00
sudonim1@gmail.com
1f8c4ddc22 GSDx: Just slapping some consts on methods I needed to use with const references in testing.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5342 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-21 03:45:40 +00:00
sudonim1@gmail.com
546adf52c9 GSDx: ATI strikes again. Workaround for ATI sampler bug, the same bug I found in palette sampling earlier.
This may make gsdx slightly slower for everyone (I don't know an easy way to restrict this to affected systems), especially if using 8-bit textures.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5341 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-19 20:40:42 +00:00
gregory.hainaut
0aeb9afcc0 1.0.0 & trunk: add new language th_TH
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5339 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-11 19:48:37 +00:00
gregory.hainaut
214487a467 1.0.0 & trunk:i18n update sv_SE
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5337 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-08 07:25:25 +00:00
ramapcsx2
180b57b9cf GSdx: 2 more crcs for GoW and GoW2.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5336 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-07 20:46:03 +00:00
gregory.hainaut
5fc77e8646 trunk/branch: i18n: update zh_TW and de_DE
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5335 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-07 08:44:50 +00:00
ramapcsx2
e4a4e607c9 A couple installer fixes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5331 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-03 10:30:26 +00:00
ramapcsx2
1e70895118 GSdx: Removed the CRC hack for Drakengard 2 as per issue 1303.
Thanks for reporting.
(Also replaced broken Chinese characters in comments.)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5330 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-27 16:06:25 +00:00
sudonim1@gmail.com
80ba8ff16a GSDX: Fix splinter cell double agent (and others) regression. Texture cache hits no longer depend on TEXA ever, GPU load however is increased. The last regression I think?
So, in the end I only properly understood the old code after finding all the problems with my version.  I'm not sure whether any changes I've made are improvements any more, I'll need to review it with what I've learned in mind.  This effort might've been a big waste of time.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5329 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-27 00:57:44 +00:00
shadowladyngemu
540d098794 GameDB: Status updates, games that require new gamefixes or don't anymore, etc etc...
GSdx Hackfixes: Lego Batman changed to aggressive list, doesn't really fix ingame and breaks the title screens.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5328 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-26 11:57:44 +00:00
refraction
64447dd23a Path3 Masking: Optimization got missed during r5277 revert. Outrun, GTA:SA, Burnout 2 and others all speed boosted again ;p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5326 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-25 20:55:31 +00:00
refraction
7b8d99a69f GIF/1.0.0: Fix some condition bitching from my sloppy coding in r5277 and integrated the change in to the 1.0.0 branch as it will stop the emulator complaining about double interrupts.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5325 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-25 12:15:39 +00:00
gregory.hainaut
040e6c509b linux launcher:
* play with LD_LIBRARY_PATH variable to allow to ship 3rd party library with pcsx2 binary build
* Add a basic check to catch missing depencencies of plugins


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5323 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-21 19:39:26 +00:00
gregory.hainaut
3af930c555 gsdx ogl: nvidia compiler is not happy with implicit cast...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5322 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-21 17:31:53 +00:00
avihal
3b2944fe45 GSdx: Disable CRC hacks: Yet cleaner, better and more generic. Thx to sudonim.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5321 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-20 20:45:24 +00:00
avihal
ae9c7791c2 GSdx: Disable CRC hacks - cleanups:
- Removed the #define DISABLE_CRC_HACKS (since it's at the GUI now).
- reverted r5315 and r5319 (which prevented gs dumps to have a correct CRC).
- Restored the functionality of these revisions via simple skip of the other hack calls.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5320 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-20 18:51:30 +00:00
gregory.hainaut
35d381cd11 linux compilation fix (introduce in r5306)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5319 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-20 18:00:08 +00:00
ramapcsx2
48284746d6 GSdx: Better CRC disable value, using -2.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5318 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-20 13:23:35 +00:00
sudonim1@gmail.com
179246a4eb SPU2-X: Tweak the quick fix in the previous rev a little: also select the default device if a GUID is specified but not present in the enumeration.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5317 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-20 12:28:13 +00:00
sudonim1@gmail.com
aa54e28add SPU2-X: Quick fix for an issue with dsound configuration dialog where if the default device is selected, nothing is initially selected in the combo box and on writing the configuration uninitialised memory is used for the GUID.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5316 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-20 12:21:44 +00:00
ramapcsx2
ef0377b0e9 GSdx: Fully disable CRC based hacks when the option is set (by setting the CRC to 0). Some GSRendererHW::OI_* functions were still active before.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5315 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-19 16:10:24 +00:00
sudonim1@gmail.com
4f6a842dca Fix SPU2-X linking issues (I sincerely hope).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5314 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-19 03:09:59 +00:00
sudonim1@gmail.com
f2ca45ad46 GSDX: Put palette checking for alpha min/max calculation back in because of gabest's concerns about the software renderer's performance. Added a one line fix instead (m_clut.Read32(TEX0, TEXA))
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5313 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-19 01:57:13 +00:00
sudonim1@gmail.com
f5f5074172 GSDX: Put the sprite hack back in because apparently it wasn't fixed.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5312 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-19 01:12:01 +00:00
sudonim1@gmail.com
21522e71b2 GSDX: Skip checking each palette entry's expanded alpha when deciding whether a texture is fully opaque. Textures are probably almost never determined to be opaque by this and doing it is problematic. (Skipping the check might even be a performance gain for hardware, you never know.)
Also remove some (probably mangled) chinese comments from the cutie merge.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5311 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-19 01:02:52 +00:00
sudonim1@gmail.com
0d9eca8668 88GSDX: Removed the "sprite hack" as it should be obsolete, fixed the vertex shader selector key function (the pixel shader was broken in the same way but with the "sprite hack" removed it doesn't matter now).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5310 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-19 00:35:42 +00:00
sudonim1@gmail.com
c755435eeb GSDX: Do not interpret TEXA while filling the gsdx internal temporary CLUT buffer used in texture creation and updating (I didn't realise this was happening and it's incompatible with my approach). Probably generally fixes stuff in combination with the other changes in palette handling, at the very least I know it fixes lines in sprites in Ar Tonelico 2 (currently needs the "sprite hack"), a bug which I spent a long time trying to fix after it was pointed out to me before.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5309 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-19 00:12:35 +00:00
gregory.hainaut
27a4110256 zzogl glsl: remove a bad optimization that lost track of some textures. Fix potential black-screen
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5308 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-18 22:13:22 +00:00
gregory.hainaut
d72a64b9cf zzogl: autocompletion typo. Interlace texture was attached to the wrong shader program
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5307 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-18 21:38:41 +00:00
refraction
ff6b79085d Null Plugins: Now report an SVN revision as well as a version.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5306 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-18 21:16:25 +00:00
gregory.hainaut
91ad246b46 i18n:
* update it_IT and pt_BR
* remove bad character in id_ID


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5305 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-18 18:26:49 +00:00
sudonim1@gmail.com
e13c58812d GSDX: Add a comment explaining something which doesn't matter.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5304 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-17 18:39:18 +00:00
sudonim1@gmail.com
323ac81a7d GSDX: use a GPU side palette for high byte indexed format copies from framebuffers again (including all the buggy cases because of the revert). I think this is how it used to be but I've lost track a little.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5303 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-17 18:26:42 +00:00
sudonim1@gmail.com
c9194b185a GSDX: Ignore this commit, just deleting lines of code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5302 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-17 17:54:09 +00:00
sudonim1@gmail.com
0e9a4c1663 GSDX: Missed this in d3d9 code while fiddling with the shader. Can't be bothered to do the maths to determine whether doing this twice would have a visible effect.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5301 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-17 17:49:50 +00:00
sudonim1@gmail.com
a617a6c983 GSDX: partially revert texture cache changes for now. Compat probably back to normal, some glitchy textures are probably differently glitchy, the other changes might improve some games, performance probably much the same as ever.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5300 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-17 14:33:34 +00:00
sudonim1@gmail.com
14acb81553 GSDX: CT32 -> T8H, need to use a 32 bit D3D format for the texture so that they have compatible D3D types for the copy (don't have to if using StretchRect but might as well).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5299 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-17 14:07:03 +00:00
gigaherz
b769a79d22 portaudio (SPU2-X): Last merge from portaudio svn I forgot to include this change (or tell rama to include it), which breaks debug builds of SPU2-X.
Also, "omfg a commit by gigaherz!"

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5295 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-17 01:32:04 +00:00
avihal
999ff5c457 GSdx: Add GUI for disabling all CRC hacks (for testing purposes only, disabled by default). The new checkbox is at the "HW Hacks" section, and is only relevant when the global "Enable HW Hacks" box is checked.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5294 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-13 23:53:08 +00:00
sudonim1@gmail.com
1ed80f320e GSDX: Clear Target::m_valid after a full Read() for performance (and accuracy?) Probably doesn't match the original intent but it matches the current usage.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5293 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-13 18:14:58 +00:00
sudonim1@gmail.com
6bb9339223 GSDX: (New bug?) If "8 bit textures" is disabled format conversion has already happened and we need PS_FMT=0 in the shader for indexed textures.
GSDX: (Old bug) When looking up a texture in the cache, the check didn't take into account CLUT formats, nor did it skip this check when "8 bit textures" is enabled.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5292 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-13 17:44:24 +00:00
sudonim1@gmail.com
0bf64fdffd GSDX: fixed an oversight in my shader change gregory caught which removed alpha expansion for the direct sampling case, should probably fix the remaining bugs. Also set the texture sampler to point sampling when the shader will be performing its own bilinear filtering (effect on games unknown but should be an improvement).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5291 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-13 15:36:10 +00:00
gregory.hainaut
b8b451340c zzogl: use the EXT version of fbo (fix the build on windows)
gsdx:
* add some parenthesis to shup up very verbose gcc warning
* adapt ogl to latest sudonim change


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5290 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-13 10:43:04 +00:00
gregory.hainaut
3b22f0fb0c zzogl glsl4:
* properly delete program and vertex array. Avoid a crash on plugin reload
* reset shader state. Avoid to reuse invalid data on plugin reload
gsdx:
* add an hack to unattach/attach the gl context from different thread. Help to solve some crashes. The best will be to move gpu operation out of gsreadfifo but it would need more works
* implement logz for test purpose (don't seem to help)
gsdx replay:
* use default xdg location


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5289 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-12 18:14:01 +00:00
sudonim1@gmail.com
b722dfd013 GSDX: Added a compatibility check to the framebuffer handling for the texture cache and made it preferred and added a writeback as a fallback. Compat should be back to normal?
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5288 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-11 10:57:32 +00:00
sudonim1@gmail.com
e8257df98d GSDX: made the paletted texture handling in the cache a bit more sensible to my eyes and implemented interpolation of palette entries for pixels in paletted textures when using the 8 bit textures option. Regressions in some games I think, such as Virtual On (which is very broken anyway), need to investigate what made them work (to some degree) before. Seems to change some performance characteristics favourably to my surprise, but I might just be bad at remembering framerates.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5287 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-11 03:27:16 +00:00
sudonim1@gmail.com
8ab8b4592d GSDX: Err, and another file, I should be asleep.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5286 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-11 02:57:28 +00:00
sudonim1@gmail.com
adfa7f1579 GSDX: Forgot a file.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5285 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-11 02:56:44 +00:00
sudonim1@gmail.com
08d8287d3e GSDX: Added some exceptions on shader compilation failure (with handlers in entry points because people seem to like the plugin struggling on even when nothing works any more) because I am not keen crashing Windows via my graphics driver.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5284 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-11 02:31:44 +00:00
sudonim1@gmail.com
17f28b24b3 GSDX: Prodded some offensive code, this isn't meant to affect emulation of any games and it probably won't.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5283 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-11 00:00:18 +00:00
sudonim1@gmail.com
1711a26bbb GSDX: put all paletted texture samples through the same transformation from the UNORM 0-1 256 step mapping to a 0.5/256-255.5/256 mapping after seeing potential bugs with FMT_4HL and changed FMT_4HH because it seemed to be completely wrong. Nothing but 8 bit textures tested because I can't find a single game which uses 4 bit textures.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5281 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-10 16:04:47 +00:00
sudonim1@gmail.com
4f79c4d1cb GSDX: Fixed my inability to remember or look up (I swear that page was hiding) coordinate systems in r5279 and assumed that it was a rounding error instead. The symptom was that palette indices above around 250 were being rounded up to the next palette entry causing visible glitches (only in D3D10 for some reason). Changed the code to keep the fractional part after multiplication by 256 around 0.5 and the steps around 1.0. Should be very safe against small errors.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5280 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-09 08:03:27 +00:00
sudonim1@gmail.com
1df5b7ef7a GSDX: Probably fix D3D10 and maybe D3D9 (might be working anyway but I think I have it addressing texel centres now) palette lookups. I noticed that this was broken in D3D10 while fixing the Realta Nua issue in r5273.
Explanation, because this gives me a headache and this might save someone else one (or I might be wrong and they might see why): in D3D10, 0.0 points to the centre of the leftmost texel and 1.0 points one texel to the right of the rightmost texel, so to map a UNORM uniformly across a texel we need to multiply the input by (w-1)/w.  In D3D9 0.0 points to the left edge of the leftmost texel and 1.0 to the right edge of the rightmost texel so after the multiplication we add 1/2w.

Actual texture sampling is probably not right for at least one of D3D9 and D3D10, but this headache is killing me.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5279 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-08 21:36:44 +00:00
gregory.hainaut
b534fcc1bc zzogl:
* add a script to run cg compiler on glsl file:
  + handy to check the syntax
  + output the asm of the shader
  - unfortunately don't support latest glsl construct but better than nothing
* really delete resources before context destruction
* wanted to play with opengl3 timer for profiling but not conclusive, just keeping code around for future use


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5278 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-08 18:14:47 +00:00
refraction
cb7f27cd76 Revert original fix for Realta Nua as Pseudonym found the proper fix. This should get rid of the regression on Agressive Inline and one of the Matt Hoffman games having textureless graphics.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5277 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-07 21:41:00 +00:00
avihal
faa463b95c GSdx: CRC hacks: ICO: moved the cutie extra hack from r5214 to "Aggressive mode".
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5276 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-07 15:22:12 +00:00
ramapcsx2
a74b8e2c7f GSdx: Removed Rogue Galaxy from the GSdx crc hacks. Fixes issue 1290.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5275 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-07 11:53:53 +00:00
ramapcsx2
c7b1423a83 Game database: 2 games have the ee timing hack enabled now, one game disabled.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5274 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-07 11:45:16 +00:00
sudonim1@gmail.com
22bdd1fbec GS/GIF: only raise interrupts on IMR writes on falling edges, i.e. if the interrupt was previously masked. Also remove a block about queued signals from IMR writes which makes no sense to me given that the CSR write to clear the previous SIGNAL should be setting CSR.SIGNAL already, which will trigger the interrupt by the standard mechanism. tl;dr: fixes realta nua and probably other stuff.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5273 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-06 22:04:39 +00:00
avihal
1628ab154e Games DB: add support for controlling mvuFlagSpeedHack. Disabling this hack for all Katamari games (otherwise enabled by default now) since it has a weird speed bug with it enabled.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5272 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-06 20:38:24 +00:00
avihal
6d691b63f5 NSIS Un/Installer: updates (for both full/web installers):
- Removed vcredist 2008-sp1 and 2010, added vcredist 2010 sp1.
- GSdx DLLs rename (+"32"), added avx.
- Version to 1.0.0.
- Uninstaller: bios removal now has own checkbox (can now remove everything and keep bios).
- Uninstaller: registry is cleaned first (better for next install in case uninstall fails for some reason).

TODO/ToTest:
- Test upgrade from 0.98, 0.97.
- Got few crashes and/or errors if files/folders were in use while uninstalling. Look into that.
- First install on a clean system: test that first-time-wizard appears (i didn't get the ftw, I possibly had stuff from previous incomplete uninstall).
- Add an option to run pcsx2 when the installer completes?
- readme/faq have "0.9.8" in filename, but the installer refers to <version>, check if/when it's used.
- Cheats folder created at program files. consider at mydocs?
- Cheats folder contains what appears to be a valid pnach file for personas 4 (inf health etc). do we want that packaged?
- Do we want to mirror vcredist 2010sp1 on pcsx2.code.google/files? (older redists are mirrored).
- Change the installer logo to the one used everywhere else?
- See if we can use the best gsdx version selected initially (my system supports sse4, but it selects the sse2 dll by default at ftw).
- Default KB config for lilypad? all other plugins can work without configuring manually, but without a controller configured, it's very meh. See what we can do about it.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5271 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-06 14:55:15 +00:00
ramapcsx2
3321b327a9 Changed the defaults for GSdx to native resolution (for emulation accuracy's sake) and made the recommended speedhacks enabled by default in PCSX2.
Also set the auto deinterlace mode in GSdx when the .ini isn't present (instead of "none").

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5270 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-06 10:08:08 +00:00
gregory.hainaut
d79186fafe zzogl replayer:
* I miss some ending bit. 
* Use a full int for GSvsync
* fix a small memory link


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5269 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-05 06:46:52 +00:00
gregory.hainaut
55ba4477ca gsdx: remove sdl and ogl from the win32 dialogs
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5268 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-04 18:45:54 +00:00
gregory.hainaut
b751aa855e i18n:
* new language fi_FI
* update cs_CZ


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5267 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-03 11:29:13 +00:00
refraction
b2932414e8 Path3 Regression Fix: Turns out part of the optimization in r5245 didn't work so well with SSX3, plus it didn't create much benefit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5265 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-02 21:52:23 +00:00
gregory.hainaut
0fff99f4f3 zzogl: gl resources must be deleted before the destruction of the GL context
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5264 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-02 09:33:40 +00:00
gregory.hainaut
ef976706f6 debian: don't ship null plugins
build.sh: fix shell bug & update the help


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5263 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-02 08:01:04 +00:00
refraction
77f0422e7d Gif Unit: Bugfix for Path3 Masking. Fast and the Furious did some channel swapping which freaks it out. Now remembers if it was called by Path 3 for the DMA rewinding to work correctly.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5260 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-01 22:23:43 +00:00
refraction
c6d820ff4e SPU-2X Project too for VS2010
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5259 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-01 18:24:37 +00:00
refraction
cabcc83ac5 Not sure if it was just me who had this issue but Lilypad didn't have the Directx SDK lib/include paths in the VC Directories, causing it not to build. Now it has :P
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5258 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-01 18:18:14 +00:00
116 changed files with 7539 additions and 1533 deletions

View File

@@ -62,6 +62,7 @@
/>
<Tool
Name="VCLibrarianTool"
AdditionalDependencies="ksuser.lib"
/>
<Tool
Name="VCALinkTool"
@@ -127,6 +128,7 @@
/>
<Tool
Name="VCLibrarianTool"
AdditionalDependencies="ksuser.lib"
/>
<Tool
Name="VCALinkTool"
@@ -194,6 +196,7 @@
/>
<Tool
Name="VCLibrarianTool"
AdditionalDependencies="ksuser.lib"
/>
<Tool
Name="VCALinkTool"
@@ -259,6 +262,7 @@
/>
<Tool
Name="VCLibrarianTool"
AdditionalDependencies="ksuser.lib"
/>
<Tool
Name="VCALinkTool"
@@ -325,6 +329,7 @@
/>
<Tool
Name="VCLibrarianTool"
AdditionalDependencies="ksuser.lib"
/>
<Tool
Name="VCALinkTool"

View File

@@ -182,6 +182,9 @@
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>$(Platform)\$(Configuration)\portaudio.bsc</OutputFile>
</Bscmake>
<Lib>
<AdditionalDependencies>ksuser.lib</AdditionalDependencies>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
@@ -253,6 +256,7 @@
</Bscmake>
<Lib>
<LinkTimeCodeGeneration>false</LinkTimeCodeGeneration>
<AdditionalDependencies>ksuser.lib</AdditionalDependencies>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -326,6 +330,9 @@
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>$(Platform)\$(Configuration)\portaudio.bsc</OutputFile>
</Bscmake>
<Lib>
<AdditionalDependencies>ksuser.lib</AdditionalDependencies>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release (NO ASIO)|x64'">
<Midl>
@@ -395,6 +402,9 @@
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>$(Platform)\$(Configuration)\portaudio.bsc</OutputFile>
</Bscmake>
<Lib>
<AdditionalDependencies>ksuser.lib</AdditionalDependencies>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug (NO ASIO)|x64'">
<Midl>

View File

@@ -149,13 +149,13 @@ Default is to use the pin category.
#endif
#ifdef _MSC_VER
#define NOMMIDS
//#define NOMMIDS
#define DYNAMIC_GUID(data) {data}
#define _NTRTL_ /* Turn off default definition of DEFINE_GUIDEX */
#undef DEFINE_GUID
#define DEFINE_GUID(n,data) EXTERN_C const GUID n = {data}
#define DEFINE_GUID_THUNK(n,data) DEFINE_GUID(n,data)
#define DEFINE_GUIDEX(n) DEFINE_GUID_THUNK(n, STATIC_##n)
//#define _NTRTL_ /* Turn off default definition of DEFINE_GUIDEX */
//#undef DEFINE_GUID
//#define DEFINE_GUID(n,data) EXTERN_C const GUID n = {data}
//#define DEFINE_GUID_THUNK(n,data) DEFINE_GUID(n,data)
//#define DEFINE_GUIDEX(n) DEFINE_GUID_THUNK(n, STATIC_##n)
#endif
#include <setupapi.h>

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -15,9 +15,12 @@
# If not, see <http://www.gnu.org/licenses/>.
# This script is a small wrapper to the PCSX2 exectuable. The purpose is to
# launch PCSX2 from the same repository every times.
# 1/ launch PCSX2 from the same repository every times.
# Rationale: There is no guarantee on the directory when PCSX2 is launched from a shortcut.
# This behavior trigger the first time wizards everytime...
# 2/ Change LD_LIBRARY_PATH to uses 3rdparty library
# Rationale: It is nearly impossible to have the same library version on all systems. So the
# easiest solution it to ship library used during the build.
current_script=$0
@@ -32,17 +35,31 @@ PWD_old=$PWD
# Go to the script directory
cd `dirname $current_script`
# Setup LD_PRELOAD to work-around issue 1003
SDL_SO=`pwd`/plugins/libpcsx2_SDL.so
if [ -e "$SDL_SO" ]
# Allow to ship .so library with the build to avoid version issue
if [ -e 3rdPartyLibs ]
then
echo "INFO: LD_PRELOAD $SDL_SO"
if [ -n "$LD_PRELOAD" ]
if [ -z $LD_LIBRARY_PATH ]
then
LD_PRELOAD="$SDL_SO:$LD_PRELOAD"
OLD_LD_LIBRARY_PATH=""
export LD_LIBRARY_PATH="./3rdPartyLibs"
else
LD_PRELOAD="$SDL_SO"
fi
OLD_LD_LIBRARY_PATH="$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH="./3rdPartyLibs:$LD_LIBRARY_PATH"
fi
fi
# Test plugin depencencies
if [ -x `which ldd` ]
then
for plugin in `find plugins -iname "lib*.so"`
do
if [ `ldd $plugin | grep -c found` != 0 ]
then
echo "ERROR the plugin ($plugin) miss some dependencies"
echo " `ldd $plugin | grep found`"
echo ""
fi
done
fi
# Launch PCSX2
@@ -56,5 +73,12 @@ else
exit 1
fi
# Go back to the old directory
# Be a good citizen. Restore the shell context
cd $PWD_old
if [ -z $OLD_LD_LIBRARY_PATH ]
then
unset LD_LIBRARY_PATH
else
export LD_LIBRARY_PATH="$OLD_LD_LIBRARY_PATH"
fi

View File

@@ -15,7 +15,6 @@
# If not, see <http://www.gnu.org/licenses/>.
flags=""
args="$@"
clean_build=false
for f in $*
@@ -25,10 +24,7 @@ do
flags="$flags -DFORCE_INTERNAL_SDL=TRUE"
echo "Warning SDL is not supported anymore"
;;
--dev)
flags="$flags -DCMAKE_BUILD_TYPE=Devel"
;;
--devel)
--dev|--devel)
flags="$flags -DCMAKE_BUILD_TYPE=Devel"
;;
--debug)
@@ -39,24 +35,26 @@ do
;;
--glsl)
flags="$flags -DGLSL_API=TRUE"
;;
--clean)
clean_build=true
;;
*)
# unknown option
echo "Valid options are:"
echo "--dev / --devel - Build pcsx2 as a Development build."
echo "--debug - Build pcsx2 as a Debug build."
echo "--release - Build pcsx2 as a Release build."
echo "--clean - Do a clean build."
echo "--sdl13 - Use the internal copy of sdl (needed for gsdx to use sdl)."
echo "--dev / --devel - Build PCSX2 as a Development build."
echo "--debug - Build PCSX2 as a Debug build."
echo "--release - Build PCSX2 as a Release build."
echo "--clean - Do a clean build."
echo "--glsl - Replace CG backend of ZZogl by GLSL"
echo "--sdl13 - Use the internal copy of SDL (add sdl backend to gsdx)."
exit 1;;
esac
done
rm install_log.txt
if [ $flags ]; then
if [ "$flags" != "" ]; then
echo "Building pcsx2 with $flags"
echo "Building pcsx2 with $flags" > install_log.txt
fi
@@ -67,7 +65,7 @@ fi
cd build
cmake $flags .. 2>&1 | tee -a ../install_log.txt
if [ $clean_build = true ]; then
if [ "$clean_build" = true ]; then
echo "Doing a clean build."
make clean 2>&1 | tee -a ../install_log.txt
fi

View File

@@ -20,7 +20,7 @@ Build-Depends: cmake (>= 2.8.5),
libwxgtk2.8-dev,
libx11-dev,
locales | locales-all,
# package was split in precise to allow multiarch support
# Future: depends on "nvidia-cg-dev" directly
libcg, nvidia-cg-toolkit (>= 3),
portaudio19-dev,
zlib1g-dev (>= 1:1.2.3.3)
@@ -29,10 +29,8 @@ Homepage: http://pcsx2.net/
Package: pcsx2-unstable
Architecture: i386
# manually add nvidia-cg-toolkit for zzogl (cg pacakge does not provide symbol or shlibs files)
# recommand libasound for alsa plugin for pulseaudio
Depends: ${shlibs:Depends}, ${misc:Depends},
libcg | nvidia-cg-toolkit (>= 2.1)
Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: libasound2-plugins
Conflicts: pcsx2,
pcsx2-data-unstable,

View File

@@ -123,9 +123,9 @@ mkdir -p $ROOT_DIR/plugins
get_svn_dir plugins/CDVDnull;
# Potential copyright issue. Optional anyway
# get_svn_dir plugins/CDVDnull plugins/CDVDiso;
get_svn_dir plugins/PadNull plugins/onepad;
get_svn_dir plugins/SPU2null plugins/spu2-x;
get_svn_dir plugins/GSnull plugins/zzogl-pg plugins/zzogl-pg-cg plugins/GSdx;
get_svn_dir plugins/onepad;
get_svn_dir plugins/spu2-x;
get_svn_dir plugins/zzogl-pg plugins/zzogl-pg-cg plugins/GSdx;
get_svn_dir plugins/dev9null plugins/FWnull plugins/USBnull;
echo "Note: some plugins are more or less deprecated CDVDisoEFP, CDVDlinuz, Zerogs, Zeropad ...";
echo "Done")

127
linux_various/validate_glsl.sh Executable file
View File

@@ -0,0 +1,127 @@
#!/bin/sh
# copyright (c) 2011 Gregory Hainaut
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This package is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
INPUT=0
MACRO=""
ENTRY="-noentry"
TEST=/tmp/test.glsl
GL_VERSION=330
NOFRAG=0
NOVERT=0
# VERT="cgc -oglsl -profile glslv -po version=$GL_VERSION"
# FRAG="cgc -oglsl -profile glslf -po version=$GL_VERSION"
# Uniform buffer not supported on glsl ...
VERT="cgc -oglsl -profile vp40"
FRAG="cgc -oglsl -profile fp40"
######################################################
# Options
######################################################
help()
{
cat <<EOF
Help:
--input <file> : input glsl file (mandatory)
--macro <name> <value> : set a macro. Can be repeated
--entry <name> : set an entry point. Note: print the ASM output of the program
--test_ZZ : test of zzogl glsl file
--test_dx : test of gsdx glsl file
--nofrag : disable fragment processing
--novert : disable vertex processing
EOF
exit
}
while [ -n "$1" ]; do
case $1 in
--help|--h) help;shift 1;;
--input|--i) INPUT=$2; shift 2;;
--macro|--m) MACRO="${MACRO}#define $2 $3\n"; shift 3;;
--entry|--e) ENTRY="-entry $2";shift 2;;
--test_ZZ ) TEST_ZZOGL=1; shift 1;;
--test_dx ) TEST_GSDX=1; shift 1;;
--nofrag) NOFRAG=1; shift 1;;
--novert) NOVERT=1; shift 1;;
--*) echo "ERROR: $1 option does not exists. Use -h for help";exit 1;;
*) break;;
esac
done
if [ "$INPUT" = "0" ] ; then
help
fi
######################################################
# Functions
######################################################
head()
{
\rm -f $TEST
touch $TEST
echo "#version $GL_VERSION\n" >> $TEST
}
tail()
{
cat $INPUT >> $TEST
# Some layout syntax (420) are not supported
# so I remove them (a bit overkill)
#sed -i -e 's/layout(.*)//' $TEST
sed -i -e 's/layout(binding.*)//' $TEST
sed -i -e 's/layout(location.*)//' $TEST
sed -i -e 's/, binding.*)/)/' $TEST
}
vertex_test()
{
head
echo "#define VERTEX_SHADER 1" >> $TEST
echo $MACRO >> $TEST
tail
echo "Vertex check with macro : $MACRO"
$VERT $ENTRY $TEST
echo ""
}
fragment_test()
{
head
echo "#define FRAGMENT_SHADER 1" >> $TEST
echo "$MACRO" >> $TEST
echo "Fragment check with macro : $MACRO"
tail
$FRAG $ENTRY $TEST
echo ""
}
######################################################
# Main
######################################################
if [ "$TEST_ZZOGL" = '1' ] ; then
./test_shader.sh --input $INPUT --novert --m TEST_AEM 1
./test_shader.sh --input $INPUT --novert --m REGION_REPEAT 1
./test_shader.sh --input $INPUT --novert --m EXACT_COLOR 1
./test_shader.sh --input $INPUT --m WRITE_DEPTH 1
./test_shader.sh --input $INPUT
elif [ "$TEST_GSDX" = '1' ] ; then
echo "not yet implemented"
else
if [ "$NOVERT" = '0' ] ; then vertex_test; fi
if [ "$NOFRAG" = '0' ] ; then fragment_test; fi
fi

View File

@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: PCSX2 0.9.9\n"
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
"POT-Creation-Date: 2012-04-07 11:42+0200\n"
"PO-Revision-Date: 2011-10-03 09:15+0100\n"
"PO-Revision-Date: 2012-05-24 20:31+0100\n"
"Last-Translator: Zbyněk Schwarz <zbynek.schwarz@gmail.com>\n"
"Language-Team: Zbyněk Schwarz\n"
"Language: cs\n"
@@ -23,58 +23,35 @@ msgstr ""
#: common/src/Utilities/Exceptions.cpp:254
msgid "!Notice:VirtualMemoryMap"
msgstr ""
"Není dostatek virtuální paměti, nebo potřebná mapování virtuální paměti již "
"byly vyhrazeny jinými procesy, službami, nebo DLL."
msgstr "Není dostatek virtuální paměti, nebo potřebná mapování virtuální paměti již byly vyhrazeny jinými procesy, službami, nebo DLL."
#: pcsx2/CDVD/CDVD.cpp:389
msgid "!Notice:PsxDisc"
msgstr ""
"Herní disky Playstation nejsou PCSX2 podporovány. Pokud chcete emulovat hry "
"PSX, pak si budete muset stáhnout PSX emulátor, jako ePSXe nebo PCSX."
msgstr "Herní disky Playstation nejsou PCSX2 podporovány. Pokud chcete emulovat hry PSX, pak si budete muset stáhnout PSX emulátor, jako ePSXe nebo PCSX."
#: pcsx2/System.cpp:114
msgid "!Notice:Recompiler:VirtualMemoryAlloc"
msgstr ""
"Tento rekompilátor nemohl vyhradit přilehlou paměť potřebnou pro vnitřní "
"vyrovnávací paměti. Tato chyba může být způsobena nízkými zdroji virtuální "
"paměti, jako např. vypnutý nebo malý stránkovací soubor, nebo jiným "
"programem náročným na paměť. Můžete také zkusit snížit výchozí velikost "
"vyrovnávací paměti pro všechny rekompilátory PCSX2, naleznete v Nastavení "
"Hostitele."
msgstr "Tento rekompilátor nemohl vyhradit přilehlou paměť potřebnou pro vnitřní vyrovnávací paměti. Tato chyba může být způsobena nízkými zdroji virtuální paměti, jako např. vypnutý nebo malý stránkovací soubor, nebo jiným programem náročným na paměť. Můžete také zkusit snížit výchozí velikost vyrovnávací paměti pro všechny rekompilátory PCSX2, naleznete v Nastavení Hostitele."
#: pcsx2/System.cpp:348
msgid "!Notice:EmuCore::MemoryForVM"
msgstr ""
"PCSX2 nemůže přidělit paměť potřebnou pro virtuální stroj PS2. Zavřete "
"některé úlohy na pozadí náročné na paměť a zkuste to znovu."
msgstr "PCSX2 nemůže přidělit paměť potřebnou pro virtuální stroj PS2. Zavřete některé úlohy na pozadí náročné na paměť a zkuste to znovu."
#: pcsx2/gui/AppInit.cpp:43
msgid "!Notice:Startup:NoSSE2"
msgstr ""
"Varování: Váš počítač nepodporuje SSE2, která je vyžadována většinou "
"rekompilátorů PCSX2 a zásuvných modulů. Vaše volby budou omezené a emulace "
"bude *velmi* pomalá."
msgstr "Varování: Váš počítač nepodporuje SSE2, která je vyžadována většinou rekompilátorů PCSX2 a zásuvných modulů. Vaše volby budou omezené a emulace bude *velmi* pomalá."
#: pcsx2/gui/AppInit.cpp:162
msgid "!Notice:RecompilerInit:Header"
msgstr ""
"Varování: Některé z nastavených rekompilátorů PS2 nelze spustit a byly "
"zakázány:"
msgstr "Varování: Některé z nastavených rekompilátorů PS2 nelze spustit a byly zakázány:"
#: pcsx2/gui/AppInit.cpp:211
msgid "!Notice:RecompilerInit:Footer"
msgstr ""
"Poznámka: Rekompilátory nejsou potřeba ke spuštění PCSX2, nicméně normálně "
"výrazně zlepšují rychlost emulace. Možná budete muset ruřne rekompilátory "
"znovu zapnout, pokud vyřešíte chyby."
msgstr "Poznámka: Rekompilátory nejsou potřeba ke spuštění PCSX2, nicméně normálně výrazně zlepšují rychlost emulace. Možná budete muset ruřne rekompilátory znovu zapnout, pokud vyřešíte chyby."
#: pcsx2/gui/AppMain.cpp:546
msgid "!Notice:BiosDumpRequired"
msgstr ""
"PCSX2 vyžaduje ke spuštění BIOS PS2. Z právních důvodů *musíte* BIOS získat "
"ze skutečného PS2, které vlastníte (půjčení se nepočítá). Podívejte se "
"prosím na Nejčastější Otázky a Průvodce pro další instrukce."
msgstr "PCSX2 vyžaduje ke spuštění BIOS PS2. Z právních důvodů *musíte* BIOS získat ze skutečného PS2, které vlastníte (půjčení se nepočítá). Podívejte se prosím na Nejčastější Otázky a Průvodce pro další instrukce."
#: pcsx2/gui/AppMain.cpp:629
msgid "!Notice Error:Thread Deadlock Actions"
@@ -84,40 +61,23 @@ msgstr ""
#: pcsx2/gui/AppUserMode.cpp:57
msgid "!Notice:PortableModeRights"
msgstr ""
"Ujistěte se prosím, že tyto adresáře jsou vytvořeny a že Váš uživatelský "
"účet má udělená oprávnění k zápisu do těchto adresářů -- nebo znovu spusťte "
"PCSX2 jako správce (administrátorské oprávnění), což by mělo udělit PCSX2 "
"schopnost samo si potřebné adresáře vytvořit. Pokud nemáte na tomto počítači "
"správcovská oprávnění, pak budete muset přepnout do režimu Uživatelských "
"Dokumentů (klikněte na tlačítko níže)."
msgstr "Ujistěte se prosím, že tyto adresáře jsou vytvořeny a že Váš uživatelský účet má udělená oprávnění k zápisu do těchto adresářů -- nebo znovu spusťte PCSX2 jako správce (administrátorské oprávnění), což by mělo udělit PCSX2 schopnost samo si potřebné adresáře vytvořit. Pokud nemáte na tomto počítači správcovská oprávnění, pak budete muset přepnout do režimu Uživatelských Dokumentů (klikněte na tlačítko níže)."
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:181
msgid "!ContextTip:ChangingNTFS"
msgstr ""
"Komprese NTFS může být kdykoliv ručně změněna použitím vlastností souboru z "
"Průzkumníku Windows."
msgstr "Komprese NTFS může být kdykoliv ručně změněna použitím vlastností souboru z Průzkumníku Windows."
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:49
msgid "!ContextTip:Folders:Settings"
msgstr ""
"Do tohoto adresáře PCSX2 ukládá Vaše nastavení, zahrnující i nastavení "
"vytvořená většinou zásuvných modulů (některé starší moduly nemusí tuto "
"hodnotu respektovat)."
msgstr "Do tohoto adresáře PCSX2 ukládá Vaše nastavení, zahrnující i nastavení vytvořená většinou zásuvných modulů (některé starší moduly nemusí tuto hodnotu respektovat)."
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:54
msgid "!Panel:Folders:Settings"
msgstr ""
"Můžete také zde dobrovolně zadat umístění Vašeho nastavení PCSX2. Pokud "
"umístění obsahuje existující nastavení PCSX2, bude Vám dána možnost je "
"importovat nebo přepsat."
msgstr "Můžete také zde dobrovolně zadat umístění Vašeho nastavení PCSX2. Pokud umístění obsahuje existující nastavení PCSX2, bude Vám dána možnost je importovat nebo přepsat."
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:94
msgid "!Wizard:Welcome"
msgstr ""
"Tento průvodce Vám pomůže skrz nastavení zásuvných modulů, paměťových karet "
"a BIOSu. Je doporučeno, pokud je toto poprvé co instalujete %s, si "
"prohlédnout 'Přečti mě' a průvodce nastavením."
msgstr "Tento průvodce Vám pomůže skrz nastavení zásuvných modulů, paměťových karet a BIOSu. Je doporučeno, pokud je toto poprvé co instalujete %s, si prohlédnout 'Přečti mě' a průvodce nastavením."
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:140
msgid "!Wizard:Bios:Tutorial"
@@ -129,50 +89,34 @@ msgstr ""
#: pcsx2/gui/Dialogs/ImportSettingsDialog.cpp:31
msgid "!Notice:ImportExistingSettings"
msgstr ""
"Existující nastavení %s byly nalezeny v určeném adresáři nastavení. Chtěli "
"byste tyto nastavení importovat nebo je přepsat výchozími hodnotami %s?\n"
"Existující nastavení %s byly nalezeny v určeném adresáři nastavení. Chtěli byste tyto nastavení importovat nebo je přepsat výchozími hodnotami %s?\n"
"\n"
"(nebo stiskněte Zrušit pro vybrání jiného adresáře nastavení)"
#: pcsx2/gui/Dialogs/McdConfigDialog.cpp:30
msgid "!Panel:Mcd:NtfsCompress"
msgstr ""
"Komprimace NTFS je zabudovaná, rychlá a naprosto spolehlivá a většinou "
"komprimuje paměťové karty velmi dobře (tato volba je vysoce doporučená)."
msgstr "Komprimace NTFS je zabudovaná, rychlá a naprosto spolehlivá a většinou komprimuje paměťové karty velmi dobře (tato volba je vysoce doporučená)."
#: pcsx2/gui/Dialogs/McdConfigDialog.cpp:41
msgid "!Panel:Mcd:EnableEjection"
msgstr ""
"Zabraňuje poškození paměťové karty tím, že donutí hry reindexovat obsah "
"karty po načtení uloženého stavu. Nemusí být kompatibilní se všemi hrami "
"(Guitar Hero)."
msgstr "Zabraňuje poškození paměťové karty tím, že donutí hry reindexovat obsah karty po načtení uloženého stavu. Nemusí být kompatibilní se všemi hrami (Guitar Hero)."
#: pcsx2/gui/Dialogs/StuckThreadDialog.cpp:33
msgid "!Panel:StuckThread:Heading"
msgstr ""
"Vlákno '%s' neodpovídá. Mohlo uváznout, nebo prostě běží *velmi* pomalu."
msgstr "Vlákno '%s' neodpovídá. Mohlo uváznout, nebo prostě běží *velmi* pomalu."
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:38
msgid "!Panel:HasHacksOverrides"
msgstr ""
"Varování! Spouštíte PCSX2 s volbami příkazového řádku, které potlačují Vaše "
"uložená nastavení. Tyto volby příkazového řádku se nebudou odrážet v "
"dialogovém okně Nastavení a budou zrušeny, pokud zde použijete jakékoli "
"změny."
msgstr "Varování! Spouštíte PCSX2 s volbami příkazového řádku, které potlačují Vaše uložená nastavení. Tyto volby příkazového řádku se nebudou odrážet v dialogovém okně Nastavení a budou zrušeny, pokud zde použijete jakékoli změny."
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:58
msgid "!Panel:HasPluginsOverrides"
msgstr ""
"Varování! Spouštíte PCSX2 s volbami příkazového řádku, které potlačují Vaše "
"uložená nastavení zásuvných modulů a/nebo adresářů. Tyto volby příkazového "
"řádku se nebudou odrážet v dialogovém okně Nastavení a budou zrušeny, když "
"zde použijete jakékoli změny nastavení."
msgstr "Varování! Spouštíte PCSX2 s volbami příkazového řádku, které potlačují Vaše uložená nastavení zásuvných modulů a/nebo adresářů. Tyto volby příkazového řádku se nebudou odrážet v dialogovém okně Nastavení a budou zrušeny, když zde použijete jakékoli změny nastavení."
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:135
msgid "!Notice:Tooltip:Presets:Slider"
msgstr ""
"Předvolby použijí hacky rychlosti, některá nastavení rekompilátoru a některé "
"opravy her známé tím, že zvyšují rychlost.\n"
"Předvolby použijí hacky rychlosti, některá nastavení rekompilátoru a některé opravy her známé tím, že zvyšují rychlost.\n"
"Známé důležité opravy budou použity automaticky.\n"
"\n"
"Informace o předvolbách:\n"
@@ -184,28 +128,21 @@ msgstr ""
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:149
msgid "!Notice:Tooltip:Presets:Checkbox"
msgstr ""
"Předvolby použijí hacky rychlosti, některá nastavení rekompilátoru a některé "
"opravy her známé tím, že zvyšují rychlost.\n"
"Předvolby použijí hacky rychlosti, některá nastavení rekompilátoru a některé opravy her známé tím, že zvyšují rychlost.\n"
"Známé důležité opravy budou použity automaticky.\n"
"\n"
" --> Odškrtněte pro ruční změnu nastavení (se současnými předvolbami jako "
"základ)"
" --> Odškrtněte pro ruční změnu nastavení (se současnými předvolbami jako základ)"
#: pcsx2/gui/IsoDropTarget.cpp:28
msgid "!Notice:ConfirmSysReset"
msgstr ""
"Tato činnost resetuje existující stav virtuálního stroje PS2; veškerý "
"současný postup bude ztracen. Jste si jisti?"
msgstr "Tato činnost resetuje existující stav virtuálního stroje PS2; veškerý současný postup bude ztracen. Jste si jisti?"
#: pcsx2/gui/MainMenuClicks.cpp:106
msgid "!Notice:DeleteSettings"
msgstr ""
"Tento příkaz vyčistí nastavení %s a umožňuje Vám znovu spustit Průvodce "
"Prvním Spuštěním. Po této operaci budete muset ručně restartovat %s.\n"
"Tento příkaz vyčistí nastavení %s a umožňuje Vám znovu spustit Průvodce Prvním Spuštěním. Po této operaci budete muset ručně restartovat %s.\n"
"\n"
"VAROVÁNÍ!! Kliknutím na OK smažete *VŠECHNA* nastavení pro %s a přinutíte "
"tuto aplikaci uzavřít, čímž ztratíte jakýkoli postup emulace. Jste si "
"naprosto jisti?\n"
"VAROVÁNÍ!! Kliknutím na OK smažete *VŠECHNA* nastavení pro %s a přinutíte tuto aplikaci uzavřít, čímž ztratíte jakýkoli postup emulace. Jste si naprosto jisti?\n"
"\n"
"(poznámka: nastavení zásuvných modulů nejsou ovlivněna)"
@@ -217,9 +154,7 @@ msgstr ""
#: pcsx2/gui/Panels/BiosSelectorPanel.cpp:138
msgid "!Notice:BIOS:InvalidSelection"
msgstr ""
"Prosím zvolte platný BIOS. Pokud nejste schopni provést platnou volbu, pak "
"stiskněte Zrušit pro zavření Konfiguračního panelu."
msgstr "Prosím zvolte platný BIOS. Pokud nejste schopni provést platnou volbu, pak stiskněte Zrušit pro zavření Konfiguračního panelu."
#: pcsx2/gui/Panels/CpuPanel.cpp:111
msgid "!Panel:EE/IOP:Heading"
@@ -235,59 +170,37 @@ msgstr "Zadaná cesta/adresář neexistuje. Chtěli byste je vytvořit?"
#: pcsx2/gui/Panels/DirPickerPanel.cpp:158
msgid "!ContextTip:DirPicker:UseDefault"
msgstr ""
"Je-li zaškrtnuto, tento adresář bude automaticky odrážet výchozí asociaci se "
"současným nastavením uživatelského režimu PCSX2."
msgstr "Je-li zaškrtnuto, tento adresář bude automaticky odrážet výchozí asociaci se současným nastavením uživatelského režimu PCSX2."
#: pcsx2/gui/Panels/GSWindowPanel.cpp:55
msgid "!ContextTip:Window:Zoom"
msgstr ""
"Přiblížení = 100: Celý obraz bude umístěn do okna bez jakéhokoliv oříznutí.\n"
"Nad/Pod 100: Přiblížení/Oddálení\n"
"0: Automaticky přibližovat, dokud černé čáry nezmizí (poměr stran je "
"zachován, část obrazu bude mimo obrazovku).\n"
"POZNÁMKA: Některé hry vykreslují vlastní černé čáry, které pomocí '0' "
"nebudou odstraněny.\n"
"0: Automaticky přibližovat, dokud černé čáry nezmizí (poměr stran je zachován, část obrazu bude mimo obrazovku).\n"
"POZNÁMKA: Některé hry vykreslují vlastní černé čáry, které pomocí '0' nebudou odstraněny.\n"
"\n"
"Klávesnice: CTRL + PLUS: Přiblížení, CTRL + MÍNUS: Oddálení, CTRL + "
"HVĚZDIČKA: Přepínání 100/0."
"Klávesnice: CTRL + PLUS: Přiblížení, CTRL + MÍNUS: Oddálení, CTRL + HVĚZDIČKA: Přepínání 100/0."
#: pcsx2/gui/Panels/GSWindowPanel.cpp:63
msgid "!ContextTip:Window:Vsync"
msgstr ""
"Vsynch odstraňuje trhání obrazovky, ale má velký vliv na výkon. Většinou se "
"toto týká režimu celé obrazovky a nemusí fungovat se všemi zásuvnými moduly "
"GS."
msgstr "Vsynch odstraňuje trhání obrazovky, ale má velký vliv na výkon. Většinou se toto týká režimu celé obrazovky a nemusí fungovat se všemi zásuvnými moduly GS."
#: pcsx2/gui/Panels/GSWindowPanel.cpp:68
msgid "!ContextTip:Window:ManagedVsync"
msgstr ""
"Povolí Vsynch když snímkovací frekvence je přesně na plné rychlosti. Pokud "
"spadne pod tuto hodnotu, Vsynch je zakázána k zabránění dalších penalizací "
"výkonu. Poznámka: Toto nyní správně funguje pouze s GSdx jako zásuvný modul "
"GS a nastaveným na použití hardwarového vykreslování DX10/11. Jakýkoli jiný "
"modul nebo režim vykreslování toto bude ignorovat, nebo vytvoří černý "
"snímek, který blikne, kdykoliv je režim přepnut. Také vyžaduje povolenou "
"Vsynch."
msgstr "Povolí Vsynch když snímkovací frekvence je přesně na plné rychlosti. Pokud spadne pod tuto hodnotu, Vsynch je zakázána k zabránění dalších penalizací výkonu. Poznámka: Toto nyní správně funguje pouze s GSdx jako zásuvný modul GS a nastaveným na použití hardwarového vykreslování DX10/11. Jakýkoli jiný modul nebo režim vykreslování toto bude ignorovat, nebo vytvoří černý snímek, který blikne, kdykoliv je režim přepnut. Také vyžaduje povolenou Vsynch."
#: pcsx2/gui/Panels/GSWindowPanel.cpp:76
msgid "!ContextTip:Window:HideMouse"
msgstr ""
"Zašrktněte toto pro vynucení zneviditelnění kurzoru myši uvnitř okna GS; "
"užitečné, jestli myš používáte jako hlavní kontrolní zařízení pro hraní. "
"Standardně je myš schována po 2 vteřinách nečinnosti."
msgstr "Zašrktněte toto pro vynucení zneviditelnění kurzoru myši uvnitř okna GS; užitečné, jestli myš používáte jako hlavní kontrolní zařízení pro hraní. Standardně je myš schována po 2 vteřinách nečinnosti."
#: pcsx2/gui/Panels/GSWindowPanel.cpp:82
msgid "!ContextTip:Window:Fullscreen"
msgstr ""
"Povolí automatické přepnutí režimu na celou obrazovku, při spuštění nebo "
"obnově emulace. Stále můžete přepnout na celou obrazovku pomocí alt-enter."
msgstr "Povolí automatické přepnutí režimu na celou obrazovku, při spuštění nebo obnově emulace. Stále můžete přepnout na celou obrazovku pomocí alt-enter."
#: pcsx2/gui/Panels/GSWindowPanel.cpp:93
msgid "!ContextTip:Window:HideGS"
msgstr ""
"Úplně zavře často velké a rozměrné okno GS při stisku ESC nebo pozastavení "
"emulátoru."
msgstr "Úplně zavře často velké a rozměrné okno GS při stisku ESC nebo pozastavení emulátoru."
#: pcsx2/gui/Panels/GameFixesPanel.cpp:67
msgid "!ContextTip:Gamefixes:EE Timing Hack"
@@ -322,21 +235,16 @@ msgstr ""
msgid "!Panel:Gamefixes:Compat Warning"
msgstr ""
"Opravy her můžou obejít špatnou emulaci v některých hrách.\n"
"Můžou ale také způsobit problémy s kompatibilitou a výkonem, takže nejsou "
"doporučeny.\n"
"Můžou ale také způsobit problémy s kompatibilitou a výkonem, takže nejsou doporučeny.\n"
"Opravy her jsou použity automaticky, takže zde nic nemusíte nastavovat."
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:720
msgid "!Notice:Mcd:Delete"
msgstr ""
"Chystáte se smazat formátovanou paměťovou kartu '%s'. Všechna data na kartě "
"budou ztracena! Jste si naprosto a zcela jisti?"
msgstr "Chystáte se smazat formátovanou paměťovou kartu '%s'. Všechna data na kartě budou ztracena! Jste si naprosto a zcela jisti?"
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:758
msgid "!Notice:Mcd:CantDuplicate"
msgstr ""
"Selhání: Kopírování je povoleno pouze na prázdnou pozici PS2 nebo do systému "
"souborů."
msgstr "Selhání: Kopírování je povoleno pouze na prázdnou pozici PS2 nebo do systému souborů."
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:801
msgid "!Notice:Mcd:Copy Failed"
@@ -344,67 +252,46 @@ msgstr "Selhání: Cílová paměťová karta '%s' se používá."
#: pcsx2/gui/Panels/MiscPanelStuff.cpp:35
msgid "!Panel:Usermode:Explained"
msgstr ""
"Prosím vyberte níže Vaši upřednostňované výchozí umístění pro dokumenty "
"uživatelské úrovně PCSX2 (zahrnující paměťové karty, snímky obrazovky, "
"nastavení a uložené stavy). Tyto umístění adresářů mohou být kdykoli "
"potlačena použitím panelu Hlavního Nastavení."
msgstr "Prosím vyberte níže Vaši upřednostňované výchozí umístění pro dokumenty uživatelské úrovně PCSX2 (zahrnující paměťové karty, snímky obrazovky, nastavení a uložené stavy). Tyto umístění adresářů mohou být kdykoli potlačena použitím panelu Hlavního Nastavení."
#: pcsx2/gui/Panels/MiscPanelStuff.cpp:41
msgid "!Panel:Usermode:Warning"
msgstr ""
"Prosím vyberte níže Vaši upřednostňované výchozí umístění pro dokumenty "
"uživatelské úrovně PCSX2 (zahrnující paměťové karty, snímky obrazovky, "
"nastavení a uložené stavy). Tato volba ovlivňuje pouze Standardní Cesty, "
"které jsou nastaveny, aby používali výchozí hodnoty instalace."
msgstr "Prosím vyberte níže Vaši upřednostňované výchozí umístění pro dokumenty uživatelské úrovně PCSX2 (zahrnující paměťové karty, snímky obrazovky, nastavení a uložené stavy). Tato volba ovlivňuje pouze Standardní Cesty, které jsou nastaveny, aby používali výchozí hodnoty instalace."
#: pcsx2/gui/Panels/PathsPanel.cpp:40
msgid "!ContextTip:Folders:Savestates"
msgstr ""
"Do tohoto adresáře PCSX2 ukládá uložené stavy, které jsou zaznamenány buď "
"použitím menu/panelů nástrojů, nebo stisknutím F1/F3 (uložit/nahrát)."
msgstr "Do tohoto adresáře PCSX2 ukládá uložené stavy, které jsou zaznamenány buď použitím menu/panelů nástrojů, nebo stisknutím F1/F3 (uložit/nahrát)."
#: pcsx2/gui/Panels/PathsPanel.cpp:50
msgid "!ContextTip:Folders:Snapshots"
msgstr ""
"Toto je adresář, kde PCSX2 ukládá snímky obrazovky. Vlastní formát a styl "
"snímku se může měnit v závislosti na používaném zásuvném modulu GS."
msgstr "Toto je adresář, kde PCSX2 ukládá snímky obrazovky. Vlastní formát a styl snímku se může měnit v závislosti na používaném zásuvném modulu GS."
#: pcsx2/gui/Panels/PathsPanel.cpp:60
msgid "!ContextTip:Folders:Logs"
msgstr ""
"Toto je adresář, kde PCSX2 ukládá své soubory se záznamem a diagnostické "
"výpisy. Většina zásuvných modulů bude také používat tento adresář, ale "
"některé starší ho můžou ignorovat."
msgstr "Toto je adresář, kde PCSX2 ukládá své soubory se záznamem a diagnostické výpisy. Většina zásuvných modulů bude také používat tento adresář, ale některé starší ho můžou ignorovat."
#: pcsx2/gui/Panels/PluginSelectorPanel.cpp:242
msgid "!Notice:PluginSelector:ConfirmShutdown"
msgstr "Varování! Změna zásuvných modulů vyžaduje"
msgstr ""
"Varování! Změna zásuvných modulů vyžaduje celkové vypnutí a reset virtuálního stroje PS2. PCSX2 se pokusí stav uložit a obnovit, ale pokud jsou nově zvolené zásuvné moduly nekompatibilní, obnovení může selhat a současný postup může být ztracen.\n"
"\n"
"Jste si jisti, že chcete nastavení použít teď?"
#: pcsx2/gui/Panels/PluginSelectorPanel.cpp:457
msgid "!Notice:PluginSelector:ApplyFailed"
msgstr ""
"Všechny zásuvné moduly musí mít platný výběr pro %s ke spuštění. Pokud "
"nemůžete provést výběr kvůli chybějícímu modulu nebo nedokončené instalaci "
"%s, pak stiskněte Zrušit pro uzavření panelu Nastavení."
msgstr "Všechny zásuvné moduly musí mít platný výběr pro %s ke spuštění. Pokud nemůžete provést výběr kvůli chybějícímu modulu nebo nedokončené instalaci %s, pak stiskněte Zrušit pro uzavření panelu Nastavení."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:27
msgid "!Panel:Speedhacks:EECycleX1"
msgstr ""
"Výchozí množství cyklů. Toto se blíže shoduje se skutečnou rychlostí "
"opravdového EmotionEngine PS2."
msgstr "Výchozí množství cyklů. Toto se blíže shoduje se skutečnou rychlostí opravdového EmotionEngine PS2."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:32
msgid "!Panel:Speedhacks:EECycleX2"
msgstr ""
"Sníží množství cyklů EE asi o 33%. Mírné zrychlení ve většině her s vysokou "
"kompatibilitou."
msgstr "Sníží množství cyklů EE asi o 33%. Mírné zrychlení ve většině her s vysokou kompatibilitou."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:37
msgid "!Panel:Speedhacks:EECycleX3"
msgstr ""
"Sníží množství cyklů EE asi o 50%. Průměrné zrychlení, ale *způsobí* "
"zadrhování zvuku ve spoustě FMV."
msgstr "Sníží množství cyklů EE asi o 50%. Průměrné zrychlení, ale *způsobí* zadrhování zvuku ve spoustě FMV."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:54
msgid "!Panel:Speedhacks:VUCycleStealOff"
@@ -412,123 +299,74 @@ msgstr "Zakáže krádež cyklů VJ. Nejkompatibilnější nastavení"
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:59
msgid "!Panel:Speedhacks:VUCycleSteal1"
msgstr ""
"Mírná krádež cyklů VJ. Nižší kompatibilita, ale jisté zrychlení ve většině "
"her."
msgstr "Mírná krádež cyklů VJ. Nižší kompatibilita, ale jisté zrychlení ve většině her."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:64
msgid "!Panel:Speedhacks:VUCycleSteal2"
msgstr ""
"Průměrná krádež cyklů VJ. Ještě nižší kompatibilita, ale výrazné zrychlení v "
"některých hrách."
msgstr "Průměrná krádež cyklů VJ. Ještě nižší kompatibilita, ale výrazné zrychlení v některých hrách."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:70
msgid "!Panel:Speedhacks:VUCycleSteal3"
msgstr ""
"Maximální krádež cyklů VJ. Užitečnost je omezená protože toto způsobuje "
"blikání grafiky nebo zpomalení ve většině her. "
msgstr "Maximální krádež cyklů VJ. Užitečnost je omezená protože toto způsobuje blikání grafiky nebo zpomalení ve většině her. "
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:97
msgid "!Panel:Speedhacks:Overview"
msgstr ""
"Hacky Rychlosti většinou zlepšují rychlost emulace, ale můžou způsobovat "
"chyby, špatný zvuk a špatné údaje o SZS. Když máte problémy s emulací, tento "
"panel zakažte nejdříve."
msgstr "Hacky Rychlosti většinou zlepšují rychlost emulace, ale můžou způsobovat chyby, špatný zvuk a špatné údaje o SZS. Když máte problémy s emulací, tento panel zakažte nejdříve."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:129
msgid "!ContextTip:Speedhacks:EECycleRate Slider"
msgstr ""
"Nastavením vyšších hodnot na tomto šoupátku účinně sníží rychlost hodin "
"jádra R5900 procesoru EmotionEngine a typicky přináší velké zrychlení hrám, "
"které nemohou využívat plný potenciál skutečného hardwaru PS2. "
msgstr "Nastavením vyšších hodnot na tomto šoupátku účinně sníží rychlost hodin jádra R5900 procesoru EmotionEngine a typicky přináší velké zrychlení hrám, které nemohou využívat plný potenciál skutečného hardwaru PS2. "
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:150
msgid "!ContextTip:Speedhacks:VUCycleStealing Slider"
msgstr ""
"Toto šoupátko kontroluje množství cyklů, které VJ ukradne od EmotionEngine. "
"Vyšší hodnoty zvyšují počet ukradených cyklů od EE pro každý mikroprogram, "
"který VJ spustí."
msgstr "Toto šoupátko kontroluje množství cyklů, které VJ ukradne od EmotionEngine. Vyšší hodnoty zvyšují počet ukradených cyklů od EE pro každý mikroprogram, který VJ spustí."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:169
msgid "!ContextTip:Speedhacks:vuFlagHack"
msgstr ""
"Aktualizuje Příznaky Stavu pouze v blocích, které je budou číst, místo "
"neustále. Toto je většinou bezpečné a Super VJ dělá standardně něco "
"podobného."
msgstr "Aktualizuje Příznaky Stavu pouze v blocích, které je budou číst, místo neustále. Toto je většinou bezpečné a Super VJ dělá standardně něco podobného."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:174
msgid "!ContextTip:Speedhacks:vuThread"
msgstr ""
"Spouští VJ1 na svém vlastním vlákně (pouze mikroVJ1). Na počítačích s 3 a "
"více jádry většinou zrychlení. Toto je pro většinu her bezpečné, ale některé "
"jsou nekompatibilní a mohou se zaseknout. V případě her omezených GS může "
"dojít ke zpomalení (zvláště na počítačích s dvoujádrovým procesorem)."
msgstr "Spouští VJ1 na svém vlastním vlákně (pouze mikroVJ1). Na počítačích s 3 a více jádry většinou zrychlení. Toto je pro většinu her bezpečné, ale některé jsou nekompatibilní a mohou se zaseknout. V případě her omezených GS může dojít ke zpomalení (zvláště na počítačích s dvoujádrovým procesorem)."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:195
msgid "!ContextTip:Speedhacks:INTC"
msgstr ""
"Tento hack funguje nejlépe v hrách, které používají stavy KPŘE registru pro "
"čekání na vsynch, což hlavně zahrnuje ne-3D rpg hry. Ty, co tuto metodu v "
"synch nepoužívají z tohoto hacku nedostanou žádné nebo malé zrychlení."
msgstr "Tento hack funguje nejlépe v hrách, které používají stavy KPŘE registru pro čekání na vsynch, což hlavně zahrnuje ne-3D rpg hry. Ty, co tuto metodu v synch nepoužívají z tohoto hacku nedostanou žádné nebo malé zrychlení."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:200
msgid "!ContextTip:Speedhacks:BIFC0"
msgstr ""
"Má za cíl hlavně čekací smyčku EE na adrese 0x81FC0 v kernelu, tento hack se "
"pokusí zjistit smyčky, jejichž těla mají zaručeně za následek stejný stav "
"stroje pro každé opakování doku naplánovaná událost nespustí emulaci další "
"jednotky. Po prvním opakováním takovýchto smyček, pokročíme do doby další "
"události nebo konce pracovního intervalu procesoru, co nastane dříve."
msgstr "Má za cíl hlavně čekací smyčku EE na adrese 0x81FC0 v kernelu, tento hack se pokusí zjistit smyčky, jejichž těla mají zaručeně za následek stejný stav stroje pro každé opakování doku naplánovaná událost nespustí emulaci další jednotky. Po prvním opakováním takovýchto smyček, pokročíme do doby další události nebo konce pracovního intervalu procesoru, co nastane dříve."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:207
msgid "!ContextTip:Speedhacks:fastCDVD"
msgstr ""
"Zkontrolujte seznam kompatibility HDLoadera pro hry, známé, že s tímto mají "
"problémy. (často označené jako vyžadující 'mode 1' nebo 'slow DVD'"
msgstr "Zkontrolujte seznam kompatibility HDLoadera pro hry, známé, že s tímto mají problémy. (často označené jako vyžadující 'mode 1' nebo 'slow DVD'"
#: pcsx2/gui/Panels/VideoPanel.cpp:37
msgid "!ContextTip:Framelimiter:Disable"
msgstr ""
"Nezapomeňte, že když je omezení snímků vypnuté, nebudou ani také dostupné "
"režimy Turbo a ZpomalenýPohyb."
msgstr "Nezapomeňte, že když je omezení snímků vypnuté, nebudou ani také dostupné režimy Turbo a ZpomalenýPohyb."
#: pcsx2/gui/Panels/VideoPanel.cpp:227
msgid "!Panel:Frameskip:Heading"
msgstr ""
"Upozornění: Kvůli hardwarovému designu PS2 je přesné přeskakování snímků "
"nemožné. Zapnutím tohoto způsobí vážné grafické chyby v některých hrách."
msgstr "Upozornění: Kvůli hardwarovému designu PS2 je přesné přeskakování snímků nemožné. Zapnutím tohoto způsobí vážné grafické chyby v některých hrách."
#: pcsx2/gui/Panels/VideoPanel.cpp:306
msgid "!ContextTip:GS:SyncMTGS"
msgstr ""
"Zapněte toto, pokud si myslíte, že synch vlákna VVGS způsobuje pády a "
"grafické problémy."
msgstr "Zapněte toto, pokud si myslíte, že synch vlákna VVGS způsobuje pády a grafické problémy."
#: pcsx2/gui/Panels/VideoPanel.cpp:310
msgid "!ContextTip:GS:DisableOutput"
msgstr ""
"Odstraní jakýkoli šum výkonnostního testu způsobený vláknem VVGS nebo časem "
"zpracování grafického procesoru. Tato volba se nejlépe používá spolu s "
"uloženými stavy: uložte stav v ideální scéně, zapněte tuto volbu, a znovu "
"načtěte uložený stav.\n"
"Odstraní jakýkoli šum výkonnostního testu způsobený vláknem VVGS nebo časem zpracování grafického procesoru. Tato volba se nejlépe používá spolu s uloženými stavy: uložte stav v ideální scéně, zapněte tuto volbu, a znovu načtěte uložený stav.\n"
"\n"
"Varování: Tato volba může být zapnuta za běhu ale typicky nemůže být takto "
"vypnuta (obraz bude většinou poškozený)"
"Varování: Tato volba může být zapnuta za běhu ale typicky nemůže být takto vypnuta (obraz bude většinou poškozený)"
#: pcsx2/vtlb.cpp:710
msgid "!Notice:HostVmReserve"
msgstr ""
"Váš systém má příliš nízké virtuální zdroje, aby mohl být PCSX2 spuštěn. To "
"může být způsobeno malým nebo vypnutým stránkovacím souborem, nebo jinými "
"programy, které jsou náročné na zdroje."
msgstr "Váš systém má příliš nízké virtuální zdroje, aby mohl být PCSX2 spuštěn. To může být způsobeno malým nebo vypnutým stránkovacím souborem, nebo jinými programy, které jsou náročné na zdroje."
#: pcsx2/x86/sVU_zerorec.cpp:363
msgid "!Notice:superVU:VirtualMemoryAlloc"
msgstr ""
"Došla Paměť (tak trochu): Rekompilátor SuperVJ nemohl vyhradit určitý "
"vyžadovaný rozsah paměti a nebude dostupný k použití. To není kritická "
"chyba, protože rek sVU je zastaralý a stejně byste místo něj měli používat "
"mVU :)."
msgstr "Došla Paměť (tak trochu): Rekompilátor SuperVJ nemohl vyhradit určitý vyžadovaný rozsah paměti a nebude dostupný k použití. To není kritická chyba, protože rek sVU je zastaralý a stejně byste místo něj měli používat mVU :)."
#~ msgid "!ContextTip:Speedhacks:vuBlockHack"
#~ msgstr ""

View File

@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PCSX2 0.9.9\n"
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
"POT-Creation-Date: 2012-05-07 17:46+0200\n"
"PO-Revision-Date: 2011-09-29 13:05+0100\n"
"POT-Creation-Date: 2012-06-03 13:27+0200\n"
"PO-Revision-Date: 2012-05-24 20:41+0100\n"
"Last-Translator: Zbyněk Schwarz <zbynek.schwarz@gmail.com>\n"
"Language-Team: Zbyněk Schwarz\n"
"Language: cs\n"
@@ -614,7 +614,7 @@ msgstr "Chyba BIOSu PS2"
#: pcsx2/gui/AppMain.cpp:574
msgid "Press Ok to go to the BIOS Configuration Panel."
msgstr "Stiskněte OK pro"
msgstr "Stiskněte OK pro přechod na Panel nastavení BIOSu."
#: pcsx2/gui/AppMain.cpp:626
msgid "PCSX2 Unresponsive Thread"
@@ -998,7 +998,7 @@ msgid ""
"games."
msgstr ""
"Varování nízké kompatibility: Ano, je velmi velká, ale nefunguje ve spoustě "
"hrách."
"her."
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:208
msgid ""
@@ -1235,7 +1235,9 @@ msgstr "Chyba Přetáhnutí"
msgid ""
"It is an error to drop multiple files onto a %s window. One at a time "
"please, thank you."
msgstr "Je chyba přetahovat mnoho souborů do okna %s. "
msgstr ""
"Je chyba přetahovat mnoho souborů do okna %s. Jeden po druhém prosím, "
"děkujeme."
#: pcsx2/gui/IsoDropTarget.cpp:89 pcsx2/gui/MainMenuClicks.cpp:342
msgid "Confirm PS2 Reset"
@@ -1964,7 +1966,7 @@ msgstr "Hack XGkick VJ - Pro Erementar Gerad."
#: pcsx2/gui/Panels/GameFixesPanel.cpp:62
msgid "FFX videos fix - Fixes bad graphics overlay in FFX videos."
msgstr "oprava videí FFX - Opravuje špatný grafický překryv ve videích FFX."
msgstr "Oprava videí FFX - Opravuje špatný grafický překryv ve videích FFX."
#: pcsx2/gui/Panels/GameFixesPanel.cpp:66
msgid "EE timing hack - Multi purpose hack. Try if all else fails."
@@ -2426,7 +2428,7 @@ msgstr "Jiné Hacky"
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:185
msgid "Enable INTC Spin Detection"
msgstr "Povolit Zjišťování Otáčení KPŘE"
msgstr "Povolit Zjišní Otáčení KPŘE"
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:186
msgid ""
@@ -2488,15 +2490,15 @@ msgstr ""
#: pcsx2/gui/Panels/VideoPanel.cpp:61
msgid "Base Framerate Adjust:"
msgstr "Úprava Základní Frekvence Snímků:"
msgstr "Seřízení Základní Frekvence Snímků:"
#: pcsx2/gui/Panels/VideoPanel.cpp:67
msgid "Slow Motion Adjust:"
msgstr "Úprava Zpomaleného Pohybu:"
msgstr "Seřízení Zpomaleného Pohybu:"
#: pcsx2/gui/Panels/VideoPanel.cpp:73
msgid "Turbo Adjust:"
msgstr "Turbo Úprava:"
msgstr "Seřízení Turba:"
#: pcsx2/gui/Panels/VideoPanel.cpp:88
msgid "NTSC Framerate:"
@@ -2579,14 +2581,14 @@ msgid "Framelimiter"
msgstr "Omezovač Snímků"
#: pcsx2/gui/SysState.cpp:283
#, fuzzy
msgid "Cannot load this savestate. The state is an unsupported version."
msgstr "Nelze načíst uložený stav. Je neznámé nebo nepodporované verze."
msgstr ""
"Nelze načíst tento uložený stav. Má neznámou nebo nepodporovanou verzi."
#: pcsx2/gui/SysState.cpp:290
#, fuzzy
msgid "Cannot load this savestate. The state is an unsupported version."
msgstr "Nelze načíst uložený stav. Je neznámé nebo nepodporované verze."
msgstr ""
"Nelze načíst tento uložený stav. Má neznámou nebo nepodporovanou verzi."
#: pcsx2/gui/SysState.cpp:326
msgid "There is no active virtual machine state to download or save."
@@ -2628,7 +2630,7 @@ msgid ""
"The PS2 BIOS could not be loaded. The BIOS has not been configured, or the "
"configuration has been corrupted. Please re-configure."
msgstr ""
"BIOS PS2 nemohl nýt načten. BIOS nebyl nastaven nebo bylo nastavení "
"BIOS PS2 nemohl být načten. BIOS nebyl nastaven nebo bylo nastavení "
"poškozeno. Nastavte prosím znovu."
#: pcsx2/ps2/BiosTools.cpp:251

View File

@@ -5,7 +5,7 @@ msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
"POT-Creation-Date: 2012-04-07 11:42+0200\n"
"PO-Revision-Date: 2011-04-09 01:11+0100\n"
"PO-Revision-Date: 2012-07-04 11:45+0100\n"
"Last-Translator: \n"
"Language-Team: PCSX2\n"
"Language: \n"
@@ -20,9 +20,7 @@ msgstr ""
#: common/src/Utilities/Exceptions.cpp:254
msgid "!Notice:VirtualMemoryMap"
msgstr ""
"Es steht nicht genügend virtueller Speicher zur Verfügung bzw. der Speicher "
"wird von anderen Programmen / DLLs belegt."
msgstr "Es steht nicht genügend virtueller Speicher zur Verfügung bzw. der Speicher wird von anderen Programmen / DLLs belegt."
#: pcsx2/CDVD/CDVD.cpp:389
msgid "!Notice:PsxDisc"
@@ -30,87 +28,55 @@ msgstr "PlayStation 1 (PSX) Spiele werden von PCSX2 noch nicht unterstützt!"
#: pcsx2/System.cpp:114
msgid "!Notice:Recompiler:VirtualMemoryAlloc"
msgstr ""
"Der Recompiler konnte nicht genug virtuellen Speicher allokieren. Versuche "
"PCSX2 etwas mehr Speicher zu gewähren indem du nicht benötigte Programme "
"beendest."
msgstr "Der Recompiler konnte nicht genug virtuellen Speicher allokieren. Versuche PCSX2 etwas mehr Speicher zu gewähren indem du nicht benötigte Programme beendest."
#: pcsx2/System.cpp:348
msgid "!Notice:EmuCore::MemoryForVM"
msgstr ""
"Es steht nicht genügend virtueller Speicher zur Verfügung bzw. der Speicher "
"wird von anderen Programmen / DLLs belegt."
msgstr "Es steht nicht genügend virtueller Speicher zur Verfügung bzw. der Speicher wird von anderen Programmen / DLLs belegt."
#: pcsx2/gui/AppInit.cpp:43
msgid "!Notice:Startup:NoSSE2"
msgstr ""
"Dein Prozessor unterstützt kein SSE2. Viele Plugins werden nicht "
"funktionieren und die Emulation wird sehr langsam sein."
msgstr "Dein Prozessor unterstützt kein SSE2. Viele Plugins werden nicht funktionieren und die Emulation wird sehr langsam sein."
#: pcsx2/gui/AppInit.cpp:162
msgid "!Notice:RecompilerInit:Header"
msgstr ""
"Einige der PCSX2 Recompiler konnten nicht starten und wurden deaktiviert:"
msgstr "Einige der PCSX2 Recompiler konnten nicht starten und wurden deaktiviert:"
#: pcsx2/gui/AppInit.cpp:211
msgid "!Notice:RecompilerInit:Footer"
msgstr ""
"Recompiler werden zwar nicht unbedingt von PCSX2 benötigt, sie sind aber "
"wichtig um akzeptable FPS Raten zu erreichen. Du kannst versuchen die "
"Recompiler über die Konfigurationseinstellungen zu reaktivieren."
msgstr "Recompiler werden zwar nicht unbedingt von PCSX2 benötigt, sie sind aber wichtig um akzeptable FPS Raten zu erreichen. Du kannst versuchen die Recompiler über die Konfigurationseinstellungen zu reaktivieren."
#: pcsx2/gui/AppMain.cpp:546
msgid "!Notice:BiosDumpRequired"
msgstr ""
"PCSX2 benötigt ein PS2 BIOS Abbild. Da Sony den BIOS Code lizenziert hat "
"dürfen wir dieses nicht mit PCSX2 vertreiben. Du musst daher das BIOS Abbild "
"deiner eigenen PS2 benutzen! Näheres dazu in der FAQ."
msgstr "PCSX2 benötigt ein PS2 BIOS Abbild. Da Sony den BIOS Code lizenziert hat dürfen wir dieses nicht mit PCSX2 vertreiben. Du musst daher das BIOS Abbild deiner eigenen PS2 benutzen! Näheres dazu in der FAQ."
#: pcsx2/gui/AppMain.cpp:629
msgid "!Notice Error:Thread Deadlock Actions"
msgstr ""
"Ignorieren um weiter auf den Thread zu warten.Abbrechen um den Thread zu "
"beenden.Beenden um PCSX2 komplett zu schließen."
msgstr "Ignorieren um weiter auf den Thread zu warten.Abbrechen um den Thread zu beenden.Beenden um PCSX2 komplett zu schließen."
#: pcsx2/gui/AppUserMode.cpp:57
msgid "!Notice:PortableModeRights"
msgstr ""
"Stelle bitte sicher das diese Ordner erstellt wurden und das dein "
"Benutzeraccount Schreibrechte hat. Alternativ kannst du versuchen PCSX2 mit "
"Administratorrechten zu starten. Das sollte es ermöglichen die benötigten "
"Ordner zu erstellen. Falls du keine dieser Möglichkeiten hast, solltest du "
"in den normalen Installationsmodus wechseln (klicke den folgenden Button)."
msgstr "Stelle bitte sicher das diese Ordner erstellt wurden und das dein Benutzeraccount Schreibrechte hat. Alternativ kannst du versuchen PCSX2 mit Administratorrechten zu starten. Das sollte es ermöglichen die benötigten Ordner zu erstellen. Falls du keine dieser Möglichkeiten hast, solltest du in den normalen Installationsmodus wechseln (klicke den folgenden Button)."
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:181
msgid "!ContextTip:ChangingNTFS"
msgstr ""
"Die NTFS Komprimierung kann jederzeit via Windows Explorer geändert werden."
msgstr "Die NTFS Komprimierung kann jederzeit via Windows Explorer geändert werden."
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:49
msgid "!ContextTip:Folders:Settings"
msgstr ""
"PCSX2 und Plugins werden versuchen ihre Einstellungen in diesen Ordner zu "
"schreiben. Einige (ältere) Plugins könnten dies jedoch nicht unterstützen."
msgstr "PCSX2 und Plugins werden versuchen ihre Einstellungen in diesen Ordner zu schreiben. Einige (ältere) Plugins könnten dies jedoch nicht unterstützen."
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:54
msgid "!Panel:Folders:Settings"
msgstr ""
"Du kannst hier optional ein Verzeichnis angeben, in dem PCSX2 seine "
"Konfiguration speichern wird. Sind dort bereits Einstellungen vorhanden, "
"wird PCSX2 dir anbieten, diese zu importieren."
msgstr "Du kannst hier optional ein Verzeichnis angeben, in dem PCSX2 seine Konfiguration speichern wird. Sind dort bereits Einstellungen vorhanden, wird PCSX2 dir anbieten, diese zu importieren."
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:94
msgid "!Wizard:Welcome"
msgstr ""
"Der Konfigurationshelfer nimmt die Grundeinstellungen für %s vor. Es werden "
"Plugins, das BIOS Abbild und Memory Cards konfiguriert."
msgstr "Der Konfigurationshelfer nimmt die Grundeinstellungen für %s vor. Es werden Plugins, das BIOS Abbild und Memory Cards konfiguriert."
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:140
msgid "!Wizard:Bios:Tutorial"
msgstr ""
"PCSX2 benötigt ein PS2 BIOS Abbild. Da Sony den BIOS Code lizenziert hat "
"dürfen wir dieses nicht mit PCSX2 vertreiben. Du musst daher das BIOS Abbild "
"deiner eigenen PS2 benutzen! Näheres dazu in der FAQ."
msgstr "PCSX2 benötigt ein PS2 BIOS Abbild. Da Sony den BIOS Code lizenziert hat dürfen wir dieses nicht mit PCSX2 vertreiben. Du musst daher das BIOS Abbild deiner eigenen PS2 benutzen! Näheres dazu in der FAQ."
#: pcsx2/gui/Dialogs/ImportSettingsDialog.cpp:31
msgid "!Notice:ImportExistingSettings"
@@ -124,29 +90,19 @@ msgstr "Schnelle und sichere Komprimierung der Memory Cards. Empfohlen."
#: pcsx2/gui/Dialogs/McdConfigDialog.cpp:41
msgid "!Panel:Mcd:EnableEjection"
msgstr ""
"Inkompatibel mit Guitar Hero und Spielen, die es nicht ermöglichen mehrmals "
"nach einer Memory Card zu suchen."
msgstr "Inkompatibel mit Guitar Hero und Spielen, die es nicht ermöglichen mehrmals nach einer Memory Card zu suchen."
#: pcsx2/gui/Dialogs/StuckThreadDialog.cpp:33
msgid "!Panel:StuckThread:Heading"
msgstr ""
"Der Thread antwortet nicht. Er könnte festgefroren sein, oder aber sehr "
"langsam reagieren."
msgstr "Der Thread antwortet nicht. Er könnte festgefroren sein, oder aber sehr langsam reagieren."
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:38
msgid "!Panel:HasHacksOverrides"
msgstr ""
"Achtung! PCSX2 läuft mit Kommandozeilenparametern, welche die hier zu "
"tätigenden Einstellungen übergehen. Solltest du hier Änderungen vornehmen, "
"werden diese Kommandozeilenparameter ignoriert."
msgstr "Achtung! PCSX2 läuft mit Kommandozeilenparametern, welche die hier zu tätigenden Einstellungen übergehen. Solltest du hier Änderungen vornehmen, werden diese Kommandozeilenparameter ignoriert."
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:58
msgid "!Panel:HasPluginsOverrides"
msgstr ""
"Achtung! PCSX2 läuft mit Kommandozeilenparametern, welche die hier "
"einzustellenden Plugins und Ordner übergehen. Solltest du hier Änderungen "
"vornehmen, werden diese Kommandozeilenparameter ignoriert."
msgstr "Achtung! PCSX2 läuft mit Kommandozeilenparametern, welche die hier einzustellenden Plugins und Ordner übergehen. Solltest du hier Änderungen vornehmen, werden diese Kommandozeilenparameter ignoriert."
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:135
msgid "!Notice:Tooltip:Presets:Slider"
@@ -159,10 +115,7 @@ msgstr ""
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:149
msgid "!Notice:Tooltip:Presets:Checkbox"
msgstr ""
"Presets erleichtern dir die Konfiguration, indem sie passende Einstellungen "
"zur gewünschten Geschwindigkeitsstufe wählen. Höhere Stufen aktivieren mehr "
"Hacks und sind daher nicht mit allen Spielen kompatibel."
msgstr "Presets erleichtern dir die Konfiguration, indem sie passende Einstellungen zur gewünschten Geschwindigkeitsstufe wählen. Höhere Stufen aktivieren mehr Hacks und sind daher nicht mit allen Spielen kompatibel."
#: pcsx2/gui/IsoDropTarget.cpp:28
msgid "!Notice:ConfirmSysReset"
@@ -170,16 +123,11 @@ msgstr "Diese Option wird die virtuelle PS2 resetten. Bist du dir sicher?"
#: pcsx2/gui/MainMenuClicks.cpp:106
msgid "!Notice:DeleteSettings"
msgstr ""
"Diese Option löscht alle %s Einstellungen und ermöglicht das erneute "
"Ausführen des Konfigurationshelfers. %s muss dazu neu gestartet werden.Alle "
"%s Einstellungen gehen verloren. Bist du dir sicher?"
msgstr "Diese Option löscht alle %s Einstellungen und ermöglicht das erneute Ausführen des Konfigurationshelfers. %s muss dazu neu gestartet werden.Alle %s Einstellungen gehen verloren. Bist du dir sicher?"
#: pcsx2/gui/MemoryCardFile.cpp:78
msgid "!Notice:Mcd:HasBeenDisabled"
msgstr ""
"Die Memory Card in Slot %d wurde automatisch deaktiviert. Du kannst dieses "
"Problem via Konfiguration > Memory Card beheben."
msgstr "Die Memory Card in Slot %d wurde automatisch deaktiviert. Du kannst dieses Problem via Konfiguration > Memory Card beheben."
#: pcsx2/gui/Panels/BiosSelectorPanel.cpp:138
msgid "!Notice:BIOS:InvalidSelection"
@@ -205,20 +153,15 @@ msgstr "Nutzt das Standardverzeichnis des gewählten Installationsmodus."
#: pcsx2/gui/Panels/GSWindowPanel.cpp:55
msgid "!ContextTip:Window:Zoom"
msgstr "!ContextTip:Window:Zoom"
msgstr "Zoom"
#: pcsx2/gui/Panels/GSWindowPanel.cpp:63
msgid "!ContextTip:Window:Vsync"
msgstr ""
"VSync ist eine Grafikoption, die versucht Jidder und Tearing zu vermeiden. "
"Sie setzt voraus, dass das Spiel mit voller Geschwindigkeit läuft, was "
"selten zu 100% der Fall ist. Es wird nicht empfohlen, VSync zu aktivieren."
msgstr "VSync ist eine Grafikoption, die versucht Jidder und Tearing zu vermeiden. Sie setzt voraus, dass das Spiel mit voller Geschwindigkeit läuft, was selten zu 100% der Fall ist. Es wird nicht empfohlen, VSync zu aktivieren."
#: pcsx2/gui/Panels/GSWindowPanel.cpp:68
msgid "!ContextTip:Window:ManagedVsync"
msgstr ""
"Aktiviert Vsync nur bei voller Geschwindigkeit. Sobald die FPS unter 50 "
"(PAL) oder 60 (NTSC) fallen, wird Vsync deaktiviert."
msgstr "Aktiviert Vsync nur bei voller Geschwindigkeit. Sobald die FPS unter 50 (PAL) oder 60 (NTSC) fallen, wird Vsync deaktiviert."
#: pcsx2/gui/Panels/GSWindowPanel.cpp:76
msgid "!ContextTip:Window:HideMouse"
@@ -234,9 +177,7 @@ msgstr "Versteckt das GS Fenster wenn man mit ESC die Emulation pausiert."
#: pcsx2/gui/Panels/GameFixesPanel.cpp:67
msgid "!ContextTip:Gamefixes:EE Timing Hack"
msgstr ""
"Ändert das wichtige Timing für alle DMA Komponenten auf einen festen, "
"schnellen Wert. Hat diversen Einfluss auf die Kompatibilität."
msgstr "Ändert das wichtige Timing für alle DMA Komponenten auf einen festen, schnellen Wert. Hat diversen Einfluss auf die Kompatibilität."
#: pcsx2/gui/Panels/GameFixesPanel.cpp:80
msgid "!ContextTip:Gamefixes:OPH Flag hack"
@@ -244,30 +185,23 @@ msgstr "Veraltet"
#: pcsx2/gui/Panels/GameFixesPanel.cpp:89
msgid "!ContextTip:Gamefixes:DMA Busy hack"
msgstr "!ContextTip:Gamefixes:DMA Busy hack"
msgstr "DMA Busy hack"
#: pcsx2/gui/Panels/GameFixesPanel.cpp:96
#, fuzzy
msgid "!ContextTip:Gamefixes:VIF1 FIFO hack"
msgstr "Veraltet"
msgstr "VIF1 Fifo hack."
#: pcsx2/gui/Panels/GameFixesPanel.cpp:119
msgid "!Panel:Gamefixes:Compat Warning"
msgstr ""
"Spielefixes können spezifische, bekannte Fehler in einigen Spielen beheben. "
"Sie sollten aber nur für diese Spiele aktiviert werden."
msgstr "Spielefixes können spezifische, bekannte Fehler in einigen Spielen beheben. Sie sollten aber nur für diese Spiele aktiviert werden."
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:720
msgid "!Notice:Mcd:Delete"
msgstr ""
"Hiermit wird die komplette Memory Card in Slot %u gelöscht. Bist du dir "
"absolut sicher?"
msgstr "Hiermit wird die komplette Memory Card in Slot %u gelöscht. Bist du dir absolut sicher?"
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:758
msgid "!Notice:Mcd:CantDuplicate"
msgstr ""
"Fehler: Duplizieren ist nur in einen leeren PS2 Port oder in das Dateisystem "
"erlaubt."
msgstr "Fehler: Duplizieren ist nur in einen leeren PS2 Port oder in das Dateisystem erlaubt."
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:801
msgid "!Notice:Mcd:Copy Failed"
@@ -283,35 +217,26 @@ msgstr "Du kannst den Standardordner für PCSX2 und Plugins hier einstellen."
#: pcsx2/gui/Panels/PathsPanel.cpp:40
msgid "!ContextTip:Folders:Savestates"
msgstr ""
"In diesen Ordner wird PCSX2 versuchen Savestates zu schreiben. States können "
"bei vielen Spielen schnell recht viel Platz beanspruchen!"
msgstr "In diesen Ordner wird PCSX2 versuchen Savestates zu schreiben. States können bei vielen Spielen schnell recht viel Platz beanspruchen!"
#: pcsx2/gui/Panels/PathsPanel.cpp:50
msgid "!ContextTip:Folders:Snapshots"
msgstr ""
"In diesen Ordner werden PCSX2 und Plugins versuchen Screenshots zu schreiben."
msgstr "In diesen Ordner werden PCSX2 und Plugins versuchen Screenshots zu schreiben."
#: pcsx2/gui/Panels/PathsPanel.cpp:60
msgid "!ContextTip:Folders:Logs"
msgstr ""
"In diesen Ordner werden PCSX2 und Plugins versuchen Logdateien zu schreiben."
msgstr "In diesen Ordner werden PCSX2 und Plugins versuchen Logdateien zu schreiben."
#: pcsx2/gui/Panels/PluginSelectorPanel.cpp:242
msgid "!Notice:PluginSelector:ConfirmShutdown"
msgstr ""
"Warnung: Die Plugins zur Laufzeit zu verändern erfordert ein komplettes "
"Reinitialisieren der Plugins und der Recompiler. PCSX2 wird versuchen alles "
"korrekt wiederherzustellen, dies ist jedoch nicht ganz sicher. \n"
"Warnung: Die Plugins zur Laufzeit zu verändern erfordert ein komplettes Reinitialisieren der Plugins und der Recompiler. PCSX2 wird versuchen alles korrekt wiederherzustellen, dies ist jedoch nicht ganz sicher. \n"
"\n"
"Bist du dir sicher das du die Änderung jetzt anwenden möchtest?"
#: pcsx2/gui/Panels/PluginSelectorPanel.cpp:457
msgid "!Notice:PluginSelector:ApplyFailed"
msgstr ""
"Alle Plugins müssen korrekt eingestellt sein, ansonsten kann PCSX2 nicht "
"funktionieren. Falls du keine gültige Konfiguration erstellen kannst, drücke "
"Abbrechen."
msgstr "Alle Plugins müssen korrekt eingestellt sein, ansonsten kann PCSX2 nicht funktionieren. Falls du keine gültige Konfiguration erstellen kannst, drücke Abbrechen."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:27
msgid "!Panel:Speedhacks:EECycleX1"
@@ -343,32 +268,23 @@ msgstr "Stufe 3."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:97
msgid "!Panel:Speedhacks:Overview"
msgstr ""
"Speedhacks verbessern die FPS Leistung der Emulation auf deinem PC indem sie "
"Abkürzungen nehmen oder die PS2 Hardware untertakten. Sie können "
"Emulationsprobleme auslösen, daher empfehlen wir bei Fehlern zuerst die "
"Speedhacks zu deaktivieren!"
msgstr "Speedhacks verbessern die FPS Leistung der Emulation auf deinem PC indem sie Abkürzungen nehmen oder die PS2 Hardware untertakten. Sie können Emulationsprobleme auslösen, daher empfehlen wir bei Fehlern zuerst die Speedhacks zu deaktivieren!"
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:129
msgid "!ContextTip:Speedhacks:EECycleRate Slider"
msgstr ""
"Erhöhen dieses Wertes untertaktet die virtuelle PS2 CPU (Emotion Engine). "
"Daher läuft die Emulation etwas schneller aber viele Spiele laufen stockend."
msgstr "Erhöhen dieses Wertes untertaktet die virtuelle PS2 CPU (Emotion Engine). Daher läuft die Emulation etwas schneller aber viele Spiele laufen stockend."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:150
msgid "!ContextTip:Speedhacks:VUCycleStealing Slider"
msgstr ""
"\"Stiehlt\" der PS2 CPU einige Zyklen bei jeder VU Programmausführung. "
"Geschwindigkeitsgewinn bei reduzierter Kompatibilität."
msgstr "\"Stiehlt\" der PS2 CPU einige Zyklen bei jeder VU Programmausführung. Geschwindigkeitsgewinn bei reduzierter Kompatibilität."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:169
msgid "!ContextTip:Speedhacks:vuFlagHack"
msgstr "Lässt einige VU Statusflags aus. Sicher."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:174
#, fuzzy
msgid "!ContextTip:Speedhacks:vuThread"
msgstr "Funktioniert nicht mit Gran Turismo 4 oder Tekken 5."
msgstr "Lässt VU1 in einem weiteren Thread laufen um die Performance in 3D spielen zu erhöhen. Benötigt 3 oder mehr CPU Kerne und funktioniert nicht mit jedem Spiel."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:195
msgid "!ContextTip:Speedhacks:INTC"
@@ -380,21 +296,15 @@ msgstr "Kann gefahrlos aktiviert werden."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:207
msgid "!ContextTip:Speedhacks:fastCDVD"
msgstr ""
"Einige Spiele erwarten ein standardkonformes (langsam lesendes) DVD "
"Laufwerk. Diese können dann hängenbleiben."
msgstr "Einige Spiele erwarten ein standardkonformes (langsam lesendes) DVD Laufwerk. Diese können dann hängenbleiben."
#: pcsx2/gui/Panels/VideoPanel.cpp:37
msgid "!ContextTip:Framelimiter:Disable"
msgstr ""
"Deaktiviert den Framelimiter. Das Spiel läuft so schnell wie es dein Rechner "
"ermöglicht."
msgstr "Deaktiviert den Framelimiter. Das Spiel läuft so schnell wie es dein Rechner ermöglicht."
#: pcsx2/gui/Panels/VideoPanel.cpp:227
msgid "!Panel:Frameskip:Heading"
msgstr ""
"Aufgrund des spezifischen Designs der PS2 ist ein akkurates Frameskipping "
"nicht möglich. Versuche die Werte anzupassen oder benutze Speedhacks."
msgstr "Aufgrund des spezifischen Designs der PS2 ist ein akkurates Frameskipping nicht möglich. Versuche die Werte anzupassen oder benutze Speedhacks."
#: pcsx2/gui/Panels/VideoPanel.cpp:306
msgid "!ContextTip:GS:SyncMTGS"
@@ -402,21 +312,15 @@ msgstr "Nur für das Debugging aktivieren. Sehr langsam."
#: pcsx2/gui/Panels/VideoPanel.cpp:310
msgid "!ContextTip:GS:DisableOutput"
msgstr ""
"Entfernt störende Faktoren von der Grafikkarte oder Treiberproblemen. Nur "
"für PCSX2 Benchmarks interressant."
msgstr "Entfernt störende Faktoren von der Grafikkarte oder Treiberproblemen. Nur für PCSX2 Benchmarks interressant."
#: pcsx2/vtlb.cpp:710
msgid "!Notice:HostVmReserve"
msgstr ""
"Es steht nicht genügend virtueller Speicher zur Verfügung bzw. der Speicher "
"wird von anderen Programmen / DLLs belegt."
msgstr "Es steht nicht genügend virtueller Speicher zur Verfügung bzw. der Speicher wird von anderen Programmen / DLLs belegt."
#: pcsx2/x86/sVU_zerorec.cpp:363
msgid "!Notice:superVU:VirtualMemoryAlloc"
msgstr ""
"Der SuperVU Recompiler konnte nicht genügend virtuellen Speicher allokieren. "
"Versuche es mit microVU!"
msgstr "Der SuperVU Recompiler konnte nicht genügend virtuellen Speicher allokieren. Versuche es mit microVU!"
#~ msgid "!ContextTip:Speedhacks:vuBlockHack"
#~ msgstr "Kann die Geschwindigkeit leicht erhöhen. In FFX kontraproduktiv!"

View File

@@ -0,0 +1,378 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR PCSX2 Dev Team
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PCSX2 0.9.9\n"
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
"POT-Creation-Date: 2012-05-07 17:47+0200\n"
"PO-Revision-Date: 2012-05-20 13:26+0200\n"
"Last-Translator: kmartimo <kimmo.martimo@gmail.com>\n"
"Language-Team: kmartimo <kimmo.martimo@gmail.com>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: pxE;pxEt\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Poedit-Basepath: ..\\..\\..\\svn\\\n"
"X-Poedit-Language: Finnish\n"
"X-Poedit-Country: FINLAND\n"
"X-Poedit-SearchPath-0: pcsx2\n"
"X-Poedit-SearchPath-1: common\n"
#: common/src/Utilities/Exceptions.cpp:254
msgid "!Notice:VirtualMemoryMap"
msgstr "Tarpeellista määrää virtuaalimuistia ei ole saatavilla tai tarpeelliset virtuaalimuistin kartoitukset on jo varattu muille prosseille, palveluille tai DLLeille."
#: pcsx2/CDVD/CDVD.cpp:389
msgid "!Notice:PsxDisc"
msgstr "PCSX2 ei tue Playstationin pelilevyjä. Jos haluat emuloida PSX-pelejä, sinun täytyy ladata PSX-emulaattori, kuten ePSXe tai PCSX."
#: pcsx2/System.cpp:114
msgid "!Notice:Recompiler:VirtualMemoryAlloc"
msgstr "Uudelleenkääntäjä ei pystynyt varaamaan yhtenäistä muistialuetta, jota tarvitaan sisäisille välimuisteille. Tämän virheen voi aiheuttaa alhainen virtuaalimuistin määrä, kuten pieni tai käytöstä poistettu heittovaihtotiedosto, tai muu ohjelma joka vie paljon muistia. Voit myös yrittää vähentää oletusarvoisia välimuistin kokoja kaikille PCSX2:den uudelleenkääntäjille. Asetukset löytyvät isäntäasetuksista."
#: pcsx2/System.cpp:348
msgid "!Notice:EmuCore::MemoryForVM"
msgstr "PCSX2 ei pysty varaamaan PS2-virtuaalikoneelle tarvittavaa muistia. Sulje joitakin paljon muistia vieviä taustatehtäviä ja kokeile uudelleen."
#: pcsx2/gui/AppInit.cpp:43
msgid "!Notice:Startup:NoSSE2"
msgstr "Varoitus: Tietokoneesi ei tue SSE2-käskykantalaajennosta, jota monet PCSX2:den uudelleenkääntäjät ja liitännäiset vaativat. Vaihtoehtosi ovat rajoitetut ja emulointi tulee olemaan *todella* hidasta."
#: pcsx2/gui/AppInit.cpp:162
msgid "!Notice:RecompilerInit:Header"
msgstr "Varoitus: Joidenkin määriteltyjen PCSX2-uudelleenkääntäjien alustus epäonnistui ja ne on poistettu käytöstä:"
#: pcsx2/gui/AppInit.cpp:211
msgid "!Notice:RecompilerInit:Footer"
msgstr "Huom. Uudelleenkääntäjät eivät ole välttämättömät PCSX2:den toiminnalle, mutta ne parantavat emulaation nopeutta huomattavasti. Saatat joutua manuaalisesti ottamaan käyttöön yllä listatut uudelleenkääntäjät, jos saat virheet ratkaistua."
#: pcsx2/gui/AppMain.cpp:546
msgid "!Notice:BiosDumpRequired"
msgstr "PCSX2 tarvitsee PS2 BIOS-tiedoston toimiakseen. Laillisista syistä sinun *täytyy* hankkia BIOS-tiedosto omistamastasi PS2-järjestelmästä (lainaamista ei lasketa). Lisätietoja löydät UKK:sta (FAQ) ja oppaista."
#: pcsx2/gui/AppMain.cpp:629
msgid "!Notice Error:Thread Deadlock Actions"
msgstr ""
"'Ohita' jatkaaksesi säikeen vastaamisen odottamista.\n"
"'Peruuta' yrittääksesi peruuttaa säikeen.\n"
"'Lopeta' sulkeaksesi PCSX2:den välittömästi."
#: pcsx2/gui/AppUserMode.cpp:57
msgid "!Notice:PortableModeRights"
msgstr "Ole hyvä ja varmista, että nämä kansiot on luotu ja että käyttäjätililläsi on oikeudet kirjoittaa niihin -- tai suorita PCSX2 uudelleen korotetuilla (järjestelmänvalvojan) oikeuksilla, joiden pitäisi antaa PCSX2:lle oikeudet luoda tarpeelliset kansiot itse. Jos sinulla ei ole korotettuja oikeuksia tällä tietokoneella, sinun tarvitsee siirtyä Käyttäjän Tiedostot -tilaan (paina allaolevaa nappia)."
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:181
msgid "!ContextTip:ChangingNTFS"
msgstr "NTFS-pakkausta voi vaihtaa manuaalisesti milloin tahansa käyttäen tiedoston ominaisuudet-ikkunaa Windowsin resurssienhallinnassa."
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:49
msgid "!ContextTip:Folders:Settings"
msgstr "Tämä on se kansio, mihin PCSX2 tallentaa asetuksesi, mukaanlukien liitännäisten luomat asetukset (jotkin vanhemmat liitännäiset eivät välttämättä ota tätä asetusta huomioon)."
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:54
msgid "!Panel:Folders:Settings"
msgstr "Voit halutessasi valita sijainnin PCSX2:den asetuksille täällä. Jos sijainnissa on jo olemassaolevia PCSX2-asetuksia, sinulle annetaan mahdollisuus tuoda tai ylikirjoittaa ne."
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:94
msgid "!Wizard:Welcome"
msgstr "Tämä velho auttaa sinua liitännäisten, muistikorttien ja BIOSin konfiguroinnissa. Jos tämä on ensimmäinen %s-asennuskertasi, on suositeltua, että luet lueminut-tiedoston ja konfiguraatio-oppaan."
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:140
msgid "!Wizard:Bios:Tutorial"
msgstr ""
"PCSX2 vaatii *laillisen* kopion PS2 BIOSista pelien suorittamiseen.\n"
"Et voi käyttää ystävältä tai Internetistä hankittua kopiota.\n"
"Sinun täytyy hankkia BIOS *omasta* Playstation 2-konsolistasi."
#: pcsx2/gui/Dialogs/ImportSettingsDialog.cpp:31
msgid "!Notice:ImportExistingSettings"
msgstr ""
"Määritellystä asetuskansiosta löytyi olemassaolevat %s-asetukset. Haluaisitko tuoda nämä asetukset vai ylikirjoittaa ne %s:den oletusarvoilla?\n"
"\n"
"(tai paina Peruuta valitaksesi toisen asetuskansion)"
#: pcsx2/gui/Dialogs/McdConfigDialog.cpp:30
msgid "!Panel:Mcd:NtfsCompress"
msgstr "NTFS-pakkaus on sisäänrakennettu, nopea ja täysin luotettava sekä tyypillisesti pakkaa muistikortit todella hyvin (tätä asetusta suositellaan erittäin suuresti)."
#: pcsx2/gui/Dialogs/McdConfigDialog.cpp:41
msgid "!Panel:Mcd:EnableEjection"
msgstr "Välttää muistikortin vioittumista pakottamalla pelit uudelleenindeksoimaan muistikortin sisällöntilatallennuksesta ladattaessa. Ei ole välttämättä yhteensopiva kaikkien pelien kanssa (Guitar Hero)."
#: pcsx2/gui/Dialogs/StuckThreadDialog.cpp:33
msgid "!Panel:StuckThread:Heading"
msgstr "Säie '%s' ei vastaa. Se saattaa olla lukittunut, tai sitten se vain toimii *todella* hitaasti."
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:38
msgid "!Panel:HasHacksOverrides"
msgstr "Varoitus! Käytät PCSX2:ta komentorivivalinnoilla, jotka ohittavat määritellyt asetuksesi. Näiden komentorivivalintojen vaikutuksia ei näy asetusikkunassa, ja ne otetaan pois käytöstä jos teet mitään muutoksia täällä."
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:58
msgid "!Panel:HasPluginsOverrides"
msgstr "Varoitus! Käytät PCSX2:ta komentorivivalinnoilla, jotka ohittavat määritellyt liitännäis ja/tai kansioasetuksesi. Näiden komentorivivalintojen vaikutuksia ei näy asetusikkunassa, ja ne otetaan pois käytöstä jos teet mitään muutoksia täällä."
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:135
msgid "!Notice:Tooltip:Presets:Slider"
msgstr ""
"Esiasetukset ottavat käyttöön viritelmiä, joitakin uudelleenkääntäjien valintoja ja joitakin pelikorjauksia, jotka tunnetusti\n"
"auttavat nopeudessa. Tunnetut tärkeät pelikorjaukset otetaan käyttöön automaattisesti.\n"
"\n"
"Tietoja esiasetuksista:\n"
"1 - Kaikkein täsmällisin emulaatio, mutta myös hitain.\n"
"3 --> Yrittää tasapainottaa nopeuden yhteensopivuuden kanssa.\n"
"4 - Joitakin aggressiivisempia viritelmiä.\n"
"6 - Liian paljon viritelmiä, mitkä todennäköisesti hidastavat useimpia pelejä."
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:149
msgid "!Notice:Tooltip:Presets:Checkbox"
msgstr ""
"Esiasetukset ottavat käyttöön viritelmiä, joitakin uudelleenkääntäjien valintoja ja joitakin pelikorjauksia, jotka tunnetusti\n"
"auttavat nopeudessa. Tunnetut tärkeät pelikorjaukset otetaan käyttöön automaattisesti.\n"
"\n"
"--> Poista valinta muuttaaksesi asetuksia manuaalisesti (nykyisen esiasetuksen pohjalta)"
#: pcsx2/gui/IsoDropTarget.cpp:28
msgid "!Notice:ConfirmSysReset"
msgstr "Tämä toiminto resetoi olemassaolevan PS2-virtuaalikoneen tilan; kaikki nykyiset tiedot menetetään. Oletko varma?"
#: pcsx2/gui/MainMenuClicks.cpp:106
msgid "!Notice:DeleteSettings"
msgstr ""
"Tämä komento pyyhkii %s:den asetukset ja sallii sinun suorittaa uudelleen ensimmäisen käyttökerran asetusvelhon. Sinun täytyy manuaalisesti käynnistää %s uudelleen tämän toiminnon jälkeen.\n"
"\n"
"VAROITUS!! Paina OK poistaaksesi *KAIKKI* %s-asetukset ja pakottaa ohjelman sulkeminen, menettäen kaikki nykyiset emulaatiotiedot. Oletko ehdottoman varma?\n"
"\n"
"(huom. liitännäisten asetuksia ei poisteta)"
#: pcsx2/gui/MemoryCardFile.cpp:78
msgid "!Notice:Mcd:HasBeenDisabled"
msgstr ""
"PS2-muistikorttipaikka %d on automaattisesti poistettu käytöstä. Voit korjata ongelman\n"
"ja ottaa se uudestaan käyttöön milloin tahansa valikosta Asetukset: Muistikortit."
#: pcsx2/gui/Panels/BiosSelectorPanel.cpp:138
msgid "!Notice:BIOS:InvalidSelection"
msgstr "Ole hyvä ja valitse kelvollinen BIOS. Jos et pysty tekemään kelvollista valintaa, paina Peruuta sulkeaksesi konfiguraatiopaneelin."
#: pcsx2/gui/Panels/CpuPanel.cpp:111
msgid "!Panel:EE/IOP:Heading"
msgstr "Huomautus: Useimmat pelit toimivat hyvin oletusasetuksilla."
#: pcsx2/gui/Panels/CpuPanel.cpp:178
msgid "!Panel:VUs:Heading"
msgstr "Huomautus: Useimmat pelit toimivat hyvin oletusasetuksilla."
#: pcsx2/gui/Panels/DirPickerPanel.cpp:69
msgid "!Notice:DirPicker:CreatePath"
msgstr "Valittua polkua/hakemistoa ei ole olemassa. Haluaisitko luoda sen?"
#: pcsx2/gui/Panels/DirPickerPanel.cpp:158
msgid "!ContextTip:DirPicker:UseDefault"
msgstr "Kun valittu, tämä kansio automaattisesti kuvaa PCSX2:den nykyiseen käyttäjätila-asetukseen liitettyä oletusarvoa."
#: pcsx2/gui/Panels/GSWindowPanel.cpp:55
msgid "!ContextTip:Window:Zoom"
msgstr ""
"Zoom = 100: Sovita koko kuva ikkunaan ilman rajaamista.\n"
"Yli/alle 100: Zoomaus sisään/ulos\n"
"0: Automaattinen zoomaus kunnes mustat palkit katoavat (kuvasuhde säilytetään, osa kuvasta menee näytön ulkopuolelle).\n"
" HUOM: Jotkin pelit piirtävät omat mustat palkkinsa, joita ei poisteta asetuksella '0'.\n"
"\n"
"Näppäimistö:\n"
"CTRL + NUMERONÄPPÄIMISTÖ-PLUS: Zoomaus sisään\n"
"CTRL + NUMERONÄPPÄIMISTÖ-MIINUS: Zoomaus ulos\n"
"CTRL + NUMERONÄPPÄIMISTÖ-*: Vaihtelee 100/0 välillä"
#: pcsx2/gui/Panels/GSWindowPanel.cpp:63
msgid "!ContextTip:Window:Vsync"
msgstr "Pystytahdistus (Vsync) poistaa kuvan repeytymät, mutta yleensä aiheuttaa suuren suorituskyvyn laskun. Yleensä vaikuttaa vain koko ruudun tilaan, eikä välttämättä toimi kaikkien GS-liitännäisten kanssa."
#: pcsx2/gui/Panels/GSWindowPanel.cpp:68
msgid "!ContextTip:Window:ManagedVsync"
msgstr "Ottaa pystytahdistuksen (Vsync) käyttöön kun kehysnopeus on täsmälleen oikea (täysi nopeus). Jos kehysnopeus tippuu, pystytahdistus poistetaan käytöstä, jotta suorituskyky ei laske entisestään. Huom: Tällä hetkellä tämä toimii hyvin vain GS-liitännäisen ollessa GSdx ja se asetettuna käyttämään DX10/11 hardware rendering -tilaa. Mikä tahansa muu liitännäinen tai rendering-tila joko jättää asetuksen huomiotta tai tuottaa mustan vilkkuvan kuvan aina kun tilaa vaihetaan. Vaatii myös pystytahdistuksen käyttöönottoa."
#: pcsx2/gui/Panels/GSWindowPanel.cpp:76
msgid "!ContextTip:Window:HideMouse"
msgstr "Valitse tämä pakottaaksesi hiiren kursorin näkymättömäksi GS-ikkunan sisällä; käytännöllinen jos käytät hiirtä peliohjaimena. Oletusarvoisesti kursori menee näkymättömäksi kahden sekunnin liikkumattomuuden jälkeen."
#: pcsx2/gui/Panels/GSWindowPanel.cpp:82
msgid "!ContextTip:Window:Fullscreen"
msgstr "Ottaa käyttöön automaattisen koko ruudun tilan vaihdon aloittaessa tai jatkaessa emulaatiota. Voit silti kytkeä koko ruudun tilan päälle ja pois milloin tahansa näppäinyhdistelmällä alt-enter."
#: pcsx2/gui/Panels/GSWindowPanel.cpp:93
msgid "!ContextTip:Window:HideGS"
msgstr "Sulkee täydellisesti usein suuren ja tilaavievän GS-ikkunan painessa ESCiä tai keskeyttäessä emulaation."
#: pcsx2/gui/Panels/GameFixesPanel.cpp:67
msgid "!ContextTip:Gamefixes:EE Timing Hack"
msgstr ""
"Tiedetään vaikuttavan seuraaviin peleihin:\n"
"* Digital Devil Saga (Korjaa videot ja kaatumiset)\n"
"* SSX (Korjaa grafiikkavirheet ja kaatumiset)\n"
"* Resident Evil: Dead Aim (Aiheuttaa vääristyneitä tekstuureita)"
#: pcsx2/gui/Panels/GameFixesPanel.cpp:80
msgid "!ContextTip:Gamefixes:OPH Flag hack"
msgstr ""
"Tiedetään vaikuttavan seuraaviin peleihin:\n"
"* Bleach Blade Battler\n"
"* Growlanser II ja III\n"
"* Wizardry"
#: pcsx2/gui/Panels/GameFixesPanel.cpp:89
msgid "!ContextTip:Gamefixes:DMA Busy hack"
msgstr ""
"Tiedetään vaikuttavan seuraaviin peleihin:\n"
"* Mana Khemia 1 (Mennessä 'pois kampukselta')"
#: pcsx2/gui/Panels/GameFixesPanel.cpp:96
msgid "!ContextTip:Gamefixes:VIF1 FIFO hack"
msgstr ""
"Tiedetään vaikuttavan seuraaviin peleihin:\n"
"* Test Drive Unlimited\n"
"* Transformers"
#: pcsx2/gui/Panels/GameFixesPanel.cpp:119
msgid "!Panel:Gamefixes:Compat Warning"
msgstr ""
"Pelikorjaukset voivat kiertää virheellisen emulaation vaikutuksia joissakin peleissä.\n"
"Ne voivat myös aiheuttaa yhteensopivuus- ja suorituskykyongelmia.\n"
"\n"
"On parempi ottaa käyttöön 'Automaattiset pelikorjaukset' päävalikossa tämän sijaan, ja jättää tämä sivu tyhjäksi.\n"
"('Automaattinen' tarkoittaa: valikoivasti käytä tiettyjä testattuja korjauksia tietyille peleille)"
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:720
msgid "!Notice:Mcd:Delete"
msgstr "Olet poistamassa alustettua muistikorttia '%s'. Kaikki tämän kortin sisältämät tiedot menetetään! Oletko aivan varma?"
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:758
msgid "!Notice:Mcd:CantDuplicate"
msgstr "Epäonnistui: Kopiointi sallitaan vain tyhjään PS2-muistikorttipaikkaan tai tiedostojärjestelmään."
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:801
msgid "!Notice:Mcd:Copy Failed"
msgstr "Epäonnistui: Kohdemuistikortti '%s' on käytössä."
#: pcsx2/gui/Panels/MiscPanelStuff.cpp:35
msgid "!Panel:Usermode:Explained"
msgstr "Ole hyvä ja valitse alla haluamasi oletussijainti PCSX2:den käyttäjätason tiedostoille (sisältäen muistikortit, ruutukaappaukset, asetukset ja tilatallennukset). Nämä kansiosijainnit voi ohittaa milloin tahansa käyttäen asetuspaneelia."
#: pcsx2/gui/Panels/MiscPanelStuff.cpp:41
msgid "!Panel:Usermode:Warning"
msgstr "Voit vaihtaa haluamasi oletussijainnin PCSX2:den käyttäjätason tiedostoille (sisältäen muistikortit, ruutukaappaukset, asetukset ja tilatallennukset). Tämä valinta vaikuttaa vain standardipolkuihin, jotka ovat asetettu käyttämään asennuksenaikaista oletusarvoa."
#: pcsx2/gui/Panels/PathsPanel.cpp:40
msgid "!ContextTip:Folders:Savestates"
msgstr "PCSX2 tallentaa tähän kansioon tilatallennukset; joita voi tallentaa joko käyttämällä valikoita/työkalurivejä tai painamalla F1/F3 (tallennus/lataus)."
#: pcsx2/gui/Panels/PathsPanel.cpp:50
msgid "!ContextTip:Folders:Snapshots"
msgstr "PCSX2 tallentaa tähän kansioon ruutukaappaukset. Todellinen ruutukaappauksen kuvaformaatti ja tyyli saattaa vaihdella riippuen käytössä olevasta GS-liitännäisestä."
#: pcsx2/gui/Panels/PathsPanel.cpp:60
msgid "!ContextTip:Folders:Logs"
msgstr "PCSX2 tallentaa tähän kansioon lokitiedostonsa ja virheenkorjausvedoksensa. Useimmat liitännäiset käyttävät myös tätä kansiota, mutta jotkin vanhemmat liitännäiset saattavat jättää valinnan huomiotta."
#: pcsx2/gui/Panels/PluginSelectorPanel.cpp:242
msgid "!Notice:PluginSelector:ConfirmShutdown"
msgstr ""
"Varoitus! Liitännäisten vaihtaminen vaatii PS2-virtuaalikoneen täydellisen sammuttamisen ja resetoimisen. PCSX2 yrittää tallentaa ja ladata virtuaalikoneen tilan, mutta jos uudet käyttöönotetut liitännäiset ovat yhteensopimattomia, lataus voi epäonnistua ja nykyinen tila menetetään.\n"
"\n"
"Oletko varma, että haluat ottaa asetukset käyttöön nyt?"
#: pcsx2/gui/Panels/PluginSelectorPanel.cpp:457
msgid "!Notice:PluginSelector:ApplyFailed"
msgstr "Kaikille liitännäisille täytyy olla kelvollinen valinta, jotta %s voi toimia. Jos et pysty tekemään kelvollista valintaa puuttuvien liitännäisten tai epätäydellisen %s-asennuksen takia, paina Peruuta sulkeaksesi asetuspaneelin."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:27
msgid "!Panel:Speedhacks:EECycleX1"
msgstr "1 - Oletusarvoinen syklinopeus. Tämä vastaa hyvin pitkälle oikean PS2:den EmotionEnginen todellista nopeutta."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:32
msgid "!Panel:Speedhacks:EECycleX2"
msgstr "2 - Vähentää EE-prosessorin syklinopeutta noin 33%. Lievä nopeuslisäys useimmille peleille korkealla yhteensopivuudella."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:37
msgid "!Panel:Speedhacks:EECycleX3"
msgstr "3 - Vähentää EE-prosessorin syklinopeutta noin 50%. Kohtuullinen nopeuslisäys, mutta *tulee* aiheuttamaan pätkivää ääntä monissa videoissa."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:54
msgid "!Panel:Speedhacks:VUCycleStealOff"
msgstr "0 - Poistaa VU-syklivarastamisen käytöstä. Kaikkein yhteensopivin asetus!"
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:59
msgid "!Panel:Speedhacks:VUCycleSteal1"
msgstr "1 - Lievä VU-syklivarastaminen. Alhaisempi yhteensopivuus, mutta nopeuttaa jonkin verran useimpia pelejä."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:64
msgid "!Panel:Speedhacks:VUCycleSteal2"
msgstr "2 - Kohtuullinen VU-syklivarastaminen. Vielä alhaisempi yhteensopivuus, mutta huomattava nopeuslisäys joissain peleissä."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:70
msgid "!Panel:Speedhacks:VUCycleSteal3"
msgstr "3 - Täysi VU-syklivarastaminen. Käytännöllisyys on rajoitettu, koska tämä aiheuttaa vilkkuvia grafiikoita tai nopeuden hidastumista useimmissa peleissä."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:97
msgid "!Panel:Speedhacks:Overview"
msgstr "Nopeusviritelmät yleensä parantavat emulaationopeutta, mutta voivat aiheuttaa ongelmia, rikkinäistä ääntä ja virheellisiä FPS-lukemia. Kun kohtaat ongelmia emulaatiossa, ota tämä paneeli pois käytöstä ensin."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:129
msgid "!ContextTip:Speedhacks:EECycleRate Slider"
msgstr "Korkeampien arvojen asettaminen tällä liukusäätimellä vähentää EmotionEnginen R5900-ydinprosessorin kellonopeutta, ja yleensä antaa suuren nopeuslisän peleihin, jotka eivät käytä oikean PS2:den laitteiston täyttä suorituskykyä hyväkseen."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:150
msgid "!ContextTip:Speedhacks:VUCycleStealing Slider"
msgstr "Tämä liukusäädin ohjaa VU-yksikön EmotionEngineltä varastamien syklien määrää. Korkeammat arvot lisäävät EE:ltä varastettujen syklien määrää jokaiselle VU-mikro-ohjelmalle joita peli suorittaa."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:169
msgid "!ContextTip:Speedhacks:vuFlagHack"
msgstr "Päivittää tilalippuja vain niillä lohkoilla, jotka lukevat niitä reaaliaikaisen päivittämisen sijaan. Tämä on useimmiten turvallista, ja Super VU tekee jotain samankaltaista oletuksena."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:174
msgid "!ContextTip:Speedhacks:vuThread"
msgstr "Suorittaa VU1:tä omassa säikeessään (vain microVU1). Yleensä nopeuttaa suorittimilla, joissa on kolme tai useampi ydintä. Tämä on turvallista suurimmalle osalle peleistä, mutta muutama peli on epäyhteensopiva ja saattaa jumiutua. GS-rajoitteisissa peleissä saattaa hidastaa nopeutta (erityisesti tuplaydinsuorittimilla)."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:195
msgid "!ContextTip:Speedhacks:INTC"
msgstr "Tämä viritelmä toimii parhaiten peleille, jotka käyttävät INTC tilarekisteriä odottaakseen pystytahdistusta (vsync), mikä sisältää lähinnä kaksiulotteisia RPG-pelejä. Pelejä, jotka eivät käytä tätä tapaa pystytahdistukseen saavat vain pienen tai ei yhtään nopeutusta tästä viritelmästä."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:200
msgid "!ContextTip:Speedhacks:BIFC0"
msgstr "Tähdäten ensisijaisesti EE-joutenolosilmukkaan ytimen osoitteessa 0x81FC0, tämä viritelmä yrittää tunnistaa silmukoita, joiden sisältö taatusti päätyy samaan laitteistotilaan jokaisella kierroksella kunnes ajoitettu tapahtuma laukaisee toisen yksikön emuloinnin. Tällaisissa silmukoissa yhden kierroksen jälkeen etenemme seuraavan tapahtuman ajankohtaan tai prosessorin aikasiivun loppuun, riippuen kumpi tulee ennemmin."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:207
msgid "!ContextTip:Speedhacks:fastCDVD"
msgstr "Tarkista HDLoaderin yhteensopivuuslistasta tunnetut pelit, jotka eivät toimi tämän kanssa. (Usein merkitty tarvitsemaan 'mode 1' tai 'slow DVD'"
#: pcsx2/gui/Panels/VideoPanel.cpp:37
msgid "!ContextTip:Framelimiter:Disable"
msgstr "Huomioi, että kun nopeusrajoitus on poistettu käytöstä, nopeutus- ja hidastustilat eivät myöskään ole saatavilla."
#: pcsx2/gui/Panels/VideoPanel.cpp:227
msgid "!Panel:Frameskip:Heading"
msgstr "Huomautus: PS2:den laitteistosuunnittelun vuoksi tarkka kehysten ohittaminen on mahdotonta. Sen ottaminen käyttöön aiheuttaa vakavia grafiikkavirheitä joissain peleissä."
#: pcsx2/gui/Panels/VideoPanel.cpp:306
msgid "!ContextTip:GS:SyncMTGS"
msgstr "Ota tämä käyttöön jos epäilet MTGS:n säiesynkronoinnin aiheuttavan kaatumisia tai grafiikkavirheitä."
#: pcsx2/gui/Panels/VideoPanel.cpp:310
msgid "!ContextTip:GS:DisableOutput"
msgstr ""
"Poistaa kaiken MTGS-säikeen tai näytönohjaimen aiheuttaman häiriön suorituskykytesteissä. Tätä valintaa on parasta käyttää tilatallennuksien yhteydessä: tallenna ihanteellisessa tilanteessa, kytke tämä valinta päälle ja lataa tilatallennus.\n"
"\n"
"Varoitus: Tämän valinnan voi ottaa käyttöön lennosta, mutta yleensä ei voi poistaa käytöstä lennosta (pelikuvan tilalla on yleensä roskaa)."
#: pcsx2/vtlb.cpp:710
msgid "!Notice:HostVmReserve"
msgstr "Järjestelmässäsi on liian vähän virtuaaliresursseja PCSX2:den toimimiseen. Tämän voi aiheuttaa pieni tai käytöstä poistettu heittovaihtotiedosto (swap file) tai muut ohjelmat, jotka vievät resursseja. "
#: pcsx2/x86/sVU_zerorec.cpp:363
msgid "!Notice:superVU:VirtualMemoryAlloc"
msgstr "Liian vähän muistia (tavallaan): SuperVU-uudelleenkääntäjä ei pystynyt varaamaan tiettyjä vaadittuja muistialueita, ja siten ei ole saatavilla. Tämä ei ole kriittinen virhe, sillä sVU on joka tapauksessa vanhentunut ja sinun kannattaisi käyttää sen sijaan microVU:ta. :)"

2431
locales/fi_FI/pcsx2_Main.po Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -2106,7 +2106,7 @@ msgid ""
"( '.ps2' will be added automatically)"
msgstr ""
"Pilih sebuah nama untuk duplikat\n"
"\v('.ps2' akan otomatis ditambah)"
"('.ps2' akan otomatis ditambah)"
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:782
#, c-format
@@ -2133,7 +2133,7 @@ msgid ""
"( '.ps2' will be added automatically)"
msgstr ""
"Pilih sebuah nama untnuk memory card '%s'\n"
"\v('.ps2' akan otomatis ditambah)"
"('.ps2' akan otomatis ditambah)"
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:844
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:856

View File

@@ -4,8 +4,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PCSX2 0.9.9\n"
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
"POT-Creation-Date: 2012-04-07 11:42+0200\n"
"PO-Revision-Date: 2011-10-05 21:01+0100\n"
"POT-Creation-Date: 2012-06-18 20:23+0200\n"
"PO-Revision-Date: 2012-06-06 19:18+0100\n"
"Last-Translator: Leucos\n"
"Language-Team: \n"
"Language: \n"
@@ -14,7 +14,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: pxE;pxEt\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Poedit-Basepath: trunk\\\n"
"X-Poedit-Basepath: ..\\..\\..\\PCSX2 Checkout\n"
"X-Poedit-Language: Italian\n"
"X-Poedit-Country: ITALY\n"
"X-Poedit-SearchPath-0: pcsx2\n"
@@ -37,10 +37,10 @@ msgstr ""
msgid "!Notice:Recompiler:VirtualMemoryAlloc"
msgstr ""
"Questo ricompilatore non è stato in grado di riservare la memoria contigua "
"richiesta per le cache interne. Questo errore può essere causato da una "
"memoria virtuale insufficiente, derivante da un file di swap troppo piccolo "
"o disattivato, o da qualche altro programma che sta occupando molta memoria. "
"Puoi anche provare a ridurre le dimensioni predefinite delle cache dei "
"richiesta per le cache interne. Questo errore può essere causato da memoria "
"virtuale insufficiente, causata da un file di swap troppo piccolo o "
"disattivato, o da un altro programma che sta occupando molta memoria. Puoi "
"anche provare a ridurre le dimensioni predefinite delle cache dei "
"ricompilatori di PCSX2, che si trovano in Impostazioni Host."
#: pcsx2/System.cpp:348
@@ -48,13 +48,13 @@ msgid "!Notice:EmuCore::MemoryForVM"
msgstr ""
"PCSX2 non è in grado di allocare la memoria necessaria per la macchina "
"virtuale PS2. Chiudi dei task in background che stanno occupando memoria e "
"riprova."
"prova di nuovo."
#: pcsx2/gui/AppInit.cpp:43
msgid "!Notice:Startup:NoSSE2"
msgstr ""
"Attenzione: il tuo computer non supporta le SSE2, richieste da molti dei "
"plugin e dei ricompilatori di PCSX2. Le tue opzioni saranno limitate e "
"Attenzione: il tuo computer non supporta le SSE2 che sono richieste da molti "
"dei plugin e dei ricompilatori di PCSX2. Le tue opzioni saranno limitate e "
"l'emulazione sarà *molto* lenta."
#: pcsx2/gui/AppInit.cpp:162
@@ -66,10 +66,10 @@ msgstr ""
#: pcsx2/gui/AppInit.cpp:211
msgid "!Notice:RecompilerInit:Footer"
msgstr ""
"Nota: i ricompilatori non sono necessari per l'esecuzione di PCSX, però, di "
"solito, migliorano nettamente la velocità di emulazione. Se gli errori "
"saranno risolti, sarà necessario riabilitare manualmente i ricompilatori "
"elencati qui sopra."
"Nota: i ricompilatori non sono necessari per l'esecuzione di PCSX2, ma di "
"solito permettono di migliorare nettamente la velocità di emulazione. Se gli "
"errori saranno risolti, sarà necessario riabilitare manualmente i "
"ricompilatori elencati qui sopra."
#: pcsx2/gui/AppMain.cpp:546
msgid "!Notice:BiosDumpRequired"
@@ -85,7 +85,7 @@ msgstr ""
#: pcsx2/gui/AppMain.cpp:629
msgid "!Notice Error:Thread Deadlock Actions"
msgstr ""
"'Ignora' per continuare ad attendere la risposta del thread.\n"
"'Ignora' consente di continuare ad attendere la risposta del thread.\n"
"'Annulla' per tentare di annullare il thread.\n"
"'Termina' per chiudere PCSX2 immediatamente.\n"
" "
@@ -97,7 +97,7 @@ msgstr ""
"account utente ne abbia i permessi per la scrittura -- oppure riavvia PCSX2 "
"con privilegi più elevati (amministratore), questo dovrebbe garantire a "
"PCSX2 la facoltà di creare in modo autonomo le proprie cartelle. Se non "
"possiedi privilegi elevati in questo computer, dovrai passare alla Modalità "
"possiedi privilegi elevati in questo computer, dovrai utilizzare la Modalità "
"Documenti Utente (fai clic sul pulsante qui sotto)."
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:181
@@ -125,8 +125,8 @@ msgid "!Wizard:Welcome"
msgstr ""
"Questa Procedura Guidata ti aiuterà nella configurazione dei plugin, delle "
"memory card e del BIOS.\n"
"Se si tratta della prima volta che installi PCSX2 è consigliato che\n"
"tu consulti la Guida alla Configurazione ed il file leggimi."
"Se si tratta della prima volta che installi PCSX2 è consigliata la\n"
"consulatazione della Guida alla Configurazione ed del file leggimi."
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:140
msgid "!Wizard:Bios:Tutorial"
@@ -155,9 +155,10 @@ msgstr ""
#: pcsx2/gui/Dialogs/McdConfigDialog.cpp:41
msgid "!Panel:Mcd:EnableEjection"
msgstr ""
"Evita la corruzione delle memory card forzando i giochi a reindicizzare il "
"contenuto della scheda dopo il caricamento di un salvataggio di stato. "
"Potrebbe non essere compatibile con tutti i giochi (Guitar Hero)."
"Consente di evitare la corruzione delle memory card forzando i giochi a "
"reindicizzare il contenuto della scheda dopo il caricamento di un "
"salvataggio di stato. Potrebbe non essere compatibile con tutti i giochi "
"(Guitar Hero)."
#: pcsx2/gui/Dialogs/StuckThreadDialog.cpp:33
msgid "!Panel:StuckThread:Heading"
@@ -170,7 +171,7 @@ msgid "!Panel:HasHacksOverrides"
msgstr ""
"Attenzione! Stai eseguendo PCSX2 con le opzioni da riga di comando che "
"sovrascrivono le impostazioni configurate.\n"
"Queste opzioni da riga di comando non saranno mostrate nella finestra delle "
"Le opzioni da riga di comando non saranno mostrate nella finestra delle "
"impostazioni,\n"
"e saranno disabilitate se applicherai qualche modifica."
@@ -179,7 +180,7 @@ msgid "!Panel:HasPluginsOverrides"
msgstr ""
"Attenzione! Stai eseguendo PCSX2 con le opzioni da riga di comando che "
"sovrascrivono le impostazioni dei plugin e/o le cartelle configurate.\n"
"Queste opzioni da riga di comando non saranno mostrate nella finestra delle "
"Le opzioni da riga di comando non saranno mostrate nella finestra delle "
"impostazioni,\n"
"e saranno disabilitate se applicherai qualche modifica."
@@ -202,7 +203,8 @@ msgid "!Notice:Tooltip:Presets:Checkbox"
msgstr ""
"Le Preimpostazioni applicano SpeedHack, alcune opzioni dei ricompilatori per "
"aumentare la velocità.\n"
"I GameFix ('Patch') importanti noti saranno applicati automaticamente.\n"
"I GameFix ('Patch') importanti conosciuti saranno applicati "
"automaticamente.\n"
"\n"
"--> Deseleziona per modificare automaticamente le impostazioni (utilizzando "
"la Preimpostazione corrente come base)"
@@ -487,15 +489,15 @@ msgstr ""
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:97
msgid "!Panel:Speedhacks:Overview"
msgstr ""
"Gli SpeedHack generalmente migliorano la velocità di emulazione ma possono "
"causare glitch, audio corrotto e rilevazioni FPS non corrette. Se hai "
"problemi di emulazione, prima di tutto disattiva le opzioni di questo "
"pannello."
"Generalmente gli SpeedHack consentono di migliorare la velocità "
"dell'emulazione, ma possono causare glitch, audio corrotto e rilevazioni FPS "
"non corrette. Se hai problemi di emulazione, per prima cosa prova a "
"disattivare le opzioni in questo pannello."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:129
msgid "!ContextTip:Speedhacks:EECycleRate Slider"
msgstr ""
"Impostando i valori più elevati di questa slider si riduce di fatto la "
"Impostando i valori più elevati di questo slider si riduce di fatto la "
"frequenza della CPU core R5900 dell'EmotionEngine portando a grossi aumenti "
"di velocità in quei giochi che non riescono ad utilizzare il pieno "
"potenziale dell'hardware della PS2."
@@ -503,7 +505,7 @@ msgstr ""
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:150
msgid "!ContextTip:Speedhacks:VUCycleStealing Slider"
msgstr ""
"Questa slider controlla l'ammontare di cicli che l'unità VU 'ruba' "
"Questo slider controlla l'ammontare di cicli che l'unità VU 'ruba' "
"all'EmotionEngine. \n"
"Valori più alti aumentano il numero di cicli 'rubati' dall'EE per ogni "
"microprogramma VU eseguito dal gioco."
@@ -511,10 +513,10 @@ msgstr ""
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:169
msgid "!ContextTip:Speedhacks:vuFlagHack"
msgstr ""
"Aggiorna le Flag di stato solo nei blocchi che le leggeranno, invece che "
"ogni volta. Questo va bene \n"
"per la maggior parte dei casi e superVU fa qualcosa del genere in maniera "
"predefinita."
"Le Flag di stato saranno aggiornate solo nei blocchi che le leggeranno, "
"invece che ogni volta. Questo va \n"
"bene per la maggior parte dei casi e superVU fa qualcosa del genere in "
"maniera predefinita."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:174
msgid "!ContextTip:Speedhacks:vuThread"
@@ -555,8 +557,8 @@ msgstr ""
#: pcsx2/gui/Panels/VideoPanel.cpp:37
msgid "!ContextTip:Framelimiter:Disable"
msgstr ""
"Nota che quando il Limitatore Fotogrammi è disattivato anche le modalità "
"Turbo e Rallentatore non saranno più disponibili."
"Quando il Limitatore Fotogrammi è disattivato anche le modalità Turbo e "
"Rallentatore non saranno più disponibili."
#: pcsx2/gui/Panels/VideoPanel.cpp:227
msgid "!Panel:Frameskip:Heading"

View File

@@ -4,8 +4,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PCSX2 0.9.9\n"
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
"POT-Creation-Date: 2012-05-07 17:46+0200\n"
"PO-Revision-Date: 2011-10-05 21:01+0100\n"
"POT-Creation-Date: 2012-06-18 20:23+0200\n"
"PO-Revision-Date: 2012-06-06 19:17+0100\n"
"Last-Translator: Leucos\n"
"Language-Team: \n"
"Language: \n"
@@ -14,7 +14,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: _;pxL;_d;pxDt;_t;pxLt\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Poedit-Basepath: trunk\\\n"
"X-Poedit-Basepath: ..\\..\\..\\PCSX2 Checkout\n"
"X-Poedit-Language: Italian\n"
"X-Poedit-Country: ITALY\n"
"X-Poedit-SearchPath-0: pcsx2\n"
@@ -752,8 +752,8 @@ msgid ""
"Classic black color scheme for people who enjoy having text seared into "
"their optic nerves."
msgstr ""
"Schema di colore nero classico, per la gente che si diverte ad avere il "
"testo marchiato a fuoco nei propri nervi ottici."
"Schema classico a colore nero, per la gente che si diverte ad avere il testo "
"marchiato a fuoco nei propri nervi ottici."
#: pcsx2/gui/ConsoleLogger.cpp:424
msgid "Dark theme"
@@ -975,7 +975,7 @@ msgstr "Utilizza la compressione NTFS per la creazione di questa Memory Card."
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:195
msgid "8 MB [most compatible]"
msgstr "8 MiB [la più compatibile]"
msgstr "8 MB [la più compatibile]"
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:195
msgid ""
@@ -995,7 +995,7 @@ msgstr ""
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:199
msgid "16 MB"
msgstr "16 MiB"
msgstr "16 MB"
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:199
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:203
@@ -1009,16 +1009,16 @@ msgstr ""
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:204
msgid "16 and 32 MB cards have roughly the same compatibility factor."
msgstr ""
"Le memory card da 16 e 32 MiB hanno grosso modo lo stesso fattore di "
"Le memory card da 16 e 32 MB hanno grosso modo lo stesso fattore di "
"compatibilità."
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:203
msgid "32 MB"
msgstr "32 MiB"
msgstr "32 MB"
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:207
msgid "64 MB"
msgstr "64 MiB"
msgstr "64 MB"
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:207
msgid ""
@@ -1061,7 +1061,7 @@ msgstr ""
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:90
msgid "Welcome to PCSX2!"
msgstr "Benvenuti in PCSX2!"
msgstr "Benvenuto in PCSX2!"
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:104
msgid "Configuration Guides (online)"
@@ -1109,8 +1109,7 @@ msgstr "Gestore Memory Card"
#: pcsx2/gui/Dialogs/McdConfigDialog.cpp:112
msgid "Drag cards to or from PS2-ports"
msgstr ""
"Puoi trascinare le memory card da e sulle porte PS2 per inserirle/espellerle."
msgstr "Trascina le memory card da e sulle porte PS2 per inserirle/espellerle."
#: pcsx2/gui/Dialogs/McdConfigDialog.cpp:113
msgid ""
@@ -1743,7 +1742,7 @@ msgid ""
"Click the Browse button to select a different folder where PCSX2 will look "
"for PS2 BIOS roms."
msgstr ""
"Fai clic il pulsante Sfoglia per selezionare la cartella dove PCSX2 cercherà "
"Fai clic il pulsante Sfoglia per scegliere la cartella dove PCSX2 cercherà "
"le ROM del BIOS PS2."
#: pcsx2/gui/Panels/BiosSelectorPanel.cpp:113
@@ -1778,7 +1777,7 @@ msgstr "Positivo"
#: pcsx2/gui/Panels/CpuPanel.cpp:32
msgid "Chop / Zero"
msgstr "Taglia / Zero"
msgstr "Tronca / Zero"
#: pcsx2/gui/Panels/CpuPanel.cpp:37
msgid "None"
@@ -2399,8 +2398,8 @@ msgstr "Configura..."
#: pcsx2/gui/Panels/PluginSelectorPanel.cpp:379
msgid "Click the Browse button to select a different folder for PCSX2 plugins."
msgstr ""
"Fai clic sul pulsante Sfoglia per selezionare una cartella differente "
"contenente i plugin di PCSX2."
"Fai clic sul pulsante Sfoglia per scegliere la cartella che contiene i "
"plugin di PCSX2."
#: pcsx2/gui/Panels/PluginSelectorPanel.cpp:481
#, c-format
@@ -2496,7 +2495,7 @@ msgstr ""
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:188
msgid "Enable Wait Loop Detection"
msgstr "Attiva rilevamento ciclo d'inattività (Wait Loop Detection)"
msgstr "Attiva rilevamento ciclo d'attesa (Wait Loop Detection)"
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:189
msgid ""
@@ -2527,8 +2526,8 @@ msgid ""
"Click the Browse button to select a different folder containing PCSX2 visual "
"themes."
msgstr ""
"Fai clic sul pulsante Sfoglia per selezionare una cartella diversa "
"contenente i Temi di PCSX2."
"Fai clic sul pulsante Sfoglia per scegliere la cartella che contiente i Temi "
"di PCSX2."
#: pcsx2/gui/Panels/ThemeSelectorPanel.cpp:49
msgid "Select a visual theme:"
@@ -2638,18 +2637,16 @@ msgid "Framelimiter"
msgstr "Limitatore Fotogrammi"
#: pcsx2/gui/SysState.cpp:283
#, fuzzy
msgid "Cannot load this savestate. The state is an unsupported version."
msgstr ""
"Impossibile caricare il salvataggio di stato. Appartiene ad una versione "
"sconosciuta o non supportata."
"Impossibile caricare questo salvataggio di stato. Appartiene ad una versione "
"non supportata."
#: pcsx2/gui/SysState.cpp:290
#, fuzzy
msgid "Cannot load this savestate. The state is an unsupported version."
msgstr ""
"Impossibile caricare il salvataggio di stato. Appartiene ad una versione "
"sconosciuta o non supportata."
"Impossibile caricare questo salvataggio di stato. Appartiene ad una versione "
"non supportata."
#: pcsx2/gui/SysState.cpp:326
msgid "There is no active virtual machine state to download or save."

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PCSX2 0.9.7\n"
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
"POT-Creation-Date: 2012-04-07 11:42+0200\n"
"PO-Revision-Date: 2011-09-11 23:09-0300\n"
"POT-Creation-Date: 2012-06-18 20:23+0200\n"
"PO-Revision-Date: 2012-06-03 10:08-0300\n"
"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
"Language-Team: \n"
"Language: \n"
@@ -20,7 +20,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
"X-Poedit-Language: Portuguese\n"
"X-Poedit-Country: BRAZIL\n"
"X-Poedit-Basepath: trunk\\\n"
"X-Poedit-Basepath: pcsx2\\\n"
"X-Poedit-SearchPath-0: pcsx2\n"
"X-Poedit-SearchPath-1: common\n"
@@ -42,23 +42,23 @@ msgstr ""
msgid "!Notice:Recompiler:VirtualMemoryAlloc"
msgstr ""
"Esse recompilador não conseguiu reservar memória contígua necessária para os "
"caches internos. Esse erro pode ter sido causado por baixo recurso de "
"memória virtual, como um arquivo swap pequeno ou desabilitado, ou por outro "
"programa que está ocupando muita memória. Você pode também tentar reduzir os "
"tamanhos padrões de cache para todos recompiladores do PCSX2, encontrado nas "
"Configurações do Host."
"caches internos. Esse erro pode ser causado por baixo recurso de memória "
"virtual, como um arquivo de memória swap pequeno ou desabilitado, ou por "
"outro programa que está ocupando muita memória. Você pode também tentar "
"reduzir os tamanhos padrões de caches para todos recompiladores do PCSX2, "
"encontrado nas Configurações do Host."
#: pcsx2/System.cpp:348
msgid "!Notice:EmuCore::MemoryForVM"
msgstr ""
"PCSX2 não conseguiu alocar memória necessária para a máquina virtual do PS2. "
"Finalize algumas tarefas que estejam utilizando muita memória e tente "
"PCSX2 não conseguiu alocar a memória necessária para a máquina virtual do "
"PS2. Feche algumas tarefas que estejam utilizando muita memória e tente "
"novamente."
#: pcsx2/gui/AppInit.cpp:43
msgid "!Notice:Startup:NoSSE2"
msgstr ""
"Aviso: Seu computador não suporta SSE2, o qual é requerido por muitos plug-"
"Aviso: Seu computador não suporta SSE2, o qual é necessário por muitos plug-"
"ins e recompiladores do PCSX2. Suas opções serão limitadas e a emulação será "
"*bem* lenta."
@@ -71,10 +71,10 @@ msgstr ""
#: pcsx2/gui/AppInit.cpp:211
msgid "!Notice:RecompilerInit:Footer"
msgstr ""
"Nota: Recompiladores não são necessários para que o PCSX2 rode, porém eles "
"normalmente melhoram substancialmente a velocidade de emulação. Talvez você "
"tenha que ativar novamente os recompiladores listados acima, se você "
"resolver os erros."
"Nota: Recompiladores não são necessários para que o PCSX2 funcione, porém "
"eles normalmente melhoram substancialmente a velocidade de emulação. Talvez "
"você tenha que ativar novamente os recompiladores listados acima, se você "
"solucionar os erros."
#: pcsx2/gui/AppMain.cpp:546
msgid "!Notice:BiosDumpRequired"
@@ -88,15 +88,15 @@ msgid "!Notice Error:Thread Deadlock Actions"
msgstr ""
"\"Ignorar\" para continuar esperando pela resposta da thread.\n"
"\"Cancelar\" para tentar cancelar a thread.\n"
"\"Terminar\" para finalizar PCSX2 imediatamente."
"\"Terminar\" para sair do PCSX2 imediatamente."
#: pcsx2/gui/AppUserMode.cpp:57
msgid "!Notice:PortableModeRights"
msgstr ""
"Por favor certifique-se que essas pastas sejam criadas e que sua conta de "
"usuário possui permissões de escrita a elas -- ou rode novamente o PCSX2 com "
"permissões elevadas (administrador), o que deveria permitir ao PCSX2 a "
"habilidade para criar ele mesmo as pastas necessárias. Se você não tem "
"Por favor certifique-se de que essas pastas tenham sido criadas e que sua "
"conta de usuário possui permissões de escrita a elas -- ou rode novamente o "
"PCSX2 com permissões elevadas (administrador), o que deveria permitir ao "
"PCSX2 a habilidade para criar as pastas necessárias. Se você não tem "
"permissões elevadas nesse computador, então você vai precisar alternar para "
"o modo de Documentos do Usuário (clique no botão abaixo)"
@@ -104,7 +104,7 @@ msgstr ""
msgid "!ContextTip:ChangingNTFS"
msgstr ""
"Compressão NTFS pode ser alterada manualmente a qualquer tempo usando as "
"propriedades do arquivo no Windows Explorer."
"propriedades de arquivo no Windows Explorer."
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:49
msgid "!ContextTip:Folders:Settings"
@@ -220,8 +220,8 @@ msgstr ""
"manualmente após essa operação.\n"
"\n"
"AVISO!! Clique OK para excluir *TODAS* configurações do %s e forçar "
"finalização do aplicativo, perdendo todo progresso em emulação. Você tem "
"certeza absoluta?\n"
"finalização do aplicativo, perdendo todo progresso da emulação. Você tem "
"absoluta certeza?\n"
"\n"
"(nota: configurações dos plug-ins não serão afetadas)"

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PCSX2 0.9.7\n"
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
"POT-Creation-Date: 2012-05-07 17:46+0200\n"
"PO-Revision-Date: 2011-09-11 23:09-0300\n"
"POT-Creation-Date: 2012-06-18 20:23+0200\n"
"PO-Revision-Date: 2012-06-03 10:07-0300\n"
"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
"Language-Team: \n"
"Language: \n"
@@ -20,7 +20,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
"X-Poedit-Language: Portuguese\n"
"X-Poedit-Country: BRAZIL\n"
"X-Poedit-Basepath: trunk\\\n"
"X-Poedit-Basepath: pcsx2\\\n"
"X-Poedit-SearchPath-0: pcsx2\n"
"X-Poedit-SearchPath-1: common\n"
@@ -47,7 +47,7 @@ msgid ""
"drivers, services, or may simply have insufficient memory or resources to "
"meet PCSX2's lofty needs."
msgstr ""
"Falha de mapeamento de memória virtual! Seu sistema pode ter conflito com "
"Falha de mapeamento da memória virtual! Seu sistema pode ter conflitos nos "
"drivers de dispositivos, serviços ou simplesmente tem memória ou recursos "
"insuficientes para atender as majestosas necessidades do PCSX2."
@@ -80,8 +80,8 @@ msgid ""
"Unexpected end of file or stream encountered. File is probably truncated or "
"corrupted."
msgstr ""
"Encontrado final de arquivo ou fluxo não esperado. O arquivo provavelmente "
"está truncado ou corrupto."
"Encontrado final de arquivo ou de fluxo não esperado. O arquivo "
"provavelmente está truncado ou corrompido."
#: common/src/Utilities/ThreadTools.cpp:41
msgid "Threading activity: start, detach, sync, deletion, etc."
@@ -110,7 +110,7 @@ msgstr "Formato de arquivo de imagem ISO não reconhecido."
msgid "Cannot load ELF binary image. The file may be corrupt or incomplete."
msgstr ""
"Não foi possível carregar a imagem binária ELF. O arquivo pode estar "
"corrupto ou incompleto."
"corrompido ou incompleto."
#: pcsx2/Elfheader.cpp:268
msgid ""
@@ -118,8 +118,8 @@ msgid ""
"image type or a bug in PCSX2 ISO image support."
msgstr ""
"Se está carregando a partir de uma imagem ISO, esse erro pode ter sido "
"causado por um tipo de imagem ISO não suportada ou um bug do PCSX2 no "
"suporte de imagem ISO."
"causado por um tipo de imagem ISO sem suporte ou um bug do PCSX2 no suporte "
"de imagem ISO."
#: pcsx2/MTGS.cpp:859
msgid ""
@@ -131,7 +131,8 @@ msgstr "A thread MTGS não está respondendo enquanto espera o plug-in GS abrir.
msgid ""
"The savestate cannot be loaded, as it appears to be corrupt or incomplete."
msgstr ""
"O savestate não pôde ser carregado, pois parece estar corrupto ou incompleto."
"O savestate não pôde ser carregado, pois parece estar corrompido ou "
"incompleto."
#: pcsx2/PluginManager.cpp:719
#, c-format
@@ -139,7 +140,7 @@ msgid ""
"%s plugin failed to open. Your computer may have insufficient resources, or "
"incompatible hardware/drivers."
msgstr ""
"Plug-in %s falhou em carregar. Seu computador deve ter recursos "
"Plug-in de %s falhou em carregar. Seu computador deve ter recursos "
"insuficientes, ou hardware/drivers incompatíveis."
#: pcsx2/PluginManager.cpp:726
@@ -148,19 +149,19 @@ msgid ""
"%s plugin failed to initialize. Your system may have insufficient memory or "
"resources needed."
msgstr ""
"Plug-in %s falhou em inicializar. Seu sistema deve ter memória insuficiente "
"ou recursos faltando."
"Plug-in de %s falhou em inicializar. Seu sistema deve ter memória "
"insuficiente ou recursos faltando."
#: pcsx2/PluginManager.cpp:832
#, c-format
msgid "The configured %s plugin file was not found"
msgstr "O arquivo do plug-in %s configurado não foi encontrado"
msgstr "O arquivo do plug-in de %s configurado não foi encontrado"
#: pcsx2/PluginManager.cpp:836
#, c-format
msgid "The configured %s plugin file is not a valid dynamic library"
msgstr ""
"O arquivo do plug-in %s configurado não é uma biblioteca dinâmica válida"
"O arquivo do plug-in de %s configurado não é uma biblioteca dinâmica válida"
#: pcsx2/PluginManager.cpp:854
#, c-format
@@ -168,22 +169,22 @@ msgid ""
"The configured %s plugin is not a PCSX2 plugin, or is for an older "
"unsupported version of PCSX2."
msgstr ""
"O plug-in %s configurado não é um plug-in de PCSX2, ou é para uma versão "
"antiga e não suportada do PCSX2."
"O plug-in de %s configurado não é um plug-in de PCSX2, ou é para uma versão "
"antiga e sem suporte do PCSX2."
#: pcsx2/PluginManager.cpp:879
msgid ""
"The plugin reports that your hardware or software/drivers are not supported."
msgstr ""
"O plug-in relata que o seu hardware o software/drivers não são suportados."
"O plug-in relata que seu hardware ou seus software/drivers são suportados."
#: pcsx2/PluginManager.cpp:900
msgid ""
"Configured plugin is not a PCSX2 plugin, or is for an older unsupported "
"version of PCSX2."
msgstr ""
"Plug-in configurado não é um plugin de PCSX2, ou é para uma versão antiga e "
"não suportada do PCSX2."
"O plug-in definido não é um plug-in de PCSX2, ou é para uma versão antiga e "
"sem suporte do PCSX2."
#: pcsx2/PluginManager.cpp:926
#, c-format
@@ -191,12 +192,12 @@ msgid ""
"Configured %s plugin is not a valid PCSX2 plugin, or is for an older "
"unsupported version of PCSX2."
msgstr ""
"Plug-in %s configurado não é um plug-in válido de PCXSX2, ou é para uma "
"versão antiga ou não suportada do PCSX2."
"O Plug-in de %s definido não é um plug-in válido de PCXSX2, ou é para uma "
"versão antiga ou sem suporte do PCSX2."
#: pcsx2/PluginManager.cpp:1355
msgid "Internal Memorycard Plugin failed to initialize."
msgstr "Plug-in de Cartão de Memória interno falhou em inicializar."
msgstr "O plug-in de Cartão de Memória interno falhou na inicialização."
#: pcsx2/PluginManager.cpp:1752
msgid "Unloaded Plugin"
@@ -206,11 +207,11 @@ msgstr "Plug-in descarregado"
msgid "Cannot load savestate. It is of an unknown or unsupported version."
msgstr ""
"Não foi possível carregar o savestate. Ele é de uma versão desconhecida ou "
"não suportada."
"sem suporte."
#: pcsx2/SourceLog.cpp:96
msgid "Dumps detailed information for PS2 executables (ELFs)."
msgstr "Extrai informação detalhada de executáveis (ELFs) de PS2."
msgstr "Extrai informações detalhadas de executáveis (ELFs) de PS2."
#: pcsx2/SourceLog.cpp:101
msgid ""
@@ -234,12 +235,12 @@ msgstr "Exibe os logs de depuração de DECI2 (processador EE)"
#: pcsx2/SourceLog.cpp:145
msgid "SYSCALL and DECI2 activity."
msgstr "Atividade de SYSCALL e DECI2"
msgstr "Atividade do SYSCALL e do DECI2."
#: pcsx2/SourceLog.cpp:151
msgid "Direct memory accesses to unknown or unmapped EE memory space."
msgstr ""
"Acesso direto a memória para espaço de memória EE desconhecido ou não "
"Acesso direto à memória para espaço de memória EE desconhecido ou não "
"mapeado."
#: pcsx2/SourceLog.cpp:157 pcsx2/SourceLog.cpp:276
@@ -268,13 +269,13 @@ msgid ""
"All known hardware register accesses (very slow!); not including sub filter "
"options below."
msgstr ""
"Acessos a todos registradores de hardware (muito lento!); não inclusas "
"Acessos a todos registradores de hardware (muito lento!); não inclusas as "
"opções de sub-filtros abaixo."
#: pcsx2/SourceLog.cpp:193 pcsx2/SourceLog.cpp:294
msgid "Logs only unknown, unmapped, or unimplemented register accesses."
msgstr ""
"Registra somente acessos não conhecidos, não mapeados ou não implementados "
"Registra somente acessos não conhecidos, não mapeados ou não implementados "
"de registradores."
#: pcsx2/SourceLog.cpp:199 pcsx2/SourceLog.cpp:300
@@ -284,17 +285,17 @@ msgstr "Registra somente registradores relacionados a DMA."
#: pcsx2/SourceLog.cpp:205
msgid "IPU activity: hardware registers, decoding operations, DMA status, etc."
msgstr ""
"Atividade IPU: registradores de hardware, operações de decodificação, status "
"de DMA, etc."
"Atividade do IPU: registradores de hardware, operações de decodificação, "
"estado de DMA, etc."
#: pcsx2/SourceLog.cpp:211
msgid "All GIFtag parse activity; path index, tag type, etc."
msgstr ""
"Todas atividade de análise do GIFtag; índice de caminho, tipo de tag, etc."
"Todas atividades de análise do GIFtag: índice de caminho, tipo de tag, etc."
#: pcsx2/SourceLog.cpp:217
msgid "All VIFcode processing; command, tag style, interrupts."
msgstr "Todo processamento de VIFcode; comando, estilo de tag, interrupções."
msgstr "Todo processamento de VIFcode: comando, estilo de tag, interrupções."
#: pcsx2/SourceLog.cpp:223
msgid "All processing involved in Path3 Masking"
@@ -302,7 +303,7 @@ msgstr "Todo processamento envolvido no Path3 Masking"
#: pcsx2/SourceLog.cpp:229
msgid "Scratchpad's MFIFO activity."
msgstr "Atividade MFIFO do Bloco de Rascunho."
msgstr "Atividades do bloco de rascunho do MFIFO."
#: pcsx2/SourceLog.cpp:235
msgid "Actual data transfer logs, bus right arbitration, stalls, etc."
@@ -322,16 +323,16 @@ msgstr "Extrai vários dados de processamento de VIF e VIFcode."
#: pcsx2/SourceLog.cpp:253
msgid "Dumps various GIF and GIFtag parsing data."
msgstr "Extrai vários dados de análise de GIF e GIFtag."
msgstr "Extrai vários dados de análise do GIF e do GIFtag."
#: pcsx2/SourceLog.cpp:264
msgid "SYSCALL and IRX activity."
msgstr "Atividade SYSCALL e IRX."
msgstr "Atividades do SYSCALL e do IRX."
#: pcsx2/SourceLog.cpp:270
msgid "Direct memory accesses to unknown or unmapped IOP memory space."
msgstr ""
"Acessos direto a memória para espaço de memória IOP não conhecido ou não "
"Acessos direto à memória para espaço de memória do IOP não conhecido ou não "
"mapeado."
#: pcsx2/SourceLog.cpp:282
@@ -342,14 +343,14 @@ msgstr "Desmontagem das instruções do co-processador GPU do IOP."
msgid ""
"All known hardware register accesses, not including the sub-filters below."
msgstr ""
"Acessos a todos registradores de hardware conhecidos, não incluso os sub-"
"Acessos a todos registradores de hardware conhecidos, não inclusos os sub-"
"filtros abaixo."
#: pcsx2/SourceLog.cpp:306
msgid "Memorycard reads, writes, erases, terminators, and other processing."
msgstr ""
"Leituras, escritas, exclusão, exterminadores e outros processamentos de "
"cartão de memória."
"Leituras, escritas, exclusão, terminadores e outros processamentos de cartão "
"de memória."
#: pcsx2/SourceLog.cpp:312
msgid "Gamepad activity on the SIO."
@@ -453,7 +454,7 @@ msgstr "usar modo tela cheia do GS"
#: pcsx2/gui/AppInit.cpp:241
msgid "use windowed GS mode"
msgstr "user modo janelado do GS"
msgstr "usar modo janela do GS"
#: pcsx2/gui/AppInit.cpp:243
msgid "disables display of the gui while running games"
@@ -571,7 +572,7 @@ msgstr "&Próximo >"
#: pcsx2/gui/AppInit.cpp:685
msgid "< &Back"
msgstr "< Voltar"
msgstr "< &Voltar"
#: pcsx2/gui/AppInit.cpp:686
msgid "&Back"
@@ -583,11 +584,11 @@ msgstr "&Concluir"
#: pcsx2/gui/AppInit.cpp:688
msgid "&Yes"
msgstr "Sim"
msgstr "&Sim"
#: pcsx2/gui/AppInit.cpp:689
msgid "&No"
msgstr "Não"
msgstr "&Não"
#: pcsx2/gui/AppInit.cpp:690
msgid "Browse"
@@ -599,7 +600,7 @@ msgstr "&Salvar"
#: pcsx2/gui/AppInit.cpp:692
msgid "Save &As..."
msgstr "&Salvar Como..."
msgstr "Salvar &Como..."
#: pcsx2/gui/AppInit.cpp:693
msgid "&Help"
@@ -611,7 +612,7 @@ msgstr "&Página Inicial"
#: pcsx2/gui/AppInit.cpp:696
msgid "Show about dialog"
msgstr "Exibir informações sobre PCSX2."
msgstr "Exibe informações sobre o PCSX2."
#: pcsx2/gui/AppMain.cpp:87
msgid ""
@@ -645,7 +646,7 @@ msgstr "Pressione Ok para ir para o Painel de Configuração de BIOS."
#: pcsx2/gui/AppMain.cpp:626
msgid "PCSX2 Unresponsive Thread"
msgstr "Thread de PCSX2 não respondendo"
msgstr "Thread de PCSX2 não está respondendo"
#: pcsx2/gui/AppMain.cpp:636
msgid "Terminate"
@@ -665,11 +666,11 @@ msgstr "Procurar..."
#: pcsx2/gui/AppUserMode.cpp:99
msgid "The following folders exist, but are not writable:"
msgstr "A seguinte pasta existe, mas não permite escrita:"
msgstr "A pasta existe, mas não permite escrita:"
#: pcsx2/gui/AppUserMode.cpp:104
msgid "The following folders are missing and cannot be created:"
msgstr "A seguinte pasta não foi encontrada e não pode ser criada:"
msgstr "A pasta não foi encontrada e não pode ser criada:"
#: pcsx2/gui/AppUserMode.cpp:144
#, c-format
@@ -711,8 +712,7 @@ msgstr "Pergunta sobre armazanento de log"
#: pcsx2/gui/ConsoleLogger.cpp:413
msgid "Fits a lot of log in a microcosmically small area."
msgstr ""
"Armazena um muito conteúdo de log em uma área microscopicamente pequena."
msgstr "Armazena um conteúdo de log em uma área microscopicamente pequena."
#: pcsx2/gui/ConsoleLogger.cpp:413
msgid "Small"
@@ -770,12 +770,12 @@ msgstr "Sempre no Topo"
msgid ""
"When checked the log window will be visible over other foreground windows."
msgstr ""
"Quando marcado, a janela de registro estará visível sobre outras janelas de "
"Quando marcado, a janela de logs estará visível sobre outras janelas de "
"primeiro plano."
#: pcsx2/gui/ConsoleLogger.cpp:430
msgid "&Save..."
msgstr "Salvar..."
msgstr "&Salvar..."
#: pcsx2/gui/ConsoleLogger.cpp:430
msgid "Save log contents to file"
@@ -795,7 +795,7 @@ msgstr "Aparência"
#: pcsx2/gui/ConsoleLogger.cpp:435
msgid "&Close"
msgstr "Fechar"
msgstr "Fe&char"
#: pcsx2/gui/ConsoleLogger.cpp:435
msgid "Close this log window; contents are preserved"
@@ -807,7 +807,7 @@ msgstr "Desenvolvimento/Detalhado"
#: pcsx2/gui/ConsoleLogger.cpp:439
msgid "Shows PCSX2 developer logs"
msgstr "Exibe logs de desenvolvedor do PCSX2"
msgstr "Exibe logs de desenvolvimento do PCSX2"
#: pcsx2/gui/ConsoleLogger.cpp:440
msgid "CDVD reads"
@@ -835,16 +835,16 @@ msgstr "Desativa todos filtros de origem de log."
#: pcsx2/gui/ConsoleLogger.cpp:460
msgid "&Log"
msgstr "Log"
msgstr "&Log"
#: pcsx2/gui/ConsoleLogger.cpp:461
msgid "&Sources"
msgstr "Fontes"
msgstr "Fonte&s"
#: pcsx2/gui/Dialogs/AboutBoxDialog.cpp:35
#, c-format
msgid "About %s"
msgstr "Sobre %s"
msgstr "Sobre o %s"
#: pcsx2/gui/Dialogs/AboutBoxDialog.cpp:55
msgid "Betatesting"
@@ -987,7 +987,7 @@ msgid ""
"This is the standard Sony-provisioned size, and is supported by all games "
"and BIOS versions."
msgstr ""
"Esse é o tamanho padrão provido pela Sony e é suportado por todos jogos e "
"Esse é o tamanho padrão provido pela Sony e tem suporte em todos jogos e "
"versões de BIOS."
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:196
@@ -1051,7 +1051,7 @@ msgstr "Configurações"
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:81
msgid "Language selector"
msgstr "Seleção de Idioma"
msgstr "Seleção di Idioma"
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:84
msgid ""
@@ -1067,11 +1067,11 @@ msgstr "Bem-vindo ao PCSX2!"
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:104
msgid "Configuration Guides (online)"
msgstr "Guias de configuração (online)"
msgstr "Guia de Configuração (online)"
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:108
msgid "Readme / FAQ (Offline/PDF)"
msgstr "Readme / FAQ (offline/PDF)"
msgstr "Readme / FAQ (Offline/PDF)"
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:117
#, c-format
@@ -1097,7 +1097,7 @@ msgstr "Sobrescrever"
#: pcsx2/gui/Dialogs/LogOptionsDialog.cpp:27
msgid "Trace Logging"
msgstr "Log de rastreamento"
msgstr "Log de Rastreamento"
#: pcsx2/gui/Dialogs/McdConfigDialog.cpp:40
msgid "Auto-eject memory cards when loading savestates"
@@ -1109,7 +1109,7 @@ msgstr "Gerenciador de Cartão de Memória"
#: pcsx2/gui/Dialogs/McdConfigDialog.cpp:112
msgid "Drag cards to or from PS2-ports"
msgstr "Arraste cartões para Portas-PS2 ou a partir delas."
msgstr "Arraste cartões para Portas-PS2, ou a partir delas."
#: pcsx2/gui/Dialogs/McdConfigDialog.cpp:113
msgid ""
@@ -1127,12 +1127,12 @@ msgstr "Primeiras Configurações do PCSX2"
#, c-format
msgid "%s is starting from a new or unknown folder and needs to be configured."
msgstr ""
"%s está iniciando a partir de uma pasta nova ou não conhecida e precisa ser "
"configurado."
"%s está inicializando a partir de uma pasta nova ou não conhecida e precisa "
"ser configurado."
#: pcsx2/gui/Dialogs/StuckThreadDialog.cpp:28
msgid "PCSX2 Thread is not responding"
msgstr "A Thread PCSX2 não está respondendo"
msgstr "A Thread do PCSX2 não está respondendo"
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:36
msgid "Config Overrides Warning"
@@ -1213,7 +1213,7 @@ msgstr "Pressione Terminar para matar %s imediatamente."
#: pcsx2/gui/ExecutorThread.cpp:434
msgid "Terminate App"
msgstr "Terminar aplicativo"
msgstr "Terminar Aplicativo"
#: pcsx2/gui/FrameForGS.cpp:384
msgid "GS Output is Disabled!"
@@ -1233,7 +1233,7 @@ msgstr "Carregar estado"
#: pcsx2/gui/GlobalCommands.cpp:394
msgid "Loads a virtual machine state from the current slot."
msgstr "Carrega o estado da máquina virtual do slot atual."
msgstr "Carrega um estado de máquina virtual do slot atual."
#: pcsx2/gui/GlobalCommands.cpp:399
msgid "Load State Backup"
@@ -1241,7 +1241,7 @@ msgstr "Carregar estado backup"
#: pcsx2/gui/GlobalCommands.cpp:400
msgid "Loads virtual machine state backup for current slot."
msgstr "Carrega o estado backup da máquina virtual no slot atual."
msgstr "Carrega estado backup da máquina virtual no slot atual."
#: pcsx2/gui/GlobalCommands.cpp:405
msgid "Cycle to next slot"
@@ -1261,7 +1261,7 @@ msgstr "Altera o slot de save atual num estilo -1!"
#: pcsx2/gui/IsoDropTarget.cpp:57
msgid "Drag and Drop Error"
msgstr "Erro em Pegar e Arrastar"
msgstr "Erro no Pegar e Arrastar"
#: pcsx2/gui/IsoDropTarget.cpp:58
#, c-format
@@ -1269,12 +1269,12 @@ msgid ""
"It is an error to drop multiple files onto a %s window. One at a time "
"please, thank you."
msgstr ""
"Esse é um erro em arrastar múltiplos arquivos para a janela %s. Um por vez "
"por favor, obrigado."
"É um erro arrastar múltiplos arquivos para a janela de %s. Um por vez por "
"favor, obrigado."
#: pcsx2/gui/IsoDropTarget.cpp:89 pcsx2/gui/MainMenuClicks.cpp:342
msgid "Confirm PS2 Reset"
msgstr "Confirmar reinício do PS2"
msgstr "Confirmar reset do PS2"
#: pcsx2/gui/IsoDropTarget.cpp:91
#, c-format
@@ -1309,23 +1309,23 @@ msgstr "Console para Entrada/Saída padrão"
#: pcsx2/gui/MainFrame.cpp:338
msgid "&System"
msgstr "Sistema"
msgstr "&Sistema"
#: pcsx2/gui/MainFrame.cpp:339
msgid "CD&VD"
msgstr "CDVD"
msgstr "CD&VD"
#: pcsx2/gui/MainFrame.cpp:340
msgid "&Config"
msgstr "Configuração"
msgstr "&Configuração"
#: pcsx2/gui/MainFrame.cpp:341
msgid "&Misc"
msgstr "Diversos"
msgstr "&Misc"
#: pcsx2/gui/MainFrame.cpp:343
msgid "&Debug"
msgstr "Depuração"
msgstr "&Depuração"
#: pcsx2/gui/MainFrame.cpp:355
#, c-format
@@ -1427,15 +1427,15 @@ msgstr "Use essa opção pra carregar as configurações de BIOS do PS2 virtual.
#: pcsx2/gui/MainFrame.cpp:457
msgid "Emulation &Settings"
msgstr "&Configurações de Emulação"
msgstr "Configuraçõe&s de Emulação"
#: pcsx2/gui/MainFrame.cpp:458
msgid "&Memory cards"
msgstr "&Cartões de Memória"
msgstr "Cartões de &Memória"
#: pcsx2/gui/MainFrame.cpp:459
msgid "&Plugin/BIOS Selector"
msgstr "Seleção de Plug-in/BIOS"
msgstr "Seleção de &Plug-in/BIOS"
#: pcsx2/gui/MainFrame.cpp:460 pcsx2/gui/Panels/GameDatabasePanel.cpp:346
msgid "Game Database Editor"
@@ -1490,7 +1490,7 @@ msgstr "Sobre..."
#: pcsx2/gui/MainFrame.cpp:508
msgid "Logging..."
msgstr "Logging..."
msgstr "Registro de Logs..."
#: pcsx2/gui/MainFrame.cpp:585
msgid "Pause"
@@ -1515,7 +1515,7 @@ msgstr "Pausar/Resumir"
#: pcsx2/gui/MainFrame.cpp:599
msgid "No emulation state is active; cannot suspend or resume."
msgstr ""
"Nenhum estado de emulação está ativo; Não foi possível suspender ou resumir."
"Nenhum estado de emulação está ativo; não foi possível suspender ou resumir."
#: pcsx2/gui/MainFrame.cpp:608
msgid "Restart"
@@ -1523,7 +1523,7 @@ msgstr "Reiniciar"
#: pcsx2/gui/MainFrame.cpp:609
msgid "Simulates hardware reset of the PS2 virtual machine."
msgstr "Simula reset de hardware da máquina virtual do PS2."
msgstr "Simula reinício de hardware da máquina virtual do PS2."
#: pcsx2/gui/MainFrame.cpp:614
msgid "No emulation state is active; boot something first."
@@ -1535,7 +1535,7 @@ msgstr "Reiniciar CDVD (completo)"
#: pcsx2/gui/MainFrame.cpp:623
msgid "Hard reset of the active VM."
msgstr "Hard reset da VM ativa."
msgstr "Reinício forçado da VM ativa."
#: pcsx2/gui/MainFrame.cpp:627
msgid "Boot CDVD (full)"
@@ -1592,7 +1592,7 @@ msgstr "Configurações do Plug-in..."
#: pcsx2/gui/MainFrame.cpp:720
#, c-format
msgid "Opens the %s plugin's advanced settings dialog."
msgstr "Abre o janela de configurações avançadas do plug-in %s."
msgstr "Abre a janela de configurações avançadas do plug-in de %s."
#: pcsx2/gui/MainMenuClicks.cpp:112
msgid "Reset all settings?"
@@ -1605,8 +1605,8 @@ msgstr "Confirmar alteração de imagem ISO"
#: pcsx2/gui/MainMenuClicks.cpp:146
msgid "Do you want to swap discs or boot the new image (via system reset)?"
msgstr ""
"Você quer trocar discos ou carregar a nova imagem (via reinicialização do "
"sistema)"
"Você quer trocar discos ou carregar a nova imagem (por meio de "
"reinicialização do sistema)"
#: pcsx2/gui/MainMenuClicks.cpp:148 pcsx2/gui/MainMenuClicks.cpp:194
msgid "Swap Disc"
@@ -1614,7 +1614,7 @@ msgstr "Trocar Disco"
#: pcsx2/gui/MainMenuClicks.cpp:184
msgid "Confirm CDVD source change"
msgstr "Confirme alteração da fonte do CDVD"
msgstr "Confirmar alteração da fonte do CDVD"
#: pcsx2/gui/MainMenuClicks.cpp:187
#, c-format
@@ -1625,7 +1625,7 @@ msgstr "Você selecionou a troca da fonte de CDVD de %s para %s."
msgid "Do you want to swap discs or boot the new image (system reset)?"
msgstr ""
"Você quer trocar discos ou carregar a nova imagem (reinicialização do "
"sistema)"
"sistema)?"
#: pcsx2/gui/MainMenuClicks.cpp:261
#, c-format
@@ -1710,7 +1710,7 @@ msgstr "Nome de arquivo vazio ou muito curto"
#: pcsx2/gui/MemoryCardFile.cpp:530
msgid "File name outside of required directory"
msgstr "Nome de arquivo fora do diretório requerido"
msgstr "Nome de arquivo fora do diretório esperado"
#: pcsx2/gui/MemoryCardFile.cpp:536
msgid "File name already exists"
@@ -2242,7 +2242,7 @@ msgstr "Renomear cartão..."
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:1056
msgid "Duplicate card ..."
msgstr "Cartão duplicado ..."
msgstr "Duplicar Cartão ..."
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:1057
msgid "Rename card ..."
@@ -2295,11 +2295,11 @@ msgstr "Sim"
#: pcsx2/gui/Panels/MemoryCardListView.cpp:169
msgid "[-- Unused cards --]"
msgstr "[-- Cartões não usados --]"
msgstr "[-- não usados --]"
#: pcsx2/gui/Panels/MemoryCardListView.cpp:171
msgid "[-- No unused cards --]"
msgstr "[-- Nenhum cartão não usado --]"
msgstr "[-- Nenhum não usado --]"
#: pcsx2/gui/Panels/MiscPanelStuff.cpp:33
msgid "Usermode Selection"
@@ -2311,7 +2311,7 @@ msgstr "Documentos do Usuário (recommendado)"
#: pcsx2/gui/Panels/MiscPanelStuff.cpp:51
msgid "Location: "
msgstr "Localização:"
msgstr "Localização: "
#: pcsx2/gui/Panels/MiscPanelStuff.cpp:55
msgid "Custom folder:"
@@ -2322,8 +2322,8 @@ msgid ""
"This setting may require administration privileges from your operating "
"system, depending on how your system is configured."
msgstr ""
"Essa configuração pode requerir privilégios administrativos do seus sistema "
"operacional, dependendo de como seu sistema está configurado."
"Essa configuração pode precisar de privilégios administrativos do seus "
"sistema operacional, dependendo de como seu sistema está configurado."
#: pcsx2/gui/Panels/MiscPanelStuff.cpp:66
#, c-format
@@ -2631,22 +2631,18 @@ msgid "Framelimiter"
msgstr "Limitador de Frames"
#: pcsx2/gui/SysState.cpp:283
#, fuzzy
msgid "Cannot load this savestate. The state is an unsupported version."
msgstr ""
"Não foi possível carregar o savestate. Ele é de uma versão desconhecida ou "
"não suportada."
"Não foi possível carregar o savestate. Ele é de uma versão sem suporte."
#: pcsx2/gui/SysState.cpp:290
#, fuzzy
msgid "Cannot load this savestate. The state is an unsupported version."
msgstr ""
"Não foi possível carregar o savestate. Ele é de uma versão desconhecida ou "
"não suportada."
"Não foi possível carregar o savestate. Ele é de uma versão sem suporte."
#: pcsx2/gui/SysState.cpp:326
msgid "There is no active virtual machine state to download or save."
msgstr "Não há estado de máquina virtual ativo para baixar ou salvar"
msgstr "Não há estado de máquina virtual ativa para baixar ou salvar"
#: pcsx2/gui/SysState.cpp:520
msgid ""
@@ -2654,9 +2650,9 @@ msgid ""
"may have been created by an older unsupported version of PCSX2, or it may be "
"corrupted."
msgstr ""
"O savestate não pode ser carregado pois não é um arquivo gzip válido. Ele "
"pode ter sido criado por uma versão mais antiga e não suportada do PCSX2, "
"ou pode estar corrupto."
"O savestate não pode ser carregado porque não é um arquivo gzip válido. Ele "
"pode ter sido criado por uma versão mais antiga e sem suporte do PCSX2, ou "
"pode estar corrompido."
#: pcsx2/gui/SysState.cpp:579
msgid "This file is not a valid PCSX2 savestate. See the logfile for details."
@@ -2669,12 +2665,12 @@ msgid ""
"This savestate cannot be loaded due to missing critical components. See the "
"log file for details."
msgstr ""
"O savestate não pode ser carregado por estar faltando componentes críticos. "
"O savestate não pôde ser carregado por estar faltando componentes críticos. "
"Veja o arquivo de log para mais detalhes."
#: pcsx2/gui/i18n.cpp:63
msgid " (default)"
msgstr "(padrão)"
msgstr " (padrão)"
#: pcsx2/ps2/BiosTools.cpp:83 pcsx2/ps2/BiosTools.cpp:151
msgid "The selected BIOS file is not a valid PS2 BIOS. Please re-configure."

View File

@@ -4,8 +4,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PCSX2 0.9.9\n"
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
"POT-Creation-Date: 2012-05-27 12:20+0200\n"
"PO-Revision-Date: 2012-05-09 13:20+0100\n"
"POT-Creation-Date: 2012-07-08 09:24+0200\n"
"PO-Revision-Date: 2012-07-06 16:52+0100\n"
"Last-Translator: pgert <http://forums.pcsx2.net/User-pgert>\n"
"Language-Team: \n"
"Language: \n"
@@ -303,10 +303,11 @@ msgstr ""
"prestandastraff. \n"
"Bemärk: Detta fungerar för närvarande bara bra med GSdx som GS-"
"insticksprogram, \n"
" och med konfigurationen DX10/11 Hårdvarutolkning. \n"
"Annat insticksprogram eller tolkningsläge kommer antingen att ignoreras \n"
" och med konfigurationen DX10/11 Hårdvaruframställning. \n"
"Annat insticksprogram eller framställningssätt kommer antingen att "
"ignoreras \n"
" eller alstra en svart skärm som blinkar när läget byts. \n"
"Det kräver även att Vsync möjliggörs."
"Tillämpningen kräver även att Vsync möjliggörs."
#: pcsx2/gui/Panels/GSWindowPanel.cpp:76
msgid "!ContextTip:Window:HideMouse"

View File

@@ -4,8 +4,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PCSX2 0.9.9\n"
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
"POT-Creation-Date: 2012-05-27 12:20+0200\n"
"PO-Revision-Date: 2012-05-09 13:20+0100\n"
"POT-Creation-Date: 2012-07-08 09:24+0200\n"
"PO-Revision-Date: 2012-07-06 16:53+0100\n"
"Last-Translator: pgert <http://forums.pcsx2.net/User-pgert>\n"
"Language-Team: \n"
"Language: \n"
@@ -260,7 +260,7 @@ msgid ""
"All known hardware register accesses (very slow!); not including sub filter "
"options below."
msgstr ""
"Alla kända hårdvaruregisteråtkomster (mycket långsamt!), förutom "
"Alla kända hårdvaruregisteråtkomster (mycket långsamt!), ej inräknat "
"underfilterstillämpningarna nedanför."
#: pcsx2/SourceLog.cpp:193 pcsx2/SourceLog.cpp:294
@@ -323,7 +323,8 @@ msgstr "Avassemblering av IOP's GPU-hjälpprocessorinstruktioner."
#: pcsx2/SourceLog.cpp:288
msgid ""
"All known hardware register accesses, not including the sub-filters below."
msgstr "Alla kända hårdvaruregisteråtkomster, förutom underfilterna nedanför."
msgstr ""
"Alla kända hårdvaruregisteråtkomster, ej inräknat underfilterna nedanför."
#: pcsx2/SourceLog.cpp:306
msgid "Memorycard reads, writes, erases, terminators, and other processing."
@@ -1500,7 +1501,7 @@ msgstr "Återkör CDVD (fullt)"
#: pcsx2/gui/MainFrame.cpp:623
msgid "Hard reset of the active VM."
msgstr "Hård återställning av den aktiva VM'n."
msgstr "Hård återställning av aktiv VM."
#: pcsx2/gui/MainFrame.cpp:627
msgid "Boot CDVD (full)"
@@ -1988,7 +1989,7 @@ msgstr "OPH Flagg hack - Försök ifall Ert spel fryser visandes samma bild."
#: pcsx2/gui/Panels/GameFixesPanel.cpp:88
msgid "Ignore DMAC writes when it is busy."
msgstr "Ignorera DMAC-skrivningar när denne är upptagen."
msgstr "Ignorera DMAC-skrivningar när denna är upptagen."
#: pcsx2/gui/Panels/GameFixesPanel.cpp:95
msgid "Simulate VIF1 FIFO read ahead. Fixes slow loading games."
@@ -2386,8 +2387,8 @@ msgid ""
"Resets all speedhack options to their defaults, which consequently turns "
"them all OFF."
msgstr ""
"Återställer alla snabbhackstillämpningar till deras förval, vilket "
"följdaktligen avaktiverar dem."
"Återställer alla snabbhackstillämpningar till deras förval, \n"
" vilket följdaktligen avaktiverar dem."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:120
msgid "EE Cyclerate [Not Recommended]"

View File

@@ -0,0 +1,478 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR PCSX2 Dev Team
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PCSX2 0.9.9\n"
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
"POT-Creation-Date: 2012-05-07 17:47+0200\n"
"PO-Revision-Date: 2012-06-11 12:56+0700\n"
"Last-Translator: xyteton <xyteton@hotmail.com>\n"
"Language-Team: xyteton <xyteton@hotmail.com>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: pxE;pxEt\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Poedit-Basepath: C:\\Documents and Settings\\icom\\My Documents\\My Pictures\\pcsx2-0.9.8-r4600-sources\n"
"X-Poedit-Language: Thai\n"
"X-Poedit-Country: THAILAND\n"
"X-Poedit-SearchPath-0: pcsx2\n"
"X-Poedit-SearchPath-1: common\n"
#: common/src/Utilities/Exceptions.cpp:254
msgid "!Notice:VirtualMemoryMap"
msgstr ""
"มีหน่วยความจำเสมือนที่ไม่เพียงพอ หรือการแม็พหน่วยความจำเสมือน\n"
"ที่จำเป็นได้ถูกเก็บไว้โดยกระบวน, บริการ หรือ DLL อื่นๆ"
#: pcsx2/CDVD/CDVD.cpp:389
msgid "!Notice:PsxDisc"
msgstr "PCSX2 ไม่รองรับดิสก์เกม Playstation 1"
#: pcsx2/System.cpp:114
msgid "!Notice:Recompiler:VirtualMemoryAlloc"
msgstr ""
"รีคอมไพเลอร์ไม่สามารถสงวนหน่วยความจำอย่างต่อเนื่อง ที่ต้องการสำหรับแค็ชภายใน\n"
"ความผิดพลาดนี้อาจเกิดจากทรัพยากรหน่วยความจำเสมือนมีค่าต่ำ เช่น เล็ก \n"
"หรือ swapfile ไม่ถูกใช้งาน หรือเพราะโปรแกรมอื่นใช้หน่วยความจำมาก \n"
"คุณสามารถลองลดขนาดแค็ชสำหรับรีคอมไพเลอร์ PCSX2 ทั้งหมด ซึ่งพบได้ที่การตั้งค่าโฮสต์"
#: pcsx2/System.cpp:348
msgid "!Notice:EmuCore::MemoryForVM"
msgstr ""
"PCSX2 ไม่สามารถแบ่งหน่วยความจำที่ต้องการสำหรับเครื่องเสมือน PS2\n"
"ลองปิดงานเบื้องหลังบางงานที่กินหน่วยความจำ แล้วลองอีกครั้ง"
#: pcsx2/gui/AppInit.cpp:43
msgid "!Notice:Startup:NoSSE2"
msgstr ""
"คำเตือน: คอมพิวเตอร์ของคุณไม่รองรับ SSE2 ซึ่งจำเป็นสำหรับรีคอมไพเลอร์และปลั๊กอินหลายตัวของ PCSX2\n"
"ตัวเลือกของคุณจะมีอย่างจำกัด และการจำลองจะให้ผลที่ช้า*มาก*"
#: pcsx2/gui/AppInit.cpp:162
msgid "!Notice:RecompilerInit:Header"
msgstr "คำเตือน: รีคอมไพเลอร์บางตัวของ PS2 ที่กำหนดค่าไว้ ล้มเหลวในการเริ่มต้นและไม่ถูกใช้งาน"
#: pcsx2/gui/AppInit.cpp:211
msgid "!Notice:RecompilerInit:Footer"
msgstr ""
"หมายเหตุ: รีคอมไพเลอร์ไม่จำเป็นสำหรับการรัน PCSX2 อย่างไรก็ตาม มันจะช่วยปรับปรุงความเร็วของการจำลองอย่างเห็นได้\n"
"คุณอาจจะลองใช้งานรีคอมไพเลอร์ที่ระบุไว้ด้านบนอีกครั้ง หากคุณต้องการจะแก้ปัญหา"
#: pcsx2/gui/AppMain.cpp:546
msgid "!Notice:BiosDumpRequired"
msgstr ""
"PCSX2 ต้องการไบออส (BIOS) ของ PS2 เพื่อที่จะรัน เพื่อเหตุผลที่ถูกกฎหมาย คุณ*ต้อง* \n"
"เอาไบออสมาจากตัว PS2 ที่แท้จริงของคุณเอง (ไม่นับการยืม)\n"
"โปรดศึกษาจากแนวทางและคำถามที่พบบ่อยสำหรับคำแนะนำเพิ่มเติม"
#: pcsx2/gui/AppMain.cpp:629
msgid "!Notice Error:Thread Deadlock Actions"
msgstr ""
"'ละเลย' เพื่อรอให้สายงานตอบสนองต่อไป \n"
"'ยกเลิก' เพื่อพยายามยกเลิกสายงาน \n"
"'สิ้นสุด' เพื่อออกจาก PCSX2 โดยทันที"
#: pcsx2/gui/AppUserMode.cpp:57
msgid "!Notice:PortableModeRights"
msgstr ""
"โปรดแน่ใจว่าโฟลเดอร์นี้ได้ถูกสร้าง และบัญชีผู้ใช้ของคุณได้รับอนุญาต\n"
"อาจทำการอนุญาต (permission) ให้พวกมัน -- หรือ รัน PCSX2 ด้วยสิทธิที่สูงขึ้น(ผู้ดูแลระบบ)\n"
"ซึ่งจะอนุญาตให้ PCSX2 สามารถทำการสร้างโฟลเดอร์ที่จำเป็นเองได้\n"
"ถ้าคุณไม่มีสิทธิที่สูงกว่าในคอมพิวเตอร์นี้ นั่นคุณจำเป็นต้องสลับ\n"
"ไปใช้โหมดเอกสารผู้ใช้ (คลิกปุ่มด้านล่าง)"
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:181
msgid "!ContextTip:ChangingNTFS"
msgstr "การบีบอัดแบบ NTFS คุณสามารถเปลี่ยนเองตอนไหนก็ได้โดยใช้คุณสมบัติไฟล์จากหน้าต่างสำรวจ"
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:49
msgid "!ContextTip:Folders:Settings"
msgstr ""
"นี่คือโฟลเดอร์ที่ PCSX2 บันทึกการตั้งค่าของคุณ รวมทั้งการตั้งค่า\n"
"ที่ถูกสร้างขึ้นโดยปลั๊กอินส่วนใหญ่ (บางปลั๊กอินเก่าอาจไม่เป็นไปตามค่านี้)"
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:54
msgid "!Panel:Folders:Settings"
msgstr ""
"คุณอาจจะระบุที่ตั้งของการตั้งค่า PCSX2 ของคุณได้ที่นี่ ถ้าที่ตั้งนั้นมีการตั้งค่า PCSX2 อยู่แล้ว\n"
"คุณจะได้รับตัวเลือกในการนำเข้าหรือเขียนทับพวกมัน"
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:94
msgid "!Wizard:Welcome"
msgstr ""
"ตัวช่วยนี้จะช่วยแนะนำคุณสู่การตั้งค่าปลั๊กอินการ์ดความจำและไบออส (BIOS)\n"
"ขอแนะนำ ถ้านี่คือการติดตั้งครั้งแรก\n"
"ซึ่งคุณจะได้อ่าน Readme และแนวทางการกำหนดค่า"
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:140
msgid "!Wizard:Bios:Tutorial"
msgstr ""
"PCSX2 ต้องการสำเนาที่*ถูกกฎหมาย*ของไบออส PS2 เพื่อที่จะรันเกมได้ \n"
"คุณไม่สามารถใช้สำเนาจากเพื่อนหรืออินเตอร์เน็ต\n"
"คุณต้องดัมพ์ไบออสจากคอนโซล Playstation 2 *ของคุณเอง*"
#: pcsx2/gui/Dialogs/ImportSettingsDialog.cpp:31
msgid "!Notice:ImportExistingSettings"
msgstr ""
"การตั้งค่า %s มีอยู่แล้ว ถูกค้นพบในโฟลเดอร์การตั้งค่าที่กำหนดไว้\n"
"คุณต้องการนำเข้าการตั้งค่าหรือว่าเขียนทับพวกมันด้วยค่าตั้งต้น %s ?\n"
"\n"
"(หรือกด ยกเลิก เพื่อเลือกโฟลเดอร์การตั้งค่าอื่นๆ)"
#: pcsx2/gui/Dialogs/McdConfigDialog.cpp:30
msgid "!Panel:Mcd:NtfsCompress"
msgstr ""
"การบีบอัดแบบ NTFS เป็นโครงสร้างภายใน รวดเร็ว เชื่อถือได้\n"
"และจะบีบอัดการ์ดความจำได้ดีมาก (ขอแนะนำตัวเลือกนี้อย่างยิ่ง)"
#: pcsx2/gui/Dialogs/McdConfigDialog.cpp:41
msgid "!Panel:Mcd:EnableEjection"
msgstr ""
"หลีกเลี่ยงการเสียของการ์ดความจำ โดยบังคับเกมให้ทำดัชนีเนื้อหาการ์ด\n"
"หลังจากการโหลดจากบันทึกสถานภาพ อาจไม่เข้ากันกับทุกเกม (Guitar Hero)"
#: pcsx2/gui/Dialogs/StuckThreadDialog.cpp:33
msgid "!Panel:StuckThread:Heading"
msgstr ""
"สายงาน '%s' ไม่ตอบสนอง มันอาจหยุดชะงักหรือ\n"
"อาจจะกำลังรันแบบช้ามาก*จริง ๆ*"
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:38
msgid "!Panel:HasHacksOverrides"
msgstr ""
"คำเตือน! คุณกำลังรัน PCSX2 ด้วยตัวเลือก command line ที่เอาชนะการตั้งค่าที่คุณกำหนด\n"
"ตัวเลือก command line นี้ จะไม่ถูกแสดงให้เห็นในกล่องโต้ตอบการตั้งค่า\n"
"และจะไม่ถูกใช้งาน ถ้าคุณใช้การเปลี่ยนแปลงใด ๆ ที่นี่"
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:58
msgid "!Panel:HasPluginsOverrides"
msgstr ""
"คำเตือน! คุณกำลังรัน PCSX2 ด้วยตัวเลือก command line ที่เอาชนะการตั้งค่าปลั๊กอิน\n"
"และ/หรือโฟลเดอร์ที่คุณกำหนด ตัวเลือก command line นี้จะไม่ถูกแสดงให้เห็นในกล่องโต้ตอบการตั้งค่า\n"
"และจะไม่ถูกใช้งาน ถ้าคุณใช้การเปลี่ยนแปลงใด ๆ ที่นี่"
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:135
msgid "!Notice:Tooltip:Presets:Slider"
msgstr ""
"ค่าที่ตั้งล่วงหน้า จะใช้ speedhacks, ตัวเลือกรีคอมไพเลอร์บางตัว และบางวิธีแก้ปัญหาเกมที่ทราบ เพื่อเพิ่มความเร็ว\n"
"วิธีแก้ปัญหาเกมที่สำคัญและทราบแล้ว จะถูกใช้โดยอัตโนมัติ \n"
"\n"
"ข้อมูลค่าที่ตั้งล่วงหน้า:\n"
"1 - การจำลองที่ถูกต้องที่สุด แต่ก็ช้าที่สุดด้วย \n"
"3 --> พยายามสร้างสมดุลย์ของความเร็วและความเข้ากัน \n"
"4 - บางแฮ็คที่รุนแรงขึ้น \n"
"6 - แฮ็คที่มากเกินไปอาจจะทำให้เกมช้าลงได้"
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:149
msgid "!Notice:Tooltip:Presets:Checkbox"
msgstr ""
"ค่าที่ตั้งล่วงหน้า จะใช้ speedhacks, ตัวเลือกรีคอมไพเลอร์บางตัว และบางวิธีแก้ปัญหาเกมที่ทราบ เพื่อเพิ่มความเร็ว\n"
"วิธีแก้ปัญหาเกมที่สำคัญและทราบแล้ว จะถูกใช้โดยอัตโนมัติ \n"
" \n"
"--> เอาเครื่องหมายออก เพื่อปรับเปลี่ยนการตั้งค่าด้วยตนเอง (โดยมีค่าที่ตั้งล่วงหน้าเป็นฐาน)\""
#: pcsx2/gui/IsoDropTarget.cpp:28
msgid "!Notice:ConfirmSysReset"
msgstr ""
"การกระทำนี้ จะรีเซ็ตสถานภาพเครื่องเสมือน PS2 ที่มีอยู่แล้วใหม่\n"
"ความคืบหน้าในปัจจุบันจะสูญหายไป คุณแน่ใจหรือไม่?\""
#: pcsx2/gui/MainMenuClicks.cpp:106
msgid "!Notice:DeleteSettings"
msgstr ""
"คำสั่งนี้จะล้างการตั้งค่า %s และอนุญาตให้คุณรันตัวช่วยครั้งแรก (wizard) คุณจำเป็นต้อง\n"
"เริ่มต้น %s ใหม่ หลังจากการกระทำนี้ \n"
"\n"
"คำเตือน!! คลิก ตกลง เพื่อลบการตั้งค่า*ทั้งหมด*สำหรับ %s และบังคับให้ปิดโปรแกรม\n"
"ความคืบหน้าการจำลองจะสูญหาย คุณแน่ใจจริง ๆ หรือไม่?\n"
"\n"
"(หมายเหตุ: การตั้งค่าสำหรับปลั๊กอินไม่ได้รับผลกระทบ)"
#: pcsx2/gui/MemoryCardFile.cpp:78
msgid "!Notice:Mcd:HasBeenDisabled"
msgstr ""
"สล็อต-PS2 %d ไม่ถูกใช้งานอัตโนมัติ คุณสามารถแก้ไขปัญหา \n"
"และใช้งานมันใหม่ตอนไหนก็ได้โดยใช้การ กำหนดค่า:การ์ดความจำ จากเมนูหลัก"
#: pcsx2/gui/Panels/BiosSelectorPanel.cpp:138
msgid "!Notice:BIOS:InvalidSelection"
msgstr ""
"โปรดเลือกไบออสที่ถูกต้อง ถ้าคุณไม่สามารถทำการเลือกที่ถูกต้องได้\n"
"จงกด ยกเลิก เพื่อปิดผังการกำหนดค่า"
#: pcsx2/gui/Panels/CpuPanel.cpp:111
msgid "!Panel:EE/IOP:Heading"
msgstr "แจ้ง: ค่าตัวเลือกตั้งต้นมักจะดีกับเกมส่วนใหญ่"
#: pcsx2/gui/Panels/CpuPanel.cpp:178
msgid "!Panel:VUs:Heading"
msgstr "แจ้ง: ค่าตัวเลือกตั้งต้นมักจะดีกับเกมส่วนใหญ่"
#: pcsx2/gui/Panels/DirPickerPanel.cpp:69
msgid "!Notice:DirPicker:CreatePath"
msgstr "ไม่มีเส้นทาง/ไดเรกทอรี่ที่ระบุ คุณต้องการสร้างมันหรือไม่?"
#: pcsx2/gui/Panels/DirPickerPanel.cpp:158
msgid "!ContextTip:DirPicker:UseDefault"
msgstr "เมื่อทำเครื่องหมาย โฟลเดอร์นี้จะแสดงค่าตั้งต้นที่เกี่ยวข้องกับการตั้งค่าโหมดผู้ใช้ปัจจุบันของ PCSX2 โดยอัตโนมัติ"
#: pcsx2/gui/Panels/GSWindowPanel.cpp:55
msgid "!ContextTip:Window:Zoom"
msgstr ""
"ขยาย = 100 ทำภาพทั้งหมดให้พอดีกับหน้าต่างโดยปราศจากการตัดภาพ\n"
"มากกว่า/ต่ำกว่า 100: ซูมเข้า/ซูมออก\n"
"0: ซูมเข้าอัตโนมัติจนกระทั่งแถบสีดำหายไป (ยังคงสัดส่วนภาพ บางส่วนอาจจะหลุดออกนอกจอ)\n"
"หมายเหตุ: บางเกมสร้างแถบสีดำขึ้นมาเอง ซึ่งจะไม่สามารถเอาออกได้โดยใช้ '0' \n"
"\n"
"แป้นพิมพ์: Ctrl + ปุ่มเครื่องหมายบวก: ซูมเข้า, Ctrl + ปุ่มเครื่องหมายลบ: ซูมออก, Ctrl + ปุ่มดอกจัน: สลับ 100/0"
#: pcsx2/gui/Panels/GSWindowPanel.cpp:63
msgid "!ContextTip:Window:Vsync"
msgstr ""
"Vsynce กำจัดการฉีกของจอภาพ แต่มักจะกระทบสมรรถนะอย่างใหญ่หลวง\n"
"มันมักถูกใช้เฉพาะโหมดเต็มจอ และอาจใช้ไม่ได้ผลกับทุกปลั๊กอิน"
#: pcsx2/gui/Panels/GSWindowPanel.cpp:68
msgid "!ContextTip:Window:ManagedVsync"
msgstr ""
"ใช้งาน Vsync เมื่ออัตราเฟรมมีความเร็วเต็มที่แน่นอน\n"
"การตกลงต่ำกว่านั้น, Vsync จะไม่ได้รับการใช้งานเพื่อหลีกเลี่ยงโทษต่อสมรรถนะที่จะมีต่อ ๆ ไป\n"
"หมายเหตุ: นี่จะได้ผลดีเฉพาะกับปลั๊กอิน GS คือ GSdx และกับการกำหนดค่าให้ใช้มันกับตัวนำแสดงผลฮาร์ดแวร์ DX10/11\n"
"ปลั๊กอินอื่นหรือโหมดแสดงผลอื่นจะละเลยมันไป หรือแสดงเฟรมสีดำกระพริบเมื่อไหร่ก็ตามที่สลับโหมด\n"
"มันต้องการให้ Vsync ถูกใช้งานด้วย"
#: pcsx2/gui/Panels/GSWindowPanel.cpp:76
msgid "!ContextTip:Window:HideMouse"
msgstr ""
"ทำเครื่องหมายสิ่งนี้ เพื่อบังคับให้ไม่เห็นเคอร์เซอร์ของเม้าส์ในหน้าต่าง GS;\n"
"มีประโยชน์ถ้าใช้เม้าส์เป็นตัวควบคุมหลักสำหรับเกม โดยค่าตั้งต้น เม้าส์จะถูกซ่อนอัตโนมัติ\n"
"หลังจากการไม่มีกิจกรรมใด ๆ 2 วินาที\""
#: pcsx2/gui/Panels/GSWindowPanel.cpp:82
msgid "!ContextTip:Window:Fullscreen"
msgstr ""
"ใช้โหมดอัตโนมัติเพื่อสลับไปเต็มจอเมื่อเริ่มต้น หรือทำการจำลองต่อจากเดิม\n"
"คุณสามารถสลับการแสดงผลเต็มจอเวลาใดก็ได้โดยกด Alt-Enter"
#: pcsx2/gui/Panels/GSWindowPanel.cpp:93
msgid "!ContextTip:Window:HideGS"
msgstr "ปิดหน้าต่าง GS ที่ใหญ่โตบ่อยๆ อย่างสมบูรณ์ เมื่อกด ESC หรือพักตัวจำลอง"
#: pcsx2/gui/Panels/GameFixesPanel.cpp:67
msgid "!ContextTip:Gamefixes:EE Timing Hack"
msgstr ""
"ทราบว่าจะมีผลต่อเกมต่อไปนี้:\n"
" * Digital Devil Saga (แก้ปัญหา FMV และการขัดข้อง)\n"
" * SSX (แก้ปัญหากราฟิกที่แย่และการขัดข้อง) \n"
" * Resident Evil: Dead Aim (เกิดภาพบิดเบือน)"
#: pcsx2/gui/Panels/GameFixesPanel.cpp:80
msgid "!ContextTip:Gamefixes:OPH Flag hack"
msgstr ""
"ทราบว่าส่งผลต่อเกมต่อไปนี้:\n"
" * Bleach Blade Battler\n"
" * Growlanser II และ III\n"
" * Wizardry"
#: pcsx2/gui/Panels/GameFixesPanel.cpp:89
msgid "!ContextTip:Gamefixes:DMA Busy hack"
msgstr ""
"ทราบว่าส่งผลต่อเกมต่อไปนี้:\n"
" * Mana Khemia 1 (Going \"off campus\")"
#: pcsx2/gui/Panels/GameFixesPanel.cpp:96
msgid "!ContextTip:Gamefixes:VIF1 FIFO hack"
msgstr ""
#: pcsx2/gui/Panels/GameFixesPanel.cpp:119
msgid "!Panel:Gamefixes:Compat Warning"
msgstr ""
"การแก้ปัญหาเกมสามารถทำงานประมาณการจำลองที่ไม่ถูกต้องได้ในบางเรื่อง\n"
"มันอาจจะทำให้เกิดปัญหาการไม่เข้ากันและปัญหาสมรรถนะ \n"
"\n"
"น่าจะดีกว่าถ้าใช้ 'การแก้ปัญหาเกมอัตโนมัติ' ที่เมนูหลักแทน และปล่อยหน้านี้ให้ว่างไว้\n"
"('อัตโนมัติ' หมายถึง: การเลือกใช้วิธีการแก้ปัญหาเกมที่ผ่านการทดสอบแล้วและจำเพาะเจาะจงต่อเกมนั้น ๆ)"
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:720
msgid "!Notice:Mcd:Delete"
msgstr ""
"คุณกำลังจะลบการ์ดความจำที่ฟอร์แมตแล้ว '%s' \n"
"ข้อมูลทั้งหมดบนการ์ดนี้จะหายไป! คุณแน่ใจอย่างถ่องแท้แล้วหรือไม่?"
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:758
msgid "!Notice:Mcd:CantDuplicate"
msgstr "ล้มเหลว: การทำสำเนาซ้ำอนุญาตเฉพาะสู่พอร์ต-PS2 ที่ว่าง หรือสู่ระบบไฟล์"
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:801
msgid "!Notice:Mcd:Copy Failed"
msgstr "ล้มเหลว: การ์ดความจำปลายทาง '%s' กำลังถูกใช้อยู่"
#: pcsx2/gui/Panels/MiscPanelStuff.cpp:35
msgid "!Panel:Usermode:Explained"
msgstr ""
"โปรดเลือกที่ตั้งค่าตั้งต้นที่คุณชอบสำหรับเอกสารระดับผู้ใช้ PCSX2 ด้านล่าง\n"
"(รวมทั้งการ์ดความจำ, ภาพหน้าจอ, การตั้งค่า, และบันทึกสถานภาพ)\n"
"ที่ตั้งโฟลเดอร์นี้สามารถถูกเอาชนะตอนไหนก็ได้โดยใช้ผังการตั้งค่าหลัก"
#: pcsx2/gui/Panels/MiscPanelStuff.cpp:41
msgid "!Panel:Usermode:Warning"
msgstr ""
"คุณสามารถเปลี่ยนการตั้งค่าของที่ตั้งที่ชอบเป็นค่าตั้งต้น สำหรับเอกสารระดับผู้ใช้ PCSX2 ได้ที่นี่\n"
"(รวมทั้งการ์ดความจำ, ภาพหน้าจอ, การตั้งค่า และ บันทึกสถานภาพ)\n"
"ตัวเลือกนี้จะมีผลเฉพาะเส้นทางมาตรฐานที่ตั้งค่าไว้ให้ใช้ค่าตั้งตั้นจากการติดตั้ง"
#: pcsx2/gui/Panels/PathsPanel.cpp:40
msgid "!ContextTip:Folders:Savestates"
msgstr ""
"โฟลเดอร์นี้ คือตำแหน่งที่ PCSX2 จะบันทึกสถานภาพ; ซึ่งไม่ว่าจะบันทึกโดยใช้\n"
"เมนู/แถบเครื่องมือ หรือโดยกด F1/F3 (บันทึก/โหลด)"
#: pcsx2/gui/Panels/PathsPanel.cpp:50
msgid "!ContextTip:Folders:Snapshots"
msgstr ""
"โฟลเดอร์นี้ คือตำแหน่งที่ PCSX2 จะบันทึกภาพถ่าย รูปแบบและสไตล์ภาพถ่ายที่แท้จริง\n"
"อาจแปรเปลี่ยนไปตามปลั๊กอิน GS ที่ถูกใช้"
#: pcsx2/gui/Panels/PathsPanel.cpp:60
msgid "!ContextTip:Folders:Logs"
msgstr ""
"โฟลเดอร์นี้ คือตำแหน่งที่ PCSX2 จะบันทึกไฟล์แบบบันทึกข้อมูลและดัมพ์วินิจฉัย\n"
"ปลั๊กอินส่วนใหญ่จะติดอยู่กับโฟลเดอร์นี้ อย่างไรก็ตามปลั๊กอินเก่าบางอันอาจจะละเลยมัน "
#: pcsx2/gui/Panels/PluginSelectorPanel.cpp:242
msgid "!Notice:PluginSelector:ConfirmShutdown"
msgstr ""
"คำเตือน! การเปลี่ยนปลั๊กอินจำเป็นต้องมีการปิดลงอย่างสมบูรณ์และรีเซ็ตเครื่องเสมือน PS2\n"
"PCSX2 จะพยายามบันทึกและคืนกลับค่าสถานภาพ แต่ถ้าปลั๊กอินที่เลือกใหม่เข้ากันไม่ได้\n"
"การฟื้นฟูอาจจะล้มเหลว และความคืบหน้าในปัจจุบันจะหายไป \n"
"\n"
"คุณแน่ใจหรือไม่ที่จะใช้งานการตั้งค่าเดี๋ยวนี้?"
#: pcsx2/gui/Panels/PluginSelectorPanel.cpp:457
msgid "!Notice:PluginSelector:ApplyFailed"
msgstr ""
"ปลั๊กอินทั้งหมดต้องมีการเลือกใช้ที่ถูกต้องสำหรับการรัน %s \n"
"ถ้าคุณไม่สามารถเลือกอันที่ถูกต้องเนื่องจากปลั๊กอินสูญหายหรือการติดตั้ง %s ที่ไม่สมบูรณ์\n"
"จงกด ยกเลิก เพื่อปิดผังการกำหนดค่า"
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:27
msgid "!Panel:Speedhacks:EECycleX1"
msgstr "1 - อัตราหมุนตั้งต้น, นี่จะใกล้เคียงกับความเร็วแท้จริงของ EmotionEngine PS2 ของจริง"
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:32
msgid "!Panel:Speedhacks:EECycleX2"
msgstr "2 - ลดอัตราหมุนของ EE ลงราว 33%, ความเร็วเพิ่มขึ้นเล็กน้อย สำหรับเกมส่วนใหญ่ที่มีความเข้ากันได้สูง"
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:37
msgid "!Panel:Speedhacks:EECycleX3"
msgstr "3 - ลดอัตราหมุนของ EE ลงราว 50% ความเร็วเพิ่มขึ้นปานกลาง แต่*จะ*เกิดเสียงตะกุกตะกักบน FMV"
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:54
msgid "!Panel:Speedhacks:VUCycleStealOff"
msgstr "0 - ไม่ใช้การขโมยรอบหมุน VU, การตั้งค่าที่เข้ากันได้โดยส่วนใหญ่"
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:59
msgid "!Panel:Speedhacks:VUCycleSteal1"
msgstr "1 - การขโมยรอบหมุน VU แบบอ่อน, เข้ากันได้ต่ำกว่า แต่จะเพิ่มความเร็วสำหรับเกมส่วนใหญ่"
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:64
msgid "!Panel:Speedhacks:VUCycleSteal2"
msgstr "2 - การขโมยรอบหมุน VU ปานกลาง, ความเข้ากันได้ต่ำพอกัน แต่จะเพิ่มความเร็วอย่างมีนัยสำคัญสำหรับบางเกม"
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:70
msgid "!Panel:Speedhacks:VUCycleSteal3"
msgstr "3 - การขโมยรอบหมุน VU มากที่สุด, ประโยชน์มีจำกัด จะทำให้เกิดการมองเห็นแบบหรี่ กระพริบ หรือช้าลงในเกมส่วนใหญ่"
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:97
msgid "!Panel:Speedhacks:Overview"
msgstr ""
"Speedhack มักจะเพิ่มความเร็วของการจำลอง แต่อาจทำให้เกิดความบกพร่อง เสียงแตก และ\n"
"การอ่านอัตราเฟรม (FPS) ผิดพลาด เมื่อการจำลองเกิดปัญหาให้เลือกไม่ใช้งานผังนี้เป็นอันดับแรก"
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:129
msgid "!ContextTip:Speedhacks:EECycleRate Slider"
msgstr ""
"การตั้งค่าที่สูงขึ้นบนตัวเลื่อนนี้ มีผลลดความเร็วนาฬิกา R5900 core cpu ของ EmotionEngine\n"
"และมักนำความเร็วที่สูงขึ้นมากมาสู่เกม แต่จะล้มเหลว\n"
"ในการใช้ประโยชน์ให้เต็มสมรรถนะฮาร์ดแวร์ PS2 ของจริง"
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:150
msgid "!ContextTip:Speedhacks:VUCycleStealing Slider"
msgstr ""
"ตัวเลื่อนนี้จะควบคุมจำนวนรอบหมุนหน่วย VU ที่ขโมยจาก EmotionEngine\n"
"ค่าที่สูงกว่าจะเพิ่มการขโมยรอบหมุนจาก EE สำหรับแต่ละ VU microprogram ที่เกมรัน"
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:169
msgid "!ContextTip:Speedhacks:vuFlagHack"
msgstr ""
"อัพเดต Status Flags บนบล็อคที่จะอ่านพวกมันเท่านั้น แทนที่จะทำทุกเวลา\n"
"นี่มีความปลอดภัยของเวลามากที่สุด และ SuperVU ก็ทำบางสิ่งที่คล้ายกันเป็นค่าตั้งต้น"
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:174
msgid "!ContextTip:Speedhacks:vuThread"
msgstr ""
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:195
msgid "!ContextTip:Speedhacks:INTC"
msgstr ""
"แฮ็คนี้ทำงานได้ดีที่สุดสำหรับเกมที่ใช้การลงทะเบียน INTC Status เพื่อรอ vsyncs ซึ่งรวมถึงแนว RPG non-3D โดยส่วนมาก\n"
"เกมที่ไม่ใช้วิธีการนี้ของ vsync จะเห็นความเร็วไม่เพิ่มขึ้นหรือเพิ่มเล็กน้อยจากแฮ็คนี้"
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:200
msgid "!ContextTip:Speedhacks:BIFC0"
msgstr ""
"เริ่มแรกพุ่งเป้าไปยัง EE idle loop ที่ตำแหน่ง 0x81FC0 ใน kernel, แฮ็คนี้พยายาม\n"
"ตรวจจับ loop ที่มีการการันตีส่วนหลัก เพื่อส่งผลให้เกิดสถานภาพเครื่องเหมือนเดิมในทุก ๆ การทำซ้ำ\n"
"จนกระทั่งเหตุการณ์ที่ลำดับไว้กระตุ้นการจำลองของหน่วยอื่น หลังจากการทำซ้ำ ๆ ของ loop นั้น\n"
"เราก้าวไปสู่เวลาของเหตุการณ์ถัดไปหรือจุดสิ้นสุดของตัวแบ่งเวลาของตัวประมวลผล, อันไหนก็ตามที่มาก่อน"
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:207
msgid "!ContextTip:Speedhacks:fastCDVD"
msgstr ""
"ตรวจสอบรายการเข้ากันได้ของ HDLoader สำหรับเกมที่ทราบและมีการออกสิ่งนี้ไว้ \n"
"(มักจะทำหมายเหตุว่า ความต้องการ 'mode 1' หรือ 'slow DVD') "
#: pcsx2/gui/Panels/VideoPanel.cpp:37
msgid "!ContextTip:Framelimiter:Disable"
msgstr "หมายเหตุ เมื่อการจำกัดเฟรมไม่ถูกใช้งาน โหมดเทอร์โบและโหมดเคลื่อนไหวช้า จะไม่มีผลทั้งคู่เช่นกัน"
#: pcsx2/gui/Panels/VideoPanel.cpp:227
msgid "!Panel:Frameskip:Heading"
msgstr ""
"แจ้ง: เนื่องด้วยการออกแบบเครื่อง PS2, การข้ามเฟรมแบบแม่นยำจึงเป็นไปไม่ได้ \n"
"การใช้มันจะเกิดความผิดพลาดที่รุนแรงของกราฟิกในบางเกม"
#: pcsx2/gui/Panels/VideoPanel.cpp:306
msgid "!ContextTip:GS:SyncMTGS"
msgstr ""
"ลบตัวรบกวน benchmark ใด ๆ ที่เกิดจากสายงาน MTGS หรือเหนือหัว GPU ตัวเลือกนี้จะดีที่สุดถ้าใช้ร่วมกับ\n"
"การบันทึกสถานภาพ: บันทึกสถานภาพที่สภาวะในอุดมคติ, ใช้งานตัวเลือกนี้ และโหลดบันทึกสถานภาพอีกครั้ง \n"
"\n"
"คำเตือน: ตัวเลือกนี้สามารถเลือกใช้ตอนไหนก็ได้ แต่จะไม่สามารถเลิกการใช้ตอนไหนก็ได้ (วิดีโอจะมีลักษณะแย่)"
#: pcsx2/gui/Panels/VideoPanel.cpp:310
msgid "!ContextTip:GS:DisableOutput"
msgstr ""
"ลบตัวรบกวน benchmark ใด ๆ ที่เกิดจากสายงาน MTGS หรือเหนือหัว GPU ตัวเลือกนี้จะดีที่สุดถ้าใช้ร่วมกับ\n"
"การบันทึกสถานภาพ: บันทึกสถานภาพที่สภาวะในอุดมคติ, ใช้งานสิ่งนี้ และโหลดบันทึกสถานภาพอีกครั้ง \n"
"\n"
"คำเตือน: ตัวเลือกนี้สามารถถูกใช้ตอนไหนก็ได้ แต่ไม่สามารถยกเลิกตอนไหนก็ได้ (วิดีโอมักจะมีลักษณะแย่) \""
#: pcsx2/vtlb.cpp:710
msgid "!Notice:HostVmReserve"
msgstr ""
"ระบบของคุณช้าเกินไปที่จะเป็นแหล่งทรัพยากรจำลองสำหรับ PCSX2 ในการรัน \n"
"นี่อาจเกิดจาก swapfile เล็กหรือไม่ถูกใช้งาน หรือเพราะโปรแกรมอื่นที่กินทรัพยากร"
#: pcsx2/x86/sVU_zerorec.cpp:363
msgid "!Notice:superVU:VirtualMemoryAlloc"
msgstr ""
"หน่วยความจำหมด (sorta), รีคอมไพเลอร์ SuperVU ไม่สามารถสงวนช่วงหน่วยความจำจำเพาะที่ต้องการ\n"
"และไม่เหลือให้ใช้การได้ นี่ไม่ใช่ความผิดพลาดที่วิกฤต นับตั้งแต่ \n"
"sVU rec นั้นล้าสมัยแล้ว ถึงกระนั้นคุณควรใช้ microVU แทน :)"

2429
locales/th_TH/pcsx2_Main.po Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PCSX2 0.9.9\n"
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
"POT-Creation-Date: 2012-05-07 17:46+0200\n"
"PO-Revision-Date: 2011-09-08 19:40+0800\n"
"POT-Creation-Date: 2012-07-07 10:43+0200\n"
"PO-Revision-Date: 2012-06-27 14:19+0800\n"
"Last-Translator: 呆丸北拜\n"
"Language-Team: pcsx2fan\n"
"Language: \n"
@@ -1056,7 +1056,7 @@ msgstr "載入預先定義的設置:"
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:228
#, c-format
msgid "Emulation Settings - %s"
msgstr "模擬器設定 - %s"
msgstr "模擬器選項 - %s"
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:237
msgid "EE/IOP"
@@ -1085,7 +1085,7 @@ msgstr "遊戲修正"
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:253
#, c-format
msgid "Components Selectors - %s"
msgstr "元件選擇 - %s"
msgstr "插件 / BIOS - %s"
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:260
msgid "Plugins"
@@ -2496,14 +2496,12 @@ msgid "Framelimiter"
msgstr "畫框限制"
#: pcsx2/gui/SysState.cpp:283
#, fuzzy
msgid "Cannot load this savestate. The state is an unsupported version."
msgstr "無法讀取即時存檔,檔案版本未知或不支援。"
msgstr "無法讀取即時存檔。即時存檔的版本不被支援。"
#: pcsx2/gui/SysState.cpp:290
#, fuzzy
msgid "Cannot load this savestate. The state is an unsupported version."
msgstr "無法讀取即時存檔,檔案版本未知或不支援。"
msgstr "無法讀取即時存檔。即時存檔的版本不被支援。"
#: pcsx2/gui/SysState.cpp:326
msgid "There is no active virtual machine state to download or save."
@@ -2560,6 +2558,30 @@ msgid ""
"SSE2 extensions."
msgstr "%s 指令集未找到。microVU 要求 CPU 支援 MMX、SSE、SSE2。"
#~ msgid ""
#~ "Good Speedup and High Compatibility; may cause garbage graphics, SPS, "
#~ "etc... [Recommended]"
#~ msgstr ""
#~ "不錯的速度提升而且相容性高;可能導致\n"
#~ "圖像變得垃圾、有尖刺的多邊形,等等...\n"
#~ "【推薦】"
#~ msgid "mVU Block Hack"
#~ msgstr "mVU Block Hack"
#~ msgid ""
#~ "Good Speedup and High Compatibility; may cause garbage graphics, SPS, "
#~ "etc..."
#~ msgstr ""
#~ "不錯的速度提升而且相容性高;可能導致\n"
#~ "圖像變得垃圾、有尖刺的多邊形,等等..."
#~ msgid ""
#~ "Good Speedup and High Compatibility; may cause bad graphics, SPS, etc..."
#~ msgstr ""
#~ "不錯的速度提升而且相容性高;可能導致\n"
#~ "圖像變得糟糕、有尖刺的多邊形,等等..."
#~ msgid ""
#~ "Cannot load this savestate. The state is from an incompatible edition of "
#~ "PCSX2 that is either newer than this version, or is no longer supported."
@@ -2574,30 +2596,6 @@ msgstr "%s 指令集未找到。microVU 要求 CPU 支援 MMX、SSE、SSE2。"
#~ "無法讀取即時存檔。即時存檔的版本不被支援,即時存檔可能是由比當前版本新的 "
#~ "PCSX2 建立。"
#~ msgid "mVU Block Hack"
#~ msgstr "mVU Block Hack"
#~ msgid ""
#~ "Good Speedup and High Compatibility; may cause bad graphics, SPS, etc..."
#~ msgstr ""
#~ "不錯的速度提升而且相容性高;可能導致\n"
#~ "圖像變得糟糕、有尖刺的多邊形,等等..."
#~ msgid ""
#~ "Good Speedup and High Compatibility; may cause garbage graphics, SPS, "
#~ "etc... [Recommended]"
#~ msgstr ""
#~ "不錯的速度提升而且相容性高;可能導致\n"
#~ "圖像變得垃圾、有尖刺的多邊形,等等...\n"
#~ "【推薦】"
#~ msgid ""
#~ "Good Speedup and High Compatibility; may cause garbage graphics, SPS, "
#~ "etc..."
#~ msgstr ""
#~ "不錯的速度提升而且相容性高;可能導致\n"
#~ "圖像變得垃圾、有尖刺的多邊形,等等..."
#~ msgid "Enable EE Cache - Interpreter Only! (Slower)"
#~ msgstr "啟用快取 - 僅用於直譯器!(速度更慢)"

View File

@@ -6,7 +6,7 @@
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "${APP_NAME}"
;VIAddVersionKey /LANG=${LANG_ENGLISH} "Comments" "A test comment"
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "<EFBFBD> 2011 PCSX2 Dev Team"
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "<EFBFBD> 2012 PCSX2 Dev Team"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "Installs PCSX2, a Playstation 2 Emulator for the PC."
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "${APP_VERSION}.${SVNREV_PACKAGE}"

View File

@@ -8,6 +8,9 @@
Section "Un.Program and Plugins ${APP_NAME}"
SetShellVarContext all
; First thing, remove the registry entry in case uninstall doesn't complete successfully
; otherwise, pcsx2 will be "confused" if it's re-installed later.
DeleteRegKey HKCU Software\PCSX2
!insertmacro UNINSTALL.LOG_UNINSTALL "$INSTDIR"
@@ -24,12 +27,11 @@ Section "Un.Program and Plugins ${APP_NAME}"
; Remove files and registry key that store PCSX2 paths configurations
SetShellVarContext current
Delete $DOCUMENTS\PCSX2\inis\PCSX2_ui.ini
DeleteRegKey HKCU Software\PCSX2
SectionEnd
; /o for optional and unticked by default
Section /o "Un.Program and Plugin configuration files"
Section /o "Un.Configuration files (Program and Plugins)"
SetShellVarContext current
RMDir /r "$DOCUMENTS\PCSX2\inis\"
@@ -37,9 +39,21 @@ Section /o "Un.Program and Plugin configuration files"
SectionEnd
; /o for optional and unticked by default
Section /o "Un.User files (Memory Cards, Savestates, BIOS, etc)"
Section /o "Un.User files (Memory Cards, Savestates, etc)"
SetShellVarContext current
RMDir /r "$DOCUMENTS\PCSX2\"
RMDir /r "$DOCUMENTS\PCSX2\inis\"
RMDir /r "$DOCUMENTS\PCSX2\logs\"
RMDir /r "$DOCUMENTS\PCSX2\memcards\"
RMDir /r "$DOCUMENTS\PCSX2\snaps\"
RMDir /r "$DOCUMENTS\PCSX2\sstates\"
SectionEnd
; /o for optional and unticked by default
Section /o "Un.BIOS files"
SetShellVarContext current
RMDir /r "$DOCUMENTS\PCSX2\bios\"
SectionEnd

View File

@@ -44,7 +44,7 @@
; uninstall folders.
!ifndef APP_VERSION
!define APP_VERSION "0.9.8"
!define APP_VERSION "1.0.0"
!endif
!define APP_NAME "PCSX2 ${APP_VERSION} (r${SVNREV_PACKAGE})"

View File

@@ -2,31 +2,37 @@
PCSX2 NSIS Installer Instructions
-------------------------------------
* Install NSIS (tested with 2.46)
* Install NSIS (tested with 2.46), make sure to include the "Modern User Interface"
* Install NSIS Script: Advanced Uninstall Log (you can find it on NSIS wiki)
( Currently at http://nsis.sourceforge.net/Advanced_Uninstall_Log_NSIS_Header )
* Download the Visual C++ 2008 SP1 Redistributable and save it to this nsis/ folder under the name:
vcredist_2008_sp1_x86.exe
/*******
-- Not needed as we now build using VS2010 --:
* Download the Visual C++ 2008 SP1 Redistributable and save it to this nsis/ folder under the name:
vcredist_2008_sp1_x86.exe ( http://download.microsoft.com/download/d/d/9/dd9a82d0-52ef-40db-8dab-795376989c03/vcredist_x86.exe )
*******/
* Download the Visual C++ 2010 Redistributable and save it to this nsis/ folder.
vcredist_2010_x86.exe
* Download the Visual C++ 2010 SP1 Redistributable and save it to this nsis/ folder.
( http://download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe )
Rename the download to "vcredist_2010_sp1_x86.exe".
[both files can be obtained from Microsoft's website, just google for them]
* Download the DirectX Web Installer (vcwebsetup.exe) from Microsoft's website and save it to
this nsis/ folder. (currently required, might be made optional later). No name change is
required.
* Download the DirectX Web Installer (dxwebsetup.exe) from Microsoft's website and save it to
this nsis/ folder. (currently required, might be made optional later).
( http://download.microsoft.com/download/1/7/1/1718CCC4-6315-4D8E-9543-8E28A4E18C4C/dxwebsetup.exe )
No name change is required.
* Load the PCSX2 Suite solution and rebuild all in the following targets:
* Release SSE2
* Release SSSE3 (only needed if packaging plugins)
* Release SSE4 (only needed if packaging plugins)
* Release AVX (only needed if packaging plugins)
* Devel (optional)
You may selectively unload plugins you do not wish to package prior to running the NSIS
script.
* Compile script! Output executable will be generated to the output/ folder.
* Compile scripts (pcsx2_web_install.nsi and pcsx2_full_install.nsi)!
Output executables will be generated to the output/ folder.
--------------------------------------------
@@ -37,7 +43,7 @@ The installer will include plugins only if they are present. If you do not buil
remove some (or all) plugins before running the nsis script, only PCSX2 and whatever remaining
plugins will be packaged.
GSdx SSE2, SSSE3, and SSE4 versions are all included into the installer *if* they are present.
GSdx SSE2, SSSE3, SSE4 and AVX versions are all included into the installer *if* they are present.
You will need to follow the above instructions and compile all release targets to get all the
GSdx DLLs.

View File

@@ -2,16 +2,16 @@
; PCSX2 Full/Complete Install Package!
; (a NSIS installer script)
;
; Copyright 2009-2011 PCSX2 Dev Team
; Copyright 2009-2012 PCSX2 Dev Team
;
!ifndef INC_CRT_2008
; Set to 0 to disable inclusion of Visual Studio 2008 SP1 CRT Redists
!define INC_CRT_2008 1
!define INC_CRT_2008 0
!endif
!ifndef INC_CRT_2010
; Set to 0 to disable inclusion of Visual Studio 2010 CRT Redists
; Set to 0 to disable inclusion of Visual Studio 2010 SP1 CRT Redists
!define INC_CRT_2010 1
!endif
@@ -57,10 +57,11 @@ Section "!${APP_NAME} (required)" SEC_CORE
SetOutPath "$INSTDIR\Plugins"
!insertmacro UNINSTALL.LOG_OPEN_INSTALL
File /nonfatal /oname=gsdx-sse2-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx-sse2.dll
File /nonfatal /oname=gsdx-ssse3-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx-ssse3.dll
File /nonfatal /oname=gsdx-sse4-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx-sse4.dll
File /nonfatal /oname=zerogs-r${SVNREV_ZEROGS}.dll ..\bin\Plugins\zerogs.dll
File /nonfatal /oname=gsdx32-sse2-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx32-sse2.dll
File /nonfatal /oname=gsdx32-ssse3-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx32-ssse3.dll
File /nonfatal /oname=gsdx32-sse4-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx32-sse4.dll
File /nonfatal /oname=gsdx32-avx-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx32-avx.dll
File /nonfatal /oname=zerogs-r${SVNREV_ZEROGS}.dll ..\bin\Plugins\zerogs.dll
File /nonfatal /oname=spu2-x-r${SVNREV_SPU2X}.dll ..\bin\Plugins\spu2-x.dll
File /nonfatal /oname=zerospu2-r${SVNREV_ZEROSPU2}.dll ..\bin\Plugins\zerospu2.dll
@@ -82,14 +83,14 @@ SectionEnd
; -----------------------------------------------------------------------
; MSVC Redistributable - required if the user does not already have it
; Note: if your NSIS generates an error here it means you need to download the latest
; visual studio redist package from microsoft. Any redist 2008/SP1 or newer will do.
; visual studio redist package from microsoft.
;
; IMPORTANT: Online references for how to detect the presence of the VS2008 redists LIE.
; None of the methods are reliable, because the registry keys placed by the MSI installer
; vary depending on operating system *and* MSI installer version (youch).
;
!if ${INC_CRT_2008} > 0
Section "Microsoft Visual C++ 2008 SP1 Redist (required)" SEC_CRT2008
Section "Microsoft Visual C++ 2008 SP1 Redist" SEC_CRT2008
SectionIn RO
@@ -108,7 +109,7 @@ SectionEnd
!endif
!if ${INC_CRT_2010} > 0
Section "Microsoft Visual C++ 2010 Redist (recommended)" SEC_CRT2010
Section "Microsoft Visual C++ 2010 SP1 Redist" SEC_CRT2010
;SectionIn RO
@@ -116,7 +117,7 @@ Section "Microsoft Visual C++ 2010 Redist (recommended)" SEC_CRT2010
; independent key for checking availability.
; Downloaded from:
; http://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B14A-475AB85EEF6E/vcredist_x86.exe
; http://download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe
ClearErrors
ReadRegDword $R0 HKLM "SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\x86" "Installed"
@@ -127,12 +128,12 @@ Section "Microsoft Visual C++ 2010 Redist (recommended)" SEC_CRT2010
Goto done
SetOutPath "$TEMP"
File "vcredist_2010_x86.exe"
DetailPrint "Running Visual C++ 2010 Redistributable Setup..."
ExecWait '"$TEMP\vcredist_2010_x86.exe" /qb'
DetailPrint "Finished Visual C++ 2010 Redistributable Setup"
File "vcredist_2010_sp1_x86.exe"
DetailPrint "Running Visual C++ 2010 SP1 Redistributable Setup..."
ExecWait '"$TEMP\vcredist_2010_sp1_x86.exe" /qb'
DetailPrint "Finished Visual C++ 2010 SP1 Redistributable Setup"
Delete "$TEMP\vcredist_2010_x86.exe"
Delete "$TEMP\vcredist_2010_sp1_x86.exe"
done:
SectionEnd
@@ -145,7 +146,7 @@ SectionEnd
; This section could be optional, but why not? It's pretty painless to double-check that
; all the libraries are up-to-date.
;
Section "DirectX Web Setup (recommended)" SEC_DIRECTX
Section "DirectX Web Setup" SEC_DIRECTX
;SectionIn RO
@@ -167,7 +168,7 @@ LangString DESC_STARTMENU ${LANG_ENGLISH} "Adds shortcuts for PCSX2 to the star
LangString DESC_DESKTOP ${LANG_ENGLISH} "Adds a shortcut for PCSX2 to the desktop (all users)."
LangString DESC_CRT2008 ${LANG_ENGLISH} "Required by the PCSX2 binaries packaged in this installer."
LangString DESC_CRT2010 ${LANG_ENGLISH} "This may be used by future PCSX2 plugins and updates, but is not (yet) necessary."
LangString DESC_CRT2010 ${LANG_ENGLISH} "Required by the PCSX2 binaries packaged in this installer."
LangString DESC_DIRECTX ${LANG_ENGLISH} "Only uncheck this if you are quite certain your Direct3D runtimes are up to date."
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN

View File

@@ -2,7 +2,7 @@
; PCSX2 Web-based Install Package!
; (a NSIS installer script)
;
; Copyright 2009-2011 PCSX2 Dev Team
; Copyright 2009-2012 PCSX2 Dev Team
;
; The installer generated by this script will download all relevant components for
; PCSX2 from a variety of mirror hosts. Packages are only downloaded on an as-needed
@@ -53,10 +53,11 @@ Section "!${APP_NAME} (required)" SEC_CORE
SetOutPath "$INSTDIR\Plugins"
!insertmacro UNINSTALL.LOG_OPEN_INSTALL
File /nonfatal /oname=gsdx-sse2-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx-sse2.dll
File /nonfatal /oname=gsdx-ssse3-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx-ssse3.dll
File /nonfatal /oname=gsdx-sse4-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx-sse4.dll
File /nonfatal /oname=zerogs-r${SVNREV_ZEROGS}.dll ..\bin\Plugins\zerogs.dll
File /nonfatal /oname=gsdx32-sse2-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx32-sse2.dll
File /nonfatal /oname=gsdx32-ssse3-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx32-ssse3.dll
File /nonfatal /oname=gsdx32-sse4-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx32-sse4.dll
File /nonfatal /oname=gsdx32-avx-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx32-avx.dll
File /nonfatal /oname=zerogs-r${SVNREV_ZEROGS}.dll ..\bin\Plugins\zerogs.dll
File /nonfatal /oname=spu2-x-r${SVNREV_SPU2X}.dll ..\bin\Plugins\spu2-x.dll
File /nonfatal /oname=zerospu2-r${SVNREV_ZEROSPU2}.dll ..\bin\Plugins\zerospu2.dll
@@ -99,13 +100,14 @@ SectionEnd
; -----------------------------------------------------------------------
; MSVC Redistributable - required if the user does not already have it
; Note: if your NSIS generates an error here it means you need to download the latest
; visual studio redist package from microsoft. Any redist 2008/SP1 or newer will do.
; visual studio redist package from microsoft.
;
; IMPORTANT: Online references for how to detect the presence of the VS2008 redists LIE.
; None of the methods are reliable, because the registry keys placed by the MSI installer
; vary depending on operating system *and* MSI installer version (youch).
;
Section "Microsoft Visual C++ 2008 SP1 Redist (required)" SEC_CRT2008
!if 0 ; Not required anymore, we're compiling with vs2010 (there's another commented out section below. search "SEC_CRT2008").
Section "Microsoft Visual C++ 2008 SP1 Redist" SEC_CRT2008
;SectionIn RO
@@ -142,8 +144,9 @@ OnSuccess:
done:
SectionEnd
!endif
Section "Microsoft Visual C++ 2010 Redist (required)" SEC_CRT2010
Section "Microsoft Visual C++ 2010 SP1 Redist" SEC_CRT2010
; Make this required on the web installer, since it has a fully reliable check to
; see if it needs to be downloaded and installed or not.
@@ -153,7 +156,7 @@ Section "Microsoft Visual C++ 2010 Redist (required)" SEC_CRT2010
; independent key for checking availability.
; Downloaded from:
; http://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B14A-475AB85EEF6E/vcredist_x86.exe
; http://download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe
ClearErrors
ReadRegDword $R0 HKLM "SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\x86" "Installed"
@@ -165,15 +168,15 @@ Section "Microsoft Visual C++ 2010 Redist (required)" SEC_CRT2010
SetOutPath "$TEMP"
DetailPrint "Downloading Visual C++ 2010 Redistributable Setup..."
DetailPrint "Downloading Visual C++ 2010 SP1 Redistributable Setup..."
DetailPrint "Contacting Microsoft.com..."
NSISdl::download /TIMEOUT=15000 "http://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B14A-475AB85EEF6E/vcredist_x86.exe" "vcredist_2010_x86.exe"
NSISdl::download /TIMEOUT=15000 "http://download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe" "vcredist_2010_sp1_x86.exe"
Pop $R0 ;Get the return value
StrCmp $R0 "success" OnSuccess
DetailPrint "Cound not contact Microsoft.com, or the file has been (re)moved!"
DetailPrint "Contacting Googlecode.com..."
NSISdl::download /TIMEOUT=20000 "http://pcsx2.googlecode.com/files/vcredist_2010_x86.exe" "vcredist_2010_x86.exe"
NSISdl::download /TIMEOUT=20000 "http://pcsx2.googlecode.com/files/vcredist_2010_sp1_x86.exe" "vcredist_2010_sp1_x86.exe"
; [TODO] Provide a mirror for this file hosted from pcsx2.net .. ? or emudev.net .. ?
;Pop $R0 ;Get the return value
@@ -182,15 +185,15 @@ Section "Microsoft Visual C++ 2010 Redist (required)" SEC_CRT2010
Pop $R0 ;Get the return value
StrCmp $R0 "success" +2
MessageBox MB_OK "Could not download Visual Studio 2010 Redist; none of the mirrors appear to be functional."
MessageBox MB_OK "Could not download Visual Studio 2010 SP1 Redist; none of the mirrors appear to be functional."
Goto done
OnSuccess:
DetailPrint "Running Visual C++ 2010 SP1 Redistributable Setup..."
ExecWait '"$TEMP\vcredist_2010_x86.exe" /qb'
ExecWait '"$TEMP\vcredist_2010_sp1_x86.exe" /qb'
DetailPrint "Finished Visual C++ 2010 SP1 Redistributable Setup"
Delete "$TEMP\vcredist_2010_x86.exe"
Delete "$TEMP\vcredist_2010_sp1_x86.exe"
done:
SectionEnd
@@ -202,7 +205,7 @@ SectionEnd
; This section could be optional, but why not? It's pretty painless to double-check that
; all the libraries are up-to-date.
;
Section "DirectX Web Setup (recommended)" SEC_DIRECTX
Section "DirectX Web Setup" SEC_DIRECTX
;SectionIn RO
@@ -258,7 +261,9 @@ LangString DESC_DIRECTX ${LANG_ENGLISH} "Only uncheck this if you are quite c
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_STARTMENU} $(DESC_STARTMENU)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_DESKTOP} $(DESC_DESKTOP)
!if 0
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_CRT2008} $(DESC_CRT2008)
!endif
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_CRT2010} $(DESC_CRT2010)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_DIRECTX} $(DESC_DIRECTX)
!insertmacro MUI_FUNCTION_DESCRIPTION_END

View File

@@ -110,7 +110,7 @@ static __fi void gsCSRwrite( const tGS_CSR& csr )
}
else CSRreg.SIGNAL = false;
gifUnit.gsSIGNAL.queued = false;
gifUnit.Execute(); // Resume paused transfers
gifUnit.Execute(false); // Resume paused transfers
}
if(csr.FINISH) CSRreg.FINISH = false;
@@ -121,23 +121,12 @@ static __fi void gsCSRwrite( const tGS_CSR& csr )
static __fi void IMRwrite(u32 value)
{
GSIMR = (value & 0x1f00)|0x6000;
if(CSRreg.GetInterruptMask() & (~(GSIMR >> 8) & 0x1f))
gsIrq();
GUNIT_LOG("IMRwrite()");
if (gifUnit.gsSIGNAL.queued && !(GSIMR & 0x100)) {
// Note: PS2 apps are expected to write a successive 1 and 0 to the IMR in order to
// trigger the gsInt and clear the second pending SIGNAL interrupt -- if they fail
// to do so, the GS will freeze again upon the very next SIGNAL).
//
// What's not known here is whether or not the SIGID register should be updated
// here or when the GS is resumed during CSR write (above).
CSRreg.SIGNAL = true;
if (CSRreg.GetInterruptMask() & (~value & GSIMR) >> 8)
gsIrq();
}
GSIMR = (value & 0x1f00)|0x6000;
}
__fi void gsWrite8(u32 mem, u8 value)

View File

@@ -57,13 +57,14 @@ __fi void gifInterrupt()
if(vif1Regs.stat.VGW)
{
CPU_INT(DMAC_VIF1, 1);
//Check if VIF is in a cycle or is currently "idle" waiting for GIF to come back.
if(!(cpuRegs.interrupt & (1<<DMAC_VIF1)))
CPU_INT(DMAC_VIF1, 1);
if(!gifUnit.Path3Masked())
CPU_INT(DMAC_GIF, 16);
if(!gspath3done || gifch.qwc > 0) return;
CPU_INT(DMAC_GIF, 16);
return;
}
}
if (dmacRegs.ctrl.MFD == MFD_GIF) { // GIF MFIFO

View File

@@ -473,7 +473,7 @@ struct Gif_Unit {
}
if (tranType == GIF_TRANS_MTVU) { // This is on the EE thread
path1.mtvu.fakePackets++;
if (CanDoGif()) Execute();
if (CanDoGif()) Execute(false);
return 0;
}
}
@@ -502,7 +502,7 @@ struct Gif_Unit {
}
gifPath[tranType&3].CopyGSPacketData(pMem, size, aligned);
size -= Execute();
size -= Execute(tranType == GIF_TRANS_DMA);
return size;
}
@@ -540,10 +540,11 @@ struct Gif_Unit {
// Processes gif packets and performs path arbitration
// on EOPs or on Path 3 Images when IMT is set.
int Execute() {
int Execute(bool isPath3) {
if (!CanDoGif()) { DevCon.Error("Gif Unit - Signal or PSE Set or Dir = GS to EE"); return 0; }
bool didPath3 = false;
int curPath = stat.APATH > 0 ? stat.APATH-1 : 0; //Init to zero if no path is already set.
gifPath[2].dmaRewind = 0;
stat.OPH = 1;
for(;;) {
@@ -579,10 +580,10 @@ struct Gif_Unit {
//DevCon.WriteLn("Adding GS Packet for path %d", stat.APATH);
AddCompletedGSPacket(gsPack, (GIF_PATH)(stat.APATH-1));
}
if (!gsSIGNAL.queued && !gifPath[0].isDone()) { stat.APATH = 1; stat.P1Q = 0; gifPath[0].dmaRewind = 0; curPath = 0; }
elif (!gsSIGNAL.queued && !gifPath[1].isDone()) { stat.APATH = 2; stat.P2Q = 0; gifPath[1].dmaRewind = 0; curPath = 1; }
if (!gsSIGNAL.queued && !gifPath[0].isDone()) { stat.APATH = 1; stat.P1Q = 0; curPath = 0; }
elif (!gsSIGNAL.queued && !gifPath[1].isDone()) { stat.APATH = 2; stat.P2Q = 0; curPath = 1; }
elif (!gsSIGNAL.queued && !gifPath[2].isDone() && !Path3Masked() /*&& !stat.P2Q*/)
{ stat.APATH = 3; stat.P3Q = 0; stat.IP3 = 0; gifPath[2].dmaRewind = 0; curPath = 2; }
{ stat.APATH = 3; stat.P3Q = 0; stat.IP3 = 0; curPath = 2; }
else { stat.APATH = 0; stat.OPH = 0; break; }
}
@@ -597,7 +598,10 @@ struct Gif_Unit {
Gif_FinishIRQ();
//Path3 can rewind the DMA, so we send back the amount we go back!
return gifPath[curPath].dmaRewind;
if(isPath3)
return gifPath[2].dmaRewind;
else
return 0;
}
// XGkick

View File

@@ -71,7 +71,7 @@ void vif1TransferToMemory()
pMem += size;
if(pMem < pMemEnd) {
DevCon.Warning("GS Transfer < VIF QWC, Clearing end of space");
//DevCon.Warning("GS Transfer < VIF QWC, Clearing end of space");
__m128 zeroreg = _mm_setzero_ps();
do {
@@ -313,41 +313,34 @@ __fi void vif1Interrupt()
vif1Regs.stat.VPS = VPS_IDLE;
}
if (!vif1.done)
{
if (!(dmacRegs.ctrl.DMAE))
{
Console.WriteLn("vif1 dma masked");
return;
}
if ((vif1.inprogress & 0x1) == 0) vif1SetupTransfer();
if (vif1ch.chcr.DIR) vif1Regs.stat.FQC = min(vif1ch.qwc, (u16)16);
if(vif1.waitforvu == true)
{
//DevCon.Warning("Waiting on VU1");
return;
}
}
if (vif1.inprogress & 0x1)
{
_VIF1chain();
// VIF_NORMAL_FROM_MEM_MODE is a very slow operation.
// Timesplitters 2 depends on this being a bit higher than 128.
if (vif1ch.chcr.DIR) vif1Regs.stat.FQC = min(vif1ch.qwc, (u16)16);
}
{
_VIF1chain();
// VIF_NORMAL_FROM_MEM_MODE is a very slow operation.
// Timesplitters 2 depends on this beeing a bit higher than 128.
if (vif1ch.chcr.DIR) vif1Regs.stat.FQC = min(vif1ch.qwc, (u16)16);
if(!(vif1Regs.stat.VGW && gifUnit.gifPath[GIF_PATH_3].state != GIF_PATH_IDLE)) //If we're waiting on GIF, stop looping, (can be over 1000 loops!)
CPU_INT(DMAC_VIF1, g_vif1Cycles);
return;
}
if(g_vif1Cycles > 0 || vif1ch.qwc)
{
if(!(vif1Regs.stat.VGW && gifUnit.gifPath[GIF_PATH_3].state != GIF_PATH_IDLE)) //If we're waiting on GIF, stop looping, (can be over 1000 loops!)
CPU_INT(DMAC_VIF1, max((int)g_vif1Cycles, 8));
if (!vif1.done)
{
return;
if (!(dmacRegs.ctrl.DMAE))
{
Console.WriteLn("vif1 dma masked");
return;
}
if ((vif1.inprogress & 0x1) == 0) vif1SetupTransfer();
if (vif1ch.chcr.DIR) vif1Regs.stat.FQC = min(vif1ch.qwc, (u16)16);
if(!(vif1Regs.stat.VGW && gifUnit.gifPath[GIF_PATH_3].state != GIF_PATH_IDLE)) //If we're waiting on GIF, stop looping, (can be over 1000 loops!)
CPU_INT(DMAC_VIF1, g_vif1Cycles);
return;
}
else if(vif1Regs.stat.VPS == VPS_TRANSFERRING) DevCon.Warning("Cycles %x, cmd %x, qwc %x, waitonvu %x", g_vif1Cycles, vif1.cmd, vif1ch.qwc, vif1.waitforvu);
if (vif1.vifstalled && vif1.irq)
{

View File

@@ -459,7 +459,7 @@ AppConfig::AppConfig()
#ifdef __WXMSW__
McdCompressNTFS = true;
#endif
EnableSpeedHacks = false;
EnableSpeedHacks = true;
EnableGameFixes = false;
EnablePresets = false;

View File

@@ -246,6 +246,14 @@ static int loadGameSettings(Pcsx2Config& dest, const Game_Data& game, bool verbo
gf++;
}
if (game.keyExists("mvuFlagSpeedHack")) {
bool vuFlagHack = game.getInt("mvuFlagSpeedHack") ? 1 : 0;
if(verbose) Console.WriteLn("(GameDB) Changing mVU flag speed hack [mode=%d]", vuFlagHack);
dest.Speedhacks.vuFlagHack = vuFlagHack;
gf++;
}
for( GamefixId id=GamefixId_FIRST; id<pxEnumEnd; ++id )
{
wxString key( EnumToString(id) );

View File

@@ -912,7 +912,6 @@ void Pcsx2App::OnGsFrameClosed( wxWindowID id )
if( (m_id_GsFrame == wxID_ANY) || (m_id_GsFrame != id) ) return;
CoreThread.Suspend();
m_id_GsFrame = wxID_ANY;
if( !m_UseGUI )
{

View File

@@ -49,7 +49,7 @@ Dialogs::AboutBoxDialog::AboutBoxDialog( wxWindow* parent )
L"\n\n"
L"%s: Bositman, ChaosCode, "
L"CKemu, crushtest, GeneralPlot, "
L"Krakatos, Parotaku, Rudy_X"
L"Krakatos, Parotaku, prafull, Rudy_X"
L"\n\n"
L"%s: CKemu, Falcon4ever",
_("Previous versions"), _("Betatesting"), _("Webmasters"));

View File

@@ -410,7 +410,7 @@ GSFrame::~GSFrame() throw()
void GSFrame::OnCloseWindow(wxCloseEvent& evt)
{
sApp.OnGsFrameClosed( GetId() );
evt.Skip(); // and close it.
Hide(); // and don't close it.
}
bool GSFrame::ShowFullScreen(bool show, long style)

View File

@@ -16,8 +16,11 @@
#include <stdio.h>
#include "CDVD.h"
#ifdef _MSC_VER
# include "svnrev.h"
#endif
const char *LibName = "CDVDnull Driver";
static char libraryName[256];
const unsigned char version = PS2E_CDVD_VERSION;
const unsigned char revision = 0;
@@ -25,7 +28,12 @@ const unsigned char build = 6;
EXPORT_C_(char*) PS2EgetLibName()
{
return (char *)LibName;
#ifdef _MSC_VER
sprintf_s( libraryName, "CDVDnull Driver r%d%s",SVN_REV, SVN_MODS ? "m" : "");
return libraryName;
#else
return "CDVDnull Driver";
#endif
}
EXPORT_C_(u32) PS2EgetLibType()
@@ -114,7 +122,7 @@ EXPORT_C_(void) CDVDconfigure()
EXPORT_C_(void) CDVDabout()
{
SysMessage("%s %d.%d", LibName, revision, build);
SysMessage("%s %d.%d", "CDVDnull Driver", revision, build);
}
EXPORT_C_(s32) CDVDtest()

View File

@@ -46,7 +46,6 @@ extern const unsigned char version;
extern const unsigned char revision;
extern const unsigned char build;
extern const unsigned int minor;
extern const char *LibName;
extern void SysMessage(const char *fmt, ...);
#endif /* __CDVD_H__ */

View File

@@ -21,12 +21,15 @@
using namespace std;
#include "FW.h"
#ifdef _MSC_VER
# include "svnrev.h"
#endif
const u8 version = PS2E_FW_VERSION;
const u8 revision = 0;
const u8 build = 7; // increase that with each version
static char *libraryName = "FWnull Driver";
static char libraryName[256];
string s_strIniPath="inis";
string s_strLogPath = "logs";
@@ -62,7 +65,12 @@ EXPORT_C_(u32) PS2EgetLibType()
EXPORT_C_(char*) PS2EgetLibName()
{
return libraryName;
#ifdef _MSC_VER
sprintf_s( libraryName, "FWnull Driver r%d%s",SVN_REV, SVN_MODS ? "m" : "");
return libraryName;
#else
return "FWnull Driver";
#endif
}
EXPORT_C_(u32) PS2EgetLibVersion2(u32 type)

View File

@@ -10,6 +10,7 @@ endif(NOT TOP_CMAKE_WAS_SOURCED)
set(Output GSdx-0.1.16)
set(CommonFlags
-DOGL_MT_HACK
-D_LINUX
-fno-operator-names
-mpreferred-stack-boundary=2
@@ -49,6 +50,10 @@ if(CMAKE_BUILD_TYPE STREQUAL Release)
add_definitions(${CommonFlags} ${SDLFlags} ${OptimizationFlags} -W)
endif(CMAKE_BUILD_TYPE STREQUAL Release)
if(XDG_STD)
add_definitions(-DXDG_STD)
endif(XDG_STD)
set(GSdxSources
GPU.cpp
GPUDrawScanline.cpp

View File

@@ -55,7 +55,11 @@ extern bool RunLinuxDialog();
#define PS2E_X86 0x01 // 32 bit
#define PS2E_X86_64 0x02 // 64 bit
#ifdef OGL_MT_HACK
GSRenderer* s_gs = NULL;
#else
static GSRenderer* s_gs = NULL;
#endif
static void (*s_irq)() = NULL;
static uint8* s_basemem = NULL;
static int s_renderer = -1;
@@ -422,130 +426,206 @@ EXPORT_C_(int) GSopen(void** dsp, char* title, int mt)
EXPORT_C GSreset()
{
s_gs->Reset();
try
{
s_gs->Reset();
}
catch (GSDXRecoverableError)
{
}
}
EXPORT_C GSgifSoftReset(uint32 mask)
{
s_gs->SoftReset(mask);
try
{
s_gs->SoftReset(mask);
}
catch (GSDXRecoverableError)
{
}
}
EXPORT_C GSwriteCSR(uint32 csr)
{
s_gs->WriteCSR(csr);
try
{
s_gs->WriteCSR(csr);
}
catch (GSDXRecoverableError)
{
}
}
EXPORT_C GSreadFIFO(uint8* mem)
{
#ifdef _LINUX
// FIXME: double check which thread call this function
// See fifo2 issue below
if (theApp.GetConfig("renderer", 0) / 3 == 4) {
fprintf(stderr, "Disable FIFO1 on opengl\n");
try
{
#ifdef OGL_MT_HACK
// FIXME: double check which thread call this function
// See fifo2 issue below
#ifdef OGL_DEBUG
if (theApp.GetConfig("renderer", 0) / 3 == 4) fprintf(stderr, "Disable FIFO1 on opengl\n");
#endif
s_gs->m_wnd.AttachContext();
#endif
s_gs->ReadFIFO(mem, 1);
#ifdef OGL_MT_HACK
s_gs->m_wnd.DetachContext();
#endif
}
catch (GSDXRecoverableError)
{
}
s_gs->m_wnd.AttachContext();
#endif
s_gs->ReadFIFO(mem, 1);
#ifdef _LINUX
s_gs->m_wnd.DetachContext();
#endif
}
EXPORT_C GSreadFIFO2(uint8* mem, uint32 size)
{
#ifdef _LINUX
// FIXME called from EE core thread not MTGS which cause
// invalidate data for opengl
if (theApp.GetConfig("renderer", 0) / 3 == 4) {
try
{
#ifdef OGL_MT_HACK
// FIXME called from EE core thread not MTGS which cause
// invalidate data for opengl
#ifdef OGL_DEBUG
fprintf(stderr, "Disable FIFO2(%d) on opengl\n", size);
if (theApp.GetConfig("renderer", 0) / 3 == 4) fprintf(stderr, "Disable FIFO2(%d) on opengl\n", size);
#endif
s_gs->m_wnd.AttachContext();
#endif
s_gs->ReadFIFO(mem, size);
#ifdef OGL_MT_HACK
s_gs->m_wnd.DetachContext();
#endif
//return;
}
s_gs->m_wnd.AttachContext();
#endif
s_gs->ReadFIFO(mem, size);
#ifdef _LINUX
s_gs->m_wnd.DetachContext();
#endif
catch (GSDXRecoverableError)
{
}
}
EXPORT_C GSgifTransfer(const uint8* mem, uint32 size)
{
s_gs->Transfer<3>(mem, size);
try
{
s_gs->Transfer<3>(mem, size);
}
catch (GSDXRecoverableError)
{
}
}
EXPORT_C GSgifTransfer1(uint8* mem, uint32 addr)
{
s_gs->Transfer<0>(const_cast<uint8*>(mem) + addr, (0x4000 - addr) / 16);
try
{
s_gs->Transfer<0>(const_cast<uint8*>(mem) + addr, (0x4000 - addr) / 16);
}
catch (GSDXRecoverableError)
{
}
}
EXPORT_C GSgifTransfer2(uint8* mem, uint32 size)
{
s_gs->Transfer<1>(const_cast<uint8*>(mem), size);
try
{
s_gs->Transfer<1>(const_cast<uint8*>(mem), size);
}
catch (GSDXRecoverableError)
{
}
}
EXPORT_C GSgifTransfer3(uint8* mem, uint32 size)
{
s_gs->Transfer<2>(const_cast<uint8*>(mem), size);
try
{
s_gs->Transfer<2>(const_cast<uint8*>(mem), size);
}
catch (GSDXRecoverableError)
{
}
}
EXPORT_C GSvsync(int field)
{
try
{
#ifdef _WINDOWS
if(s_gs->m_wnd.IsManaged())
{
MSG msg;
memset(&msg, 0, sizeof(msg));
while(msg.message != WM_QUIT && PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
if(s_gs->m_wnd.IsManaged())
{
TranslateMessage(&msg);
DispatchMessage(&msg);
MSG msg;
memset(&msg, 0, sizeof(msg));
while(msg.message != WM_QUIT && PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}
#endif
s_gs->VSync(field);
s_gs->VSync(field);
}
catch (GSDXRecoverableError)
{
}
}
EXPORT_C_(uint32) GSmakeSnapshot(char* path)
{
string s(path);
if(!s.empty() && s[s.length() - 1] != DIRECTORY_SEPARATOR)
try
{
s = s + DIRECTORY_SEPARATOR;
}
string s(path);
return s_gs->MakeSnapshot(s + "gsdx");
if(!s.empty() && s[s.length() - 1] != DIRECTORY_SEPARATOR)
{
s = s + DIRECTORY_SEPARATOR;
}
return s_gs->MakeSnapshot(s + "gsdx");
}
catch (GSDXRecoverableError)
{
return false;
}
}
EXPORT_C GSkeyEvent(GSKeyEventData* e)
{
s_gs->KeyEvent(e);
try
{
s_gs->KeyEvent(e);
}
catch (GSDXRecoverableError)
{
}
}
EXPORT_C_(int) GSfreeze(int mode, GSFreezeData* data)
{
if(mode == FREEZE_SAVE)
try
{
return s_gs->Freeze(data, false);
if(mode == FREEZE_SAVE)
{
return s_gs->Freeze(data, false);
}
else if(mode == FREEZE_SIZE)
{
return s_gs->Freeze(data, true);
}
else if(mode == FREEZE_LOAD)
{
return s_gs->Defrost(data);
}
}
else if(mode == FREEZE_SIZE)
catch (GSDXRecoverableError)
{
return s_gs->Freeze(data, true);
}
else if(mode == FREEZE_LOAD)
{
return s_gs->Defrost(data);
}
return 0;
@@ -553,32 +633,37 @@ EXPORT_C_(int) GSfreeze(int mode, GSFreezeData* data)
EXPORT_C GSconfigure()
{
if(!GSUtil::CheckSSE()) return;
try
{
if(!GSUtil::CheckSSE()) return;
#ifdef _WINDOWS
if(GSSettingsDlg(s_isgsopen2).DoModal() == IDOK)
{
if(s_gs != NULL && s_gs->m_wnd.IsManaged())
if(GSSettingsDlg(s_isgsopen2).DoModal() == IDOK)
{
// Legacy apps like gsdxgui expect this...
if(s_gs != NULL && s_gs->m_wnd.IsManaged())
{
// Legacy apps like gsdxgui expect this...
GSshutdown();
GSshutdown();
}
}
}
#else
// TODO: linux
// TODO: linux
if (RunLinuxDialog())
{
if(s_gs != NULL && s_gs->m_wnd.IsManaged())
if (RunLinuxDialog())
{
GSshutdown();
if(s_gs != NULL && s_gs->m_wnd.IsManaged())
{
GSshutdown();
}
}
}
#endif
} catch (GSDXRecoverableError)
{
}
}
EXPORT_C_(int) GStest()
@@ -1435,7 +1520,7 @@ EXPORT_C GSReplay(char* lpszCmdLine, int renderer)
}
}
unsigned long end = timeGetTime();
fprintf(stderr, "The %d frames of the scene was render on %dms\n", frame_number, end - start);
fprintf(stderr, "The %ld frames of the scene was render on %ldms\n", frame_number, end - start);
fprintf(stderr, "A means of %fms by frame\n", (float)(end - start)/(float)frame_number);
sleep(1);

View File

@@ -521,8 +521,8 @@ REG64_(GIFReg, ALPHA)
uint8 _PAD2[3];
REG_END2
// opaque => output will be Cs/As
__forceinline bool IsOpaque() const {return (A == B || C == 2 && FIX == 0) && D == 0 || (A == 0 && B == D && C == 2 && FIX == 0x80);}
__forceinline bool IsOpaque(int amin, int amax) const {return (A == B || amax == 0) && D == 0 || A == 0 && B == D && amin == 0x80 && amax == 0x80;}
__forceinline bool IsOpaque() const {return ((A == B || (C == 2 && FIX == 0)) && D == 0) || (A == 0 && B == D && C == 2 && FIX == 0x80);}
__forceinline bool IsOpaque(int amin, int amax) const {return ((A == B || amax == 0) && D == 0) || (A == 0 && B == D && amin == 0x80 && amax == 0x80);}
REG_END2
REG64_(GIFReg, BITBLTBUF)
@@ -766,9 +766,9 @@ REG64_(GIFReg, TEST)
uint32 _PAD1:13;
uint32 _PAD2:32;
REG_END2
__forceinline bool DoFirstPass() {return !ATE || ATST != ATST_NEVER;} // not all pixels fail automatically
__forceinline bool DoSecondPass() {return ATE && ATST != ATST_ALWAYS && AFAIL != AFAIL_KEEP;} // pixels may fail, write fb/z
__forceinline bool NoSecondPass() {return ATE && ATST != ATST_ALWAYS && AFAIL == AFAIL_KEEP;} // pixels may fail, no output
__forceinline bool DoFirstPass() const {return !ATE || ATST != ATST_NEVER;} // not all pixels fail automatically
__forceinline bool DoSecondPass() const {return ATE && ATST != ATST_ALWAYS && AFAIL != AFAIL_KEEP;} // pixels may fail, write fb/z
__forceinline bool NoSecondPass() const {return ATE && ATST != ATST_ALWAYS && AFAIL == AFAIL_KEEP;} // pixels may fail, no output
REG_END2
REG64_(GIFReg, TEX0)
@@ -799,7 +799,7 @@ union
};
};
REG_END2
__forceinline bool IsRepeating()
__forceinline bool IsRepeating() const
{
if(TBW < 2)
{
@@ -1150,12 +1150,12 @@ __aligned(struct, 32) GIFPath
}
}
__forceinline uint8 GetReg()
__forceinline uint8 GetReg() const
{
return regs.u8[reg];
}
__forceinline uint8 GetReg(uint32 index)
__forceinline uint8 GetReg(uint32 index) const
{
return regs.u8[index];
}

View File

@@ -134,10 +134,10 @@ CRC::Game CRC::m_games[] =
{0x0086E35B, GT4, EU, 0},
{0x77E61C8A, GT4, US, 0},
{0x33C6E35E, GT4, US, 0},
{0x7ABDBB5E, GT3, CH, 0}, //GT4<EFBFBD><EFBFBD><EFBFBD><EFBFBD>D9<EFBFBD><EFBFBD>
{0x3E9D448A, GT3, CH, 0}, //GT4<EFBFBD><EFBFBD><EFBFBD><EFBFBD>D5<EFBFBD><EFBFBD>
{0xAD66643C, GT3, CH, 0}, //GT4<EFBFBD><EFBFBD><EFBFBD><EFBFBD>D9<EFBFBD><EFBFBD>D5<EFBFBD><EFBFBD>
{0x6810C3BC, GT3, CH, 0}, //GRAN TURISMO Concept 2002 Tokyo-Geneva<EFBFBD><EFBFBD><EFBFBD>
{0x7ABDBB5E, GT3, CH, 0}, // cutie comment
{0x3E9D448A, GT3, CH, 0}, // cutie comment
{0xAD66643C, GT3, CH, 0}, // cutie comment
{0x6810C3BC, GT3, CH, 0}, //GRAN TURISMO Concept 2002 Tokyo-Geneva
{0x85AE91B3, GT3, US, 0},
{0xC220951A, GT3, NoRegion, 0},
{0x60013EBD, GTConcept, EU, 0},
@@ -168,7 +168,7 @@ CRC::Game CRC::m_games[] =
{0x1B9B7563, AceCombat4, NoRegion, 0},
{0xEC432B24, Drakengard2, EU, 0},
{0x1648E3C9, Drakengard2, US, 0},
{0xB7ADB13A, Drakengard2, CH, 0}, //<2F>_<EFBFBD><5F><EFBFBD>s<EFBFBD>M<EFBFBD>h2
{0xB7ADB13A, Drakengard2, CH, 0},
{0xFC46EA61, Tekken5, JP, 0},
{0x1F88EE37, Tekken5, EU, 0},
{0x1F88BECD, Tekken5, EU, 0}, //language selector...
@@ -178,6 +178,7 @@ CRC::Game CRC::m_games[] =
{0xD6385328, GodOfWar, US, 0},
{0xFB0E6D72, GodOfWar, EU, 0},
{0xEB001875, GodOfWar, EU, 0},
{0xCF148C74, GodOfWar, EU, 0},
{0xCA052D22, GodOfWar, JP, 0},
{0xBFCC1795, GodOfWar, KO, 0},
{0x9567B7D6, GodOfWar, KO, 0},
@@ -186,11 +187,12 @@ CRC::Game CRC::m_games[] =
{0xE23D532B, GodOfWar, NoRegion, 0},
{0xDF1AF973, GodOfWar, NoRegion, 0},
// same CRC as US {0xD6385328, GodOfWar, NoRegion, 0},
{0x1A85E924, GodOfWar, NoRegion, 0}, //<EFBFBD>Ѥ<EFBFBD>1+2<>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD>P<EFBFBD>ɨϥ<C9A8>
{0x608ACBD3, GodOfWar, CH, 0}, //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~<7E>ƭק睊
{0x1A85E924, GodOfWar, NoRegion, 0}, // cutie comment
{0x608ACBD3, GodOfWar, CH, 0}, // cutie comment
//same crc as the US version. {0x2F123FD8, GodOfWar2, RU, 0},
{0x2F123FD8, GodOfWar2, US, 0},
{0x44A8A22A, GodOfWar2, EU, 0},
{0x60BC362B, GodOfWar2, EU, 0},
{0x4340C7C6, GodOfWar2, KO, 0},
{0xE96E55BD, GodOfWar2, JP, 0},
{0xF8CD3DF6, GodOfWar2, NoRegion, 0},
@@ -198,8 +200,8 @@ CRC::Game CRC::m_games[] =
{0x5990866F, GodOfWar2, NoRegion, 0},
{0xC4C4FD5F, GodOfWar2, CH, 0},
{0xDCD9A9F7, GodOfWar2, NoRegion, 0},
{0xFA0DF523, GodOfWar2, CH, 0}, //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~<7E>ƭק睊D5
{0x9FEE3466, GodOfWar2, CH, 0}, //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~<7E>ƭק睊D9
{0xFA0DF523, GodOfWar2, CH, 0}, // cutie comment
{0x9FEE3466, GodOfWar2, CH, 0}, // cutie comment
{0x5D482F18, JackieChanAdv, NoRegion, 0},
{0xF0A6D880, HarvestMoon, US, 0},
{0x75C01A04, NamcoXCapcom, US, 0},
@@ -294,7 +296,7 @@ CRC::Game CRC::m_games[] =
{0x9ABF90FB, LordOfTheRingsTwoTowers, ES, 0},
{0xC0E909E9, LordOfTheRingsTwoTowers, JP, 0},
{0x6898435D, LordOfTheRingsTwoTowers, KO, 0},
{0xDC2F9B98, LordOfTheRingsTwoTowers, CH, 0}, //<EFBFBD>]<5D>٤G<D9A4><47><EFBFBD><EFBFBD>
{0xDC2F9B98, LordOfTheRingsTwoTowers, CH, 0}, // cutie comment
{0xEB198738, LordOfTheRingsThirdAge, US, 0},
{0x614F4CF4, LordOfTheRingsThirdAge, EU, 0},
{0x37CD4279, LordOfTheRingsThirdAge, KO, 0},
@@ -323,39 +325,39 @@ CRC::Game CRC::m_games[] =
{0x9A93FE5D, CastlevaniaLoI, KO, 0},
{0xA79B0491, NanoBreaker, JP, 0},
{0x7985D894, FinalFightStreetwise, US, 0},
{0xED4BF0D3, FinalFightStreetwise, US, 0}, //<EFBFBD><EFBFBD><EFBFBD>P
{0xED4BF0D3, FinalFightStreetwise, US, 0}, // cutie comment
{0x73C560BA, FinalFightStreetwise, EU, 0},
{0xCBB87BF9, EvangelionJo, JP, 0}, //<EFBFBD>s<EFBFBD>@<40><><EFBFBD>֭<EFBFBD><D6AD>Ԥh:<3A><>
{0x278A91FD, CaptainTsubasa, JP, 0}, //<EFBFBD><EFBFBD><EFBFBD>y<EFBFBD>p<EFBFBD>N<EFBFBD>l
{0xC5B75C7C, Oneechanbara2Special, JP, 0}, //<EFBFBD>ʷP<EFBFBD>k<EFBFBD>C<EFBFBD>h2<EFBFBD>S<EFBFBD>O<EFBFBD>s
{0xC0659AD1, NarutimateAccel, JP, 0}, //<EFBFBD><EFBFBD><EFBFBD>v<EFBFBD>Ԫ̯e<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{0xCBB87BF9, EvangelionJo, JP, 0}, // cutie comment
{0x278A91FD, CaptainTsubasa, JP, 0}, // cutie comment
{0xC5B75C7C, Oneechanbara2Special, JP, 0}, // cutie comment
{0xC0659AD1, NarutimateAccel, JP, 0}, // cutie comment
{0xF3D9DFBE, NarutimateAccel, JP, 0},
{0x59739DDE, Naruto, JP, 0}, //<EFBFBD><EFBFBD>^<5E><>3
{0xF7786EE4, EternalPoison, JP, 0}, //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>r
{0x59739DDE, Naruto, JP, 0}, // cutie comment
{0xF7786EE4, EternalPoison, JP, 0}, // cutie comment
{0x2BE55519, EternalPoison, US, 0},
{0xE01F57EC, LegoBatman, US, 0}, //<EFBFBD>ְ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>L
{0xE01F57EC, LegoBatman, US, 0}, // cutie comment
{0xE01F57ED, LegoBatman, EU, 0},
{0xE0347841, XE3, JP, 0}, //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǻ<EFBFBD>3
{0xE0347841, XE3, JP, 0}, // cutie comment
{0xA4E88698, XE3, CH, 0},
{0x2088950A, XE3, US, 0},
// DMC(1)? {0x79B8A95F, DevilMayCry3, US, 0},
{0x7F3D692D, DevilMayCry3, CH, 0},
//duplicate crc with GOW1... {0x1A85E924, DevilMayCry3, CH, 0}, //<2F>c<EFBFBD>]<5D>y<EFBFBD>H3<48>T<EFBFBD>X<EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD>S<EFBFBD>O<EFBFBD><4F>
{0x0a8ef911, ArctheLad, US, 0}, //<EFBFBD>ȧJ<EFBFBD>ǩ<EFBFBD>-<2D><><EFBFBD>F<EFBFBD><46><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//duplicate crc with GOW1... {0x1A85E924, DevilMayCry3, CH, 0},
{0x0a8ef911, ArctheLad, US, 0}, // cutie comment
{0x2C5E7DEA, ArctheLad, CH, 0},
{0xE69E7F58, ArctheLad, US, 0}, //<EFBFBD>ȧJ<EFBFBD>ǩ<EFBFBD>-<2D>·t<C2B7><74><EFBFBD>׵<EFBFBD>
{0xB1995E29, ShadowofRome, EU, 0}, //ù<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>v
{0xE69E7F58, ArctheLad, US, 0}, // cutie comment
{0xB1995E29, ShadowofRome, EU, 0}, // cutie comment
{0x958DCA28, ShadowofRome, EU, 0},
{0x57818AF6, ShadowofRome, US, 0},
{0xF21EE6E0, CrashNburn, US, 0},
{0x694A998E, TombRaiderUnderworld, JP, 0}, //8<EFBFBD>N<EFBFBD>a<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_
{0x694A998E, TombRaiderUnderworld, JP, 0}, // cutie comment
{0x8E214549, TombRaiderUnderworld, EU, 0},
{0xB639EB17, TombRaiderAnniversary, US, 0},
{0xB05805B6, TombRaiderAnniversary, JP, 0}, //<EFBFBD>Q<EFBFBD>g<EFBFBD>~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>T<EFBFBD>a
{0xB05805B6, TombRaiderAnniversary, JP, 0}, // cutie comment
{0xA629A376, TombRaiderAnniversary, EU, 0},
{0xBC8B3F50, TombRaiderLegend, US, 0}, //7<EFBFBD>N<EFBFBD>ǩ_
{0xBC8B3F50, TombRaiderLegend, US, 0}, // cutie comment
{0x05177ECE, TombRaiderLegend, EU, 0},
{0x08FFF00D, SSX3, JP, 0}, //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƴ<EFBFBD>3
{0x08FFF00D, SSX3, JP, 0}, // cutie comment
{0xCE942B2A, SSX3, EU, 0},
{0x5C891FF1, Black, US, 0},
{0xCAA04879, Black, EU, 0},
@@ -432,7 +434,7 @@ CRC::Game CRC::m_games[] =
{0xB799A60C, SkyGunner, NoRegion, 0},
{0x6848699B, JamesBondEverythingOrNothing, US, 0},
{0x5FFFDE40, JamesBondEverythingOrNothing, EU, 0},
{0xF7FB054C, Siren, CH, 0}, //<EFBFBD><EFBFBD><EFBFBD>
{0xF7FB054C, Siren, CH, 0}, // cutie comment
{0x47C2C34A, Siren, KO, 0},
{0xB083CCC2, Siren, EU, 0}, // Spanish
{0x90F4B057, ZettaiZetsumeiToshi2, CH, 0},
@@ -452,16 +454,16 @@ CRC::Game CRC::m_games[] =
{0xFFDE85E9, ShinOnimusha, US, 0},
{0xE21404E2, GetaWay, US, 0},
{0xE78971DF, GetaWayBlackMonday, US, 0},
{0x1130BF23, SakuraTaisen, CH, 0}, //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>j<EFBFBD>ԿK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{0x1130BF23, SakuraTaisen, CH, 0}, // cutie comment
{0x4FAE8B83, SakuraTaisen, KO, 0},
{0xEF06DBD6, SakuraWarsSoLongMyLove, JP, 0}, //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>j<EFBFBD><EFBFBD>5
{0xDD41054D, SakuraWarsSoLongMyLove, US, 0}, //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>j<EFBFBD><EFBFBD>5
{0xEF06DBD6, SakuraWarsSoLongMyLove, JP, 0}, // cutie comment
{0xDD41054D, SakuraWarsSoLongMyLove, US, 0}, // cutie comment
{0xC2E3A7A4, SakuraWarsSoLongMyLove, KO, 0},
{0x4A4B623A, FightingBeautyWulong, JP,0}, //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Z<EFBFBD>s
{0x5AC7E79C, TouristTrophy, CH, 0}, //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{0x4A4B623A, FightingBeautyWulong, JP,0}, // cutie comment
{0x5AC7E79C, TouristTrophy, CH, 0}, // cutie comment
{0xFF9C0E93, TouristTrophy, US, 0},
{0xCA9AA903, TouristTrophy, EU, 0}, //crc hack not fully working on PAL, still needs brightness =0
{0xA1B3F232, GTASanAndreas, EU, 0}, //<EFBFBD>L<EFBFBD>s<EFBFBD>y<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>t<EFBFBD>w<EFBFBD>a<EFBFBD>C<EFBFBD><EFBFBD>
{0xA1B3F232, GTASanAndreas, EU, 0}, // cutie comment
{0x399A49CA, GTASanAndreas, US, 0},
{0x60FE139C, GTASanAndreas, JP, 0},
{0x2615F542, FrontMission5, JP, 0},
@@ -470,25 +472,22 @@ CRC::Game CRC::m_games[] =
{0xAEDAEE99, GodHand, JP, 0},
{0x6FB69282, GodHand, US, 0},
{0x924C4AA6, GodHand, KO, 0},
{0x9637D496, KnightsOfTheTemple2, JP, 0}, //<EFBFBD>t<EFBFBD><EFBFBD><EFBFBD>M<EFBFBD>h<EFBFBD><EFBFBD>2
{0x4E811100, UltramanFightingEvolution, JP, 0}, //<EFBFBD>W<EFBFBD><EFBFBD><EFBFBD>O<EFBFBD>Q<EFBFBD><EFBFBD><EFBFBD>԰<EFBFBD><EFBFBD>i<EFBFBD>ƭ<EFBFBD><EFBFBD><EFBFBD>
{0x0643F90C, RogueGalaxy, US, 0}, //<EFBFBD>L<EFBFBD>s<EFBFBD>Ȫe
{0xCDEE4B19, RogueGalaxy, JP, 0},
{0xCBB4B383, RogueGalaxy, EU, 0},
{0xF7F181C3, DeathByDegreesTekkenNinaWilliams, CH, 0}, //<2F>K<EFBFBD><4B><EFBFBD>g<EFBFBD>R
{0x9637D496, KnightsOfTheTemple2, JP, 0}, // cutie comment
{0x4E811100, UltramanFightingEvolution, JP, 0}, // cutie comment
{0xF7F181C3, DeathByDegreesTekkenNinaWilliams, CH, 0}, // cutie comment
{0xF088FA5B, DeathByDegreesTekkenNinaWilliams, KO, 0},
{0x59683BB0, DeathByDegreesTekkenNinaWilliams, EU, 0},
{0x771C3B47, AlpineRacer3, JP, 0}, //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>s<EFBFBD>Ƴ<EFBFBD><EFBFBD>j<EFBFBD><EFBFBD>3
{0x771C3B47, AlpineRacer3, JP, 0}, // cutie comment
{0x7367D841, AlpineRacer3, EU, 0},
{0x449E1F6B, HummerBadlands, US, 0},
{0xAEA1B3AD, SengokuBasara, JP, 0},
{0x5B659BED, Grandia3, JP, 0},
{0x5B657DAD, Grandia3, US, 0},
{0x830B6FB1, TalesofSymphonia, JP, 0},
{0x8409FD51, TalesofDestiny, JP, 0}, //<EFBFBD>ɺt<EFBFBD>ſ
{0x8409FD51, TalesofDestiny, JP, 0}, // cutie comment
{0xA90CD846, TalesofDestiny, JP, 0},
{0xC4D0FACC, SDGundamGGeneration, JP, 0}, //<EFBFBD>@<40><><EFBFBD>ԧ<EFBFBD>
{0xBBDE6926, SDGundamGGeneration, JP, 0}, //<EFBFBD>Ի<EFBFBD>
{0xC4D0FACC, SDGundamGGeneration, JP, 0}, // cutie comment
{0xBBDE6926, SDGundamGGeneration, JP, 0}, // cutie comment
{0x49D60A00, SDGundamGGeneration, JP, 0}, //NEO
{0x83AFB38A, SoulCalibur2, KO, 0},
{0xE1B01308, SoulCalibur2, US, 0},
@@ -498,8 +497,8 @@ CRC::Game CRC::m_games[] =
{0x37B99B14, SoulCalibur3, KO, 0},
{0xBC5480A3, SoulCalibur3, EU, 0},
{0xFC0F8A5B, Simple2000Vol114, JP, 0},
{0x0098F740, SeintoSeiya, NoRegion, 0}, //<EFBFBD>t<EFBFBD><EFBFBD><EFBFBD>h<EFBFBD>P<EFBFBD><EFBFBD>-<2D><><EFBFBD>D<EFBFBD>Q<EFBFBD>G<EFBFBD>c
{0xBDD9BAAD, UrbanReign, US, 0}, //<EFBFBD><EFBFBD><EFBFBD>Y<EFBFBD><EFBFBD><EFBFBD>Q
{0x0098F740, SeintoSeiya, NoRegion, 0}, // cutie comment
{0xBDD9BAAD, UrbanReign, US, 0}, // cutie comment
{0xAE4BEBD3, UrbanReign, EU, 0},
};
@@ -548,13 +547,13 @@ CRC::Game CRC::Lookup(uint32 crc)
if(crcDups)
printf("[FIXME] GSdx: Duplicate CRC: Overall: %d\n", crcDups);
}
#ifndef DISABLE_CRC_HACKS
hash_map<uint32, Game*>::iterator i = m_map.find(crc);
if(i != m_map.end())
{
return *i->second;
}
#endif
return m_games[0];
}

View File

@@ -160,7 +160,6 @@ public:
GodHand,
KnightsOfTheTemple2,
UltramanFightingEvolution,
RogueGalaxy,
DeathByDegreesTekkenNinaWilliams,
AlpineRacer3,
HummerBadlands,

View File

@@ -138,11 +138,11 @@ bool GSDevice11::Create(GSWnd* wnd)
{"TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, 16, D3D11_INPUT_PER_VERTEX_DATA, 0},
};
hr = CompileShader(IDR_CONVERT_FX, "vs_main", NULL, &m_convert.vs, il_convert, countof(il_convert), &m_convert.il);
CompileShader(IDR_CONVERT_FX, "vs_main", NULL, &m_convert.vs, il_convert, countof(il_convert), &m_convert.il);
for(int i = 0; i < countof(m_convert.ps); i++)
{
hr = CompileShader(IDR_CONVERT_FX, format("ps_main%d", i).c_str(), NULL, &m_convert.ps[i]);
CompileShader(IDR_CONVERT_FX, format("ps_main%d", i).c_str(), NULL, &m_convert.ps[i]);
}
memset(&dsd, 0, sizeof(dsd));
@@ -170,7 +170,7 @@ bool GSDevice11::Create(GSWnd* wnd)
for(int i = 0; i < countof(m_merge.ps); i++)
{
hr = CompileShader(IDR_MERGE_FX, format("ps_main%d", i).c_str(), NULL, &m_merge.ps[i]);
CompileShader(IDR_MERGE_FX, format("ps_main%d", i).c_str(), NULL, &m_merge.ps[i]);
}
memset(&bsd, 0, sizeof(bsd));
@@ -198,7 +198,7 @@ bool GSDevice11::Create(GSWnd* wnd)
for(int i = 0; i < countof(m_interlace.ps); i++)
{
hr = CompileShader(IDR_INTERLACE_FX, format("ps_main%d", i).c_str(), NULL, &m_interlace.ps[i]);
CompileShader(IDR_INTERLACE_FX, format("ps_main%d", i).c_str(), NULL, &m_interlace.ps[i]);
}
// Shade Boost
@@ -229,7 +229,7 @@ bool GSDevice11::Create(GSWnd* wnd)
hr = m_dev->CreateBuffer(&bd, NULL, &m_shadeboost.cb);
hr = CompileShader(IDR_SHADEBOOST_FX, "ps_main", macro, &m_shadeboost.ps);
CompileShader(IDR_SHADEBOOST_FX, "ps_main", macro, &m_shadeboost.ps);
// fxaa
@@ -241,7 +241,7 @@ bool GSDevice11::Create(GSWnd* wnd)
hr = m_dev->CreateBuffer(&bd, NULL, &m_fxaa.cb);
hr = CompileShader(IDR_FXAA_FX, "ps_main", NULL, &m_fxaa.ps);
CompileShader(IDR_FXAA_FX, "ps_main", NULL, &m_fxaa.ps);
//
@@ -719,56 +719,49 @@ void GSDevice11::DoShadeBoost(GSTexture* st, GSTexture* dt)
void GSDevice11::SetupDATE(GSTexture* rt, GSTexture* ds, const GSVertexPT1* vertices, bool datm)
{
const GSVector2i& size = rt->GetSize();
// sfex3 (after the capcom logo), vf4 (first menu fading in), ffxii shadows, rumble roses shadows, persona4 shadows
if(GSTexture* t = CreateRenderTarget(size.x, size.y, rt->IsMSAA()))
{
// sfex3 (after the capcom logo), vf4 (first menu fading in), ffxii shadows, rumble roses shadows, persona4 shadows
BeginScene();
BeginScene();
ClearStencil(ds, 0);
ClearStencil(ds, 0);
// om
// om
OMSetDepthStencilState(m_date.dss, 1);
OMSetBlendState(m_date.bs, 0);
OMSetRenderTargets(NULL, ds);
OMSetDepthStencilState(m_date.dss, 1);
OMSetBlendState(m_date.bs, 0);
OMSetRenderTargets(t, ds);
// ia
// ia
IASetVertexBuffer(vertices, sizeof(vertices[0]), 4);
IASetInputLayout(m_convert.il);
IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP);
IASetVertexBuffer(vertices, sizeof(vertices[0]), 4);
IASetInputLayout(m_convert.il);
IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP);
// vs
// vs
VSSetShader(m_convert.vs, NULL);
VSSetShader(m_convert.vs, NULL);
// gs
// gs
GSSetShader(NULL);
GSSetShader(NULL);
// ps
// ps
GSTexture* rt2 = rt->IsMSAA() ? Resolve(rt) : rt;
GSTexture* rt2 = rt->IsMSAA() ? Resolve(rt) : rt;
PSSetShaderResources(rt2, NULL);
PSSetSamplerState(m_convert.pt, NULL);
PSSetShader(m_convert.ps[datm ? 2 : 3], NULL);
PSSetShaderResources(rt2, NULL);
PSSetSamplerState(m_convert.pt, NULL);
PSSetShader(m_convert.ps[datm ? 2 : 3], NULL);
//
//
DrawPrimitive();
DrawPrimitive();
//
//
EndScene();
EndScene();
Recycle(t);
if(rt2 != rt) Recycle(rt2);
}
if(rt2 != rt) Recycle(rt2);
}
void GSDevice11::IASetVertexBuffer(const void* vertex, size_t stride, size_t count)
@@ -1110,6 +1103,9 @@ void GSDevice11::OMSetRenderTargets(GSTexture* rt, GSTexture* ds, const GSVector
ID3D11RenderTargetView* rtv = NULL;
ID3D11DepthStencilView* dsv = NULL;
if (!rt && !ds)
throw GSDXRecoverableError();
if(rt) rtv = *(GSTexture11*)rt;
if(ds) dsv = *(GSTexture11*)ds;
@@ -1121,9 +1117,10 @@ void GSDevice11::OMSetRenderTargets(GSTexture* rt, GSTexture* ds, const GSVector
m_ctx->OMSetRenderTargets(1, &rtv, dsv);
}
if(m_state.viewport != rt->GetSize())
GSVector2i size = rt ? rt->GetSize() : ds->GetSize();
if(m_state.viewport != size)
{
m_state.viewport = rt->GetSize();
m_state.viewport = size;
D3D11_VIEWPORT vp;
@@ -1131,15 +1128,15 @@ void GSDevice11::OMSetRenderTargets(GSTexture* rt, GSTexture* ds, const GSVector
vp.TopLeftX = 0;
vp.TopLeftY = 0;
vp.Width = (float)rt->GetWidth();
vp.Height = (float)rt->GetHeight();
vp.Width = (float)size.x;
vp.Height = (float)size.y;
vp.MinDepth = 0.0f;
vp.MaxDepth = 1.0f;
m_ctx->RSSetViewports(1, &vp);
}
GSVector4i r = scissor ? *scissor : GSVector4i(rt->GetSize()).zwxy();
GSVector4i r = scissor ? *scissor : GSVector4i(size).zwxy();
if(!m_state.scissor.eq(r))
{
@@ -1184,7 +1181,7 @@ void GSDevice11::OMSetRenderTargets(const GSVector2i& rtsize, int count, ID3D11U
}
}
HRESULT GSDevice11::CompileShader(uint32 id, const char* entry, D3D11_SHADER_MACRO* macro, ID3D11VertexShader** vs, D3D11_INPUT_ELEMENT_DESC* layout, int count, ID3D11InputLayout** il)
void GSDevice11::CompileShader(uint32 id, const char* entry, D3D11_SHADER_MACRO* macro, ID3D11VertexShader** vs, D3D11_INPUT_ELEMENT_DESC* layout, int count, ID3D11InputLayout** il)
{
HRESULT hr;
@@ -1203,27 +1200,25 @@ HRESULT GSDevice11::CompileShader(uint32 id, const char* entry, D3D11_SHADER_MAC
if(FAILED(hr))
{
return hr;
throw GSDXRecoverableError();
}
hr = m_dev->CreateVertexShader((void*)shader->GetBufferPointer(), shader->GetBufferSize(), NULL, vs);
if(FAILED(hr))
{
return hr;
throw GSDXRecoverableError();
}
hr = m_dev->CreateInputLayout(layout, count, shader->GetBufferPointer(), shader->GetBufferSize(), il);
if(FAILED(hr))
{
return hr;
throw GSDXRecoverableError();
}
return hr;
}
HRESULT GSDevice11::CompileShader(uint32 id, const char* entry, D3D11_SHADER_MACRO* macro, ID3D11GeometryShader** gs)
void GSDevice11::CompileShader(uint32 id, const char* entry, D3D11_SHADER_MACRO* macro, ID3D11GeometryShader** gs)
{
HRESULT hr;
@@ -1242,20 +1237,18 @@ HRESULT GSDevice11::CompileShader(uint32 id, const char* entry, D3D11_SHADER_MAC
if(FAILED(hr))
{
return hr;
throw GSDXRecoverableError();
}
hr = m_dev->CreateGeometryShader((void*)shader->GetBufferPointer(), shader->GetBufferSize(), NULL, gs);
if(FAILED(hr))
{
return hr;
throw GSDXRecoverableError();
}
return hr;
}
HRESULT GSDevice11::CompileShader(uint32 id, const char* entry, D3D11_SHADER_MACRO* macro, ID3D11GeometryShader** gs, D3D11_SO_DECLARATION_ENTRY* layout, int count)
void GSDevice11::CompileShader(uint32 id, const char* entry, D3D11_SHADER_MACRO* macro, ID3D11GeometryShader** gs, D3D11_SO_DECLARATION_ENTRY* layout, int count)
{
HRESULT hr;
@@ -1274,20 +1267,18 @@ HRESULT GSDevice11::CompileShader(uint32 id, const char* entry, D3D11_SHADER_MAC
if(FAILED(hr))
{
return hr;
throw GSDXRecoverableError();
}
hr = m_dev->CreateGeometryShaderWithStreamOutput((void*)shader->GetBufferPointer(), shader->GetBufferSize(), layout, count, NULL, 0, D3D11_SO_NO_RASTERIZED_STREAM, NULL, gs);
if(FAILED(hr))
{
return hr;
throw GSDXRecoverableError();
}
return hr;
}
HRESULT GSDevice11::CompileShader(uint32 id, const char* entry, D3D11_SHADER_MACRO* macro, ID3D11PixelShader** ps)
void GSDevice11::CompileShader(uint32 id, const char* entry, D3D11_SHADER_MACRO* macro, ID3D11PixelShader** ps)
{
HRESULT hr;
@@ -1306,20 +1297,18 @@ HRESULT GSDevice11::CompileShader(uint32 id, const char* entry, D3D11_SHADER_MAC
if(FAILED(hr))
{
return hr;
throw GSDXRecoverableError();
}
hr = m_dev->CreatePixelShader((void*)shader->GetBufferPointer(), shader->GetBufferSize(),NULL, ps);
if(FAILED(hr))
{
return hr;
throw GSDXRecoverableError();
}
return hr;
}
HRESULT GSDevice11::CompileShader(uint32 id, const char* entry, D3D11_SHADER_MACRO* macro, ID3D11ComputeShader** cs)
void GSDevice11::CompileShader(uint32 id, const char* entry, D3D11_SHADER_MACRO* macro, ID3D11ComputeShader** cs)
{
HRESULT hr;
@@ -1338,20 +1327,18 @@ HRESULT GSDevice11::CompileShader(uint32 id, const char* entry, D3D11_SHADER_MAC
if(FAILED(hr))
{
return hr;
throw GSDXRecoverableError();
}
hr = m_dev->CreateComputeShader((void*)shader->GetBufferPointer(), shader->GetBufferSize(),NULL, cs);
if(FAILED(hr))
{
return hr;
throw GSDXRecoverableError();
}
return hr;
}
HRESULT GSDevice11::CompileShader(const char* fn, const char* entry, D3D11_SHADER_MACRO* macro, ID3D11ComputeShader** cs)
void GSDevice11::CompileShader(const char* fn, const char* entry, D3D11_SHADER_MACRO* macro, ID3D11ComputeShader** cs)
{
HRESULT hr;
@@ -1370,16 +1357,14 @@ HRESULT GSDevice11::CompileShader(const char* fn, const char* entry, D3D11_SHADE
if(FAILED(hr))
{
return hr;
throw GSDXRecoverableError();
}
hr = m_dev->CreateComputeShader((void*)shader->GetBufferPointer(), shader->GetBufferSize(),NULL, cs);
if(FAILED(hr))
{
return hr;
throw GSDXRecoverableError();
}
return hr;
}

View File

@@ -213,11 +213,11 @@ public:
operator ID3D11Device*() {return m_dev;}
operator ID3D11DeviceContext*() {return m_ctx;}
HRESULT CompileShader(uint32 id, const char* entry, D3D11_SHADER_MACRO* macro, ID3D11VertexShader** vs, D3D11_INPUT_ELEMENT_DESC* layout, int count, ID3D11InputLayout** il);
HRESULT CompileShader(uint32 id, const char* entry, D3D11_SHADER_MACRO* macro, ID3D11GeometryShader** gs);
HRESULT CompileShader(uint32 id, const char* entry, D3D11_SHADER_MACRO* macro, ID3D11GeometryShader** gs, D3D11_SO_DECLARATION_ENTRY* layout, int count);
HRESULT CompileShader(uint32 id, const char* entry, D3D11_SHADER_MACRO* macro, ID3D11PixelShader** ps);
HRESULT CompileShader(uint32 id, const char* entry, D3D11_SHADER_MACRO* macro, ID3D11ComputeShader** cs);
HRESULT CompileShader(const char* fn, const char* entry, D3D11_SHADER_MACRO* macro, ID3D11ComputeShader** cs);
void CompileShader(uint32 id, const char* entry, D3D11_SHADER_MACRO* macro, ID3D11VertexShader** vs, D3D11_INPUT_ELEMENT_DESC* layout, int count, ID3D11InputLayout** il);
void CompileShader(uint32 id, const char* entry, D3D11_SHADER_MACRO* macro, ID3D11GeometryShader** gs);
void CompileShader(uint32 id, const char* entry, D3D11_SHADER_MACRO* macro, ID3D11GeometryShader** gs, D3D11_SO_DECLARATION_ENTRY* layout, int count);
void CompileShader(uint32 id, const char* entry, D3D11_SHADER_MACRO* macro, ID3D11PixelShader** ps);
void CompileShader(uint32 id, const char* entry, D3D11_SHADER_MACRO* macro, ID3D11ComputeShader** cs);
void CompileShader(const char* fn, const char* entry, D3D11_SHADER_MACRO* macro, ID3D11ComputeShader** cs);
};

View File

@@ -1288,7 +1288,7 @@ void GSDevice9::OMSetRenderTargets(GSTexture* rt, GSTexture* ds, const GSVector4
}
}
HRESULT GSDevice9::CompileShader(uint32 id, const string& entry, const D3DXMACRO* macro, IDirect3DVertexShader9** vs, const D3DVERTEXELEMENT9* layout, int count, IDirect3DVertexDeclaration9** il)
void GSDevice9::CompileShader(uint32 id, const string& entry, const D3DXMACRO* macro, IDirect3DVertexShader9** vs, const D3DVERTEXELEMENT9* layout, int count, IDirect3DVertexDeclaration9** il)
{
vector<D3DXMACRO> m;
@@ -1309,24 +1309,20 @@ HRESULT GSDevice9::CompileShader(uint32 id, const string& entry, const D3DXMACRO
printf("%s\n", (const char*)error->GetBufferPointer());
}
ASSERT(SUCCEEDED(hr));
if(FAILED(hr))
{
return hr;
throw GSDXRecoverableError();
}
hr = m_dev->CreateVertexDeclaration(layout, il);
if(FAILED(hr))
{
return hr;
throw GSDXRecoverableError();
}
return S_OK;
}
HRESULT GSDevice9::CompileShader(uint32 id, const string& entry, const D3DXMACRO* macro, IDirect3DPixelShader9** ps)
void GSDevice9::CompileShader(uint32 id, const string& entry, const D3DXMACRO* macro, IDirect3DPixelShader9** ps)
{
uint32 flags = 0;
@@ -1358,13 +1354,9 @@ HRESULT GSDevice9::CompileShader(uint32 id, const string& entry, const D3DXMACRO
printf("%s\n", (const char*)error->GetBufferPointer());
}
ASSERT(SUCCEEDED(hr));
if(FAILED(hr))
{
return hr;
throw GSDXRecoverableError();
}
return S_OK;
}

View File

@@ -221,8 +221,8 @@ public:
IDirect3DDevice9* operator->() {return m_dev;}
operator IDirect3DDevice9*() {return m_dev;}
HRESULT CompileShader(uint32 id, const string& entry, const D3DXMACRO* macro, IDirect3DVertexShader9** vs, const D3DVERTEXELEMENT9* layout, int count, IDirect3DVertexDeclaration9** il);
HRESULT CompileShader(uint32 id, const string& entry, const D3DXMACRO* macro, IDirect3DPixelShader9** ps);
void CompileShader(uint32 id, const string& entry, const D3DXMACRO* macro, IDirect3DVertexShader9** vs, const D3DVERTEXELEMENT9* layout, int count, IDirect3DVertexDeclaration9** il);
void CompileShader(uint32 id, const string& entry, const D3DXMACRO* macro, IDirect3DPixelShader9** ps);
void SetupVS(VSSelector sel, const VSConstantBuffer* cb);
void SetupGS(GSSelector sel) {}

View File

@@ -82,7 +82,7 @@ public:
uint32 key;
};
operator uint32() {return key & 0x3f;}
operator uint32() {return key & 0xff;}
VSSelector() : key(0) {}
};
@@ -175,12 +175,13 @@ public:
uint32 colclip:2;
uint32 date:2;
uint32 spritehack:1;
uint32 point_sampler:1;
};
uint32 key;
};
operator uint32() {return key & 0x3ffffff;}
operator uint32() {return key & 0xfffffff;}
PSSelector() : key(0) {}
};
@@ -214,12 +215,13 @@ public:
uint32 zwe:1;
uint32 date:1;
uint32 fba:1;
uint32 alpha_stencil:1;
};
uint32 key;
};
operator uint32() {return key & 0x1f;}
operator uint32() {return key & 0x3f;}
OMDepthStencilSelector() : key(0) {}
};

View File

@@ -30,7 +30,7 @@ GSRenderer::GSRenderer()
{
m_GStitleInfoBuffer[0] = 0;
m_interlace = theApp.GetConfig("interlace", 0);
m_interlace = theApp.GetConfig("interlace", 7);
m_aspectratio = theApp.GetConfig("aspectratio", 1);
m_filter = theApp.GetConfig("filter", 1);
m_vsync = !!theApp.GetConfig("vsync", 0);

View File

@@ -294,9 +294,14 @@ bool GSRendererCS::CreateDevice(GSDevice* dev_unk)
{NULL, NULL},
};
hr = dev->CompileShader(IDR_CS_FX, "ps_main0", macro, &m_ps0);
if(FAILED(hr)) return false;
try
{
dev->CompileShader(IDR_CS_FX, "ps_main0", macro, &m_ps0);
}
catch (GSDXRecoverableError)
{
return false;
}
// PSConstantBuffer

View File

@@ -32,6 +32,7 @@ GSRendererDX::GSRendererDX(GSTextureCache* tc, const GSVector2& pixelcenter)
UserHacks_AlphaHack = !!theApp.GetConfig("UserHacks_AlphaHack", 0) && !!theApp.GetConfig("UserHacks", 0);
UserHacks_WildHack = !!theApp.GetConfig("UserHacks", 0) ? theApp.GetConfig("UserHacks_WildHack", 0) : 0;
UserHacks_AlphaStencil = !!theApp.GetConfig("UserHacks_AlphaStencil", 0) && !!theApp.GetConfig("UserHacks", 0);
}
GSRendererDX::~GSRendererDX()
@@ -252,38 +253,51 @@ void GSRendererDX::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sourc
}
if(context->TEST.ATE)
{
ps_sel.atst = context->TEST.ATST;
switch(ps_sel.atst)
{
case ATST_LESS:
ps_cb.FogColor_AREF.a = (float)((int)context->TEST.AREF - 1);
break;
case ATST_GREATER:
ps_cb.FogColor_AREF.a = (float)((int)context->TEST.AREF + 1);
break;
default:
ps_cb.FogColor_AREF.a = (float)(int)context->TEST.AREF;
break;
}
}
else
{
ps_sel.atst = ATST_ALWAYS;
if (context->TEST.ATE && context->TEST.ATST > 1)
ps_cb.FogColor_AREF.a = (float)context->TEST.AREF;
// Destination alpha pseudo stencil hack: use a stencil operation combined with an alpha test
// to only draw pixels which would cause the destination alpha test to fail in the future once.
// Unfortunately this also means only drawing those pixels at all, which is why this is a hack.
// The interaction with FBA in D3D9 is probably less than ideal.
if (UserHacks_AlphaStencil && DATE && dev->HasStencil() && om_bsel.wa && (!context->TEST.ATE || context->TEST.ATST == 1))
{
if (!context->FBA.FBA)
{
if (context->TEST.DATM == 0)
ps_sel.atst = 5; // >=
else
ps_sel.atst = 2; // <
ps_cb.FogColor_AREF.a = (float)0x80;
}
if (!(context->FBA.FBA && context->TEST.DATM == 1))
om_dssel.alpha_stencil = 1;
}
if(tex)
{
const GSLocalMemory::psm_t &psm = GSLocalMemory::m_psm[context->TEX0.PSM];
const GSLocalMemory::psm_t &cpsm = psm.pal > 0 ? GSLocalMemory::m_psm[context->TEX0.CPSM] : psm;
bool bilinear = m_filter == 2 ? m_vt.IsLinear() : m_filter != 0;
bool simple_sample = !tex->m_palette && cpsm.fmt == 0 && context->CLAMP.WMS < 3 && context->CLAMP.WMT < 3;
ps_sel.wms = context->CLAMP.WMS;
ps_sel.wmt = context->CLAMP.WMT;
ps_sel.fmt = tex->m_fmt;
if (tex->m_palette)
ps_sel.fmt = cpsm.fmt | 4;
else
ps_sel.fmt = cpsm.fmt;
ps_sel.aem = env.TEXA.AEM;
ps_sel.tfx = context->TEX0.TFX;
ps_sel.tcc = context->TEX0.TCC;
ps_sel.ltf = m_filter == 2 ? m_vt.IsLinear() : m_filter;
ps_sel.ltf = bilinear && !simple_sample;
ps_sel.rt = tex->m_target;
ps_sel.spritehack = tex->m_spritehack_t;
ps_sel.point_sampler = !(bilinear && simple_sample);
int w = tex->m_texture->GetWidth();
int h = tex->m_texture->GetHeight();
@@ -313,7 +327,7 @@ void GSRendererDX::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sourc
ps_ssel.tau = (context->CLAMP.WMS + 3) >> 1;
ps_ssel.tav = (context->CLAMP.WMT + 3) >> 1;
ps_ssel.ltf = ps_sel.ltf;
ps_ssel.ltf = bilinear && simple_sample;
}
else
{
@@ -356,6 +370,7 @@ void GSRendererDX::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sourc
dev->SetupPS(ps_selneg, &ps_cb, ps_ssel);
dev->DrawIndexedPrimitive();
dev->SetupOM(om_dssel, om_bsel, afix);
}
}
@@ -367,19 +382,6 @@ void GSRendererDX::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sourc
ps_sel.atst = iatst[ps_sel.atst];
switch(ps_sel.atst)
{
case ATST_LESS:
ps_cb.FogColor_AREF.a = (float)((int)context->TEST.AREF - 1);
break;
case ATST_GREATER:
ps_cb.FogColor_AREF.a = (float)((int)context->TEST.AREF + 1);
break;
default:
ps_cb.FogColor_AREF.a = (float)(int)context->TEST.AREF;
break;
}
dev->SetupPS(ps_sel, &ps_cb, ps_ssel);
bool z = om_dssel.zwe;

View File

@@ -30,6 +30,7 @@ class GSRendererDX : public GSRendererHW
bool m_fba;
bool UserHacks_AlphaHack;
bool UserHacks_AlphaStencil;
protected:
virtual void DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Source* tex);

View File

@@ -173,12 +173,8 @@ void GSRendererHW::Draw()
{
if(m_dev->IsLost()) return;
#ifndef DISABLE_CRC_HACKS
if(GSRenderer::IsBadFrame(m_skip, m_userhacks_skipdraw)) return;
#endif
GSDrawingEnvironment& env = m_env;
GSDrawingContext* context = m_context;
@@ -206,8 +202,6 @@ void GSRendererHW::Draw()
if(PRIM->TME)
{
m_mem.m_clut.Read32(context->TEX0, env.TEXA);
GSVector4i r;
GetTextureMinMax(r, context->TEX0, context->CLAMP, m_vt.IsLinear());

View File

@@ -205,7 +205,8 @@ void GSRendererOGL::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sour
vs_sel.tme = PRIM->TME;
vs_sel.fst = PRIM->FST;
vs_sel.logz = dev->HasDepth32() ? 0 : m_logz ? 1 : 0;
//vs_sel.logz = dev->HasDepth32() ? 0 : m_logz ? 1 : 0;
vs_sel.logz = m_logz ? 1 : 0;
//OGL vs_sel.rtcopy = !!rtcopy;
vs_sel.rtcopy = false;
@@ -340,14 +341,20 @@ void GSRendererOGL::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sour
if(tex)
{
const GSLocalMemory::psm_t &psm = GSLocalMemory::m_psm[context->TEX0.PSM];
ps_sel.wms = context->CLAMP.WMS;
ps_sel.wmt = context->CLAMP.WMT;
ps_sel.fmt = tex->m_fmt;
ps_sel.aem = env.TEXA.AEM;
ps_sel.tfx = context->TEX0.TFX;
ps_sel.tcc = context->TEX0.TCC;
ps_sel.ltf = m_filter == 2 ? m_vt.IsLinear() : m_filter;
ps_sel.rt = tex->m_target;
if (tex->m_palette) {
const GSLocalMemory::psm_t &cpsm = GSLocalMemory::m_psm[context->TEX0.CPSM];
ps_sel.fmt = cpsm.fmt | 4;
} else
ps_sel.fmt = psm.fmt;
int w = tex->m_texture->GetWidth();
int h = tex->m_texture->GetHeight();

View File

@@ -101,11 +101,10 @@ void GSSettingsDlg::OnInit()
CheckDlgButton(m_hWnd, IDC_WINDOWED, theApp.GetConfig("windowed", 1));
CheckDlgButton(m_hWnd, IDC_FILTER, theApp.GetConfig("filter", 2));
CheckDlgButton(m_hWnd, IDC_PALTEX, theApp.GetConfig("paltex", 0));
CheckDlgButton(m_hWnd, IDC_VSYNC, theApp.GetConfig("vsync", 0));
CheckDlgButton(m_hWnd, IDC_LOGZ, theApp.GetConfig("logz", 1));
CheckDlgButton(m_hWnd, IDC_FBA, theApp.GetConfig("fba", 1));
CheckDlgButton(m_hWnd, IDC_AA1, theApp.GetConfig("aa1", 0));
CheckDlgButton(m_hWnd, IDC_NATIVERES, theApp.GetConfig("nativeres", 0));
CheckDlgButton(m_hWnd, IDC_NATIVERES, theApp.GetConfig("nativeres", 1));
// Shade Boost
CheckDlgButton(m_hWnd, IDC_SHADEBOOST, theApp.GetConfig("ShadeBoost", 0));
@@ -201,7 +200,6 @@ bool GSSettingsDlg::OnCommand(HWND hWnd, UINT id, UINT code)
theApp.SetConfig("filter", (int)IsDlgButtonChecked(m_hWnd, IDC_FILTER));
theApp.SetConfig("paltex", (int)IsDlgButtonChecked(m_hWnd, IDC_PALTEX));
theApp.SetConfig("vsync", (int)IsDlgButtonChecked(m_hWnd, IDC_VSYNC));
theApp.SetConfig("logz", (int)IsDlgButtonChecked(m_hWnd, IDC_LOGZ));
theApp.SetConfig("fba", (int)IsDlgButtonChecked(m_hWnd, IDC_FBA));
theApp.SetConfig("aa1", (int)IsDlgButtonChecked(m_hWnd, IDC_AA1));
@@ -423,6 +421,8 @@ void GSHacksDlg::OnInit()
CheckDlgButton(m_hWnd, IDC_SPRITEHACK, theApp.GetConfig("UserHacks_SpriteHack", 0));
CheckDlgButton(m_hWnd, IDC_WILDHACK, theApp.GetConfig("UserHacks_WildHack", 0));
CheckDlgButton(m_hWnd, IDC_AGGRESSIVECRC, theApp.GetConfig("UserHacks_AggressiveCRC", 0));
CheckDlgButton(m_hWnd, IDC_ALPHASTENCIL, theApp.GetConfig("UserHacks_AlphaStencil", 0));
CheckDlgButton(m_hWnd, IDC_CHECK_DISABLE_ALL_HACKS, theApp.GetConfig("UserHacks_DisableCrcHacks", 0));
SendMessage(GetDlgItem(m_hWnd, IDC_SKIPDRAWHACK), UDM_SETRANGE, 0, MAKELPARAM(1000, 0));
SendMessage(GetDlgItem(m_hWnd, IDC_SKIPDRAWHACK), UDM_SETPOS, 0, MAKELPARAM(theApp.GetConfig("UserHacks_SkipDraw", 0), 0));
@@ -487,7 +487,20 @@ bool GSHacksDlg::OnMessage(UINT message, WPARAM wParam, LPARAM lParam)
case IDC_AGGRESSIVECRC:
helpstr = "Use more aggressive CRC hacks on some games\n\n"
"Only affects few games, removing some effects which might make the image sharper/clearer.\n"
"Affected games: FFX, FFX2, GOW2, SoTC, SSX3.";
"Affected games: FFX, FFX2, FFXII, GOW2, ICO, SoTC, SSX3.";
break;
case IDC_ALPHASTENCIL:
helpstr = "Extend stencil based emulation of destination alpha to perform stencil operations while drawing.\n\n"
"Improves many shadows which are normally overdrawn in parts, may affect other effects.\n"
"Will disable partial transparency in some games or even prevent drawing some elements altogether.";
break;
case IDC_CHECK_DISABLE_ALL_HACKS:
helpstr = "FOR TESTING ONLY!!\n\n"
"Disable all CRC hacks - will break many games. Overrides CrcHacksExclusion at gsdx.ini\n"
"\n"
"It's possible to exclude CRC hacks also via the gsdx.ini. E.g.:\n"
"CrcHacksExclusions=all\n"
"CrcHacksExclusions=0x0F0C4A9C, 0x0EE5646B, 0x7ACF7E03";
break;
default:
helpstr = "Hover over an item to get a description.";
@@ -513,6 +526,8 @@ bool GSHacksDlg::OnMessage(UINT message, WPARAM wParam, LPARAM lParam)
theApp.SetConfig("UserHacks_SkipDraw", (int)SendMessage(GetDlgItem(m_hWnd, IDC_SKIPDRAWHACK), UDM_GETPOS, 0, 0));
theApp.SetConfig("UserHacks_WildHack", (int)IsDlgButtonChecked(m_hWnd, IDC_WILDHACK));
theApp.SetConfig("UserHacks_AggressiveCRC", (int)IsDlgButtonChecked(m_hWnd, IDC_AGGRESSIVECRC));
theApp.SetConfig("UserHacks_AlphaStencil", (int)IsDlgButtonChecked(m_hWnd, IDC_ALPHASTENCIL));
theApp.SetConfig("UserHacks_DisableCrcHacks", (int)IsDlgButtonChecked(m_hWnd, IDC_CHECK_DISABLE_ALL_HACKS));
EndDialog(m_hWnd, id);
} break;
}

View File

@@ -23,6 +23,13 @@
#include "GSState.h"
#include "GSdx.h"
#ifdef OGL_MT_HACK
#include "GSRendererOGL.h"
extern GSRenderer* s_gs;
#endif
//#define Offset_ST // Fixes Persona3 mini map alignment which is off even in software rendering
GSState::GSState()
@@ -38,7 +45,7 @@ GSState::GSState()
, m_q(1.0f)
, m_texflush(true)
{
m_nativeres = !!theApp.GetConfig("nativeres", 0);
m_nativeres = !!theApp.GetConfig("nativeres", 1);
memset(&m_v, 0, sizeof(m_v));
memset(&m_vertex, 0, sizeof(m_vertex));
@@ -113,6 +120,7 @@ GSState::GSState()
s_saven = theApp.GetConfig("saven", 0);
userHacks_AggressiveCRC = !!theApp.GetConfig("UserHacks", 0) ? theApp.GetConfig("UserHacks_AggressiveCRC", 0) : 0;
userHacks_DisableCrcHacks = !!theApp.GetConfig("UserHacks", 0) ? theApp.GetConfig( "UserHacks_DisableCrcHacks", 0 ) : 0;
}
GSState::~GSState()
@@ -1252,6 +1260,9 @@ void GSState::GIFRegHandlerTRXDIR(const GIFReg* RESTRICT r)
break;
case 1: // local -> host
m_tr.Init(m_env.TRXPOS.SSAX, m_env.TRXPOS.SSAY);
#ifdef OGL_MT_HACK
s_gs->m_wnd.DetachContext();
#endif
break;
case 2: // local -> local
Move();
@@ -1756,6 +1767,9 @@ static hash_map<uint64, uint64> s_tags;
template<int index> void GSState::Transfer(const uint8* mem, uint32 size)
{
GSPerfMonAutoTimer pmat(&m_perfmon);
#ifdef OGL_MT_HACK
s_gs->m_wnd.AttachContext();
#endif
const uint8* start = mem;
@@ -2215,7 +2229,7 @@ void GSState::SetGameCRC(uint32 crc, int options)
{
m_crc = crc;
m_options = options;
m_game = CRC::Lookup(crc);
m_game = CRC::Lookup(userHacks_DisableCrcHacks ? 0 : crc);
}
//
@@ -2655,6 +2669,7 @@ void GSState::GetAlphaMinMax()
a.w = max(env.TEXA.TA0, env.TEXA.TA1);
break;
case 3:
m_mem.m_clut.Read32(context->TEX0, env.TEXA);
m_mem.m_clut.GetAlphaMinMax32(a.y, a.w);
break;
default:
@@ -3111,9 +3126,9 @@ bool GSC_ICO(const GSFrameInfo& fi, int& skip)
{
skip = 1;
}
else if(fi.TME && fi.FBP == 0x0800 && (fi.TBP0 == 0x2800 || fi.TBP0 ==0x2c00) && fi.TPSM ==0 && fi.FBMSK == 0)
else if( g_aggressive && fi.TME && fi.FBP == 0x0800 && (fi.TBP0 == 0x2800 || fi.TBP0 ==0x2c00) && fi.TPSM ==0 && fi.FBMSK == 0)
{
skip = 1; //<2F><><EFBFBD>v
skip = 1;
}
}
else
@@ -3267,7 +3282,7 @@ bool GSC_ResidentEvil4(const GSFrameInfo& fi, int& skip)
}
else if(fi.TME && fi.FBP ==0x03100 && (fi.TBP0==0x2a00 ||fi.TBP0==0x3480) && fi.TPSM ==0 && fi.FBMSK == 0)
{
skip = 1; //<2F><><EFBFBD>v
skip = 1;
}
}
@@ -3323,7 +3338,9 @@ bool GSC_AceCombat4(const GSFrameInfo& fi, int& skip)
bool GSC_Drakengard2(const GSFrameInfo& fi, int& skip)
{
if(skip == 0)
// Below hack breaks the GUI
/*if(skip == 0)
{
if(g_crc_region == CRC::CH && fi.TME && fi.FBP == 0x026c0 && fi.TBP0 == 0x00a00 && fi.FPSM ==2)
{
@@ -3333,7 +3350,7 @@ bool GSC_Drakengard2(const GSFrameInfo& fi, int& skip)
{
skip = 64;
}
}
}*/
return true;
}
@@ -3432,11 +3449,11 @@ bool GSC_GodOfWar2(const GSFrameInfo& fi, int& skip)
{
skip = 1; // wall of fog
}
else if(g_aggressive && fi.TPSM == PSM_PSMCT24 && fi.TME && (fi.FBP ==0x1300 ) && (fi.TBP0 ==0x0F00 || fi.TBP0 ==0x1300 || fi.TBP0==0x2b00)) // || fi.FBP == 0x0100 //<2F><><EFBFBD><EFBFBD><EFBFBD>U<EFBFBD>½u<C2BD><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
else if(g_aggressive && fi.TPSM == PSM_PSMCT24 && fi.TME && (fi.FBP ==0x1300 ) && (fi.TBP0 ==0x0F00 || fi.TBP0 ==0x1300 || fi.TBP0==0x2b00)) // || fi.FBP == 0x0100
{
skip = 1; // global haze/halo
}
else if(g_aggressive && fi.TPSM == PSM_PSMCT24 && fi.TME && (fi.FBP ==0x0100 ) && (fi.TBP0==0x2b00 || fi.TBP0==0x2e80)) //480P<EFBFBD>U2e80
else if(g_aggressive && fi.TPSM == PSM_PSMCT24 && fi.TME && (fi.FBP ==0x0100 ) && (fi.TBP0==0x2b00 || fi.TBP0==0x2e80)) //480P 2e80
{
skip = 1; // water effect and water vertical lines
}
@@ -3552,15 +3569,15 @@ bool GSC_Genji(const GSFrameInfo& fi, int& skip)
{
if(fi.TME && fi.FBP == 0x01500 && fi.FPSM == PSM_PSMCT16 && fi.TBP0 == 0x00e00 && fi.TPSM == PSM_PSMZ16)
{
skip = 6; //<2F><><EFBFBD>W<EFBFBD><57><EFBFBD>ʶ<EFBFBD>
skip = 6;
}
else if(fi.TPSM == PSM_PSMCT24 && fi.TME ==0x0001 && fi.TBP0==fi.FBP)
{
skip = 1; // <20>ҽk
skip = 1;
}
else if(fi.TPSM == PSM_PSMT8H && fi.FBMSK == 0)
{
skip = 1; //<2F><><EFBFBD><EFBFBD>
skip = 1;
}
}
else
@@ -3624,11 +3641,11 @@ bool GSC_RadiataStories(const GSFrameInfo& fi, int& skip)
{
if(fi.TME && fi.FPSM == fi.TPSM && fi.TPSM == PSM_PSMCT16 && fi.FBMSK == 0x03FFF)
{
skip = 1; // CMV<4D><56><EFBFBD>ݯ<EFBFBD>
skip = 1;
}
else if(fi.TME && fi.FBP == fi.TBP0 && fi.FPSM == PSM_PSMCT32 && fi.TPSM == PSM_PSMT4HH)
{
skip = 1000; //
skip = 1000;
}
}
else
@@ -3656,11 +3673,11 @@ bool GSC_HauntingGround(const GSFrameInfo& fi, int& skip)
}
else if(fi.TME && (fi.FBP ==0x2200) && (fi.TBP0 ==0x3a80) && fi.FPSM == fi.TPSM && fi.TPSM == PSM_PSMCT32)
{
skip = 1; // <20>ҽk
skip = 1;
}
else if(fi.FBP ==0x2200 && fi.TBP0==0x3000 && fi.TPSM == PSM_PSMT8H && fi.FBMSK == 0)
{
skip = 1; //<2F><>
skip = 1;
}
else if(fi.TME)
{
@@ -3718,12 +3735,11 @@ bool GSC_CaptainTsubasa(const GSFrameInfo& fi, int& skip)
bool GSC_Oneechanbara2Special(const GSFrameInfo& fi, int& skip)
{
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>v<EFBFBD>U<EFBFBD><55><EFBFBD>v
if(skip == 0)
{
if(fi.TPSM == PSM_PSMCT24 && fi.TME && fi.FBP == 0x01180)
{
skip = 1; // <20><><EFBFBD>v
skip = 1;
}
}
@@ -3785,7 +3801,7 @@ bool GSC_EternalPoison(const GSFrameInfo& fi, int& skip)
{
if(fi.TPSM == PSM_PSMCT16S && fi.TBP0 == 0x3200)
{
skip = 1; //<2F><><EFBFBD>v
skip = 1;
}
}
return true;
@@ -3793,11 +3809,11 @@ bool GSC_EternalPoison(const GSFrameInfo& fi, int& skip)
bool GSC_LegoBatman(const GSFrameInfo& fi, int& skip)
{
if(skip == 0)
if(g_aggressive && skip == 0)
{
if(fi.TME && fi.TPSM == PSM_PSMZ16 && fi.FPSM == PSM_PSMCT16 && fi.FBMSK == 0x00000)
{
skip = 3; //<2F>h<EFBFBD><68><EFBFBD><EFBFBD>
skip = 3;
}
}
return true;
@@ -3894,19 +3910,19 @@ bool GSC_ShadowofRome(const GSFrameInfo& fi, int& skip)
{
if(fi.FBP && fi.TPSM == PSM_PSMT8H && ( fi.FBMSK ==0x00FFFFFF))
{
skip =1; //<2F><>
skip =1;
}
else if(fi.TME ==0x0001 && (fi.TBP0==0x1300 || fi.TBP0==0x0f00) && fi.FBMSK>=0xFFFFFF)
{
skip = 1; //<2F><><EFBFBD>L<EFBFBD><4C><EFBFBD>M<EFBFBD><4D><EFBFBD><EFBFBD>
skip = 1;
}
else if(fi.TME && (fi.FBP >=0x0) && fi.FPSM == PSM_PSMCT32 && (fi.TBP0 ==0x0160 ||fi.TBP0==0x01e0 || fi.TBP0<=0x0800) && fi.TPSM == PSM_PSMT8)
{
skip = 1; //<2F>t<EFBFBD><74>
skip = 1;
}
else if(fi.TME && (fi.TBP0==0x0700) && (fi.TPSM == PSM_PSMCT32 || fi.TPSM == PSM_PSMCT24))
{
skip = 1; //<2F>ҽk
skip = 1;
}
}
@@ -4218,11 +4234,11 @@ bool GSC_TombRaiderLegend(const GSFrameInfo& fi, int& skip)
{
if(fi.TME && fi.FBP == 0x01000 && fi.FPSM == fi.TPSM && fi.TPSM == PSM_PSMCT32 && (fi.TBP0 == 0x2b60 ||fi.TBP0 == 0x2b80 || fi.TBP0 == 0x2E60 ||fi.TBP0 ==0x3020 ||fi.TBP0 == 0x3200 || fi.TBP0 == 0x3320))
{
skip = 1; //<2F><><EFBFBD><EFBFBD>
skip = 1;
}
else if(fi.TPSM == PSM_PSMCT32 && (fi.TPSM | fi.FBP)==0x2fa0 && (fi.TBP0==0x2bc0 ) && fi.FBMSK ==0)
{
skip = 2; // <20><><EFBFBD><EFBFBD>
skip = 2;
}
@@ -4237,15 +4253,15 @@ bool GSC_TombRaiderUnderWorld(const GSFrameInfo& fi, int& skip)
{
if(fi.TME && fi.FBP == 0x01000 && fi.FPSM == fi.TPSM && fi.TPSM == PSM_PSMCT32 && (fi.TBP0 == 0x2B60 /*|| fi.TBP0 == 0x2EFF || fi.TBP0 ==0x2F00 || fi.TBP0 == 0x3020*/ || fi.TBP0 >= 0x2C01 && fi.TBP0!=0x3029 && fi.TBP0!=0x302d))
{
skip = 1; //<2F><><EFBFBD><EFBFBD>
skip = 1;
}
else if(fi.TPSM == PSM_PSMCT32 && (fi.TPSM | fi.FBP)==0x2c00 && (fi.TBP0 ==0x0ee0) && fi.FBMSK ==0)
{
skip = 2; // <20><><EFBFBD>U<EFBFBD>«<EFBFBD>
skip = 2;
}
/*else if(fi.TPSM == PSM_PSMCT16 && (fi.TPSM | fi.FBP)>=0x0 && (fi.TBP0 >=0x0) && fi.FBMSK ==0)
{
skip = 600; // <20>[<5B>t
skip = 600;
}*/
}
@@ -4460,15 +4476,15 @@ bool GSC_TalesOfLegendia(const GSFrameInfo& fi, int& skip)
}
if(fi.TME && fi.FBP && fi.FPSM == PSM_PSMCT32 && fi.TBP0 == 0x3d80)
{
skip = 1; //<2F><><EFBFBD>W<EFBFBD><57><EFBFBD>ʶ<EFBFBD>2a00
skip = 1;
}
if(fi.TME && fi.FBP ==0x1c00 && (fi.TBP0==0x2e80 ||fi.TBP0==0x2d80) && fi.TPSM ==0 && fi.FBMSK == 0xff000000)
{
skip = 1; //<2F><><EFBFBD>v
skip = 1;
}
if(!fi.TME && fi.FBP ==0x2a00 && (fi.TBP0==0x1C00 ) && fi.TPSM ==0 && fi.FBMSK == 0x00FFFFFF)
{
skip = 1; //<2F><><EFBFBD>r<EFBFBD>ϼh<CFBC><68><EFBFBD><EFBFBD>
skip = 1;
}
}
@@ -4498,7 +4514,7 @@ bool GSC_Kunoichi(const GSFrameInfo& fi, int& skip)
}
if(fi.TME && (fi.FBP ==0x0700 || fi.FBP==0) && fi.TBP0==0x0e00 && fi.TPSM ==0 && fi.FBMSK == 0)
{
skip = 1; //<2F><><EFBFBD>}<7D>«<EFBFBD>
skip = 1;
}
if(fi.TME)
{
@@ -4608,7 +4624,7 @@ bool GSC_ZettaiZetsumeiToshi2(const GSFrameInfo& fi, int& skip)
}
else if(fi.TME && fi.TPSM == PSM_PSMCT32 && fi.FBMSK == 0xFF000000)
{
skip = 2; // <20><>
skip = 2;
}
else if((fi.FBP | fi.TBP0)&& fi.FPSM == fi.TPSM && fi.TPSM == PSM_PSMCT16 && fi.FBMSK == 0x3FFF)
{
@@ -4655,24 +4671,24 @@ bool GSC_ShinOnimusha(const GSFrameInfo& fi, int& skip)
if(fi.TME && fi.FBP == 0x001000 && (fi.TBP0 ==0 || fi.TBP0 == 0x0800) && fi.TPSM == PSM_PSMT8H && fi.FBMSK == 0x00FFFFFF)
{
skip = 0; //<2F><><EFBFBD>i<EFBFBD><69> <20>S<EFBFBD><53><EFBFBD>n<EFBFBD>F?
skip = 0;
}
else if(fi.TPSM == PSM_PSMCT24 && fi.TME && fi.FBP == 0x01000) // || fi.FBP == 0x00000
{
skip = 28; // <20><><EFBFBD>v28 30 56 64
skip = 28; //28 30 56 64
}
else if(fi.FBP && fi.TPSM == PSM_PSMT8H && fi.FBMSK == 0xFFFFFF)
{
skip = 0; //24 33 40 92<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>S<EFBFBD><53><EFBFBD>n<EFBFBD>F?
skip = 0; //24 33 40 9
}
else if(fi.TPSM == PSM_PSMT8H && fi.FBMSK == 0xFF000000)
{
skip = 1; //<2F>ߪF<DFAA><46><EFBFBD>ɪ<EFBFBD><C9AA><EFBFBD><EFBFBD><EFBFBD>
skip = 1;
}
else if(fi.TME && (fi.TBP0 ==0x1400 || fi.TBP0 ==0x1000 ||fi.TBP0 == 0x1200) && (fi.TPSM == PSM_PSMCT32 || fi.TPSM == PSM_PSMCT24))
{
skip = 1;
} //<2F><><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD>L<EFBFBD><4C> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>v
}
}
@@ -4685,19 +4701,19 @@ bool GSC_XE3(const GSFrameInfo& fi, int& skip)
{
if(fi.TPSM == PSM_PSMT8H && fi.FBMSK >= 0xEFFFFFFF)
{
skip = 73; //<2F>ʵe
skip = 73;
}
else if(fi.TME && fi.FBP ==0x03800 && fi.TBP0 && fi.TPSM ==0 && fi.FBMSK == 0)
{
skip = 1; //<2F><><EFBFBD>v
skip = 1;
}
/*else if(fi.TPSM ==0x00000 && PSM_PSMCT24 && fi.TME && fi.FBP == 0x03800)
{
skip = 1 ; // <20><><EFBFBD><EFBFBD>
skip = 1 ;
}*/
/*else if(fi.TME ==0 && (fi.FBP ==0 ) && fi.FPSM == PSM_PSMCT32 && ( fi.TPSM == PSM_PSMT8 || fi.TPSM == PSM_PSMT4) && (fi.FBMSK == 0x00FFFFFF || fi.FBMSK == 0xFF000000))
{
skip = 1; //<2F>h<EFBFBD>·t
skip = 1;
}*/
else
{
@@ -4735,15 +4751,15 @@ bool GSC_SakuraWarsSoLongMyLove(const GSFrameInfo& fi, int& skip)
{
if(fi.TME==0 && fi.FBP != fi.TBP0 && fi.TBP0 && fi.FBMSK == 0x00FFFFFF)
{
skip = 3; //<2F>h<EFBFBD>·t
skip = 3;
}
else if(fi.TME==0 && fi.FBP == fi.TBP0 && (fi.TBP0 ==0x1200 ||fi.TBP0 ==0x1180 ||fi.TBP0 ==0) && fi.FBMSK == 0x00FFFFFF)
{
skip = 3; //<2F>h<EFBFBD>·t
skip = 3;
}
else if(fi.TME && (fi.FBP ==0 || fi.FBP ==0x1180) && fi.FPSM == PSM_PSMCT32 && fi.TBP0 ==0x3F3F && fi.TPSM == PSM_PSMT8)
{
skip = 1; //<2F><><EFBFBD>Ҫx<D2AA><78>
skip = 1;
}
}
@@ -4757,7 +4773,7 @@ bool GSC_FightingBeautyWulong(const GSFrameInfo& fi, int& skip)
if(fi.TME && (fi.TBP0 ==0x0700 || fi.TBP0 ==0x0a80) && (fi.TPSM == PSM_PSMCT32 || fi.TPSM == PSM_PSMCT24))
{
skip = 1;
} //<2F><><EFBFBD><EFBFBD><EFBFBD>ҽk
}
}
return true;
@@ -4786,7 +4802,7 @@ bool GSC_GTASanAndreas(const GSFrameInfo& fi, int& skip)
{
if(fi.TME && (fi.FBP ==0x0a00 || fi.FBP ==0x08c0) && (fi.TBP0 ==0x1b80 || fi.TBP0 ==0x1a40) && fi.FPSM == fi.TPSM && fi.TPSM == PSM_PSMCT32)
{
skip = 1; // <20><><EFBFBD>v<EFBFBD><76><EFBFBD><EFBFBD><EFBFBD>i<EFBFBD><69>
skip = 1;
}
}
@@ -4799,11 +4815,11 @@ bool GSC_FrontMission5(const GSFrameInfo& fi, int& skip)
{
if(fi.TPSM == PSM_PSMT8H && fi.FBMSK == 0)
{
skip = 1; //<2F>ʵe
skip = 1;
}
if(fi.TME && (fi.FBP ==0x1000) && (fi.TBP0 ==0x2e00 || fi.TBP0 ==0x3200) && fi.FPSM == fi.TPSM && fi.TPSM == PSM_PSMCT32)
{
skip = 1; //<EFBFBD>v<EFBFBD>lfi.TBP0 ==0x1f00
skip = 1; //fi.TBP0 ==0x1f00
}
}
@@ -4816,7 +4832,7 @@ bool GSC_GodHand(const GSFrameInfo& fi, int& skip)
{
if(fi.TME && (fi.FBP ==0x0) && (fi.TBP0 ==0x2800) && fi.FPSM == fi.TPSM && fi.TPSM == PSM_PSMCT32)
{
skip = 1; // <20>ҽk
skip = 1;
}
}
@@ -4829,11 +4845,11 @@ bool GSC_KnightsOfTheTemple2(const GSFrameInfo& fi, int& skip)
{
if(fi.TPSM == PSM_PSMT8H && fi.FBMSK == 0)
{
skip = 1; //<2F><><EFBFBD>v
skip = 1;
}
else if(fi.TPSM ==0x00000 && PSM_PSMCT24 && fi.TME && (fi.FBP ==0x3400 ||fi.FBP==0x3a00))
{
skip = 1 ; //<2F><><EFBFBD><EFBFBD>
skip = 1 ;
}
}
@@ -4846,45 +4862,31 @@ bool GSC_UltramanFightingEvolution(const GSFrameInfo& fi, int& skip)
{
if(fi.TME && fi.FBP==0x2a00 && fi.FPSM == PSM_PSMZ24 && fi.TBP0 == 0x1c00 && fi.TPSM == PSM_PSMZ24)
{
skip = 5; // blur <20><><EFBFBD>l<EFBFBD><6C><EFBFBD><EFBFBD>
skip = 5; // blur
}
}
return true;
}
bool GSC_RogueGalaxy(const GSFrameInfo& fi, int& skip)
{
if(skip == 0)
{
if(fi.TME && (fi.TBP0==0x2c40) && (fi.TPSM == PSM_PSMCT32 || fi.TPSM == PSM_PSMCT24))
{
skip = 1; //<2F><><EFBFBD><EFBFBD><EFBFBD>{<7B>{
}
}
return true;
}
bool GSC_DeathByDegreesTekkenNinaWilliams(const GSFrameInfo& fi, int& skip)
{
if(skip == 0)
{
if(fi.TME && (fi.FBP ==0 ) && fi.TBP0==0x34a0 && (fi.TPSM == PSM_PSMCT32))
{
skip = 1; //<2F>h<EFBFBD>ʵe<CAB5><65><EFBFBD><EFBFBD>
skip = 1;
}
else if((fi.FBP ==0x3500)&& fi.TPSM == PSM_PSMT8 && fi.FBMSK == 0xFFFF00FF)
{
skip = 4; //<2F><><EFBFBD>U<EFBFBD><55><EFBFBD><EFBFBD>
skip = 4;
}
}
if(fi.TME)
{
if((fi.FBP | fi.TBP0 | fi.FPSM | fi.TPSM) && (fi.FBMSK == 0x00FFFFFF ))
{
skip = 1; //<2F>ʵe<CAB5>t<EFBFBD><74>
skip = 1;
}
}
return true;
@@ -4896,7 +4898,7 @@ bool GSC_AlpineRacer3(const GSFrameInfo& fi, int& skip)
{
if(!fi.TME && fi.FBP == 0 && fi.TBP0>=0 && (fi.TPSM >= 0 ) && (fi.FBMSK ==0x0001 ||fi.FBMSK == 0x00FFFFFF))
{
skip = 2; //<2F>h<EFBFBD>·t
skip = 2;
}
}
@@ -4909,7 +4911,7 @@ bool GSC_HummerBadlands(const GSFrameInfo& fi, int& skip)
{
if(fi.TME && (fi.FBP ==0x0a00) && (fi.TBP0 ==0x03200 || fi.TBP0==0x3700) && fi.FPSM == fi.TPSM && fi.TPSM == PSM_PSMCT32)
{
skip = 1; //<2F>v<EFBFBD>l
skip = 1;
}
}
@@ -4922,7 +4924,7 @@ bool GSC_SengokuBasara(const GSFrameInfo& fi, int& skip)
{
if(fi.TME && (fi.TBP0==0x1800 ) && fi.FBMSK==0xFF000000)
{
skip = 1; //<2F><>
skip = 1;
}
}
@@ -4935,7 +4937,7 @@ bool GSC_Grandia3(const GSFrameInfo& fi, int& skip)
{
if(fi.TME && (fi.FBP ==0x0 || fi.FBP ==0x0e00) && (fi.TBP0 ==0x2a00 ||fi.TBP0==0x0e00 ||fi.TBP0==0) && fi.FPSM == fi.TPSM && fi.TPSM == PSM_PSMCT32)
{
skip = 1; // <20>ҽk
skip = 1;
}
}
@@ -4962,11 +4964,11 @@ bool GSC_TalesofSymphonia(const GSFrameInfo& fi, int& skip)
{
if(fi.TME && (fi.FBP >= 0) && fi.FPSM == PSM_PSMCT32 && (fi.TBP0 == 0x2bc0 || fi.TBP0 <= 0x0200) && (fi.FBMSK==0xFF000000 ||fi.FBMSK==0x00FFFFFF))
{
skip = 1; //fi.FBMSK==0<EFBFBD>y<EFBFBD><EFBFBD><EFBFBD>ʵe<EFBFBD>«<EFBFBD>,<2C>[<5B>t<EFBFBD>԰<EFBFBD><D4B0>t<EFBFBD><74>
skip = 1; //fi.FBMSK==0
}
if(fi.TME && (fi.TBP0==0x1180 || fi.TBP0==0x1a40 || fi.TBP0==0x2300) && fi.FBMSK>=0xFF000000)
{
skip = 1; //<2F>L<EFBFBD><4C><EFBFBD>ݼv
skip = 1;
}
}
@@ -5017,11 +5019,11 @@ bool GSC_Simple2000Vol114(const GSFrameInfo& fi, int& skip)
{
if(fi.TME==0 && (fi.FBP==0x1500) && (fi.TBP0==0x2c97 || fi.TBP0==0x2ace || fi.TBP0==0x03d0 || fi.TBP0==0x2448) && (fi.FBMSK == 0x0000))
{
skip = 1; //<2F>h<EFBFBD>v<EFBFBD>l
skip = 1;
}
if(fi.TME && (fi.FBP==0x0e00) && (fi.TBP0==0x1000) && (fi.FBMSK == 0x0000))
{
skip = 1; //<2F>h<EFBFBD>g<EFBFBD><67>
skip = 1;
}
}
return true;
@@ -5032,7 +5034,7 @@ bool GSC_UrbanReign(const GSFrameInfo& fi, int& skip)
{
if(fi.TME && fi.FBP==0x0000 && fi.TBP0==0x3980 && fi.FPSM==fi.TPSM && fi.TPSM == PSM_PSMCT32 && fi.TPSM ==0 && fi.FBMSK == 0x0)
{
skip = 1; //<2F>¼v
skip = 1;
}
}
return true;
@@ -5298,7 +5300,6 @@ bool GSState::IsBadFrame(int& skip, int UserHacks_SkipDraw)
map[CRC::GodHand] = GSC_GodHand;
map[CRC::KnightsOfTheTemple2] = GSC_KnightsOfTheTemple2;
map[CRC::UltramanFightingEvolution] = GSC_UltramanFightingEvolution;
map[CRC::RogueGalaxy] = GSC_RogueGalaxy;
map[CRC::DeathByDegreesTekkenNinaWilliams] = GSC_DeathByDegreesTekkenNinaWilliams;
map[CRC::AlpineRacer3] = GSC_AlpineRacer3;
map[CRC::HummerBadlands] = GSC_HummerBadlands;

View File

@@ -139,6 +139,7 @@ class GSState : public GSAlignedClass<32>
protected:
bool IsBadFrame(int& skip, int UserHacks_SkipDraw);
int userHacks_AggressiveCRC;
int userHacks_DisableCrcHacks;
GSVertex m_v;
float m_q;

View File

@@ -56,6 +56,15 @@ void GSTextureCache::RemoveAll()
GSTextureCache::Source* GSTextureCache::LookupSource(const GIFRegTEX0& TEX0, const GIFRegTEXA& TEXA, const GSVector4i& r)
{
const GSLocalMemory::psm_t& psm = GSLocalMemory::m_psm[TEX0.PSM];
const GSLocalMemory::psm_t& cpsm = psm.pal > 0 ? GSLocalMemory::m_psm[TEX0.CPSM] : psm;
GIFRegTEXA plainTEXA;
plainTEXA.AEM = 1;
plainTEXA.TA0 = 0;
plainTEXA.TA1 = 0x80;
m_renderer->m_mem.m_clut.Read32(TEX0, plainTEXA);
const uint32* clut = m_renderer->m_mem.m_clut;
Source* src = NULL;
@@ -71,11 +80,6 @@ GSTextureCache::Source* GSTextureCache::LookupSource(const GIFRegTEX0& TEX0, con
continue;
}
if((psm.trbpp == 16 || psm.trbpp == 24) && TEX0.TCC && TEXA != s->m_TEXA)
{
continue;
}
if(s->m_palette == NULL && psm.pal > 0 && !GSVector4i::compare64(clut, s->m_clut, psm.pal * sizeof(clut[0])))
{
continue;
@@ -132,17 +136,14 @@ GSTextureCache::Source* GSTextureCache::LookupSource(const GIFRegTEX0& TEX0, con
}
}
if(psm.pal > 0)
if (src->m_palette)
{
int size = psm.pal * sizeof(clut[0]);
if(src->m_palette)
if(src->m_initpalette || !GSVector4i::update(src->m_clut, clut, size))
{
if(src->m_initpalette || !GSVector4i::update(src->m_clut, clut, size))
{
src->m_palette->Update(GSVector4i(0, 0, psm.pal, 1), src->m_clut, size);
src->m_initpalette = false;
}
src->m_palette->Update(GSVector4i(0, 0, psm.pal, 1), src->m_clut, size);
src->m_initpalette = false;
}
}
@@ -576,6 +577,7 @@ void GSTextureCache::IncAge()
//Fixme: Several issues in here. Not handling depth stencil, pitch conversion doesnt work.
GSTextureCache::Source* GSTextureCache::CreateSource(const GIFRegTEX0& TEX0, const GIFRegTEXA& TEXA, Target* dst)
{
const GSLocalMemory::psm_t& psm = GSLocalMemory::m_psm[TEX0.PSM];
Source* src = new Source(m_renderer, TEX0, TEXA, m_temp);
int tw = 1 << TEX0.TW;
@@ -584,33 +586,17 @@ GSTextureCache::Source* GSTextureCache::CreateSource(const GIFRegTEX0& TEX0, con
bool hack = false;
if(dst == NULL)
if(m_spritehack && (TEX0.PSM == PSM_PSMT8 || TEX0.PSM == PSM_PSMT8H))
{
if(m_spritehack && (TEX0.PSM == PSM_PSMT8 || TEX0.PSM == PSM_PSMT8H))
{
src->m_spritehack_t = true;
if(m_spritehack == 2 && TEX0.CPSM != PSM_PSMCT16)
src->m_spritehack_t = false;
}
else
src->m_spritehack_t = false;
src->m_spritehack_t = true;
if(m_paltex && GSLocalMemory::m_psm[TEX0.PSM].pal > 0)
{
src->m_fmt = FMT_8;
src->m_texture = m_renderer->m_dev->CreateTexture(tw, th, Get8bitFormat());
src->m_palette = m_renderer->m_dev->CreateTexture(256, 1);
}
else
{
src->m_fmt = FMT_32;
src->m_texture = m_renderer->m_dev->CreateTexture(tw, th);
}
}
if(m_spritehack == 2 && TEX0.CPSM != PSM_PSMCT16)
src->m_spritehack_t = false;
}
else
src->m_spritehack_t = false;
if (dst)
{
// TODO: clean up this mess
@@ -722,7 +708,9 @@ GSTextureCache::Source* GSTextureCache::CreateSource(const GIFRegTEX0& TEX0, con
GSVector4 sr(0, 0, w, h);
GSTexture* st = src->m_texture ? src->m_texture : dst->m_texture;
GSTexture* dt = m_renderer->m_dev->CreateRenderTarget(w, h, false);
GSTexture *dt = m_renderer->m_dev->CreateRenderTarget(w, h, false);
if (psm.pal > 0)
src->m_palette = m_renderer->m_dev->CreateTexture(256, 1);
if(!src->m_texture)
{
@@ -753,43 +741,6 @@ GSTextureCache::Source* GSTextureCache::CreateSource(const GIFRegTEX0& TEX0, con
else
ASSERT(0);
switch(TEX0.PSM)
{
default:
// Note: this assertion triggers in Xenosaga2 after the first intro scenes, when
// gameplay first begins (in the city).
ASSERT(0);
case PSM_PSMCT32:
src->m_fmt = FMT_32;
break;
case PSM_PSMCT24:
src->m_fmt = FMT_24;
break;
case PSM_PSMCT16:
case PSM_PSMCT16S:
src->m_fmt = FMT_16;
break;
case PSM_PSMT8H:
src->m_fmt = FMT_8H;
src->m_palette = m_renderer->m_dev->CreateTexture(256, 1);
break;
case PSM_PSMT8:
//Not sure, this wasn't handled at all.
//Xenosaga 2 and 3 use it, Tales of Legendia as well.
//It's always used for fog like effects.
src->m_fmt = FMT_8;
src->m_palette = m_renderer->m_dev->CreateTexture(256, 1);
break;
case PSM_PSMT4HL:
src->m_fmt = FMT_4HL;
src->m_palette = m_renderer->m_dev->CreateTexture(256, 1);
break;
case PSM_PSMT4HH:
src->m_fmt = FMT_4HH;
src->m_palette = m_renderer->m_dev->CreateTexture(256, 1);
break;
}
if(tmp != NULL)
{
m_renderer->m_dev->Recycle(dst->m_texture);
@@ -819,6 +770,16 @@ GSTextureCache::Source* GSTextureCache::CreateSource(const GIFRegTEX0& TEX0, con
dst->m_texture->OffsetHack_modx = modx;
dst->m_texture->OffsetHack_mody = mody;
}
else
{
if (m_paltex && psm.pal > 0)
{
src->m_texture = m_renderer->m_dev->CreateTexture(tw, th, Get8bitFormat());
src->m_palette = m_renderer->m_dev->CreateTexture(256, 1);
}
else
src->m_texture = m_renderer->m_dev->CreateTexture(tw, th);
}
if(src->m_texture == NULL)
{
@@ -827,8 +788,6 @@ GSTextureCache::Source* GSTextureCache::CreateSource(const GIFRegTEX0& TEX0, con
return NULL;
}
const GSLocalMemory::psm_t& psm = GSLocalMemory::m_psm[TEX0.PSM];
if(psm.pal > 0)
{
memcpy(src->m_clut, (const uint32*)m_renderer->m_mem.m_clut, psm.pal * sizeof(uint32));
@@ -897,7 +856,6 @@ GSTextureCache::Source::Source(GSRenderer* r, const GIFRegTEX0& TEX0, const GIFR
: Surface(r, temp)
, m_palette(NULL)
, m_initpalette(true)
, m_fmt(0)
, m_target(false)
, m_complete(false)
, m_p2t(NULL)
@@ -1015,7 +973,7 @@ void GSTextureCache::Source::Update(const GSVector4i& rect)
if(blocks > 0)
{
m_renderer->m_perfmon.Put(GSPerfMon::Unswizzle, bs.x * bs.y * blocks << (m_fmt == FMT_32 ? 2 : 0));
m_renderer->m_perfmon.Put(GSPerfMon::Unswizzle, bs.x * bs.y * blocks << (m_palette ? 2 : 0));
Flush(m_write.count);
}
@@ -1056,6 +1014,11 @@ void GSTextureCache::Source::Write(const GSVector4i& r)
void GSTextureCache::Source::Flush(uint32 count)
{
// This function as written will not work for paletted formats copied from framebuffers
// because they are 8 or 4 bit formats on the GS and the GS local memory module reads
// these into an 8 bit format while the D3D surfaces are 32 bit.
// However the function is never called for these cases. This is just for information
// should someone wish to use this function for these cases later.
const GSLocalMemory::psm_t& psm = GSLocalMemory::m_psm[m_TEX0.PSM];
int tw = 1 << m_TEX0.TW;
@@ -1071,7 +1034,13 @@ void GSTextureCache::Source::Flush(uint32 count)
GSLocalMemory::readTexture rtx = psm.rtx;
if(m_fmt == FMT_8)
GIFRegTEXA plainTEXA;
plainTEXA.AEM = 1;
plainTEXA.TA0 = 0;
plainTEXA.TA1 = 0x80;
if(m_palette)
{
pitch >>= 2;
rtx = psm.rtxP;
@@ -1095,13 +1064,13 @@ void GSTextureCache::Source::Flush(uint32 count)
if(m_texture->Map(m, &r))
{
(mem.*rtx)(o, r, m.bits, m.pitch, m_TEXA);
(mem.*rtx)(o, r, m.bits, m.pitch, plainTEXA);
m_texture->Unmap();
}
else
{
(mem.*rtx)(o, r, buff, pitch, m_TEXA);
(mem.*rtx)(o, r, buff, pitch, plainTEXA);
m_texture->Update(r, buff, pitch);
}

View File

@@ -29,17 +29,6 @@ class GSTextureCache
public:
enum {RenderTarget, DepthStencil};
enum TextureFormatType
{
FMT_32,
FMT_24,
FMT_16,
FMT_8H,
FMT_4HL,
FMT_4HH,
FMT_8,
};
class Surface : public GSAlignedClass<32>
{
protected:
@@ -71,7 +60,6 @@ public:
bool m_initpalette;
uint32 m_valid[MAX_PAGES]; // each uint32 bits map to the 32 blocks of that page
uint32* m_clut;
int m_fmt;
bool m_target;
bool m_complete;
bool m_repeating;

View File

@@ -177,7 +177,7 @@ void GSDevice11::SetupPS(PSSelector sel, const PSConstantBuffer* cb, PSSamplerSe
if(i == m_ps.end())
{
string str[16];
string str[17];
str[0] = format("%d", sel.fst);
str[1] = format("%d", sel.wms);
@@ -195,6 +195,7 @@ void GSDevice11::SetupPS(PSSelector sel, const PSConstantBuffer* cb, PSSamplerSe
str[13] = format("%d", sel.colclip);
str[14] = format("%d", sel.date);
str[15] = format("%d", sel.spritehack);
str[16] = format("%d", sel.point_sampler);
D3D11_SHADER_MACRO macro[] =
{
@@ -214,6 +215,7 @@ void GSDevice11::SetupPS(PSSelector sel, const PSConstantBuffer* cb, PSSamplerSe
{"PS_COLCLIP", str[13].c_str()},
{"PS_DATE", str[14].c_str()},
{"PS_SPRITEHACK", str[15].c_str()},
{"PS_POINT_SAMPLER", str[16].c_str()},
{NULL, NULL},
};
@@ -296,11 +298,11 @@ void GSDevice11::SetupOM(OMDepthStencilSelector dssel, OMBlendSelector bsel, uin
dsd.StencilReadMask = 1;
dsd.StencilWriteMask = 1;
dsd.FrontFace.StencilFunc = D3D11_COMPARISON_EQUAL;
dsd.FrontFace.StencilPassOp = D3D11_STENCIL_OP_KEEP;
dsd.FrontFace.StencilPassOp = dssel.alpha_stencil ? D3D11_STENCIL_OP_ZERO : D3D11_STENCIL_OP_KEEP;
dsd.FrontFace.StencilFailOp = D3D11_STENCIL_OP_KEEP;
dsd.FrontFace.StencilDepthFailOp = D3D11_STENCIL_OP_KEEP;
dsd.BackFace.StencilFunc = D3D11_COMPARISON_EQUAL;
dsd.BackFace.StencilPassOp = D3D11_STENCIL_OP_KEEP;
dsd.BackFace.StencilPassOp = dssel.alpha_stencil ? D3D11_STENCIL_OP_ZERO : D3D11_STENCIL_OP_KEEP;
dsd.BackFace.StencilFailOp = D3D11_STENCIL_OP_KEEP;
dsd.BackFace.StencilDepthFailOp = D3D11_STENCIL_OP_KEEP;
}

View File

@@ -135,7 +135,7 @@ void GSDevice9::SetupPS(PSSelector sel, const PSConstantBuffer* cb, PSSamplerSel
if(i == m_ps.end())
{
string str[15];
string str[16];
str[0] = format("%d", sel.fst);
str[1] = format("%d", sel.wms);
@@ -152,6 +152,7 @@ void GSDevice9::SetupPS(PSSelector sel, const PSConstantBuffer* cb, PSSamplerSel
str[12] = format("%d", sel.colclip);
str[13] = format("%d", sel.date);
str[14] = format("%d", sel.spritehack);
str[15] = format("%d", sel.point_sampler);
D3DXMACRO macro[] =
{
@@ -170,6 +171,7 @@ void GSDevice9::SetupPS(PSSelector sel, const PSConstantBuffer* cb, PSSamplerSel
{"PS_COLCLIP", str[12].c_str()},
{"PS_DATE", str[13].c_str()},
{"PS_SPRITEHACK", str[14].c_str()},
{"PS_POINT_SAMPLER", str[15].c_str()},
{NULL, NULL},
};
@@ -236,11 +238,11 @@ void GSDevice9::SetupOM(OMDepthStencilSelector dssel, OMBlendSelector bsel, uint
{
dss->StencilEnable = true;
dss->StencilReadMask = 1;
dss->StencilWriteMask = 2;
dss->StencilWriteMask = dssel.alpha_stencil ? 3 : 2;
dss->StencilFunc = dssel.date ? D3DCMP_EQUAL : D3DCMP_ALWAYS;
dss->StencilPassOp = dssel.fba ? D3DSTENCILOP_REPLACE : D3DSTENCILOP_KEEP;
dss->StencilFailOp = dssel.fba ? D3DSTENCILOP_ZERO : D3DSTENCILOP_KEEP;
dss->StencilDepthFailOp = dssel.fba ? D3DSTENCILOP_ZERO : D3DSTENCILOP_KEEP;
dss->StencilPassOp = dssel.alpha_stencil ? D3DSTENCILOP_ZERO : dssel.fba ? D3DSTENCILOP_REPLACE : D3DSTENCILOP_KEEP;
dss->StencilFailOp = dssel.fba && !dssel.alpha_stencil ? D3DSTENCILOP_ZERO : D3DSTENCILOP_KEEP;
dss->StencilDepthFailOp = D3DSTENCILOP_KEEP;
dss->StencilRef = 3;
}

View File

@@ -86,6 +86,7 @@ void GSDeviceOGL::SetupVS(VSSelector sel, const VSConstantBuffer* cb)
if(i == m_vs.end())
{
std::string macro = format("#define VS_BPPZ %d\n", sel.bppz)
+ format("#define VS_LOGZ %d\n", sel.logz)
+ format("#define VS_TME %d\n", sel.tme)
+ format("#define VS_FST %d\n", sel.fst)
+ format("#define VS_RTCOPY %d\n", sel.rtcopy);

View File

@@ -226,7 +226,7 @@ public:
}
void Set() {pthread_cond_signal(&m_cv);}
bool Wait(IGSLock* l) {pthread_cond_wait(&m_cv, *(GSCondVarLock*)l) == 0;}
bool Wait(IGSLock* l) {pthread_cond_wait(&m_cv, *(GSCondVarLock*)l) == 0; return true;}
operator pthread_cond_t* () {return &m_cv;}
};

View File

@@ -213,7 +213,7 @@ void GSWnd::HideFrame()
#else
GSWnd::GSWnd()
: m_window(NULL), m_Xwindow(0), m_XDisplay(NULL)
: m_window(NULL), m_Xwindow(0), m_XDisplay(NULL), m_ctx_attached(false)
{
}
@@ -278,16 +278,25 @@ bool GSWnd::CreateContext(int major, int minor)
if (!m_context) return false;
XSync( m_XDisplay, false);
return true;
}
void GSWnd::AttachContext()
{
glXMakeCurrent(m_XDisplay, m_Xwindow, m_context);
if (!IsContextAttached()) {
fprintf(stderr, "Attach the context\n");
glXMakeCurrent(m_XDisplay, m_Xwindow, m_context);
m_ctx_attached = true;
}
}
void GSWnd::DetachContext()
{
glXMakeCurrent(m_XDisplay, None, NULL);
if (IsContextAttached()) {
fprintf(stderr, "Detach the context\n");
glXMakeCurrent(m_XDisplay, None, NULL);
m_ctx_attached = false;
}
}
void GSWnd::CheckContext()

View File

@@ -103,6 +103,7 @@ class GSWnd
Window m_Xwindow;
Display* m_XDisplay;
bool m_ctx_attached;
bool m_managed;
int m_renderer;
GLXContext m_context;
@@ -115,6 +116,7 @@ public:
bool Attach(void* handle, bool managed = true);
void Detach();
bool IsManaged() const {return m_managed;}
bool IsContextAttached() const { return m_ctx_attached; }
Display* GetDisplay();
void* GetHandle() {return (void*)m_Xwindow;}

View File

@@ -112,12 +112,16 @@ GSdxApp::GSdxApp()
m_gs_renderers.push_back(GSSetting(3, "Direct3D%d ", "Hardware"));
m_gs_renderers.push_back(GSSetting(4, "Direct3D%d ", "Software"));
m_gs_renderers.push_back(GSSetting(5, "Direct3D%d ", "Null"));
#ifdef _LINUX
m_gs_renderers.push_back(GSSetting(7, "SDL 1.3", "Software"));
m_gs_renderers.push_back(GSSetting(8, "SDL 1.3", "Null"));
#endif
m_gs_renderers.push_back(GSSetting(10, "Null", "Software"));
m_gs_renderers.push_back(GSSetting(11, "Null", "Null"));
#ifdef _LINUX
m_gs_renderers.push_back(GSSetting(12, "OpenGL", "Hardware"));
m_gs_renderers.push_back(GSSetting(13, "OpenGL", "Software"));
#endif
m_gs_interlace.push_back(GSSetting(0, "None", ""));
m_gs_interlace.push_back(GSSetting(1, "Weave tff", "saw-tooth"));

View File

@@ -65,4 +65,7 @@ public:
vector<GSSetting> m_gpu_scale;
};
struct GSDXError {};
struct GSDXRecoverableError : GSDXError {};
extern GSdxApp theApp;

View File

@@ -94,6 +94,8 @@ BEGIN
CONTROL "WildArmsOffset",IDC_WILDHACK,"Button",BS_AUTO3STATE | WS_TABSTOP,14,105,64,10
LTEXT "TEXT_GOES_HERE",IDC_HACK_DESCRIPTION,92,20,209,145
CONTROL "Aggressive-CRC",IDC_AGGRESSIVECRC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,122,66,10
CONTROL "Alpha Stencil",IDC_ALPHASTENCIL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,139,66,10
CONTROL "Disable CRCs",IDC_CHECK_DISABLE_ALL_HACKS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,156,58,10
END
IDD_SHADEBOOST DIALOGEX 0, 0, 316, 129

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="windows-1250"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9,00"
Version="9.00"
Name="GSdx"
ProjectGUID="{18E42F6F-3A62-41EE-B42F-79366C4F1E95}"
RootNamespace="GSdx"
@@ -1700,6 +1700,14 @@
RelativePath=".\res\convert.fx"
>
</File>
<File
RelativePath=".\res\cs.fx"
>
</File>
<File
RelativePath=".\res\fxaa.fx"
>
</File>
<File
RelativePath=".\res\interlace.fx"
>

View File

@@ -32,12 +32,6 @@
//#define DISABLE_HW_TEXTURE_CACHE // Slow but fixes a lot of bugs
//#define DISABLE_CRC_HACKS // Disable all game specific hacks
#if defined(DISABLE_HW_TEXTURE_CACHE) && !defined(DISABLE_CRC_HACKS)
#define DISABLE_CRC_HACKS
#endif
//#define DISABLE_BITMASKING
//#define DISABLE_COLCLAMP

View File

@@ -34,8 +34,28 @@ void help()
int main ( int argc, char *argv[] )
{
if ( argc != 3 ) help();
if ( argc == 3) {
GSsetSettingsDir(argv[1]);
GSReplay(argv[2], 12);
} else if ( argc == 2) {
#ifdef XDG_STD
std::string home("HOME");
char * val = getenv( home.c_str() );
if (val == NULL) {
fprintf(stderr, "Failed to get the home dir\n");
help();
}
std::string ini_dir(val);
ini_dir += "/.config/pcsx2/inis";
GSsetSettingsDir(ini_dir.c_str());
GSReplay(argv[1], 12);
#else
fprintf(stderr, "default ini dir only supported on XDG\n");
help();
#endif
} else
help();
GSsetSettingsDir(argv[1]);
GSReplay(argv[2], 12);
}

View File

@@ -2,10 +2,10 @@
#define FMT_32 0
#define FMT_24 1
#define FMT_16 2
#define FMT_8H 3
#define FMT_4HL 4
#define FMT_4HH 5
#define FMT_8 6
#define FMT_PAL 4 /* flag bit */
// And I say this as an ATI user.
#define ATI_SUCKS 1
#if SHADER_MODEL >= 0x400
@@ -24,7 +24,7 @@
#define PS_FST 0
#define PS_WMS 0
#define PS_WMT 0
#define PS_FMT FMT_8
#define PS_FMT FMT_32
#define PS_AEM 0
#define PS_TFX 0
#define PS_TCC 1
@@ -37,6 +37,7 @@
#define PS_COLCLIP 0
#define PS_DATE 0
#define PS_SPRITEHACK 0
#define PS_POINT_SAMPLER 0
#endif
struct VS_INPUT
@@ -104,6 +105,15 @@ cbuffer cb1
float4 sample_c(float2 uv)
{
if (ATI_SUCKS && PS_POINT_SAMPLER)
{
// Weird issue with ATI cards (happens on at least HD 4xxx and 5xxx),
// it looks like they add 127/128 of a texel to sampling coordinates
// occasionally causing point sampling to erroneously round up.
// I'm manually adjusting coordinates to the centre of texels here,
// though the centre is just paranoia, the top left corner works fine.
uv = (trunc(uv * WH.zw) + float2(0.5, 0.5)) / WH.zw;
}
return Texture.Sample(TextureSampler, uv);
}
@@ -130,7 +140,7 @@ float4 sample_rt(float2 uv)
#define PS_FST 0
#define PS_WMS 0
#define PS_WMT 0
#define PS_FMT FMT_8
#define PS_FMT FMT_32
#define PS_AEM 0
#define PS_TFX 0
#define PS_TCC 0
@@ -338,7 +348,7 @@ float4 sample_4a(float4 uv)
if(PS_RT) c *= 128.0f / 255;
#endif
return c;
return c * 255./256 + 0.5/256;
}
float4x4 sample_4p(float4 u)
@@ -359,50 +369,38 @@ float4 sample(float2 st, float q)
{
st /= q;
}
float4 t;
float4x4 c;
float2 dd;
/*
if(PS_FMT <= FMT_16 && PS_WMS < 2 && PS_WMT < 2)
if(!PS_LTF && PS_FMT <= FMT_16 && PS_WMS < 2 && PS_WMT < 2)
{
t = sample_c(st);
c[0] = sample_c(st);
}
*/
if(PS_FMT <= FMT_16 && PS_WMS < 3 && PS_WMT < 3)
if (!PS_LTF && PS_FMT <= FMT_16 && PS_WMS < 3 && PS_WMT < 3)
{
t = sample_c(clampuv(st));
c[0] = sample_c(clampuv(st));
}
else
{
float4 uv;
float2 dd;
if(PS_LTF)
{
uv = st.xyxy + HalfTexel;
dd = frac(uv.xy * WH.zw);
dd = frac(uv.xy * WH.zw);
}
else
{
uv = st.xyxy;
}
uv = wrapuv(uv);
float4x4 c;
if(PS_FMT == FMT_8H)
{
c = sample_4p(sample_4a(uv));
}
else if(PS_FMT == FMT_4HL)
{
c = sample_4p(fmod(sample_4a(uv), 1.0f / 16));
}
else if(PS_FMT == FMT_4HH)
{
c = sample_4p(fmod(sample_4a(uv) * 16, 1.0f / 16));
}
else if(PS_FMT == FMT_8)
if(PS_FMT & FMT_PAL)
{
c = sample_4p(sample_4a(uv));
}
@@ -410,34 +408,36 @@ float4 sample(float2 st, float q)
{
c = sample_4c(uv);
}
}
if(PS_LTF)
{
t = lerp(lerp(c[0], c[1], dd.x), lerp(c[2], c[3], dd.x), dd.y);
}
else
[unroll]
for (uint i = 0; i < 4; i++)
{
if((PS_FMT & ~FMT_PAL) == FMT_32)
{
t = c[0];
#if SHADER_MODEL <= 0x300
if(PS_RT) c[i].a *= 128.0f / 255;
#endif
}
else if((PS_FMT & ~FMT_PAL) == FMT_24)
{
c[i].a = !PS_AEM || any(c[i].rgb) ? TA.x : 0;
}
else if((PS_FMT & ~FMT_PAL) == FMT_16)
{
c[i].a = c[i].a >= 0.5 ? TA.y : !PS_AEM || any(c[i].rgb) ? TA.x : 0;
}
}
if(PS_FMT == FMT_32)
{
#if SHADER_MODEL <= 0x300
if(PS_RT) t.a *= 128.0f / 255;
#endif
if(PS_LTF)
{
t = lerp(lerp(c[0], c[1], dd.x), lerp(c[2], c[3], dd.x), dd.y);
}
else if(PS_FMT == FMT_24)
else
{
t.a = !PS_AEM || any(t.rgb) ? TA.x : 0;
t = c[0];
}
else if(PS_FMT == FMT_16)
{
// a bit incompatible with up-scaling because the 1 bit alpha is interpolated
t.a = t.a >= 0.5 ? TA.y : !PS_AEM || any(t.rgb) ? TA.x : 0;
}
return t;
}
@@ -519,19 +519,24 @@ void atst(float4 c)
else if(PS_ATST == 2) // l
{
#if PS_SPRITEHACK == 0
clip(AREF - a);
clip(AREF - a - 0.5f);
#endif
}
else if(PS_ATST == 3) // le
{
clip(AREF - a);
clip(AREF - a + 0.5f);
}
else if(PS_ATST == 4) // e
{
clip(0.5f - abs(a - AREF)); }
else if(PS_ATST == 5 || PS_ATST == 6) // ge, g
clip(0.5f - abs(a - AREF));
}
else if(PS_ATST == 5) // ge
{
clip(a - AREF);
clip(a - AREF + 0.5f);
}
else if(PS_ATST == 6) // g
{
clip(a - AREF - 0.5f);
}
else if(PS_ATST == 7) // ne
{

View File

@@ -5,10 +5,7 @@
#define FMT_32 0
#define FMT_24 1
#define FMT_16 2
#define FMT_8H 3
#define FMT_4HL 4
#define FMT_4HH 5
#define FMT_8 6
#define FMT_PAL 4 /* flag bit */
#ifndef VS_BPPZ
#define VS_BPPZ 0
@@ -25,7 +22,7 @@
#define PS_FST 0
#define PS_WMS 0
#define PS_WMT 0
#define PS_FMT FMT_8
#define PS_FMT FMT_32
#define PS_AEM 0
#define PS_TFX 0
#define PS_TCC 1
@@ -87,22 +84,24 @@ void vs_main()
// input granularity is 1/16 pixel, anything smaller than that won't step drawing up/left by one pixel
// example: 133.0625 (133 + 1/16) should start from line 134, ceil(133.0625 - 0.05) still above 133
// Greg TEST
//float logz = log2(1+float(z))/32 * 0.999f;
//vec4 p = vec4(i_p, logz, 0) - vec4(0.05f, 0.05f, 0, 0);
vec4 p = vec4(i_p, z, 0) - vec4(0.05f, 0.05f, 0, 0);
vec4 final_p = p * VertexScale - VertexOffset;
// FIXME
// FLIP vertically
final_p.y *= -1.0f;
if(VS_LOGZ == 1)
{
final_p.z = log2(1.0f + float(z)) / 32.0f;
}
VSout.p = final_p;
gl_Position = final_p; // NOTE I don't know if it is possible to merge POSITION_OUT and gl_Position
#if VS_RTCOPY
VSout.tp = final_p * vec4(0.5, -0.5, 0, 0) + 0.5;
#endif
if(VS_TME != 0)
{
if(VS_FST != 0)
@@ -429,27 +428,19 @@ vec4 sample_color(vec2 st, float q)
mat4 c;
if(PS_FMT == FMT_8H)
{
if((PS_FMT & FMT_PAL) != 0)
c = sample_4p(sample_4a(uv));
}
else if(PS_FMT == FMT_4HL)
{
// FIXME mod and fmod are different when value are negative
c = sample_4p(mod(sample_4a(uv), 1.0f / 16));
}
else if(PS_FMT == FMT_4HH)
{
// FIXME mod and fmod are different when value are negative
c = sample_4p(mod(sample_4a(uv) * 16, 1.0f / 16));
}
else if(PS_FMT == FMT_8)
{
c = sample_4p(sample_4a(uv));
}
else
{
c = sample_4c(uv);
// PERF: see the impact of the exansion before/after the interpolation
for (int i = 0; i < 4; i++) {
if((PS_FMT & ~FMT_PAL) == FMT_16)
{
// FIXME GLSL any only support bvec so try to mix it with notEqual
bvec3 rgb_check = notEqual( t.rgb, vec3(0.0f, 0.0f, 0.0f) );
t.a = t.a >= 0.5 ? TA.y : ( (PS_AEM == 0) || any(rgb_check) ) ? TA.x : 0.0f;
}
}
if(PS_LTF != 0)
@@ -462,11 +453,7 @@ vec4 sample_color(vec2 st, float q)
}
}
if(PS_FMT == FMT_32)
{
;
}
else if(PS_FMT == FMT_24)
if(PS_FMT == FMT_24)
{
// FIXME GLSL any only support bvec so try to mix it with notEqual
bvec3 rgb_check = notEqual( t.rgb, vec3(0.0f, 0.0f, 0.0f) );

View File

@@ -24,27 +24,19 @@
*/
#define IDC_NATIVERES 2001
#define IDC_VSYNC 2002
#define IDC_PALTEX 2003
#define IDC_LOGZ 2004
#define IDC_CHECK6 2005
#define IDC_CODECS 2006
#define IDC_RESOLUTION 2007
#define IDC_SHADER 2008
#define IDC_RESX_EDIT 2009
#define IDC_RESY_EDIT 2010
#define IDC_AA1 2011
#define IDC_SWTHREADS_EDIT 2012
#define IDC_CUSTOM1 2013
#define IDC_MSAAEDIT 2013
#define IDC_CHECK4 2014
#define IDC_FILTER 2015
#define IDC_DITHERING 2016
#define IDC_RADIO1 2017
#define IDC_RESX 2018
#define IDC_RESY 2019
#define IDD_CONFIG 2020
#define IDC_MSAA 2020
#define IDB_LOGO9 2021
#define IDB_LOGO10 2022
#define IDC_FBA 2023
@@ -52,7 +44,6 @@
#define IDC_LOGO11 2025
#define IDD_CAPTURE 2026
#define IDD_GPUCONFIG 2027
#define IDC_BLUR 2028
#define IDC_RENDERER 2029
#define IDC_INTERLACE 2030
#define IDC_ASPECTRATIO 2031
@@ -67,14 +58,8 @@
#define IDC_WIDTH 2040
#define IDC_HEIGHT 2041
#define IDC_CONFIGURE 2042
#define IDC_STATIC_TEXT_HWAA 2043
#define IDC_ALPHAHACK2 2044
#define IDC_STATIC_TEXT_SKIPDRAW 2045
#define IDC_WINDOWED 2046
#define IDC_USERHACKS 2047
#define IDC_SKIPDRAWHACKEDIT 2048
#define IDC_STATIC10 2049
#define IDC_HACKDISABLED 2050
#define IDC_SPRITEHACK 2051
#define IDRESET 2052
#define IDC_SATURATION_SLIDER 2053
@@ -93,6 +78,8 @@
#define IDC_STATIC_MSAA 2074
#define IDC_STATIC_SKIPDRAW 2075
#define IDC_AGGRESSIVECRC 2076
#define IDC_CHECK_DISABLE_ALL_HACKS 2077
#define IDC_ALPHASTENCIL 2078
#define IDC_COLORSPACE 3000
#define IDR_CONVERT_FX 10000
#define IDR_TFX_FX 10001
@@ -111,7 +98,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 10012
#define _APS_NEXT_COMMAND_VALUE 32771
#define _APS_NEXT_CONTROL_VALUE 2077
#define _APS_NEXT_CONTROL_VALUE 2078
#define _APS_NEXT_SYMED_VALUE 5000
#endif
#endif

View File

@@ -27,12 +27,15 @@ using namespace std;
#include "GS.h"
#include "GifTransfer.h"
#include "null/GSnull.h"
#ifdef _MSC_VER
# include "svnrev.h"
#endif
const unsigned char version = PS2E_GS_VERSION;
const unsigned char revision = 0;
const unsigned char build = 1; // increase that with each version
static char *libraryName = "GSnull Driver";
static char libraryName[256];
Config conf;
u32 GSKeyEvent = 0;
bool GSShift = false, GSAlt = false;
@@ -60,7 +63,12 @@ EXPORT_C_(u32) PS2EgetLibType()
EXPORT_C_(char*) PS2EgetLibName()
{
return libraryName;
#ifdef _MSC_VER
sprintf_s( libraryName, "GSnull Driver r%d%s",SVN_REV, SVN_MODS ? "m" : "");
return libraryName;
#else
return "GSnull Driver";
#endif
}
EXPORT_C_(u32) PS2EgetLibVersion2(u32 type)

View File

@@ -140,6 +140,8 @@
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(DXSDK_DIR)\Lib\x86;$(LibraryPath)</LibraryPath>
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(DXSDK_DIR)\include;$(IncludePath)</IncludePath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Midl>

View File

@@ -18,14 +18,16 @@
#include <errno.h>
#include <string>
using namespace std;
#ifdef _MSC_VER
# include "svnrev.h"
#endif
#include "Pad.h"
const u8 version = PS2E_PAD_VERSION;
const u8 revision = 0;
const u8 build = 1; // increase that with each version
static char *libraryName = "Padnull Driver";
static char libraryName[256];
string s_strIniPath="inis";
string s_strLogPath="logs";
@@ -41,7 +43,13 @@ EXPORT_C_(u32) PS2EgetLibType()
EXPORT_C_(char*) PS2EgetLibName()
{
return libraryName;
#ifdef _MSC_VER
sprintf_s( libraryName, "Padnull Driver r%d%s",SVN_REV, SVN_MODS ? "m" : "");
return libraryName;
#else
return "Padnull Driver";
#endif
}
EXPORT_C_(u32) PS2EgetLibVersion2(u32 type)

View File

@@ -16,7 +16,9 @@
#include <stdlib.h>
#include <string>
using namespace std;
#ifdef _MSC_VER
# include "svnrev.h"
#endif
#include "USB.h"
string s_strIniPath="inis";
string s_strLogPath="logs";
@@ -25,7 +27,7 @@ const unsigned char version = PS2E_USB_VERSION;
const unsigned char revision = 0;
const unsigned char build = 7; // increase that with each version
static char *libraryName = "USBnull Driver";
static char libraryName[256];
USBcallback USBirq;
Config conf;
@@ -57,7 +59,12 @@ EXPORT_C_(u32) PS2EgetLibType()
EXPORT_C_(char*) PS2EgetLibName()
{
return libraryName;
#ifdef _MSC_VER
sprintf_s( libraryName, "USBnull Driver r%d%s",SVN_REV, SVN_MODS ? "m" : "");
return libraryName;
#else
return "USBnull Driver";
#endif
}
EXPORT_C_(u32) PS2EgetLibVersion2(u32 type)

View File

@@ -31,12 +31,15 @@
using namespace std;
#include "DEV9.h"
#ifdef _MSC_VER
# include "svnrev.h"
#endif
const unsigned char version = PS2E_DEV9_VERSION;
const unsigned char revision = 0;
const unsigned char build = 5; // increase that with each version
const char *libraryName = "DEV9null Driver";
static char libraryName[256];
// Our IRQ call.
void (*DEV9irq)(int);
@@ -73,7 +76,12 @@ EXPORT_C_(u32) PS2EgetLibType()
EXPORT_C_(char*) PS2EgetLibName()
{
return (char *)libraryName;
#ifdef _MSC_VER
sprintf_s( libraryName, "DEV9null Driver r%d%s",SVN_REV, SVN_MODS ? "m" : "");
return libraryName;
#else
return "DEV9null Driver";
#endif
}
EXPORT_C_(u32) PS2EgetLibVersion2(u32 type)

View File

@@ -35,7 +35,6 @@ extern const unsigned char version;
extern const unsigned char revision;
extern const unsigned char build;
extern const unsigned int minor;
extern const char *libraryName;
void SaveConfig();
void LoadConfig();

Some files were not shown because too many files have changed in this diff Show More