Compare commits

...

58 Commits

Author SHA1 Message Date
Joachim Henze
5ad5272098 [0.4.12][SDK] Remove 'RC' from version.cmake 2019-09-20 13:40:45 +02:00
Joachim Henze
5268019140 [0.4.12][EXPLORER] Mitigate CORE-15760 'system menu may close unexpectedly'
Looks like a race condition of the async part of SetForegroundWindow().

KVM https://reactos.org/testman/compare.php?ids=69065,69069
VBOX https://reactos.org/testman/compare.php?ids=69064,69068

The regression was unhidden by SVN 74972 ==
19dd22d422

cherry-picked from 0.4.13-dev-1165-g
d2976ca58e
2019-09-20 00:15:16 +02:00
Joachim Henze
3a6cb85f12 [0.4.12][USETUP] Addendum to last commit
I forgot to add that yet unversioned header for
pt-PT localization. It was present when I built locally.
2019-08-26 16:39:15 +02:00
Joachim Henze
2038a6adce [0.4.12][SETUPLIB][USETUP] Fix regression CORE-16274
Symptom 'USETUP detects active ext2 partition as raw and attempts to format'

It was a regression of 0.4.12-dev-835-g
c1fbc2d651

We now let the user decide in terms of uncertainty (unrecognized FS'es)
This commit is a squashed backport of the following commits to master:

The essential parts of the fix 1 by Hermès Bélusca-Maïto
0.4.13-dev-997-g
626c654a10

The essential parts of the fix 2 by Hermès Bélusca-Maïto
0.4.13-dev-998-g
59acff79e5

A compilation fix on top contributed by Katayama Hirofumi MZ
0.4.13-dev-1000-g
bfea773ee5

And because it made the backporting easier:
I also took a localization patch of B. George
0.4.13-dev-922-g
2fbff73792

and an improvement from Oleg Dubinskiy
0.4.13-dev-714-g
6ee7cba77b

and a GCC8 fix of hpoussin
0.4.13-dev-275-g
6129fbaf1e
2019-08-26 15:54:04 +02:00
Joachim Henze
9286a1fe0c [0.4.12][WIN32SS] WindowSnap must not affect the taskbar
This fixes regression CORE-16289 where we could not longer
move the taskbar at a different than default location,
as WindowSnap would interfere.

Many Thanks to the patches author Doug Lyons.

Eventually the heuristic that we use here to identify the
taskbar via used window-styles could be improved later.
Theoretically possible that it bails out on some other windows.

The regression was introduced by 0.4.12-dev-373-g
7e396787ed

patch is a backport from master 0.4.13-dev-962-g
4193b8d8ac
2019-08-20 12:11:36 +02:00
Joachim Henze
3fa352ba5d [0.4.12][COMCTL32] Fix regression CORE-16280
A very old regression. The visible symptom for us was, that the Apply button in our
desk.cpl was always visible, even in case no user input was done in the dlg yet.

I am still a bit afraid, because this patch is quite new and
it might unhide issues otherwhere, but since it fixes a regression,
I decided to take that risk.

This patch is a backport of 0.4.13-dev-908-g
344d559935
2019-08-18 15:02:24 +02:00
Joachim Henze
431cf0edc9 [0.4.12][COMCTL32] Fix regressions CORE-16316 & CORE-16275
Multiple invocations of ImageList_Destroy() could lead to double-free and
would crash applications since 0.4.12-RC-27-g
89f3036245

Many Thanks to patches author Mark Jansen.

Master is also affected by this bug but did not receive the fix yet.
2019-08-18 14:12:48 +02:00
Joachim Henze
eb1a43d3f0 [0.4.12][SHELL32] ShellExecute again, fix regression CORE-16299
We unintentionally introduced CORE-16299 by
0.4.12-RC-47-g
625a5a0780

Thx to author Doug Lyons for this patch!

Master is also affected, but will be serviced later.
2019-08-11 16:44:02 +02:00
Joachim Henze
d52cac4ca1 [0.4.12][WIN32SS] MENU_ShowPopup() We chicken out for this rls still
as the release data is close and we have to manage the risk.
This reverts last commit and all menu related code back to the state of
0.4.12-dev-369-g
007ec0310c

Although Mark Jansen seems to be on a very promising path in master,
we still revert one last time for this release to the more well known
state we had during 0.4.12dev'ing.

This will fix regressions CORE-16298, CORE-16297
and will keep CORE-15863 in fixed state.
Systray and nested desktop popups do work very well like this.

We therefore intentionally and willingly have to accept the broken
partial-offscreen-menus of CORE-15733.
Those are not as important as the other tickets.

Meanwhile we keep on improving master based on the more recent states.
2019-08-07 23:07:33 +02:00
Joachim Henze
3113d13793 [0.4.12][WIN32SS] Improve MENU_ShowPopup()
to fix regression CORE-15863
This is the work that Mark jansen committed into master
0.4.13-dev-791-g
a59df3858c
and
0.4.13-dev-792-g
7c45a646e9
and
0.4.13-dev-793-g
b5c6af459c

squashed into one single commit for 0.4.12RC.

It's not perfect yet anymore for positioning the
popup for systray icons if they contain many entries.
And also not perfect when pressing the context menu key
on desktop after a .lnk has been started,
but overall gives a better user-experience for nested popups
on the desktop, which is much more important.
We can build up on top of it later in master.
2019-08-06 21:48:35 +02:00
Joachim Henze
625a5a0780 [0.4.12][SHELL32] Improve ShellExecute
This fixes regression CORE-6412 and also fixes CORE-12927
by bringing us a bit closer to Wine implementation.

Thanks to patches author Doug Lyons.
The removed code looks like historic workaround code.

Automated tests do improve as well
VBox https://reactos.org/testman/compare.php?ids=68662,68696
KVM https://reactos.org/testman/compare.php?ids=68663,68697

cherry-pick of 0.4.13-dev-790-g
0f16d44b66
2019-08-06 20:39:35 +02:00
Joachim Henze
317ca41e75 [0.4.12][INPUT][INTL][SYSSETUP] Limit Combobox height CORE-16252
v6 comboboxes default to displaying up to 30entries and
give a bad user experience in 2nd stage
where we usually have low vertical screen resolution.
Therefore limit the height of the expanded boxes to
bring us close to how they were drawn before 0.4.12-dev-882-g
e3e173ffaa

Adding CBS_NOINTEGRALHEIGHT gives similar result for both:
comctl32 v5 and v6 comboboxes.

Similar commit went into 0.4.13-dev-740-g
8b67edd8fa
2019-07-30 23:21:54 +02:00
Joachim Henze
9dde283e9a [0.4.12][WIN32SS] Fix regression of font alignment CORE-16133
This fixes fonts not being displayed properly within an edit in
Precise Calculator application.

Jim Tabor intended to structurally use flTextAlign over
lTextAlign internally within IntExtTextOutW().
He initially committed these changes in 0.4.12-dev-805-g
3377fe184e

But we unintentionally lost these changes via 0.4.12-RC-26-g
486fd83a95

Many thanks to Doug Lyons who helped a lot with fixing CORE-16133.

We also corrected this issue in master via 0.4.13-dev-707-g
0e4db883e5 and 0.4.13-dev-712-g
64e182e429
2019-07-27 10:09:13 +02:00
Joachim Henze
ca0e00e8af [0.4.12][BOOTDATA][SETUP] Fix regression CORE-16200 font rendering
By removing font substitution for 'Microsoft Sans Serif'.
Thanks to the patches author Katayama Hirofumi MZ.

This is a partial revert of the guilty rev
master guilty 0.4.13-dev-9-g
811faed421

RC guilty 0.4.12-RC-13-g
8d3def0529

VBox test result:
https://reactos.org/testman/compare.php?ids=68497,68499
2019-07-15 03:35:42 +02:00
Joachim Henze
6f651b6ec5 [0.4.12][WIN32SS] Workaround Marlett drawing for Window close buttons CORE-16125
It regressed for RC by 0.4.12-RC-16-g
e1ac9dcd66

and for master by 0.4.13-dev-110-g
19fc9415bf

Thanks to Katayama Hirofumi MZ, the workarounds author.
We think it is a workaround, so we will not commit to master.

Testbot runs (executed on master) seem to be non-alarming
VBox https://reactos.org/testman/compare.php?ids=68471,68479
KVM https://reactos.org/testman/compare.php?ids=68472,68480
2019-07-08 00:05:00 +02:00
Joachim Henze
021f498cb2 [0.4.12][WIN32SS][FREETYPE] Fix performance regression FreeBASIC console output CORE-16177
By restoring historic state of GreExtTextOutW() / IntExtTextOutW()

This reverts guilty rev 0.4.12-dev-190-g
d6cfeaef51
as well as some follow ups that dealt with new errors popping up afterwards.
The revert got ack of Katayama Hirofumi MZ.

Test VBox on master: https://reactos.org/testman/compare.php?ids=68471,68475
Test KVM on master: https://reactos.org/testman/compare.php?ids=68472,68476

I intend to restore the function to that same state in master today.
2019-07-07 18:21:19 +02:00
Joachim Henze
1a9f0bc429 [0.4.12][NTOSKRNL] Restore section layout to fix BSOD regression CORE-14683
This fixes high chance for BSOD 0x50 PAGE_FAULT_IN_NONPAGED_AREA
when booting after DVDwriteNow has been installed.

Many thanks to the fixes author Thomas Faber.

We believe this was a regression of SVN r55835
6ebf8c2537

The fix has not been applied to master yet.
2019-07-06 12:38:43 +02:00
Hermès Bélusca-Maïto
f9b51388b8 [0.4.12][GDI32] Do not 'hard-assert' during the font-unit-test
The goal of this is to revive the VBox-testbot that failed miserably
like the VBox-one in
https://build.reactos.org/#/builders/9/builds/24947
all the way through the 0.4.12RCs, because 0.4.12-dev was in a poor state
upon branching.

cherry picked from commit 0.4.13-dev-23-g
7334567211
2019-07-03 01:12:03 +02:00
Joachim Henze
27da885632 [0.4.12][COMCTL32] Fix regression CORE-14619 "Checkbox buttons theming"
It regressed by Wine sync in 0.4.9-dev-719-g
b3fb8555bf

The fix has not been committed to master yet,
it is a partial sync to Wine Staging 3.3

Thanks to the patches author Andreas Maier <staubim@quantentunnel.de>
JIRA username 'andy-123'

two testbot runs:
https://reactos.org/testman/compare.php?ids=68367,68369
https://reactos.org/testman/compare.php?ids=68367,68371
2019-06-22 00:09:47 +02:00
Katayama Hirofumi MZ
d5c85cd522 [0.4.12][WIN32SS][NTGDI] usWinAscent and usWinDescent must be treated as signed (#1670)
TT_OS2.usWinAscent and TT_OS2.usWinDescent must be treated as FT_Short.
These values affect font metrics.
This PR will fix CORE-14994 that regressed by 0.4.10-dev-466-g
35f62fc5ba

cherry picked from commit 0.4.13-dev-483-g
641a0ea99b
2019-06-21 20:59:45 +02:00
Andreas Maier
8c717d09ae [0.4.12][EXPLORER] Properly initialize tbBtn.iBitmap. CORE-14262 PR#1667
In CNotifyToolbar::AddButton tbBtn.iBitmap (imagelist-index)
was initialized with 0. TightVNC adds the icon without NIF_ICON flag.
So the wrong icon index was kept and later replaced.

This fixes an old regression visible since SVN r68893

cherry picked from commit 0.4.13-dev-481-g
8d6c9e844c
2019-06-19 21:10:56 +02:00
Andreas Maier
c6aa07f7ce [0.4.12][EXPLORER] fix traces PR#1667
cherry picked from commit 0.4.13-dev-480-g
7796df375a
2019-06-19 21:07:35 +02:00
Mark Jansen
e9fb7dcee2 [0.4.12][INPUT] Don't race the system to free an imagelist
Fixes CORE-16121
"reproducible heap assertion at 2nd setup stage when
adding additional keyboard layouts"

https://reactos.org/testman/compare.php?ids=68231,68234

cherry-picked from 0.4.13-dev-459-g
f3d1d38041
2019-06-18 01:39:38 +02:00
Joachim Henze
ec3cc13ab0 [0.4.12][WIN32K:ENG] Fix fullscreen switch regressions CORE-15325 & CORE-14684 PR#1659
In PDEVOBJ_vRefreshModeList, find a proper match for the current
display mode instead of assuming a constant index.

Both tickets regressed by SVN r74404
384affe098

Many thanks to the patches author Thomas Faber.

cherry picked from commit 0.4.13-dev-456-g
00e882c2b1
2019-06-16 13:07:55 +02:00
Joachim Henze
c49b6a4bd5 [0.4.12][LPK] Fix for regression CORE-16115. (#1654)
Fixes "STDU Viewer 1.6.375 crashing"
A regression of 0.4.12-dev-933-g
7143e411c4

Proposed changes of author Baruch Rutman aka "peterooch" peterooch@gmail.com:

- Use the total extent (width) and font metrics (height) as values
  to put in the lpSize variable instead of calling ScriptString_pSize()
  in the LpkGetTextExtentExPoint() function.

- Use GetTextExtentExPointWPri in more cases as another effort to get the data.

Many thanks for that prompt fix!
Master got fixed similar in 0.4.13-dev-445-g
22064d7787
2019-06-15 17:50:36 +02:00
Joachim Henze
152ee20578 [0.4.12][MSI] Fix regression CORE-14646
Pressing Next-button in setup of "1C Enterprise (training version) 8.3.10.2252"
did not have any effect anymore. Setup could not be completed anymore.

The regession was introduced to ros by 0.4.8-dev-739-g
f8b992f2d3
and was confirmed being a Wine-regression in
https://bugs.winehq.org/show_bug.cgi?id=45445

Thanks to Fabian Maurer for communicating to Wine and thanks to
Thomas Faber for regenerating cond.tab.c from the fixed source file cond.y
using BISON.

I also committed the same fix to master during 0.4.13-dev.
2019-06-14 23:02:55 +02:00
Joachim Henze
78b5bc9de7 [0.4.12][NTOS:PNP] Workaround a BSOD with HDAUDIO during boot PR#1560 CORE-15874
Thanks to Thomas Faber, author of the patch.
I depend on external testers here for confirmation of effectiveness.

We think the problem was unhidden by 0.4.12-dev-757-g
789cfd3ddc
and surrounding works.

When traversing the device tree, keep a reference to the current device.
Devices can be deleted during the traversal, so in order to keep
the tree walk intact without use-after-free situations,
this just keeps the PDO around until we no longer need the device node.

It could be argued that this is a hack, however implementing it the "correct way"
(I haven't actually researched how Windows does this) is unlikely to be possible
with our current PNP manager -- so this should keep us going for a while.
2019-06-13 01:25:28 +02:00
Joachim Henze
9513c9bf12 [0.4.12][COMCTL32] Workaround v6 button redraw regressions CORE-13278 & CORE-16093
Most likely not correct, as it breaks comctl32:buttonv6 tests
https://reactos.org/testman/compare.php?ids=68146,68147

But greatly improves perceived flickering when hovering
with the mouse about buttons in unthemed mode.
We still fear that this workaround could break buttons that
intend to change their appearance when being hovered.

We workaround only the RC, but will leave master affected for now.
2019-06-12 20:12:21 +02:00
Joachim Henze
ab7f77a021 [WIN32SS][NTUSER] Addendum to 0.4.12-dev-956-g0197c4f CORE-15893
Aims PixelPerfection for a regression that was introduced by
0.4.12-dev-954-g
1f619b2781

and then improved already by
0.4.12-dev-956-g
0197c4f875

The tweaking got ack of Jim Tabor. Test results:
https://reactos.org/testman/compare.php?ids=68026,68029

cherry-picked from 0.4.13-dev-397-g
3cc50cedaf
2019-06-10 15:38:23 +02:00
Joachim Henze
4c1b17e54f [0.4.12][COMCTL32] Addendum to last commit
CORE-14433, CORE-15892, CORE-15118, CORE-15529
Similar to commit5 from PR#1211
2019-06-09 22:41:25 +02:00
Joachim Henze
89f3036245 [0.4.12][COMCTL32] Fix multiple regressions v5/v6 imagelist when SxS
The problems began when we committed the two SxS commits
0.4.8-dev-502-g
7000fe2340
and
0.4.8-dev-503-g
f318a25e10
Since then incompatible comctl32 v5/v6 imagelist were in mixed usage.

The new comctl32 patch fixes the following regressions:
- CORE-14433 MSVCPP 6 installer browseForFolder-dlg lacked icons
- CORE-14433 MS Word Viewer 2003 open-dlg lacked icons
- CORE-15118 OCR CuneiForm 12 lacked icons in the menubar
- CORE-15892 DosBOX 0.74.2 NSIS-installer lacked checkboxes
- CORE-15529 Bulk Rename utility lacked icons

Fixing comctl32 directly was applied to 0.4.12RC for the first time.
Older releases always used a partial SxS revert instead.
Master is still unpatched to date.

The fix is a combination of the first 4 commits of PR#1211 and
the attached is_valid.diff. Thanks to everyone involved:
Giannis Adamopoulos, Mark Jansen and Andreas Maier!
2019-06-09 11:54:37 +02:00
Joachim Henze
486fd83a95 [0.4.12][WIN32SS][FREETYPE] Avoid performance regression CORE-16020
by reverting essential parts of "Font rotation at arbitrary angles"
which was once committed in several steps:

Initial commit (PR#1207)
0.4.12-dev-243-g
f757a13519
broke font rendering for GTK apps CORE-15623

Second commit (PR#1238)
0.4.12-dev-558-g
64987cf273
restored font rendering in GTK apps but introduced slowdown CORE-16020

Katayama agreed to the temporal revert and will try to come up later
with a performance optimized version.
We revert in 0.4.12-RC and 0.4.13-dev.

The revert will cause failure-increases in gdi32:TextTransform.
2019-06-06 02:21:36 +02:00
Joachim Henze
c7fadfadfb [0.4.12][WIN32SS] Revert "Make App Switcher use the owner window's icon (#1299)"
to protect our latest improvement of showing correct cpl icons in taskswitch
CORE-16086

This reverts commit
0.4.12-dev-437-g
484943d04f
which was done in context of CORE-15672
(without being able to resolve that ticket)
0.4.12-dev-437 contrasts our latest information c.f. Raymond Chen's article:
http://blogs.msdn.com/b/oldnewthing/archive/2007/10/08/5351207.aspx
Eventually we should select the icon instead using that same algorithm.
2019-06-02 23:50:06 +02:00
Joachim Henze
a57363f363 [0.4.12][UNIATA] Apply workaround for regression CORE-16078, booting broke on specific Intel Z170
JIRA-user "Illen" reported booting from his Z170 controller worked up to
0.4.12-dev-936-g89aaf0e
and would refuse booting - beginning with uniata commit
0.4.12-dev-937-g
b546130731

For sure this workaround is just a temporary and no proper solution,
but was confirmed to be working by "Illen". We have no clear understanding of the real bug yet.
Can be replaced by something better at any time.
It was just committed into the RC, master remains affected.
2019-06-02 14:23:18 +02:00
Joachim Henze
63ed1f8601 [0.4.12][COMCTL32] Fix regression with disabled menubar buttons in IDA5free CORE-14209
The patch was not committed to master yet. Currently is still under review in PR-1599.
The patch also improves the rendering of disabled menubar buttons for SumatraPDF CORE-10601.

Even after the patch we are not perfect at deciding when to draw masked
and when to draw desaturated in 32bpp, but it definitely improves end users experience.

Many Thanks to the patches author
Andreas Maier <staubim@quantentunnel.de>
JIRA-nick: andy-123
2019-06-02 13:15:37 +02:00
Joachim Henze
ef5c312d7b [0.4.12][MSHTML] Fake Success in HTMLDocument_put_bgColor()
This avoids at startup of Instant Messenger "QIP 2005 8095"
a message-box with "OLE Error 8004001".
The issue is a subtask of CORE-11537
Many Thanks to the patches author
Andreas Maier <staubim@quantentunnel.de>
JIRA-nick: andy-123

Note you still need to install Gecko 2.40 and Samba 1.3 from rapps for QIP.

cherry picked from commit 0.4.13-dev-327-g
bc3eed68ca
2019-06-01 22:58:31 +02:00
Joachim Henze
14b5195cc5 [0.4.12] [WIN32SS][NTGDI] Fix regression BSOD in QIP CORE-16059 and similar BSODs by avoiding FLOAT in kernel
This is a squashed backmerge of
PR1572 FLOAT in IntEscapeMatrix
0.4.13-dev-255-g
0137096449

PR1574 FLOAT for orientation
0.4.13-dev-257-g
fabbd7c1c1

PR1576 FLOAT in ftGdiGetGlyphOutline
0.4.13-dev-270-g
86046a9bf4

Those 3 commits were part of CORE-15838.
All those regressions have been introduced during 0.4.12-dev'ing.
2019-05-27 20:22:53 +02:00
Joachim Henze
a112b89ed5 [0.4.12] [NtUser] Apply review of jimtabor
to the workaround in last commit 0.4.12-RC-19-g
700779e643

Many thanks to reviewer jimtabor for this very prompt review!

I tested, the new state still succeeds in CORE-15477, CORE-14979, CORE-15599, CORE-15600, CORE-15654

Fixes 'multiple apps leaving the taskbar visible erroneously when switching into fullscreen.'
Please note that the problem with taskbar staying visible is only fixed for some, but not all apps
(see CORE-11242 for some still failing examples, e.g: Bound Around).

We now have the same state in 0.4.12RCs, that we just have committed to master in 0.4.13-dev-247-g
0f29b3faa7
2019-05-22 00:30:10 +02:00
Joachim Henze
700779e643 [0.4.12] [NtUser] Workaround regressions CORE-15477, CORE-14979, CORE-15599, CORE-15600, CORE-15654
Fixes 'multiple apps leaving the taskbar visible erroneously when switching into fullscreen.'
Please note that the problem with taskbar staying visible is only fixed for some, but not all apps (see CORE-11242 for examples).

This partially reverts commit 09ab5ea7ed (SVN r75407)
I applied this interim solution into 0.4.12RCs for the very first time and rls-tests still
have to prove it being free of obvious side-effects.
Theoretically we could still switch to a better solution at any time.
The workaround never was applied to master to date.

https://reactos.org/testman/compare.php?ids=67536,67539
2019-05-21 22:51:45 +02:00
Joachim Henze
9ebb42a4c0 [0.4.12] [JSCRIPT] Fix regression CORE-13810 "Vypress Chat 2.1.9 MSI setup fatal error"
The regression was unhidden by MSI-winesync 1.5.10 almost 7years ago:
8939969e21

Finally we can fix it by adding MS enumerator extension to Jscript.
Many thanks to the patches author
Andreas Maier <staubim@quantentunnel.de>
JIRA-nick: andy-123

The patch is WIP and was not committed to master yet.

https://reactos.org/testman/compare.php?ids=67482,67485
2019-05-17 00:47:16 +02:00
jimtabor
3e71805ae1 [0.4.12] [NtUser] Fix Theme Non Client Painting, fixes the visible parts of regression CORE-15934
Resizing a themed window does not longer show a flashing rectangle in the title-bar after the fix.

Still this seems to be work-in-progress even after this first commit, but makes me happy for 0.4.12RCs
for now.

See CORE-7166 & CORE-15934.

cherry picked from commit 0.4.13-dev-8-g
cfdf36e442
2019-05-10 01:45:37 +02:00
Katayama Hirofumi MZ
e1ac9dcd66 [0.4.12] [WIN32SS][NTGDI] FireFox checkmark, fixes regression CORE-15303 (#1535)
The font size was a bit larger than expected.
FireFox will show checkmarks correctly in View menu.

This is a partial revert of 0.4.10-dev-466-g
35f62fc5ba

cherry picked from commit 0.4.13-dev-110-g
19fc9415bf
2019-05-10 00:11:49 +02:00
Katayama Hirofumi MZ
12fc3687b8 [0.4.12] [WIN32SS][NTGDI] CORE-15755 commit 3 of 3
Delete unnecessary (ULONG) cast

cherry picked from commit 0.4.13-dev-11-g
983cd57c1e
2019-05-09 22:23:28 +02:00
Katayama Hirofumi MZ
264c790160 [0.4.12] [GDI32][NTGDI] Avoid integer overflow CORE-15755 commit 2 of 3
Follow up of #1492. CORE-15755
- Use RtlULongMult function to check integer overflows.

cherry picked from commit 0.4.13-dev-10-g
bc9f3ed887
2019-05-09 22:21:58 +02:00
Katayama Hirofumi MZ
8d3def0529 [0.4.12] [GDI32][NTGDI][SETUP] CORE-15755 commit 1 of 3
Fix font enumeration part 2 (#1492)

Eliminate some bugs about font enumeration.

- Add "Microsoft Sans Serif" font substitution.
- Fix and improve the treatment of the nominal font names.
- Split IntGetFontFamilyInfo function from NtGdiGetFontFamilyInfo.
- Add DoFontSystemUnittest function for font system unittest to GDI32.
- Call DoFontSystemUnittest function at CreateFontIndirectW first call.

cherry picked from commit 0.4.13-dev-9-g
811faed421
2019-05-09 22:20:55 +02:00
Katayama Hirofumi MZ
dea7149597 [0.4.12] [WIN32SS][NTGDI] Keep FontSubstitutes enumeration CORE-15785 (#1532)
Fixes regression CORE-15785.
When LOGFONT.lfFaceName[0] == 0, then enumeration of font substitutes had failed.

CORE-15785 commit 2 of 2

cherry picked from commit 0.4.13-dev-107-g
ae8417fd90
2019-05-09 20:59:46 +02:00
Katayama Hirofumi MZ
5c2e810dca [0.4.12] [GDI32] Improve IntFontFamilyListUnique function (#1491)
Make gdi32!IntFontFamilyListUnique function std::unique compatible.
Previous code didn't set the first entry correctly.

CORE-15785 commit 1 of 2

cherry picked from commit 0.4.13-dev-5-g
ae80eb824e
2019-05-09 20:52:37 +02:00
Joachim Henze
fbe1fbe32b [0.4.12] [NTDLL/LDR] Revert the 0.4.12-workaround for comctl32 imagelist
This reverts 0.4.12-RC-2-g
f57e9ed926
and therefore brings the SxS state back to master. It allows many SxS-dependent apps to run again that broke by the new 0.4.12-workaround.
e.g: Miranda 0.10.48

Unfortunately this will expose many issues for the first time in the 0.4.12release (same way like in master),
that I could properly hide in all past releases by a different workaround (that we can not longer use due to heavy 0.4.12-dev SxS works)

This commit reintroduces:
- CORE-14433 MSVCPP 6 installer open-dlg, MS Word Viewer 2003 open-dlg lacks icons
- CORE-15118 OCR CuneiForm 12 lacks icons in the menubar
- CORE-15892 DosBOX 0.74.2 NSIS-installer lacks checkboxes

We think that all those issues are caused by incompatible comctl32 v5/v6 imagelists actually.
If time will allow it, I might experiment with some macros later to hide the comctl32-issue leaving SxS intact.
2019-05-09 20:14:20 +02:00
Joachim Henze
5ac548544f [0.4.12] [WIN32SS] Appease regression CORE-15429 & fix CORE-15911
By applying for the first time clientFix.patch from CORE-15911 contributed by JIRA-user 'I_Kill_Bugs'.

The patch acts as a better replacement for a workaround of DougLyons from CORE-15429
that aimed to hide the issue for our file-browser only.

The new approach gave good results for the testbots
https://reactos.org/testman/compare.php?ids=66723,66729
but wasn't tested much yet. In case it causes any problems during testing-cycle,
I might eventually switch back to our old workaround instead from the last releases.
2019-04-15 19:46:36 +02:00
jimtabor
d94028f042 [0.4.12] [DDraw] Fix DxDiag tests. Fixes regression CORE-15905
After the DC work is done while before releasing the DC flush the GDI batch.
See CORE-15905. Someone may need to notify wine about this change.

cherry picked from commit 0.4.13-dev-7-g
84d518b190
2019-04-13 14:49:32 +02:00
Joachim Henze
703df88aec [0.4.12] Revert "[MSAFD] Implement socket options SO_SNDBUF and SO_RCVBUF"
To avoid CORE-15804 MSTSC fails to connect with error "ERROR: Bad packet header"

This reverts commit 0.4.12-dev-752-g
6bc61f63f1.
2019-04-11 01:19:29 +02:00
Joachim Henze
b053803df1 [0.4.12] Revert "[NTOSKRNL] Properly align VACB writes"
to avoid CORE-15384 "ros corrupts FAT16 partition"

This reverts commit 0.4.11-dev-210-g
2a80ae2bb6
Like we did in 0.4.11rls.

I would happily switch over to a proper working fix from master later.
I would also do that if it appeared only after this interim solution got committed.

(cherry picked from commit 78cd6265d9)
2019-04-10 22:23:06 +02:00
Joachim Henze
8449527b88 [0.4.12] [COMCTL32] Appease regression CORE-14671 & CORE-14701
Fixes the icons on some buttons being flipped vertically.
Known affected apps: Lazarus IDE, Double Commander, Peazip.

Beside that it also fixes transparency regressions in DVDStyler 3.0.4 (CORE-14701).

Thanks to patches author Doug Lyons.

The patch has not been committed to master yet and has the known side-effect
of introducing flipped icons in the options-listview of Double-Commander
that are drawn correctly without the hackfix.

like in last release
(cherry picked from commit b906163dc1)
2019-04-10 15:44:33 +02:00
Joachim Henze
be54d69f5c [0.4.12] Avoid regression CORE-14955 "Ddraw fullscreen crashes"
This brings us back to before commit 0.4.10-dev-55-g
7af3969e9f

and therefore downgrades D3D8,D3D9,DDRAW,WINED3D to 3.3 for this rls.

This is same versions as we had in 0.4.10rls (I used same revert then)

Purpose of this revert is to fix crashes when Ddraw apps switch
into fullscreen with VBEMP and inbuilt Mesa.
I tested, before:
 DxDiag crashed when switching to fullscreen,
 Diablo II crashed immediately,
 Monster-Truck-Madness 2 demo crashed after main menu

Afterwards all of these apps do run.
DXTN does still work after that, even with VBEMP and inbuilt Mesa.

This will be the interim fix, which I will keep for rls at least
until someone manages to fix CORE-14955 properly in master with current Wine.

analog to 0.4.10-RC-17-g
bb4c55d650
2019-04-10 13:25:10 +02:00
Joachim Henze
55ea31811b [0.4.12] [RDBSS] Avoid CORE-13938
Pierre recommended this hack-fix for 0.4.8rls before.
Avoids "GetVolumeInformation now fails on NFS volume"

I will not retest any RDBSS functionality myself in my tests,
maybe some other tester would be kind enough to retest this?

Please note that I replaced #if 0 with #if 1
as discussed with Pierre. That's different to the patch in ticket.

like in last release
(cherry picked from commit 26080d0c64)
2019-04-10 00:06:20 +02:00
Joachim Henze
f57e9ed926 [0.4.12] [NTDLL/LDR] Avoid multiple regressions
By reverting just commit 0.4.8-dev-502-g
7000fe2340.

It fixes:
- CORE-14433 MSVCPP 6 installer open-dlg, MS Word Viewer 2003 open-dlg lacks icons
- CORE-15118 OCR CuneiForm 12 lacks icons in the menubar
- CORE-15892 DosBOX 0.74.2 NSIS-installer lacks checkboxes

We think that all those issues are caused by incompatible comctl32 v5/v6
imagelists actually.

Please notice, that in the past ros-releases, I used to revert additionally
0.4.8-dev-503-g
f318a25e10
but since a lot of LDR work was done during 0.4.12-dev I was forced to
minimize the needed revert this time in order to not threaten
recent LDR-work done by Mark & Thomas
2019-04-09 22:09:45 +02:00
Thomas Faber
d01ba95cbd [0.4.12] [WIN32SS] Mask WndProc exceptions to hide all tickets linked to CORE-11915
e.g. this allows using MsDepends
Unfortunately still necessary, luckily still effective

like in last release
cherry picked from commit bca25b10b4
2019-04-09 16:33:14 +02:00
Joachim Henze
c01f075742 [0.4.12] Branch releases/0.4.12 & change KERNEL_VERSION_BUILD_TYPE "RC" 2019-04-08 18:29:18 +02:00
192 changed files with 12951 additions and 6856 deletions

View File

@@ -16,6 +16,9 @@ typedef enum _ERROR_NUMBER
{
NOT_AN_ERROR = 0, // ERROR_SUCCESS,
ERROR_NOT_INSTALLED,
ERROR_NO_BUILD_PATH,
ERROR_SOURCE_PATH,
ERROR_SOURCE_DIR,
ERROR_NO_HDD,
ERROR_NO_SOURCE_DRIVE,
ERROR_LOAD_TXTSETUPSIF,

File diff suppressed because it is too large Load Diff

View File

@@ -42,9 +42,8 @@ typedef struct _PARTENTRY
ULARGE_INTEGER StartSector;
ULARGE_INTEGER SectorCount;
BOOLEAN BootIndicator;
BOOLEAN BootIndicator; // NOTE: See comment for the PARTLIST::SystemPartition member.
UCHAR PartitionType;
ULONG HiddenSectors;
ULONG OnDiskPartitionNumber; /* Enumerated partition number (primary partitions first, excluding the extended partition container, then the logical partitions) */
ULONG PartitionNumber; /* Current partition number, only valid for the currently running NTOS instance */
ULONG PartitionIndex; /* Index in the LayoutBuffer->PartitionEntry[] cached array of the corresponding DiskEntry */
@@ -150,17 +149,11 @@ typedef struct _PARTLIST
* The corresponding system disk is obtained via:
* SystemPartition->DiskEntry.
*/
// NOTE: It seems to appear that the specifications of ARC and (u)EFI
// actually allow for multiple system partitions to exist on the system.
// If so we should instead rely on the BootIndicator bit of the PARTENTRY
// structure in order to find these.
PPARTENTRY SystemPartition;
/*
* The original system partition in case we are redefining it because
* we do not have write support on it.
* Please note that this is partly a HACK and MUST NEVER happen on
* architectures where real system partitions are mandatory (because then
* they are formatted in FAT FS and we support write operation on them).
* The corresponding original system disk is obtained via:
* OriginalSystemPartition->DiskEntry.
*/
PPARTENTRY OriginalSystemPartition;
LIST_ENTRY DiskListHead;
LIST_ENTRY BiosDiskListHead;
@@ -231,6 +224,9 @@ BOOLEAN
IsSuperFloppy(
IN PDISKENTRY DiskEntry);
BOOLEAN
IsPartitionActive(
IN PPARTENTRY PartEntry);
PPARTLIST
CreatePartitionList(VOID);
@@ -294,35 +290,45 @@ GetPrevPartition(
BOOLEAN
CreatePrimaryPartition(
IN PPARTLIST List,
IN PPARTENTRY SelectedEntry,
IN OUT PPARTENTRY PartEntry,
IN ULONGLONG SectorCount,
IN BOOLEAN AutoCreate);
BOOLEAN
CreateExtendedPartition(
IN PPARTLIST List,
IN PPARTENTRY SelectedEntry,
IN OUT PPARTENTRY PartEntry,
IN ULONGLONG SectorCount);
BOOLEAN
CreateLogicalPartition(
IN PPARTLIST List,
IN PPARTENTRY SelectedEntry,
IN OUT PPARTENTRY PartEntry,
IN ULONGLONG SectorCount,
IN BOOLEAN AutoCreate);
NTSTATUS
DismountVolume(
IN PPARTENTRY PartEntry);
BOOLEAN
DeletePartition(
IN PPARTLIST List,
IN PPARTENTRY PartEntry,
OUT PPARTENTRY* FreeRegion OPTIONAL);
VOID
CheckActiveSystemPartition(
PPARTENTRY
FindSupportedSystemPartition(
IN PPARTLIST List,
IN BOOLEAN ForceSelect,
IN PDISKENTRY AlternateDisk OPTIONAL,
IN PPARTENTRY AlternatePart OPTIONAL);
IN PDISKENTRY AlternativeDisk OPTIONAL,
IN PPARTENTRY AlternativePart OPTIONAL);
BOOLEAN
SetActivePartition(
IN PPARTLIST List,
IN PPARTENTRY PartEntry,
IN PPARTENTRY OldActivePart OPTIONAL);
NTSTATUS
WritePartitions(

View File

@@ -127,7 +127,7 @@ static MUI_ENTRY bgBGWelcomePageEntries[] =
"\x07 \215\240\342\250\341\255\245\342\245 L, \247\240 \244\240 \242\250\244\250\342\245 \340\240\247\340\245\350\250\342\245\253\255\250\342\245 (\253\250\346\245\255\247\255\250\342\245)",
TEXT_STYLE_NORMAL
},
{
{
8,
20,
" \250\247\250\341\252\242\240\255\250\357 \250 \343\341\253\256\242\250\357 \255\240 \220\245\240\252\342\216\221",
@@ -738,7 +738,8 @@ static MUI_ENTRY bgBGDisplayPageEntries[] =
"\220\245\350\250\253\250 \341\342\245 \244\240 \341\254\245\255\250\342\245 \242\250\244\240 \255\240 \245\252\340\240\255\240.",
TEXT_STYLE_NORMAL
},
{ 8,
{
8,
10,
"\x07 \210\247\241\245\340\245\342\245 \242\250\244\240 \255\240 \245\252\340\240\255\240 \341\352\341 \341\342\340\245\253\252\250\342\245 \255\240\243\256\340\245 \250 \255\240\244\256\253\343 \250 ",
TEXT_STYLE_NORMAL
@@ -939,6 +940,112 @@ static MUI_ENTRY bgBGSelectPartitionEntries[] =
}
};
static MUI_ENTRY bgBGChangeSystemPartition[] =
{
{
4,
3,
" ReactOS " KERNEL_VERSION_STR " Setup ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"The current system partition of your computer",
TEXT_STYLE_NORMAL
},
{
6,
12,
"on the system disk",
TEXT_STYLE_NORMAL
},
{
6,
16,
"uses a format not supported by ReactOS.",
TEXT_STYLE_NORMAL
},
{
6,
18,
"In order to successfully install ReactOS, the Setup program must change",
TEXT_STYLE_NORMAL
},
{
6,
19,
"the current system partition to a new one.",
TEXT_STYLE_NORMAL
},
{
6,
21,
"The new candidate system partition is:",
TEXT_STYLE_NORMAL
},
{
8,
25,
"\x07 To accept this choice, press ENTER.",
TEXT_STYLE_NORMAL
},
{
8,
27,
"\x07 To manually change the system partition, press ESC to go back to",
TEXT_STYLE_NORMAL
},
{
8,
28,
" the partition selection list, then select or create a new system",
TEXT_STYLE_NORMAL
},
{
8,
29,
" partition on the system disk.",
TEXT_STYLE_NORMAL
},
{
6,
32,
"In case there are other operating systems that depend on the original",
TEXT_STYLE_NORMAL
},
{
6,
33,
"system partition, you may need to either reconfigure them for the new",
TEXT_STYLE_NORMAL
},
{
6,
34,
"system partition, or you may need to change the system partition back",
TEXT_STYLE_NORMAL
},
{
6,
35,
"to the original one after finishing the installation of ReactOS.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTER = Continue ESC = Cancel",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY bgBGConfirmDeleteSystemPartitionEntries[] =
{
{
@@ -1384,7 +1491,6 @@ static MUI_ENTRY bgBGSelectFSEntries[] =
" ENTER = \217\340\256\244\352\253\246\240\242\240\255\245 ESC = \216\342\252\240\247 F3 = \210\247\345\256\244",
TEXT_TYPE_STATUS
},
{
0,
0,
@@ -1410,7 +1516,7 @@ static MUI_ENTRY bgBGDeletePartitionEntries[] =
{
8,
18,
"\x07 \215\240\342\250\341\255\245\342\245 D, \247\240 \244\240 \250\247\342\340\250\245\342\245 \244\357\253\240.",
"\x07 \215\240\342\250\341\255\245\342\245 L, \247\240 \244\240 \250\247\342\340\250\245\342\245 \244\357\253\240.",
TEXT_STYLE_NORMAL
},
{
@@ -1428,7 +1534,7 @@ static MUI_ENTRY bgBGDeletePartitionEntries[] =
{
0,
0,
" D = \210\247\342\340\250\242\240\255\245 \255\240 \244\357\253\240, ESC = \216\342\252\240\247 F3 = \210\247\345\256\244",
" L = \210\247\342\340\250\242\240\255\245 \255\240 \244\357\253\240, ESC = \216\342\252\240\247 F3 = \210\247\345\256\244",
TEXT_TYPE_STATUS
},
{
@@ -1484,6 +1590,21 @@ MUI_ERROR bgBGErrorEntries[] =
" \x07 \207\240 \250\247\345\256\244 \255\240\342\250\341\255\245\342\245 F3.",
"F3 = \210\247\345\256\244 ENTER = \217\340\256\244\352\253\246\240\242\240\255\245"
},
{
// ERROR_NO_BUILD_PATH
"Failed to build the installation paths for the ReactOS installation directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_PATH
"You cannot delete the partition containing the installation source!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_DIR
"You cannot install ReactOS within the installation source directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_NO_HDD
"\215\240\341\342\340\256\251\242\240\347\352\342 \255\245 \255\240\254\245\340\250 \342\242\352\340\244 \244\250\341\252.\n",
@@ -1690,14 +1811,14 @@ MUI_ERROR bgBGErrorEntries[] =
},
{
// ERROR_PARTITION_TABLE_FULL,
"You can not create a new primary or extended partition in the\n"
"You cannot create a new primary or extended partition in the\n"
"partition table of this disk because the partition table is full.\n"
"\n"
" * Press any key to continue."
},
{
// ERROR_ONLY_ONE_EXTENDED,
"You can not create more than one extended partition per disk.\n"
"You cannot create more than one extended partition per disk.\n"
"\n"
" * Press any key to continue."
},
@@ -1764,6 +1885,10 @@ MUI_PAGE bgBGPages[] =
SELECT_PARTITION_PAGE,
bgBGSelectPartitionEntries
},
{
CHANGE_SYSTEM_PARTITION,
bgBGChangeSystemPartition
},
{
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
bgBGConfirmDeleteSystemPartitionEntries

View File

@@ -729,7 +729,8 @@ static MUI_ENTRY bnBDDisplayPageEntries[] =
"You want to change the type of display to be installed.",
TEXT_STYLE_NORMAL
},
{ 8,
{
8,
10,
"\x07 Press the UP or DOWN key to select the desired display type.",
TEXT_STYLE_NORMAL
@@ -929,6 +930,112 @@ static MUI_ENTRY bnBDSelectPartitionEntries[] =
}
};
static MUI_ENTRY bnBDChangeSystemPartition[] =
{
{
4,
3,
" ReactOS " KERNEL_VERSION_STR " Setup ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"The current system partition of your computer",
TEXT_STYLE_NORMAL
},
{
6,
12,
"on the system disk",
TEXT_STYLE_NORMAL
},
{
6,
16,
"uses a format not supported by ReactOS.",
TEXT_STYLE_NORMAL
},
{
6,
18,
"In order to successfully install ReactOS, the Setup program must change",
TEXT_STYLE_NORMAL
},
{
6,
19,
"the current system partition to a new one.",
TEXT_STYLE_NORMAL
},
{
6,
21,
"The new candidate system partition is:",
TEXT_STYLE_NORMAL
},
{
8,
25,
"\x07 To accept this choice, press ENTER.",
TEXT_STYLE_NORMAL
},
{
8,
27,
"\x07 To manually change the system partition, press ESC to go back to",
TEXT_STYLE_NORMAL
},
{
8,
28,
" the partition selection list, then select or create a new system",
TEXT_STYLE_NORMAL
},
{
8,
29,
" partition on the system disk.",
TEXT_STYLE_NORMAL
},
{
6,
32,
"In case there are other operating systems that depend on the original",
TEXT_STYLE_NORMAL
},
{
6,
33,
"system partition, you may need to either reconfigure them for the new",
TEXT_STYLE_NORMAL
},
{
6,
34,
"system partition, or you may need to change the system partition back",
TEXT_STYLE_NORMAL
},
{
6,
35,
"to the original one after finishing the installation of ReactOS.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTER = Continue ESC = Cancel",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY bnBDConfirmDeleteSystemPartitionEntries[] =
{
{
@@ -1373,7 +1480,6 @@ static MUI_ENTRY bnBDSelectFSEntries[] =
"ENTER = Continue ESC = Cancel F3 = Quit",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
@@ -1399,7 +1505,7 @@ static MUI_ENTRY bnBDDeletePartitionEntries[] =
{
8,
18,
"\x07 Press D to delete the partition.",
"\x07 Press L to delete the partition.",
TEXT_STYLE_NORMAL
},
{
@@ -1417,7 +1523,7 @@ static MUI_ENTRY bnBDDeletePartitionEntries[] =
{
0,
0,
"D = Delete Partition ESC = Cancel F3 = Quit",
"L = Delete Partition ESC = Cancel F3 = Quit",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
@@ -1473,6 +1579,21 @@ MUI_ERROR bnBDErrorEntries[] =
" \x07 Press F3 to quit Setup.",
"F3 = Quit ENTER = Continue"
},
{
// ERROR_NO_BUILD_PATH
"Failed to build the installation paths for the ReactOS installation directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_PATH
"You cannot delete the partition containing the installation source!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_DIR
"You cannot install ReactOS within the installation source directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_NO_HDD
"Setup could not find a harddisk.\n",
@@ -1531,7 +1652,7 @@ MUI_ERROR bnBDErrorEntries[] =
{
// ERROR_WARN_PARTITION,
"Setup found that at least one harddisk contains an incompatible\n"
"partition table that can not be handled properly!\n"
"partition table that cannot be handled properly!\n"
"\n"
"Creating or deleting partitions can destroy the partition table.\n"
"\n"
@@ -1541,15 +1662,15 @@ MUI_ERROR bnBDErrorEntries[] =
},
{
// ERROR_NEW_PARTITION,
"You can not create a new Partition inside\n"
"of an already existing Partition!\n"
"You cannot create a new partition inside\n"
"of an already existing partition!\n"
"\n"
" * Press any key to continue.",
NULL
},
{
// ERROR_DELETE_SPACE,
"You can not delete unpartitioned disk space!\n"
"You cannot delete unpartitioned disk space!\n"
"\n"
" * Press any key to continue.",
NULL
@@ -1677,14 +1798,14 @@ MUI_ERROR bnBDErrorEntries[] =
},
{
// ERROR_PARTITION_TABLE_FULL,
"You can not create a new primary or extended partition in the\n"
"You cannot create a new primary or extended partition in the\n"
"partition table of this disk because the partition table is full.\n"
"\n"
" * Press any key to continue."
},
{
// ERROR_ONLY_ONE_EXTENDED,
"You can not create more than one extended partition per disk.\n"
"You cannot create more than one extended partition per disk.\n"
"\n"
" * Press any key to continue."
},
@@ -1751,6 +1872,10 @@ MUI_PAGE bnBDPages[] =
SELECT_PARTITION_PAGE,
bnBDSelectPartitionEntries
},
{
CHANGE_SYSTEM_PARTITION,
bnBDChangeSystemPartition
},
{
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
bnBDConfirmDeleteSystemPartitionEntries

View File

@@ -738,7 +738,8 @@ static MUI_ENTRY csCZDisplayPageEntries[] =
"Chcete zm\330nit typ obrazovky, kter\240 bude nainstalov\240na.",
TEXT_STYLE_NORMAL
},
{ 8,
{
8,
10,
"\x07 Po\247adovan\354 typ obrazovky zvolte pomoc\241 \347ipek nahoru a dol\205.",
TEXT_STYLE_NORMAL
@@ -938,6 +939,112 @@ static MUI_ENTRY csCZSelectPartitionEntries[] =
}
};
static MUI_ENTRY csCZChangeSystemPartition[] =
{
{
4,
3,
" ReactOS " KERNEL_VERSION_STR " Setup ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"The current system partition of your computer",
TEXT_STYLE_NORMAL
},
{
6,
12,
"on the system disk",
TEXT_STYLE_NORMAL
},
{
6,
16,
"uses a format not supported by ReactOS.",
TEXT_STYLE_NORMAL
},
{
6,
18,
"In order to successfully install ReactOS, the Setup program must change",
TEXT_STYLE_NORMAL
},
{
6,
19,
"the current system partition to a new one.",
TEXT_STYLE_NORMAL
},
{
6,
21,
"The new candidate system partition is:",
TEXT_STYLE_NORMAL
},
{
8,
25,
"\x07 To accept this choice, press ENTER.",
TEXT_STYLE_NORMAL
},
{
8,
27,
"\x07 To manually change the system partition, press ESC to go back to",
TEXT_STYLE_NORMAL
},
{
8,
28,
" the partition selection list, then select or create a new system",
TEXT_STYLE_NORMAL
},
{
8,
29,
" partition on the system disk.",
TEXT_STYLE_NORMAL
},
{
6,
32,
"In case there are other operating systems that depend on the original",
TEXT_STYLE_NORMAL
},
{
6,
33,
"system partition, you may need to either reconfigure them for the new",
TEXT_STYLE_NORMAL
},
{
6,
34,
"system partition, or you may need to change the system partition back",
TEXT_STYLE_NORMAL
},
{
6,
35,
"to the original one after finishing the installation of ReactOS.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTER = Continue ESC = Cancel",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY csCZConfirmDeleteSystemPartitionEntries[] =
{
{
@@ -1382,7 +1489,6 @@ static MUI_ENTRY csCZSelectFSEntries[] =
"ENTER = Pokra\237ovat ESC = Zru\347it F3 = Ukon\237it",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
@@ -1408,7 +1514,7 @@ static MUI_ENTRY csCZDeletePartitionEntries[] =
{
8,
18,
"\x07 Stisknut\241m D odstran\241te odd\241l.",
"\x07 Stisknut\241m L odstran\241te odd\241l.",
TEXT_STYLE_NORMAL
},
{
@@ -1426,7 +1532,7 @@ static MUI_ENTRY csCZDeletePartitionEntries[] =
{
0,
0,
"D = Odstranit odd\241l ESC = Zru\347it F3 = Ukon\237it",
"L = Odstranit odd\241l ESC = Zru\347it F3 = Ukon\237it",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
@@ -1482,6 +1588,21 @@ MUI_ERROR csCZErrorEntries[] =
" \x07 Stisknut\241m F3 ukon\237\241te instalaci.",
"F3 = Ukon\237it ENTER = Pokra\237ovat"
},
{
// ERROR_NO_BUILD_PATH
"Failed to build the installation paths for the ReactOS installation directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_PATH
"You cannot delete the partition containing the installation source!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_DIR
"You cannot install ReactOS within the installation source directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_NO_HDD
"Instalace nedok\240zala naj\241t harddisk.\n",
@@ -1760,6 +1881,10 @@ MUI_PAGE csCZPages[] =
SELECT_PARTITION_PAGE,
csCZSelectPartitionEntries
},
{
CHANGE_SYSTEM_PARTITION,
csCZChangeSystemPartition
},
{
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
csCZConfirmDeleteSystemPartitionEntries

View File

@@ -466,7 +466,7 @@ static MUI_ENTRY daDKRepairPageEntries[] =
"underst\233tter den ikke alle funtionerne i et fult brugbart",
TEXT_STYLE_NORMAL
},
{
{
6,
10,
"installationsprogram.",
@@ -945,6 +945,112 @@ static MUI_ENTRY daDKSelectPartitionEntries[] =
}
};
static MUI_ENTRY daDKChangeSystemPartition[] =
{
{
4,
3,
" ReactOS " KERNEL_VERSION_STR " Setup ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"The current system partition of your computer",
TEXT_STYLE_NORMAL
},
{
6,
12,
"on the system disk",
TEXT_STYLE_NORMAL
},
{
6,
16,
"uses a format not supported by ReactOS.",
TEXT_STYLE_NORMAL
},
{
6,
18,
"In order to successfully install ReactOS, the Setup program must change",
TEXT_STYLE_NORMAL
},
{
6,
19,
"the current system partition to a new one.",
TEXT_STYLE_NORMAL
},
{
6,
21,
"The new candidate system partition is:",
TEXT_STYLE_NORMAL
},
{
8,
25,
"\x07 To accept this choice, press ENTER.",
TEXT_STYLE_NORMAL
},
{
8,
27,
"\x07 To manually change the system partition, press ESC to go back to",
TEXT_STYLE_NORMAL
},
{
8,
28,
" the partition selection list, then select or create a new system",
TEXT_STYLE_NORMAL
},
{
8,
29,
" partition on the system disk.",
TEXT_STYLE_NORMAL
},
{
6,
32,
"In case there are other operating systems that depend on the original",
TEXT_STYLE_NORMAL
},
{
6,
33,
"system partition, you may need to either reconfigure them for the new",
TEXT_STYLE_NORMAL
},
{
6,
34,
"system partition, or you may need to change the system partition back",
TEXT_STYLE_NORMAL
},
{
6,
35,
"to the original one after finishing the installation of ReactOS.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTER = Continue ESC = Cancel",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY daDKConfirmDeleteSystemPartitionEntries[] =
{
{
@@ -1389,7 +1495,6 @@ static MUI_ENTRY daDKSelectFSEntries[] =
"ENTER = Forts\221t ESC = Annuller F3 = Afslut",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
@@ -1415,7 +1520,7 @@ static MUI_ENTRY daDKDeletePartitionEntries[] =
{
8,
18,
"\x07 Tryk p\206 D for at slette partitionen.",
"\x07 Tryk p\206 L for at slette partitionen.",
TEXT_STYLE_NORMAL
},
{
@@ -1433,7 +1538,7 @@ static MUI_ENTRY daDKDeletePartitionEntries[] =
{
0,
0,
"D = Slet partition ESC = Annuller F3 = Afslut",
"L = Slet partition ESC = Annuller F3 = Afslut",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
@@ -1489,6 +1594,21 @@ MUI_ERROR daDKErrorEntries[] =
" \x07 Tryk p\206 F3 afslutte installationen.",
"F3 = Afslut ENTER = Forts\221t"
},
{
// ERROR_NO_BUILD_PATH
"Failed to build the installation paths for the ReactOS installation directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_PATH
"You cannot delete the partition containing the installation source!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_DIR
"You cannot install ReactOS within the installation source directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_NO_HDD
"Installationen kunne ikke finde en harddisk.\n",
@@ -1768,6 +1888,10 @@ MUI_PAGE daDKPages[] =
SELECT_PARTITION_PAGE,
daDKSelectPartitionEntries
},
{
CHANGE_SYSTEM_PARTITION,
daDKChangeSystemPartition
},
{
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
daDKConfirmDeleteSystemPartitionEntries
@@ -1961,4 +2085,4 @@ MUI_STRING daDKStrings[] =
{STRING_ADDKBLAYOUTS,
"Tilf\233jer tastaturlayouts"},
{0, 0}
};
};

View File

@@ -732,7 +732,8 @@ static MUI_ENTRY deDEDisplayPageEntries[] =
"Sie wollen den zu installierenden Bildschirmtyp \204ndern.",
TEXT_STYLE_NORMAL
},
{ 8,
{
8,
10,
"\x07 Benutzen Sie die PFEILTASTEN, um den gew\201nschten",
TEXT_STYLE_NORMAL
@@ -926,6 +927,112 @@ static MUI_ENTRY deDESelectPartitionEntries[] =
}
};
static MUI_ENTRY deDEChangeSystemPartition[] =
{
{
4,
3,
" ReactOS " KERNEL_VERSION_STR " Setup ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"The current system partition of your computer",
TEXT_STYLE_NORMAL
},
{
6,
12,
"on the system disk",
TEXT_STYLE_NORMAL
},
{
6,
16,
"uses a format not supported by ReactOS.",
TEXT_STYLE_NORMAL
},
{
6,
18,
"In order to successfully install ReactOS, the Setup program must change",
TEXT_STYLE_NORMAL
},
{
6,
19,
"the current system partition to a new one.",
TEXT_STYLE_NORMAL
},
{
6,
21,
"The new candidate system partition is:",
TEXT_STYLE_NORMAL
},
{
8,
25,
"\x07 To accept this choice, press ENTER.",
TEXT_STYLE_NORMAL
},
{
8,
27,
"\x07 To manually change the system partition, press ESC to go back to",
TEXT_STYLE_NORMAL
},
{
8,
28,
" the partition selection list, then select or create a new system",
TEXT_STYLE_NORMAL
},
{
8,
29,
" partition on the system disk.",
TEXT_STYLE_NORMAL
},
{
6,
32,
"In case there are other operating systems that depend on the original",
TEXT_STYLE_NORMAL
},
{
6,
33,
"system partition, you may need to either reconfigure them for the new",
TEXT_STYLE_NORMAL
},
{
6,
34,
"system partition, or you may need to change the system partition back",
TEXT_STYLE_NORMAL
},
{
6,
35,
"to the original one after finishing the installation of ReactOS.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTER = Continue ESC = Cancel",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY deDEConfirmDeleteSystemPartitionEntries[] =
{
{
@@ -1376,7 +1483,6 @@ static MUI_ENTRY deDESelectFSEntries[] =
"EINGABETASTE = Fortfahren ESC = Zur\201ck F3 = Installation abbrechen",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
@@ -1402,7 +1508,7 @@ static MUI_ENTRY deDEDeletePartitionEntries[] =
{
8,
18,
"\x07 Dr\201cken Sie D, um die Partition zu l\224schen.",
"\x07 Dr\201cken Sie L, um die Partition zu l\224schen.",
TEXT_STYLE_NORMAL
},
{
@@ -1420,7 +1526,7 @@ static MUI_ENTRY deDEDeletePartitionEntries[] =
{
0,
0,
"D = L\224sche Partition ESC = Abbrechen F3 = Installation abbrechen",
"L = L\224sche Partition ESC = Abbrechen F3 = Installation abbrechen",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
@@ -1476,6 +1582,21 @@ MUI_ERROR deDEErrorEntries[] =
" \x07 Dr\201cken Sie F3, um die Installation zu beenden.",
"F3 = Beenden EINGABETASTE = Fortsetzen"
},
{
// ERROR_NO_BUILD_PATH
"Failed to build the installation paths for the ReactOS installation directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_PATH
"You cannot delete the partition containing the installation source!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_DIR
"You cannot install ReactOS within the installation source directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_NO_HDD
"Es konnte keine Festplatte gefunden werden.\n",
@@ -1757,6 +1878,10 @@ MUI_PAGE deDEPages[] =
SELECT_PARTITION_PAGE,
deDESelectPartitionEntries
},
{
CHANGE_SYSTEM_PARTITION,
deDEChangeSystemPartition
},
{
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
deDEConfirmDeleteSystemPartitionEntries

View File

@@ -738,12 +738,14 @@ static MUI_ENTRY elGRDisplayPageEntries[] =
"\207\342\242\234\253\234 \244\230 \230\242\242\341\245\234\253\234 \253\246\244 \253\347\247\246 \253\236\252 \234\243\255\341\244\240\251\236\252 \247\246\254 \237\230 \234\232\241\230\253\230\251\253\230\237\234\345.",
TEXT_STYLE_NORMAL
},
{ 8,
{
8,
10,
"\x07 \217\230\253\343\251\253\234 \253\246 \247\242\343\241\253\250\246 \217\200\214\227 \343 \211\200\222\227 \232\240\230 \244\230 \234\247\240\242\342\245\234\253\234 \253\246\244 \234\247\240\237\254\243\236\253\346.",
TEXT_STYLE_NORMAL
},
{ 8,
{
8,
11,
" \253\347\247\246 \234\243\255\341\244\240\251\236\252.",
TEXT_STYLE_NORMAL
@@ -944,6 +946,112 @@ static MUI_ENTRY elGRSelectPartitionEntries[] =
}
};
static MUI_ENTRY elGRChangeSystemPartition[] =
{
{
4,
3,
" ReactOS " KERNEL_VERSION_STR " Setup ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"The current system partition of your computer",
TEXT_STYLE_NORMAL
},
{
6,
12,
"on the system disk",
TEXT_STYLE_NORMAL
},
{
6,
16,
"uses a format not supported by ReactOS.",
TEXT_STYLE_NORMAL
},
{
6,
18,
"In order to successfully install ReactOS, the Setup program must change",
TEXT_STYLE_NORMAL
},
{
6,
19,
"the current system partition to a new one.",
TEXT_STYLE_NORMAL
},
{
6,
21,
"The new candidate system partition is:",
TEXT_STYLE_NORMAL
},
{
8,
25,
"\x07 To accept this choice, press ENTER.",
TEXT_STYLE_NORMAL
},
{
8,
27,
"\x07 To manually change the system partition, press ESC to go back to",
TEXT_STYLE_NORMAL
},
{
8,
28,
" the partition selection list, then select or create a new system",
TEXT_STYLE_NORMAL
},
{
8,
29,
" partition on the system disk.",
TEXT_STYLE_NORMAL
},
{
6,
32,
"In case there are other operating systems that depend on the original",
TEXT_STYLE_NORMAL
},
{
6,
33,
"system partition, you may need to either reconfigure them for the new",
TEXT_STYLE_NORMAL
},
{
6,
34,
"system partition, or you may need to change the system partition back",
TEXT_STYLE_NORMAL
},
{
6,
35,
"to the original one after finishing the installation of ReactOS.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTER = Continue ESC = Cancel",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY elGRConfirmDeleteSystemPartitionEntries[] =
{
{
@@ -1400,7 +1508,6 @@ static MUI_ENTRY elGRSelectFSEntries[] =
" ENTER = \221\254\244\342\256\234\240\230 ESC = \200\241\347\250\340\251\236 F3 = \200\247\246\256\351\250\236\251\236",
TEXT_TYPE_STATUS
},
{
0,
0,
@@ -1426,7 +1533,7 @@ static MUI_ENTRY elGRDeletePartitionEntries[] =
{
8,
18,
"\x07 \217\230\253\343\251\253\234 D \232\240\230 \244\230 \233\240\230\232\250\341\257\234\253\234 \253\246 partition.",
"\x07 \217\230\253\343\251\253\234 L \232\240\230 \244\230 \233\240\230\232\250\341\257\234\253\234 \253\246 partition.",
TEXT_STYLE_NORMAL
},
{
@@ -1444,7 +1551,7 @@ static MUI_ENTRY elGRDeletePartitionEntries[] =
{
0,
0,
" D = \203\240\230\232\250\230\255\343 Partition ESC = \200\241\347\250\340\251\236 F3 = \200\247\246\256\351\250\236\251\236",
" L = \203\240\230\232\250\230\255\343 Partition ESC = \200\241\347\250\340\251\236 F3 = \200\247\246\256\351\250\236\251\236",
TEXT_TYPE_STATUS
},
{
@@ -1500,6 +1607,21 @@ MUI_ERROR elGRErrorEntries[] =
" \x07 \217\230\253\343\251\253\234 F3 \232\240\230 \244\230 \230\247\246\256\340\250\343\251\234\253\234 \230\247\346 \253\236\244 \204\232\241\230\253\341\251\253\230\251\236.",
"F3 = \200\247\246\256\351\250\236\251\236 ENTER = \221\254\244\342\256\234\240\230"
},
{
// ERROR_NO_BUILD_PATH
"Failed to build the installation paths for the ReactOS installation directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_PATH
"You cannot delete the partition containing the installation source!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_DIR
"You cannot install ReactOS within the installation source directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_NO_HDD
"\206 \234\232\241\230\253\341\251\253\230\251\236 \233\234 \243\247\346\250\234\251\234 \244\230 \231\250\234\240 \241\341\247\246\240\246\244 \251\241\242\236\250\346 \233\345\251\241\246.\n",
@@ -1696,14 +1818,14 @@ MUI_ERROR elGRErrorEntries[] =
},
{
// ERROR_PARTITION_TABLE_FULL,
"You can not create a new primary or extended partition in the\n"
"You cannot create a new primary or extended partition in the\n"
"partition table of this disk because the partition table is full.\n"
"\n"
" * Press any key to continue."
},
{
// ERROR_ONLY_ONE_EXTENDED,
"You can not create more than one extended partition per disk.\n"
"You cannot create more than one extended partition per disk.\n"
"\n"
" * Press any key to continue."
},
@@ -1770,6 +1892,10 @@ MUI_PAGE elGRPages[] =
SELECT_PARTITION_PAGE,
elGRSelectPartitionEntries
},
{
CHANGE_SYSTEM_PARTITION,
elGRChangeSystemPartition
},
{
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
elGRConfirmDeleteSystemPartitionEntries

View File

@@ -730,7 +730,8 @@ static MUI_ENTRY enUSDisplayPageEntries[] =
"You want to change the type of display to be installed.",
TEXT_STYLE_NORMAL
},
{ 8,
{
8,
10,
"\x07 Press the UP or DOWN key to select the desired display type.",
TEXT_STYLE_NORMAL
@@ -930,6 +931,112 @@ static MUI_ENTRY enUSSelectPartitionEntries[] =
}
};
static MUI_ENTRY enUSChangeSystemPartition[] =
{
{
4,
3,
" ReactOS " KERNEL_VERSION_STR " Setup ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"The current system partition of your computer",
TEXT_STYLE_NORMAL
},
{
6,
12,
"on the system disk",
TEXT_STYLE_NORMAL
},
{
6,
16,
"uses a format not supported by ReactOS.",
TEXT_STYLE_NORMAL
},
{
6,
18,
"In order to successfully install ReactOS, the Setup program must change",
TEXT_STYLE_NORMAL
},
{
6,
19,
"the current system partition to a new one.",
TEXT_STYLE_NORMAL
},
{
6,
21,
"The new candidate system partition is:",
TEXT_STYLE_NORMAL
},
{
8,
25,
"\x07 To accept this choice, press ENTER.",
TEXT_STYLE_NORMAL
},
{
8,
27,
"\x07 To manually change the system partition, press ESC to go back to",
TEXT_STYLE_NORMAL
},
{
8,
28,
" the partition selection list, then select or create a new system",
TEXT_STYLE_NORMAL
},
{
8,
29,
" partition on the system disk.",
TEXT_STYLE_NORMAL
},
{
6,
32,
"In case there are other operating systems that depend on the original",
TEXT_STYLE_NORMAL
},
{
6,
33,
"system partition, you may need to either reconfigure them for the new",
TEXT_STYLE_NORMAL
},
{
6,
34,
"system partition, or you may need to change the system partition back",
TEXT_STYLE_NORMAL
},
{
6,
35,
"to the original one after finishing the installation of ReactOS.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTER = Continue ESC = Cancel",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY enUSConfirmDeleteSystemPartitionEntries[] =
{
{
@@ -1374,7 +1481,6 @@ static MUI_ENTRY enUSSelectFSEntries[] =
"ENTER = Continue ESC = Cancel F3 = Quit",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
@@ -1400,7 +1506,7 @@ static MUI_ENTRY enUSDeletePartitionEntries[] =
{
8,
18,
"\x07 Press D to delete the partition.",
"\x07 Press L to delete the partition.",
TEXT_STYLE_NORMAL
},
{
@@ -1418,7 +1524,7 @@ static MUI_ENTRY enUSDeletePartitionEntries[] =
{
0,
0,
"D = Delete Partition ESC = Cancel F3 = Quit",
"L = Delete Partition ESC = Cancel F3 = Quit",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
@@ -1474,6 +1580,21 @@ MUI_ERROR enUSErrorEntries[] =
" \x07 Press F3 to quit Setup.",
"F3 = Quit ENTER = Continue"
},
{
// ERROR_NO_BUILD_PATH
"Failed to build the installation paths for the ReactOS installation directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_PATH
"You cannot delete the partition containing the installation source!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_DIR
"You cannot install ReactOS within the installation source directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_NO_HDD
"Setup could not find a harddisk.\n",
@@ -1532,7 +1653,7 @@ MUI_ERROR enUSErrorEntries[] =
{
// ERROR_WARN_PARTITION,
"Setup found that at least one harddisk contains an incompatible\n"
"partition table that can not be handled properly!\n"
"partition table that cannot be handled properly!\n"
"\n"
"Creating or deleting partitions can destroy the partition table.\n"
"\n"
@@ -1542,15 +1663,15 @@ MUI_ERROR enUSErrorEntries[] =
},
{
// ERROR_NEW_PARTITION,
"You can not create a new Partition inside\n"
"of an already existing Partition!\n"
"You cannot create a new partition inside\n"
"of an already existing partition!\n"
"\n"
" * Press any key to continue.",
NULL
},
{
// ERROR_DELETE_SPACE,
"You can not delete unpartitioned disk space!\n"
"You cannot delete unpartitioned disk space!\n"
"\n"
" * Press any key to continue.",
NULL
@@ -1678,14 +1799,14 @@ MUI_ERROR enUSErrorEntries[] =
},
{
// ERROR_PARTITION_TABLE_FULL,
"You can not create a new primary or extended partition in the\n"
"You cannot create a new primary or extended partition in the\n"
"partition table of this disk because the partition table is full.\n"
"\n"
" * Press any key to continue."
},
{
// ERROR_ONLY_ONE_EXTENDED,
"You can not create more than one extended partition per disk.\n"
"You cannot create more than one extended partition per disk.\n"
"\n"
" * Press any key to continue."
},
@@ -1752,6 +1873,10 @@ MUI_PAGE enUSPages[] =
SELECT_PARTITION_PAGE,
enUSSelectPartitionEntries
},
{
CHANGE_SYSTEM_PARTITION,
enUSChangeSystemPartition
},
{
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
enUSConfirmDeleteSystemPartitionEntries

View File

@@ -734,7 +734,8 @@ static MUI_ENTRY esESDisplayPageEntries[] =
"Desea modificar el tipo de pantalla a instalar.",
TEXT_STYLE_NORMAL
},
{ 8,
{
8,
10,
"\x07 Presione ARRIBA y ABAJO para modificar el tipo.",
TEXT_STYLE_NORMAL
@@ -935,6 +936,112 @@ static MUI_ENTRY esESSelectPartitionEntries[] =
}
};
static MUI_ENTRY esESChangeSystemPartition[] =
{
{
4,
3,
" ReactOS " KERNEL_VERSION_STR " Setup ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"The current system partition of your computer",
TEXT_STYLE_NORMAL
},
{
6,
12,
"on the system disk",
TEXT_STYLE_NORMAL
},
{
6,
16,
"uses a format not supported by ReactOS.",
TEXT_STYLE_NORMAL
},
{
6,
18,
"In order to successfully install ReactOS, the Setup program must change",
TEXT_STYLE_NORMAL
},
{
6,
19,
"the current system partition to a new one.",
TEXT_STYLE_NORMAL
},
{
6,
21,
"The new candidate system partition is:",
TEXT_STYLE_NORMAL
},
{
8,
25,
"\x07 To accept this choice, press ENTER.",
TEXT_STYLE_NORMAL
},
{
8,
27,
"\x07 To manually change the system partition, press ESC to go back to",
TEXT_STYLE_NORMAL
},
{
8,
28,
" the partition selection list, then select or create a new system",
TEXT_STYLE_NORMAL
},
{
8,
29,
" partition on the system disk.",
TEXT_STYLE_NORMAL
},
{
6,
32,
"In case there are other operating systems that depend on the original",
TEXT_STYLE_NORMAL
},
{
6,
33,
"system partition, you may need to either reconfigure them for the new",
TEXT_STYLE_NORMAL
},
{
6,
34,
"system partition, or you may need to change the system partition back",
TEXT_STYLE_NORMAL
},
{
6,
35,
"to the original one after finishing the installation of ReactOS.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTER = Continue ESC = Cancel",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY esESConfirmDeleteSystemPartitionEntries[] =
{
{
@@ -1379,7 +1486,6 @@ static MUI_ENTRY esESSelectFSEntries[] =
" INTRO = Continuar ESC = Cancelar F3 = Salir",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
@@ -1405,7 +1511,7 @@ static MUI_ENTRY esESDeletePartitionEntries[] =
{
8,
18,
"\x07 Presione D para borrar la partici\242n.",
"\x07 Presione L para borrar la partici\242n.",
TEXT_STYLE_NORMAL
},
{
@@ -1423,7 +1529,7 @@ static MUI_ENTRY esESDeletePartitionEntries[] =
{
0,
0,
" D = Borrar partici\242n ESC = Cancelar F3 = Salir",
" L = Borrar partici\242n ESC = Cancelar F3 = Salir",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
@@ -1479,6 +1585,21 @@ MUI_ERROR esESErrorEntries[] =
" \x07 Presione F3 para abandonar el instalador.",
"F3 = Salir INTRO = Continuar"
},
{
// ERROR_NO_BUILD_PATH
"Failed to build the installation paths for the ReactOS installation directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_PATH
"You cannot delete the partition containing the installation source!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_DIR
"You cannot install ReactOS within the installation source directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_NO_HDD
"El instalador no pudo encontrar un disco duro.\n",
@@ -1757,6 +1878,10 @@ MUI_PAGE esESPages[] =
SELECT_PARTITION_PAGE,
esESSelectPartitionEntries
},
{
CHANGE_SYSTEM_PARTITION,
esESChangeSystemPartition
},
{
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
esESConfirmDeleteSystemPartitionEntries

View File

@@ -732,7 +732,8 @@ static MUI_ENTRY etEEDisplayPageEntries[] =
"Ekraani t\201\201bi muutmine.",
TEXT_STYLE_NORMAL
},
{ 8,
{
8,
10,
"\x07 Liigu \201les-alla, et ekraani t\201\201pi muuta.",
TEXT_STYLE_NORMAL
@@ -933,6 +934,112 @@ static MUI_ENTRY etEESelectPartitionEntries[] =
}
};
static MUI_ENTRY etEEChangeSystemPartition[] =
{
{
4,
3,
" ReactOS " KERNEL_VERSION_STR " Setup ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"The current system partition of your computer",
TEXT_STYLE_NORMAL
},
{
6,
12,
"on the system disk",
TEXT_STYLE_NORMAL
},
{
6,
16,
"uses a format not supported by ReactOS.",
TEXT_STYLE_NORMAL
},
{
6,
18,
"In order to successfully install ReactOS, the Setup program must change",
TEXT_STYLE_NORMAL
},
{
6,
19,
"the current system partition to a new one.",
TEXT_STYLE_NORMAL
},
{
6,
21,
"The new candidate system partition is:",
TEXT_STYLE_NORMAL
},
{
8,
25,
"\x07 To accept this choice, press ENTER.",
TEXT_STYLE_NORMAL
},
{
8,
27,
"\x07 To manually change the system partition, press ESC to go back to",
TEXT_STYLE_NORMAL
},
{
8,
28,
" the partition selection list, then select or create a new system",
TEXT_STYLE_NORMAL
},
{
8,
29,
" partition on the system disk.",
TEXT_STYLE_NORMAL
},
{
6,
32,
"In case there are other operating systems that depend on the original",
TEXT_STYLE_NORMAL
},
{
6,
33,
"system partition, you may need to either reconfigure them for the new",
TEXT_STYLE_NORMAL
},
{
6,
34,
"system partition, or you may need to change the system partition back",
TEXT_STYLE_NORMAL
},
{
6,
35,
"to the original one after finishing the installation of ReactOS.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTER = Continue ESC = Cancel",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY etEEConfirmDeleteSystemPartitionEntries[] =
{
{
@@ -1377,7 +1484,6 @@ static MUI_ENTRY etEESelectFSEntries[] =
"ENTER = J\204tka ESC = Katkesta F3 = V\204lju",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
@@ -1403,7 +1509,7 @@ static MUI_ENTRY etEEDeletePartitionEntries[] =
{
8,
18,
"\x07 Vajuta D partitsiooni kustutamiseks.",
"\x07 Vajuta L partitsiooni kustutamiseks.",
TEXT_STYLE_NORMAL
},
{
@@ -1421,7 +1527,7 @@ static MUI_ENTRY etEEDeletePartitionEntries[] =
{
0,
0,
"D = Kustuta partitsioon ESC = Katkesta F3 = V\204lju",
"L = Kustuta partitsioon ESC = Katkesta F3 = V\204lju",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
@@ -1477,6 +1583,21 @@ MUI_ERROR etEEErrorEntries[] =
" \x07 Vajuta F3 paigalduse seiskamiseks.",
"F3 = V\204lju ENTER = J\204tka"
},
{
// ERROR_NO_BUILD_PATH
"Failed to build the installation paths for the ReactOS installation directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_PATH
"You cannot delete the partition containing the installation source!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_DIR
"You cannot install ReactOS within the installation source directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_NO_HDD
"K\344vaketast ei leitud.\n",
@@ -1679,7 +1800,7 @@ MUI_ERROR etEEErrorEntries[] =
},
{
// ERROR_PARTITION_TABLE_FULL,
"You can not create a new primary or extended partition in the\n"
"You cannot create a new primary or extended partition in the\n"
"partition table of this disk because the partition table is full.\n"
"\n"
" * Vajuta mis tahes klahvi, et j\204tkata."
@@ -1753,6 +1874,10 @@ MUI_PAGE etEEPages[] =
SELECT_PARTITION_PAGE,
etEESelectPartitionEntries
},
{
CHANGE_SYSTEM_PARTITION,
etEEChangeSystemPartition
},
{
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
etEEConfirmDeleteSystemPartitionEntries

View File

@@ -738,7 +738,8 @@ static MUI_ENTRY frFRDisplayPageEntries[] =
"Vous voulez changer le type d'\202cran \205 installer.",
TEXT_STYLE_NORMAL
},
{ 8,
{
8,
10,
"\x07 Appuyer sur HAUT ou BAS pour s\202lectionner le type d'\202cran.",
TEXT_STYLE_NORMAL
@@ -938,6 +939,112 @@ static MUI_ENTRY frFRSelectPartitionEntries[] =
}
};
static MUI_ENTRY frFRChangeSystemPartition[] =
{
{
4,
3,
" Installation de ReactOS " KERNEL_VERSION_STR " ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"La partition syst\212me actuelle de votre ordinateur",
TEXT_STYLE_NORMAL
},
{
6,
12,
"sur le disque syst\212me",
TEXT_STYLE_NORMAL
},
{
6,
16,
"emploie un format qui n'est pas support\202 par ReactOS.",
TEXT_STYLE_NORMAL
},
{
6,
18,
"Afin de pouvoir installer ReactOS avec succ\212s, ReactOS Setup doit changer",
TEXT_STYLE_NORMAL
},
{
6,
19,
"la partition syst\212me actuelle par une nouvelle.",
TEXT_STYLE_NORMAL
},
{
6,
21,
"La nouvelle partition syst\212me candidate est :",
TEXT_STYLE_NORMAL
},
{
8,
25,
"\x07 Pour accepter ce choix, appuyez sur ENTR\220E.",
TEXT_STYLE_NORMAL
},
{
8,
27,
"\x07 Pour changer manuellement la partition syst\212me, appuyez sur \220CHAP",
TEXT_STYLE_NORMAL
},
{
8,
28,
" afin de revenir dans la liste des partitions, puis s\202lectionnez ou",
TEXT_STYLE_NORMAL
},
{
8,
29,
" cr\202ez une nouvelle partition syst\212me sur le disque syst\212me.",
TEXT_STYLE_NORMAL
},
{
6,
32,
"S'il existe d'autres syst\212mes d'exploitation qui d\202pendent de la partition",
TEXT_STYLE_NORMAL
},
{
6,
33,
"syst\212me d'origine, vous devrez peut-\210tre les reconfigurer pour la nouvelle",
TEXT_STYLE_NORMAL
},
{
6,
34,
"partition syst\212me, ou bien changer la partition syst\212me vers celle",
TEXT_STYLE_NORMAL
},
{
6,
35,
"d'origine apr\212s la fin de l'installation de ReactOS.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTR\220E = Continuer \220CHAP = Annuler",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY frFRConfirmDeleteSystemPartitionEntries[] =
{
{
@@ -1394,7 +1501,6 @@ static MUI_ENTRY frFRSelectFSEntries[] =
"ENTR\220E = Continuer \220CHAP = Annuler F3 = Quitter",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
@@ -1420,7 +1526,7 @@ static MUI_ENTRY frFRDeletePartitionEntries[] =
{
8,
18,
"\x07 Appuyez sur D pour supprimer la partition.",
"\x07 Appuyez sur L pour supprimer la partition.",
TEXT_STYLE_NORMAL
},
{
@@ -1438,7 +1544,7 @@ static MUI_ENTRY frFRDeletePartitionEntries[] =
{
0,
0,
"D = Supprimer la Partition \220CHAP = Annuler F3 = Quitter",
"L = Supprimer la partition \220CHAP = Annuler F3 = Quitter",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
@@ -1494,6 +1600,21 @@ MUI_ERROR frFRErrorEntries[] =
" \x07 Appuyer sur F3 pour quitter Setup.",
"F3 = Quitter ENTR\220E = Continuer"
},
{
// ERROR_NO_BUILD_PATH
"Failed to build the installation paths for the ReactOS installation directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_PATH
"You cannot delete the partition containing the installation source!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_DIR
"You cannot install ReactOS within the installation source directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_NO_HDD
"Setup n'a pu trouver un disque dur.\n",
@@ -1562,8 +1683,8 @@ MUI_ERROR frFRErrorEntries[] =
},
{
// ERROR_NEW_PARTITION,
"Vous ne pouvez cr\202er une nouvelle Partition \205 l'int\202rieur\n"
"d'une Partition d\202j\205 existante!\n"
"Vous ne pouvez cr\202er une nouvelle partition \205 l'int\202rieur\n"
"d'une partition d\202j\205 existante!\n"
"\n"
" * Appuyer sur une touche pour continuer.",
NULL
@@ -1772,6 +1893,10 @@ MUI_PAGE frFRPages[] =
SELECT_PARTITION_PAGE,
frFRSelectPartitionEntries
},
{
CHANGE_SYSTEM_PARTITION,
frFRChangeSystemPartition
},
{
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
frFRConfirmDeleteSystemPartitionEntries
@@ -1839,13 +1964,13 @@ MUI_STRING frFRStrings[] =
{STRING_PLEASEWAIT,
" Veuillez patienter..."},
{STRING_INSTALLCREATEPARTITION,
" ENTR\220E = Installer P/E = Cr\202er Partition Primaire/\220tendue F3 = Quitter"},
" ENTR\220E = Installer P/E = Cr\202er partition Primaire/\220tendue F3 = Quitter"},
{STRING_INSTALLCREATELOGICAL,
" ENTR\220E = Installer L = Cr\202er Partition Logique F3 = Quitter"},
" ENTR\220E = Installer L = Cr\202er partition Logique F3 = Quitter"},
{STRING_INSTALLDELETEPARTITION,
" ENTR\220E = Installer D = Supprimer Partition F3 = Quitter"},
" ENTR\220E = Installer D = Supprimer partition F3 = Quitter"},
{STRING_DELETEPARTITION,
" D = Supprimer Partition F3 = Quitter"},
" D = Supprimer partition F3 = Quitter"},
{STRING_PARTITIONSIZE,
"Taille de la nouvelle partition :"},
{STRING_CHOOSENEWPARTITION,
@@ -1857,15 +1982,15 @@ MUI_STRING frFRStrings[] =
{STRING_HDDSIZE,
"Veuillez entrer la taille de la nouvelle partition en m\202gaoctets."},
{STRING_CREATEPARTITION,
" ENTR\220E = Cr\202er Partition \220CHAP = Annuler F3 = Quitter"},
" ENTR\220E = Cr\202er partition \220CHAP = Annuler F3 = Quitter"},
{STRING_PARTFORMAT,
"Cette Partition sera ensuite format\202e."},
"Cette partition sera ensuite format\202e."},
{STRING_NONFORMATTEDPART,
"Vous avez choisi d'installer ReactOS sur une nouvelle partition."},
{STRING_NONFORMATTEDSYSTEMPART,
"The system partition is not formatted yet."},
"La partition syst\212me n'est pas encore format\202e."},
{STRING_NONFORMATTEDOTHERPART,
"The new partition is not formatted yet."},
"La nouvelle partition n'est pas encore format\202e."},
{STRING_INSTALLONPART,
"Setup installe ReactOS sur la partition"},
{STRING_CHECKINGPART,

View File

@@ -734,7 +734,8 @@ static MUI_ENTRY heILDisplayPageEntries[] =
".\217\227\232\205\216\204 \204\202\205\226\232\204 \202\205\221 \232\200 \232\205\220\231\214 \212\220\205\226\230\201",
TEXT_STYLE_NORMAL
},
{ 8,
{
8,
10,
"\x07 .\211\205\226\230\204 \204\202\205\226\232\204 \202\205\221 \232\200 \230\205\207\201\214 \211\203\213 \204\210\216\214 \205\200 \204\214\222\216\214 \214\222 \225\207\214",
TEXT_STYLE_NORMAL
@@ -934,6 +935,112 @@ static MUI_ENTRY heILSelectPartitionEntries[] =
}
};
static MUI_ENTRY heILChangeSystemPartition[] =
{
{
4,
3,
" ReactOS " KERNEL_VERSION_STR " Setup ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"The current system partition of your computer",
TEXT_STYLE_NORMAL
},
{
6,
12,
"on the system disk",
TEXT_STYLE_NORMAL
},
{
6,
16,
"uses a format not supported by ReactOS.",
TEXT_STYLE_NORMAL
},
{
6,
18,
"In order to successfully install ReactOS, the Setup program must change",
TEXT_STYLE_NORMAL
},
{
6,
19,
"the current system partition to a new one.",
TEXT_STYLE_NORMAL
},
{
6,
21,
"The new candidate system partition is:",
TEXT_STYLE_NORMAL
},
{
8,
25,
"\x07 To accept this choice, press ENTER.",
TEXT_STYLE_NORMAL
},
{
8,
27,
"\x07 To manually change the system partition, press ESC to go back to",
TEXT_STYLE_NORMAL
},
{
8,
28,
" the partition selection list, then select or create a new system",
TEXT_STYLE_NORMAL
},
{
8,
29,
" partition on the system disk.",
TEXT_STYLE_NORMAL
},
{
6,
32,
"In case there are other operating systems that depend on the original",
TEXT_STYLE_NORMAL
},
{
6,
33,
"system partition, you may need to either reconfigure them for the new",
TEXT_STYLE_NORMAL
},
{
6,
34,
"system partition, or you may need to change the system partition back",
TEXT_STYLE_NORMAL
},
{
6,
35,
"to the original one after finishing the installation of ReactOS.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTER = Continue ESC = Cancel",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY heILConfirmDeleteSystemPartitionEntries[] =
{
{
@@ -1378,7 +1485,6 @@ static MUI_ENTRY heILSelectFSEntries[] =
"\204\220\227\232\204 \214\205\210\211\201 = F3 \214\205\210\211\201 = ESC \212\231\216\204 = ENTER",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
@@ -1404,7 +1510,7 @@ static MUI_ENTRY heILDeletePartitionEntries[] =
{
8,
18,
"\x07 .\204\226\211\207\216\204 \232\200 \227\205\207\216\214 \211\203\213 D \225\207\214",
"\x07 .\204\226\211\207\216\204 \232\200 \227\205\207\216\214 \211\203\213 L \225\207\214",
TEXT_STYLE_NORMAL
},
{
@@ -1422,7 +1528,7 @@ static MUI_ENTRY heILDeletePartitionEntries[] =
{
0,
0,
"\204\220\227\232\204 \214\205\210\211\201 = F3 \214\205\210\211\201 = ESC \204\226\211\207\216 \227\207\216 = D",
"\204\220\227\232\204 \214\205\210\211\201 = F3 \214\205\210\211\201 = ESC \204\226\211\207\216 \227\207\216 = L",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
@@ -1478,6 +1584,21 @@ MUI_ERROR heILErrorEntries[] =
" \x07 .\204\220\227\232\204\204\216 \232\200\226\214 \211\203\213 F3 \225\207\214",
"\204\220\227\232\204 \214\205\210\211\201 = F3 \212\231\216\204 = ENTER"
},
{
// ERROR_NO_BUILD_PATH
"Failed to build the installation paths for the ReactOS installation directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_PATH
"You cannot delete the partition containing the installation source!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_DIR
"You cannot install ReactOS within the installation source directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_NO_HDD
".\207\211\231\227 \217\220\205\213 \204\200\226\216 \200\214 \204\220\227\232\204\204 \232\211\220\213\232\n",
@@ -1754,6 +1875,10 @@ MUI_PAGE heILPages[] =
SELECT_PARTITION_PAGE,
heILSelectPartitionEntries
},
{
CHANGE_SYSTEM_PARTITION,
heILChangeSystemPartition
},
{
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
heILConfirmDeleteSystemPartitionEntries

View File

@@ -729,7 +729,8 @@ static MUI_ENTRY itITDisplayPageEntries[] =
"Desidera modificare il tipo di schermo.",
TEXT_STYLE_NORMAL
},
{ 8,
{
8,
10,
"\x07 Premere i tasti SU e GI\xEB per modificare il tipo.",
TEXT_STYLE_NORMAL
@@ -929,6 +930,112 @@ static MUI_ENTRY itITSelectPartitionEntries[] =
}
};
static MUI_ENTRY itITChangeSystemPartition[] =
{
{
4,
3,
" ReactOS " KERNEL_VERSION_STR " Setup ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"The current system partition of your computer",
TEXT_STYLE_NORMAL
},
{
6,
12,
"on the system disk",
TEXT_STYLE_NORMAL
},
{
6,
16,
"uses a format not supported by ReactOS.",
TEXT_STYLE_NORMAL
},
{
6,
18,
"In order to successfully install ReactOS, the Setup program must change",
TEXT_STYLE_NORMAL
},
{
6,
19,
"the current system partition to a new one.",
TEXT_STYLE_NORMAL
},
{
6,
21,
"The new candidate system partition is:",
TEXT_STYLE_NORMAL
},
{
8,
25,
"\x07 To accept this choice, press ENTER.",
TEXT_STYLE_NORMAL
},
{
8,
27,
"\x07 To manually change the system partition, press ESC to go back to",
TEXT_STYLE_NORMAL
},
{
8,
28,
" the partition selection list, then select or create a new system",
TEXT_STYLE_NORMAL
},
{
8,
29,
" partition on the system disk.",
TEXT_STYLE_NORMAL
},
{
6,
32,
"In case there are other operating systems that depend on the original",
TEXT_STYLE_NORMAL
},
{
6,
33,
"system partition, you may need to either reconfigure them for the new",
TEXT_STYLE_NORMAL
},
{
6,
34,
"system partition, or you may need to change the system partition back",
TEXT_STYLE_NORMAL
},
{
6,
35,
"to the original one after finishing the installation of ReactOS.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTER = Continue ESC = Cancel",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY itITConfirmDeleteSystemPartitionEntries[] =
{
{
@@ -1379,7 +1486,6 @@ static MUI_ENTRY itITSelectFSEntries[] =
" INVIO = Continua ESC = Annulla F3 = Termina",
TEXT_TYPE_STATUS
},
{
0,
0,
@@ -1405,7 +1511,7 @@ static MUI_ENTRY itITDeletePartitionEntries[] =
{
8,
18,
"\x07 Premere D per cancellare la partizione.",
"\x07 Premere L per cancellare la partizione.",
TEXT_STYLE_NORMAL
},
{
@@ -1423,7 +1529,7 @@ static MUI_ENTRY itITDeletePartitionEntries[] =
{
0,
0,
" D = Cancella la partizione ESC = Annulla F3 = Termina",
" L = Cancella la partizione ESC = Annulla F3 = Termina",
TEXT_TYPE_STATUS
},
{
@@ -1479,6 +1585,21 @@ MUI_ERROR itITErrorEntries[] =
" \x07 Premere F3 per uscire.",
"F3 = Uscire INVIO = Continuare"
},
{
// ERROR_NO_BUILD_PATH
"Failed to build the installation paths for the ReactOS installation directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_PATH
"You cannot delete the partition containing the installation source!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_DIR
"You cannot install ReactOS within the installation source directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_NO_HDD
"Setup non ha trovato un disco fisso.\n",
@@ -1757,6 +1878,10 @@ MUI_PAGE itITPages[] =
SELECT_PARTITION_PAGE,
itITSelectPartitionEntries
},
{
CHANGE_SYSTEM_PARTITION,
itITChangeSystemPartition
},
{
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
itITConfirmDeleteSystemPartitionEntries

View File

@@ -732,7 +732,8 @@ static MUI_ENTRY jaJPDisplayPageEntries[] =
"\262\335\275\304\260\331 \273\332\331 \303\336\250\275\314\337\332\262\311 \274\255\331\262\246 \315\335\272\263 \275\331 \272\304\266\336 \276\335\300\270 \273\332\317\274\300\241",
TEXT_STYLE_NORMAL
},
{ 8,
{
8,
10,
"\x07 UP \323\274\270\312 DOWN \267\260\246 \265\274\303 \303\267\275\331 \303\336\250\275\314\337\332\262\311 \274\255\331\262\246 \276\335\300\270 \274\303 \270\300\336\273\262\241",
TEXT_STYLE_NORMAL
@@ -933,6 +934,112 @@ static MUI_ENTRY jaJPSelectPartitionEntries[] =
}
};
static MUI_ENTRY jaJPChangeSystemPartition[] =
{
{
4,
3,
" ReactOS " KERNEL_VERSION_STR " Setup ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"The current system partition of your computer",
TEXT_STYLE_NORMAL
},
{
6,
12,
"on the system disk",
TEXT_STYLE_NORMAL
},
{
6,
16,
"uses a format not supported by ReactOS.",
TEXT_STYLE_NORMAL
},
{
6,
18,
"In order to successfully install ReactOS, the Setup program must change",
TEXT_STYLE_NORMAL
},
{
6,
19,
"the current system partition to a new one.",
TEXT_STYLE_NORMAL
},
{
6,
21,
"The new candidate system partition is:",
TEXT_STYLE_NORMAL
},
{
8,
25,
"\x07 To accept this choice, press ENTER.",
TEXT_STYLE_NORMAL
},
{
8,
27,
"\x07 To manually change the system partition, press ESC to go back to",
TEXT_STYLE_NORMAL
},
{
8,
28,
" the partition selection list, then select or create a new system",
TEXT_STYLE_NORMAL
},
{
8,
29,
" partition on the system disk.",
TEXT_STYLE_NORMAL
},
{
6,
32,
"In case there are other operating systems that depend on the original",
TEXT_STYLE_NORMAL
},
{
6,
33,
"system partition, you may need to either reconfigure them for the new",
TEXT_STYLE_NORMAL
},
{
6,
34,
"system partition, or you may need to change the system partition back",
TEXT_STYLE_NORMAL
},
{
6,
35,
"to the original one after finishing the installation of ReactOS.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTER = Continue ESC = Cancel",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY jaJPConfirmDeleteSystemPartitionEntries[] =
{
{
@@ -1377,7 +1484,6 @@ static MUI_ENTRY jaJPSelectFSEntries[] =
"ENTER = \277\336\257\272\263 ESC = \267\254\335\276\331 F3 = \301\255\263\274",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
@@ -1403,7 +1509,7 @@ static MUI_ENTRY jaJPDeletePartitionEntries[] =
{
8,
18,
"\x07 \272\311 \312\337\260\303\250\274\256\335\246 \273\270\274\336\256 \275\331\306\312 D \267\260\246 \265\274\303 \270\300\336\273\262\241",
"\x07 \272\311 \312\337\260\303\250\274\256\335\246 \273\270\274\336\256 \275\331\306\312 L \267\260\246 \265\274\303 \270\300\336\273\262\241",
TEXT_STYLE_NORMAL
},
{
@@ -1421,7 +1527,7 @@ static MUI_ENTRY jaJPDeletePartitionEntries[] =
{
0,
0,
"D = \312\337\260\303\274\256\335 \273\270\274\336\256 ESC = \267\254\335\276\331 F3 = \301\255\263\274",
"L = \312\337\260\303\274\256\335 \273\270\274\336\256 ESC = \267\254\335\276\331 F3 = \301\255\263\274",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
@@ -1477,6 +1583,21 @@ MUI_ERROR jaJPErrorEntries[] =
" \x07 \276\257\304\261\257\314\337\246 \301\255\263\274 \275\331\306\312 F3 \267\260\246 \265\274\303 \270\300\336\273\262\241",
"F3 = \301\255\263\274 ENTER = \277\336\257\272\263"
},
{
// ERROR_NO_BUILD_PATH
"Failed to build the installation paths for the ReactOS installation directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_PATH
"You cannot delete the partition containing the installation source!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_DIR
"You cannot install ReactOS within the installation source directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_NO_HDD
"\276\257\304\261\257\314\337\312 \312\260\304\336\303\336\250\275\270\246 \271\335\274\255\302 \303\336\267\317\276\335 \303\336\274\300\241\n",
@@ -1681,14 +1802,14 @@ MUI_ERROR jaJPErrorEntries[] =
},
{
// ERROR_PARTITION_TABLE_FULL,
"You can not create a new primary or extended partition in the\n"
"You cannot create a new primary or extended partition in the\n"
"partition table of this disk because the partition table is full.\n"
"\n"
" * Press any key to continue."
},
{
// ERROR_ONLY_ONE_EXTENDED,
"You can not create more than one extended partition per disk.\n"
"You cannot create more than one extended partition per disk.\n"
"\n"
" * Press any key to continue."
},
@@ -1755,6 +1876,10 @@ MUI_PAGE jaJPPages[] =
SELECT_PARTITION_PAGE,
jaJPSelectPartitionEntries
},
{
CHANGE_SYSTEM_PARTITION,
jaJPChangeSystemPartition
},
{
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
jaJPConfirmDeleteSystemPartitionEntries

View File

@@ -741,7 +741,8 @@ static MUI_ENTRY ltLTDisplayPageEntries[] =
"You want to change the type of display to be installed.",
TEXT_STYLE_NORMAL
},
{ 8,
{
8,
10,
"\x07 Press the UP or DOWN key to select the desired display type.",
TEXT_STYLE_NORMAL
@@ -941,6 +942,112 @@ static MUI_ENTRY ltLTSelectPartitionEntries[] =
}
};
static MUI_ENTRY ltLTChangeSystemPartition[] =
{
{
4,
3,
" ReactOS " KERNEL_VERSION_STR " Setup ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"The current system partition of your computer",
TEXT_STYLE_NORMAL
},
{
6,
12,
"on the system disk",
TEXT_STYLE_NORMAL
},
{
6,
16,
"uses a format not supported by ReactOS.",
TEXT_STYLE_NORMAL
},
{
6,
18,
"In order to successfully install ReactOS, the Setup program must change",
TEXT_STYLE_NORMAL
},
{
6,
19,
"the current system partition to a new one.",
TEXT_STYLE_NORMAL
},
{
6,
21,
"The new candidate system partition is:",
TEXT_STYLE_NORMAL
},
{
8,
25,
"\x07 To accept this choice, press ENTER.",
TEXT_STYLE_NORMAL
},
{
8,
27,
"\x07 To manually change the system partition, press ESC to go back to",
TEXT_STYLE_NORMAL
},
{
8,
28,
" the partition selection list, then select or create a new system",
TEXT_STYLE_NORMAL
},
{
8,
29,
" partition on the system disk.",
TEXT_STYLE_NORMAL
},
{
6,
32,
"In case there are other operating systems that depend on the original",
TEXT_STYLE_NORMAL
},
{
6,
33,
"system partition, you may need to either reconfigure them for the new",
TEXT_STYLE_NORMAL
},
{
6,
34,
"system partition, or you may need to change the system partition back",
TEXT_STYLE_NORMAL
},
{
6,
35,
"to the original one after finishing the installation of ReactOS.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTER = Continue ESC = Cancel",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY ltLTConfirmDeleteSystemPartitionEntries[] =
{
{
@@ -1385,7 +1492,6 @@ static MUI_ENTRY ltLTSelectFSEntries[] =
"ENTER = T\322sti ESC = At\325aukti F3 = Baigti",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
@@ -1411,7 +1517,7 @@ static MUI_ENTRY ltLTDeletePartitionEntries[] =
{
8,
18,
"\x07 Press D to delete the partition.",
"\x07 Press L to delete the partition.",
TEXT_STYLE_NORMAL
},
{
@@ -1429,7 +1535,7 @@ static MUI_ENTRY ltLTDeletePartitionEntries[] =
{
0,
0,
"D = Delete Partition ESC = At\325aukti F3 = Baigti",
"L = Delete Partition ESC = At\325aukti F3 = Baigti",
TEXT_TYPE_STATUS
},
{
@@ -1485,6 +1591,21 @@ MUI_ERROR ltLTErrorEntries[] =
" \x07 Press F3 to quit Setup.",
"F3 = Quit ENTER = Continue"
},
{
// ERROR_NO_BUILD_PATH
"Failed to build the installation paths for the ReactOS installation directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_PATH
"You cannot delete the partition containing the installation source!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_DIR
"You cannot install ReactOS within the installation source directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_NO_HDD
"Setup could not find a harddisk.\n",
@@ -1543,7 +1664,7 @@ MUI_ERROR ltLTErrorEntries[] =
{
// ERROR_WARN_PARTITION,
"Setup found that at least one harddisk contains an incompatible\n"
"partition table that can not be handled properly!\n"
"partition table that cannot be handled properly!\n"
"\n"
"Creating or deleting partitions can destroy the partition table.\n"
"\n"
@@ -1553,15 +1674,15 @@ MUI_ERROR ltLTErrorEntries[] =
},
{
// ERROR_NEW_PARTITION,
"You can not create a new Partition inside\n"
"of an already existing Partition!\n"
"You cannot create a new partition inside\n"
"of an already existing partition!\n"
"\n"
" * Press any key to continue.",
NULL
},
{
// ERROR_DELETE_SPACE,
"You can not delete unpartitioned disk space!\n"
"You cannot delete unpartitioned disk space!\n"
"\n"
" * Press any key to continue.",
NULL
@@ -1689,14 +1810,14 @@ MUI_ERROR ltLTErrorEntries[] =
},
{
// ERROR_PARTITION_TABLE_FULL,
"You can not create a new primary or extended partition in the\n"
"You cannot create a new primary or extended partition in the\n"
"partition table of this disk because the partition table is full.\n"
"\n"
" * Press any key to continue."
},
{
// ERROR_ONLY_ONE_EXTENDED,
"You can not create more than one extended partition per disk.\n"
"You cannot create more than one extended partition per disk.\n"
"\n"
" * Press any key to continue."
},
@@ -1763,6 +1884,10 @@ MUI_PAGE ltLTPages[] =
SELECT_PARTITION_PAGE,
ltLTSelectPartitionEntries
},
{
CHANGE_SYSTEM_PARTITION,
ltLTChangeSystemPartition
},
{
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
ltLTConfirmDeleteSystemPartitionEntries

View File

@@ -729,7 +729,8 @@ static MUI_ENTRY msMYDisplayPageEntries[] =
"Anda ingin tukar jenis paparan untuk dipasang.",
TEXT_STYLE_NORMAL
},
{ 8,
{
8,
10,
"\x07 Tekan kekunci UP atau DOWN untuk memilih",
TEXT_STYLE_NORMAL
@@ -923,6 +924,206 @@ static MUI_ENTRY msMYSelectPartitionEntries[] =
}
};
static MUI_ENTRY msMYChangeSystemPartition[] =
{
{
4,
3,
" ReactOS " KERNEL_VERSION_STR " Setup ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"The current system partition of your computer",
TEXT_STYLE_NORMAL
},
{
6,
12,
"on the system disk",
TEXT_STYLE_NORMAL
},
{
6,
16,
"uses a format not supported by ReactOS.",
TEXT_STYLE_NORMAL
},
{
6,
18,
"In order to successfully install ReactOS, the Setup program must change",
TEXT_STYLE_NORMAL
},
{
6,
19,
"the current system partition to a new one.",
TEXT_STYLE_NORMAL
},
{
6,
21,
"The new candidate system partition is:",
TEXT_STYLE_NORMAL
},
{
8,
25,
"\x07 To accept this choice, press ENTER.",
TEXT_STYLE_NORMAL
},
{
8,
27,
"\x07 To manually change the system partition, press ESC to go back to",
TEXT_STYLE_NORMAL
},
{
8,
28,
" the partition selection list, then select or create a new system",
TEXT_STYLE_NORMAL
},
{
8,
29,
" partition on the system disk.",
TEXT_STYLE_NORMAL
},
{
6,
32,
"In case there are other operating systems that depend on the original",
TEXT_STYLE_NORMAL
},
{
6,
33,
"system partition, you may need to either reconfigure them for the new",
TEXT_STYLE_NORMAL
},
{
6,
34,
"system partition, or you may need to change the system partition back",
TEXT_STYLE_NORMAL
},
{
6,
35,
"to the original one after finishing the installation of ReactOS.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTER = Continue ESC = Cancel",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY msMYConfirmDeleteSystemPartitionEntries[] =
{
{
4,
3,
" ReactOS " KERNEL_VERSION_STR " Setup ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"You have chosen to delete the system partition.",
TEXT_STYLE_NORMAL
},
{
6,
10,
"System partitions can contain diagnostic programs, hardware configuration",
TEXT_STYLE_NORMAL
},
{
6,
11,
"programs, programs to start an operating system (like ReactOS) or other",
TEXT_STYLE_NORMAL
},
{
6,
12,
"programs provided by the hardware manufacturer.",
TEXT_STYLE_NORMAL
},
{
6,
14,
"Delete a system partition only when you are sure that there are no such",
TEXT_STYLE_NORMAL
},
{
6,
15,
"programs on the partition, or when you are sure you want to delete them.",
TEXT_STYLE_NORMAL
},
{
6,
16,
"When you delete the partition, you might not be able to boot the",
TEXT_STYLE_NORMAL
},
{
6,
17,
"computer from the harddisk until you finished the ReactOS Setup.",
TEXT_STYLE_NORMAL
},
{
8,
20,
"\x07 Press ENTER to delete the system partition. You will be asked",
TEXT_STYLE_NORMAL
},
{
8,
21,
" to confirm the deletion of the partition again later.",
TEXT_STYLE_NORMAL
},
{
8,
24,
"\x07 Press ESC to return to the previous page. The partition will",
TEXT_STYLE_NORMAL
},
{
8,
25,
" not be deleted.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTER=Continue ESC=Cancel",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY msMYFormatPartitionEntries[] =
{
{
@@ -1273,7 +1474,6 @@ static MUI_ENTRY msMYSelectFSEntries[] =
"ENTER = Teruskan ESC = Batal F3 = Keluar",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
@@ -1299,7 +1499,7 @@ static MUI_ENTRY msMYDeletePartitionEntries[] =
{
8,
18,
"\x07 Tekan D untuk menghapuskan partition itu.",
"\x07 Tekan L untuk menghapuskan partition itu.",
TEXT_STYLE_NORMAL
},
{
@@ -1317,7 +1517,7 @@ static MUI_ENTRY msMYDeletePartitionEntries[] =
{
0,
0,
"D = Menghapuskan partition ESC = Batal F3 = Keluar",
"L = Menghapuskan partition ESC = Batal F3 = Keluar",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
@@ -1373,6 +1573,21 @@ MUI_ERROR msMYErrorEntries[] =
" \x07 Tekan F3 untuk keluar persediaan.",
"F3 = Keluar ENTER = Teruskan"
},
{
// ERROR_NO_BUILD_PATH
"Failed to build the installation paths for the ReactOS installation directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_PATH
"You cannot delete the partition containing the installation source!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_DIR
"You cannot install ReactOS within the installation source directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_NO_HDD
"Persediaan tidak dapat mencari cakera keras.\n",
@@ -1644,6 +1859,14 @@ MUI_PAGE msMYPages[] =
SELECT_PARTITION_PAGE,
msMYSelectPartitionEntries
},
{
CHANGE_SYSTEM_PARTITION,
msMYChangeSystemPartition
},
{
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
msMYConfirmDeleteSystemPartitionEntries
},
{
SELECT_FILE_SYSTEM_PAGE,
msMYSelectFSEntries

View File

@@ -945,6 +945,112 @@ static MUI_ENTRY nlNLSelectPartitionEntries[] =
}
};
static MUI_ENTRY nlNLChangeSystemPartition[] =
{
{
4,
3,
" ReactOS " KERNEL_VERSION_STR " Setup ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"The current system partition of your computer",
TEXT_STYLE_NORMAL
},
{
6,
12,
"on the system disk",
TEXT_STYLE_NORMAL
},
{
6,
16,
"uses a format not supported by ReactOS.",
TEXT_STYLE_NORMAL
},
{
6,
18,
"In order to successfully install ReactOS, the Setup program must change",
TEXT_STYLE_NORMAL
},
{
6,
19,
"the current system partition to a new one.",
TEXT_STYLE_NORMAL
},
{
6,
21,
"The new candidate system partition is:",
TEXT_STYLE_NORMAL
},
{
8,
25,
"\x07 To accept this choice, press ENTER.",
TEXT_STYLE_NORMAL
},
{
8,
27,
"\x07 To manually change the system partition, press ESC to go back to",
TEXT_STYLE_NORMAL
},
{
8,
28,
" the partition selection list, then select or create a new system",
TEXT_STYLE_NORMAL
},
{
8,
29,
" partition on the system disk.",
TEXT_STYLE_NORMAL
},
{
6,
32,
"In case there are other operating systems that depend on the original",
TEXT_STYLE_NORMAL
},
{
6,
33,
"system partition, you may need to either reconfigure them for the new",
TEXT_STYLE_NORMAL
},
{
6,
34,
"system partition, or you may need to change the system partition back",
TEXT_STYLE_NORMAL
},
{
6,
35,
"to the original one after finishing the installation of ReactOS.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTER = Continue ESC = Cancel",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY nlNLConfirmDeleteSystemPartitionEntries[] =
{
{
@@ -1389,7 +1495,6 @@ static MUI_ENTRY nlNLSelectFSEntries[] =
"ENTER = Doorgaan ESC = Annuleren F3 = Afsluiten",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
@@ -1415,7 +1520,7 @@ static MUI_ENTRY nlNLDeletePartitionEntries[] =
{
8,
18,
"\x07 Druk op D om de partitie te verwijderen.",
"\x07 Druk op L om de partitie te verwijderen.",
TEXT_STYLE_NORMAL
},
{
@@ -1433,7 +1538,7 @@ static MUI_ENTRY nlNLDeletePartitionEntries[] =
{
0,
0,
"D = Verwijder partitie ESC = Annuleren F3 = Afsluiten",
"L = Verwijder partitie ESC = Annuleren F3 = Afsluiten",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
@@ -1495,6 +1600,21 @@ MUI_ERROR nlNLErrorEntries[] =
" \x07 Druk op F3 om Setup af te sluiten.",
"F3 = Afsluiten ENTER = Doorgaan"
},
{
// ERROR_NO_BUILD_PATH
"Failed to build the installation paths for the ReactOS installation directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_PATH
"You cannot delete the partition containing the installation source!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_DIR
"You cannot install ReactOS within the installation source directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_NO_HDD
"Setup kan geen vaste schijf vinden.\n",
@@ -1703,14 +1823,14 @@ MUI_ERROR nlNLErrorEntries[] =
},
{
// ERROR_PARTITION_TABLE_FULL,
"You can not create a new primary or extended partition in the\n"
"You cannot create a new primary or extended partition in the\n"
"partition table of this disk because the partition table is full.\n"
"\n"
" * Press any key to continue."
},
{
// ERROR_ONLY_ONE_EXTENDED,
"You can not create more than one extended partition per disk.\n"
"You cannot create more than one extended partition per disk.\n"
"\n"
" * Press any key to continue."
},
@@ -1777,6 +1897,10 @@ MUI_PAGE nlNLPages[] =
SELECT_PARTITION_PAGE,
nlNLSelectPartitionEntries
},
{
CHANGE_SYSTEM_PARTITION,
nlNLChangeSystemPartition
},
{
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
nlNLConfirmDeleteSystemPartitionEntries

View File

@@ -741,7 +741,8 @@ static MUI_ENTRY plPLDisplayPageEntries[] =
"Chcesz zmieni\206 rozdzielczo\230\206 monitora.",
TEXT_STYLE_NORMAL
},
{ 8,
{
8,
10,
"\x07 U\276ywaj\245c klawiszy G\340RA lub D\340\235, wybierz rozdzielczo\230\206 i llo\230\206",
TEXT_STYLE_NORMAL
@@ -941,6 +942,112 @@ static MUI_ENTRY plPLSelectPartitionEntries[] =
}
};
static MUI_ENTRY plPLChangeSystemPartition[] =
{
{
4,
3,
" ReactOS " KERNEL_VERSION_STR " Setup ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"The current system partition of your computer",
TEXT_STYLE_NORMAL
},
{
6,
12,
"on the system disk",
TEXT_STYLE_NORMAL
},
{
6,
16,
"uses a format not supported by ReactOS.",
TEXT_STYLE_NORMAL
},
{
6,
18,
"In order to successfully install ReactOS, the Setup program must change",
TEXT_STYLE_NORMAL
},
{
6,
19,
"the current system partition to a new one.",
TEXT_STYLE_NORMAL
},
{
6,
21,
"The new candidate system partition is:",
TEXT_STYLE_NORMAL
},
{
8,
25,
"\x07 To accept this choice, press ENTER.",
TEXT_STYLE_NORMAL
},
{
8,
27,
"\x07 To manually change the system partition, press ESC to go back to",
TEXT_STYLE_NORMAL
},
{
8,
28,
" the partition selection list, then select or create a new system",
TEXT_STYLE_NORMAL
},
{
8,
29,
" partition on the system disk.",
TEXT_STYLE_NORMAL
},
{
6,
32,
"In case there are other operating systems that depend on the original",
TEXT_STYLE_NORMAL
},
{
6,
33,
"system partition, you may need to either reconfigure them for the new",
TEXT_STYLE_NORMAL
},
{
6,
34,
"system partition, or you may need to change the system partition back",
TEXT_STYLE_NORMAL
},
{
6,
35,
"to the original one after finishing the installation of ReactOS.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTER = Continue ESC = Cancel",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY plPLConfirmDeleteSystemPartitionEntries[] =
{
{
@@ -1385,7 +1492,6 @@ static MUI_ENTRY plPLSelectFSEntries[] =
"ENTER = Kontynuacja ESC = Anulowanie F3 = Wyj\230cie",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
@@ -1411,7 +1517,7 @@ static MUI_ENTRY plPLDeletePartitionEntries[] =
{
8,
18,
"\x07 Naci\230nij D, by usun\245\206 partycj\251.",
"\x07 Naci\230nij L, by usun\245\206 partycj\251.",
TEXT_STYLE_NORMAL
},
{
@@ -1429,7 +1535,7 @@ static MUI_ENTRY plPLDeletePartitionEntries[] =
{
0,
0,
"D = Usuni\251cie partycji ESC = Anulowanie F3 = Wyj\230cie",
"L = Usuni\251cie partycji ESC = Anulowanie F3 = Wyj\230cie",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
@@ -1485,6 +1591,21 @@ MUI_ERROR plPLErrorEntries[] =
" \x07 Naci\230nij F3, aby wyj\230\206 z instalatora.",
"F3 = Wyj\230cie ENTER = Kontynuacja"
},
{
// ERROR_NO_BUILD_PATH
"Failed to build the installation paths for the ReactOS installation directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_PATH
"You cannot delete the partition containing the installation source!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_DIR
"You cannot install ReactOS within the installation source directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_NO_HDD
"Instalator nie wykry\210 \276adnego dysku twardego.\n",
@@ -1763,6 +1884,10 @@ MUI_PAGE plPLPages[] =
SELECT_PARTITION_PAGE,
plPLSelectPartitionEntries
},
{
CHANGE_SYSTEM_PARTITION,
plPLChangeSystemPartition
},
{
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
plPLConfirmDeleteSystemPartitionEntries

View File

@@ -738,7 +738,8 @@ static MUI_ENTRY ptBRDisplayPageEntries[] =
"A lista a seguir mostra os tipos de v\241deo dispon\241veis para instala\207\306o.",
TEXT_STYLE_NORMAL
},
{ 6,
{
6,
10,
"Use as teclas SETA PARA CIMA e SETA PARA BAIXO para selecionar",
TEXT_STYLE_NORMAL
@@ -945,6 +946,112 @@ static MUI_ENTRY ptBRSelectPartitionEntries[] =
}
};
static MUI_ENTRY ptBRChangeSystemPartition[] =
{
{
4,
3,
" ReactOS " KERNEL_VERSION_STR " Setup ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"The current system partition of your computer",
TEXT_STYLE_NORMAL
},
{
6,
12,
"on the system disk",
TEXT_STYLE_NORMAL
},
{
6,
16,
"uses a format not supported by ReactOS.",
TEXT_STYLE_NORMAL
},
{
6,
18,
"In order to successfully install ReactOS, the Setup program must change",
TEXT_STYLE_NORMAL
},
{
6,
19,
"the current system partition to a new one.",
TEXT_STYLE_NORMAL
},
{
6,
21,
"The new candidate system partition is:",
TEXT_STYLE_NORMAL
},
{
8,
25,
"\x07 To accept this choice, press ENTER.",
TEXT_STYLE_NORMAL
},
{
8,
27,
"\x07 To manually change the system partition, press ESC to go back to",
TEXT_STYLE_NORMAL
},
{
8,
28,
" the partition selection list, then select or create a new system",
TEXT_STYLE_NORMAL
},
{
8,
29,
" partition on the system disk.",
TEXT_STYLE_NORMAL
},
{
6,
32,
"In case there are other operating systems that depend on the original",
TEXT_STYLE_NORMAL
},
{
6,
33,
"system partition, you may need to either reconfigure them for the new",
TEXT_STYLE_NORMAL
},
{
6,
34,
"system partition, or you may need to change the system partition back",
TEXT_STYLE_NORMAL
},
{
6,
35,
"to the original one after finishing the installation of ReactOS.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTER = Continue ESC = Cancel",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY ptBRConfirmDeleteSystemPartitionEntries[] =
{
{
@@ -1401,7 +1508,6 @@ static MUI_ENTRY ptBRSelectFSEntries[] =
"ENTER=Continuar ESC=Cancelar F3=Sair",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
@@ -1427,7 +1533,7 @@ static MUI_ENTRY ptBRDeletePartitionEntries[] =
{
8,
18,
"\x07 Para excluir esta parti\207\306o, pressione D",
"\x07 Para excluir esta parti\207\306o, pressione L",
TEXT_STYLE_NORMAL
},
{
@@ -1451,7 +1557,7 @@ static MUI_ENTRY ptBRDeletePartitionEntries[] =
{
0,
0,
"D=Excluir ESC=Cancelar F3=Sair",
"L=Excluir ESC=Cancelar F3=Sair",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
@@ -1507,6 +1613,21 @@ MUI_ERROR ptBRErrorEntries[] =
" \x07 Para sair da instala\207\306o, pressione F3.",
"F3=Sair ENTER=Continuar"
},
{
// ERROR_NO_BUILD_PATH
"Failed to build the installation paths for the ReactOS installation directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_PATH
"You cannot delete the partition containing the installation source!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_DIR
"You cannot install ReactOS within the installation source directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_NO_HDD
"N\306o foi poss\241vel localizar um disco r\241digo.\n",
@@ -1711,14 +1832,14 @@ MUI_ERROR ptBRErrorEntries[] =
},
{
// ERROR_PARTITION_TABLE_FULL,
"You can not create a new primary or extended partition in the\n"
"You cannot create a new primary or extended partition in the\n"
"partition table of this disk because the partition table is full.\n"
"\n"
" * Press any key to continue."
},
{
// ERROR_ONLY_ONE_EXTENDED,
"You can not create more than one extended partition per disk.\n"
"You cannot create more than one extended partition per disk.\n"
"\n"
" * Press any key to continue."
},
@@ -1785,6 +1906,10 @@ MUI_PAGE ptBRPages[] =
SELECT_PARTITION_PAGE,
ptBRSelectPartitionEntries
},
{
CHANGE_SYSTEM_PARTITION,
ptBRChangeSystemPartition
},
{
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
ptBRConfirmDeleteSystemPartitionEntries

File diff suppressed because it is too large Load Diff

View File

@@ -764,7 +764,8 @@ static MUI_ENTRY roRODisplayPageEntries[] =
"Dori\376i modificarea parametrilor grafici de afi\272are?",
TEXT_STYLE_NORMAL
},
{ 8,
{
8,
10,
"\x07 Utiliza\376i tastele SUS/JOS pentru a selecta",
TEXT_STYLE_NORMAL
@@ -964,6 +965,112 @@ static MUI_ENTRY roROSelectPartitionEntries[] =
}
};
static MUI_ENTRY roROChangeSystemPartition[] =
{
{
4,
3,
" ReactOS " KERNEL_VERSION_STR " Setup ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"The current system partition of your computer",
TEXT_STYLE_NORMAL
},
{
6,
12,
"on the system disk",
TEXT_STYLE_NORMAL
},
{
6,
16,
"uses a format not supported by ReactOS.",
TEXT_STYLE_NORMAL
},
{
6,
18,
"In order to successfully install ReactOS, the Setup program must change",
TEXT_STYLE_NORMAL
},
{
6,
19,
"the current system partition to a new one.",
TEXT_STYLE_NORMAL
},
{
6,
21,
"The new candidate system partition is:",
TEXT_STYLE_NORMAL
},
{
8,
25,
"\x07 To accept this choice, press ENTER.",
TEXT_STYLE_NORMAL
},
{
8,
27,
"\x07 To manually change the system partition, press ESC to go back to",
TEXT_STYLE_NORMAL
},
{
8,
28,
" the partition selection list, then select or create a new system",
TEXT_STYLE_NORMAL
},
{
8,
29,
" partition on the system disk.",
TEXT_STYLE_NORMAL
},
{
6,
32,
"In case there are other operating systems that depend on the original",
TEXT_STYLE_NORMAL
},
{
6,
33,
"system partition, you may need to either reconfigure them for the new",
TEXT_STYLE_NORMAL
},
{
6,
34,
"system partition, or you may need to change the system partition back",
TEXT_STYLE_NORMAL
},
{
6,
35,
"to the original one after finishing the installation of ReactOS.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTER = Continue ESC = Cancel",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY roROConfirmDeleteSystemPartitionEntries[] =
{
{
@@ -1408,7 +1515,6 @@ static MUI_ENTRY roROSelectFSEntries[] =
"ENTER = Continuare ESC = Anulare F3 = Ie\272ire",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
@@ -1434,7 +1540,7 @@ static MUI_ENTRY roRODeletePartitionEntries[] =
{
8,
18,
"\x07 Tasta\376i D pentru a \272terge parti\376ia.",
"\x07 Tasta\376i L pentru a \272terge parti\376ia.",
TEXT_STYLE_NORMAL
},
{
@@ -1452,7 +1558,7 @@ static MUI_ENTRY roRODeletePartitionEntries[] =
{
0,
0,
"D = \252tergere parti\376ie ESC = Anulare F3 = Ie\272ire",
"L = \252tergere parti\376ie ESC = Anulare F3 = Ie\272ire",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
@@ -1508,6 +1614,21 @@ MUI_ERROR roROErrorEntries[] =
" \x07 Tasta\376i F3 pentru a abandona instalarea.",
"F3 = Ie\272ire ENTER = Continuare"
},
{
// ERROR_NO_BUILD_PATH
"Failed to build the installation paths for the ReactOS installation directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_PATH
"You cannot delete the partition containing the installation source!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_DIR
"You cannot install ReactOS within the installation source directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_NO_HDD
"E\272ec la identificarea unit\343\376ilor interne de stocare.",
@@ -1801,6 +1922,10 @@ MUI_PAGE roROPages[] =
SELECT_PARTITION_PAGE,
roROSelectPartitionEntries
},
{
CHANGE_SYSTEM_PARTITION,
roROChangeSystemPartition
},
{
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
roROConfirmDeleteSystemPartitionEntries

View File

@@ -750,7 +750,8 @@ static MUI_ENTRY ruRUDisplayPageEntries[] =
"\202\353 \345\256\342\250\342\245 \250\247\254\245\255\250\342\354 \343\341\342\240\255\240\242\253\250\242\240\245\254\353\251 \342\250\257 \355\252\340\240\255\240.",
TEXT_STYLE_NORMAL
},
{ 8,
{
8,
10,
"\x07 \215\240\246\254\250\342\245 \252\253\240\242\250\350\250 \202\202\205\220\225 \250\253\250 \202\215\210\207 \244\253\357 \242\353\241\256\340\240 \342\250\257\240 \355\252\340\240\255\240.",
TEXT_STYLE_NORMAL
@@ -950,6 +951,112 @@ static MUI_ENTRY ruRUSelectPartitionEntries[] =
}
};
static MUI_ENTRY ruRUChangeSystemPartition[] =
{
{
4,
3,
" ReactOS " KERNEL_VERSION_STR " Setup ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"The current system partition of your computer",
TEXT_STYLE_NORMAL
},
{
6,
12,
"on the system disk",
TEXT_STYLE_NORMAL
},
{
6,
16,
"uses a format not supported by ReactOS.",
TEXT_STYLE_NORMAL
},
{
6,
18,
"In order to successfully install ReactOS, the Setup program must change",
TEXT_STYLE_NORMAL
},
{
6,
19,
"the current system partition to a new one.",
TEXT_STYLE_NORMAL
},
{
6,
21,
"The new candidate system partition is:",
TEXT_STYLE_NORMAL
},
{
8,
25,
"\x07 To accept this choice, press ENTER.",
TEXT_STYLE_NORMAL
},
{
8,
27,
"\x07 To manually change the system partition, press ESC to go back to",
TEXT_STYLE_NORMAL
},
{
8,
28,
" the partition selection list, then select or create a new system",
TEXT_STYLE_NORMAL
},
{
8,
29,
" partition on the system disk.",
TEXT_STYLE_NORMAL
},
{
6,
32,
"In case there are other operating systems that depend on the original",
TEXT_STYLE_NORMAL
},
{
6,
33,
"system partition, you may need to either reconfigure them for the new",
TEXT_STYLE_NORMAL
},
{
6,
34,
"system partition, or you may need to change the system partition back",
TEXT_STYLE_NORMAL
},
{
6,
35,
"to the original one after finishing the installation of ReactOS.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTER = Continue ESC = Cancel",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY ruRUConfirmDeleteSystemPartitionEntries[] =
{
{
@@ -1394,7 +1501,6 @@ static MUI_ENTRY ruRUSelectFSEntries[] =
"ENTER = \217\340\256\244\256\253\246\250\342\354 ESC = \216\342\254\245\255\240 F3 = \202\353\345\256\244",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
@@ -1420,7 +1526,7 @@ static MUI_ENTRY ruRUDeletePartitionEntries[] =
{
8,
18,
"\x07 \215\240\246\254\250\342\245 D \244\253\357 \343\244\240\253\245\255\250\357 \340\240\247\244\245\253\240.",
"\x07 \215\240\246\254\250\342\245 L \244\253\357 \343\244\240\253\245\255\250\357 \340\240\247\244\245\253\240.",
TEXT_STYLE_NORMAL
},
{
@@ -1438,7 +1544,7 @@ static MUI_ENTRY ruRUDeletePartitionEntries[] =
{
0,
0,
"D = \223\244\240\253\250\342\354 \340\240\247\244\245\253 ESC = \216\342\254\245\255\240 F3 = \202\353\345\256\244",
"L = \223\244\240\253\250\342\354 \340\240\247\244\245\253 ESC = \216\342\254\245\255\240 F3 = \202\353\345\256\244",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
@@ -1494,6 +1600,21 @@ MUI_ERROR ruRUErrorEntries[] =
" \x07 \215\240\246\254\250\342\245 F3 \242\353\345\256\244\240 \250\247 \343\341\342\240\255\256\242\252\250.",
"F3 = \202\353\345\256\244 ENTER = \217\340\256\244\256\253\246\250\342\354"
},
{
// ERROR_NO_BUILD_PATH
"Failed to build the installation paths for the ReactOS installation directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_PATH
"You cannot delete the partition containing the installation source!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_DIR
"You cannot install ReactOS within the installation source directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_NO_HDD
"\215\245 \343\244\240\253\256\341\354 \255\240\251\342\250 \246\245\341\342\252\250\251 \244\250\341\252.\n",
@@ -1772,6 +1893,10 @@ MUI_PAGE ruRUPages[] =
SELECT_PARTITION_PAGE,
ruRUSelectPartitionEntries
},
{
CHANGE_SYSTEM_PARTITION,
ruRUChangeSystemPartition
},
{
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
ruRUConfirmDeleteSystemPartitionEntries

View File

@@ -738,7 +738,8 @@ static MUI_ENTRY skSKDisplayPageEntries[] =
"Chcete zmeni\234 typ monitora, ktor\354 m\240 by\234 nain\347talovan\354.",
TEXT_STYLE_NORMAL
},
{ 8,
{
8,
10,
"\x07 Stla\237te kl\240ves HORE alebo DOLE pre v\354ber po\247adovan\202ho typu monitora.",
TEXT_STYLE_NORMAL
@@ -939,6 +940,112 @@ static MUI_ENTRY skSKSelectPartitionEntries[] =
}
};
static MUI_ENTRY skSKChangeSystemPartition[] =
{
{
4,
3,
" ReactOS " KERNEL_VERSION_STR " Setup ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"The current system partition of your computer",
TEXT_STYLE_NORMAL
},
{
6,
12,
"on the system disk",
TEXT_STYLE_NORMAL
},
{
6,
16,
"uses a format not supported by ReactOS.",
TEXT_STYLE_NORMAL
},
{
6,
18,
"In order to successfully install ReactOS, the Setup program must change",
TEXT_STYLE_NORMAL
},
{
6,
19,
"the current system partition to a new one.",
TEXT_STYLE_NORMAL
},
{
6,
21,
"The new candidate system partition is:",
TEXT_STYLE_NORMAL
},
{
8,
25,
"\x07 To accept this choice, press ENTER.",
TEXT_STYLE_NORMAL
},
{
8,
27,
"\x07 To manually change the system partition, press ESC to go back to",
TEXT_STYLE_NORMAL
},
{
8,
28,
" the partition selection list, then select or create a new system",
TEXT_STYLE_NORMAL
},
{
8,
29,
" partition on the system disk.",
TEXT_STYLE_NORMAL
},
{
6,
32,
"In case there are other operating systems that depend on the original",
TEXT_STYLE_NORMAL
},
{
6,
33,
"system partition, you may need to either reconfigure them for the new",
TEXT_STYLE_NORMAL
},
{
6,
34,
"system partition, or you may need to change the system partition back",
TEXT_STYLE_NORMAL
},
{
6,
35,
"to the original one after finishing the installation of ReactOS.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTER = Continue ESC = Cancel",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY skSKConfirmDeleteSystemPartitionEntries[] =
{
{
@@ -1383,7 +1490,6 @@ static MUI_ENTRY skSKSelectFSEntries[] =
"ENTER = Pokra\237ova\234 ESC = Zru\347i\234 F3 = Skon\237i\234",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
@@ -1409,7 +1515,7 @@ static MUI_ENTRY skSKDeletePartitionEntries[] =
{
8,
18,
"\x07 Stla\237te D pre odstr\240nenie oblasti.",
"\x07 Stla\237te L pre odstr\240nenie oblasti.",
TEXT_STYLE_NORMAL
},
{
@@ -1427,7 +1533,7 @@ static MUI_ENTRY skSKDeletePartitionEntries[] =
{
0,
0,
"D = Odstr\240ni\234 oblas\234 ESC = Zru\347i\234 F3 = Skon\237i\234",
"L = Odstr\240ni\234 oblas\234 ESC = Zru\347i\234 F3 = Skon\237i\234",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
@@ -1483,6 +1589,21 @@ MUI_ERROR skSKErrorEntries[] =
" \x07 Stla\237te F3 pre skon\237enie in\347tal\240cie.",
"F3 = Skon\237i\234 ENTER = Pokra\237ova\234"
},
{
// ERROR_NO_BUILD_PATH
"Failed to build the installation paths for the ReactOS installation directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_PATH
"You cannot delete the partition containing the installation source!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_DIR
"You cannot install ReactOS within the installation source directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_NO_HDD
"In\347tal\240toru sa nepodarilo n\240js\234 pevn\354 disk.\n",
@@ -1690,14 +1811,14 @@ MUI_ERROR skSKErrorEntries[] =
},
{
// ERROR_PARTITION_TABLE_FULL,
"You can not create a new primary or extended partition in the\n"
"You cannot create a new primary or extended partition in the\n"
"partition table of this disk because the partition table is full.\n"
"\n"
" * Press any key to continue."
},
{
// ERROR_ONLY_ONE_EXTENDED,
"You can not create more than one extended partition per disk.\n"
"You cannot create more than one extended partition per disk.\n"
"\n"
" * Press any key to continue."
},
@@ -1764,6 +1885,10 @@ MUI_PAGE skSKPages[] =
SELECT_PARTITION_PAGE,
skSKSelectPartitionEntries
},
{
CHANGE_SYSTEM_PARTITION,
skSKChangeSystemPartition
},
{
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
skSKConfirmDeleteSystemPartitionEntries

View File

@@ -736,7 +736,8 @@ static MUI_ENTRY sqALDisplayPageEntries[] =
"Ju deshironi t\211 ndryshoje llojin e ekranit p\211r t\211 instaluar.",
TEXT_STYLE_NORMAL
},
{ 8,
{
8,
10,
"\x07 Klikoni butonat UP aso DOWN p\211r t\211 p\211rzgjedhur tipin e ekranin t\211 d\211shiruar.",
TEXT_STYLE_NORMAL
@@ -937,6 +938,112 @@ static MUI_ENTRY sqALSelectPartitionEntries[] =
}
};
static MUI_ENTRY sqALChangeSystemPartition[] =
{
{
4,
3,
" ReactOS " KERNEL_VERSION_STR " Setup ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"The current system partition of your computer",
TEXT_STYLE_NORMAL
},
{
6,
12,
"on the system disk",
TEXT_STYLE_NORMAL
},
{
6,
16,
"uses a format not supported by ReactOS.",
TEXT_STYLE_NORMAL
},
{
6,
18,
"In order to successfully install ReactOS, the Setup program must change",
TEXT_STYLE_NORMAL
},
{
6,
19,
"the current system partition to a new one.",
TEXT_STYLE_NORMAL
},
{
6,
21,
"The new candidate system partition is:",
TEXT_STYLE_NORMAL
},
{
8,
25,
"\x07 To accept this choice, press ENTER.",
TEXT_STYLE_NORMAL
},
{
8,
27,
"\x07 To manually change the system partition, press ESC to go back to",
TEXT_STYLE_NORMAL
},
{
8,
28,
" the partition selection list, then select or create a new system",
TEXT_STYLE_NORMAL
},
{
8,
29,
" partition on the system disk.",
TEXT_STYLE_NORMAL
},
{
6,
32,
"In case there are other operating systems that depend on the original",
TEXT_STYLE_NORMAL
},
{
6,
33,
"system partition, you may need to either reconfigure them for the new",
TEXT_STYLE_NORMAL
},
{
6,
34,
"system partition, or you may need to change the system partition back",
TEXT_STYLE_NORMAL
},
{
6,
35,
"to the original one after finishing the installation of ReactOS.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTER = Continue ESC = Cancel",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY sqALConfirmDeleteSystemPartitionEntries[] =
{
{
@@ -1381,7 +1488,6 @@ static MUI_ENTRY sqALSelectFSEntries[] =
"ENTER = Vazhdo ESC = Anulo F3 = Dil",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
@@ -1407,7 +1513,7 @@ static MUI_ENTRY sqALDeletePartitionEntries[] =
{
8,
18,
"\x07 Kliko D p\211r t\211 fshir\211 particionin.",
"\x07 Kliko L p\211r t\211 fshir\211 particionin.",
TEXT_STYLE_NORMAL
},
{
@@ -1425,7 +1531,7 @@ static MUI_ENTRY sqALDeletePartitionEntries[] =
{
0,
0,
"D = Fshi Particionin ESC = Anulo F3 = Dil",
"L = Fshi Particionin ESC = Anulo F3 = Dil",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
@@ -1481,6 +1587,21 @@ MUI_ERROR sqALErrorEntries[] =
" \x07 Kliko F3 t\211 dal\211sh nga instalimi.",
"F3 = Dil ENTER = Vazhdo"
},
{
// ERROR_NO_BUILD_PATH
"Failed to build the installation paths for the ReactOS installation directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_PATH
"You cannot delete the partition containing the installation source!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_DIR
"You cannot install ReactOS within the installation source directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_NO_HDD
"Instalimi nuk mund t\211 gjej nj\211 harddisk.\n",
@@ -1691,14 +1812,14 @@ MUI_ERROR sqALErrorEntries[] =
},
{
// ERROR_PARTITION_TABLE_FULL,
"You can not create a new primary or extended partition in the\n"
"You cannot create a new primary or extended partition in the\n"
"partition table of this disk because the partition table is full.\n"
"\n"
" * Press any key to continue."
},
{
// ERROR_ONLY_ONE_EXTENDED,
"You can not create more than one extended partition per disk.\n"
"You cannot create more than one extended partition per disk.\n"
"\n"
" * Press any key to continue."
},
@@ -1765,6 +1886,10 @@ MUI_PAGE sqALPages[] =
SELECT_PARTITION_PAGE,
sqALSelectPartitionEntries
},
{
CHANGE_SYSTEM_PARTITION,
sqALChangeSystemPartition
},
{
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
sqALConfirmDeleteSystemPartitionEntries

View File

@@ -738,7 +738,8 @@ static MUI_ENTRY svSEDisplayPageEntries[] =
"\216ndra vilken typ av bildsk\204rmsinst\204llning som ska installeras.",
TEXT_STYLE_NORMAL
},
{ 8,
{
8,
10,
"\x07 Anv\204nd UPP- och NED-piltangenterna f\224r att v\204lja \224nskad inst\204llning.",
TEXT_STYLE_NORMAL
@@ -939,6 +940,112 @@ static MUI_ENTRY svSESelectPartitionEntries[] =
}
};
static MUI_ENTRY svSEChangeSystemPartition[] =
{
{
4,
3,
" ReactOS " KERNEL_VERSION_STR " Setup ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"The current system partition of your computer",
TEXT_STYLE_NORMAL
},
{
6,
12,
"on the system disk",
TEXT_STYLE_NORMAL
},
{
6,
16,
"uses a format not supported by ReactOS.",
TEXT_STYLE_NORMAL
},
{
6,
18,
"In order to successfully install ReactOS, the Setup program must change",
TEXT_STYLE_NORMAL
},
{
6,
19,
"the current system partition to a new one.",
TEXT_STYLE_NORMAL
},
{
6,
21,
"The new candidate system partition is:",
TEXT_STYLE_NORMAL
},
{
8,
25,
"\x07 To accept this choice, press ENTER.",
TEXT_STYLE_NORMAL
},
{
8,
27,
"\x07 To manually change the system partition, press ESC to go back to",
TEXT_STYLE_NORMAL
},
{
8,
28,
" the partition selection list, then select or create a new system",
TEXT_STYLE_NORMAL
},
{
8,
29,
" partition on the system disk.",
TEXT_STYLE_NORMAL
},
{
6,
32,
"In case there are other operating systems that depend on the original",
TEXT_STYLE_NORMAL
},
{
6,
33,
"system partition, you may need to either reconfigure them for the new",
TEXT_STYLE_NORMAL
},
{
6,
34,
"system partition, or you may need to change the system partition back",
TEXT_STYLE_NORMAL
},
{
6,
35,
"to the original one after finishing the installation of ReactOS.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTER = Continue ESC = Cancel",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY svSEConfirmDeleteSystemPartitionEntries[] =
{
{
@@ -1383,7 +1490,6 @@ static MUI_ENTRY svSESelectFSEntries[] =
" ENTER = Forts\204tt ESC = Avbryt F3 = Avsluta",
TEXT_TYPE_STATUS
},
{
0,
0,
@@ -1409,7 +1515,7 @@ static MUI_ENTRY svSEDeletePartitionEntries[] =
{
8,
18,
"\x07 Tryck D f\224r att ta bort partitionen.",
"\x07 Tryck L f\224r att ta bort partitionen.",
TEXT_STYLE_NORMAL
},
{
@@ -1427,7 +1533,7 @@ static MUI_ENTRY svSEDeletePartitionEntries[] =
{
0,
0,
" D = Tar bort Partitionen ESC = Avbryt F3 = Avsluta",
" L = Tar bort Partitionen ESC = Avbryt F3 = Avsluta",
TEXT_TYPE_STATUS
},
{
@@ -1483,6 +1589,21 @@ MUI_ERROR svSEErrorEntries[] =
" \x07 Tryck F3 f\224r att avsluta Setup.",
"F3 = Avsluta ENTER = Forts\204tta"
},
{
// ERROR_NO_BUILD_PATH
"Failed to build the installation paths for the ReactOS installation directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_PATH
"You cannot delete the partition containing the installation source!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_DIR
"You cannot install ReactOS within the installation source directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_NO_HDD
"Setup kunde inte hitta n\206gon h\206rddisk.\n",
@@ -1687,14 +1808,14 @@ MUI_ERROR svSEErrorEntries[] =
},
{
// ERROR_PARTITION_TABLE_FULL,
"You can not create a new primary or extended partition in the\n"
"You cannot create a new primary or extended partition in the\n"
"partition table of this disk because the partition table is full.\n"
"\n"
" * Press any key to continue."
},
{
// ERROR_ONLY_ONE_EXTENDED,
"You can not create more than one extended partition per disk.\n"
"You cannot create more than one extended partition per disk.\n"
"\n"
" * Press any key to continue."
},
@@ -1761,6 +1882,10 @@ MUI_PAGE svSEPages[] =
SELECT_PARTITION_PAGE,
svSESelectPartitionEntries
},
{
CHANGE_SYSTEM_PARTITION,
svSEChangeSystemPartition
},
{
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
svSEConfirmDeleteSystemPartitionEntries

View File

@@ -729,7 +729,8 @@ static MUI_ENTRY trTRDisplayPageEntries[] =
"Kurulum yap\215lacak g\224r\201nt\201n\201n t\201r\201n\201 se\207mek isteyebilirsiniz.",
TEXT_STYLE_NORMAL
},
{ 8,
{
8,
10,
"\x07 \230stenen g\224r\201nt\201 t\201r\201n\201 se\207mek i\207in YUKARI'ya veya A\236A\246I'ya bas\215n\215z.",
TEXT_STYLE_NORMAL
@@ -923,6 +924,112 @@ static MUI_ENTRY trTRSelectPartitionEntries[] =
}
};
static MUI_ENTRY trTRChangeSystemPartition[] =
{
{
4,
3,
" ReactOS " KERNEL_VERSION_STR " Setup ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"The current system partition of your computer",
TEXT_STYLE_NORMAL
},
{
6,
12,
"on the system disk",
TEXT_STYLE_NORMAL
},
{
6,
16,
"uses a format not supported by ReactOS.",
TEXT_STYLE_NORMAL
},
{
6,
18,
"In order to successfully install ReactOS, the Setup program must change",
TEXT_STYLE_NORMAL
},
{
6,
19,
"the current system partition to a new one.",
TEXT_STYLE_NORMAL
},
{
6,
21,
"The new candidate system partition is:",
TEXT_STYLE_NORMAL
},
{
8,
25,
"\x07 To accept this choice, press ENTER.",
TEXT_STYLE_NORMAL
},
{
8,
27,
"\x07 To manually change the system partition, press ESC to go back to",
TEXT_STYLE_NORMAL
},
{
8,
28,
" the partition selection list, then select or create a new system",
TEXT_STYLE_NORMAL
},
{
8,
29,
" partition on the system disk.",
TEXT_STYLE_NORMAL
},
{
6,
32,
"In case there are other operating systems that depend on the original",
TEXT_STYLE_NORMAL
},
{
6,
33,
"system partition, you may need to either reconfigure them for the new",
TEXT_STYLE_NORMAL
},
{
6,
34,
"system partition, or you may need to change the system partition back",
TEXT_STYLE_NORMAL
},
{
6,
35,
"to the original one after finishing the installation of ReactOS.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTER = Continue ESC = Cancel",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY trTRConfirmDeleteSystemPartitionEntries[] =
{
{
@@ -1355,7 +1462,6 @@ static MUI_ENTRY trTRSelectFSEntries[] =
"ENTER = S\201rd\201r ESC = \230ptal F3 = \200\215k",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
@@ -1381,7 +1487,7 @@ static MUI_ENTRY trTRDeletePartitionEntries[] =
{
8,
18,
"\x07 B\224l\201m\201 silmek i\207in D'ye bas\215n\215z.",
"\x07 B\224l\201m\201 silmek i\207in L'ye bas\215n\215z.",
TEXT_STYLE_NORMAL
},
{
@@ -1399,7 +1505,7 @@ static MUI_ENTRY trTRDeletePartitionEntries[] =
{
0,
0,
"D = B\224l\201m Sil ESC = \230ptal F3 = \200\215k",
"L = B\224l\201m Sil ESC = \230ptal F3 = \200\215k",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
@@ -1455,6 +1561,21 @@ MUI_ERROR trTRErrorEntries[] =
" \x07 Kur'dan \207\215kmak i\207in F3'e bas\215n\215z.",
"F3 = \200\215k ENTER = S\201rd\201r"
},
{
// ERROR_NO_BUILD_PATH
"Failed to build the installation paths for the ReactOS installation directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_PATH
"You cannot delete the partition containing the installation source!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_DIR
"You cannot install ReactOS within the installation source directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_NO_HDD
"Kur, bir sabit disk bulamad\215.\n",
@@ -1733,6 +1854,10 @@ MUI_PAGE trTRPages[] =
SELECT_PARTITION_PAGE,
trTRSelectPartitionEntries
},
{
CHANGE_SYSTEM_PARTITION,
trTRChangeSystemPartition
},
{
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
trTRConfirmDeleteSystemPartitionEntries

View File

@@ -737,7 +737,8 @@ static MUI_ENTRY ukUADisplayPageEntries[] =
"\222\343\342 \242\250 \254\256\246\245\342\245 \247\254i\255\250\342\250 \342\250\257 \245\252\340\240\255\343.",
TEXT_STYLE_NORMAL
},
{ 8,
{
8,
10,
"\x07 \215\240\342\250\341\252\240\251\342\245 \252\253\240\242i\350i \202\202\205\220\225 \342\240 \202\215\210\207 \244\253\357 \242\250\241\256\340\343 \257\256\342\340i\241\255\256\243\256 \342\250\257\343 \254\256\255i\342\256\340\343",
TEXT_STYLE_NORMAL
@@ -938,6 +939,112 @@ static MUI_ENTRY ukUASelectPartitionEntries[] =
}
};
static MUI_ENTRY ukUAChangeSystemPartition[] =
{
{
4,
3,
" ReactOS " KERNEL_VERSION_STR " Setup ",
TEXT_STYLE_UNDERLINE
},
{
6,
8,
"The current system partition of your computer",
TEXT_STYLE_NORMAL
},
{
6,
12,
"on the system disk",
TEXT_STYLE_NORMAL
},
{
6,
16,
"uses a format not supported by ReactOS.",
TEXT_STYLE_NORMAL
},
{
6,
18,
"In order to successfully install ReactOS, the Setup program must change",
TEXT_STYLE_NORMAL
},
{
6,
19,
"the current system partition to a new one.",
TEXT_STYLE_NORMAL
},
{
6,
21,
"The new candidate system partition is:",
TEXT_STYLE_NORMAL
},
{
8,
25,
"\x07 To accept this choice, press ENTER.",
TEXT_STYLE_NORMAL
},
{
8,
27,
"\x07 To manually change the system partition, press ESC to go back to",
TEXT_STYLE_NORMAL
},
{
8,
28,
" the partition selection list, then select or create a new system",
TEXT_STYLE_NORMAL
},
{
8,
29,
" partition on the system disk.",
TEXT_STYLE_NORMAL
},
{
6,
32,
"In case there are other operating systems that depend on the original",
TEXT_STYLE_NORMAL
},
{
6,
33,
"system partition, you may need to either reconfigure them for the new",
TEXT_STYLE_NORMAL
},
{
6,
34,
"system partition, or you may need to change the system partition back",
TEXT_STYLE_NORMAL
},
{
6,
35,
"to the original one after finishing the installation of ReactOS.",
TEXT_STYLE_NORMAL
},
{
0,
0,
"ENTER = Continue ESC = Cancel",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
NULL,
0
}
};
static MUI_ENTRY ukUAConfirmDeleteSystemPartitionEntries[] =
{
{
@@ -1382,7 +1489,6 @@ static MUI_ENTRY ukUASelectFSEntries[] =
"ENTER = \217\340\256\244\256\242\246\250\342\250 ESC = \221\252\240\341\343\242\240\342\250 F3 = \202\250\251\342\250",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
0,
0,
@@ -1408,7 +1514,7 @@ static MUI_ENTRY ukUADeletePartitionEntries[] =
{
8,
18,
"\x07 \215\240\342\250\341\255i\342\354 D \244\253\357 \242\250\244\240\253\245\255\255\357 \340\256\247\244i\253\343.",
"\x07 \215\240\342\250\341\255i\342\354 L \244\253\357 \242\250\244\240\253\245\255\255\357 \340\256\247\244i\253\343.",
TEXT_STYLE_NORMAL
},
{
@@ -1426,7 +1532,7 @@ static MUI_ENTRY ukUADeletePartitionEntries[] =
{
0,
0,
"D = \202\250\244\240\253\250\342\250 \220\256\247\244i\253 ESC = \221\252\240\341\343\242\240\342\250 F3 = \202\250\251\342\250",
"L = \202\250\244\240\253\250\342\250 \220\256\247\244i\253 ESC = \221\252\240\341\343\242\240\342\250 F3 = \202\250\251\342\250",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
@@ -1483,6 +1589,21 @@ MUI_ERROR ukUAErrorEntries[] =
" \x07 \215\240\342\250\341\255i\342\354 F3 \244\253\357 \242\250\345\256\244\343 \247 \242\341\342\240\255\256\242\253\356\242\240\347\240.",
"F3 = \202\250\251\342\250 ENTER = \217\340\256\244\256\242\246\250\342\250"
},
{
// ERROR_NO_BUILD_PATH
"Failed to build the installation paths for the ReactOS installation directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_PATH
"You cannot delete the partition containing the installation source!\n"
"ENTER = Reboot computer"
},
{
// ERROR_SOURCE_DIR
"You cannot install ReactOS within the installation source directory!\n"
"ENTER = Reboot computer"
},
{
// ERROR_NO_HDD
"\215\245 \242\244\240\253\256\341\354 \247\255\240\251\342\250 \246\256\340\341\342\252\250\251 \244\250\341\252.\n",
@@ -1761,6 +1882,10 @@ MUI_PAGE ukUAPages[] =
SELECT_PARTITION_PAGE,
ukUASelectPartitionEntries
},
{
CHANGE_SYSTEM_PARTITION,
ukUAChangeSystemPartition
},
{
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
ukUAConfirmDeleteSystemPartitionEntries

View File

@@ -326,9 +326,9 @@
#ifdef LANGUAGE_PT_BR
#include "lang/pt-BR.h"
#endif
// #ifdef LANGUAGE_PT_PT
// #include "lang/pt-PT.h"
// #endif
#ifdef LANGUAGE_PT_PT
#include "lang/pt-PT.h"
#endif
// #ifdef LANGUAGE_RM_CH
// #include "lang/rm-CH.h"
// #endif
@@ -699,12 +699,12 @@ const MUI_LANGUAGE_RESOURCE ResourceList[] =
#ifdef LANGUAGE_PL_PL
{L"00000415", L"Polish", plPLPages, plPLErrorEntries, plPLStrings},
#endif
#ifdef LANGUAGE_PT_PT
{L"00000816", L"Portuguese (Portugal)", enUSPages, enUSErrorEntries, enUSStrings},
#endif
#ifdef LANGUAGE_PT_BR
{L"00000416", L"Portuguese (Brazil)", ptBRPages, ptBRErrorEntries, ptBRStrings},
#endif
#ifdef LANGUAGE_PT_PT
{L"00000816", L"Portuguese (Portugal)", ptPTPages, ptPTErrorEntries, ptPTStrings},
#endif
#ifdef LANGUAGE_PA_IN
{L"00000446", L"Punjabi (India)", enUSPages, enUSErrorEntries, enUSStrings},
#endif

View File

@@ -27,6 +27,7 @@
#include <usetup.h>
#include <math.h>
#include <ntstrsafe.h>
#include "bootsup.h"
#include "chkdsk.h"
@@ -45,12 +46,19 @@ BOOLEAN IsUnattendedSetup = FALSE;
static USETUP_DATA USetupData;
/* Partition where to perform the installation */
/* The partition where to perform the installation */
static PPARTENTRY InstallPartition = NULL;
// static PPARTENTRY SystemPartition = NULL; // The system partition we will actually use (can be different from PartitionList->SystemPartition in case we install on removable disk)
// FIXME: Is it really useful?? Just used for SetDefaultPagefile...
static WCHAR DestinationDriveLetter;
/*
* The system partition we will actually use. It can be different from
* PartitionList->SystemPartition in case we don't support it, or we install
* on a removable disk.
* We may indeed not support the original system partition in case we do not
* have write support on it. Please note that this situation is partly a HACK
* and MUST NEVER happen on architectures where real system partitions are
* mandatory (because then they are formatted in FAT FS and we support write
* operation on them).
*/
static PPARTENTRY SystemPartition = NULL;
/* OTHER Stuff *****/
@@ -1464,7 +1472,6 @@ SelectPartitionPage(PINPUT_RECORD Ir)
PartitionList = CreatePartitionList();
if (PartitionList == NULL)
{
/* FIXME: show an error dialog */
MUIDisplayError(ERROR_DRIVE_INFORMATION, Ir, POPUP_WAIT_ENTER);
return QUIT_PAGE;
}
@@ -1776,16 +1783,13 @@ SelectPartitionPage(PINPUT_RECORD Ir)
// &USetupData.SourceRootPath
if (RtlPrefixUnicodeString(&CurrentPartitionU, &USetupData.SourcePath, TRUE))
{
PopupError("You cannot delete the partition containing the installation source!",
MUIGetString(STRING_CONTINUE),
Ir, POPUP_WAIT_ENTER);
MUIDisplayError(ERROR_SOURCE_PATH, Ir, POPUP_WAIT_ENTER);
return SELECT_PARTITION_PAGE;
}
}
// FIXME TODO: PartitionList->SystemPartition is not yet initialized!!!!
if (CurrentPartition == PartitionList->SystemPartition ||
CurrentPartition->BootIndicator)
IsPartitionActive(CurrentPartition))
{
return CONFIRM_DELETE_SYSTEM_PARTITION_PAGE;
}
@@ -1880,7 +1884,7 @@ ShowPartitionSizeInputBox(SHORT Left,
CONSOLE_SetCursorType(TRUE, FALSE);
break;
}
else if (Ir.Event.KeyEvent.wVirtualKeyCode == VK_ESCAPE) /* ESCAPE */
else if (Ir.Event.KeyEvent.wVirtualKeyCode == VK_ESCAPE) /* ESC */
{
if (Cancel != NULL)
*Cancel = TRUE;
@@ -2652,7 +2656,7 @@ DeletePartitionPage(PINPUT_RECORD Ir)
{
return SELECT_PARTITION_PAGE;
}
else if (Ir->Event.KeyEvent.wVirtualKeyCode == 'D') /* D */
else if (Ir->Event.KeyEvent.wVirtualKeyCode == 'L') /* L */
{
DeletePartition(PartitionList,
CurrentPartition,
@@ -2688,7 +2692,7 @@ ResetFileSystemList(VOID)
*
* SIDEEFFECTS
* Calls UpdatePartitionType()
* Calls CheckActiveSystemPartition()
* Calls FindSupportedSystemPartition()
*
* RETURNS
* Number of the next page.
@@ -2717,14 +2721,172 @@ SelectFileSystemPage(PINPUT_RECORD Ir)
/* Find or set the active system partition when starting formatting */
if (FormatState == Start)
{
/* Find or set the active system partition */
CheckActiveSystemPartition(PartitionList,
FALSE,
InstallPartition->DiskEntry,
InstallPartition);
if (PartitionList->SystemPartition == NULL)
/*
* If we install on a fixed disk, try to find a supported system
* partition on the system. Otherwise if we install on a removable disk
* use the install partition as the system partition.
*/
// TODO: Include that logic inside the FindSupportedSystemPartition() function?
if (InstallPartition->DiskEntry->MediaType == FixedMedia)
{
/* FIXME: show an error dialog */
SystemPartition = FindSupportedSystemPartition(PartitionList,
FALSE,
InstallPartition->DiskEntry,
InstallPartition);
/* Use the original system partition as the old active partition hint */
PartEntry = PartitionList->SystemPartition;
if ( SystemPartition && PartitionList->SystemPartition &&
(SystemPartition != PartitionList->SystemPartition) )
{
DPRINT1("We are using a different system partition!!!!\n");
MUIDisplayPage(CHANGE_SYSTEM_PARTITION);
{
PPARTENTRY PartEntry; // Shadow variable
PartEntry = PartitionList->SystemPartition;
DiskEntry = PartEntry->DiskEntry;
/* Adjust partition size */
PartSize = PartEntry->SectorCount.QuadPart * DiskEntry->BytesPerSector;
if (PartSize >= 10 * GB) /* 10 GB */
{
PartSize = PartSize / GB;
PartUnit = MUIGetString(STRING_GB);
}
else
{
PartSize = PartSize / MB;
PartUnit = MUIGetString(STRING_MB);
}
/* Adjust partition type */
GetPartTypeStringFromPartitionType(PartEntry->PartitionType,
PartTypeString,
ARRAYSIZE(PartTypeString));
if (*PartTypeString == '\0') // STRING_FORMATUNKNOWN ??
{
CONSOLE_PrintTextXY(8, 10,
MUIGetString(STRING_HDDINFOUNK4),
(PartEntry->DriveLetter == 0) ? '-' : (CHAR)PartEntry->DriveLetter,
(PartEntry->DriveLetter == 0) ? '-' : ':',
PartEntry->PartitionType,
PartSize,
PartUnit);
}
else
{
CONSOLE_PrintTextXY(8, 10,
"%c%c %s %I64u %s",
(PartEntry->DriveLetter == 0) ? '-' : (CHAR)PartEntry->DriveLetter,
(PartEntry->DriveLetter == 0) ? '-' : ':',
PartTypeString,
PartSize,
PartUnit);
}
/* Adjust disk size */
DiskSize = DiskEntry->SectorCount.QuadPart * DiskEntry->BytesPerSector;
if (DiskSize >= 10 * GB) /* 10 GB */
{
DiskSize = DiskSize / GB;
DiskUnit = MUIGetString(STRING_GB);
}
else
{
DiskSize = DiskSize / MB;
DiskUnit = MUIGetString(STRING_MB);
}
CONSOLE_PrintTextXY(8, 14, MUIGetString(STRING_HDINFOPARTZEROED_1),
DiskEntry->DiskNumber,
DiskSize,
DiskUnit,
DiskEntry->Port,
DiskEntry->Bus,
DiskEntry->Id,
&DiskEntry->DriverName,
DiskEntry->DiskStyle == PARTITION_STYLE_MBR ? "MBR" :
DiskEntry->DiskStyle == PARTITION_STYLE_GPT ? "GPT" :
"RAW");
PartEntry = SystemPartition;
DiskEntry = PartEntry->DiskEntry;
/* Adjust partition size */
PartSize = PartEntry->SectorCount.QuadPart * DiskEntry->BytesPerSector;
if (PartSize >= 10 * GB) /* 10 GB */
{
PartSize = PartSize / GB;
PartUnit = MUIGetString(STRING_GB);
}
else
{
PartSize = PartSize / MB;
PartUnit = MUIGetString(STRING_MB);
}
/* Adjust partition type */
GetPartTypeStringFromPartitionType(PartEntry->PartitionType,
PartTypeString,
ARRAYSIZE(PartTypeString));
if (*PartTypeString == '\0') // STRING_FORMATUNKNOWN ??
{
CONSOLE_PrintTextXY(8, 23,
MUIGetString(STRING_HDDINFOUNK4),
(PartEntry->DriveLetter == 0) ? '-' : (CHAR)PartEntry->DriveLetter,
(PartEntry->DriveLetter == 0) ? '-' : ':',
PartEntry->PartitionType,
PartSize,
PartUnit);
}
else
{
CONSOLE_PrintTextXY(8, 23,
"%c%c %s %I64u %s",
(PartEntry->DriveLetter == 0) ? '-' : (CHAR)PartEntry->DriveLetter,
(PartEntry->DriveLetter == 0) ? '-' : ':',
PartTypeString,
PartSize,
PartUnit);
}
}
while (TRUE)
{
CONSOLE_ConInKey(Ir);
if (Ir->Event.KeyEvent.wVirtualKeyCode == VK_RETURN) /* ENTER */
{
break;
}
else if (Ir->Event.KeyEvent.wVirtualKeyCode == VK_ESCAPE) /* ESC */
{
return SELECT_PARTITION_PAGE;
}
}
CONSOLE_ClearScreen();
CONSOLE_Flush();
}
}
else // if (InstallPartition->DiskEntry->MediaType == RemovableMedia)
{
SystemPartition = InstallPartition;
/* Don't specify any old active partition hint */
PartEntry = NULL;
}
if (!SystemPartition)
{
/* FIXME: improve the error dialog */
//
// Error dialog should say that we cannot find a suitable
// system partition and create one on the system. At this point,
@@ -2732,28 +2894,41 @@ SelectFileSystemPage(PINPUT_RECORD Ir)
// or use an external drive as the system drive/partition
// (e.g. floppy, USB drive, etc...)
//
return QUIT_PAGE;
PopupError("The ReactOS Setup could not find a supported system partition\n"
"on your system or could not create a new one. Without such partition\n"
"the Setup program cannot install ReactOS.\n"
"Press ENTER to return to the partition selection list.",
MUIGetString(STRING_CONTINUE),
Ir, POPUP_WAIT_ENTER);
return SELECT_PARTITION_PAGE;
}
/*
* If the system partition can be created in some
* non-partitioned space, create it now.
*/
if (!PartitionList->SystemPartition->IsPartitioned)
if (!SystemPartition->IsPartitioned)
{
// if (IsUnattendedSetup)
{
CreatePrimaryPartition(PartitionList,
PartitionList->SystemPartition,
0LL, // PartitionList->SystemPartition->SectorCount.QuadPart,
SystemPartition,
0LL, // SystemPartition->SectorCount.QuadPart,
TRUE);
ASSERT(PartitionList->SystemPartition->IsPartitioned);
ASSERT(SystemPartition->IsPartitioned);
}
// else
{
}
}
/* Set it as such */
if (!SetActivePartition(PartitionList, SystemPartition, PartEntry))
{
DPRINT1("SetActivePartition(0x%p) failed?!\n", SystemPartition);
ASSERT(FALSE);
}
/* Commit all partition changes to all the disks */
if (!WritePartitionsToDisk(PartitionList))
{
@@ -2768,8 +2943,8 @@ SelectFileSystemPage(PINPUT_RECORD Ir)
* installation partitions.
*/
InstallPartition->NeedsCheck = TRUE;
if (PartitionList->SystemPartition != InstallPartition)
PartitionList->SystemPartition->NeedsCheck = TRUE;
if (SystemPartition != InstallPartition)
SystemPartition->NeedsCheck = TRUE;
/*
* In case we just repair an existing installation, or make
@@ -2783,7 +2958,7 @@ SelectFileSystemPage(PINPUT_RECORD Ir)
return CHECK_FILE_SYSTEM_PAGE;
}
// ASSERT(PartitionList->SystemPartition->IsPartitioned);
// ASSERT(SystemPartition->IsPartitioned);
/* Reset the filesystem list for each partition that is to be formatted */
ResetFileSystemList();
@@ -2800,12 +2975,12 @@ SelectFileSystemPage(PINPUT_RECORD Ir)
* and start by formatting the installation partition instead.
*/
ASSERT(PartitionList->SystemPartition->IsPartitioned);
ASSERT(SystemPartition->IsPartitioned);
if ((PartitionList->SystemPartition != InstallPartition) &&
(PartitionList->SystemPartition->FormatState == Unformatted))
if ((SystemPartition != InstallPartition) &&
(SystemPartition->FormatState == Unformatted))
{
TempPartition = PartitionList->SystemPartition;
TempPartition = SystemPartition;
TempPartition->NeedsCheck = TRUE;
// TODO: Should we let the user using a custom file-system,
@@ -2820,14 +2995,14 @@ SelectFileSystemPage(PINPUT_RECORD Ir)
TempPartition = InstallPartition;
TempPartition->NeedsCheck = TRUE;
if (PartitionList->SystemPartition != InstallPartition)
if (SystemPartition != InstallPartition)
{
/* The system partition is separate, so it had better be formatted! */
ASSERT((PartitionList->SystemPartition->FormatState == Preformatted) ||
(PartitionList->SystemPartition->FormatState == Formatted));
ASSERT((SystemPartition->FormatState == Preformatted) ||
(SystemPartition->FormatState == Formatted));
/* Require a filesystem check on the system partition too */
PartitionList->SystemPartition->NeedsCheck = TRUE;
SystemPartition->NeedsCheck = TRUE;
}
FormatState = FormatInstallPartition;
@@ -2884,7 +3059,7 @@ SelectFileSystemPage(PINPUT_RECORD Ir)
default:
{
DPRINT1("FormatState: Invalid value %ld\n", FormatState);
/* FIXME: show an error dialog */
ASSERT(FALSE);
return QUIT_PAGE;
}
}
@@ -2972,10 +3147,23 @@ SelectFileSystemPage(PINPUT_RECORD Ir)
break;
default:
ASSERT(FALSE);
break;
}
CONSOLE_SetTextXY(6, 10, MUIGetString(STRING_PARTFORMAT));
CONSOLE_PrintTextXY(8, 10, MUIGetString(STRING_HDINFOPARTZEROED_1),
DiskEntry->DiskNumber,
DiskSize,
DiskUnit,
DiskEntry->Port,
DiskEntry->Bus,
DiskEntry->Id,
&DiskEntry->DriverName,
DiskEntry->DiskStyle == PARTITION_STYLE_MBR ? "MBR" :
DiskEntry->DiskStyle == PARTITION_STYLE_GPT ? "GPT" :
"RAW");
CONSOLE_SetTextXY(6, 12, MUIGetString(STRING_PARTFORMAT));
}
else
{
@@ -3109,7 +3297,7 @@ SelectFileSystemPage(PINPUT_RECORD Ir)
* filesystem checks on it, unless it is either the system
* or the installation partition.
*/
if (TempPartition != PartitionList->SystemPartition &&
if (TempPartition != SystemPartition &&
TempPartition != InstallPartition)
{
PartEntry->NeedsCheck = FALSE;
@@ -3403,12 +3591,13 @@ CheckFileSystemPage(PINPUT_RECORD Ir)
*/
PartEntry->NeedsCheck = FALSE;
sprintf(Buffer,
"Setup is currently unable to check a partition formatted in %S.\n"
"\n"
" \x07 Press ENTER to continue Setup.\n"
" \x07 Press F3 to quit Setup.",
PartEntry->FileSystem);
RtlStringCbPrintfA(Buffer,
sizeof(Buffer),
"Setup is currently unable to check a partition formatted in %S.\n"
"\n"
" \x07 Press ENTER to continue Setup.\n"
" \x07 Press F3 to quit Setup.",
PartEntry->FileSystem);
PopupError(Buffer,
MUIGetString(STRING_QUITCONTINUE),
@@ -3435,15 +3624,10 @@ CheckFileSystemPage(PINPUT_RECORD Ir)
else if (!NT_SUCCESS(Status))
{
DPRINT("ChkdskPartition() failed with status 0x%08lx\n", Status);
// sprintf(Buffer, "Setup failed to verify the selected partition.\n"
sprintf(Buffer, "ChkDsk detected some disk errors.\n"
"(Status 0x%08lx).\n", Status);
sprintf(Buffer, "ChkDsk detected some disk errors.\n(Status 0x%08lx).\n", Status);
PopupError(Buffer,
// MUIGetString(STRING_REBOOTCOMPUTER),
MUIGetString(STRING_CONTINUE),
Ir, POPUP_WAIT_ENTER);
// return QUIT_PAGE;
}
PartEntry->NeedsCheck = FALSE;
@@ -3451,28 +3635,6 @@ CheckFileSystemPage(PINPUT_RECORD Ir)
}
static NTSTATUS
BuildInstallPaths(
IN PCWSTR InstallDir,
IN PPARTENTRY PartEntry)
{
NTSTATUS Status;
Status = InitDestinationPaths(&USetupData, InstallDir, PartEntry);
if (!NT_SUCCESS(Status))
{
DPRINT1("InitDestinationPaths() failed with status 0x%08lx\n", Status);
return Status;
}
/* Initialize DestinationDriveLetter */
DestinationDriveLetter = PartEntry->DriveLetter;
return STATUS_SUCCESS;
}
static BOOLEAN
IsValidPath(
IN PCWSTR InstallDir)
@@ -3563,13 +3725,11 @@ InstallDirectoryPage(PINPUT_RECORD Ir)
*/
if ((RepairUpdateFlag || IsUnattendedSetup) && IsValidPath(InstallDir))
{
Status = BuildInstallPaths(InstallDir, InstallPartition);
Status = InitDestinationPaths(&USetupData, InstallDir, InstallPartition);
if (!NT_SUCCESS(Status))
{
DPRINT1("BuildInstallPaths() failed. Status code: 0x%lx", Status);
PopupError("Failed to build the installation paths for the ReactOS installation directory!",
MUIGetString(STRING_CONTINUE),
Ir, POPUP_WAIT_ENTER);
DPRINT1("InitDestinationPaths() failed. Status code: 0x%lx", Status);
MUIDisplayError(ERROR_NO_BUILD_PATH, Ir, POPUP_WAIT_ENTER);
return QUIT_PAGE;
}
@@ -3580,9 +3740,7 @@ InstallDirectoryPage(PINPUT_RECORD Ir)
*/
if (RtlPrefixUnicodeString(&USetupData.SourcePath, &USetupData.DestinationPath, TRUE))
{
PopupError("You cannot install ReactOS within the installation source directory!",
MUIGetString(STRING_CONTINUE),
Ir, POPUP_WAIT_ENTER);
MUIDisplayError(ERROR_SOURCE_DIR, Ir, POPUP_WAIT_ENTER);
return INSTALL_DIRECTORY_PAGE;
}
@@ -3671,13 +3829,11 @@ InstallDirectoryPage(PINPUT_RECORD Ir)
return INSTALL_DIRECTORY_PAGE;
}
Status = BuildInstallPaths(InstallDir, InstallPartition);
Status = InitDestinationPaths(&USetupData, InstallDir, InstallPartition);
if (!NT_SUCCESS(Status))
{
DPRINT1("BuildInstallPaths() failed. Status code: 0x%lx", Status);
PopupError("Failed to build the installation paths for the ReactOS installation directory!",
MUIGetString(STRING_CONTINUE),
Ir, POPUP_WAIT_ENTER);
DPRINT1("InitDestinationPaths() failed. Status code: 0x%lx", Status);
MUIDisplayError(ERROR_NO_BUILD_PATH, Ir, POPUP_WAIT_ENTER);
return QUIT_PAGE;
}
@@ -3688,9 +3844,7 @@ InstallDirectoryPage(PINPUT_RECORD Ir)
*/
if (RtlPrefixUnicodeString(&USetupData.SourcePath, &USetupData.DestinationPath, TRUE))
{
PopupError("You cannot install ReactOS within the installation source directory!",
MUIGetString(STRING_CONTINUE),
Ir, POPUP_WAIT_ENTER);
MUIDisplayError(ERROR_SOURCE_DIR, Ir, POPUP_WAIT_ENTER);
return INSTALL_DIRECTORY_PAGE;
}
@@ -4076,7 +4230,7 @@ RegistryPage(PINPUT_RECORD Ir)
Error = UpdateRegistry(&USetupData,
RepairUpdateFlag,
PartitionList,
DestinationDriveLetter,
InstallPartition->DriveLetter,
SelectedLanguageId,
RegistryStatus);
if (Error != ERROR_SUCCESS)
@@ -4122,17 +4276,17 @@ BootLoaderPage(PINPUT_RECORD Ir)
CONSOLE_SetStatusText(MUIGetString(STRING_PLEASEWAIT));
ASSERT(PartitionList->SystemPartition->IsPartitioned && PartitionList->SystemPartition->PartitionNumber != 0);
ASSERT(SystemPartition->IsPartitioned && SystemPartition->PartitionNumber != 0);
RtlFreeUnicodeString(&USetupData.SystemRootPath);
RtlStringCchPrintfW(PathBuffer, ARRAYSIZE(PathBuffer),
L"\\Device\\Harddisk%lu\\Partition%lu\\",
PartitionList->SystemPartition->DiskEntry->DiskNumber,
PartitionList->SystemPartition->PartitionNumber);
SystemPartition->DiskEntry->DiskNumber,
SystemPartition->PartitionNumber);
RtlCreateUnicodeString(&USetupData.SystemRootPath, PathBuffer);
DPRINT1("SystemRootPath: %wZ\n", &USetupData.SystemRootPath);
PartitionType = PartitionList->SystemPartition->PartitionType;
PartitionType = SystemPartition->PartitionType;
/* For unattended setup, skip MBR installation or install on floppy if needed */
if (IsUnattendedSetup)
@@ -4400,11 +4554,11 @@ BootLoaderHarddiskVbrPage(PINPUT_RECORD Ir)
Status = InstallVBRToPartition(&USetupData.SystemRootPath,
&USetupData.SourceRootPath,
&USetupData.DestinationArcPath,
PartitionList->SystemPartition->PartitionType);
SystemPartition->PartitionType);
if (!NT_SUCCESS(Status))
{
MUIDisplayError(ERROR_WRITE_BOOT, Ir, POPUP_WAIT_ENTER,
PartitionList->SystemPartition->FileSystem);
SystemPartition->FileSystem);
return QUIT_PAGE;
}
@@ -4437,20 +4591,20 @@ BootLoaderHarddiskMbrPage(PINPUT_RECORD Ir)
Status = InstallVBRToPartition(&USetupData.SystemRootPath,
&USetupData.SourceRootPath,
&USetupData.DestinationArcPath,
PartitionList->SystemPartition->PartitionType);
SystemPartition->PartitionType);
if (!NT_SUCCESS(Status))
{
MUIDisplayError(ERROR_WRITE_BOOT, Ir, POPUP_WAIT_ENTER,
PartitionList->SystemPartition->FileSystem);
SystemPartition->FileSystem);
return QUIT_PAGE;
}
/* Step 2: Write the MBR if the disk containing the system partition is not a super-floppy */
if (!IsSuperFloppy(PartitionList->SystemPartition->DiskEntry))
if (!IsSuperFloppy(SystemPartition->DiskEntry))
{
RtlStringCchPrintfW(DestinationDevicePathBuffer, ARRAYSIZE(DestinationDevicePathBuffer),
L"\\Device\\Harddisk%d\\Partition0",
PartitionList->SystemPartition->DiskEntry->DiskNumber);
SystemPartition->DiskEntry->DiskNumber);
Status = InstallMbrBootCodeToDisk(&USetupData.SystemRootPath,
&USetupData.SourceRootPath,
DestinationDevicePathBuffer);
@@ -4952,6 +5106,9 @@ RunUSetup(VOID)
case REBOOT_PAGE:
case RECOVERY_PAGE:
break;
default:
break;
}
}

View File

@@ -97,6 +97,7 @@ typedef enum _PAGE_NUMBER
CREATE_PRIMARY_PARTITION_PAGE,
CREATE_EXTENDED_PARTITION_PAGE,
CREATE_LOGICAL_PARTITION_PAGE,
CHANGE_SYSTEM_PARTITION,
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
DELETE_PARTITION_PAGE,

View File

@@ -444,14 +444,14 @@ UINT WINAPI CIconWatcher::WatcherThread(_In_opt_ LPVOID lpParam)
{
// We've been kicked, we have updates to our list (or we're exiting the thread)
if (This->m_Loop)
TRACE("Updating watched icon list");
TRACE("Updating watched icon list\n");
}
else if ((Status >= WAIT_OBJECT_0 + 1) && (Status < Size))
{
IconWatcherData *Icon;
Icon = This->GetListEntry(NULL, WatchList[Status], false);
TRACE("Pid %lu owns a notification icon and has stopped without deleting it. We'll cleanup on its behalf", Icon->ProcessId);
TRACE("Pid %lu owns a notification icon and has stopped without deleting it. We'll cleanup on its behalf\n", Icon->ProcessId);
TRAYNOTIFYDATAW tnid = {0};
tnid.dwSignature = NI_NOTIFY_SIG;
@@ -737,6 +737,7 @@ BOOL CNotifyToolbar::AddButton(_In_ CONST NOTIFYICONDATA *iconData)
tbBtn.dwData = (DWORD_PTR)notifyItem;
tbBtn.iString = (INT_PTR) text;
tbBtn.idCommand = GetButtonCount();
tbBtn.iBitmap = -1;
if (iconData->uFlags & NIF_STATE)
{
@@ -832,7 +833,7 @@ BOOL CNotifyToolbar::UpdateButton(_In_ CONST NOTIFYICONDATA *iconData)
InternalIconData * notifyItem;
TBBUTTONINFO tbbi = { 0 };
TRACE("Updating icon %d from hWnd %08x flags%s%s state%s%s",
TRACE("Updating icon %d from hWnd %08x flags%s%s state%s%s\n",
iconData->uID, iconData->hWnd,
(iconData->uFlags & NIF_ICON) ? " ICON" : "",
(iconData->uFlags & NIF_STATE) ? " STATE" : "",
@@ -842,7 +843,7 @@ BOOL CNotifyToolbar::UpdateButton(_In_ CONST NOTIFYICONDATA *iconData)
int index = FindItem(iconData->hWnd, iconData->uID, &notifyItem);
if (index < 0)
{
WARN("Icon %d from hWnd %08x DOES NOT EXIST!", iconData->uID, iconData->hWnd);
WARN("Icon %d from hWnd %08x DOES NOT EXIST!\n", iconData->uID, iconData->hWnd);
return AddButton(iconData);
}
@@ -941,7 +942,7 @@ BOOL CNotifyToolbar::RemoveButton(_In_ CONST NOTIFYICONDATA *iconData)
int index = FindItem(iconData->hWnd, iconData->uID, &notifyItem);
if (index < 0)
{
TRACE("Icon %d from hWnd %08x ALREADY MISSING!", iconData->uID, iconData->hWnd);
TRACE("Icon %d from hWnd %08x ALREADY MISSING!\n", iconData->uID, iconData->hWnd);
return FALSE;
}

View File

@@ -1633,6 +1633,13 @@ public:
ActivateTask(TaskItem->hWnd);
/* Wait up to 2 seconds for the window to process the foreground notification. */
DWORD_PTR resultDummy;
if (!SendMessageTimeout(TaskItem->hWnd, WM_NULL, 0, 0, 0, 2000, &resultDummy))
ERR("HandleTaskItemRightClick detected the window was unresponsive for 2 seconds, or was destroyed\n");
if (GetForegroundWindow() != TaskItem->hWnd)
ERR("HandleTaskItemRightClick detected the window did not become foreground\n");
::SendMessageW(TaskItem->hWnd, WM_POPUPSYSTEMMENU, 0, MAKELPARAM(pt.x, pt.y));
}

View File

@@ -48,9 +48,9 @@ CAPTION "Добавяне език на писане"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Език на &въвеждане:", -1, 7, 7, 90, 10
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
LTEXT "Клавиатурна подредба/IME:", -1, 7, 36, 110, 10
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
DEFPUSHBUTTON "Добре", IDOK, 116, 68, 50, 14
PUSHBUTTON "Отказ", IDCANCEL, 169, 68, 50, 14
END

View File

@@ -53,9 +53,9 @@ CAPTION "Přidat vstupní jazyk"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Vstupní jazyk:", -1, 7, 7, 61, 10
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
LTEXT "&Rozložení kláves/IME:", -1, 7, 36, 110, 10
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
DEFPUSHBUTTON "OK", IDOK, 116, 68, 50, 14
PUSHBUTTON "Storno", IDCANCEL, 169, 68, 50, 14
END

View File

@@ -48,9 +48,9 @@ CAPTION "Eingabesprache hinzufügen"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Eingabesprache:", -1, 7, 7, 61, 10
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
LTEXT "&Tastaturlayout/IME:", -1, 7, 36, 110, 10
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
DEFPUSHBUTTON "OK", IDOK, 116, 68, 50, 14
PUSHBUTTON "Abbrechen", IDCANCEL, 169, 68, 50, 14
END

View File

@@ -48,9 +48,9 @@ CAPTION "Προσθήκη γλώσσας εισαγωγής"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Γλώσσα εισαγωγής:", -1, 7, 7, 61, 10
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
LTEXT "&Διάταξη πληκτρολογίου/IME:", -1, 7, 36, 110, 10
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
DEFPUSHBUTTON "OK", IDOK, 116, 68, 50, 14
PUSHBUTTON "Άκυρο", IDCANCEL, 169, 68, 50, 14
END

View File

@@ -48,9 +48,9 @@ CAPTION "Add Input language"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Input language:", -1, 7, 7, 61, 10
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
LTEXT "&Keyboard layout/IME:", -1, 7, 36, 110, 10
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
DEFPUSHBUTTON "OK", IDOK, 116, 68, 50, 14
PUSHBUTTON "Cancel", IDCANCEL, 169, 68, 50, 14
END

View File

@@ -57,9 +57,9 @@ CAPTION "Agregar idioma de entrada"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Idioma de dispositivo de entrada:", -1, 7, 7, 120, 10
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
LTEXT "&Distribución del teclado/IME:", -1, 7, 36, 110, 10
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
DEFPUSHBUTTON "Aceptar", IDOK, 116, 68, 50, 14
PUSHBUTTON "Cancelar", IDCANCEL, 169, 68, 50, 14
END

View File

@@ -48,9 +48,9 @@ CAPTION "Ajouter une langue de saisie"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Langue de sa&isie :", -1, 7, 7, 61, 10
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
LTEXT "Configuration du clavier/IME :", -1, 7, 36, 110, 10
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
DEFPUSHBUTTON "OK", IDOK, 116, 68, 50, 14
PUSHBUTTON "Annuler", IDCANCEL, 169, 68, 50, 14
END

View File

@@ -50,9 +50,9 @@ CAPTION "הוספת שפת כתיבה"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "שפת כתיבה:", -1, 7, 7, 61, 10
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
LTEXT "&Keyboard layout/IME:", -1, 7, 36, 110, 10
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
DEFPUSHBUTTON "אישור", IDOK, 116, 68, 50, 14
PUSHBUTTON "ביטול", IDCANCEL, 169, 68, 50, 14
END

View File

@@ -48,9 +48,9 @@ CAPTION "Aggiunta lingua"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Lingua:", -1, 7, 7, 61, 10
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
LTEXT "&Layout/IME tastiera:", -1, 7, 36, 110, 10
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
DEFPUSHBUTTON "OK", IDOK, 116, 68, 50, 14
PUSHBUTTON "Annulla", IDCANCEL, 169, 68, 50, 14
END

View File

@@ -48,9 +48,9 @@ CAPTION "入力言語の追加"
FONT 9, "MS UI Gothic"
BEGIN
LTEXT "入力言語(&I):", -1, 7, 7, 61, 10
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
LTEXT "キーボードレイアウト/IME(&K):", -1, 7, 36, 110, 10
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
DEFPUSHBUTTON "OK", IDOK, 116, 68, 50, 14
PUSHBUTTON "キャンセル", IDCANCEL, 169, 68, 50, 14
END

View File

@@ -48,9 +48,9 @@ CAPTION "Teksttjenester og inndataspråk"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Inndataspråk:", -1, 7, 7, 61, 10
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
LTEXT "&Tastaturoppsett/IME:", -1, 7, 36, 110, 10
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
DEFPUSHBUTTON "OK", IDOK, 116, 68, 50, 14
PUSHBUTTON "Avbryt", IDCANCEL, 169, 68, 50, 14
END

View File

@@ -56,9 +56,9 @@ CAPTION "Dodawanie języków"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Język:", -1, 7, 7, 61, 10
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
LTEXT "&Układ klawiatury/IME:", -1, 7, 36, 110, 10
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
DEFPUSHBUTTON "OK", IDOK, 116, 68, 50, 14
PUSHBUTTON "Anuluj", IDCANCEL, 169, 68, 50, 14
END

View File

@@ -48,9 +48,9 @@ CAPTION "Adicionar idioma de entrada"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Idioma de entrada:", -1, 7, 7, 61, 10
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
LTEXT "L&ayout do teclado/IME:", -1, 7, 36, 110, 10
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
DEFPUSHBUTTON "OK", IDOK, 116, 68, 50, 14
PUSHBUTTON "Cancelar", IDCANCEL, 169, 68, 50, 14
END

View File

@@ -50,9 +50,9 @@ CAPTION "Adăguare limbă de intrare"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Limbă:", -1, 7, 7, 61, 10
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
LTEXT "&Aranjament de tastatură/IME:", -1, 7, 36, 110, 10
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
DEFPUSHBUTTON "Con&firmă", IDOK, 116, 68, 50, 14
PUSHBUTTON "A&nulează", IDCANCEL, 169, 68, 50, 14
END

View File

@@ -48,9 +48,9 @@ CAPTION "Добавление языка ввода"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Язык ввода:", -1, 7, 7, 61, 10
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
LTEXT "&Раскладка клавиатуры:", -1, 7, 36, 170, 10
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
DEFPUSHBUTTON "OK", IDOK, 116, 68, 50, 14
PUSHBUTTON "Отмена", IDCANCEL, 169, 68, 50, 14
END

View File

@@ -53,9 +53,9 @@ CAPTION "Add Input language"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Input language:", -1, 7, 7, 61, 10
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
LTEXT "&Keyboard layout/IME:", -1, 7, 36, 110, 10
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
DEFPUSHBUTTON "OK", IDOK, 116, 68, 50, 14
PUSHBUTTON "Zrušiť", IDCANCEL, 169, 68, 50, 14
END

View File

@@ -52,9 +52,9 @@ CAPTION "Shto gjuhën hyrese"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Gjuha hyrese:", -1, 7, 7, 61, 10
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
LTEXT "&Paraqitja Tastieres/IME:", -1, 7, 36, 110, 10
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
DEFPUSHBUTTON "OK", IDOK, 116, 68, 50, 14
PUSHBUTTON "Anulo", IDCANCEL, 169, 68, 50, 14
END

View File

@@ -50,9 +50,9 @@ CAPTION "Giriş Dili Ekle"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Giriş Dili:", -1, 7, 7, 61, 10
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
LTEXT "&Düğme Takımı Düzeni/IME:", -1, 7, 36, 110, 10
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
DEFPUSHBUTTON "Tamam", IDOK, 116, 68, 50, 14
PUSHBUTTON "İptal", IDCANCEL, 169, 68, 50, 14
END

View File

@@ -56,9 +56,9 @@ CAPTION "Додавання мови вводу"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Мова вводу:", -1, 7, 7, 61, 10
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
LTEXT "&Розкладка клавіатури або засіб вводу (IME):", -1, 7, 36, 140, 10
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
DEFPUSHBUTTON "OK", IDOK, 116, 68, 50, 14
PUSHBUTTON "Скасувати", IDCANCEL, 169, 68, 50, 14
END

View File

@@ -50,9 +50,9 @@ CAPTION "添加输入语言"
FONT 9, "宋体"
BEGIN
LTEXT "输入语言(&I):", -1, 7, 7, 61, 10
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
LTEXT "键盘布局/输入法(&K):", -1, 7, 36, 110, 10
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
DEFPUSHBUTTON "确定", IDOK, 116, 68, 50, 14
PUSHBUTTON "取消", IDCANCEL, 169, 68, 50, 14
END

View File

@@ -50,9 +50,9 @@ CAPTION "添加輸入語言"
FONT 9, "新細明體"
BEGIN
LTEXT "輸入語言(&I):", -1, 7, 7, 61, 10
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
LTEXT "鍵盤佈局/輸入法(&K):", -1, 7, 36, 110, 10
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL
COMBOBOX IDC_KEYBOARD_LO_COMBO, 7, 47, 212, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_VSCROLL
DEFPUSHBUTTON "確定", IDOK, 116, 68, 50, 14
PUSHBUTTON "取消", IDCANCEL, 169, 68, 50, 14
END

View File

@@ -226,7 +226,8 @@ OnInitSettingsPage(HWND hwndDlg)
ILC_COLOR8 | ILC_MASK, 0, 0);
if (hLayoutImageList != NULL)
{
ListView_SetImageList(hwndInputList, hLayoutImageList, LVSIL_SMALL);
HIMAGELIST hOldImagelist = ListView_SetImageList(hwndInputList, hLayoutImageList, LVSIL_SMALL);
ImageList_Destroy(hOldImagelist);
}
UpdateInputListView(hwndInputList);
@@ -239,18 +240,9 @@ OnInitSettingsPage(HWND hwndDlg)
static VOID
OnDestroySettingsPage(HWND hwndDlg)
{
HIMAGELIST hImageList;
LayoutList_Destroy();
LocaleList_Destroy();
InputList_Destroy();
hImageList = ListView_GetImageList(GetDlgItem(hwndDlg, IDC_KEYLAYOUT_LIST),
LVSIL_SMALL);
if (hImageList != NULL)
{
ImageList_Destroy(hImageList);
}
}

View File

@@ -8,7 +8,7 @@ BEGIN
GROUPBOX "Стандарти и изписвания", -1, 5, 5, 240, 162
LTEXT "Тази настройка засяга начина, по който някои приложения изписват числата, паричните единици, датата и времето.", -1, 14, 17, 230, 25
LTEXT "Изберете предмет, отговарящ на нуждите ви или натиснете „Нагласяване”, за да зададете собствено изписване:", -1, 14, 37, 230, 22
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
PUSHBUTTON "На&гласяване...", IDC_SETUP_BUTTON, 178, 56, 60, 13
LTEXT "Образци:", -1, 14, 73, 70, 10
LTEXT "Числа:", -1, 16, 86, 48, 10
@@ -23,7 +23,7 @@ BEGIN
EDITTEXT IDC_FULLTIMESAMPLE_EDIT, 89, 146, 140, 12, ES_READONLY | WS_CHILD | WS_VISIBLE | WS_GROUP | NOT WS_TABSTOP
GROUPBOX "Географско положение", -1, 5, 172, 240, 55
LTEXT "Указване на положението ви, заради услуги, които биха могли да ви осигуряват местни услуги от рода на новини и доклади за времето.", -1, 14, 181, 230, 24
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 270, 150, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 270, 150, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
END
IDD_LANGUAGESPAGE DIALOGEX 0, 0, 246, 230
@@ -46,7 +46,7 @@ CAPTION "Разширени"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Език за неуникод приложения", -1, 6, 7, 233, 80
COMBOBOX IDC_LANGUAGE_COMBO, 14, 67, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LANGUAGE_COMBO, 14, 67, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
LTEXT "Тази настройка позволява на неуникод приложенията да показват правилно изборниците и прозорците на присъщия им език. Тя не засяга уникод приложенията, но засяга всички потребители на компютъра.", -1, 14, 18, 216, 33
LTEXT "Изберете подходящ език за неуникод приложенията:", -1, 14, 55, 216, 10
GROUPBOX "Знаков набор", -1, 6, 92, 233, 88

View File

@@ -13,7 +13,7 @@ BEGIN
GROUPBOX "Standardy a formáty", -1, 5, 5, 234, 162
LTEXT "Toto nastavení ovlivní, jak některé programy formátují čísla, měny, data a čas.", -1, 14, 17, 220, 25
LTEXT "Zvolte položku odpovídající požadovaným vlastnostem, nebo klepnutím na Vlastní vyberte vlastní formáty:", -1, 14, 37, 220, 22
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
PUSHBUTTON "&Vlastní...", IDC_SETUP_BUTTON, 178, 56, 52, 13
LTEXT "Ukázky", -1, 14, 73, 70, 10
LTEXT "Číslo:", -1, 16, 86, 48, 10
@@ -28,7 +28,7 @@ BEGIN
EDITTEXT IDC_FULLTIMESAMPLE_EDIT, 89, 146, 140, 12, ES_READONLY | WS_CHILD | WS_VISIBLE | WS_GROUP | NOT WS_TABSTOP
GROUPBOX "Zeměpisné umístění", -1, 5, 172, 234, 55
LTEXT "Zvolením svého umístění umožníte některým službám dodávat místní informace, například zprávy nebo předpověď počasí.", -1, 14, 184, 210, 24
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
END
IDD_LANGUAGESPAGE DIALOGEX 0, 0, 246, 230
@@ -51,7 +51,7 @@ CAPTION "Rozšířené"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Jazyky ne-Unicode programů", -1, 5, 5, 234, 90
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
LTEXT "Toto nastavení systému umožní ne-Unicode programům zobrazovat nabídky a dialogy v jejich původním jazyce. Unicode programy nebudou ovlivněny, ale nastaveni bude použit pro všechny uživatele na tomto počítači.", -1, 14, 18, 223, 33
LTEXT "Zvolte jazyk odpovídající jazykové verzi ne-Unicode programů, které chcete používat:", -1, 14, 55, 223, 18
GROUPBOX "Převodní tabulky znakových stránek", -1, 5, 101, 234, 88

View File

@@ -8,7 +8,7 @@ BEGIN
GROUPBOX "Standards und Formate", -1, 5, 5, 234, 162
LTEXT "Diese Einstellungen beeinflussen, wie einige Programme Zahlen, Währung, Datum, und Zeit formatieren.", -1, 14, 17, 220, 25
LTEXT "Wählen Sie ein Element, um dessen Einstellungen anzuzeigen, oder wählen Sie ""Anpassen..."", um Ihr eigenes Format zu wählen:", -1, 14, 37, 220, 22
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
PUSHBUTTON "&Anpassen...", IDC_SETUP_BUTTON, 178, 56, 52, 13
LTEXT "Beispiele", -1, 14, 73, 70, 10
LTEXT "Zahl:", -1, 16, 86, 48, 10
@@ -23,7 +23,7 @@ BEGIN
EDITTEXT IDC_FULLTIMESAMPLE_EDIT, 89, 146, 140, 12, ES_READONLY | WS_CHILD | WS_VISIBLE | WS_GROUP | NOT WS_TABSTOP
GROUPBOX "Geografische Lage", -1, 5, 172, 234, 55
LTEXT "Wählen Sie Ihren Standort, sodass Dienste Sie mit lokalen Informationen, wie Nachrichten und Wettervorhersagen, versorgen können.", -1, 14, 184, 210, 24
COMBOBOX IDC_LOCATION_COMBO, 14, 210, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LOCATION_COMBO, 14, 210, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
END
IDD_LANGUAGESPAGE DIALOGEX 0, 0, 246, 230
@@ -46,7 +46,7 @@ CAPTION "Erweitert"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Sprache für Unicode-Inkompatible Programme", -1, 5, 5, 234, 90
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
LTEXT "Diese Einstellung ermöglicht es, Unicode-Inkompatiblen Programmen, Menüs und Dialoge in der örtlichen Sprache darzustellen. Dies beeinflusst Unicode-Kompatible Programme nicht, wird aber für alle Nutzer des Computers angewendet.", -1, 14, 18, 223, 33
LTEXT "Wählen Sie eine Sprache aus, die der Sprachversion des Programmes entspricht, das Sie nutzen wollen:", -1, 14, 55, 223, 18
GROUPBOX "Codepage Konvertierungstabellen", -1, 5, 101, 234, 88

View File

@@ -8,7 +8,7 @@ BEGIN
GROUPBOX "Standards and formats", -1, 5, 5, 234, 162
LTEXT "This option affects how some programs format numbers, currencies, dates, and time.", -1, 14, 17, 220, 25
LTEXT "&Select an item to match its properties, or click Customize to choose your own formats:", -1, 14, 37, 220, 22
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
PUSHBUTTON "Customi&ze...", IDC_SETUP_BUTTON, 178, 56, 52, 13
LTEXT "Samples", -1, 14, 73, 70, 10
LTEXT "Number:", -1, 16, 86, 48, 10
@@ -23,7 +23,7 @@ BEGIN
EDITTEXT IDC_FULLTIMESAMPLE_EDIT, 89, 146, 140, 12, ES_READONLY | WS_CHILD | WS_VISIBLE | WS_GROUP | NOT WS_TABSTOP
GROUPBOX "Geographic location", -1, 5, 172, 234, 55
LTEXT "Se&t up your location so that some services can supply you with local information; for example, news and weather reports.", -1, 14, 184, 210, 24
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
END
IDD_LANGUAGESPAGE DIALOGEX 0, 0, 246, 230
@@ -46,7 +46,7 @@ CAPTION "Advanced"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Language for non-Unicode programs", -1, 5, 5, 234, 90
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
LTEXT "This system setting enables non-Unicode programs to display menus and dialogs in their native language. It does not affect Unicode programs, but it does apply to all users of this computer.", -1, 14, 18, 223, 33
LTEXT "&Select a language to match the language version of the non-Unicode programs you want to use:", -1, 14, 55, 223, 18
GROUPBOX "&Code page conversion tables", -1, 5, 101, 234, 88

View File

@@ -10,7 +10,7 @@ BEGIN
GROUPBOX "Estándares y formatos ", -1, 5, 5, 234, 162
LTEXT "Esta opción afecta al formato que algunas aplicaciones dan a los números, monedas, fechas y horas.", -1, 14, 17, 220, 25
LTEXT "Seleccione un elemento para que coincida con sus preferencias o haga clic en Personalizar para elegir su propia configuración:", -1, 14, 37, 220, 22
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
PUSHBUTTON "&Personalizar...", IDC_SETUP_BUTTON, 178, 56, 52, 13
LTEXT "Ejemplos", -1, 14, 73, 70, 10
LTEXT "Número:", -1, 16, 86, 48, 10
@@ -25,7 +25,7 @@ BEGIN
EDITTEXT IDC_FULLTIMESAMPLE_EDIT, 89, 146, 140, 12, ES_READONLY | WS_CHILD | WS_VISIBLE | WS_GROUP | NOT WS_TABSTOP
GROUPBOX "Ubicación geográfica ", -1, 5, 172, 234, 55
LTEXT "Seleccione su ubicación actual para ayudar a los servicios a suministrarle información local, como noticias y el tiempo.", -1, 14, 184, 210, 24
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
END
IDD_LANGUAGESPAGE DIALOGEX 0, 0, 246, 230
@@ -48,7 +48,7 @@ CAPTION "Opciones avanzadas"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Idioma para programas no Unicode ", -1, 5, 5, 234, 90
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
LTEXT "Esta configuración de sistema permite que algunos programas no Unicode muestren menús y diálogos en sus idiomas originales. No afecta a los programas Unicode pero afecta a todos los usuarios de este equipo.", -1, 14, 18, 223, 33
LTEXT "Seleccione un idioma que coincida con la versión de idioma de los programas no Unicode que desea utilizar:", -1, 14, 55, 223, 18
GROUPBOX "Tablas de conversión de páginas de código ", -1, 5, 101, 234, 88

View File

@@ -10,7 +10,7 @@ BEGIN
GROUPBOX "Standards et formats", -1, 5, 5, 234, 162
LTEXT "Cette option modifie comment certains programmes disposent les nombres, les monnaies, les dates et l'heure.", -1, 14, 17, 220, 20
LTEXT "Sélectionnez un élément pour utiliser ses préférences, ou cliquez sur Personnaliser pour choisir vos propres formats :", -1, 14, 37, 220, 18
COMBOBOX IDC_LANGUAGELIST, 14, 56, 152, 160, CBS_DROPDOWNLIST | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
COMBOBOX IDC_LANGUAGELIST, 14, 56, 152, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
PUSHBUTTON "Personnaliser...", IDC_SETUP_BUTTON, 169, 56, 61, 13
LTEXT "Exemples", -1, 14, 73, 70, 10
LTEXT "Nombre :", -1, 16, 86, 70, 10
@@ -25,7 +25,7 @@ BEGIN
EDITTEXT IDC_FULLTIMESAMPLE_EDIT, 89, 146, 140, 12, ES_READONLY | WS_CHILD | WS_VISIBLE | WS_GROUP | NOT WS_TABSTOP
GROUPBOX "Localisation géographique", -1, 5, 171, 234, 55
LTEXT "Configurez votre localisation pour que des services puissent vous fournir des informations locales, comme par exemple, les nouvelles et la météo", -1, 14, 180, 215, 24
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
END
IDD_LANGUAGESPAGE DIALOGEX 0, 0, 246, 230
@@ -48,7 +48,7 @@ CAPTION "Avancé"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Langue pour les programmes non-Unicode", -1, 5, 5, 234, 90
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
LTEXT "Ce paramètre système permet aux programmes non-Unicode d'afficher les menus et les dialogues dans leur langue native. Cela n'affecte pas es programmes Unicode, mais s'applique à tous les utilisateurs de cet ordinateur.", -1, 14, 18, 223, 33
LTEXT "Sélectionnez une langue qui corresponde à la version de la langue des programmes que vous voulez utiliser :", -1, 14, 55, 223, 18
GROUPBOX "Tables de conversion des pages de code", -1, 5, 101, 234, 88

View File

@@ -10,7 +10,7 @@ BEGIN
GROUPBOX "סטנדרטים ועיצובי", -1, 5, 5, 234, 162
LTEXT "This option affects how some programs format numbers, currencies, dates, and time.", -1, 14, 17, 220, 25
LTEXT "Select an item to match its properties, or click Customize to choose your own formats:", -1, 14, 37, 220, 22
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
PUSHBUTTON "התאם...", IDC_SETUP_BUTTON, 178, 56, 52, 13
LTEXT "דוגמאות", -1, 14, 73, 70, 10
LTEXT "מספרים:", -1, 16, 86, 48, 10
@@ -25,7 +25,7 @@ BEGIN
EDITTEXT IDC_FULLTIMESAMPLE_EDIT, 89, 146, 140, 12, ES_READONLY | WS_CHILD | WS_VISIBLE | WS_GROUP | NOT WS_TABSTOP
GROUPBOX "מיקום גאוגרפי", -1, 5, 172, 234, 55
LTEXT "Set up your location so that some services can supply you with local information; for example, news and weather reports.", -1, 14, 184, 210, 24
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
END
IDD_LANGUAGESPAGE DIALOGEX 0, 0, 246, 230
@@ -48,7 +48,7 @@ CAPTION "מתקדם"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Language for non-Unicode programs", -1, 5, 5, 234, 90
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
LTEXT "This system setting enables non-Unicode programs to display menus and dialogs in their native language. It does not affect Unicode programs, but it does apply to all users of this computer.", -1, 14, 18, 223, 33
LTEXT "Select a language to match the language version of the non-Unicode programs you want to use:", -1, 14, 55, 223, 18
GROUPBOX "Code page conversion tables", -1, 5, 101, 234, 88

View File

@@ -10,7 +10,7 @@ BEGIN
GROUPBOX "Standard e formati", -1, 5, 5, 234, 162
LTEXT "Questa opzione determina la formattazione di numeri, valute, ora e date.", -1, 14, 17, 220, 25
LTEXT "Selezionare l'elemento corrispondente alle preferenze oppure fare click su personalizza per scegliere formati personalizzati:", -1, 14, 37, 220, 22
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
PUSHBUTTON "&Personalizza...", IDC_SETUP_BUTTON, 178, 56, 52, 13
LTEXT "Esempi", -1, 14, 73, 70, 10
LTEXT "Numero:", -1, 16, 86, 48, 10
@@ -25,7 +25,7 @@ BEGIN
EDITTEXT IDC_FULLTIMESAMPLE_EDIT, 89, 146, 140, 12, ES_READONLY | WS_CHILD | WS_VISIBLE | WS_GROUP | NOT WS_TABSTOP
GROUPBOX "Posizione geografica", -1, 5, 172, 234, 55
LTEXT "Per ottenere informazioni locali, come notizie e previsioni meteo, selezionare la località corrente:", -1, 14, 184, 210, 24
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
END
IDD_LANGUAGESPAGE DIALOGEX 0, 0, 246, 230
@@ -48,7 +48,7 @@ CAPTION "Avanzate"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Lingua per programmi non Unicode", -1, 5, 5, 234, 90
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
LTEXT "In base a questa impostazione di sistema è possibile visualizzare menù e finestre di dialogo di programmi non Unicode nella lingua di origine.", -1, 14, 18, 223, 17
LTEXT "I programmi Unicode resteranno invariati, ma l'impostazione verrà applicata per tutti gli utenti che utilizzano il computer.", -1, 14, 35, 223, 17
LTEXT "Selezionare una lingua per i programmi non Unicode da utilizzare:", -1, 14, 55, 223, 18

View File

@@ -8,7 +8,7 @@ BEGIN
GROUPBOX "標準と形式", -1, 5, 5, 234, 162
LTEXT "このオプションは、いくつかのプログラムによる数値、通貨、日付、時間の書式設定に影響します。", -1, 14, 17, 220, 25
LTEXT "プロパティに一致する項目を選択するか、あなた自身の形式を選ぶためにカスタマイズをクリックして下さい(&S):", -1, 14, 37, 220, 22
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
PUSHBUTTON "カスタマイズ(&Z)...", IDC_SETUP_BUTTON, 178, 56, 52, 13
LTEXT "サンプル", -1, 14, 73, 70, 10
LTEXT "数値:", -1, 16, 86, 48, 10
@@ -23,7 +23,7 @@ BEGIN
EDITTEXT IDC_FULLTIMESAMPLE_EDIT, 89, 146, 140, 12, ES_READONLY | WS_CHILD | WS_VISIBLE | WS_GROUP | NOT WS_TABSTOP
GROUPBOX "場所", -1, 5, 172, 234, 55
LTEXT "いくつかのサービスがあなたに地域情報(例えばニュースや天気情報)を提供できるようにあなたの場所をセットアップして下さい(&T)", -1, 14, 184, 210, 24
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
END
IDD_LANGUAGESPAGE DIALOGEX 0, 0, 246, 230
@@ -46,7 +46,7 @@ CAPTION "上級者向け"
FONT 9, "MS UI Gothic"
BEGIN
GROUPBOX "非Unicodeプログラム用の言語", -1, 5, 5, 234, 90
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
LTEXT "このシステム設定は、非Unicodeプログラムがメニューやダイアログをその地域の言語で表示することを可能にします。これは、Unicodeプログラムには影響しませんが、このコンピューターのすべてのユーザーに適用されます。", -1, 14, 18, 223, 33
LTEXT "使いたい非Unicodeプログラムの言語バージョンに一致する言語を選んで下さい(&S):", -1, 14, 55, 223, 18
GROUPBOX "コードページ変換表(&C)", -1, 5, 101, 234, 88

View File

@@ -8,7 +8,7 @@ BEGIN
GROUPBOX "Standarder og format", -1, 5, 5, 234, 162
LTEXT "Dette valget påvirker hvordan programmer formater tall, valuta, dato, og tid.", -1, 14, 17, 220, 25
LTEXT "Velg en enhet for å tilpasse til egenskaper, eller klikk tilpasning for å velge dine egne formater:", -1, 14, 37, 220, 22
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
PUSHBUTTON "Tilpasni&ng...", IDC_SETUP_BUTTON, 178, 56, 52, 13
LTEXT "Utvalg", -1, 14, 73, 70, 10
LTEXT "Tall:", -1, 16, 86, 48, 10
@@ -23,7 +23,7 @@ BEGIN
EDITTEXT IDC_FULLTIMESAMPLE_EDIT, 89, 146, 140, 12, ES_READONLY | WS_CHILD | WS_VISIBLE | WS_GROUP | NOT WS_TABSTOP
GROUPBOX "Geografisk plassering", -1, 5, 172, 234, 55
LTEXT "Still din lokalisering så at noen tjenester kan skaffe deg lokal informasjon; som for eksempel, nyheter og vær rapporter.", -1, 14, 184, 210, 24
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
END
IDD_LANGUAGESPAGE DIALOGEX 0, 0, 246, 230
@@ -46,7 +46,7 @@ CAPTION "Avansert"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Språk for ikke-Unicode programmer", -1, 5, 5, 234, 90
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
LTEXT "Denne systeminnstillingen gjør at programmet som ikke støtter Unicode, viser menyer og dialogbokser på det opprinnlige språket. Det påvirker ikke Unicode-programmer, men det gjelder for alle brukere på denne datamaskinen.", -1, 14, 18, 223, 33
LTEXT "Velg et språk som tilsvarer språkversjonen av programmet du vil bruke, som ikke er Unicode-programmer:", -1, 14, 55, 223, 18
GROUPBOX "Konverteringstabeller for tegntabell", -1, 5, 101, 234, 88

View File

@@ -16,7 +16,7 @@ BEGIN
GROUPBOX "Standardy i formaty", -1, 5, 5, 234, 162
LTEXT "Te opcje wpływają na to jak niektóre programy odczytują liczby, waluty, daty i czas.", -1, 14, 17, 220, 25
LTEXT "Wybierz opcję z listy, albo kliknij na Dostosuj, by wprowadzić własny format:", -1, 14, 37, 220, 22
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
PUSHBUTTON "Do&stosuj...", IDC_SETUP_BUTTON, 178, 56, 52, 13
LTEXT "Przykłady", -1, 14, 73, 70, 10
LTEXT "Liczby:", -1, 16, 86, 48, 10
@@ -31,7 +31,7 @@ BEGIN
EDITTEXT IDC_FULLTIMESAMPLE_EDIT, 89, 146, 140, 12, ES_READONLY | WS_CHILD | WS_VISIBLE | WS_GROUP | NOT WS_TABSTOP
GROUPBOX "Lokalizacja geograficzna", -1, 5, 171, 234, 55
LTEXT "Ustaw swoją obecną lokalizację, by pewne usługi mogły dostarczać lokalnych informacji; na przykład wiadomości i prognozy pogody.", -1, 14, 180, 215, 24
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
END
IDD_LANGUAGESPAGE DIALOGEX 0, 0, 246, 230
@@ -54,7 +54,7 @@ CAPTION "Zaawansowane"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Języki dla programów bez wsparcia Unicode", -1, 5, 5, 234, 90
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
LTEXT "Te ustawienia umożliwiają programom niewspierających Unicode wyświetlanie menu i dialogów w odpowiednich językach. Nie ma to wpływu na programy Unicode ale dotyczy profili domyślnych.", -1, 14, 18, 223, 33
LTEXT "Wybierz taki język, który ma być używany przez programy bez Unicode:", -1, 14, 55, 223, 18
GROUPBOX "Tabele konwersji stron kodowych", -1, 5, 101, 234, 88

View File

@@ -8,7 +8,7 @@ BEGIN
GROUPBOX "Padrões e formatos", -1, 5, 5, 234, 162
LTEXT "Esta opção afeta a maneira como alguns programas formatam números, unidades monetárias, horários e datas.", -1, 14, 17, 220, 25
LTEXT "Seleci&one um item correspondente a suas preferências ou clique em 'Personalizar' para escolher seus próprios formatos:", -1, 14, 37, 220, 22
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
PUSHBUTTON "&Personalizar...", IDC_SETUP_BUTTON, 178, 56, 52, 13
LTEXT "Exemplos", -1, 14, 73, 70, 10
LTEXT "Número:", -1, 16, 86, 48, 10
@@ -23,7 +23,7 @@ BEGIN
EDITTEXT IDC_FULLTIMESAMPLE_EDIT, 89, 146, 140, 12, ES_READONLY | WS_CHILD | WS_VISIBLE | WS_GROUP | NOT WS_TABSTOP
GROUPBOX "Local", -1, 5, 172, 234, 55
LTEXT "Para aj&udar os serviços a fornecer-lhe informações locais, como notícias e meteorologia, selecione seu local atual:", -1, 14, 184, 210, 24
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
END
IDD_LANGUAGESPAGE DIALOGEX 0, 0, 246, 230
@@ -46,7 +46,7 @@ CAPTION "Avançado"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Idioma para programas não-Unicode", -1, 5, 5, 234, 90
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
LTEXT "Este sistema permite que programas não-Unicode exibam menus e caixas de diálogo em seus idiomas de origem. Ele não afeta programas Unicode, mas se aplica a todos os usuários do computador.", -1, 14, 18, 223, 33
LTEXT "&Selecione um idioma correspondente à versão de idioma dos programas não-Unicode que você deseja usar:", -1, 14, 55, 223, 18
GROUPBOX "&Tabelas de conversão de páginas de código", -1, 5, 101, 234, 88

View File

@@ -10,7 +10,7 @@ BEGIN
GROUPBOX "Standarde și formate", -1, 5, 5, 234, 162
LTEXT "Această opțiune afectează modul în care numerele, valutele, data și ora sunt reprezentare în anumite aplicații.", -1, 14, 17, 220, 25
LTEXT "Alegeți o configurație prestabilită sau specificați una particularizată pentru formatele de afișare:", -1, 14, 37, 220, 22
COMBOBOX IDC_LANGUAGELIST, 14, 56, 150, 160, CBS_DROPDOWNLIST | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
COMBOBOX IDC_LANGUAGELIST, 14, 56, 150, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
PUSHBUTTON "&Particularizare…", IDC_SETUP_BUTTON, 168, 56, 62, 13
LTEXT "Exemple", -1, 14, 73, 70, 10
LTEXT "Număr:", -1, 16, 86, 68, 10
@@ -25,7 +25,7 @@ BEGIN
EDITTEXT IDC_FULLTIMESAMPLE_EDIT, 89, 146, 140, 12, ES_READONLY | WS_CHILD | WS_VISIBLE | WS_GROUP | NOT WS_TABSTOP
GROUPBOX "Amplasare geografică", -1, 5, 172, 234, 55
LTEXT "Specificați poziția geografică pentru a permite servicii localizate, cum ar fi știri locale sau informații meteo.", -1, 14, 184, 210, 24
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
END
IDD_LANGUAGESPAGE DIALOGEX 0, 0, 246, 230
@@ -48,7 +48,7 @@ CAPTION "Avansate"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Limba pentru programe ne-Unicode", -1, 5, 5, 234, 90
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
LTEXT "Această opțiune specifică limba de afișare pentru programele care nu utilizează Unicode în textele din meniuri și ferestrele de dialog. Opțiunea nu afectează aplicațiile Unicode, dar va afecta toți utilizatorii din sistem.", -1, 14, 18, 223, 33
LTEXT "Alegeți limba ce corespunde cu limba aplicațiilor ne-Unicode pe care doriți să le utilizați:", -1, 14, 55, 223, 18
GROUPBOX "Tabele de conversie cod-pagină", -1, 5, 101, 234, 88

View File

@@ -8,7 +8,7 @@ BEGIN
GROUPBOX "Языковые стандарты и форматы", -1, 5, 5, 234, 162
LTEXT "Этот параметр влияет на способ отображения некоторыми программами чисел, денежных сумм, дат и времени.", -1, 14, 17, 220, 25
LTEXT "Выберите элемент из списка или нажмите кнопку ""Настройка"" для того, чтобы задать форматы самостоятельно:", -1, 14, 37, 220, 22
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
PUSHBUTTON "Настро&йка...", IDC_SETUP_BUTTON, 178, 56, 52, 13
LTEXT "Образцы", -1, 14, 73, 70, 10
LTEXT "Число:", -1, 16, 86, 48, 10
@@ -23,7 +23,7 @@ BEGIN
EDITTEXT IDC_FULLTIMESAMPLE_EDIT, 89, 146, 140, 12, ES_READONLY | WS_CHILD | WS_VISIBLE | WS_GROUP | NOT WS_TABSTOP
GROUPBOX "Расположение", -1, 5, 171, 234, 55
LTEXT "&Укажите ваше расположение для того, чтобы службы могли снабжать вас местной информацией, например, новостями и сводками погоды:", -1, 14, 180, 217, 24
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
END
IDD_LANGUAGESPAGE DIALOGEX 0, 0, 246, 230
@@ -46,7 +46,7 @@ CAPTION "Дополнительно"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Язык программ, не поддерживающих Юникод", -1, 5, 5, 234, 90
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
LTEXT "Этот параметр позволяет программам, не поддерживающим Юникод, отображать меню и диалоги на своем языке. Он не влияет на Юникод-совместимые программы, но применяется для всех пользователей этого компьютера.", -1, 14, 18, 223, 33
LTEXT "Выберите язык, соответствующий языку используемых программ, которые не поддерживают Юникод:", -1, 14, 55, 223, 18
GROUPBOX "Кодовые страницы таблиц преобразования", -1, 5, 101, 234, 88

View File

@@ -13,7 +13,7 @@ BEGIN
GROUPBOX "Štandardy a formáty", -1, 5, 5, 234, 159
LTEXT "Táto možnosť ovplyvňuje spôsob, ktorým niektoré programy formátujú čísla, meny, dátumy a čas.", -1, 14, 17, 220, 17
LTEXT "Vyb&erte položku vyhovujúcu svojim požiadavkám, alebo kliknite na tlačidlo Prispôsobiť a vyberte svoj vlastný formát:", -1, 14, 37, 220, 18
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
PUSHBUTTON "&Prispôsobiť...", IDC_SETUP_BUTTON, 178, 56, 52, 13
LTEXT "Ukážky", -1, 14, 73, 70, 10
LTEXT "Číslo:", -1, 16, 86, 48, 10
@@ -28,7 +28,7 @@ BEGIN
EDITTEXT IDC_FULLTIMESAMPLE_EDIT, 89, 146, 140, 12, ES_READONLY | WS_CHILD | WS_VISIBLE | WS_GROUP | NOT WS_TABSTOP
GROUPBOX "Umiestnenie", -1, 5, 168, 234, 59
LTEXT "&Vyberte svoje aktuálne umiestnenie, aby vám rôzne služby mohli poskytovať miestne informácie, napríklad správy alebo predpovede počasia.", -1, 14, 179, 210, 26
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
END
IDD_LANGUAGESPAGE DIALOGEX 0, 0, 246, 230
@@ -51,7 +51,7 @@ CAPTION "Rozšírené nastavenia"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Jazyk pre programy bez podpory kódovania Unicode", -1, 5, 5, 234, 90
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
LTEXT "Toto systémové nastavenie umožňuje, aby mohli programy bez podpory kódovania Unicode zobrazovať ponuky a dialógové okná v rodnom jazyku. Neovplyvňuje programy s kódovaním Unicode, ale vzťahuje sa na všetkých používateľov tohto počítača.", -1, 14, 18, 223, 33
LTEXT "Vyberte jazyk zodpovedajúci jazykovej verzii príslušných programov bez podpory kódovania &Unicode:", -1, 14, 55, 223, 18
GROUPBOX "&Tabuľky na konverziu kódových stránok", -1, 5, 101, 234, 88

View File

@@ -12,7 +12,7 @@ BEGIN
GROUPBOX "Standarte dhe formatet", -1, 5, 5, 234, 162
LTEXT "Ky opsion ndikon se si disa programe format numrash, monedhat, datat, dhe koha.", -1, 14, 17, 220, 25
LTEXT "Përzgjidhni një objekt që të shkojë me pronat e saj, ose kliko modifiko për të zgjedhur vetë formatet tuaja:", -1, 14, 37, 220, 22
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
PUSHBUTTON "Modifik&o...", IDC_SETUP_BUTTON, 178, 56, 52, 13
LTEXT "Shembuj", -1, 14, 73, 70, 10
LTEXT "Numer:", -1, 16, 86, 48, 10
@@ -27,7 +27,7 @@ BEGIN
EDITTEXT IDC_FULLTIMESAMPLE_EDIT, 89, 146, 140, 12, ES_READONLY | WS_CHILD | WS_VISIBLE | WS_GROUP | NOT WS_TABSTOP
GROUPBOX "Pozita gjeografike", -1, 5, 172, 234, 55
LTEXT "Vendosni vendndodhjen tuaj në mënyrë që disa shërbime mund të furnizojnë me informacione lokale, për shembull, raportet lajme dhe moti.", -1, 14, 184, 210, 24
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
END
IDD_LANGUAGESPAGE DIALOGEX 0, 0, 246, 230
@@ -50,7 +50,7 @@ CAPTION "Avancuar"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Gjuhë për programe jo-Unicode", -1, 5, 5, 234, 90
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
LTEXT "Ky sistem mundëson vendosjen programet jo-Unicode për të shfaqur menutë dhe dialogun në gjuhën e tyre amtare. Kjo nuk ndikon programe Unicode, por kjo vlen për të gjithë përdoruesit e këtij kompjuteri.", -1, 14, 18, 223, 33
LTEXT "Zgjidhni një gjuhë që të përputhet me Versionin e gjuhës së programeve jo-Unicode që ju doni të përdorni përdorni:", -1, 14, 55, 223, 18
GROUPBOX "Tabela konvertimit dhe kodet e faqeve ", -1, 5, 101, 234, 88

View File

@@ -10,7 +10,7 @@ BEGIN
GROUPBOX "Ölçünler ve Biçimler", -1, 5, 5, 234, 162
LTEXT "Bu seçenek, birtakım izlencelerin sayı, para birimi, târih ve saat biçimlerini etkiler.", -1, 14, 17, 220, 25
LTEXT "Husûsiyetleri karşılaştırmak için bir öğe seçiniz veyâ kendi biçiminizi seçmek için Husûsileştir'e tıklayınız.", -1, 14, 37, 220, 22
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
PUSHBUTTON "&Husûsileştir...", IDC_SETUP_BUTTON, 178, 56, 52, 13
LTEXT "Örnekler", -1, 14, 73, 70, 10
LTEXT "Sayı:", -1, 16, 86, 48, 10
@@ -25,7 +25,7 @@ BEGIN
EDITTEXT IDC_FULLTIMESAMPLE_EDIT, 89, 146, 140, 12, ES_READONLY | WS_CHILD | WS_VISIBLE | WS_GROUP | NOT WS_TABSTOP
GROUPBOX "Coğrâfî Konum", -1, 5, 172, 234, 55
LTEXT "Konumunuzu belirleyiniz, böylece birtakım hizmetler size haberler ve hava durumları gibi yerli bilgiler sağlayabilir.", -1, 14, 184, 210, 24
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
END
IDD_LANGUAGESPAGE DIALOGEX 0, 0, 246, 230
@@ -48,7 +48,7 @@ CAPTION "Gelişmiş"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Evrenlik Kodlu Olmayan İzlenceler İçin Dil", -1, 5, 5, 234, 90
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
LTEXT "Bu dizge ayârı, Evrenlik Kodlu olmayan izlenceleri, kendi dillerinde seçkeleri ve iletişim pencerelerini görüntülemeyle etkinleştirir. Evrenlik Kodlu izlenceleri etkilemez ancak bu bilgisayarın tüm kullanıcılarına uygular.", -1, 14, 18, 223, 33
LTEXT "&Kullanmak istediğiniz Evrenlik Kodlu olmayan izlencelerin dil sürümünü karşılaştırmak için bir dil seçiniz:", -1, 14, 55, 223, 18
GROUPBOX "Kod Sayfası Dönüştürme Çizelgesi", -1, 5, 101, 234, 88

View File

@@ -16,7 +16,7 @@ BEGIN
GROUPBOX "Мовні стандарти й формати", -1, 5, 5, 234, 162
LTEXT "Цей параметр впливає на відображення чисел, грошових сум, дати й часу в деяких програмах.", -1, 14, 17, 220, 25
LTEXT "&Виберіть зі списку найбільш прийнятний елемент або натисніть кнопку ""Налаштування"", щоб указати формати самостійно:", -1, 14, 37, 220, 22
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
PUSHBUTTON "Налашту&вання...", IDC_SETUP_BUTTON, 175, 56, 60, 13
LTEXT "Зразки", -1, 14, 73, 70, 10
LTEXT "Число:", -1, 16, 86, 48, 10
@@ -31,7 +31,7 @@ BEGIN
EDITTEXT IDC_FULLTIMESAMPLE_EDIT, 89, 146, 140, 12, ES_READONLY | WS_CHILD | WS_VISIBLE | WS_GROUP | NOT WS_TABSTOP
GROUPBOX "Географічне розташування", -1, 5, 171, 234, 55
LTEXT "Укажіть ваше поточне розташування, щоб служби могли надавати вам місцеву інформацію, наприклад, новини та прогноз погоди", -1, 14, 180, 215, 24
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
END
IDD_LANGUAGESPAGE DIALOGEX 0, 0, 246, 230
@@ -54,7 +54,7 @@ CAPTION "Додатково"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Мова програм, які не підтримують Юнікод", -1, 5, 5, 234, 90
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
LTEXT "Цей системний параметр дає змогу програмам, які не підтримують Юнікод, показувати меню та діалоги рідною мовою. Він не впливає на програми з підтримкою Юнікоду, але застосовується до всіх користувачів цього комп'ютера.", -1, 14, 18, 223, 33
LTEXT "Виберіть мову, яка відповідає мовній версії бажаних програм без підтримки Юнікоду.", -1, 14, 55, 223, 18
GROUPBOX "Таблиці перетворення кодових сторінок", -1, 5, 101, 234, 88

View File

@@ -11,7 +11,7 @@ BEGIN
GROUPBOX "标准和格式", -1, 5, 5, 234, 162
LTEXT "这个选项将会影响一些程序的数字、货币、日期和时间格式。", -1, 14, 17, 220, 25
LTEXT "选择一个与其首选项匹配的项或单击“自定义”选择您自己的格式(&S):", -1, 14, 37, 220, 22
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
PUSHBUTTON "自定义(&Z)...", IDC_SETUP_BUTTON, 178, 56, 52, 13
LTEXT "示例", -1, 14, 73, 70, 10
LTEXT "数字:", -1, 16, 86, 48, 10
@@ -26,7 +26,7 @@ BEGIN
EDITTEXT IDC_FULLTIMESAMPLE_EDIT, 89, 146, 140, 12, ES_READONLY | WS_CHILD | WS_VISIBLE | WS_GROUP | NOT WS_TABSTOP
GROUPBOX "位置", -1, 5, 172, 234, 55
LTEXT "为了便于为您提供当地信息如新闻和天气,请选择您的所在地(&T):", -1, 14, 184, 210, 24
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
END
IDD_LANGUAGESPAGE DIALOGEX 0, 0, 246, 230
@@ -49,7 +49,7 @@ CAPTION "高级"
FONT 9, "宋体"
BEGIN
GROUPBOX "非 Unicode 程序的语言", -1, 5, 5, 234, 90
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
LTEXT "这个设置启动某些非 Unicode 程序以便用母语显示菜单和对话。这不会影响到 Unicode 的程序,但是会应用在这台计算机上的所有用户。", -1, 14, 18, 223, 33
LTEXT "选择一种语言,使之与您想使用的非 Unicode 程序的语言版本相匹配(&S):", -1, 14, 55, 223, 18
GROUPBOX "代码页转换表(&C)", -1, 5, 101, 234, 88

View File

@@ -11,7 +11,7 @@ BEGIN
GROUPBOX "標準和格式", -1, 5, 5, 234, 162
LTEXT "這個選項將會影響一些程式的數字、貨幣、日期和時間格式。", -1, 14, 17, 220, 25
LTEXT "選擇一個與其首選項匹配的項或點選 [自訂] 選擇您自己的格式(&S):", -1, 14, 37, 220, 22
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
COMBOBOX IDC_LANGUAGELIST, 14, 56, 160, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
PUSHBUTTON "自訂(&Z)...", IDC_SETUP_BUTTON, 178, 56, 52, 13
LTEXT "示例", -1, 14, 73, 70, 10
LTEXT "數字:", -1, 16, 86, 48, 10
@@ -26,7 +26,7 @@ BEGIN
EDITTEXT IDC_FULLTIMESAMPLE_EDIT, 89, 146, 140, 12, ES_READONLY | WS_CHILD | WS_VISIBLE | WS_GROUP | NOT WS_TABSTOP
GROUPBOX "位置", -1, 5, 172, 234, 55
LTEXT "為了便於為您提供當地資訊如新聞和天氣,請選擇您的所在地(&T):", -1, 14, 184, 210, 24
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LOCATION_COMBO, 14, 207, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
END
IDD_LANGUAGESPAGE DIALOGEX 0, 0, 246, 230
@@ -49,7 +49,7 @@ CAPTION "進階"
FONT 9, "新細明體"
BEGIN
GROUPBOX "非 Unicode 程式的語言", -1, 5, 5, 234, 90
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
COMBOBOX IDC_LANGUAGE_COMBO, 14, 75, 217, 160, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT
LTEXT "這個設定啟動某些非 Unicode 程式以便用母語顯示選單和對話。這不會影響到 Unicode 的程式,但是會應用在這部電腦上的所有使用者。", -1, 14, 18, 223, 33
LTEXT "選擇一種語言,使之與您想使用的非 Unicode 程式的語言版本相匹配(&S):", -1, 14, 55, 223, 18
GROUPBOX "內碼表轉換表(&C)", -1, 5, 101, 234, 88

View File

@@ -19,7 +19,7 @@ list(APPEND SOURCE
volume.c
precomp.h)
add_library(d3d8 MODULE
add_library(d3d8 SHARED
${SOURCE}
guid.c
version.rc

View File

@@ -166,11 +166,10 @@ struct d3d8_swapchain
LONG refcount;
struct wined3d_swapchain *wined3d_swapchain;
IDirect3DDevice8 *parent_device;
unsigned int swap_interval;
};
HRESULT d3d8_swapchain_create(struct d3d8_device *device, struct wined3d_swapchain_desc *desc,
unsigned int swap_interval, struct d3d8_swapchain **swapchain) DECLSPEC_HIDDEN;
struct d3d8_swapchain **swapchain) DECLSPEC_HIDDEN;
struct d3d8_surface
{

View File

@@ -209,7 +209,7 @@ static D3DSWAPEFFECT d3dswapeffect_from_wined3dswapeffect(enum wined3d_swap_effe
}
static void present_parameters_from_wined3d_swapchain_desc(D3DPRESENT_PARAMETERS *present_parameters,
const struct wined3d_swapchain_desc *swapchain_desc, DWORD presentation_interval)
const struct wined3d_swapchain_desc *swapchain_desc)
{
present_parameters->BackBufferWidth = swapchain_desc->backbuffer_width;
present_parameters->BackBufferHeight = swapchain_desc->backbuffer_height;
@@ -224,7 +224,7 @@ static void present_parameters_from_wined3d_swapchain_desc(D3DPRESENT_PARAMETERS
= d3dformat_from_wined3dformat(swapchain_desc->auto_depth_stencil_format);
present_parameters->Flags = swapchain_desc->flags & D3DPRESENTFLAGS_MASK;
present_parameters->FullScreen_RefreshRateInHz = swapchain_desc->refresh_rate;
present_parameters->FullScreen_PresentationInterval = presentation_interval;
present_parameters->FullScreen_PresentationInterval = swapchain_desc->swap_interval;
}
static enum wined3d_swap_effect wined3dswapeffect_from_d3dswapeffect(D3DSWAPEFFECT effect)
@@ -245,27 +245,6 @@ static enum wined3d_swap_effect wined3dswapeffect_from_d3dswapeffect(D3DSWAPEFFE
}
}
static enum wined3d_swap_interval wined3dswapinterval_from_d3d(DWORD interval)
{
switch (interval)
{
case D3DPRESENT_INTERVAL_IMMEDIATE:
return WINED3D_SWAP_INTERVAL_IMMEDIATE;
case D3DPRESENT_INTERVAL_ONE:
return WINED3D_SWAP_INTERVAL_ONE;
case D3DPRESENT_INTERVAL_TWO:
return WINED3D_SWAP_INTERVAL_TWO;
case D3DPRESENT_INTERVAL_THREE:
return WINED3D_SWAP_INTERVAL_THREE;
case D3DPRESENT_INTERVAL_FOUR:
return WINED3D_SWAP_INTERVAL_FOUR;
default:
FIXME("Unhandled presentation interval %#x.\n", interval);
case D3DPRESENT_INTERVAL_DEFAULT:
return WINED3D_SWAP_INTERVAL_DEFAULT;
}
}
static BOOL wined3d_swapchain_desc_from_present_parameters(struct wined3d_swapchain_desc *swapchain_desc,
const D3DPRESENT_PARAMETERS *present_parameters)
{
@@ -282,20 +261,6 @@ static BOOL wined3d_swapchain_desc_from_present_parameters(struct wined3d_swapch
WARN("Invalid backbuffer count %u.\n", present_parameters->BackBufferCount);
return FALSE;
}
switch (present_parameters->FullScreen_PresentationInterval)
{
case D3DPRESENT_INTERVAL_DEFAULT:
case D3DPRESENT_INTERVAL_ONE:
case D3DPRESENT_INTERVAL_TWO:
case D3DPRESENT_INTERVAL_THREE:
case D3DPRESENT_INTERVAL_FOUR:
case D3DPRESENT_INTERVAL_IMMEDIATE:
break;
default:
WARN("Invalid presentation interval %#x.\n",
present_parameters->FullScreen_PresentationInterval);
return FALSE;
}
swapchain_desc->backbuffer_width = present_parameters->BackBufferWidth;
swapchain_desc->backbuffer_height = present_parameters->BackBufferHeight;
@@ -313,6 +278,7 @@ static BOOL wined3d_swapchain_desc_from_present_parameters(struct wined3d_swapch
swapchain_desc->flags
= (present_parameters->Flags & D3DPRESENTFLAGS_MASK) | WINED3D_SWAPCHAIN_ALLOW_MODE_SWITCH;
swapchain_desc->refresh_rate = present_parameters->FullScreen_RefreshRateInHz;
swapchain_desc->swap_interval = present_parameters->FullScreen_PresentationInterval;
swapchain_desc->auto_restore_display_mode = TRUE;
if (present_parameters->Flags & ~D3DPRESENTFLAGS_MASK)
@@ -328,7 +294,7 @@ void d3dcaps_from_wined3dcaps(D3DCAPS8 *caps, const WINED3DCAPS *wined3d_caps)
caps->Caps = wined3d_caps->Caps;
caps->Caps2 = wined3d_caps->Caps2;
caps->Caps3 = wined3d_caps->Caps3;
caps->PresentationIntervals = D3DPRESENT_INTERVAL_IMMEDIATE | D3DPRESENT_INTERVAL_ONE;
caps->PresentationIntervals = wined3d_caps->PresentationIntervals;
caps->CursorCaps = wined3d_caps->CursorCaps;
caps->DevCaps = wined3d_caps->DevCaps;
caps->PrimitiveMiscCaps = wined3d_caps->PrimitiveMiscCaps;
@@ -377,57 +343,6 @@ void d3dcaps_from_wined3dcaps(D3DCAPS8 *caps, const WINED3DCAPS *wined3d_caps)
caps->PixelShaderVersion = wined3d_caps->PixelShaderVersion;
caps->MaxPixelShaderValue = wined3d_caps->PixelShader1xMaxValue;
caps->Caps2 &= D3DCAPS2_CANCALIBRATEGAMMA | D3DCAPS2_CANRENDERWINDOWED
| D3DCAPS2_CANMANAGERESOURCE | D3DCAPS2_DYNAMICTEXTURES | D3DCAPS2_FULLSCREENGAMMA
| D3DCAPS2_NO2DDURING3DSCENE | D3DCAPS2_RESERVED;
caps->Caps3 &= D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD | D3DCAPS3_RESERVED;
caps->PrimitiveMiscCaps &= D3DPMISCCAPS_MASKZ | D3DPMISCCAPS_LINEPATTERNREP
| D3DPMISCCAPS_CULLNONE | D3DPMISCCAPS_CULLCW | D3DPMISCCAPS_CULLCCW
| D3DPMISCCAPS_COLORWRITEENABLE | D3DPMISCCAPS_CLIPPLANESCALEDPOINTS
| D3DPMISCCAPS_CLIPTLVERTS | D3DPMISCCAPS_TSSARGTEMP | D3DPMISCCAPS_BLENDOP
| D3DPMISCCAPS_NULLREFERENCE;
caps->RasterCaps &= D3DPRASTERCAPS_DITHER | D3DPRASTERCAPS_PAT | D3DPRASTERCAPS_ZTEST
| D3DPRASTERCAPS_FOGVERTEX | D3DPRASTERCAPS_FOGTABLE | D3DPRASTERCAPS_ANTIALIASEDGES
| D3DPRASTERCAPS_MIPMAPLODBIAS | D3DPRASTERCAPS_ZBIAS | D3DPRASTERCAPS_ZBUFFERLESSHSR
| D3DPRASTERCAPS_FOGRANGE | D3DPRASTERCAPS_ANISOTROPY | D3DPRASTERCAPS_WBUFFER
| D3DPRASTERCAPS_WFOG | D3DPRASTERCAPS_ZFOG | D3DPRASTERCAPS_COLORPERSPECTIVE
| D3DPRASTERCAPS_STRETCHBLTMULTISAMPLE;
caps->SrcBlendCaps &= D3DPBLENDCAPS_ZERO | D3DPBLENDCAPS_ONE | D3DPBLENDCAPS_SRCCOLOR
| D3DPBLENDCAPS_INVSRCCOLOR | D3DPBLENDCAPS_SRCALPHA | D3DPBLENDCAPS_INVSRCALPHA
| D3DPBLENDCAPS_DESTALPHA | D3DPBLENDCAPS_INVDESTALPHA | D3DPBLENDCAPS_DESTCOLOR
| D3DPBLENDCAPS_INVDESTCOLOR | D3DPBLENDCAPS_SRCALPHASAT | D3DPBLENDCAPS_BOTHSRCALPHA
| D3DPBLENDCAPS_BOTHINVSRCALPHA;
caps->DestBlendCaps &= D3DPBLENDCAPS_ZERO | D3DPBLENDCAPS_ONE | D3DPBLENDCAPS_SRCCOLOR
| D3DPBLENDCAPS_INVSRCCOLOR | D3DPBLENDCAPS_SRCALPHA | D3DPBLENDCAPS_INVSRCALPHA
| D3DPBLENDCAPS_DESTALPHA | D3DPBLENDCAPS_INVDESTALPHA | D3DPBLENDCAPS_DESTCOLOR
| D3DPBLENDCAPS_INVDESTCOLOR | D3DPBLENDCAPS_SRCALPHASAT | D3DPBLENDCAPS_BOTHSRCALPHA
| D3DPBLENDCAPS_BOTHINVSRCALPHA;
caps->TextureCaps &= D3DPTEXTURECAPS_PERSPECTIVE | D3DPTEXTURECAPS_POW2 | D3DPTEXTURECAPS_ALPHA
| D3DPTEXTURECAPS_SQUAREONLY | D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE
| D3DPTEXTURECAPS_ALPHAPALETTE | D3DPTEXTURECAPS_NONPOW2CONDITIONAL
| D3DPTEXTURECAPS_PROJECTED | D3DPTEXTURECAPS_CUBEMAP | D3DPTEXTURECAPS_VOLUMEMAP
| D3DPTEXTURECAPS_MIPMAP | D3DPTEXTURECAPS_MIPVOLUMEMAP | D3DPTEXTURECAPS_MIPCUBEMAP
| D3DPTEXTURECAPS_CUBEMAP_POW2 | D3DPTEXTURECAPS_VOLUMEMAP_POW2;
caps->TextureFilterCaps &= D3DPTFILTERCAPS_MINFPOINT | D3DPTFILTERCAPS_MINFLINEAR
| D3DPTFILTERCAPS_MINFANISOTROPIC | D3DPTFILTERCAPS_MIPFPOINT
| D3DPTFILTERCAPS_MIPFLINEAR | D3DPTFILTERCAPS_MAGFPOINT | D3DPTFILTERCAPS_MAGFLINEAR
| D3DPTFILTERCAPS_MAGFANISOTROPIC | D3DPTFILTERCAPS_MAGFAFLATCUBIC
| D3DPTFILTERCAPS_MAGFGAUSSIANCUBIC;
caps->CubeTextureFilterCaps &= D3DPTFILTERCAPS_MINFPOINT | D3DPTFILTERCAPS_MINFLINEAR
| D3DPTFILTERCAPS_MINFANISOTROPIC | D3DPTFILTERCAPS_MIPFPOINT
| D3DPTFILTERCAPS_MIPFLINEAR | D3DPTFILTERCAPS_MAGFPOINT | D3DPTFILTERCAPS_MAGFLINEAR
| D3DPTFILTERCAPS_MAGFANISOTROPIC | D3DPTFILTERCAPS_MAGFAFLATCUBIC
| D3DPTFILTERCAPS_MAGFGAUSSIANCUBIC;
caps->VolumeTextureFilterCaps &= D3DPTFILTERCAPS_MINFPOINT | D3DPTFILTERCAPS_MINFLINEAR
| D3DPTFILTERCAPS_MINFANISOTROPIC | D3DPTFILTERCAPS_MIPFPOINT
| D3DPTFILTERCAPS_MIPFLINEAR | D3DPTFILTERCAPS_MAGFPOINT | D3DPTFILTERCAPS_MAGFLINEAR
| D3DPTFILTERCAPS_MAGFANISOTROPIC | D3DPTFILTERCAPS_MAGFAFLATCUBIC
| D3DPTFILTERCAPS_MAGFGAUSSIANCUBIC;
caps->StencilCaps &= ~WINED3DSTENCILCAPS_TWOSIDED;
caps->VertexProcessingCaps &= D3DVTXPCAPS_TEXGEN | D3DVTXPCAPS_MATERIALSOURCE7
| D3DVTXPCAPS_DIRECTIONALLIGHTS | D3DVTXPCAPS_POSITIONALLIGHTS | D3DVTXPCAPS_LOCALVIEWER
| D3DVTXPCAPS_TWEENING | D3DVTXPCAPS_NO_VSDT_UBYTE4;
/* D3D8 doesn't support SM 2.0 or higher, so clamp to 1.x */
if (caps->PixelShaderVersion)
caps->PixelShaderVersion = D3DPS_VERSION(1, 4);
@@ -438,6 +353,8 @@ void d3dcaps_from_wined3dcaps(D3DCAPS8 *caps, const WINED3DCAPS *wined3d_caps)
else
caps->VertexShaderVersion = D3DVS_VERSION(0, 0);
caps->MaxVertexShaderConst = min(D3D8_MAX_VERTEX_SHADER_CONSTANTF, caps->MaxVertexShaderConst);
caps->StencilCaps &= ~WINED3DSTENCILCAPS_TWOSIDED;
}
/* Handle table functions */
@@ -781,8 +698,7 @@ static HRESULT WINAPI d3d8_device_CreateAdditionalSwapChain(IDirect3DDevice8 *if
struct d3d8_device *device = impl_from_IDirect3DDevice8(iface);
struct wined3d_swapchain_desc desc;
struct d3d8_swapchain *object;
unsigned int swap_interval;
unsigned int i, count;
UINT i, count;
HRESULT hr;
TRACE("iface %p, present_parameters %p, swapchain %p.\n",
@@ -814,11 +730,9 @@ static HRESULT WINAPI d3d8_device_CreateAdditionalSwapChain(IDirect3DDevice8 *if
if (!wined3d_swapchain_desc_from_present_parameters(&desc, present_parameters))
return D3DERR_INVALIDCALL;
swap_interval = wined3dswapinterval_from_d3d(present_parameters->FullScreen_PresentationInterval);
if (SUCCEEDED(hr = d3d8_swapchain_create(device, &desc, swap_interval, &object)))
if (SUCCEEDED(hr = d3d8_swapchain_create(device, &desc, &object)))
*swapchain = &object->IDirect3DSwapChain8_iface;
present_parameters_from_wined3d_swapchain_desc(present_parameters,
&desc, present_parameters->FullScreen_PresentationInterval);
present_parameters_from_wined3d_swapchain_desc(present_parameters, &desc);
return hr;
}
@@ -892,8 +806,6 @@ static HRESULT WINAPI d3d8_device_Reset(IDirect3DDevice8 *iface,
NULL, reset_enum_callback, TRUE)))
{
present_parameters->BackBufferCount = swapchain_desc.backbuffer_count;
device->implicit_swapchain->swap_interval
= wined3dswapinterval_from_d3d(present_parameters->FullScreen_PresentationInterval);
wined3d_device_set_render_state(device->wined3d_device, WINED3D_RS_POINTSIZE_MIN, 0);
wined3d_device_set_render_state(device->wined3d_device, WINED3D_RS_ZENABLE,
!!swapchain_desc.enable_auto_depth_stencil);
@@ -1619,30 +1531,10 @@ static HRESULT WINAPI d3d8_device_MultiplyTransform(IDirect3DDevice8 *iface,
static HRESULT WINAPI d3d8_device_SetViewport(IDirect3DDevice8 *iface, const D3DVIEWPORT8 *viewport)
{
struct d3d8_device *device = impl_from_IDirect3DDevice8(iface);
struct wined3d_sub_resource_desc rt_desc;
struct wined3d_rendertarget_view *rtv;
struct d3d8_surface *surface;
struct wined3d_viewport vp;
TRACE("iface %p, viewport %p.\n", iface, viewport);
wined3d_mutex_lock();
if (!(rtv = wined3d_device_get_rendertarget_view(device->wined3d_device, 0)))
{
wined3d_mutex_unlock();
return D3DERR_NOTFOUND;
}
surface = wined3d_rendertarget_view_get_sub_resource_parent(rtv);
wined3d_texture_get_sub_resource_desc(surface->wined3d_texture, surface->sub_resource_idx, &rt_desc);
if (viewport->X > rt_desc.width || viewport->Width > rt_desc.width - viewport->X
|| viewport->Y > rt_desc.height || viewport->Height > rt_desc.height - viewport->Y)
{
WARN("Invalid viewport, returning D3DERR_INVALIDCALL.\n");
wined3d_mutex_unlock();
return D3DERR_INVALIDCALL;
}
vp.x = viewport->X;
vp.y = viewport->Y;
vp.width = viewport->Width;
@@ -1650,7 +1542,8 @@ static HRESULT WINAPI d3d8_device_SetViewport(IDirect3DDevice8 *iface, const D3D
vp.min_z = viewport->MinZ;
vp.max_z = viewport->MaxZ;
wined3d_device_set_viewports(device->wined3d_device, 1, &vp);
wined3d_mutex_lock();
wined3d_device_set_viewport(device->wined3d_device, &vp);
wined3d_mutex_unlock();
return D3D_OK;
@@ -1664,7 +1557,7 @@ static HRESULT WINAPI d3d8_device_GetViewport(IDirect3DDevice8 *iface, D3DVIEWPO
TRACE("iface %p, viewport %p.\n", iface, viewport);
wined3d_mutex_lock();
wined3d_device_get_viewports(device->wined3d_device, NULL, &wined3d_viewport);
wined3d_device_get_viewport(device->wined3d_device, &wined3d_viewport);
wined3d_mutex_unlock();
viewport->X = wined3d_viewport.x;
@@ -2187,11 +2080,9 @@ static HRESULT WINAPI d3d8_device_ValidateDevice(IDirect3DDevice8 *iface, DWORD
static HRESULT WINAPI d3d8_device_GetInfo(IDirect3DDevice8 *iface,
DWORD info_id, void *info, DWORD info_size)
{
TRACE("iface %p, info_id %#x, info %p, info_size %u.\n", iface, info_id, info, info_size);
FIXME("iface %p, info_id %#x, info %p, info_size %u stub!\n", iface, info_id, info, info_size);
if (info_id < 4)
return E_FAIL;
return S_FALSE;
return D3D_OK;
}
static HRESULT WINAPI d3d8_device_SetPaletteEntries(IDirect3DDevice8 *iface,
@@ -3271,40 +3162,40 @@ static void CDECL device_parent_activate(struct wined3d_device_parent *device_pa
InterlockedCompareExchange(&device->device_state, D3D8_DEVICE_STATE_NOT_RESET, D3D8_DEVICE_STATE_LOST);
}
static HRESULT CDECL device_parent_texture_sub_resource_created(struct wined3d_device_parent *device_parent,
enum wined3d_resource_type type, struct wined3d_texture *wined3d_texture, unsigned int sub_resource_idx,
static HRESULT CDECL device_parent_surface_created(struct wined3d_device_parent *device_parent,
struct wined3d_texture *wined3d_texture, unsigned int sub_resource_idx,
void **parent, const struct wined3d_parent_ops **parent_ops)
{
TRACE("device_parent %p, type %#x, wined3d_texture %p, sub_resource_idx %u, parent %p, parent_ops %p.\n",
device_parent, type, wined3d_texture, sub_resource_idx, parent, parent_ops);
struct d3d8_surface *d3d_surface;
if (type == WINED3D_RTYPE_TEXTURE_2D)
{
struct d3d8_surface *d3d_surface;
TRACE("device_parent %p, wined3d_texture %p, sub_resource_idx %u, parent %p, parent_ops %p.\n",
device_parent, wined3d_texture, sub_resource_idx, parent, parent_ops);
if (!(d3d_surface = heap_alloc_zero(sizeof(*d3d_surface))))
return E_OUTOFMEMORY;
if (!(d3d_surface = heap_alloc_zero(sizeof(*d3d_surface))))
return E_OUTOFMEMORY;
surface_init(d3d_surface, wined3d_texture, sub_resource_idx, parent_ops);
*parent = d3d_surface;
TRACE("Created surface %p.\n", d3d_surface);
}
else if (type == WINED3D_RTYPE_TEXTURE_3D)
{
struct d3d8_volume *d3d_volume;
surface_init(d3d_surface, wined3d_texture, sub_resource_idx, parent_ops);
*parent = d3d_surface;
TRACE("Created surface %p.\n", d3d_surface);
if (!(d3d_volume = heap_alloc_zero(sizeof(*d3d_volume))))
return E_OUTOFMEMORY;
return D3D_OK;
}
volume_init(d3d_volume, wined3d_texture, sub_resource_idx, parent_ops);
*parent = d3d_volume;
TRACE("Created volume %p.\n", d3d_volume);
}
else
{
ERR("Unhandled resource type %#x.\n", type);
return E_FAIL;
}
static HRESULT CDECL device_parent_volume_created(struct wined3d_device_parent *device_parent,
struct wined3d_texture *wined3d_texture, unsigned int sub_resource_idx,
void **parent, const struct wined3d_parent_ops **parent_ops)
{
struct d3d8_volume *d3d_volume;
TRACE("device_parent %p, texture %p, sub_resource_idx %u, parent %p, parent_ops %p.\n",
device_parent, wined3d_texture, sub_resource_idx, parent, parent_ops);
if (!(d3d_volume = heap_alloc_zero(sizeof(*d3d_volume))))
return E_OUTOFMEMORY;
volume_init(d3d_volume, wined3d_texture, sub_resource_idx, parent_ops);
*parent = d3d_volume;
TRACE("Created volume %p.\n", d3d_volume);
return D3D_OK;
}
@@ -3343,7 +3234,7 @@ static HRESULT CDECL device_parent_create_swapchain(struct wined3d_device_parent
TRACE("device_parent %p, desc %p, swapchain %p.\n", device_parent, desc, swapchain);
if (FAILED(hr = d3d8_swapchain_create(device, desc, WINED3D_SWAP_INTERVAL_DEFAULT, &d3d_swapchain)))
if (FAILED(hr = d3d8_swapchain_create(device, desc, &d3d_swapchain)))
{
WARN("Failed to create swapchain, hr %#x.\n", hr);
*swapchain = NULL;
@@ -3362,7 +3253,8 @@ static const struct wined3d_device_parent_ops d3d8_wined3d_device_parent_ops =
device_parent_wined3d_device_created,
device_parent_mode_changed,
device_parent_activate,
device_parent_texture_sub_resource_created,
device_parent_surface_created,
device_parent_volume_created,
device_parent_create_swapchain_texture,
device_parent_create_swapchain,
};
@@ -3464,8 +3356,7 @@ HRESULT device_init(struct d3d8_device *device, struct d3d8 *parent, struct wine
wined3d_device_set_render_state(device->wined3d_device, WINED3D_RS_POINTSIZE_MIN, 0);
wined3d_mutex_unlock();
present_parameters_from_wined3d_swapchain_desc(parameters,
&swapchain_desc, parameters->FullScreen_PresentationInterval);
present_parameters_from_wined3d_swapchain_desc(parameters, &swapchain_desc);
device->declArraySize = 16;
if (!(device->decls = heap_alloc(device->declArraySize * sizeof(*device->decls))))
@@ -3477,8 +3368,6 @@ HRESULT device_init(struct d3d8_device *device, struct d3d8 *parent, struct wine
wined3d_swapchain = wined3d_device_get_swapchain(device->wined3d_device, 0);
device->implicit_swapchain = wined3d_swapchain_get_parent(wined3d_swapchain);
device->implicit_swapchain->swap_interval
= wined3dswapinterval_from_d3d(parameters->FullScreen_PresentationInterval);
device->d3d_parent = &parent->IDirect3D8_iface;
IDirect3D8_AddRef(device->d3d_parent);

View File

@@ -417,7 +417,7 @@ BOOL d3d8_init(struct d3d8 *d3d8)
DWORD flags = WINED3D_LEGACY_DEPTH_BIAS | WINED3D_VIDMEM_ACCOUNTING
| WINED3D_HANDLE_RESTORE | WINED3D_PIXEL_CENTER_INTEGER
| WINED3D_LEGACY_UNBOUND_RESOURCE_COLOR | WINED3D_NO_PRIMITIVE_RESTART
| WINED3D_LEGACY_CUBEMAP_FILTERING;
| WINED3D_LEGACY_CUBEMAP_FILTERING | WINED3D_LIMIT_VIEWPORT;
d3d8->IDirect3D8_iface.lpVtbl = &d3d8_vtbl;
d3d8->refcount = 1;

View File

@@ -105,7 +105,7 @@ static HRESULT WINAPI DECLSPEC_HOTPATCH d3d8_swapchain_Present(IDirect3DSwapChai
wined3d_mutex_lock();
hr = wined3d_swapchain_present(swapchain->wined3d_swapchain,
src_rect, dst_rect, dst_window_override, swapchain->swap_interval, 0);
src_rect, dst_rect, dst_window_override, 0, 0);
wined3d_mutex_unlock();
return hr;
@@ -167,13 +167,12 @@ static const struct wined3d_parent_ops d3d8_swapchain_wined3d_parent_ops =
};
static HRESULT swapchain_init(struct d3d8_swapchain *swapchain, struct d3d8_device *device,
struct wined3d_swapchain_desc *desc, unsigned int swap_interval)
struct wined3d_swapchain_desc *desc)
{
HRESULT hr;
swapchain->refcount = 1;
swapchain->IDirect3DSwapChain8_iface.lpVtbl = &d3d8_swapchain_vtbl;
swapchain->swap_interval = swap_interval;
wined3d_mutex_lock();
hr = wined3d_swapchain_create(device->wined3d_device, desc, swapchain,
@@ -193,7 +192,7 @@ static HRESULT swapchain_init(struct d3d8_swapchain *swapchain, struct d3d8_devi
}
HRESULT d3d8_swapchain_create(struct d3d8_device *device, struct wined3d_swapchain_desc *desc,
unsigned int swap_interval, struct d3d8_swapchain **swapchain)
struct d3d8_swapchain **swapchain)
{
struct d3d8_swapchain *object;
HRESULT hr;
@@ -201,7 +200,7 @@ HRESULT d3d8_swapchain_create(struct d3d8_device *device, struct wined3d_swapcha
if (!(object = heap_alloc_zero(sizeof(*object))))
return E_OUTOFMEMORY;
if (FAILED(hr = swapchain_init(object, device, desc, swap_interval)))
if (FAILED(hr = swapchain_init(object, device, desc)))
{
WARN("Failed to initialize swapchain, hr %#x.\n", hr);
heap_free(object);

View File

@@ -21,7 +21,7 @@ list(APPEND SOURCE
volume.c
precomp.h)
add_library(d3d9 MODULE
add_library(d3d9 SHARED
${SOURCE}
guid.c
version.rc

View File

@@ -55,7 +55,7 @@ BOOL is_gdi_compat_wined3dformat(enum wined3d_format_id format) DECLSPEC_HIDDEN;
enum wined3d_format_id wined3dformat_from_d3dformat(D3DFORMAT format) DECLSPEC_HIDDEN;
unsigned int wined3dmapflags_from_d3dmapflags(unsigned int flags) DECLSPEC_HIDDEN;
void present_parameters_from_wined3d_swapchain_desc(D3DPRESENT_PARAMETERS *present_parameters,
const struct wined3d_swapchain_desc *swapchain_desc, DWORD presentation_interval) DECLSPEC_HIDDEN;
const struct wined3d_swapchain_desc *swapchain_desc) DECLSPEC_HIDDEN;
void d3dcaps_from_wined3dcaps(D3DCAPS9 *caps, const WINED3DCAPS *wined3d_caps) DECLSPEC_HIDDEN;
struct d3d9
@@ -99,6 +99,7 @@ struct d3d9_device
UINT index_buffer_size;
UINT index_buffer_pos;
struct d3d9_texture *textures[D3D9_MAX_TEXTURE_UNITS];
struct d3d9_surface *render_targets[D3D_MAX_SIMULTANEOUS_RENDERTARGETS];
LONG device_state;
@@ -148,11 +149,10 @@ struct d3d9_swapchain
LONG refcount;
struct wined3d_swapchain *wined3d_swapchain;
IDirect3DDevice9Ex *parent_device;
unsigned int swap_interval;
};
HRESULT d3d9_swapchain_create(struct d3d9_device *device, struct wined3d_swapchain_desc *desc,
unsigned int swap_interval, struct d3d9_swapchain **swapchain) DECLSPEC_HIDDEN;
struct d3d9_swapchain **swapchain) DECLSPEC_HIDDEN;
struct d3d9_surface
{

View File

@@ -231,7 +231,7 @@ static D3DSWAPEFFECT d3dswapeffect_from_wined3dswapeffect(enum wined3d_swap_effe
}
void present_parameters_from_wined3d_swapchain_desc(D3DPRESENT_PARAMETERS *present_parameters,
const struct wined3d_swapchain_desc *swapchain_desc, DWORD presentation_interval)
const struct wined3d_swapchain_desc *swapchain_desc)
{
present_parameters->BackBufferWidth = swapchain_desc->backbuffer_width;
present_parameters->BackBufferHeight = swapchain_desc->backbuffer_height;
@@ -247,7 +247,7 @@ void present_parameters_from_wined3d_swapchain_desc(D3DPRESENT_PARAMETERS *prese
= d3dformat_from_wined3dformat(swapchain_desc->auto_depth_stencil_format);
present_parameters->Flags = swapchain_desc->flags & D3DPRESENTFLAGS_MASK;
present_parameters->FullScreen_RefreshRateInHz = swapchain_desc->refresh_rate;
present_parameters->PresentationInterval = presentation_interval;
present_parameters->PresentationInterval = swapchain_desc->swap_interval;
}
static enum wined3d_swap_effect wined3dswapeffect_from_d3dswapeffect(D3DSWAPEFFECT effect)
@@ -270,27 +270,6 @@ static enum wined3d_swap_effect wined3dswapeffect_from_d3dswapeffect(D3DSWAPEFFE
}
}
static enum wined3d_swap_interval wined3dswapinterval_from_d3d(DWORD interval)
{
switch (interval)
{
case D3DPRESENT_INTERVAL_IMMEDIATE:
return WINED3D_SWAP_INTERVAL_IMMEDIATE;
case D3DPRESENT_INTERVAL_ONE:
return WINED3D_SWAP_INTERVAL_ONE;
case D3DPRESENT_INTERVAL_TWO:
return WINED3D_SWAP_INTERVAL_TWO;
case D3DPRESENT_INTERVAL_THREE:
return WINED3D_SWAP_INTERVAL_THREE;
case D3DPRESENT_INTERVAL_FOUR:
return WINED3D_SWAP_INTERVAL_FOUR;
default:
FIXME("Unhandled presentation interval %#x.\n", interval);
case D3DPRESENT_INTERVAL_DEFAULT:
return WINED3D_SWAP_INTERVAL_DEFAULT;
}
}
static BOOL wined3d_swapchain_desc_from_present_parameters(struct wined3d_swapchain_desc *swapchain_desc,
const D3DPRESENT_PARAMETERS *present_parameters, BOOL extended)
{
@@ -309,19 +288,6 @@ static BOOL wined3d_swapchain_desc_from_present_parameters(struct wined3d_swapch
WARN("Invalid backbuffer count %u.\n", present_parameters->BackBufferCount);
return FALSE;
}
switch (present_parameters->PresentationInterval)
{
case D3DPRESENT_INTERVAL_DEFAULT:
case D3DPRESENT_INTERVAL_ONE:
case D3DPRESENT_INTERVAL_TWO:
case D3DPRESENT_INTERVAL_THREE:
case D3DPRESENT_INTERVAL_FOUR:
case D3DPRESENT_INTERVAL_IMMEDIATE:
break;
default:
WARN("Invalid presentation interval %#x.\n", present_parameters->PresentationInterval);
return FALSE;
}
swapchain_desc->backbuffer_width = present_parameters->BackBufferWidth;
swapchain_desc->backbuffer_height = present_parameters->BackBufferHeight;
@@ -339,6 +305,7 @@ static BOOL wined3d_swapchain_desc_from_present_parameters(struct wined3d_swapch
swapchain_desc->flags
= (present_parameters->Flags & D3DPRESENTFLAGS_MASK) | WINED3D_SWAPCHAIN_ALLOW_MODE_SWITCH;
swapchain_desc->refresh_rate = present_parameters->FullScreen_RefreshRateInHz;
swapchain_desc->swap_interval = present_parameters->PresentationInterval;
swapchain_desc->auto_restore_display_mode = TRUE;
if (present_parameters->Flags & ~D3DPRESENTFLAGS_MASK)
@@ -363,7 +330,7 @@ void d3dcaps_from_wined3dcaps(D3DCAPS9 *caps, const WINED3DCAPS *wined3d_caps)
caps->Caps = wined3d_caps->Caps;
caps->Caps2 = wined3d_caps->Caps2;
caps->Caps3 = wined3d_caps->Caps3;
caps->PresentationIntervals = D3DPRESENT_INTERVAL_IMMEDIATE | D3DPRESENT_INTERVAL_ONE;
caps->PresentationIntervals = wined3d_caps->PresentationIntervals;
caps->CursorCaps = wined3d_caps->CursorCaps;
caps->DevCaps = wined3d_caps->DevCaps;
caps->PrimitiveMiscCaps = wined3d_caps->PrimitiveMiscCaps;
@@ -776,8 +743,7 @@ static HRESULT WINAPI DECLSPEC_HOTPATCH d3d9_device_CreateAdditionalSwapChain(ID
struct d3d9_device *device = impl_from_IDirect3DDevice9Ex(iface);
struct wined3d_swapchain_desc desc;
struct d3d9_swapchain *object;
unsigned int swap_interval;
unsigned int i, count;
UINT i, count;
HRESULT hr;
TRACE("iface %p, present_parameters %p, swapchain %p.\n",
@@ -810,11 +776,9 @@ static HRESULT WINAPI DECLSPEC_HOTPATCH d3d9_device_CreateAdditionalSwapChain(ID
if (!wined3d_swapchain_desc_from_present_parameters(&desc, present_parameters,
device->d3d_parent->extended))
return D3DERR_INVALIDCALL;
swap_interval = wined3dswapinterval_from_d3d(present_parameters->PresentationInterval);
if (SUCCEEDED(hr = d3d9_swapchain_create(device, &desc, swap_interval, &object)))
if (SUCCEEDED(hr = d3d9_swapchain_create(device, &desc, &object)))
*swapchain = (IDirect3DSwapChain9 *)&object->IDirect3DSwapChain9Ex_iface;
present_parameters_from_wined3d_swapchain_desc(present_parameters,
&desc, present_parameters->PresentationInterval);
present_parameters_from_wined3d_swapchain_desc(present_parameters, &desc);
return hr;
}
@@ -970,8 +934,6 @@ static HRESULT d3d9_device_reset(struct d3d9_device *device,
}
else
{
device->implicit_swapchains[0]->swap_interval
= wined3dswapinterval_from_d3d(present_parameters->PresentationInterval);
wined3d_swapchain_get_desc(device->implicit_swapchains[0]->wined3d_swapchain, &swapchain_desc);
present_parameters->BackBufferWidth = swapchain_desc.backbuffer_width;
present_parameters->BackBufferHeight = swapchain_desc.backbuffer_height;
@@ -981,6 +943,10 @@ static HRESULT d3d9_device_reset(struct d3d9_device *device,
device->device_state = D3D9_DEVICE_STATE_OK;
}
if (!device->d3d_parent->extended)
for (i = 0; i < ARRAY_SIZE(device->textures); ++i)
device->textures[i] = NULL;
rtv = wined3d_device_get_rendertarget_view(device->wined3d_device, 0);
device->render_targets[0] = wined3d_rendertarget_view_get_sub_resource_parent(rtv);
for (i = 1; i < ARRAY_SIZE(device->render_targets); ++i)
@@ -1010,8 +976,7 @@ static HRESULT WINAPI DECLSPEC_HOTPATCH d3d9_device_Present(IDirect3DDevice9Ex *
const RECT *src_rect, const RECT *dst_rect, HWND dst_window_override, const RGNDATA *dirty_region)
{
struct d3d9_device *device = impl_from_IDirect3DDevice9Ex(iface);
struct d3d9_swapchain *swapchain;
unsigned int i;
UINT i;
HRESULT hr;
TRACE("iface %p, src_rect %p, dst_rect %p, dst_window_override %p, dirty_region %p.\n",
@@ -1026,9 +991,8 @@ static HRESULT WINAPI DECLSPEC_HOTPATCH d3d9_device_Present(IDirect3DDevice9Ex *
wined3d_mutex_lock();
for (i = 0; i < device->implicit_swapchain_count; ++i)
{
swapchain = device->implicit_swapchains[i];
if (FAILED(hr = wined3d_swapchain_present(swapchain->wined3d_swapchain,
src_rect, dst_rect, dst_window_override, swapchain->swap_interval, 0)))
if (FAILED(hr = wined3d_swapchain_present(device->implicit_swapchains[i]->wined3d_swapchain,
src_rect, dst_rect, dst_window_override, 0, 0)))
{
wined3d_mutex_unlock();
return hr;
@@ -1536,7 +1500,7 @@ static HRESULT WINAPI d3d9_device_UpdateSurface(IDirect3DDevice9Ex *iface,
hr = wined3d_device_copy_sub_resource_region(device->wined3d_device,
wined3d_texture_get_resource(dst->wined3d_texture), dst->sub_resource_idx, dst_point ? dst_point->x : 0,
dst_point ? dst_point->y : 0, 0, wined3d_texture_get_resource(src->wined3d_texture),
src->sub_resource_idx, &src_box, 0);
src->sub_resource_idx, &src_box);
if (SUCCEEDED(hr) && dst->texture)
d3d9_texture_flag_auto_gen_mipmap(dst->texture);
@@ -2068,7 +2032,7 @@ static HRESULT WINAPI d3d9_device_SetViewport(IDirect3DDevice9Ex *iface, const D
vp.max_z = viewport->MaxZ;
wined3d_mutex_lock();
wined3d_device_set_viewports(device->wined3d_device, 1, &vp);
wined3d_device_set_viewport(device->wined3d_device, &vp);
wined3d_mutex_unlock();
return D3D_OK;
@@ -2082,7 +2046,7 @@ static HRESULT WINAPI d3d9_device_GetViewport(IDirect3DDevice9Ex *iface, D3DVIEW
TRACE("iface %p, viewport %p.\n", iface, viewport);
wined3d_mutex_lock();
wined3d_device_get_viewports(device->wined3d_device, NULL, &wined3d_viewport);
wined3d_device_get_viewport(device->wined3d_device, &wined3d_viewport);
wined3d_mutex_unlock();
viewport->X = wined3d_viewport.x;
@@ -2398,6 +2362,13 @@ static HRESULT WINAPI d3d9_device_SetTexture(IDirect3DDevice9Ex *iface, DWORD st
wined3d_mutex_lock();
hr = wined3d_device_set_texture(device->wined3d_device, stage,
texture_impl ? texture_impl->wined3d_texture : NULL);
if (SUCCEEDED(hr))
{
unsigned int i = stage >= D3DVERTEXTEXTURESAMPLER0 ? stage - D3DVERTEXTEXTURESAMPLER0 + 16 : stage;
if (stage < ARRAY_SIZE(device->textures))
device->textures[i] = texture_impl;
}
wined3d_mutex_unlock();
return hr;
@@ -2564,7 +2535,7 @@ static HRESULT WINAPI d3d9_device_SetScissorRect(IDirect3DDevice9Ex *iface, cons
TRACE("iface %p, rect %p.\n", iface, rect);
wined3d_mutex_lock();
wined3d_device_set_scissor_rects(device->wined3d_device, 1, rect);
wined3d_device_set_scissor_rect(device->wined3d_device, rect);
wined3d_mutex_unlock();
return D3D_OK;
@@ -2577,7 +2548,7 @@ static HRESULT WINAPI d3d9_device_GetScissorRect(IDirect3DDevice9Ex *iface, RECT
TRACE("iface %p, rect %p.\n", iface, rect);
wined3d_mutex_lock();
wined3d_device_get_scissor_rects(device->wined3d_device, NULL, rect);
wined3d_device_get_scissor_rect(device->wined3d_device, rect);
wined3d_mutex_unlock();
return D3D_OK;
@@ -2641,15 +2612,11 @@ static float WINAPI d3d9_device_GetNPatchMode(IDirect3DDevice9Ex *iface)
/* wined3d critical section must be taken by the caller. */
static void d3d9_generate_auto_mipmaps(struct d3d9_device *device)
{
struct wined3d_texture *texture;
unsigned int i, stage;
unsigned int i;
for (i = 0; i < D3D9_MAX_TEXTURE_UNITS; ++i)
{
stage = i >= 16 ? i - 16 + D3DVERTEXTEXTURESAMPLER0 : i;
if ((texture = wined3d_device_get_texture(device->wined3d_device, stage)))
d3d9_texture_gen_auto_mipmap(wined3d_texture_get_parent(texture));
}
for (i = 0; i < ARRAY_SIZE(device->textures); ++i)
if (device->textures[i])
d3d9_texture_gen_auto_mipmap(device->textures[i]);
}
static HRESULT WINAPI d3d9_device_DrawPrimitive(IDirect3DDevice9Ex *iface,
@@ -3700,8 +3667,7 @@ static HRESULT WINAPI DECLSPEC_HOTPATCH d3d9_device_PresentEx(IDirect3DDevice9Ex
const RGNDATA *dirty_region, DWORD flags)
{
struct d3d9_device *device = impl_from_IDirect3DDevice9Ex(iface);
struct d3d9_swapchain *swapchain;
unsigned int i;
UINT i;
HRESULT hr;
TRACE("iface %p, src_rect %s, dst_rect %s, dst_window_override %p, dirty_region %p, flags %#x.\n",
@@ -3717,9 +3683,8 @@ static HRESULT WINAPI DECLSPEC_HOTPATCH d3d9_device_PresentEx(IDirect3DDevice9Ex
wined3d_mutex_lock();
for (i = 0; i < device->implicit_swapchain_count; ++i)
{
swapchain = device->implicit_swapchains[i];
if (FAILED(hr = wined3d_swapchain_present(swapchain->wined3d_swapchain,
src_rect, dst_rect, dst_window_override, swapchain->swap_interval, flags)))
if (FAILED(hr = wined3d_swapchain_present(device->implicit_swapchains[i]->wined3d_swapchain,
src_rect, dst_rect, dst_window_override, 0, flags)))
{
wined3d_mutex_unlock();
return hr;
@@ -3762,31 +3727,21 @@ static HRESULT WINAPI d3d9_device_CheckResourceResidency(IDirect3DDevice9Ex *ifa
static HRESULT WINAPI d3d9_device_SetMaximumFrameLatency(IDirect3DDevice9Ex *iface, UINT max_latency)
{
struct d3d9_device *device = impl_from_IDirect3DDevice9Ex(iface);
TRACE("iface %p, max_latency %u.\n", iface, max_latency);
if (max_latency > 30)
return D3DERR_INVALIDCALL;
wined3d_mutex_lock();
wined3d_device_set_max_frame_latency(device->wined3d_device, max_latency);
wined3d_mutex_unlock();
if (max_latency)
FIXME("Ignoring max_latency %u.\n", max_latency);
return S_OK;
}
static HRESULT WINAPI d3d9_device_GetMaximumFrameLatency(IDirect3DDevice9Ex *iface, UINT *max_latency)
{
struct d3d9_device *device = impl_from_IDirect3DDevice9Ex(iface);
FIXME("iface %p, max_latency %p stub!\n", iface, max_latency);
TRACE("iface %p, max_latency %p.\n", iface, max_latency);
*max_latency = 2;
wined3d_mutex_lock();
*max_latency = wined3d_device_get_max_frame_latency(device->wined3d_device);
wined3d_mutex_unlock();
return S_OK;
return E_NOTIMPL;
}
static HRESULT WINAPI d3d9_device_CheckDeviceState(IDirect3DDevice9Ex *iface, HWND dst_window)
@@ -4095,40 +4050,40 @@ static void CDECL device_parent_activate(struct wined3d_device_parent *device_pa
InterlockedCompareExchange(&device->device_state, D3D9_DEVICE_STATE_NOT_RESET, D3D9_DEVICE_STATE_LOST);
}
static HRESULT CDECL device_parent_texture_sub_resource_created(struct wined3d_device_parent *device_parent,
enum wined3d_resource_type type, struct wined3d_texture *wined3d_texture, unsigned int sub_resource_idx,
static HRESULT CDECL device_parent_surface_created(struct wined3d_device_parent *device_parent,
struct wined3d_texture *wined3d_texture, unsigned int sub_resource_idx,
void **parent, const struct wined3d_parent_ops **parent_ops)
{
TRACE("device_parent %p, type %#x, wined3d_texture %p, sub_resource_idx %u, parent %p, parent_ops %p.\n",
device_parent, type, wined3d_texture, sub_resource_idx, parent, parent_ops);
struct d3d9_surface *d3d_surface;
if (type == WINED3D_RTYPE_TEXTURE_2D)
{
struct d3d9_surface *d3d_surface;
TRACE("device_parent %p, wined3d_texture %p, sub_resource_idx %u, parent %p, parent_ops %p.\n",
device_parent, wined3d_texture, sub_resource_idx, parent, parent_ops);
if (!(d3d_surface = heap_alloc_zero(sizeof(*d3d_surface))))
return E_OUTOFMEMORY;
if (!(d3d_surface = heap_alloc_zero(sizeof(*d3d_surface))))
return E_OUTOFMEMORY;
surface_init(d3d_surface, wined3d_texture, sub_resource_idx, parent_ops);
*parent = d3d_surface;
TRACE("Created surface %p.\n", d3d_surface);
}
else if (type == WINED3D_RTYPE_TEXTURE_3D)
{
struct d3d9_volume *d3d_volume;
surface_init(d3d_surface, wined3d_texture, sub_resource_idx, parent_ops);
*parent = d3d_surface;
TRACE("Created surface %p.\n", d3d_surface);
if (!(d3d_volume = heap_alloc_zero(sizeof(*d3d_volume))))
return E_OUTOFMEMORY;
return D3D_OK;
}
volume_init(d3d_volume, wined3d_texture, sub_resource_idx, parent_ops);
*parent = d3d_volume;
TRACE("Created volume %p.\n", d3d_volume);
}
else
{
ERR("Unhandled resource type %#x.\n", type);
return E_FAIL;
}
static HRESULT CDECL device_parent_volume_created(struct wined3d_device_parent *device_parent,
struct wined3d_texture *wined3d_texture, unsigned int sub_resource_idx,
void **parent, const struct wined3d_parent_ops **parent_ops)
{
struct d3d9_volume *d3d_volume;
TRACE("device_parent %p, texture %p, sub_resource_idx %u, parent %p, parent_ops %p.\n",
device_parent, wined3d_texture, sub_resource_idx, parent, parent_ops);
if (!(d3d_volume = heap_alloc_zero(sizeof(*d3d_volume))))
return E_OUTOFMEMORY;
volume_init(d3d_volume, wined3d_texture, sub_resource_idx, parent_ops);
*parent = d3d_volume;
TRACE("Created volume %p.\n", d3d_volume);
return D3D_OK;
}
@@ -4173,7 +4128,8 @@ static HRESULT CDECL device_parent_create_swapchain(struct wined3d_device_parent
TRACE("device_parent %p, desc %p, swapchain %p\n", device_parent, desc, swapchain);
if (FAILED(hr = d3d9_swapchain_create(device, desc, WINED3D_SWAP_INTERVAL_DEFAULT, &d3d_swapchain)))
hr = d3d9_swapchain_create(device, desc, &d3d_swapchain);
if (FAILED(hr))
{
WARN("Failed to create swapchain, hr %#x.\n", hr);
*swapchain = NULL;
@@ -4192,7 +4148,8 @@ static const struct wined3d_device_parent_ops d3d9_wined3d_device_parent_ops =
device_parent_wined3d_device_created,
device_parent_mode_changed,
device_parent_activate,
device_parent_texture_sub_resource_created,
device_parent_surface_created,
device_parent_volume_created,
device_parent_create_swapchain_texture,
device_parent_create_swapchain,
};
@@ -4315,16 +4272,10 @@ HRESULT device_init(struct d3d9_device *device, struct d3d9 *parent, struct wine
wined3d_mutex_unlock();
return E_OUTOFMEMORY;
}
for (i = 0; i < device->implicit_swapchain_count; ++i)
{
device->implicit_swapchains[i]->swap_interval
= wined3dswapinterval_from_d3d(parameters[i].PresentationInterval);
}
for (i = 0; i < count; ++i)
{
present_parameters_from_wined3d_swapchain_desc(&parameters[i],
&swapchain_desc[i], parameters[i].PresentationInterval);
present_parameters_from_wined3d_swapchain_desc(&parameters[i], &swapchain_desc[i]);
}
wined3d_mutex_unlock();

View File

@@ -254,12 +254,6 @@ static HRESULT WINAPI d3d9_CheckDeviceFormat(IDirect3D9Ex *iface, UINT adapter,
TRACE("iface %p, adapter %u, device_type %#x, adapter_format %#x, usage %#x, resource_type %#x, format %#x.\n",
iface, adapter, device_type, adapter_format, usage, resource_type, format);
if (!adapter_format)
{
WARN("Invalid adapter format.\n");
return D3DERR_INVALIDCALL;
}
usage = usage & (WINED3DUSAGE_MASK | WINED3DUSAGE_QUERY_MASK);
switch (resource_type)
{
@@ -585,7 +579,7 @@ BOOL d3d9_init(struct d3d9 *d3d9, BOOL extended)
DWORD flags = WINED3D_PRESENT_CONVERSION | WINED3D_HANDLE_RESTORE | WINED3D_PIXEL_CENTER_INTEGER
| WINED3D_SRGB_READ_WRITE_CONTROL | WINED3D_LEGACY_UNBOUND_RESOURCE_COLOR
| WINED3D_NO_PRIMITIVE_RESTART | WINED3D_LEGACY_CUBEMAP_FILTERING
| WINED3D_NORMALIZED_DEPTH_BIAS;
| WINED3D_NORMALIZED_DEPTH_BIAS | WINED3D_LIMIT_VIEWPORT;
if (!extended)
flags |= WINED3D_VIDMEM_ACCOUNTING;

View File

@@ -25,27 +25,6 @@
WINE_DEFAULT_DEBUG_CHANNEL(d3d9);
static DWORD d3dpresentationinterval_from_wined3dswapinterval(enum wined3d_swap_interval interval)
{
switch (interval)
{
case WINED3D_SWAP_INTERVAL_IMMEDIATE:
return D3DPRESENT_INTERVAL_IMMEDIATE;
case WINED3D_SWAP_INTERVAL_ONE:
return D3DPRESENT_INTERVAL_ONE;
case WINED3D_SWAP_INTERVAL_TWO:
return D3DPRESENT_INTERVAL_TWO;
case WINED3D_SWAP_INTERVAL_THREE:
return D3DPRESENT_INTERVAL_THREE;
case WINED3D_SWAP_INTERVAL_FOUR:
return D3DPRESENT_INTERVAL_FOUR;
default:
ERR("Invalid swap interval %#x.\n", interval);
case WINED3D_SWAP_INTERVAL_DEFAULT:
return D3DPRESENT_INTERVAL_DEFAULT;
}
}
static inline struct d3d9_swapchain *impl_from_IDirect3DSwapChain9Ex(IDirect3DSwapChain9Ex *iface)
{
return CONTAINING_RECORD(iface, struct d3d9_swapchain, IDirect3DSwapChain9Ex_iface);
@@ -158,7 +137,7 @@ static HRESULT WINAPI DECLSPEC_HOTPATCH d3d9_swapchain_Present(IDirect3DSwapChai
wined3d_mutex_lock();
hr = wined3d_swapchain_present(swapchain->wined3d_swapchain,
src_rect, dst_rect, dst_window_override, swapchain->swap_interval, flags);
src_rect, dst_rect, dst_window_override, 0, flags);
wined3d_mutex_unlock();
return hr;
@@ -272,15 +251,13 @@ static HRESULT WINAPI d3d9_swapchain_GetPresentParameters(IDirect3DSwapChain9Ex
{
struct d3d9_swapchain *swapchain = impl_from_IDirect3DSwapChain9Ex(iface);
struct wined3d_swapchain_desc desc;
DWORD presentation_interval;
TRACE("iface %p, parameters %p.\n", iface, parameters);
wined3d_mutex_lock();
wined3d_swapchain_get_desc(swapchain->wined3d_swapchain, &desc);
presentation_interval = d3dpresentationinterval_from_wined3dswapinterval(swapchain->swap_interval);
wined3d_mutex_unlock();
present_parameters_from_wined3d_swapchain_desc(parameters, &desc, presentation_interval);
present_parameters_from_wined3d_swapchain_desc(parameters, &desc);
return D3D_OK;
}
@@ -367,13 +344,12 @@ static const struct wined3d_parent_ops d3d9_swapchain_wined3d_parent_ops =
};
static HRESULT swapchain_init(struct d3d9_swapchain *swapchain, struct d3d9_device *device,
struct wined3d_swapchain_desc *desc, unsigned int swap_interval)
struct wined3d_swapchain_desc *desc)
{
HRESULT hr;
swapchain->refcount = 1;
swapchain->IDirect3DSwapChain9Ex_iface.lpVtbl = &d3d9_swapchain_vtbl;
swapchain->swap_interval = swap_interval;
wined3d_mutex_lock();
hr = wined3d_swapchain_create(device->wined3d_device, desc, swapchain,
@@ -393,7 +369,7 @@ static HRESULT swapchain_init(struct d3d9_swapchain *swapchain, struct d3d9_devi
}
HRESULT d3d9_swapchain_create(struct d3d9_device *device, struct wined3d_swapchain_desc *desc,
unsigned int swap_interval, struct d3d9_swapchain **swapchain)
struct d3d9_swapchain **swapchain)
{
struct d3d9_swapchain *object;
HRESULT hr;
@@ -401,7 +377,7 @@ HRESULT d3d9_swapchain_create(struct d3d9_device *device, struct wined3d_swapcha
if (!(object = heap_alloc_zero(sizeof(*object))))
return E_OUTOFMEMORY;
if (FAILED(hr = swapchain_init(object, device, desc, swap_interval)))
if (FAILED(hr = swapchain_init(object, device, desc)))
{
WARN("Failed to initialize swapchain, hr %#x.\n", hr);
heap_free(object);

View File

@@ -1339,22 +1339,9 @@ HRESULT texture_init(struct d3d9_texture *texture, struct d3d9_device *device,
WARN("D3DUSAGE_AUTOGENMIPMAP texture with %u levels, returning D3DERR_INVALIDCALL.\n", levels);
return D3DERR_INVALIDCALL;
}
wined3d_mutex_lock();
hr = wined3d_check_device_format(device->d3d_parent->wined3d, 0, WINED3D_DEVICE_TYPE_HAL, WINED3DFMT_B8G8R8A8_UNORM,
WINED3DUSAGE_TEXTURE | WINED3DUSAGE_QUERY_GENMIPMAP, WINED3D_RTYPE_TEXTURE_2D, wined3dformat_from_d3dformat(format));
wined3d_mutex_unlock();
if (hr == D3D_OK)
{
flags |= WINED3D_TEXTURE_CREATE_GENERATE_MIPMAPS;
levels = 0;
}
else
{
WARN("D3DUSAGE_AUTOGENMIPMAP not supported on D3DFORMAT %#x, creating a texture "
"with a single level.\n", format);
levels = 1;
}
flags |= WINED3D_TEXTURE_CREATE_GENERATE_MIPMAPS;
texture->autogen_filter_type = D3DTEXF_LINEAR;
levels = 0;
}
else
{

View File

@@ -29,7 +29,7 @@ if(MSVC)
set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS "/FIwine/typeof.h")
endif()
add_library(ddraw MODULE
add_library(ddraw SHARED
${SOURCE}
ddraw.rc
${CMAKE_CURRENT_BINARY_DIR}/ddraw.def)

View File

@@ -633,9 +633,8 @@ static HRESULT ddraw_create_swapchain(struct ddraw *ddraw, HWND window, BOOL win
swapchain_desc.backbuffer_width = mode.width;
swapchain_desc.backbuffer_height = mode.height;
swapchain_desc.backbuffer_format = mode.format_id;
swapchain_desc.backbuffer_usage = 0;
swapchain_desc.backbuffer_count = 1;
swapchain_desc.swap_effect = WINED3D_SWAP_EFFECT_DISCARD;
swapchain_desc.backbuffer_usage = WINED3DUSAGE_RENDERTARGET;
swapchain_desc.swap_effect = WINED3D_SWAP_EFFECT_COPY;
swapchain_desc.device_window = window;
swapchain_desc.windowed = windowed;
swapchain_desc.flags = WINED3D_SWAPCHAIN_ALLOW_MODE_SWITCH;
@@ -2100,7 +2099,7 @@ static HRESULT WINAPI ddraw7_FlipToGDISurface(IDirectDraw7 *iface)
ddraw->flags |= DDRAW_GDI_FLIP;
if (ddraw->primary)
ddraw_surface_update_frontbuffer(ddraw->primary, NULL, FALSE, 0);
ddraw_surface_update_frontbuffer(ddraw->primary, NULL, FALSE);
return DD_OK;
}
@@ -4910,19 +4909,18 @@ void ddraw_update_lost_surfaces(struct ddraw *ddraw)
ddraw->device_state = DDRAW_DEVICE_STATE_OK;
}
static HRESULT CDECL device_parent_texture_sub_resource_created(struct wined3d_device_parent *device_parent,
enum wined3d_resource_type type, struct wined3d_texture *wined3d_texture, unsigned int sub_resource_idx,
static HRESULT CDECL device_parent_surface_created(struct wined3d_device_parent *device_parent,
struct wined3d_texture *wined3d_texture, unsigned int sub_resource_idx,
void **parent, const struct wined3d_parent_ops **parent_ops)
{
struct ddraw *ddraw = ddraw_from_device_parent(device_parent);
struct ddraw_surface *ddraw_surface;
TRACE("device_parent %p, type %#x, wined3d_texture %p, sub_resource_idx %u, parent %p, parent_ops %p.\n",
device_parent, type, wined3d_texture, sub_resource_idx, parent, parent_ops);
TRACE("device_parent %p, wined3d_texture %p, sub_resource_idx %u, parent %p, parent_ops %p.\n",
device_parent, wined3d_texture, sub_resource_idx, parent, parent_ops);
/* We have a swapchain or wined3d internal texture. */
if (type != WINED3D_RTYPE_TEXTURE_2D || !wined3d_texture_get_parent(wined3d_texture)
|| wined3d_texture_get_parent(wined3d_texture) == ddraw)
if (!wined3d_texture_get_parent(wined3d_texture) || wined3d_texture_get_parent(wined3d_texture) == ddraw)
{
*parent = NULL;
*parent_ops = &ddraw_null_wined3d_parent_ops;
@@ -4947,6 +4945,19 @@ static HRESULT CDECL device_parent_texture_sub_resource_created(struct wined3d_d
return DD_OK;
}
static HRESULT CDECL device_parent_volume_created(struct wined3d_device_parent *device_parent,
struct wined3d_texture *wined3d_texture, unsigned int sub_resource_idx,
void **parent, const struct wined3d_parent_ops **parent_ops)
{
TRACE("device_parent %p, texture %p, sub_resource_idx %u, parent %p, parent_ops %p.\n",
device_parent, wined3d_texture, sub_resource_idx, parent, parent_ops);
*parent = NULL;
*parent_ops = &ddraw_null_wined3d_parent_ops;
return DD_OK;
}
static void STDMETHODCALLTYPE ddraw_frontbuffer_destroyed(void *parent)
{
struct ddraw *ddraw = parent;
@@ -4963,26 +4974,25 @@ static HRESULT CDECL device_parent_create_swapchain_texture(struct wined3d_devic
struct wined3d_texture **texture)
{
struct ddraw *ddraw = ddraw_from_device_parent(device_parent);
const struct wined3d_parent_ops *parent_ops;
HRESULT hr;
TRACE("device_parent %p, container_parent %p, desc %p, texture flags %#x, texture %p.\n",
device_parent, container_parent, desc, texture_flags, texture);
if (!ddraw->wined3d_frontbuffer)
parent_ops = &ddraw_frontbuffer_parent_ops;
else
parent_ops = &ddraw_null_wined3d_parent_ops;
if (ddraw->wined3d_frontbuffer)
{
ERR("Frontbuffer already created.\n");
return E_FAIL;
}
if (FAILED(hr = wined3d_texture_create(ddraw->wined3d_device, desc, 1, 1,
texture_flags | WINED3D_TEXTURE_CREATE_MAPPABLE, NULL, ddraw, parent_ops, texture)))
texture_flags | WINED3D_TEXTURE_CREATE_MAPPABLE, NULL, ddraw, &ddraw_frontbuffer_parent_ops, texture)))
{
WARN("Failed to create texture, hr %#x.\n", hr);
return hr;
}
if (!ddraw->wined3d_frontbuffer)
ddraw->wined3d_frontbuffer = *texture;
ddraw->wined3d_frontbuffer = *texture;
return hr;
}
@@ -5013,7 +5023,8 @@ static const struct wined3d_device_parent_ops ddraw_wined3d_device_parent_ops =
device_parent_wined3d_device_created,
device_parent_mode_changed,
device_parent_activate,
device_parent_texture_sub_resource_created,
device_parent_surface_created,
device_parent_volume_created,
device_parent_create_swapchain_texture,
device_parent_create_swapchain,
};

View File

@@ -57,15 +57,14 @@ struct FvfToDecl
#define DDRAW_NO3D 0x00000008
#define DDRAW_SCL_DDRAW1 0x00000010
#define DDRAW_SCL_RECURSIVE 0x00000020
#define DDRAW_SWAPPED 0x00000040
#define DDRAW_GDI_FLIP 0x00000080
#define DDRAW_GDI_FLIP 0x00000040
#define DDRAW_STRIDE_ALIGNMENT 8
#define DDRAW_WINED3D_FLAGS (WINED3D_LEGACY_DEPTH_BIAS | WINED3D_VIDMEM_ACCOUNTING \
| WINED3D_RESTORE_MODE_ON_ACTIVATE | WINED3D_FOCUS_MESSAGES | WINED3D_PIXEL_CENTER_INTEGER \
| WINED3D_LEGACY_UNBOUND_RESOURCE_COLOR | WINED3D_NO_PRIMITIVE_RESTART \
| WINED3D_LEGACY_CUBEMAP_FILTERING)
| WINED3D_LEGACY_CUBEMAP_FILTERING | WINED3D_LIMIT_VIEWPORT)
enum ddraw_device_state
{
@@ -219,7 +218,7 @@ void ddraw_surface_init(struct ddraw_surface *surface, struct ddraw *ddraw,
struct wined3d_texture *wined3d_texture, unsigned int sub_resource_idx,
const struct wined3d_parent_ops **parent_ops) DECLSPEC_HIDDEN;
HRESULT ddraw_surface_update_frontbuffer(struct ddraw_surface *surface,
const RECT *rect, BOOL read, unsigned int swap_interval) DECLSPEC_HIDDEN;
const RECT *rect, BOOL read) DECLSPEC_HIDDEN;
static inline struct ddraw_surface *impl_from_IDirect3DTexture(IDirect3DTexture *iface)
{

View File

@@ -5296,12 +5296,25 @@ static HRESULT WINAPI d3d_device7_Clear_FPUPreserve(IDirect3DDevice7 *iface, DWO
return hr;
}
/*****************************************************************************
* IDirect3DDevice7::SetViewport
*
* Sets the current viewport.
*
* Version 7 only, but IDirect3DViewport uses this call for older
* versions
*
* Params:
* Data: The new viewport to set
*
* Returns:
* D3D_OK on success
* DDERR_INVALIDPARAMS if Data is NULL
*
*****************************************************************************/
static HRESULT d3d_device7_SetViewport(IDirect3DDevice7 *iface, D3DVIEWPORT7 *viewport)
{
struct d3d_device *device = impl_from_IDirect3DDevice7(iface);
struct wined3d_sub_resource_desc rt_desc;
struct wined3d_rendertarget_view *rtv;
struct ddraw_surface *surface;
struct wined3d_viewport vp;
TRACE("iface %p, viewport %p.\n", iface, viewport);
@@ -5309,23 +5322,6 @@ static HRESULT d3d_device7_SetViewport(IDirect3DDevice7 *iface, D3DVIEWPORT7 *vi
if (!viewport)
return DDERR_INVALIDPARAMS;
wined3d_mutex_lock();
if (!(rtv = wined3d_device_get_rendertarget_view(device->wined3d_device, 0)))
{
wined3d_mutex_unlock();
return DDERR_INVALIDCAPS;
}
surface = wined3d_rendertarget_view_get_sub_resource_parent(rtv);
wined3d_texture_get_sub_resource_desc(surface->wined3d_texture, surface->sub_resource_idx, &rt_desc);
if (viewport->dwX > rt_desc.width || viewport->dwWidth > rt_desc.width - viewport->dwX
|| viewport->dwY > rt_desc.height || viewport->dwHeight > rt_desc.height - viewport->dwY)
{
WARN("Invalid viewport, returning E_INVALIDARG.\n");
wined3d_mutex_unlock();
return E_INVALIDARG;
}
vp.x = viewport->dwX;
vp.y = viewport->dwY;
vp.width = viewport->dwWidth;
@@ -5333,7 +5329,8 @@ static HRESULT d3d_device7_SetViewport(IDirect3DDevice7 *iface, D3DVIEWPORT7 *vi
vp.min_z = viewport->dvMinZ;
vp.max_z = viewport->dvMaxZ;
wined3d_device_set_viewports(device->wined3d_device, 1, &vp);
wined3d_mutex_lock();
wined3d_device_set_viewport(device->wined3d_device, &vp);
wined3d_mutex_unlock();
return D3D_OK;
@@ -5356,6 +5353,21 @@ static HRESULT WINAPI d3d_device7_SetViewport_FPUPreserve(IDirect3DDevice7 *ifac
return hr;
}
/*****************************************************************************
* IDirect3DDevice::GetViewport
*
* Returns the current viewport
*
* Version 7
*
* Params:
* Data: D3D7Viewport structure to write the viewport information to
*
* Returns:
* D3D_OK on success
* DDERR_INVALIDPARAMS if Data is NULL
*
*****************************************************************************/
static HRESULT d3d_device7_GetViewport(IDirect3DDevice7 *iface, D3DVIEWPORT7 *viewport)
{
struct d3d_device *device = impl_from_IDirect3DDevice7(iface);
@@ -5367,7 +5379,7 @@ static HRESULT d3d_device7_GetViewport(IDirect3DDevice7 *iface, D3DVIEWPORT7 *vi
return DDERR_INVALIDPARAMS;
wined3d_mutex_lock();
wined3d_device_get_viewports(device->wined3d_device, NULL, &wined3d_viewport);
wined3d_device_get_viewport(device->wined3d_device, &wined3d_viewport);
wined3d_mutex_unlock();
viewport->dwX = wined3d_viewport.x;

View File

@@ -348,7 +348,7 @@ HRESULT d3d_execute_buffer_execute(struct d3d_execute_buffer *buffer,
wined3d_device_copy_sub_resource_region(device->wined3d_device,
wined3d_buffer_get_resource(buffer->dst_vertex_buffer), 0,
ci->wDest * sizeof(D3DTLVERTEX), 0, 0,
wined3d_buffer_get_resource(buffer->src_vertex_buffer), 0, &box, 0);
wined3d_buffer_get_resource(buffer->src_vertex_buffer), 0, &box);
break;
default:
@@ -610,16 +610,9 @@ static HRESULT WINAPI d3d_execute_buffer_SetExecuteData(IDirect3DExecuteBuffer *
struct wined3d_map_desc map_desc;
struct wined3d_box box = {0};
HRESULT hr;
DWORD buf_size = buffer->desc.dwBufferSize, copy_size;
TRACE("iface %p, data %p.\n", iface, data);
if (data->dwSize != sizeof(*data))
{
WARN("data->dwSize is %u, returning DDERR_INVALIDPARAMS.\n", data->dwSize);
return DDERR_INVALIDPARAMS;
}
/* Skip past previous vertex data. */
buffer->src_vertex_pos += buffer->data.dwVertexCount;
@@ -666,7 +659,7 @@ static HRESULT WINAPI d3d_execute_buffer_SetExecuteData(IDirect3DExecuteBuffer *
buffer->src_vertex_pos = 0;
}
if (data->dwVertexCount && (!buf_size || data->dwVertexOffset < buf_size))
if (data->dwVertexCount)
{
box.left = buffer->src_vertex_pos * sizeof(D3DVERTEX);
box.right = box.left + data->dwVertexCount * sizeof(D3DVERTEX);
@@ -674,11 +667,8 @@ static HRESULT WINAPI d3d_execute_buffer_SetExecuteData(IDirect3DExecuteBuffer *
0, &map_desc, &box, WINED3D_MAP_WRITE)))
return hr;
copy_size = data->dwVertexCount * sizeof(D3DVERTEX);
if (buf_size)
copy_size = min(copy_size, buf_size - data->dwVertexOffset);
memcpy(map_desc.data, ((BYTE *)buffer->desc.lpData) + data->dwVertexOffset, copy_size);
memcpy(map_desc.data, ((BYTE *)buffer->desc.lpData) + data->dwVertexOffset,
data->dwVertexCount * sizeof(D3DVERTEX));
wined3d_resource_unmap(wined3d_buffer_get_resource(buffer->src_vertex_buffer), 0);
}
@@ -706,11 +696,12 @@ static HRESULT WINAPI d3d_execute_buffer_SetExecuteData(IDirect3DExecuteBuffer *
static HRESULT WINAPI d3d_execute_buffer_GetExecuteData(IDirect3DExecuteBuffer *iface, D3DEXECUTEDATA *data)
{
struct d3d_execute_buffer *buffer = impl_from_IDirect3DExecuteBuffer(iface);
DWORD dwSize;
TRACE("iface %p, data %p.\n", iface, data);
/* Tests show that dwSize is ignored. */
memcpy(data, &buffer->data, sizeof(*data));
dwSize = data->dwSize;
memcpy(data, &buffer->data, dwSize);
if (TRACE_ON(ddraw))
{

View File

@@ -176,7 +176,7 @@ static HRESULT WINAPI ddraw_palette_SetEntries(IDirectDrawPalette *iface,
hr = wined3d_palette_set_entries(palette->wined3d_palette, flags, start, count, entries);
if (SUCCEEDED(hr) && palette->flags & DDPCAPS_PRIMARYSURFACE)
ddraw_surface_update_frontbuffer(palette->ddraw->primary, NULL, FALSE, 0);
ddraw_surface_update_frontbuffer(palette->ddraw->primary, NULL, FALSE);
wined3d_mutex_unlock();

View File

@@ -40,22 +40,15 @@ static inline struct ddraw_surface *impl_from_IDirectDrawGammaControl(IDirectDra
* applications from drawing to the screen while we've locked the frontbuffer.
* We'd like to do this in wined3d instead, but for that to work wined3d needs
* to support windowless rendering first. */
HRESULT ddraw_surface_update_frontbuffer(struct ddraw_surface *surface,
const RECT *rect, BOOL read, unsigned int swap_interval)
HRESULT ddraw_surface_update_frontbuffer(struct ddraw_surface *surface, const RECT *rect, BOOL read)
{
struct wined3d_texture *dst_texture;
struct ddraw *ddraw = surface->ddraw;
HDC surface_dc, screen_dc;
int x, y, w, h;
HRESULT hr;
BOOL ret;
RECT r;
if (surface->ddraw->flags & DDRAW_SWAPPED && !read)
{
surface->ddraw->flags &= ~DDRAW_SWAPPED;
rect = NULL;
}
if (!rect)
{
SetRect(&r, 0, 0, surface->surface_desc.dwWidth, surface->surface_desc.dwHeight);
@@ -70,25 +63,15 @@ HRESULT ddraw_surface_update_frontbuffer(struct ddraw_surface *surface,
if (w <= 0 || h <= 0)
return DD_OK;
if (surface->ddraw->swapchain_window && !(surface->ddraw->flags & DDRAW_GDI_FLIP))
if (ddraw->swapchain_window && !(ddraw->flags & DDRAW_GDI_FLIP))
{
/* Nothing to do, we control the frontbuffer, or at least the parts we
* care about. */
if (read)
return DD_OK;
if (swap_interval)
dst_texture = wined3d_swapchain_get_back_buffer(surface->ddraw->wined3d_swapchain, 0);
else
dst_texture = surface->ddraw->wined3d_frontbuffer;
if (SUCCEEDED(hr = wined3d_texture_blt(dst_texture, 0, rect, surface->wined3d_texture,
surface->sub_resource_idx, rect, 0, NULL, WINED3D_TEXF_POINT)) && swap_interval)
{
hr = wined3d_swapchain_present(surface->ddraw->wined3d_swapchain, rect, rect, NULL, swap_interval, 0);
surface->ddraw->flags |= DDRAW_SWAPPED;
}
return hr;
return wined3d_texture_blt(ddraw->wined3d_frontbuffer, 0, rect,
surface->wined3d_texture, surface->sub_resource_idx, rect, 0, NULL, WINED3D_TEXF_POINT);
}
if (FAILED(hr = wined3d_texture_get_dc(surface->wined3d_texture, surface->sub_resource_idx, &surface_dc)))
@@ -491,7 +474,7 @@ static HRESULT ddraw_surface_set_palette(struct ddraw_surface *surface, IDirectD
palette_impl->flags |= DDPCAPS_PRIMARYSURFACE;
wined3d_swapchain_set_palette(surface->ddraw->wined3d_swapchain,
palette_impl ? palette_impl->wined3d_palette : NULL);
ddraw_surface_update_frontbuffer(surface, NULL, FALSE, 0);
ddraw_surface_update_frontbuffer(surface, NULL, FALSE);
}
if (palette_impl)
IDirectDrawPalette_AddRef(&palette_impl->IDirectDrawPalette_iface);
@@ -1007,7 +990,7 @@ static HRESULT surface_lock(struct ddraw_surface *surface,
}
if (surface->surface_desc.ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE)
hr = ddraw_surface_update_frontbuffer(surface, rect, TRUE, 0);
hr = ddraw_surface_update_frontbuffer(surface, rect, TRUE);
if (SUCCEEDED(hr))
hr = wined3d_resource_map(wined3d_texture_get_resource(surface->wined3d_texture),
surface->sub_resource_idx, &map_desc, rect ? &box : NULL,
@@ -1196,7 +1179,7 @@ static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface7_Unlock(IDirectDrawSurface
wined3d_mutex_lock();
hr = wined3d_resource_unmap(wined3d_texture_get_resource(surface->wined3d_texture), surface->sub_resource_idx);
if (SUCCEEDED(hr) && surface->surface_desc.ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE)
hr = ddraw_surface_update_frontbuffer(surface, &surface->ddraw->primary_lock, FALSE, 0);
hr = ddraw_surface_update_frontbuffer(surface, &surface->ddraw->primary_lock, FALSE);
wined3d_mutex_unlock();
return hr;
@@ -1241,24 +1224,6 @@ static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface1_Unlock(IDirectDrawSurface
return ddraw_surface7_Unlock(&surface->IDirectDrawSurface7_iface, NULL);
}
static unsigned int ddraw_swap_interval_from_flags(DWORD flags)
{
if (flags & DDFLIP_NOVSYNC)
return 0;
switch (flags & (DDFLIP_INTERVAL2 | DDFLIP_INTERVAL3 | DDFLIP_INTERVAL4))
{
case DDFLIP_INTERVAL2:
return 2;
case DDFLIP_INTERVAL3:
return 3;
case DDFLIP_INTERVAL4:
return 4;
default:
return 1;
}
}
static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface7_Flip(IDirectDrawSurface7 *iface,
IDirectDrawSurface7 *src, DWORD flags)
{
@@ -1372,7 +1337,7 @@ static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface7_Flip(IDirectDrawSurface7
wined3d_resource_set_parent(wined3d_texture_get_resource(texture), ddraw_texture);
src_impl->wined3d_texture = texture;
if (flags & ~(DDFLIP_NOVSYNC | DDFLIP_INTERVAL2 | DDFLIP_INTERVAL3 | DDFLIP_INTERVAL4))
if (flags)
{
static UINT once;
if (!once++)
@@ -1382,7 +1347,7 @@ static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface7_Flip(IDirectDrawSurface7
}
if (dst_impl->surface_desc.ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE)
hr = ddraw_surface_update_frontbuffer(dst_impl, NULL, FALSE, ddraw_swap_interval_from_flags(flags));
hr = ddraw_surface_update_frontbuffer(dst_impl, NULL, FALSE);
else
hr = DD_OK;
@@ -1523,11 +1488,11 @@ static HRESULT ddraw_surface_blt_clipped(struct ddraw_surface *dst_surface, cons
if (!dst_surface->clipper)
{
if (src_surface && src_surface->surface_desc.ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE)
hr = ddraw_surface_update_frontbuffer(src_surface, &src_rect, TRUE, 0);
hr = ddraw_surface_update_frontbuffer(src_surface, &src_rect, TRUE);
if (SUCCEEDED(hr))
hr = ddraw_surface_blt(dst_surface, &dst_rect, src_surface, &src_rect, flags, fill_colour, fx, filter);
if (SUCCEEDED(hr) && (dst_surface->surface_desc.ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE))
hr = ddraw_surface_update_frontbuffer(dst_surface, &dst_rect, FALSE, 0);
hr = ddraw_surface_update_frontbuffer(dst_surface, &dst_rect, FALSE);
return hr;
}
@@ -1570,7 +1535,7 @@ static HRESULT ddraw_surface_blt_clipped(struct ddraw_surface *dst_surface, cons
if (src_surface->surface_desc.ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE)
{
if (FAILED(hr = ddraw_surface_update_frontbuffer(src_surface, &src_rect_clipped, TRUE, 0)))
if (FAILED(hr = ddraw_surface_update_frontbuffer(src_surface, &src_rect_clipped, TRUE)))
break;
}
}
@@ -1581,7 +1546,7 @@ static HRESULT ddraw_surface_blt_clipped(struct ddraw_surface *dst_surface, cons
if (dst_surface->surface_desc.ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE)
{
if (FAILED(hr = ddraw_surface_update_frontbuffer(dst_surface, &clip_rect[i], FALSE, 0)))
if (FAILED(hr = ddraw_surface_update_frontbuffer(dst_surface, &clip_rect[i], FALSE)))
break;
}
}
@@ -2254,7 +2219,7 @@ static HRESULT WINAPI ddraw_surface7_GetDC(IDirectDrawSurface7 *iface, HDC *dc)
if (surface->dc)
hr = DDERR_DCALREADYCREATED;
else if (surface->surface_desc.ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE)
hr = ddraw_surface_update_frontbuffer(surface, NULL, TRUE, 0);
hr = ddraw_surface_update_frontbuffer(surface, NULL, TRUE);
if (SUCCEEDED(hr))
hr = wined3d_texture_get_dc(surface->wined3d_texture, surface->sub_resource_idx, dc);
@@ -2346,7 +2311,9 @@ static HRESULT WINAPI ddraw_surface7_ReleaseDC(IDirectDrawSurface7 *iface, HDC h
HRESULT hr;
TRACE("iface %p, dc %p.\n", iface, hdc);
#ifdef __REACTOS__
GdiFlush();
#endif
wined3d_mutex_lock();
if (!surface->dc)
{
@@ -2356,7 +2323,7 @@ static HRESULT WINAPI ddraw_surface7_ReleaseDC(IDirectDrawSurface7 *iface, HDC h
{
surface->dc = NULL;
if (surface->surface_desc.ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE)
hr = ddraw_surface_update_frontbuffer(surface, NULL, FALSE, 0);
hr = ddraw_surface_update_frontbuffer(surface, NULL, FALSE);
}
wined3d_mutex_unlock();
@@ -4324,12 +4291,12 @@ static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface7_BltFast(IDirectDrawSurfac
}
if (src_impl->surface_desc.ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE)
hr = ddraw_surface_update_frontbuffer(src_impl, src_rect, TRUE, 0);
hr = ddraw_surface_update_frontbuffer(src_impl, src_rect, TRUE);
if (SUCCEEDED(hr))
hr = wined3d_texture_blt(dst_impl->wined3d_texture, dst_impl->sub_resource_idx, &dst_rect,
src_impl->wined3d_texture, src_impl->sub_resource_idx, src_rect, flags, NULL, WINED3D_TEXF_POINT);
if (SUCCEEDED(hr) && (dst_impl->surface_desc.ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE))
hr = ddraw_surface_update_frontbuffer(dst_impl, &dst_rect, FALSE, 0);
hr = ddraw_surface_update_frontbuffer(dst_impl, &dst_rect, FALSE);
wined3d_mutex_unlock();
switch(hr)

View File

@@ -570,7 +570,7 @@ unsigned int wined3dmapflags_from_ddrawmapflags(unsigned int flags)
unsigned int wined3d_flags;
wined3d_flags = flags & handled;
if (!(flags & (DDLOCK_NOOVERWRITE | DDLOCK_DISCARDCONTENTS | DDLOCK_WRITEONLY)))
if (!(flags & (DDLOCK_NOOVERWRITE | DDLOCK_DISCARDCONTENTS)))
wined3d_flags |= WINED3D_MAP_READ;
if (!(flags & DDLOCK_READONLY))
wined3d_flags |= WINED3D_MAP_WRITE;
@@ -578,7 +578,7 @@ unsigned int wined3dmapflags_from_ddrawmapflags(unsigned int flags)
wined3d_flags |= WINED3D_MAP_READ | WINED3D_MAP_WRITE;
if (flags & DDLOCK_NODIRTYUPDATE)
wined3d_flags |= WINED3D_MAP_NO_DIRTY_UPDATE;
flags &= ~(handled | DDLOCK_WAIT | DDLOCK_READONLY | DDLOCK_WRITEONLY | DDLOCK_NODIRTYUPDATE);
flags &= ~(handled | DDLOCK_WAIT | DDLOCK_READONLY | DDLOCK_NODIRTYUPDATE);
if (flags)
FIXME("Unhandled flags %#x.\n", flags);

View File

@@ -249,118 +249,109 @@ static HRESULT WINAPI d3d_viewport_Initialize(IDirect3DViewport3 *iface, IDirect
return DDERR_ALREADYINITIALIZED;
}
static HRESULT WINAPI d3d_viewport_GetViewport(IDirect3DViewport3 *iface, D3DVIEWPORT *vp)
/*****************************************************************************
* IDirect3DViewport3::GetViewport
*
* Returns the viewport data assigned to this viewport interface
*
* Params:
* Data: Address to store the data
*
* Returns:
* D3D_OK on success
* DDERR_INVALIDPARAMS if Data is NULL
*
*****************************************************************************/
static HRESULT WINAPI d3d_viewport_GetViewport(IDirect3DViewport3 *iface, D3DVIEWPORT *lpData)
{
struct d3d_viewport *viewport = impl_from_IDirect3DViewport3(iface);
DWORD size;
struct d3d_viewport *This = impl_from_IDirect3DViewport3(iface);
DWORD dwSize;
TRACE("iface %p, vp %p.\n", iface, vp);
if (!vp)
return DDERR_INVALIDPARAMS;
TRACE("iface %p, data %p.\n", iface, lpData);
wined3d_mutex_lock();
size = vp->dwSize;
if (!viewport->use_vp2)
{
memcpy(vp, &viewport->viewports.vp1, size);
}
else
{
dwSize = lpData->dwSize;
if (!This->use_vp2)
memcpy(lpData, &(This->viewports.vp1), dwSize);
else {
D3DVIEWPORT vp1;
vp1.dwSize = sizeof(vp1);
vp1.dwX = viewport->viewports.vp2.dwX;
vp1.dwY = viewport->viewports.vp2.dwY;
vp1.dwWidth = viewport->viewports.vp2.dwWidth;
vp1.dwHeight = viewport->viewports.vp2.dwHeight;
vp1.dwX = This->viewports.vp2.dwX;
vp1.dwY = This->viewports.vp2.dwY;
vp1.dwWidth = This->viewports.vp2.dwWidth;
vp1.dwHeight = This->viewports.vp2.dwHeight;
vp1.dvMaxX = 0.0;
vp1.dvMaxY = 0.0;
vp1.dvScaleX = 0.0;
vp1.dvScaleY = 0.0;
vp1.dvMinZ = viewport->viewports.vp2.dvMinZ;
vp1.dvMaxZ = viewport->viewports.vp2.dvMaxZ;
memcpy(vp, &vp1, size);
vp1.dvMinZ = This->viewports.vp2.dvMinZ;
vp1.dvMaxZ = This->viewports.vp2.dvMaxZ;
memcpy(lpData, &vp1, dwSize);
}
if (TRACE_ON(ddraw))
{
TRACE(" returning D3DVIEWPORT :\n");
_dump_D3DVIEWPORT(vp);
_dump_D3DVIEWPORT(lpData);
}
wined3d_mutex_unlock();
return D3D_OK;
return DD_OK;
}
static HRESULT WINAPI d3d_viewport_SetViewport(IDirect3DViewport3 *iface, D3DVIEWPORT *vp)
/*****************************************************************************
* IDirect3DViewport3::SetViewport
*
* Sets the viewport information for this interface
*
* Params:
* lpData: Viewport to set
*
* Returns:
* D3D_OK on success
* DDERR_INVALIDPARAMS if Data is NULL
*
*****************************************************************************/
static HRESULT WINAPI d3d_viewport_SetViewport(IDirect3DViewport3 *iface, D3DVIEWPORT *lpData)
{
struct d3d_viewport *viewport = impl_from_IDirect3DViewport3(iface);
struct d3d_device *device = viewport->active_device;
struct wined3d_sub_resource_desc rt_desc;
struct wined3d_rendertarget_view *rtv;
struct d3d_viewport *This = impl_from_IDirect3DViewport3(iface);
IDirect3DViewport3 *current_viewport;
struct ddraw_surface *surface;
TRACE("iface %p, vp %p.\n", iface, vp);
if (!vp)
return DDERR_INVALIDPARAMS;
TRACE("iface %p, data %p.\n", iface, lpData);
if (TRACE_ON(ddraw))
{
TRACE(" getting D3DVIEWPORT :\n");
_dump_D3DVIEWPORT(vp);
}
if (!device)
{
WARN("Viewport not bound to a device, returning D3DERR_VIEWPORTHASNODEVICE.\n");
return D3DERR_VIEWPORTHASNODEVICE;
_dump_D3DVIEWPORT(lpData);
}
wined3d_mutex_lock();
if (device->version > 1)
This->use_vp2 = 0;
memset(&(This->viewports.vp1), 0, sizeof(This->viewports.vp1));
memcpy(&(This->viewports.vp1), lpData, lpData->dwSize);
/* Tests on two games show that these values are never used properly so override
them with proper ones :-)
*/
This->viewports.vp1.dvMinZ = 0.0;
This->viewports.vp1.dvMaxZ = 1.0;
if (This->active_device)
{
if (!(rtv = wined3d_device_get_rendertarget_view(device->wined3d_device, 0)))
IDirect3DDevice3 *d3d_device3 = &This->active_device->IDirect3DDevice3_iface;
if (SUCCEEDED(IDirect3DDevice3_GetCurrentViewport(d3d_device3, &current_viewport)))
{
wined3d_mutex_unlock();
return DDERR_INVALIDCAPS;
if (current_viewport == iface) viewport_activate(This, FALSE);
IDirect3DViewport3_Release(current_viewport);
}
surface = wined3d_rendertarget_view_get_sub_resource_parent(rtv);
wined3d_texture_get_sub_resource_desc(surface->wined3d_texture, surface->sub_resource_idx, &rt_desc);
if (vp->dwX > rt_desc.width || vp->dwWidth > rt_desc.width - vp->dwX
|| vp->dwY > rt_desc.height || vp->dwHeight > rt_desc.height - vp->dwY)
{
WARN("Invalid viewport, returning DDERR_INVALIDPARAMS.\n");
wined3d_mutex_unlock();
return DDERR_INVALIDPARAMS;
}
}
viewport->use_vp2 = 0;
memset(&viewport->viewports.vp1, 0, sizeof(viewport->viewports.vp1));
memcpy(&viewport->viewports.vp1, vp, vp->dwSize);
/* Empirical testing on a couple of d3d1 games showed that these values
* should be ignored. */
viewport->viewports.vp1.dvMinZ = 0.0;
viewport->viewports.vp1.dvMaxZ = 1.0;
if (SUCCEEDED(IDirect3DDevice3_GetCurrentViewport(&device->IDirect3DDevice3_iface, &current_viewport)))
{
if (current_viewport == iface)
viewport_activate(viewport, FALSE);
IDirect3DViewport3_Release(current_viewport);
}
wined3d_mutex_unlock();
return D3D_OK;
return DD_OK;
}
/*****************************************************************************
@@ -891,44 +882,53 @@ static HRESULT WINAPI d3d_viewport_NextLight(IDirect3DViewport3 *iface,
* IDirect3DViewport2 Methods.
*****************************************************************************/
static HRESULT WINAPI d3d_viewport_GetViewport2(IDirect3DViewport3 *iface, D3DVIEWPORT2 *vp)
/*****************************************************************************
* IDirect3DViewport3::GetViewport2
*
* Returns the currently set viewport in a D3DVIEWPORT2 structure.
* Similar to IDirect3DViewport3::GetViewport
*
* Params:
* lpData: Pointer to the structure to fill
*
* Returns:
* D3D_OK on success
* DDERR_INVALIDPARAMS if the viewport was set with
* IDirect3DViewport3::SetViewport
* DDERR_INVALIDPARAMS if Data is NULL
*
*****************************************************************************/
static HRESULT WINAPI d3d_viewport_GetViewport2(IDirect3DViewport3 *iface, D3DVIEWPORT2 *lpData)
{
struct d3d_viewport *viewport = impl_from_IDirect3DViewport3(iface);
DWORD size;
struct d3d_viewport *This = impl_from_IDirect3DViewport3(iface);
DWORD dwSize;
TRACE("iface %p, vp %p.\n", iface, vp);
if (!vp)
return DDERR_INVALIDPARAMS;
TRACE("iface %p, data %p.\n", iface, lpData);
wined3d_mutex_lock();
size = vp->dwSize;
if (viewport->use_vp2)
{
memcpy(vp, &viewport->viewports.vp2, size);
}
else
{
dwSize = lpData->dwSize;
if (This->use_vp2)
memcpy(lpData, &(This->viewports.vp2), dwSize);
else {
D3DVIEWPORT2 vp2;
vp2.dwSize = sizeof(vp2);
vp2.dwX = viewport->viewports.vp1.dwX;
vp2.dwY = viewport->viewports.vp1.dwY;
vp2.dwWidth = viewport->viewports.vp1.dwWidth;
vp2.dwHeight = viewport->viewports.vp1.dwHeight;
vp2.dwX = This->viewports.vp1.dwX;
vp2.dwY = This->viewports.vp1.dwY;
vp2.dwWidth = This->viewports.vp1.dwWidth;
vp2.dwHeight = This->viewports.vp1.dwHeight;
vp2.dvClipX = 0.0;
vp2.dvClipY = 0.0;
vp2.dvClipWidth = 0.0;
vp2.dvClipHeight = 0.0;
vp2.dvMinZ = viewport->viewports.vp1.dvMinZ;
vp2.dvMaxZ = viewport->viewports.vp1.dvMaxZ;
memcpy(vp, &vp2, size);
vp2.dvMinZ = This->viewports.vp1.dvMinZ;
vp2.dvMaxZ = This->viewports.vp1.dvMaxZ;
memcpy(lpData, &vp2, dwSize);
}
if (TRACE_ON(ddraw))
{
TRACE(" returning D3DVIEWPORT2 :\n");
_dump_D3DVIEWPORT2(vp);
_dump_D3DVIEWPORT2(lpData);
}
wined3d_mutex_unlock();
@@ -936,62 +936,45 @@ static HRESULT WINAPI d3d_viewport_GetViewport2(IDirect3DViewport3 *iface, D3DVI
return D3D_OK;
}
static HRESULT WINAPI d3d_viewport_SetViewport2(IDirect3DViewport3 *iface, D3DVIEWPORT2 *vp)
/*****************************************************************************
* IDirect3DViewport3::SetViewport2
*
* Sets the viewport from a D3DVIEWPORT2 structure
*
* Params:
* lpData: Viewport to set
*
* Returns:
* D3D_OK on success
*
*****************************************************************************/
static HRESULT WINAPI d3d_viewport_SetViewport2(IDirect3DViewport3 *iface, D3DVIEWPORT2 *lpData)
{
struct d3d_viewport *viewport = impl_from_IDirect3DViewport3(iface);
struct d3d_device *device = viewport->active_device;
struct wined3d_sub_resource_desc rt_desc;
struct wined3d_rendertarget_view *rtv;
struct d3d_viewport *This = impl_from_IDirect3DViewport3(iface);
IDirect3DViewport3 *current_viewport;
struct ddraw_surface *surface;
TRACE("iface %p, vp %p.\n", iface, vp);
if (!vp)
return DDERR_INVALIDPARAMS;
TRACE("iface %p, data %p.\n", iface, lpData);
if (TRACE_ON(ddraw))
{
TRACE(" getting D3DVIEWPORT2 :\n");
_dump_D3DVIEWPORT2(vp);
}
if (!device)
{
WARN("Viewport not bound to a device, returning D3DERR_VIEWPORTHASNODEVICE.\n");
return D3DERR_VIEWPORTHASNODEVICE;
_dump_D3DVIEWPORT2(lpData);
}
wined3d_mutex_lock();
if (device->version > 1)
This->use_vp2 = 1;
memset(&(This->viewports.vp2), 0, sizeof(This->viewports.vp2));
memcpy(&(This->viewports.vp2), lpData, lpData->dwSize);
if (This->active_device)
{
if (!(rtv = wined3d_device_get_rendertarget_view(device->wined3d_device, 0)))
IDirect3DDevice3 *d3d_device3 = &This->active_device->IDirect3DDevice3_iface;
if (SUCCEEDED(IDirect3DDevice3_GetCurrentViewport(d3d_device3, &current_viewport)))
{
wined3d_mutex_unlock();
return DDERR_INVALIDCAPS;
if (current_viewport == iface) viewport_activate(This, FALSE);
IDirect3DViewport3_Release(current_viewport);
}
surface = wined3d_rendertarget_view_get_sub_resource_parent(rtv);
wined3d_texture_get_sub_resource_desc(surface->wined3d_texture, surface->sub_resource_idx, &rt_desc);
if (vp->dwX > rt_desc.width || vp->dwWidth > rt_desc.width - vp->dwX
|| vp->dwY > rt_desc.height || vp->dwHeight > rt_desc.height - vp->dwY)
{
WARN("Invalid viewport, returning DDERR_INVALIDPARAMS.\n");
wined3d_mutex_unlock();
return DDERR_INVALIDPARAMS;
}
}
viewport->use_vp2 = 1;
memset(&viewport->viewports.vp2, 0, sizeof(viewport->viewports.vp2));
memcpy(&viewport->viewports.vp2, vp, vp->dwSize);
if (SUCCEEDED(IDirect3DDevice3_GetCurrentViewport(&device->IDirect3DDevice3_iface, &current_viewport)))
{
if (current_viewport == iface)
viewport_activate(viewport, FALSE);
IDirect3DViewport3_Release(current_viewport);
}
wined3d_mutex_unlock();

View File

@@ -41,7 +41,7 @@ list(APPEND SOURCE
wined3d_main.c
precomp.h)
add_library(d3dwine MODULE
add_library(d3dwine SHARED
${SOURCE}
version.rc
${CMAKE_CURRENT_BINARY_DIR}/d3dwine.def)

View File

@@ -611,7 +611,7 @@ static void shader_arb_vs_local_constants(const struct arb_vs_compiled_shader *g
unsigned char i;
/* Upload the position fixup */
shader_get_position_fixup(context, state, 1, position_fixup);
shader_get_position_fixup(context, state, position_fixup);
GL_EXTCALL(glProgramLocalParameter4fvARB(GL_VERTEX_PROGRAM_ARB, gl_shader->pos_fixup, position_fixup));
if (!gl_shader->num_int_consts) return;
@@ -1061,7 +1061,7 @@ static void shader_arb_get_register_name(const struct wined3d_shader_instruction
/* This is better than nothing for now */
sprintf(register_name, "fragment.texcoord[%s + %u]", rel_reg, reg->idx[0].offset);
}
else if(ctx->cur_ps_args->super.vp_mode != WINED3D_VP_MODE_SHADER)
else if(ctx->cur_ps_args->super.vp_mode != vertexshader)
{
/* This is problematic because we'd have to consult the ctx->ps_input strings
* for where to find the varying. Some may be "0.0", others can be texcoords or
@@ -1416,6 +1416,9 @@ static void shader_hw_sample(const struct wined3d_shader_instruction *ins, DWORD
struct shader_arb_ctx_priv *priv = ins->ctx->backend_data;
const char *mod;
BOOL pshader = shader_is_pshader_version(ins->ctx->reg_maps->shader_version.type);
const struct wined3d_shader *shader;
const struct wined3d_device *device;
const struct wined3d_gl_info *gl_info;
const char *tex_dst = dst_str;
struct color_fixup_masks masks;
@@ -1429,8 +1432,12 @@ static void shader_hw_sample(const struct wined3d_shader_instruction *ins, DWORD
break;
case WINED3D_SHADER_RESOURCE_TEXTURE_2D:
shader = ins->ctx->shader;
device = shader->device;
gl_info = &device->adapter->gl_info;
if (pshader && priv->cur_ps_args->super.np2_fixup & (1u << sampler_idx)
&& ins->ctx->gl_info->supported[ARB_TEXTURE_RECTANGLE])
&& gl_info->supported[ARB_TEXTURE_RECTANGLE])
tex_type = "RECT";
else
tex_type = "2D";
@@ -3415,68 +3422,73 @@ static void init_ps_input(const struct wined3d_shader *shader,
const char *semantic_name;
DWORD semantic_idx;
if (args->super.vp_mode == WINED3D_VP_MODE_SHADER)
switch(args->super.vp_mode)
{
/* That one is easy. The vertex shaders provide v0-v7 in
* fragment.texcoord and v8 and v9 in fragment.color. */
for (i = 0; i < 8; ++i)
{
priv->ps_input[i] = texcoords[i];
}
priv->ps_input[8] = "fragment.color.primary";
priv->ps_input[9] = "fragment.color.secondary";
return;
}
case pretransformed:
case fixedfunction:
/* The pixelshader has to collect the varyings on its own. In any case properly load
* color0 and color1. In the case of pretransformed vertices also load texcoords. Set
* other attribs to 0.0.
*
* For fixedfunction this behavior is correct, according to the tests. For pretransformed
* we'd either need a replacement shader that can load other attribs like BINORMAL, or
* load the texcoord attrib pointers to match the pixel shader signature
*/
for (i = 0; i < shader->input_signature.element_count; ++i)
{
input = &shader->input_signature.elements[i];
if (!(semantic_name = input->semantic_name))
continue;
semantic_idx = input->semantic_idx;
/* The fragment shader has to collect the varyings on its own. In any case
* properly load color0 and color1. In the case of pre-transformed
* vertices also load texture coordinates. Set other attributes to 0.0.
*
* For fixed-function this behavior is correct, according to the tests.
* For pre-transformed we'd either need a replacement shader that can load
* other attributes like BINORMAL, or load the texture coordinate
* attribute pointers to match the fragment shader signature. */
for (i = 0; i < shader->input_signature.element_count; ++i)
{
input = &shader->input_signature.elements[i];
if (!(semantic_name = input->semantic_name))
continue;
semantic_idx = input->semantic_idx;
if (shader_match_semantic(semantic_name, WINED3D_DECL_USAGE_COLOR))
{
if (!semantic_idx)
priv->ps_input[input->register_idx] = "fragment.color.primary";
else if (semantic_idx == 1)
priv->ps_input[input->register_idx] = "fragment.color.secondary";
else
priv->ps_input[input->register_idx] = "0.0";
}
else if (args->super.vp_mode == fixedfunction)
{
priv->ps_input[input->register_idx] = "0.0";
}
else if (shader_match_semantic(semantic_name, WINED3D_DECL_USAGE_TEXCOORD))
{
if (semantic_idx < 8)
priv->ps_input[input->register_idx] = texcoords[semantic_idx];
else
priv->ps_input[input->register_idx] = "0.0";
}
else if (shader_match_semantic(semantic_name, WINED3D_DECL_USAGE_FOG))
{
if (!semantic_idx)
priv->ps_input[input->register_idx] = "fragment.fogcoord";
else
priv->ps_input[input->register_idx] = "0.0";
}
else
{
priv->ps_input[input->register_idx] = "0.0";
}
if (shader_match_semantic(semantic_name, WINED3D_DECL_USAGE_COLOR))
{
if (!semantic_idx)
priv->ps_input[input->register_idx] = "fragment.color.primary";
else if (semantic_idx == 1)
priv->ps_input[input->register_idx] = "fragment.color.secondary";
else
priv->ps_input[input->register_idx] = "0.0";
}
else if (args->super.vp_mode == WINED3D_VP_MODE_FF)
{
priv->ps_input[input->register_idx] = "0.0";
}
else if (shader_match_semantic(semantic_name, WINED3D_DECL_USAGE_TEXCOORD))
{
if (semantic_idx < 8)
priv->ps_input[input->register_idx] = texcoords[semantic_idx];
else
priv->ps_input[input->register_idx] = "0.0";
}
else if (shader_match_semantic(semantic_name, WINED3D_DECL_USAGE_FOG))
{
if (!semantic_idx)
priv->ps_input[input->register_idx] = "fragment.fogcoord";
else
priv->ps_input[input->register_idx] = "0.0";
}
else
{
priv->ps_input[input->register_idx] = "0.0";
}
TRACE("v%u, semantic %s%u is %s\n", input->register_idx,
semantic_name, semantic_idx, priv->ps_input[input->register_idx]);
}
break;
TRACE("v%u, semantic %s%u is %s\n", input->register_idx,
semantic_name, semantic_idx, priv->ps_input[input->register_idx]);
case vertexshader:
/* That one is easy. The vertex shaders provide v0-v7 in fragment.texcoord and v8 and v9 in
* fragment.color
*/
for(i = 0; i < 8; i++)
{
priv->ps_input[i] = texcoords[i];
}
priv->ps_input[8] = "fragment.color.primary";
priv->ps_input[9] = "fragment.color.secondary";
break;
}
}
@@ -6072,19 +6084,17 @@ static const char *get_argreg(struct wined3d_string_buffer *buffer, DWORD argnum
}
static void gen_ffp_instr(struct wined3d_string_buffer *buffer, unsigned int stage, BOOL color,
BOOL alpha, BOOL tmp_dst, DWORD op, DWORD dw_arg0, DWORD dw_arg1, DWORD dw_arg2)
BOOL alpha, DWORD dst, DWORD op, DWORD dw_arg0, DWORD dw_arg1, DWORD dw_arg2)
{
const char *dstmask, *dstreg, *arg0, *arg1, *arg2;
unsigned int mul = 1;
if (color && alpha)
dstmask = "";
else if (color)
dstmask = ".xyz";
else
dstmask = ".w";
if(color && alpha) dstmask = "";
else if(color) dstmask = ".xyz";
else dstmask = ".w";
dstreg = tmp_dst ? "tempreg" : "ret";
if(dst == tempreg) dstreg = "tempreg";
else dstreg = "ret";
arg0 = get_argreg(buffer, 0, stage, dw_arg0);
arg1 = get_argreg(buffer, 1, stage, dw_arg1);
@@ -6263,7 +6273,7 @@ static GLuint gen_arbfp_ffp_shader(const struct ffp_frag_settings *settings, con
if (arg0 == WINED3DTA_TEXTURE || arg1 == WINED3DTA_TEXTURE || arg2 == WINED3DTA_TEXTURE)
tex_read |= 1u << stage;
if (settings->op[stage].tmp_dst)
if (settings->op[stage].dst == tempreg)
tempreg_used = TRUE;
if (arg0 == WINED3DTA_TEMP || arg1 == WINED3DTA_TEMP || arg2 == WINED3DTA_TEMP)
tempreg_used = TRUE;
@@ -6381,17 +6391,12 @@ static GLuint gen_arbfp_ffp_shader(const struct ffp_frag_settings *settings, con
textype = arbfp_texture_target(settings->op[stage].tex_type);
if (settings->op[stage].projected == WINED3D_PROJECTION_NONE)
{
if(settings->op[stage].projected == proj_none) {
instr = "TEX";
}
else if (settings->op[stage].projected == WINED3D_PROJECTION_COUNT4
|| settings->op[stage].projected == WINED3D_PROJECTION_COUNT3)
{
} else if(settings->op[stage].projected == proj_count4 ||
settings->op[stage].projected == proj_count3) {
instr = "TXP";
}
else
{
} else {
FIXME("Unexpected projection mode %d\n", settings->op[stage].projected);
instr = "TXP";
}
@@ -6405,27 +6410,18 @@ static GLuint gen_arbfp_ffp_shader(const struct ffp_frag_settings *settings, con
shader_addline(&buffer, "SWZ arg1, bumpmat%u, y, w, 0, 0;\n", stage - 1);
shader_addline(&buffer, "DP3 ret.y, arg1, tex%u;\n", stage - 1);
/* With projective textures, texbem only divides the static
* texture coordinate, not the displacement, so multiply the
* displacement with the dividing parameter before passing it to
* TXP. */
if (settings->op[stage].projected != WINED3D_PROJECTION_NONE)
{
if (settings->op[stage].projected == WINED3D_PROJECTION_COUNT4)
{
/* with projective textures, texbem only divides the static texture coord, not the displacement,
* so multiply the displacement with the dividing parameter before passing it to TXP
*/
if (settings->op[stage].projected != proj_none) {
if(settings->op[stage].projected == proj_count4) {
shader_addline(&buffer, "MOV ret.w, fragment.texcoord[%u].w;\n", stage);
shader_addline(&buffer, "MUL ret.xyz, ret, fragment.texcoord[%u].w, fragment.texcoord[%u];\n",
stage, stage);
}
else
{
shader_addline(&buffer, "MUL ret.xyz, ret, fragment.texcoord[%u].w, fragment.texcoord[%u];\n", stage, stage);
} else {
shader_addline(&buffer, "MOV ret.w, fragment.texcoord[%u].z;\n", stage);
shader_addline(&buffer, "MAD ret.xyz, ret, fragment.texcoord[%u].z, fragment.texcoord[%u];\n",
stage, stage);
shader_addline(&buffer, "MAD ret.xyz, ret, fragment.texcoord[%u].z, fragment.texcoord[%u];\n", stage, stage);
}
}
else
{
} else {
shader_addline(&buffer, "ADD ret, ret, fragment.texcoord[%u];\n", stage);
}
@@ -6437,16 +6433,12 @@ static GLuint gen_arbfp_ffp_shader(const struct ffp_frag_settings *settings, con
stage - 1, stage - 1, stage - 1);
shader_addline(&buffer, "MUL tex%u, tex%u, ret.x;\n", stage, stage);
}
}
else if (settings->op[stage].projected == WINED3D_PROJECTION_COUNT3)
{
} else if(settings->op[stage].projected == proj_count3) {
shader_addline(&buffer, "MOV ret, fragment.texcoord[%u];\n", stage);
shader_addline(&buffer, "MOV ret.w, ret.z;\n");
shader_addline(&buffer, "%s tex%u, ret, texture[%u], %s;\n",
instr, stage, stage, textype);
}
else
{
} else {
shader_addline(&buffer, "%s tex%u, fragment.texcoord[%u], texture[%u], %s;\n",
instr, stage, stage, stage, textype);
}
@@ -6495,23 +6487,23 @@ static GLuint gen_arbfp_ffp_shader(const struct ffp_frag_settings *settings, con
if (settings->op[stage].aop == WINED3D_TOP_DISABLE)
{
gen_ffp_instr(&buffer, stage, TRUE, FALSE, settings->op[stage].tmp_dst,
gen_ffp_instr(&buffer, stage, TRUE, FALSE, settings->op[stage].dst,
settings->op[stage].cop, settings->op[stage].carg0,
settings->op[stage].carg1, settings->op[stage].carg2);
}
else if (op_equal)
{
gen_ffp_instr(&buffer, stage, TRUE, TRUE, settings->op[stage].tmp_dst,
gen_ffp_instr(&buffer, stage, TRUE, TRUE, settings->op[stage].dst,
settings->op[stage].cop, settings->op[stage].carg0,
settings->op[stage].carg1, settings->op[stage].carg2);
}
else if (settings->op[stage].cop != WINED3D_TOP_BUMPENVMAP
&& settings->op[stage].cop != WINED3D_TOP_BUMPENVMAP_LUMINANCE)
{
gen_ffp_instr(&buffer, stage, TRUE, FALSE, settings->op[stage].tmp_dst,
gen_ffp_instr(&buffer, stage, TRUE, FALSE, settings->op[stage].dst,
settings->op[stage].cop, settings->op[stage].carg0,
settings->op[stage].carg1, settings->op[stage].carg2);
gen_ffp_instr(&buffer, stage, FALSE, TRUE, settings->op[stage].tmp_dst,
gen_ffp_instr(&buffer, stage, FALSE, TRUE, settings->op[stage].dst,
settings->op[stage].aop, settings->op[stage].aarg0,
settings->op[stage].aarg1, settings->op[stage].aarg2);
}
@@ -6936,8 +6928,8 @@ static void arbfp_blitter_destroy(struct wined3d_blitter *blitter, struct wined3
heap_free(arbfp_blitter);
}
static void gen_packed_yuv_read(struct wined3d_string_buffer *buffer,
const struct arbfp_blit_type *type, char *luminance)
static BOOL gen_planar_yuv_read(struct wined3d_string_buffer *buffer, const struct arbfp_blit_type *type,
char *luminance)
{
char chroma;
const char *tex, *texinstr = "TXP";
@@ -6985,12 +6977,13 @@ static void gen_packed_yuv_read(struct wined3d_string_buffer *buffer,
shader_addline(buffer, "FLR texcrd.x, texcrd.x;\n");
shader_addline(buffer, "ADD texcrd.x, texcrd.x, coef.y;\n");
/* Multiply the x coordinate by 0.5 and get the fraction. This gives 0.25
* and 0.75 for the even and odd pixels respectively. */
/* Divide the x coordinate by 0.5 and get the fraction. This gives 0.25 and 0.75 for the
* even and odd pixels respectively
*/
shader_addline(buffer, "MUL texcrd2, texcrd, coef.y;\n");
shader_addline(buffer, "FRC texcrd2, texcrd2;\n");
/* Sample Pixel 1. */
/* Sample Pixel 1 */
shader_addline(buffer, "%s luminance, texcrd, texture[0], %s;\n", texinstr, tex);
/* Put the value into either of the chroma values */
@@ -7019,10 +7012,12 @@ static void gen_packed_yuv_read(struct wined3d_string_buffer *buffer,
/* This gives the correctly filtered luminance value */
shader_addline(buffer, "TEX luminance, fragment.texcoord[0], texture[0], %s;\n", tex);
return TRUE;
}
static void gen_yv12_read(struct wined3d_string_buffer *buffer,
const struct arbfp_blit_type *type, char *luminance)
static BOOL gen_yv12_read(struct wined3d_string_buffer *buffer, const struct arbfp_blit_type *type,
char *luminance)
{
const char *tex;
static const float yv12_coef[]
@@ -7084,6 +7079,7 @@ static void gen_yv12_read(struct wined3d_string_buffer *buffer,
*/
if (type->res_type == WINED3D_GL_RES_TYPE_TEX_2D)
{
shader_addline(buffer, "RCP chroma.w, size.y;\n");
shader_addline(buffer, "MUL texcrd2.y, texcrd.y, size.y;\n");
@@ -7091,7 +7087,7 @@ static void gen_yv12_read(struct wined3d_string_buffer *buffer,
shader_addline(buffer, "FLR texcrd2.y, texcrd2.y;\n");
shader_addline(buffer, "MAD texcrd.y, texcrd.y, yv12_coef.y, yv12_coef.x;\n");
/* Read odd lines from the right side (add size * 0.5 to the x coordinate). */
/* Read odd lines from the right side(add size * 0.5 to the x coordinate */
shader_addline(buffer, "ADD texcrd2.x, texcrd2.y, yv12_coef.y;\n"); /* To avoid 0.5 == 0.5 comparisons */
shader_addline(buffer, "FRC texcrd2.x, texcrd2.x;\n");
shader_addline(buffer, "SGE texcrd2.x, texcrd2.x, coef.y;\n");
@@ -7105,11 +7101,11 @@ static void gen_yv12_read(struct wined3d_string_buffer *buffer,
}
else
{
/* The y coordinate for V is in the range [size, size + size / 4). */
/* Read from [size - size+size/4] */
shader_addline(buffer, "FLR texcrd.y, texcrd.y;\n");
shader_addline(buffer, "MAD texcrd.y, texcrd.y, coef.w, size.y;\n");
/* Read odd lines from the right side (add size * 0.5 to the x coordinate). */
/* Read odd lines from the right side(add size * 0.5 to the x coordinate */
shader_addline(buffer, "ADD texcrd2.x, texcrd.y, yv12_coef.y;\n"); /* To avoid 0.5 == 0.5 comparisons */
shader_addline(buffer, "FRC texcrd2.x, texcrd2.x;\n");
shader_addline(buffer, "SGE texcrd2.x, texcrd2.x, coef.y;\n");
@@ -7165,10 +7161,12 @@ static void gen_yv12_read(struct wined3d_string_buffer *buffer,
shader_addline(buffer, "TEX luminance, texcrd, texture[0], %s;\n", tex);
}
*luminance = 'a';
return TRUE;
}
static void gen_nv12_read(struct wined3d_string_buffer *buffer,
const struct arbfp_blit_type *type, char *luminance)
static BOOL gen_nv12_read(struct wined3d_string_buffer *buffer, const struct arbfp_blit_type *type,
char *luminance)
{
const char *tex;
static const float nv12_coef[]
@@ -7244,7 +7242,7 @@ static void gen_nv12_read(struct wined3d_string_buffer *buffer,
}
else
{
/* The y coordinate for chroma is in the range [size, size + size / 2). */
/* Read from [size - size+size/2] */
shader_addline(buffer, "MAD texcrd.y, texcrd.y, coef.y, size.y;\n");
shader_addline(buffer, "FLR texcrd.x, texcrd.x;\n");
@@ -7299,6 +7297,8 @@ static void gen_nv12_read(struct wined3d_string_buffer *buffer,
shader_addline(buffer, "TEX luminance, texcrd, texture[0], %s;\n", tex);
}
*luminance = 'a';
return TRUE;
}
/* Context activation is done by the caller. */
@@ -7464,15 +7464,27 @@ static GLuint gen_yuv_shader(const struct wined3d_gl_info *gl_info, const struct
{
case COMPLEX_FIXUP_UYVY:
case COMPLEX_FIXUP_YUY2:
gen_packed_yuv_read(&buffer, type, &luminance_component);
if (!gen_planar_yuv_read(&buffer, type, &luminance_component))
{
string_buffer_free(&buffer);
return 0;
}
break;
case COMPLEX_FIXUP_YV12:
gen_yv12_read(&buffer, type, &luminance_component);
if (!gen_yv12_read(&buffer, type, &luminance_component))
{
string_buffer_free(&buffer);
return 0;
}
break;
case COMPLEX_FIXUP_NV12:
gen_nv12_read(&buffer, type, &luminance_component);
if (!gen_nv12_read(&buffer, type, &luminance_component))
{
string_buffer_free(&buffer);
return 0;
}
break;
default:
@@ -7698,7 +7710,7 @@ static BOOL arbfp_blit_supported(enum wined3d_blit_op blit_op, const struct wine
enum complex_fixup src_fixup;
BOOL decompress;
if (src_resource->type != WINED3D_RTYPE_TEXTURE_2D)
if (!context->gl_info->supported[ARB_FRAGMENT_PROGRAM])
return FALSE;
if (blit_op == WINED3D_BLIT_OP_RAW_BLIT && dst_format->id == src_format->id)
@@ -7783,105 +7795,59 @@ static BOOL arbfp_blit_supported(enum wined3d_blit_op blit_op, const struct wine
}
static DWORD arbfp_blitter_blit(struct wined3d_blitter *blitter, enum wined3d_blit_op op,
struct wined3d_context *context, struct wined3d_texture *src_texture, unsigned int src_sub_resource_idx,
DWORD src_location, const RECT *src_rect, struct wined3d_texture *dst_texture,
unsigned int dst_sub_resource_idx, DWORD dst_location, const RECT *dst_rect,
struct wined3d_context *context, struct wined3d_surface *src_surface, DWORD src_location,
const RECT *src_rect, struct wined3d_surface *dst_surface, DWORD dst_location, const RECT *dst_rect,
const struct wined3d_color_key *color_key, enum wined3d_texture_filter_type filter)
{
unsigned int src_sub_resource_idx = surface_get_sub_resource_idx(src_surface);
struct wined3d_texture *src_texture = src_surface->container;
struct wined3d_texture *dst_texture = dst_surface->container;
struct wined3d_device *device = dst_texture->resource.device;
struct wined3d_texture *staging_texture = NULL;
struct wined3d_arbfp_blitter *arbfp_blitter;
struct wined3d_color_key alpha_test_key;
struct wined3d_blitter *next;
unsigned int src_level;
RECT s, d;
TRACE("blitter %p, op %#x, context %p, src_texture %p, src_sub_resource_idx %u, src_location %s, src_rect %s, "
"dst_texture %p, dst_sub_resource_idx %u, dst_location %s, dst_rect %s, colour_key %p, filter %s.\n",
blitter, op, context, src_texture, src_sub_resource_idx, wined3d_debug_location(src_location),
wine_dbgstr_rect(src_rect), dst_texture, dst_sub_resource_idx, wined3d_debug_location(dst_location),
wine_dbgstr_rect(dst_rect), color_key, debug_d3dtexturefiltertype(filter));
if (!arbfp_blit_supported(op, context, &src_texture->resource, src_location,
&dst_texture->resource, dst_location))
{
if (!(next = blitter->next))
{
ERR("No blitter to handle blit op %#x.\n", op);
return dst_location;
}
TRACE("Forwarding to blitter %p.\n", next);
return next->ops->blitter_blit(next, op, context, src_texture, src_sub_resource_idx, src_location,
src_rect, dst_texture, dst_sub_resource_idx, dst_location, dst_rect, color_key, filter);
if ((next = blitter->next))
return next->ops->blitter_blit(next, op, context, src_surface, src_location,
src_rect, dst_surface, dst_location, dst_rect, color_key, filter);
}
arbfp_blitter = CONTAINING_RECORD(blitter, struct wined3d_arbfp_blitter, blitter);
if (!(src_texture->resource.access & WINED3D_RESOURCE_ACCESS_GPU))
{
struct wined3d_resource_desc desc;
struct wined3d_box upload_box;
HRESULT hr;
TRACE("Source texture is not GPU accessible, creating a staging texture.\n");
src_level = src_sub_resource_idx % src_texture->level_count;
desc.resource_type = WINED3D_RTYPE_TEXTURE_2D;
desc.format = src_texture->resource.format->id;
desc.multisample_type = src_texture->resource.multisample_type;
desc.multisample_quality = src_texture->resource.multisample_quality;
desc.usage = WINED3DUSAGE_PRIVATE;
desc.access = WINED3D_RESOURCE_ACCESS_GPU;
desc.width = wined3d_texture_get_level_width(src_texture, src_level);
desc.height = wined3d_texture_get_level_height(src_texture, src_level);
desc.depth = 1;
desc.size = 0;
if (FAILED(hr = wined3d_texture_create(device, &desc, 1, 1, 0,
NULL, NULL, &wined3d_null_parent_ops, &staging_texture)))
{
ERR("Failed to create staging texture, hr %#x.\n", hr);
return dst_location;
}
wined3d_box_set(&upload_box, 0, 0, desc.width, desc.height, 0, desc.depth);
wined3d_texture_upload_from_texture(staging_texture, 0, 0, 0, 0,
src_texture, src_sub_resource_idx, &upload_box);
src_texture = staging_texture;
src_sub_resource_idx = 0;
}
else if (wined3d_settings.offscreen_rendering_mode != ORM_FBO
&& (src_texture->sub_resources[src_sub_resource_idx].locations
& (WINED3D_LOCATION_TEXTURE_RGB | WINED3D_LOCATION_DRAWABLE)) == WINED3D_LOCATION_DRAWABLE
/* Now load the surface */
if (wined3d_settings.offscreen_rendering_mode != ORM_FBO
&& (surface_get_sub_resource(src_surface)->locations
& (WINED3D_LOCATION_TEXTURE_RGB | WINED3D_LOCATION_DRAWABLE))
== WINED3D_LOCATION_DRAWABLE
&& !wined3d_resource_is_offscreen(&src_texture->resource))
{
unsigned int src_level = src_sub_resource_idx % src_texture->level_count;
/* Without FBO blits transferring from the drawable to the texture is
* expensive, because we have to flip the data in sysmem. Since we can
* flip in the blitter, we don't actually need that flip anyway. So we
* use the surface's texture as scratch texture, and flip the source
* rectangle instead. */
texture2d_load_fb_texture(src_texture, src_sub_resource_idx, FALSE, context);
surface_load_fb_texture(src_surface, FALSE, context);
s = *src_rect;
src_level = src_sub_resource_idx % src_texture->level_count;
s.top = wined3d_texture_get_level_height(src_texture, src_level) - s.top;
s.bottom = wined3d_texture_get_level_height(src_texture, src_level) - s.bottom;
src_rect = &s;
}
else
{
wined3d_texture_load(src_texture, context, FALSE);
}
context_apply_ffp_blit_state(context, device);
context_apply_blit_state(context, device);
if (dst_location == WINED3D_LOCATION_DRAWABLE)
{
d = *dst_rect;
wined3d_texture_translate_drawable_coords(dst_texture, context->win_handle, &d);
surface_translate_drawable_coords(dst_surface, context->win_handle, &d);
dst_rect = &d;
}
@@ -7891,16 +7857,15 @@ static DWORD arbfp_blitter_blit(struct wined3d_blitter *blitter, enum wined3d_bl
if (dst_location == WINED3D_LOCATION_DRAWABLE)
{
TRACE("Destination texture %p is onscreen.\n", dst_texture);
TRACE("Destination surface %p is onscreen.\n", dst_surface);
buffer = wined3d_texture_get_gl_buffer(dst_texture);
}
else
{
TRACE("Destination texture %p is offscreen.\n", dst_texture);
TRACE("Destination surface %p is offscreen.\n", dst_surface);
buffer = GL_COLOR_ATTACHMENT0;
}
context_apply_fbo_state_blit(context, GL_DRAW_FRAMEBUFFER,
&dst_texture->resource, dst_sub_resource_idx, NULL, 0, dst_location);
context_apply_fbo_state_blit(context, GL_DRAW_FRAMEBUFFER, dst_surface, NULL, dst_location);
context_set_draw_buffer(context, buffer);
context_check_fbo_status(context, GL_DRAW_FRAMEBUFFER);
context_invalidate_state(context, STATE_FRAMEBUFFER);
@@ -7917,16 +7882,14 @@ static DWORD arbfp_blitter_blit(struct wined3d_blitter *blitter, enum wined3d_bl
arbfp_blit_set(arbfp_blitter, context, src_texture, src_sub_resource_idx, color_key);
/* Draw a textured quad */
context_draw_textured_quad(context, src_texture, src_sub_resource_idx, src_rect, dst_rect, filter);
draw_textured_quad(src_texture, src_sub_resource_idx, context, src_rect, dst_rect, filter);
/* Leave the opengl state valid for blitting */
arbfp_blit_unset(context->gl_info);
if (dst_texture->swapchain && (dst_texture->swapchain->front_buffer == dst_texture))
context->gl_info->gl_ops.gl.p_glFlush();
if (staging_texture)
wined3d_texture_decref(staging_texture);
if (wined3d_settings.strict_draw_ordering
|| (dst_texture->swapchain && (dst_texture->swapchain->front_buffer == dst_texture)))
context->gl_info->gl_ops.gl.p_glFlush(); /* Flush to ensure ordering across contexts. */
return dst_location;
}

View File

@@ -341,8 +341,9 @@ static GLuint find_tmpreg(const struct texture_stage_op op[MAX_TEXTURES])
lowest_read = i;
}
if (lowest_write == -1 && op[i].tmp_dst)
if(lowest_write == -1 && op[i].dst == tempreg) {
lowest_write = i;
}
if(op[i].carg1 == WINED3DTA_TEXTURE || op[i].carg2 == WINED3DTA_TEXTURE || op[i].carg0 == WINED3DTA_TEXTURE ||
op[i].aarg1 == WINED3DTA_TEXTURE || op[i].aarg2 == WINED3DTA_TEXTURE || op[i].aarg0 == WINED3DTA_TEXTURE) {
@@ -504,13 +505,16 @@ static GLuint gen_ati_shader(const struct texture_stage_op op[MAX_TEXTURES],
TRACE("glSampleMapATI(GL_REG_%d_ATI, GL_TEXTURE_%d_ARB, GL_SWIZZLE_STR_ATI)\n",
stage, stage);
GL_EXTCALL(glSampleMapATI(GL_REG_0_ATI + stage, GL_TEXTURE0_ARB + stage, GL_SWIZZLE_STR_ATI));
if (op[stage + 1].projected == WINED3D_PROJECTION_NONE)
GL_EXTCALL(glSampleMapATI(GL_REG_0_ATI + stage,
GL_TEXTURE0_ARB + stage,
GL_SWIZZLE_STR_ATI));
if(op[stage + 1].projected == proj_none) {
swizzle = GL_SWIZZLE_STR_ATI;
else if (op[stage + 1].projected == WINED3D_PROJECTION_COUNT4)
} else if(op[stage + 1].projected == proj_count4) {
swizzle = GL_SWIZZLE_STQ_DQ_ATI;
else
} else {
swizzle = GL_SWIZZLE_STR_DR_ATI;
}
TRACE("glPassTexCoordATI(GL_REG_%d_ATI, GL_TEXTURE_%d_ARB, %s)\n",
stage + 1, stage + 1, debug_swizzle(swizzle));
GL_EXTCALL(glPassTexCoordATI(GL_REG_0_ATI + stage + 1,
@@ -575,12 +579,13 @@ static GLuint gen_ati_shader(const struct texture_stage_op op[MAX_TEXTURES],
if (op[stage].cop == WINED3D_TOP_DISABLE)
break;
if (op[stage].projected == WINED3D_PROJECTION_NONE)
if(op[stage].projected == proj_none) {
swizzle = GL_SWIZZLE_STR_ATI;
else if (op[stage].projected == WINED3D_PROJECTION_COUNT3)
} else if(op[stage].projected == proj_count3) {
swizzle = GL_SWIZZLE_STR_DR_ATI;
else
} else {
swizzle = GL_SWIZZLE_STQ_DQ_ATI;
}
if (op_reads_texture(&op[stage]))
{
@@ -619,18 +624,14 @@ static GLuint gen_ati_shader(const struct texture_stage_op op[MAX_TEXTURES],
break;
}
if (op[stage].tmp_dst)
{
/* If we're writing to D3DTA_TEMP, but never reading from it we
* don't have to write there in the first place. Skip the entire
* stage, this saves some GPU time. */
if (tmparg == GL_NONE)
continue;
if(op[stage].dst == tempreg) {
/* If we're writing to D3DTA_TEMP, but never reading from it we don't have to write there in the first place.
* skip the entire stage, this saves some GPU time
*/
if(tmparg == GL_NONE) continue;
dstreg = tmparg;
}
else
{
} else {
dstreg = GL_REG_0_ATI;
}

View File

@@ -615,7 +615,10 @@ static BOOL wined3d_buffer_prepare_location(struct wined3d_buffer *buffer,
return TRUE;
if (!wined3d_resource_allocate_sysmem(&buffer->resource))
{
ERR("Failed to allocate system memory.\n");
return FALSE;
}
return TRUE;
case WINED3D_LOCATION_BUFFER:
@@ -1180,6 +1183,8 @@ static void wined3d_buffer_unmap(struct wined3d_buffer *buffer)
}
GL_EXTCALL(glUnmapBuffer(buffer->buffer_type_hint));
if (wined3d_settings.strict_draw_ordering)
gl_info->gl_ops.gl.p_glFlush(); /* Flush to ensure ordering across contexts. */
context_release(context);
buffer_clear_dirty_areas(buffer);
@@ -1375,9 +1380,6 @@ static HRESULT buffer_init(struct wined3d_buffer *buffer, struct wined3d_device
buffer->bind_flags = bind_flags;
buffer->locations = WINED3D_LOCATION_SYSMEM;
if (!wined3d_resource_allocate_sysmem(&buffer->resource))
return E_OUTOFMEMORY;
TRACE("buffer %p, size %#x, usage %#x, format %s, memory @ %p.\n",
buffer, buffer->resource.size, buffer->resource.usage,
debug_d3dformat(buffer->resource.format->id), buffer->resource.heap_memory);
@@ -1426,7 +1428,7 @@ static HRESULT buffer_init(struct wined3d_buffer *buffer, struct wined3d_device
if (data)
wined3d_device_update_sub_resource(device, &buffer->resource,
0, NULL, data->data, data->row_pitch, data->slice_pitch, 0);
0, NULL, data->data, data->row_pitch, data->slice_pitch);
return WINED3D_OK;
}

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