Merge pull request #4146 from lemondrops/removals

Removals
This commit is contained in:
Miran Grča
2024-02-13 18:42:07 +01:00
committed by GitHub
71 changed files with 46 additions and 587 deletions

View File

@@ -153,6 +153,7 @@ cmake_dependent_option(ISAMEM_RAMPAGE "AST Rampage"
cmake_dependent_option(ISAMEM_IAB "Intel Above Board" ON "DEV_BRANCH" OFF)
cmake_dependent_option(ISAMEM_BRAT "BocaRAM/AT" ON "DEV_BRANCH" OFF)
cmake_dependent_option(LASERXT "VTech Laser XT" ON "DEV_BRANCH" OFF)
cmake_dependent_option(MGA2 "Matrox Millennium II and Productiva G100" ON "DEV_BRANCH" OFF)
cmake_dependent_option(OLIVETTI "Olivetti M290" ON "DEV_BRANCH" OFF)
cmake_dependent_option(OPEN_AT "OpenAT" ON "DEV_BRANCH" OFF)
cmake_dependent_option(PAS16 "Pro Audio Spectrum 16" ON "DEV_BRANCH" OFF)

View File

@@ -139,8 +139,6 @@ load_general(void)
rctrl_is_lalt = ini_section_get_int(cat, "rctrl_is_lalt", 0);
update_icons = ini_section_get_int(cat, "update_icons", 1);
status_icons_fullscreen = !!ini_section_get_int(cat, "status_icons_fullscreen", 0);
window_remember = ini_section_get_int(cat, "window_remember", 0);
if (!window_remember && !(vid_resize & 2))
@@ -1859,11 +1857,6 @@ save_general(void)
else
ini_section_delete_var(cat, "open_dir_usr_path");
if (status_icons_fullscreen)
ini_section_set_int(cat, "status_icons_fullscreen", status_icons_fullscreen);
else
ini_section_delete_var(cat, "status_icons_fullscreen");
if (video_framerate != -1)
ini_section_set_int(cat, "video_gl_framerate", video_framerate);
else

View File

@@ -97,7 +97,6 @@
#define IDS_2108 2108 // "%u MB (CHS: %i, %i, %i)"
#define IDS_2109 2109 // "Floppy %i (%s): %ls"
#define IDS_2110 2110 // "All floppy images (*.0??;*.."
#define IDS_2112 2112 // "Unable to initialize SDL..."
#define IDS_2113 2113 // "Are you sure you want to..."
#define IDS_2114 2114 // "Are you sure you want to..."
#define IDS_2115 2115 // "Unable to initialize Ghostscript..."

View File

@@ -107,7 +107,6 @@ extern int infocus;
extern char emu_version[200]; /* version ID string */
extern int rctrl_is_lalt;
extern int update_icons;
extern int status_icons_fullscreen;
extern int kbd_req_capture;
extern int hide_status_bar;

View File

@@ -439,8 +439,10 @@ extern const device_t pgc_device;
extern const device_t millennium_device;
extern const device_t mystique_device;
extern const device_t mystique_220_device;
# if defined(DEV_BRANCH) && defined(USE_MGA2)
extern const device_t millennium_ii_device;
extern const device_t productiva_g100_device;
# endif
/* Oak OTI-0x7 */
extern const device_t oti037c_device;

View File

@@ -197,8 +197,7 @@ if(WIN32)
else()
target_sources(plat PRIVATE win_joystick_rawinput.c)
endif()
target_sources(ui PRIVATE qt_d3d9renderer.hpp qt_d3d9renderer.cpp)
target_link_libraries(86Box hid d3d9)
target_link_libraries(86Box hid)
# CMake 3.22 messed this up for clang/clang++
# See https://gitlab.kitware.com/cmake/cmake/-/issues/22611

View File

@@ -814,9 +814,6 @@ msgstr "Imatges avançates del sector"
msgid "Flux images"
msgstr "Imatges de flux"
msgid "Unable to initialize SDL, SDL2.dll is required"
msgstr "No has estat possible inicialitzar SDL, és necessari SDL2.dll"
msgid "Are you sure you want to hard reset the emulated machine?"
msgstr "Esteu segur que voleu restablir la màquina emulada?"

View File

@@ -814,9 +814,6 @@ msgstr "Rozšířené sektorové obrazy"
msgid "Flux images"
msgstr "Obrazy magnetického toku"
msgid "Unable to initialize SDL, SDL2.dll is required"
msgstr "Nastala chyba při inicializaci knihovny SDL, je potřeba SDL2.dll"
msgid "Are you sure you want to hard reset the emulated machine?"
msgstr "Opravdu chcete resetovat emulovaný počítač?"

View File

@@ -814,9 +814,6 @@ msgstr "Fortgeschrittene Sektorimages"
msgid "Flux images"
msgstr "Fluximages"
msgid "Unable to initialize SDL, SDL2.dll is required"
msgstr "SDL konnte nicht initialisiert werden, die Datei SDL2.dll wird benötigt"
msgid "Are you sure you want to hard reset the emulated machine?"
msgstr "Sind Sie sich sicher, dass Sie einen Hard-Reset für das emulierte System durchführen wollen?"

View File

@@ -814,9 +814,6 @@ msgstr "Advanced sector images"
msgid "Flux images"
msgstr "Flux images"
msgid "Unable to initialize SDL, SDL2.dll is required"
msgstr "Unable to initialize SDL, SDL2.dll is required"
msgid "Are you sure you want to hard reset the emulated machine?"
msgstr "Are you sure you want to hard reset the emulated machine?"

View File

@@ -814,9 +814,6 @@ msgstr "Advanced sector images"
msgid "Flux images"
msgstr "Flux images"
msgid "Unable to initialize SDL, SDL2.dll is required"
msgstr "Unable to initialize SDL, SDL2.dll is required"
msgid "Are you sure you want to hard reset the emulated machine?"
msgstr "Are you sure you want to hard reset the emulated machine?"

View File

@@ -814,9 +814,6 @@ msgstr "Imágenes avanzadas de sector"
msgid "Flux images"
msgstr "Imágenes de fluxo"
msgid "Unable to initialize SDL, SDL2.dll is required"
msgstr "Incapaz de inicializar SDL, se requiere SDL2.dll"
msgid "Are you sure you want to hard reset the emulated machine?"
msgstr "¿Está seguro de que quieres hacer una reinicialización completa de la máquina emulada?"

View File

@@ -814,9 +814,6 @@ msgstr "Kehittyneet sektorilevykuvat"
msgid "Flux images"
msgstr "Flux-levykuvat"
msgid "Unable to initialize SDL, SDL2.dll is required"
msgstr "SDL:n alustus epäonnistui. Tarvitaan SDL2.dll"
msgid "Are you sure you want to hard reset the emulated machine?"
msgstr "Haluatko varmasti käynnistää emuloidun tietokoneen uudelleen?"

View File

@@ -814,9 +814,6 @@ msgstr "Images du secteur avancés"
msgid "Flux images"
msgstr "Images du flux"
msgid "Unable to initialize SDL, SDL2.dll is required"
msgstr "Impossible d'initialiser SDL, SDL2.dll est nécessaire"
msgid "Are you sure you want to hard reset the emulated machine?"
msgstr "Etes-vous sûr de vouloir réinitialiser la machine émulée ?"

View File

@@ -814,9 +814,6 @@ msgstr "Napredne sektorske slike"
msgid "Flux images"
msgstr "Flux slike"
msgid "Unable to initialize SDL, SDL2.dll is required"
msgstr "Nije moguće inicijalizirati SDL, SDL2.dll je potrebno"
msgid "Are you sure you want to hard reset the emulated machine?"
msgstr "Jeste li sigurni da želite hard resetirati emulirani sistem?"

View File

@@ -814,9 +814,6 @@ msgstr "Továbbfejlesztett szektor képek"
msgid "Flux images"
msgstr "Flux képekfájlok"
msgid "Unable to initialize SDL, SDL2.dll is required"
msgstr "Az SDL inicializálása nem lehetséges, az SDL2.dll fájl szükséges"
msgid "Are you sure you want to hard reset the emulated machine?"
msgstr "Biztosan szeretné újraindítani az emulált gépet?"

View File

@@ -814,9 +814,6 @@ msgstr "Immagini da settori avanzati"
msgid "Flux images"
msgstr "Immagini flusso"
msgid "Unable to initialize SDL, SDL2.dll is required"
msgstr "Impossibile inizializzare SDL, SDL2.dll è necessario"
msgid "Are you sure you want to hard reset the emulated machine?"
msgstr "Sei sicuro di voler riavviare la macchina emulata?"

View File

@@ -814,9 +814,6 @@ msgstr "アドバンスドセクターイメージ"
msgid "Flux images"
msgstr "Fluxイメージ"
msgid "Unable to initialize SDL, SDL2.dll is required"
msgstr "SDLが初期化できません。SDL2.dllが必要です"
msgid "Are you sure you want to hard reset the emulated machine?"
msgstr "使用中のマシンをハード リセットしますか?"

View File

@@ -814,9 +814,6 @@ msgstr "어드밴스드 섹터 이미지"
msgid "Flux images"
msgstr "플럭스 이미지"
msgid "Unable to initialize SDL, SDL2.dll is required"
msgstr "SDL을 초기화할 수 없습니다. SDL2.dll이 필요합니다"
msgid "Are you sure you want to hard reset the emulated machine?"
msgstr "실행중인 머신을 재시작하시겠습니까?"

View File

@@ -814,9 +814,6 @@ msgstr "Zaawansowane obrazy sektorów"
msgid "Flux images"
msgstr "Flux images"
msgid "Unable to initialize SDL, SDL2.dll is required"
msgstr "Nie można zainicjować SDL, wymagany SDL2.dll"
msgid "Are you sure you want to hard reset the emulated machine?"
msgstr "Jesteś pewien że chcesz wykonać twardy reset emulowanej maszyny?"

View File

@@ -814,9 +814,6 @@ msgstr "Imagens de setor avançado"
msgid "Flux images"
msgstr "Imagens de fluxo"
msgid "Unable to initialize SDL, SDL2.dll is required"
msgstr "Não é possível inicializar o SDL, é necessário o SDL2.dll"
msgid "Are you sure you want to hard reset the emulated machine?"
msgstr "Tem certeza de que deseja reiniciar completamente a máquina emulada?"

View File

@@ -814,9 +814,6 @@ msgstr "Imagens avançadas de sector"
msgid "Flux images"
msgstr "Imagens de fluxo"
msgid "Unable to initialize SDL, SDL2.dll is required"
msgstr "Não foi possível inicializar o SDL. O ficheiro SDL2.dll é necessário!"
msgid "Are you sure you want to hard reset the emulated machine?"
msgstr "Tem a certeza de que quer um reinício completo da máquina emulada?"

View File

@@ -31,9 +31,6 @@ msgstr "&Скрыть строку состояния"
msgid "Hide &toolbar"
msgstr "С&крыть панель инструментов"
msgid "Show status icons in fullscreen"
msgstr "Показывать значки состояния в полноэкранном режиме"
msgid "Show non-primary monitors"
msgstr "&Показывать неосновные мониторы"
@@ -907,9 +904,6 @@ msgstr "Расширенные образы секторов"
msgid "Flux images"
msgstr "Образы Flux"
msgid "Unable to initialize SDL, SDL2.dll is required"
msgstr "Невозможно инициализировать SDL, требуется SDL2.dll"
msgid "Are you sure you want to hard reset the emulated machine?"
msgstr "Вы уверены, что хотите выполнить холодную перезагрузку эмулируемой машины?"

View File

@@ -814,9 +814,6 @@ msgstr "Rozšírené sektorové obrazy"
msgid "Flux images"
msgstr "Obrazy magnetického toku"
msgid "Unable to initialize SDL, SDL2.dll is required"
msgstr "Nastala chyba pri inicializácii knižnice SDL, je potreba SDL2.dll"
msgid "Are you sure you want to hard reset the emulated machine?"
msgstr "Naozaj chcete resetovať emulovaný počítač?"

View File

@@ -814,9 +814,6 @@ msgstr "Napredne sektorske slike"
msgid "Flux images"
msgstr "Tokovne slike"
msgid "Unable to initialize SDL, SDL2.dll is required"
msgstr "Ne morem inicializirati SDL, potrebna je knjižica SDL2.dll"
msgid "Are you sure you want to hard reset the emulated machine?"
msgstr "Ste prepričani, da želite ponovno zagnati emulirani sistem?"

View File

@@ -814,9 +814,6 @@ msgstr "Gelişmiş sektör imajları"
msgid "Flux images"
msgstr "Flux images"
msgid "Unable to initialize SDL, SDL2.dll is required"
msgstr "SDL başlatılamadı, SDL2.dll gerekmektedir"
msgid "Are you sure you want to hard reset the emulated machine?"
msgstr "Emüle edilen makineyi yeniden başlatmak istediğinizden emin misiniz?"

View File

@@ -814,9 +814,6 @@ msgstr "Розширені образи секторів"
msgid "Flux images"
msgstr "Образи Flux"
msgid "Unable to initialize SDL, SDL2.dll is required"
msgstr "Неможливо ініціалізувати SDL, потрібно SDL2.dll"
msgid "Are you sure you want to hard reset the emulated machine?"
msgstr "Ви впевнені, що хочете виконати холодне перезавантаження емульованої машини?"

View File

@@ -814,9 +814,6 @@ msgstr "高级扇区映像"
msgid "Flux images"
msgstr "Flux 映像"
msgid "Unable to initialize SDL, SDL2.dll is required"
msgstr "无法初始化 SDL需要 SDL2.dll"
msgid "Are you sure you want to hard reset the emulated machine?"
msgstr "确定要硬重置模拟器吗?"

View File

@@ -814,9 +814,6 @@ msgstr "進階磁區映像"
msgid "Flux images"
msgstr "Flux 映像"
msgid "Unable to initialize SDL, SDL2.dll is required"
msgstr "無法初始化 SDL需要 SDL2.dll"
msgid "Are you sure you want to hard reset the emulated machine?"
msgstr "確定要硬重設模擬器嗎?"

View File

@@ -52,10 +52,8 @@ plat_vidapi(char *api)
return 3;
} else if (!strcasecmp(api, "qt_vulkan")) {
return 4;
} else if (!strcasecmp(api, "qt_d3d9")) {
return 5;
} else if (!strcasecmp(api, "vnc")) {
return 6;
return 5;
}
return 0;
@@ -83,9 +81,6 @@ plat_vidapi_name(int api)
name = "qt_vulkan";
break;
case 5:
name = "qt_d3d9";
break;
case 6:
name = "vnc";
break;
default:

View File

@@ -1,200 +0,0 @@
#include "qt_mainwindow.hpp"
#include "qt_d3d9renderer.hpp"
#include <QResizeEvent>
#include <QTimer>
extern "C" {
#include <86box/86box.h>
#include <86box/video.h>
}
D3D9Renderer::D3D9Renderer(QWidget *parent, int monitor_index)
: QWidget { parent }
, RendererCommon()
{
QPalette pal = palette();
pal.setColor(QPalette::Window, Qt::black);
setAutoFillBackground(true);
setPalette(pal);
setAttribute(Qt::WA_NativeWindow);
setAttribute(Qt::WA_PaintOnScreen);
setAttribute(Qt::WA_NoSystemBackground);
setAttribute(Qt::WA_OpaquePaintEvent);
windowHandle = (HWND) winId();
surfaceInUse = true;
finalized = true;
RendererCommon::parentWidget = parent;
this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
this->m_monitor_index = monitor_index;
d3d9surface = nullptr;
d3d9dev = nullptr;
d3d9 = nullptr;
}
D3D9Renderer::~D3D9Renderer()
{
finalize();
}
void
D3D9Renderer::finalize()
{
if (!finalized) {
while (surfaceInUse) { }
finalized = true;
}
surfaceInUse = true;
if (d3d9surface) {
d3d9surface->Release();
d3d9surface = nullptr;
}
if (d3d9dev) {
d3d9dev->Release();
d3d9dev = nullptr;
}
if (d3d9) {
d3d9->Release();
d3d9 = nullptr;
}
}
void
D3D9Renderer::hideEvent(QHideEvent *event)
{
finalize();
}
void
D3D9Renderer::showEvent(QShowEvent *event)
{
if (d3d9) finalize();
params = {};
if (FAILED(Direct3DCreate9Ex(D3D_SDK_VERSION, &d3d9))) {
return error("Failed to create Direct3D 9 context");
}
params.Windowed = true;
params.SwapEffect = D3DSWAPEFFECT_FLIPEX;
params.BackBufferWidth = width() * devicePixelRatioF();
params.BackBufferHeight = height() * devicePixelRatioF();
params.BackBufferCount = 1;
params.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
params.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
params.hDeviceWindow = (HWND) winId();
HRESULT result = d3d9->CreateDeviceEx(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, windowHandle, D3DCREATE_MULTITHREADED | D3DCREATE_HARDWARE_VERTEXPROCESSING, &params, nullptr, &d3d9dev);
if (FAILED(result))
result = d3d9->CreateDeviceEx(D3DADAPTER_DEFAULT, D3DDEVTYPE_REF, windowHandle, D3DCREATE_MULTITHREADED | D3DCREATE_SOFTWARE_VERTEXPROCESSING, &params, nullptr, &d3d9dev);
if (FAILED(result)) {
return error("Failed to create Direct3D 9 device");
}
result = d3d9dev->CreateOffscreenPlainSurface(2048, 2048, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &d3d9surface, nullptr);
if (FAILED(result))
result = d3d9dev->CreateOffscreenPlainSurface(1024, 1024, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &d3d9surface, nullptr);
if (FAILED(result)) {
return error("Failed to create Direct3D 9 surface");
}
if (!alreadyInitialized) {
emit initialized();
alreadyInitialized = true;
}
surfaceInUse = false;
finalized = false;
}
void
D3D9Renderer::paintEvent(QPaintEvent *event)
{
IDirect3DSurface9 *backbuffer = nullptr;
RECT srcRect;
RECT dstRect;
HRESULT result = d3d9dev->GetBackBuffer(0, 0, D3DBACKBUFFER_TYPE_MONO, &backbuffer);
if (FAILED(result)) {
return;
}
srcRect.top = source.top();
srcRect.bottom = source.bottom();
srcRect.left = source.left();
srcRect.right = source.right();
dstRect.top = destination.top() * devicePixelRatioF();
dstRect.bottom = destination.bottom() * devicePixelRatioF();
dstRect.left = destination.left() * devicePixelRatioF();
dstRect.right = destination.right() * devicePixelRatioF();
d3d9dev->BeginScene();
d3d9dev->Clear(0, nullptr, D3DCLEAR_TARGET, 0xFF000000, 0, 0);
while (surfaceInUse) { }
surfaceInUse = true;
d3d9dev->StretchRect(d3d9surface, &srcRect, backbuffer, &dstRect, video_filter_method == 0 ? D3DTEXF_POINT : D3DTEXF_LINEAR);
result = d3d9dev->EndScene();
surfaceInUse = false;
if (SUCCEEDED(result)) {
if (FAILED(d3d9dev->PresentEx(nullptr, nullptr, 0, nullptr, 0))) {
finalize();
showEvent(nullptr);
}
}
}
bool
D3D9Renderer::event(QEvent *event)
{
bool res = false;
if (!eventDelegate(event, res))
return QWidget::event(event);
return res;
}
void
D3D9Renderer::resizeEvent(QResizeEvent *event)
{
onResize(event->size().width() * devicePixelRatioF(), event->size().height() * devicePixelRatioF());
params.BackBufferWidth = event->size().width() * devicePixelRatioF();
params.BackBufferHeight = event->size().height() * devicePixelRatioF();
if (d3d9dev)
d3d9dev->Reset(&params);
QWidget::resizeEvent(event);
}
void
D3D9Renderer::blit(int x, int y, int w, int h)
{
if (blitDummied || (x < 0) || (y < 0) || (w <= 0) || (h <= 0) || (w > 2048) || (h > 2048) || (monitors[m_monitor_index].target_buffer == NULL) || surfaceInUse) {
video_blit_complete_monitor(m_monitor_index);
return;
}
surfaceInUse = true;
auto origSource = source;
source.setRect(x, y, w, h);
RECT srcRect;
D3DLOCKED_RECT lockRect;
srcRect.top = source.top();
srcRect.bottom = source.bottom();
srcRect.left = source.left();
srcRect.right = source.right();
if (monitors[m_monitor_index].mon_screenshots) {
video_screenshot_monitor((uint32_t *) &(monitors[m_monitor_index].target_buffer->line[y][x]), 0, 0, 2048, m_monitor_index);
}
if (SUCCEEDED(d3d9surface->LockRect(&lockRect, &srcRect, 0))) {
for (int y1 = 0; y1 < h; y1++) {
video_copy(((uint8_t *) lockRect.pBits) + (y1 * lockRect.Pitch), &(monitors[m_monitor_index].target_buffer->line[y + y1][x]), w * 4);
}
video_blit_complete_monitor(m_monitor_index);
d3d9surface->UnlockRect();
} else
video_blit_complete_monitor(m_monitor_index);
if (origSource != source)
onResize(this->width() * devicePixelRatioF(), this->height() * devicePixelRatioF());
surfaceInUse = false;
QTimer::singleShot(0, this, [this] { this->update(); });
}

View File

@@ -1,45 +0,0 @@
#ifndef D3D9RENDERER_HPP
#define D3D9RENDERER_HPP
#include <QWidget>
#include "qt_renderercommon.hpp"
#include <windows.h>
#include <d3d9.h>
#include <atomic>
class D3D9Renderer : public QWidget, public RendererCommon {
Q_OBJECT
public:
explicit D3D9Renderer(QWidget *parent = nullptr, int monitor_index = 0);
~D3D9Renderer();
bool hasBlitFunc() override { return true; }
void blit(int x, int y, int w, int h) override;
void finalize() override;
protected:
void showEvent(QShowEvent *event) override;
void hideEvent(QHideEvent *event) override;
void resizeEvent(QResizeEvent *event) override;
void paintEvent(QPaintEvent *event) override;
bool event(QEvent *event) override;
QPaintEngine *paintEngine() const override { return nullptr; }
signals:
void initialized();
void error(QString);
private:
HWND windowHandle = 0;
D3DPRESENT_PARAMETERS params {};
IDirect3D9Ex *d3d9 = nullptr;
IDirect3DDevice9Ex *d3d9dev = nullptr;
IDirect3DSurface9 *d3d9surface = nullptr;
std::atomic<bool> surfaceInUse { false };
std::atomic<bool> finalized { false };
bool alreadyInitialized = false;
int m_monitor_index = 0;
};
#endif // D3D9RENDERER_HPP

View File

@@ -136,22 +136,6 @@ HardwareRenderer::initializeGL()
m_context->swapBuffers(this);
}
void
HardwareRenderer::paintOverGL()
{
/* Context switching is needed to make use of QPainter to draw status bar icons in fullscreen.
Especially since it seems to be impossible to use QPainter on externally-created OpenGL contexts. */
if (video_fullscreen && status_icons_fullscreen) {
m_context->makeCurrent(nullptr);
makeCurrent();
QPainter painter(this);
drawStatusBarIcons(&painter);
painter.end();
doneCurrent();
m_context->makeCurrent(this);
}
}
void
HardwareRenderer::paintGL()
{

View File

@@ -53,7 +53,7 @@ public:
{
onResize(size().width(), size().height());
}
void paintOverGL() override;
std::vector<std::tuple<uint8_t *, std::atomic_flag *>> getBuffers() override;
HardwareRenderer(QWidget *parent = nullptr, RenderType rtype = RenderType::OpenGL)
: QOpenGLWindow(QOpenGLWindow::NoPartialUpdate, parent->windowHandle())

View File

@@ -342,7 +342,7 @@ main(int argc, char *argv[])
/* Set the PAUSE mode depending on the renderer. */
#ifdef USE_VNC
if (vnc_enabled && vid_api != 6)
if (vnc_enabled && vid_api != 5)
plat_pause(1);
else
#endif

View File

@@ -157,8 +157,6 @@ keyb_filter(BMessage *message, BHandler **target, BMessageFilter *filter)
static BMessageFilter *filter;
#endif
std::atomic<bool> blitDummied { false };
extern void qt_mouse_capture(int);
extern "C" void qt_blit(int x, int y, int w, int h, int monitor_index);
@@ -342,7 +340,6 @@ MainWindow::MainWindow(QWidget *parent)
ui->actionUpdate_status_bar_icons->setChecked(update_icons);
ui->actionEnable_Discord_integration->setChecked(enable_discord);
ui->actionApply_fullscreen_stretch_mode_when_maximized->setChecked(video_fullscreen_scale_maximized);
ui->actionShow_status_icons_in_fullscreen->setChecked(status_icons_fullscreen);
#ifndef DISCORD
ui->actionEnable_Discord_integration->setVisible(false);
@@ -369,14 +366,9 @@ MainWindow::MainWindow(QWidget *parent)
ui->actionVulkan->setVisible(false);
ui->actionOpenGL_3_0_Core->setVisible(false);
}
#if !defined Q_OS_WINDOWS
ui->actionDirect3D_9->setVisible(false);
if (vid_api == 5)
vid_api = 0;
#endif
#ifndef USE_VNC
if (vid_api == 6)
if (vid_api == 5)
vid_api = 0;
ui->actionVNC->setVisible(false);
#endif
@@ -410,14 +402,13 @@ MainWindow::MainWindow(QWidget *parent)
actGroup->addAction(ui->actionHardware_Renderer_OpenGL_ES);
actGroup->addAction(ui->actionOpenGL_3_0_Core);
actGroup->addAction(ui->actionVulkan);
actGroup->addAction(ui->actionDirect3D_9);
actGroup->addAction(ui->actionVNC);
actGroup->setExclusive(true);
connect(actGroup, &QActionGroup::triggered, [this](QAction *action) {
vid_api = action->property("vid_api").toInt();
#ifdef USE_VNC
if (vnc_enabled && vid_api != 6) {
if (vnc_enabled && vid_api != 5) {
startblit();
vnc_enabled = 0;
vnc_close();
@@ -442,11 +433,8 @@ MainWindow::MainWindow(QWidget *parent)
case 4:
newVidApi = RendererStack::Renderer::Vulkan;
break;
case 5:
newVidApi = RendererStack::Renderer::Direct3D9;
break;
#ifdef USE_VNC
case 6:
case 5:
{
newVidApi = RendererStack::Renderer::Software;
startblit();
@@ -612,7 +600,7 @@ MainWindow::MainWindow(QWidget *parent)
video_setblit(qt_blit);
if (start_in_fullscreen) {
connect(ui->stackedWidget, &RendererStack::blit, this, [this] () {
connect(ui->stackedWidget, &RendererStack::blitToRenderer, this, [this] () {
if (start_in_fullscreen) {
QTimer::singleShot(100, ui->actionFullscreen, &QAction::trigger);
start_in_fullscreen = 0;
@@ -1156,8 +1144,6 @@ MainWindow::on_actionFullscreen_triggered()
{
if (video_fullscreen > 0) {
showNormal();
if (vid_api == 5)
QTimer::singleShot(0, this, [this]() { ui->stackedWidget->switchRenderer(RendererStack::Renderer::Direct3D9); });
ui->menubar->show();
if (!hide_status_bar)
ui->statusbar->show();
@@ -1193,8 +1179,6 @@ MainWindow::on_actionFullscreen_triggered()
ui->toolBar->hide();
ui->stackedWidget->setFixedSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX);
showFullScreen();
if (vid_api == 5)
QTimer::singleShot(0, this, [this]() { ui->stackedWidget->switchRenderer(RendererStack::Renderer::Direct3D9); });
}
ui->stackedWidget->onResize(width(), height());
}
@@ -1316,7 +1300,7 @@ void
MainWindow::blitToWidget(int x, int y, int w, int h, int monitor_index)
{
if (monitor_index >= 1) {
if (!blitDummied && renderers[monitor_index] && renderers[monitor_index]->isVisible())
if (renderers[monitor_index] && renderers[monitor_index]->isVisible())
renderers[monitor_index]->blit(x, y, w, h);
else
video_blit_complete_monitor(monitor_index);
@@ -1976,8 +1960,6 @@ MainWindow::on_actionShow_non_primary_monitors_triggered()
{
show_second_monitors = (int) ui->actionShow_non_primary_monitors->isChecked();
blitDummied = true;
if (show_second_monitors) {
for (int monitor_index = 1; monitor_index < MONITORS_NUM; monitor_index++) {
auto &secondaryRenderer = renderers[monitor_index];
@@ -2007,8 +1989,6 @@ MainWindow::on_actionShow_non_primary_monitors_triggered()
}
}
}
blitDummied = false;
}
void
@@ -2051,11 +2031,3 @@ void MainWindow::on_actionACPI_Shutdown_triggered()
{
acpi_pwrbut_pressed = 1;
}
void MainWindow::on_actionShow_status_icons_in_fullscreen_triggered()
{
status_icons_fullscreen = !status_icons_fullscreen;
ui->actionShow_status_icons_in_fullscreen->setChecked(status_icons_fullscreen);
config_save();
}

View File

@@ -12,8 +12,6 @@
class MediaMenu;
class RendererStack;
extern std::atomic<bool> blitDummied;
namespace Ui {
class MainWindow;
}
@@ -144,7 +142,6 @@ private slots:
void on_actionCursor_Puck_triggered();
void on_actionACPI_Shutdown_triggered();
void on_actionShow_status_icons_in_fullscreen_triggered();
private slots:
void on_actionShow_non_primary_monitors_triggered();

View File

@@ -117,7 +117,6 @@
<addaction name="actionHardware_Renderer_OpenGL_ES"/>
<addaction name="actionOpenGL_3_0_Core"/>
<addaction name="actionVulkan"/>
<addaction name="actionDirect3D_9"/>
<addaction name="actionVNC"/>
</widget>
<widget class="QMenu" name="menuWindow_scale_factor">
@@ -180,7 +179,6 @@
</widget>
<addaction name="actionHide_tool_bar"/>
<addaction name="actionHide_status_bar"/>
<addaction name="actionShow_status_icons_in_fullscreen"/>
<addaction name="separator"/>
<addaction name="actionShow_non_primary_monitors"/>
<addaction name="actionResizable_window"/>
@@ -831,17 +829,6 @@
<string>MCA devices...</string>
</property>
</action>
<action name="actionDirect3D_9">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>Direct3D 9</string>
</property>
<property name="vid_api" stdset="0">
<number>5</number>
</property>
</action>
<action name="actionShow_non_primary_monitors">
<property name="checkable">
<bool>true</bool>
@@ -882,14 +869,6 @@
<string>Cursor/Puck</string>
</property>
</action>
<action name="actionShow_status_icons_in_fullscreen">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>Show status icons in fullscreen</string>
</property>
</action>
<action name="actionPen">
<property name="checkable">
<bool>true</bool>

View File

@@ -602,7 +602,6 @@ ProgSettings::reloadStrings()
translatedstrings[IDS_2094] = QCoreApplication::translate("", "Failed to set up PCap").toStdWString();
translatedstrings[IDS_2095] = QCoreApplication::translate("", "No PCap devices found").toStdWString();
translatedstrings[IDS_2096] = QCoreApplication::translate("", "Invalid PCap device").toStdWString();
translatedstrings[IDS_2112] = QCoreApplication::translate("", "Unable to initialize SDL, libsdl2 is required").toStdWString();
translatedstrings[IDS_2130] = QCoreApplication::translate("", "Make sure libpcap is installed and that you are on a libpcap-compatible network connection.").toStdWString();
translatedstrings[IDS_2115] = QCoreApplication::translate("", "Unable to initialize Ghostscript").toStdWString();
translatedstrings[IDS_2063] = QCoreApplication::translate("", "Machine \"%hs\" is not available due to missing ROMs in the roms/machines directory. Switching to an available machine.").toStdWString();

View File

@@ -17,15 +17,11 @@
#include "qt_renderercommon.hpp"
#include "qt_mainwindow.hpp"
#include "qt_machinestatus.hpp"
#include <QPainter>
#include <QWidget>
#include <QEvent>
#include <QApplication>
#include <QFontMetrics>
#include <QStatusBar>
#include <QLayout>
#include <cmath>
@@ -33,8 +29,6 @@ extern "C" {
#include <86box/86box.h>
#include <86box/plat.h>
#include <86box/video.h>
int status_icons_fullscreen = 0;
}
RendererCommon::RendererCommon() = default;
@@ -137,52 +131,6 @@ RendererCommon::onResize(int width, int height)
monitors[r_monitor_index].mon_res_y = (double) destination.height();
}
void RendererCommon::drawStatusBarIcons(QPainter* painter)
{
uint32_t x = 0;
auto prevcompositionMode = painter->compositionMode();
painter->setCompositionMode(QPainter::CompositionMode::CompositionMode_SourceOver);
for (int i = 0; i < main_window->statusBar()->children().count(); i++) {
QLabel* label = qobject_cast<QLabel*>(main_window->statusBar()->children()[i]);
if (label) {
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
const QPixmap pixmap = label->pixmap();
#elif QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
const QPixmap pixmap = label->pixmap(Qt::ReturnByValue);
#else
const QPixmap pixmap = (label->pixmap() ? *label->pixmap() : QPixmap());
#endif
if (!pixmap.isNull()) {
painter->setBrush(QColor::fromRgbF(0, 0, 0, 1.));
painter->fillRect(x, painter->device()->height() - pixmap.height() - 5,
pixmap.width(), pixmap.height() + 5, QColor::fromRgbF(0, 0, 0, .5));
painter->drawPixmap(x + main_window->statusBar()->layout()->spacing() / 2,
painter->device()->height() - pixmap.height() - 3, pixmap);
x += pixmap.width();
if (i <= main_window->statusBar()->children().count() - 3) {
painter->fillRect(x, painter->device()->height() - pixmap.height() - 5,
main_window->statusBar()->layout()->spacing(), pixmap.height() + 5,
QColor::fromRgbF(0, 0, 0, .5));
x += main_window->statusBar()->layout()->spacing();
} else
painter->fillRect(x, painter->device()->height() - pixmap.height() - 4, 4,
pixmap.height() + 4, QColor::fromRgbF(0, 0, 0, .5));
}
}
}
if (main_window->status->getMessage().isEmpty() == false) {
auto curStatusMsg = main_window->status->getMessage();
auto textSize = painter->fontMetrics().size(Qt::TextSingleLine, QChar(' ') + curStatusMsg + QChar(' '));
painter->setPen(QColor(0, 0, 0, 127));
painter->fillRect(painter->device()->width() - textSize.width(), painter->device()->height() - textSize.height(),
textSize.width(), textSize.height(), QColor(0, 0, 0, 127));
painter->setPen(QColor(255, 255, 255, 255));
painter->drawText(QRectF(painter->device()->width() - textSize.width(), painter->device()->height() - textSize.height(),
textSize.width(), textSize.height()), Qt::TextSingleLine, QChar(' ') + curStatusMsg + QChar(' '));
}
painter->setCompositionMode(prevcompositionMode);
}
bool
RendererCommon::eventDelegate(QEvent *event, bool &result)
{

View File

@@ -35,9 +35,6 @@ public:
/* Reloads options of renderer */
virtual void reloadOptions() { }
virtual bool hasBlitFunc() { return false; }
virtual void blit(int x, int y, int w, int h) { }
int r_monitor_index = 0;
protected:

View File

@@ -25,9 +25,6 @@
#include "qt_openglrenderer.hpp"
#include "qt_softwarerenderer.hpp"
#include "qt_vulkanwindowrenderer.hpp"
#ifdef Q_OS_WIN
# include "qt_d3d9renderer.hpp"
#endif
#include "qt_mainwindow.hpp"
#include "qt_util.hpp"
@@ -279,40 +276,14 @@ RendererStack::switchRenderer(Renderer renderer)
{
startblit();
if (current) {
if ((current_vid_api == Renderer::Direct3D9 && renderer != Renderer::Direct3D9)
|| (current_vid_api != Renderer::Direct3D9 && renderer == Renderer::Direct3D9)) {
rendererWindow->finalize();
if (rendererWindow->hasBlitFunc()) {
while (directBlitting) { }
connect(this, &RendererStack::blit, this, &RendererStack::blitDummy, Qt::DirectConnection);
disconnect(this, &RendererStack::blit, this, &RendererStack::blitRenderer);
} else {
connect(this, &RendererStack::blit, this, &RendererStack::blitDummy, Qt::DirectConnection);
disconnect(this, &RendererStack::blit, this, &RendererStack::blitCommon);
}
rendererWindow->finalize();
removeWidget(current.get());
disconnect(this, &RendererStack::blitToRenderer, nullptr, nullptr);
removeWidget(current.get());
disconnect(this, &RendererStack::blitToRenderer, nullptr, nullptr);
/* Create new renderer only after previous is destroyed! */
connect(current.get(), &QObject::destroyed, [this, renderer](QObject *) { createRenderer(renderer); });
/* Create new renderer only after previous is destroyed! */
connect(current.get(), &QObject::destroyed, [this, renderer](QObject *) {
createRenderer(renderer);
disconnect(this, &RendererStack::blit, this, &RendererStack::blitDummy);
blitDummied = false;
QTimer::singleShot(1000, this, []() { blitDummied = false; });
});
rendererWindow->hasBlitFunc() ? current.reset() : current.release()->deleteLater();
} else {
rendererWindow->finalize();
removeWidget(current.get());
disconnect(this, &RendererStack::blitToRenderer, nullptr, nullptr);
/* Create new renderer only after previous is destroyed! */
connect(current.get(), &QObject::destroyed, [this, renderer](QObject *) { createRenderer(renderer); });
current.release()->deleteLater();
}
current.release()->deleteLater();
} else {
createRenderer(renderer);
}
@@ -321,7 +292,6 @@ RendererStack::switchRenderer(Renderer renderer)
void
RendererStack::createRenderer(Renderer renderer)
{
current_vid_api = renderer;
switch (renderer) {
default:
case Renderer::Software:
@@ -374,27 +344,6 @@ RendererStack::createRenderer(Renderer renderer)
current.reset(this->createWindowContainer(hw, this));
break;
}
#ifdef Q_OS_WIN
case Renderer::Direct3D9:
{
this->createWinId();
auto hw = new D3D9Renderer(this, m_monitor_index);
rendererWindow = hw;
connect(hw, &D3D9Renderer::error, this, [this](QString str) {
auto msgBox = new QMessageBox(QMessageBox::Critical, "86Box", QString("Failed to initialize D3D9 renderer. Falling back to software rendering.\n\n") + str, QMessageBox::Ok);
msgBox->setAttribute(Qt::WA_DeleteOnClose);
msgBox->show();
imagebufs = {};
QTimer::singleShot(0, this, [this]() { switchRenderer(Renderer::Software); });
});
connect(hw, &D3D9Renderer::initialized, this, [this]() {
endblit();
emit rendererChanged();
});
current.reset(hw);
break;
}
#endif
#if QT_CONFIG(vulkan)
case Renderer::Vulkan:
{
@@ -444,44 +393,18 @@ RendererStack::createRenderer(Renderer renderer)
currentBuf = 0;
if (rendererWindow->hasBlitFunc()) {
connect(this, &RendererStack::blit, this, &RendererStack::blitRenderer, Qt::DirectConnection);
} else {
connect(this, &RendererStack::blit, this, &RendererStack::blitCommon, Qt::DirectConnection);
}
if (renderer != Renderer::OpenGL3 && renderer != Renderer::Vulkan && renderer != Renderer::Direct3D9) {
if (renderer != Renderer::OpenGL3 && renderer != Renderer::Vulkan) {
imagebufs = rendererWindow->getBuffers();
endblit();
emit rendererChanged();
}
}
void
RendererStack::blitDummy(int x, int y, int w, int h)
{
video_blit_complete_monitor(m_monitor_index);
blitDummied = true;
}
void
RendererStack::blitRenderer(int x, int y, int w, int h)
{
if (blitDummied) {
blitDummied = false;
video_blit_complete_monitor(m_monitor_index);
return;
}
directBlitting = true;
rendererWindow->blit(x, y, w, h);
directBlitting = false;
}
// called from blitter thread
void
RendererStack::blitCommon(int x, int y, int w, int h)
RendererStack::blit(int x, int y, int w, int h)
{
if (blitDummied || (x < 0) || (y < 0) || (w <= 0) || (h <= 0) || (w > 2048) || (h > 2048) || (monitors[m_monitor_index].target_buffer == NULL) || imagebufs.empty() || std::get<std::atomic_flag *>(imagebufs[currentBuf])->test_and_set()) {
if ((x < 0) || (y < 0) || (w <= 0) || (h <= 0) || (w > 2048) || (h > 2048) || (monitors[m_monitor_index].target_buffer == NULL) || imagebufs.empty() || std::get<std::atomic_flag *>(imagebufs[currentBuf])->test_and_set()) {
video_blit_complete_monitor(m_monitor_index);
return;
}

View File

@@ -59,7 +59,6 @@ public:
OpenGLES,
OpenGL3,
Vulkan,
Direct3D9,
None = -1
};
void switchRenderer(Renderer renderer);
@@ -81,13 +80,10 @@ public:
signals:
void blitToRenderer(int buf_idx, int x, int y, int w, int h);
void blit(int x, int y, int w, int h);
void rendererChanged();
public slots:
void blitCommon(int x, int y, int w, int h);
void blitRenderer(int x, int y, int w, int h);
void blitDummy(int x, int y, int w, int h);
void blit(int x, int y, int w, int h);
private:
void createRenderer(Renderer renderer);
@@ -107,13 +103,10 @@ private:
int isMouseDown = 0;
int m_monitor_index = 0;
Renderer current_vid_api = Renderer::None;
std::vector<std::tuple<uint8_t *, std::atomic_flag *>> imagebufs;
RendererCommon *rendererWindow { nullptr };
std::unique_ptr<QWidget> current;
std::atomic<bool> directBlitting { false };
};
#endif // QT_RENDERERCONTAINER_HPP

View File

@@ -24,7 +24,6 @@
extern "C" {
#include <86box/86box.h>
#include <86box/plat.h>
#include <86box/video.h>
}
@@ -114,7 +113,6 @@ SoftwareRenderer::onPaint(QPaintDevice *device)
#endif
painter.setCompositionMode(QPainter::CompositionMode_Plus);
painter.drawImage(destination, *images[cur_image], source);
if (video_fullscreen && status_icons_fullscreen) drawStatusBarIcons(&painter);
}
std::vector<std::tuple<uint8_t *, std::atomic_flag *>>

View File

@@ -63,7 +63,6 @@ extern wchar_t sdl_win_title[512];
plat_joystick_t plat_joystick_state[MAX_PLAT_JOYSTICKS];
joystick_t joystick_state[MAX_JOYSTICKS];
int joysticks_present;
int status_icons_fullscreen = 0; /* unused. */
SDL_mutex *blitmtx;
SDL_threadID eventthread;
static int exit_event = 0;
@@ -263,8 +262,6 @@ plat_get_string(int i)
return L"No PCap devices found";
case IDS_2096:
return L"Invalid PCap device";
case IDS_2112:
return L"Unable to initialize SDL, libsdl2 is required";
case IDS_2133:
return L"libgs is required for automatic conversion of PostScript files to PDF.\n\nAny documents sent to the generic PostScript printer will be saved as PostScript (.ps) files.";
case IDS_2130:

View File

@@ -28,6 +28,10 @@ add_library(vid OBJECT agpgart.c video.c vid_table.c vid_cga.c vid_cga_comp.c
vid_ibm_rgb528_ramdac.c vid_sdac_ramdac.c vid_ogc.c vid_mga.c vid_nga.c
vid_tvp3026_ramdac.c vid_att2xc498_ramdac.c vid_xga.c)
if(MGA2)
target_compile_definitions(vid PRIVATE USE_MGA2)
endif()
if(VGAWONDER)
target_compile_definitions(vid PRIVATE USE_VGAWONDER)
endif()

View File

@@ -6541,6 +6541,7 @@ mystique_220_available(void)
return rom_present(ROM_MYSTIQUE_220);
}
#if defined(DEV_BRANCH) && defined(USE_MGA2)
static int
millennium_ii_available(void)
{
@@ -6552,6 +6553,7 @@ matrox_g100_available(void)
{
return rom_present(ROM_G100);
}
#endif
static void
mystique_speed_changed(void *priv)
@@ -6601,6 +6603,7 @@ static const device_config_t mystique_config[] = {
// clang-format on
};
#if defined(DEV_BRANCH) && defined(USE_MGA2)
static const device_config_t millennium_ii_config[] = {
// clang-format off
{
@@ -6632,6 +6635,7 @@ static const device_config_t millennium_ii_config[] = {
}
// clang-format on
};
#endif
const device_t millennium_device = {
.name = "Matrox Millennium",
@@ -6675,6 +6679,7 @@ const device_t mystique_220_device = {
.config = mystique_config
};
#if defined(DEV_BRANCH) && defined(USE_MGA2)
const device_t millennium_ii_device = {
.name = "Matrox Millennium II",
.internal_name = "millennium_ii",
@@ -6702,3 +6707,4 @@ const device_t productiva_g100_device = {
.force_redraw = mystique_force_redraw,
.config = millennium_ii_config
};
#endif

View File

@@ -208,7 +208,9 @@ video_cards[] = {
{ &s3_diamond_stealth_4000_pci_device },
{ &s3_trio3d2x_pci_device },
{ &millennium_device },
#if defined(DEV_BRANCH) && defined(USE_MGA2)
{ &millennium_ii_device },
#endif
{ &mystique_device },
{ &mystique_220_device },
{ &tgui9440_pci_device },
@@ -259,7 +261,9 @@ video_cards[] = {
{ &s3_virge_357_agp_device },
{ &s3_diamond_stealth_4000_agp_device },
{ &s3_trio3d2x_agp_device },
#if defined(DEV_BRANCH) && defined(USE_MGA2)
{ &productiva_g100_device, VIDEO_FLAG_TYPE_SPECIAL },
#endif
{ &velocity_100_agp_device },
{ &velocity_200_agp_device },
{ &voodoo_3_1000_agp_device },

View File

@@ -64,6 +64,9 @@ ifeq ($(DEV_BUILD), y)
ifndef LASERXT
LASERXT := y
endif
ifndef MGA2
MGA2 := y
endif
ifndef OLIVETTI
OLIVETTI := y
endif
@@ -125,6 +128,9 @@ else
ifndef LASERXT
LASERXT := n
endif
ifndef MGA2
MGA2 := n
endif
ifndef OLIVETTI
OLIVETTI := n
endif
@@ -490,6 +496,10 @@ ifeq ($(DEV_BRANCH), y)
DEVBROBJ += m_xt_laserxt.o
endif
ifeq ($(MGA2), y)
OPTS += -DUSE_MGA2
endif
ifeq ($(OPEN_AT), y)
OPTS += -DUSE_OPEN_AT
endif

View File

@@ -464,7 +464,6 @@ BEGIN
IDS_2108 "%u MB (CHS: %i, %i, %i)"
IDS_2109 "Disketová mechanika %i (%s): %ls"
IDS_2110 "Všechny obrazy (*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF)\0*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF\0Rozšířené sektorové obrazy (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Základní sektorové obrazy (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Obrazy magnetického toku (*.FDI)\0*.FDI\0Obrazy povrchu (*.86F;*.MFM)\0*.86F;*.MFM\0Všechny soubory (*.*)\0*.*\0"
IDS_2112 "Nastala chyba při inicializaci knihovny SDL, je potřeba SDL2.dll"
IDS_2113 "Opravdu chcete resetovat emulovaný počítač?"
IDS_2114 "Opravdu chcete ukončit 86Box?"
IDS_2115 "Nastala chyba při inicializaci knihovny Ghostscript"

View File

@@ -464,7 +464,6 @@ BEGIN
IDS_2108 "%u MB (CHS: %i, %i, %i)"
IDS_2109 "Diskette %i (%s): %ls"
IDS_2110 "Alle Images (*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF)\0*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF\0Fortgeschrittene Sektorimages (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Basissektorimages (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Fluximages (*.FDI)\0*.FDI\0Oberflächenimages (*.86F;*.MFM)\0*.86F;*.MFM\0Alle Dateien (*.*)\0*.*\0"
IDS_2112 "SDL konnte nicht initialisiert werden, die Datei SDL2.dll wird benötigt"
IDS_2113 "Sind Sie sich sicher, dass Sie einen Hard-Reset für das emulierte System durchführen wollen?"
IDS_2114 "Sind Sie sich sicher, dass Sie 86Box beenden wollen?"
IDS_2115 "Ghostscript konnte nicht initialisiert werden"

View File

@@ -464,7 +464,6 @@ BEGIN
IDS_2108 "%u MB (CHS: %i, %i, %i)"
IDS_2109 "Floppy %i (%s): %ls"
IDS_2110 "All images (*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF)\0*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF\0Advanced sector images (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Basic sector images (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Flux images (*.FDI)\0*.FDI\0Surface images (*.86F;*.MFM)\0*.86F;*.MFM\0All files (*.*)\0*.*\0"
IDS_2112 "Unable to initialize SDL, SDL2.dll is required"
IDS_2113 "Are you sure you want to hard reset the emulated machine?"
IDS_2114 "Are you sure you want to exit 86Box?"
IDS_2115 "Unable to initialize Ghostscript"

View File

@@ -464,7 +464,6 @@ BEGIN
IDS_2108 "%u MB (CHS: %i, %i, %i)"
IDS_2109 "Floppy %i (%s): %ls"
IDS_2110 "All images (*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF)\0*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF\0Advanced sector images (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Basic sector images (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Flux images (*.FDI)\0*.FDI\0Surface images (*.86F;*.MFM)\0*.86F;*.MFM\0All files (*.*)\0*.*\0"
IDS_2112 "Unable to initialize SDL, SDL2.dll is required"
IDS_2113 "Are you sure you want to hard reset the emulated machine?"
IDS_2114 "Are you sure you want to exit 86Box?"
IDS_2115 "Unable to initialize Ghostscript"

View File

@@ -464,7 +464,6 @@ BEGIN
IDS_2108 "%u MB (CHS: %i, %i, %i)"
IDS_2109 "Disquete %i (%s): %ls"
IDS_2110 "Todas las Imágenes (*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF)\0*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF\0Advanced sector images (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Basic sector images (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Flux images (*.FDI)\0*.FDI\0Surface images (*.86F;*.MFM)\0*.86F;*.MFM\0All files (*.*)\0*.*\0"
IDS_2112 "Incapaz de inicializar SDL, se requiere SDL2.dll"
IDS_2113 "¿Seguro que quieres resetear la máquina emulada?"
IDS_2114 "¿Seguro que quieres cerrar 86Box?"
IDS_2115 "Incapaz de inicializar Ghostscript"

View File

@@ -464,7 +464,6 @@ BEGIN
IDS_2108 "%u Mt (CHS: %i, %i, %i)"
IDS_2109 "Levyke %i (%s): %ls"
IDS_2110 "Kaikki levykuvat (*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF)\0*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF\0Kehittyneet sektorilevykuvat (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Perussektorilevykuvat (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Flux-levykuvat (*.FDI)\0*.FDI\0Pintalevykuvat (*.86F;*.MFM)\0*.86F;*.MFM\0Kaikki tiedostot (*.*)\0*.*\0"
IDS_2112 "SDL:n alustus epäonnistui. Tarvitaan SDL2.dll"
IDS_2113 "Haluatko varmasti käynnistää emuloidun tietokoneen uudelleen?"
IDS_2114 "Haluatko varmasti sulkea 86Boxin?"
IDS_2115 "Ghostscriptin alustus epäonnistui"

View File

@@ -464,7 +464,6 @@ BEGIN
IDS_2108 "%u Mo (CTS: %i, %i, %i)"
IDS_2109 "Disquette %i (%s): %ls"
IDS_2110 "Toutes les images (*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF)\0*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF\0Images du secteur avancés (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Images du secteur basiques (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Images du flux (*.FDI)\0*.FDI\0Images de surface (*.86F;*.MFM)\0*.86F;*.MFM\0Tous les fichiers (*.*)\0*.*\0"
IDS_2112 "Impossible d'initialiser SDL, SDL2.dll est nécessaire"
IDS_2113 "Etes-vous sûr de vouloir réinitialiser la machine émulée ?"
IDS_2114 "Etes-vous sûr de vouloir quitter 86Box?"
IDS_2115 "Impossible d'initialiser Ghostscript"

View File

@@ -464,7 +464,6 @@ BEGIN
IDS_2108 "%u MB (CHS: %i, %i, %i)"
IDS_2109 "Disketa %i (%s): %ls"
IDS_2110 "Sve slike (*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF)\0*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF\0Napredne sektorske slike (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Osnovne sektorske slike (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Flux slike (*.FDI)\0*.FDI\0Površinske slike (*.86F;*.MFM)\0*.86F;*.MFM\0Sve datoteke (*.*)\0*.*\0"
IDS_2112 "Nije moguće inicijalizirati SDL, SDL2.dll je potrebno"
IDS_2113 "Jeste li sigurni da želite hard resetirati emulirani sistem?"
IDS_2114 "Jeste li sigurni da želite zatvoriti 86Box?"
IDS_2115 "Nije moguće inicijalizirati GhostScript"

View File

@@ -469,7 +469,6 @@ BEGIN
IDS_2108 "%u MB (CHS: %i, %i, %i)"
IDS_2109 "Floppy %i (%s): %ls"
IDS_2110 "Minden képfájl (*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF)\0*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF\0Továbbfejlesztett szektor képek (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Alapvető szektor képek (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Flux képekfájlok (*.FDI)\0*.FDI\0Felületi képfájlok (*.86F;*.MFM)\0*.86F;*.MFM\0Minden fájl (*.*)\0*.*\0"
IDS_2112 "Az SDL inicializálása nem lehetséges, az SDL2.dll fájl szükséges"
IDS_2113 "Biztosan szeretné újraindítani az emulált gépet?"
IDS_2114 "Biztos benne, hogy ki szeretne lépni a 86Box-ból?"
IDS_2115 "Nem sikerült inicializálni a Ghostscript-et"

View File

@@ -465,7 +465,6 @@ BEGIN
IDS_2108 "%u MB (CHS: %i, %i, %i)"
IDS_2109 "Floppy %i (%s): %ls"
IDS_2110 "Tutte le immagini (*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF)\0*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF\0Immagini da settori avanzati (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Imagini da settori basilari (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Immagini flusso (*.FDI)\0*.FDI\0Immagini da superficie (*.86F;*.MFM)\0*.86F;*.MFM\0Tutti i file (*.*)\0*.*\0"
IDS_2112 "Impossibile inizializzare SDL, SDL2.dll è necessario"
IDS_2113 "Sei sicuro di voler riavviare la macchina emulata?"
IDS_2114 "Sei sicuro di voler uscire da 86Box?"
IDS_2115 "Impossibile inizializzare Ghostscript"

View File

@@ -464,7 +464,6 @@ BEGIN
IDS_2108 "%u MB (CHS値: %i、%i、%i)"
IDS_2109 "フロッピー %i (%s): %ls"
IDS_2110 "すべてのイメージ (*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF)\0*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF\0アドバンスド セクター イメージ (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0ベーシック セクター イメージ (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0フラックスイメージ (*.FDI)\0*.FDI\0サーフェス イメージ (*.86F;*.MFM)\0*.86F;*.MFM\0すべてのファイル (*.*)\0*.*\0"
IDS_2112 "SDLが初期化できません。SDL2.dllが必要です"
IDS_2113 "使用中のマシンをハードリ セットしますか?"
IDS_2114 "86Boxを終了しますか"
IDS_2115 "Ghostscriptが初期化できません"

View File

@@ -464,7 +464,6 @@ BEGIN
IDS_2108 "%u MB (CHS: %i, %i, %i)"
IDS_2109 "플로피 %i (%s): %ls"
IDS_2110 "모든 이미지 (*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF)\0*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF\0어드밴스드 섹터 이미지 (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0기본 섹터 이미지 (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0플럭스 이미지 (*.FDI)\0*.FDI\0표면 이미지 (*.86F;*.MFM)\0*.86F;*.MFM\0모든 파일 (*.*)\0*.*\0"
IDS_2112 "SDL을 초기화할 수 없습니다. SDL2.dll이 필요합니다"
IDS_2113 "실행중인 머신을 재시작하시겠습니까?"
IDS_2114 "86Box를 끝내시겠습니까?"
IDS_2115 "Ghostscript를 초기화할 수 없습니다"

View File

@@ -464,7 +464,6 @@ BEGIN
IDS_2108 "%u MB (CHS: %i, %i, %i)"
IDS_2109 "Dyskietka %i (%s): %ls"
IDS_2110 "Wszystkie obrazy (*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF)\0*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF\0Zaawansowane obrazy sektorów (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Podstawowe obrazy sektorów (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Flux images (*.FDI)\0*.FDI\0Obrazy powierzchniowe (*.86F;*.MFM)\0*.86F;*.MFM\0All files (*.*)\0*.*\0"
IDS_2112 "Nie można zainicjować SDL, wymagany SDL2.dll"
IDS_2113 "Jesteś pewien że chcesz wykonać twardy reset emulowanej maszyny?"
IDS_2114 "Jesteś pewien że chcesz zakończyć 86Box?"
IDS_2115 "Nie można zainicjować Ghostscript"

View File

@@ -467,7 +467,6 @@ BEGIN
IDS_2108 "%u MB (CHS: %i, %i, %i)"
IDS_2109 "Disquete %i (%s): %ls"
IDS_2110 "Todas as imagens (*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF)\0*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF\0Imagens de setor avançado (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Imagens de setor básico (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Imagens de fluxo (*.FDI)\0*.FDI\0Imagens de superfície (*.86F;*.MFM)\0*.86F;*.MFM\0Todos os arquivos (*.*)\0*.*\0"
IDS_2112 "Não é possível inicializar o SDL, é necessário o SDL2.dll"
IDS_2113 "Tem certeza de que deseja reiniciar completamente a máquina emulada?"
IDS_2114 "Tem certeza de que deseja sair do 86Box?"
IDS_2115 "Não é possível inicializar o Ghostscript"

View File

@@ -464,7 +464,6 @@ BEGIN
IDS_2108 "%u MB (CCS: %i, %i, %i)"
IDS_2109 "Disquete %i (%s): %ls"
IDS_2110 "Todas as imagens (*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF)\0*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF\0Imagens avançadas de sector (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Imagens básicas de sector (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Imagens de fluxo (*.FDI)\0*.FDI\0Imagens de superfície (*.86F;*.MFM)\0*.86F;*.MFM\0Todos os ficheiros (*.*)\0*.*\0"
IDS_2112 "Não foi possível inicializar o SDL. O ficheiro SDL2.dll é necessário!"
IDS_2113 "Tem a certeza de que quer um reinício completo da máquina emulada?"
IDS_2114 "Tem a certeza de que quer sair do 86Box?"
IDS_2115 "Não foi possível inicializar o Ghostscript"

View File

@@ -464,7 +464,6 @@ BEGIN
IDS_2108 "%u МБ (CHS: %i, %i, %i)"
IDS_2109 "Дисковод %i (%s): %ls"
IDS_2110 "Все образы (*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF)\0*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF\0Расширенные образы секторов (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Основные образы секторов (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Образы Flux (*.FDI)\0*.FDI\0Образы Surface (*.86F;*.MFM)\0*.86F;*.MFM\0Все файлы (*.*)\0*.*\0"
IDS_2112 "Невозможно инициализировать SDL, требуется SDL2.dll"
IDS_2113 "Вы уверены, что хотите выполнить холодную перезагрузку эмулируемой машины?"
IDS_2114 "Вы уверены, что хотите выйти из 86Box?"
IDS_2115 "Невозможно инициализировать Ghostscript"

View File

@@ -464,7 +464,6 @@ BEGIN
IDS_2108 "%u MB (CHS: %i, %i, %i)"
IDS_2109 "Disketa %i (%s): %ls"
IDS_2110 "Vse slike (*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF)\0*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF\0Napredne sektorske slike (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Osnovne sektorske slike (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Tokovne slike (*.FDI)\0*.FDI\0Površinske slike (*.86F;*.MFM)\0*.86F;*.MFM\0Vse datoteke (*.*)\0*.*\0"
IDS_2112 "Ne morem inicializirati SDL, potrebna je knjižica SDL2.dll"
IDS_2113 "Ste prepričani, da želite ponovno zagnati emulirani sistem?"
IDS_2114 "Ste prepričani, da želite zapreti 86Box?"
IDS_2115 "Ne morem inicializirati Ghostscript"

View File

@@ -464,7 +464,6 @@ BEGIN
IDS_2108 "%u MB (CHS: %i, %i, %i)"
IDS_2109 "Disket %i (%s): %ls"
IDS_2110 "Tüm imajlar (*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF)\0*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF\0Gelişmiş sektör imajları (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Basit sektör imajları (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Flux images (*.FDI)\0*.FDI\0Yüzey imajları (*.86F;*.MFM)\0*.86F;*.MFM\0All files (*.*)\0*.*\0"
IDS_2112 "SDL başlatılamadı, SDL2.dll gerekmektedir"
IDS_2113 "Emüle edilen makineyi yeniden başlatmak istediğinizden emin misiniz?"
IDS_2114 "86Box'tan çıkmak istediğinize emin misiniz?"
IDS_2115 "Ghostscript başlatılamadı"

View File

@@ -464,7 +464,6 @@ BEGIN
IDS_2108 "%u МБ (CHS: %i, %i, %i)"
IDS_2109 "Дисковод %i (%s): %ls"
IDS_2110 "Усі образи (*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF)\0*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF\0Розширені образи секторів (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Основні образи секторів (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Образи Flux (*.FDI)\0*.FDI\0Образи Surface (*.86F;*.MFM)\0*.86F;*.MFM\0Усі файли (*.*)\0*.*\0"
IDS_2112 "Неможливо ініціалізувати SDL, потрібно SDL2.dll"
IDS_2113 "Ви впевнені, що хочете виконати холодне перезавантаження емульованої машини?"
IDS_2114 "Ви впевнені, що хочете вийти з 86Box?"
IDS_2115 "Неможливо ініціалізувати Ghostscript"

View File

@@ -464,7 +464,6 @@ BEGIN
IDS_2108 "%u MB (CHS: %i, %i, %i)"
IDS_2109 "软盘 %i (%s): %ls"
IDS_2110 "所有映像 (*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF)\0*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF\0高级扇区映像 (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0基本扇区映像 (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Flux 映像 (*.FDI)\0*.FDI\0表面映像 (*.86F;*.MFM)\0*.86F;*.MFM\0所有文件 (*.*)\0*.*\0"
IDS_2112 "无法初始化 SDL需要 SDL2.dll"
IDS_2113 "确定要硬重置模拟器吗?"
IDS_2114 "确定要退出 86Box 吗?"
IDS_2115 "无法初始化 Ghostscript"

View File

@@ -464,7 +464,6 @@ BEGIN
IDS_2108 "%u MB (CHS: %i, %i, %i)"
IDS_2109 "軟碟 %i (%s): %ls"
IDS_2110 "所有映像 (*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF)\0*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF\0進階磁區映像 (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0基本磁區映像 (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Flux 映像 (*.FDI)\0*.FDI\0表面映像 (*.86F;*.MFM)\0*.86F;*.MFM\0所有檔案 (*.*)\0*.*\0"
IDS_2112 "無法初始化 SDL需要 SDL2.dll"
IDS_2113 "確定要硬重設模擬器嗎?"
IDS_2114 "確定要退出 86Box 嗎?"
IDS_2115 "無法初始化 Ghostscript"

View File

@@ -76,8 +76,6 @@ int hide_status_bar = 0;
int hide_tool_bar = 0;
int dpi = 96;
int status_icons_fullscreen = 0; /* unused. */
extern char openfilestring[512];
extern WCHAR wopenfilestring[512];