mirror of
https://github.com/yann64/haikuports.git
synced 2026-03-19 01:46:00 +01:00
glukalka: add recipe
This commit is contained in:
71
games-emulation/glukalka/additional-files/glukalka.rdef.in
Normal file
71
games-emulation/glukalka/additional-files/glukalka.rdef.in
Normal file
@@ -0,0 +1,71 @@
|
||||
|
||||
resource app_flags B_MULTIPLE_LAUNCH;
|
||||
|
||||
resource app_version {
|
||||
major = @MAJOR@,
|
||||
middle = @MIDDLE@,
|
||||
minor = @MINOR@,
|
||||
|
||||
variety = B_APPV_FINAL,
|
||||
internal = 0,
|
||||
|
||||
short_info = "Glukalka3",
|
||||
long_info = "@LONG_INFO@"
|
||||
};
|
||||
|
||||
resource app_signature "@APP_SIGNATURE@";
|
||||
|
||||
resource vector_icon {
|
||||
$"6E63696611010100007A0301000002001602B6D0A33AA947BAA947B6D0A34BDC"
|
||||
$"7A4B50510099FE6C020016023A723D3A6385BA63853A723D4928F54A8D9900CC"
|
||||
$"FFA50200160238947A3AB570BAB57038947A4B115C49282800E5FFCB059B0201"
|
||||
$"16023A51433B267EBC19B93979CC4878384A345D00E4FF21020016023A4039AB"
|
||||
$"4F242C729E390B03497F544A3CD101BEFF0B02000603372F86346AE9B558FE36"
|
||||
$"4CF74A18EF4AC7C500010000766C6C6CFE010101020116030000003BBFB1B800"
|
||||
$"00000000494000492FFF00FFC886FF41020106030000003B4F76BB4F76000000"
|
||||
$"491FFB46FFF700FFFFFF7FFF3300FFCC00000200060338000000000000000038"
|
||||
$"00004B00004A600000FF595999B30404FFFF06060201060300000036CCA2B819"
|
||||
$"7A0000004ADCCC4A333300FFD5D570FBAAAAFFEE060603FF000003FBFF000300"
|
||||
$"FF000300FBFF160607FF1F42604260C113604660C19C60C50FC9945C4AC7FCC6"
|
||||
$"A7CA60C3775848C9D7C334C664484248C377484250426042584260600606FF07"
|
||||
$"50C48750C487C8CCC4875CC7515CC5C15CC8E050CA1BC8CCCA1BC371CA1B44C7"
|
||||
$"5144C8E044C5C150C487C371C48750C487C4870608FF7F224A224A22C443224E"
|
||||
$"22C4CCB80CC773425EBC4BC994C334C90B564AC5DBC66456C334564656C2AB4C"
|
||||
$"C06A383942BEB0B9A3BF37224AB6B8C179224A4A0606FF0742584258425A425E"
|
||||
$"425CC334C90B564AC5DBC66456C334564656C2ABC5DB4C4258C3345242585806"
|
||||
$"06FF0742584258425A425E425CBC4BC994224EB80CC77322C4CC224A22C443B8"
|
||||
$"0CC5984258BC4BC7734258580607FF1F224A224AB80CC5984258BC4BC773C19A"
|
||||
$"C85BC3B8C673C2A9C767404EC6CAC1644246C361BFEA3839BFF8BE70B9A3BF37"
|
||||
$"224AB6B8C179224A4A0605FF01C3B8C673C3B8C673C551C5035646C6EAC393C7"
|
||||
$"F0C1E4C6CAC164C75DC1A44246C3B8C673404EC3B8C673C6730606FF073CBEF3"
|
||||
$"3CBEF3C0D4BEF348C28948C08648C48A3CC61FC0D4C61FBB79C61F30C28930C4"
|
||||
$"8A30C0863CBEF3BB79BEF33CBEF3BEF30606FF073CBEF33CBEF3C0D4BEF348C2"
|
||||
$"8948C08648C48A3CC61FC0D4C61FBB79C61F30C28930C48A30C0863CBEF3BB79"
|
||||
$"BEF33CBEF3BEF30606FF07BE27BF51BE27BF51C028BF51C1BDC1BDC1BDC061C1"
|
||||
$"BDC318BE27C42AC028C42ABC24C42ABA91C1BDBA91C318BA91C061BE27BF51BC"
|
||||
$"24BF51BE27BF51BF510606FF07BE27BEF3BE27BEF3C028BEF3C1BDC18AC1BDC0"
|
||||
$"16C1BDC2FDBE27C421C028C421BC24C421BA91C18ABA91C2FDBA91C016BE27BE"
|
||||
$"F3BC24BEF3BE27BEF3BEF30606FF073CC1573CC157BF0CC15740C28940C1DE40"
|
||||
$"C3353CC3BBBF0CC3BBBD43C3BB38C28938C33538C1DE3CC157BD43C1573CC157"
|
||||
$"C1570607FF1F3C493C49BE72493EC32BBEB6C3453EC0D53E373EBE7FBE6B373A"
|
||||
$"37BDE4373ABE7F3AC32B3AC0D5BD98C3453C49BDDC493C49490606FF073C263C"
|
||||
$"26C06226463046B72346BB9A3C3AC0623ABBEB3A323032BB9A32B7233C26BBEB"
|
||||
$"263C26260606FF073C263C26C06226463046B72346BB9A3C3AC0623ABBEB3A32"
|
||||
$"3032BB9A32B7233C26BBEB263C26260606FF075246524652474F4852484C484C"
|
||||
$"464C474C454F434C435243524652455246460606FF075246524652474F485248"
|
||||
$"4C484C464C474C454F434C435243524652455246460606FF074F424F42C66542"
|
||||
$"524452C0E552C1CA4F46C66546C50E464C444CC1CA4CC0E54F42C50E424F4242"
|
||||
$"0A0438475A4457483F4A0A043F4A5748544B434C0A04434C544B514E474E0A04"
|
||||
$"474E514E4F504A50190A000100000A000101000A0101021001178400040A0201"
|
||||
$"03000A030104000A040105000A050106000A0D011202404B4B0000000000003F"
|
||||
$"AAAAC850F04680000A0E011302404B4B0000000000003FAAAAC850F04680000A"
|
||||
$"0F011402404B4B0000000000003FAAAAC850F04680000A10011502404B4B0000"
|
||||
$"000000003FAAAAC850F04680000A01010F300A1601178400040A0B0110200A16"
|
||||
$"0A0C0111200A160A010107123F26220000000000003EEB3844FA8846A2A00117"
|
||||
$"8400040A060108023F26220000000000003EEB3844FA8846A2A00A070109123F"
|
||||
$"26220000000000003EEB3844FA8846A2A001178300040A08010A023F26220000"
|
||||
$"000000003EEB3844FA8846A2A00A01010B023F26220000000000003EEB3844FA"
|
||||
$"8846A2A00A09010C024000000000000000003F1C71000000450E380A01010D30"
|
||||
$"201F01178400040A0A010E20201F0A01010F301E2001178400040A0B0110201E"
|
||||
$"200A0C0111201E20"
|
||||
};
|
||||
92
games-emulation/glukalka/glukalka-3.0.0.recipe
Normal file
92
games-emulation/glukalka/glukalka-3.0.0.recipe
Normal file
@@ -0,0 +1,92 @@
|
||||
SUMMARY="ZX Spectrum Emulator"
|
||||
DESCRIPTION="Glukalka is a emulator of ZX Spectrum 48K/128K and Spectrum clones.
|
||||
It runs on Linux, Windows, Haiku and Mac OS machines. Anroid version is also available.
|
||||
The program is free software and is copyrighted under the GNU General Public License.
|
||||
|
||||
Emulates:
|
||||
- ZX Spectrum 48K and 128K; Pentagon 128K; Scorpion ZS 256
|
||||
- Spectrum's AY-3-8910 chip on workstations with sound card
|
||||
- Spectrum's beeper on workstations with sound card
|
||||
- Beta 128 interface by Technology Research Ltd
|
||||
- Joysticks: Kempston, Sinclair and Cursor
|
||||
|
||||
Loads from:
|
||||
- Snapshots in .SNA or .Z80 format
|
||||
- Tape images in .TAP, .TZX or .WAV format
|
||||
- Disk images in .TRD, .FDI or .SCL format
|
||||
|
||||
Saves to:
|
||||
- Snapshots in .Z80 format
|
||||
- Disk images in .TRD or .FDI format
|
||||
- PSG music dump in .PSG format."
|
||||
HOMEPAGE="http://www.sanarin.ru/glukalka/"
|
||||
COPYRIGHT="Dmitry Sanarin"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="1"
|
||||
SOURCE_URI="http://www.sanarin.ru/glukalka/glukalka3_download/glukalka3.tar.bz2"
|
||||
CHECKSUM_SHA256="3270529dc40d1b4a3b5ea3bf67035bd6c9759b6cb034ff701ddd740affe3ac8a"
|
||||
SOURCE_DIR="glukalka3"
|
||||
PATCHES="glukalka-$portVersion.patchset"
|
||||
ADDITIONAL_FILES="glukalka.rdef.in"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
PROVIDES="
|
||||
glukalka$secondaryArchSuffix = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libGL$secondaryArchSuffix
|
||||
lib:libQt5Core$secondaryArchSuffix
|
||||
lib:libQt5Gui$secondaryArchSuffix
|
||||
lib:libQt5Network$secondaryArchSuffix
|
||||
lib:libQt5WebKit$secondaryArchSuffix
|
||||
lib:libQt5WebKitWidgets$secondaryArchSuffix
|
||||
lib:libQt5Widgets$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libQt5Core$secondaryArchSuffix
|
||||
devel:libQt5Gui$secondaryArchSuffix
|
||||
devel:libQt5Network$secondaryArchSuffix
|
||||
devel:libQt5WebKit$secondaryArchSuffix
|
||||
devel:libQt5WebKitWidgets$secondaryArchSuffix
|
||||
devel:libQt5Widgets$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:lrelease$secondaryArchSuffix >= 5
|
||||
cmd:qmake$secondaryArchSuffix >= 5
|
||||
cmd:make
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
qmake QT_CONFIG+=webkit
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
mkdir -p $appsDir
|
||||
cp glukalka3 $appsDir/Glukalka
|
||||
|
||||
local APP_SIGNATURE="application/x-vnd.glukalka3"
|
||||
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
|
||||
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
|
||||
local MINOR="`echo "$portVersion" | cut -d. -f3`"
|
||||
local LONG_INFO="$SUMMARY"
|
||||
sed \
|
||||
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
|
||||
-e "s|@MAJOR@|$MAJOR|" \
|
||||
-e "s|@MIDDLE@|$MIDDLE|" \
|
||||
-e "s|@MINOR@|$MINOR|" \
|
||||
-e "s|@LONG_INFO@|$LONG_INFO|" \
|
||||
$portDir/additional-files/glukalka.rdef.in > glukalka.rdef
|
||||
|
||||
addResourcesToBinaries glukalka.rdef $appsDir/Glukalka
|
||||
addAppDeskbarSymlink $appsDir/Glukalka
|
||||
}
|
||||
539
games-emulation/glukalka/patches/glukalka-3.0.0.patchset
Normal file
539
games-emulation/glukalka/patches/glukalka-3.0.0.patchset
Normal file
@@ -0,0 +1,539 @@
|
||||
From 579598cf3f777d0808e1ccd6ec2afc1008744a93 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Mon, 19 Feb 2024 20:56:04 +1000
|
||||
Subject: Add Haiku support
|
||||
|
||||
|
||||
diff --git a/glukalka3.pro b/glukalka3.pro
|
||||
index 9aa2e05..cb5102c 100644
|
||||
--- a/glukalka3.pro
|
||||
+++ b/glukalka3.pro
|
||||
@@ -17,6 +17,7 @@ QMAKE_CXXFLAGS += -Wno-unused-variable
|
||||
#contains(QT_CONFIG, opengl):{
|
||||
# message(Building with OpenGL support.)
|
||||
# DEFINES += OPENGL
|
||||
+# QT += opengl
|
||||
#}
|
||||
#}
|
||||
|
||||
@@ -28,6 +29,15 @@ linux-*: {
|
||||
LIBS += -lasound
|
||||
}
|
||||
|
||||
+
|
||||
+haiku-*: {
|
||||
+ message(Building for Haiku with MediaKit support.)
|
||||
+
|
||||
+ DEFINES += HAIKU
|
||||
+ SOURCES += haiku.cpp
|
||||
+ LIBS += -lmedia
|
||||
+ }
|
||||
+
|
||||
solaris-*: {
|
||||
message(Building for Solaris with Sun audio support.)
|
||||
|
||||
@@ -53,7 +63,7 @@ contains(QT_CONFIG, multimedia):{
|
||||
|
||||
contains(QT_CONFIG, webkit):{
|
||||
message(Building with webkit support.)
|
||||
- QT += webkit
|
||||
+ QT += webkit webkitwidgets
|
||||
DEFINES += WEBKIT
|
||||
QT += network
|
||||
HEADERS += download.h
|
||||
diff --git a/haiku.cpp b/haiku.cpp
|
||||
new file mode 100644
|
||||
index 0000000..99e1500
|
||||
--- /dev/null
|
||||
+++ b/haiku.cpp
|
||||
@@ -0,0 +1,236 @@
|
||||
+# include <stdlib.h>
|
||||
+# include <string.h>
|
||||
+# include <sys/types.h>
|
||||
+
|
||||
+# include <stdio.h>
|
||||
+# include <unistd.h>
|
||||
+# include <string.h>
|
||||
+
|
||||
+# include <OS.h>
|
||||
+# include <SoundPlayer.h>
|
||||
+
|
||||
+# include "emulate.h"
|
||||
+
|
||||
+class RingBuffer {
|
||||
+public:
|
||||
+ RingBuffer(int size)
|
||||
+ {
|
||||
+ initialized = false;
|
||||
+ Buffer = new unsigned char[size];
|
||||
+ if (Buffer) {
|
||||
+ memset( Buffer, 0, size );
|
||||
+ BufferSize = size;
|
||||
+ } else {
|
||||
+ BufferSize = 0;
|
||||
+ }
|
||||
+ reader = 0;
|
||||
+ writer = 0;
|
||||
+ writeBytesAvailable = size;
|
||||
+ if ((locker = create_sem(1,"locker")) >= B_OK) {
|
||||
+ initialized = true;
|
||||
+ } else {
|
||||
+ delete[] Buffer;
|
||||
+ }
|
||||
+ }
|
||||
+ ~RingBuffer()
|
||||
+ {
|
||||
+ if (initialized) {
|
||||
+ delete[] Buffer;
|
||||
+ delete_sem(locker);
|
||||
+ }
|
||||
+ }
|
||||
+ int Read(unsigned char* data, int size)
|
||||
+ {
|
||||
+ acquire_sem(locker);
|
||||
+ if( data == 0 || size <= 0 || writeBytesAvailable == BufferSize ) {
|
||||
+ release_sem(locker);
|
||||
+ return 0;
|
||||
+ }
|
||||
+ int readBytesAvailable = BufferSize - writeBytesAvailable;
|
||||
+ if( size > readBytesAvailable ) {
|
||||
+ size = readBytesAvailable;
|
||||
+ }
|
||||
+ if(size > BufferSize - reader) {
|
||||
+ int len = BufferSize - reader;
|
||||
+ memcpy(data, Buffer + reader, len);
|
||||
+ memcpy(data + len, Buffer, size-len);
|
||||
+ } else {
|
||||
+ memcpy(data, Buffer + reader, size);
|
||||
+ }
|
||||
+ reader = (reader + size) % BufferSize;
|
||||
+ writeBytesAvailable += size;
|
||||
+ release_sem(locker);
|
||||
+ return size;
|
||||
+ }
|
||||
+ int Write(unsigned char *data, int size)
|
||||
+ {
|
||||
+ acquire_sem(locker);
|
||||
+ if( data == 0 || size <= 0 || writeBytesAvailable == 0 ) {
|
||||
+ release_sem(locker);
|
||||
+ return 0;
|
||||
+ }
|
||||
+ if( size > writeBytesAvailable ) {
|
||||
+ size = writeBytesAvailable;
|
||||
+ }
|
||||
+ if(size > BufferSize - writer) {
|
||||
+ int len = BufferSize - writer;
|
||||
+ memcpy(Buffer + writer, data, len);
|
||||
+ memcpy(Buffer, data+len, size-len);
|
||||
+ } else {
|
||||
+ memcpy(Buffer + writer, data, size);
|
||||
+ }
|
||||
+ writer = (writer + size) % BufferSize;
|
||||
+ writeBytesAvailable -= size;
|
||||
+ release_sem(locker);
|
||||
+ return size;
|
||||
+ };
|
||||
+ bool Empty( void )
|
||||
+ {
|
||||
+ memset( Buffer, 0, BufferSize );
|
||||
+ reader = 0;
|
||||
+ writer = 0;
|
||||
+ writeBytesAvailable = BufferSize;
|
||||
+ return true;
|
||||
+ };
|
||||
+ int GetSize( ) { return BufferSize; }
|
||||
+ int GetWriteAvailable( ) { return writeBytesAvailable; }
|
||||
+ int GetReadAvailable( ) { return BufferSize - writeBytesAvailable; }
|
||||
+ status_t InitCheck( ) { return initialized ? B_OK : B_ERROR; }
|
||||
+private:
|
||||
+ unsigned char *Buffer;
|
||||
+ int BufferSize;
|
||||
+ int reader;
|
||||
+ int writer;
|
||||
+ int writeBytesAvailable;
|
||||
+ bool initialized;
|
||||
+ sem_id locker;
|
||||
+};
|
||||
+
|
||||
+static void soundProc(void *cookie, void *buffer, size_t len, const media_raw_audio_format &format)
|
||||
+{
|
||||
+ RingBuffer *ring = (RingBuffer*)cookie;
|
||||
+ unsigned char* ptr = (unsigned char*)buffer;
|
||||
+
|
||||
+ int readed = ring->Read(ptr,len);
|
||||
+
|
||||
+ if(readed <len)
|
||||
+ memset(ptr+readed, 0, len - readed);
|
||||
+}
|
||||
+
|
||||
+class SndPlayer
|
||||
+{
|
||||
+public:
|
||||
+ SndPlayer()
|
||||
+ {
|
||||
+ channels = 2;
|
||||
+ sample_rate = 44100;
|
||||
+ player = nullptr;
|
||||
+ _isOK = true;
|
||||
+ }
|
||||
+ ~SndPlayer() { stop(); }
|
||||
+
|
||||
+ bool isOK() { return _isOK; }
|
||||
+ bool isOpen() { return player; }
|
||||
+
|
||||
+ bool start()
|
||||
+ {
|
||||
+ size_t gSoundBufferSize = 882 * sizeof(int) * channels;
|
||||
+ media_raw_audio_format form = {
|
||||
+ sample_rate,
|
||||
+ channels,
|
||||
+ media_raw_audio_format::B_AUDIO_SHORT,
|
||||
+ B_MEDIA_LITTLE_ENDIAN,
|
||||
+ gSoundBufferSize
|
||||
+ };
|
||||
+ ring = new RingBuffer(gSoundBufferSize * 3);
|
||||
+ if(ring->InitCheck() != B_OK) {
|
||||
+ delete ring; ring = 0;
|
||||
+ return false;
|
||||
+ }
|
||||
+ player = new BSoundPlayer(&form, "Glukalka3", soundProc, nullptr, (void*)ring);
|
||||
+ if(player->InitCheck() != B_OK) {
|
||||
+ delete player;
|
||||
+ player = nullptr;
|
||||
+ return false;
|
||||
+ }
|
||||
+ player->Start();
|
||||
+ player->SetHasData(true);
|
||||
+ _isOK = true;
|
||||
+ return player;
|
||||
+ }
|
||||
+ void stop()
|
||||
+ {
|
||||
+ if(player) {
|
||||
+ player->Stop();
|
||||
+ delete player;
|
||||
+ delete ring;
|
||||
+ player = nullptr;
|
||||
+ ring = nullptr;
|
||||
+ }
|
||||
+ }
|
||||
+ bool write( char * buffer, int size )
|
||||
+ {
|
||||
+ int s = size;
|
||||
+ while ( s > 0 && s % 4 )
|
||||
+ s--;
|
||||
+ if ( s <= 0 )
|
||||
+ return false;
|
||||
+
|
||||
+ int len=s;
|
||||
+ unsigned char *src_ptr = (unsigned char *)buffer;
|
||||
+ for (;;) {
|
||||
+ int len2 = ring->Write(src_ptr,len);
|
||||
+ if(len2 == len)
|
||||
+ break;
|
||||
+ len -= len2;
|
||||
+ src_ptr += len2;
|
||||
+ snooze(100);
|
||||
+ }
|
||||
+ return true;
|
||||
+ }
|
||||
+private:
|
||||
+ uchar channels;
|
||||
+ float sample_rate;
|
||||
+ bool _isOK;
|
||||
+ BSoundPlayer *player;
|
||||
+ RingBuffer *ring;
|
||||
+};
|
||||
+
|
||||
+static SndPlayer player;
|
||||
+
|
||||
+int init_card(char * arg)
|
||||
+{
|
||||
+ player.start();
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+void play (char * buffer, int len)
|
||||
+{
|
||||
+ player.write(buffer, len);
|
||||
+}
|
||||
+
|
||||
+# define MAXCARDS 20
|
||||
+char *** cardslist;
|
||||
+
|
||||
+char *** cards_list(void)
|
||||
+{
|
||||
+ if (cardslist)
|
||||
+ free(cardslist);
|
||||
+
|
||||
+ cardslist = (char ***) malloc(MAXCARDS * sizeof (char **));
|
||||
+
|
||||
+ for (int i=0; i<MAXCARDS; i++)
|
||||
+ cardslist[i]= (char**) malloc (2 * sizeof (char *));
|
||||
+
|
||||
+ for (int i=0; i<MAXCARDS; i++) {
|
||||
+ for (int j=0; j<2; j++) {
|
||||
+ cardslist[i][j]= (char*) malloc (101 * sizeof (char));
|
||||
+ memset(cardslist[i][j], 0, 100);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ sprintf (cardslist[0][0], "default");
|
||||
+ sprintf (cardslist[0][1], "default");
|
||||
+
|
||||
+ return ((char ***)cardslist);
|
||||
+}
|
||||
diff --git a/qt.cpp b/qt.cpp
|
||||
index 8ca4b02..4b58369 100644
|
||||
--- a/qt.cpp
|
||||
+++ b/qt.cpp
|
||||
@@ -21,7 +21,7 @@
|
||||
#endif
|
||||
|
||||
# if defined WEBKIT
|
||||
-# include <QtWebKit/QWebView>
|
||||
+# include <QtWebKitWidgets/QWebView>
|
||||
QWebView *view;
|
||||
# include "download.h"
|
||||
#endif
|
||||
@@ -209,6 +209,7 @@ const char * ssolaris = "Solaris native";
|
||||
const char * smac = "OpenAL";
|
||||
const char * swin = "Windows native";
|
||||
const char * salsa = "Alsa";
|
||||
+const char * shaiku = "MediaKit";
|
||||
|
||||
int slow=0;
|
||||
|
||||
@@ -230,6 +231,10 @@ const char * ss = ssolaris;
|
||||
const char * ss = soss;
|
||||
#else
|
||||
|
||||
+#if defined HAIKU
|
||||
+const char * ss = shaiku;
|
||||
+#else
|
||||
+
|
||||
#if defined MACOSX
|
||||
const char * ss = smac;
|
||||
#else
|
||||
@@ -245,6 +250,7 @@ const char * ss = snosound;
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
char jjjj = -1;
|
||||
|
||||
@@ -468,9 +474,9 @@ void MyClass::full_screen()
|
||||
void pshow()
|
||||
{
|
||||
if (!e_pause)
|
||||
- ppp->setIcon(QIcon(QPixmap(pause)));
|
||||
+ ppp->setIcon(QIcon::fromTheme("media-playback-pause"));
|
||||
else
|
||||
- ppp->setIcon(QIcon(QPixmap(Play)));
|
||||
+ ppp->setIcon(QIcon::fromTheme("media-playback-start"));
|
||||
}
|
||||
|
||||
void MyClass::save()
|
||||
@@ -960,6 +966,10 @@ void MyClass::FillAudioList(void)
|
||||
#if defined LINUX
|
||||
cl = cards_list();
|
||||
#endif
|
||||
+
|
||||
+#if defined HAIKU
|
||||
+ cl = cards_list();
|
||||
+#endif
|
||||
|
||||
#if defined SOLARIS
|
||||
cl = cards_list();
|
||||
@@ -1243,6 +1253,11 @@ void MyClass::settings()
|
||||
if (ss==smac)line2->setCurrentIndex (line2->count () -1);
|
||||
#endif
|
||||
|
||||
+#if defined HAIKU
|
||||
+ line2->addItem(shaiku);
|
||||
+ if (ss==shaiku)line2->setCurrentIndex (line2->count () -1);
|
||||
+#endif
|
||||
+
|
||||
#if defined WIN32
|
||||
line2->addItem(swin);
|
||||
if (ss==swin)line2->setCurrentIndex (line2->count () -1);
|
||||
@@ -2441,7 +2456,12 @@ void MyClass::update()
|
||||
#endif
|
||||
}
|
||||
|
||||
-
|
||||
+ if (ss==shaiku)
|
||||
+ {
|
||||
+# if defined HAIKU
|
||||
+ play(sound, 882*4);
|
||||
+#endif
|
||||
+ }
|
||||
|
||||
if (ss==swin)
|
||||
{
|
||||
@@ -2534,7 +2554,7 @@ void MyClass::Main_Window(void)
|
||||
QSize * QS = new QSize(33, 34);
|
||||
QSize * QS1 = new QSize(65, 34);
|
||||
|
||||
- b1 = new QPushButton(QIcon(QPixmap(open)), "", main_window);
|
||||
+ b1 = new QPushButton(QIcon::fromTheme("document-open"), "", main_window);
|
||||
b1->setShortcut(QKeySequence("F3"));
|
||||
b1->setToolTip(tr("Open file (F3)"));
|
||||
b1->setFixedSize(*QS);
|
||||
@@ -2543,7 +2563,7 @@ void MyClass::Main_Window(void)
|
||||
B1=b1;
|
||||
|
||||
|
||||
- b1 = new QPushButton(QIcon(QPixmap(web)), "", main_window);
|
||||
+ b1 = new QPushButton(QIcon::fromTheme("globe"), "", main_window);
|
||||
b1->setToolTip(tr("Get file from the web"));
|
||||
b1->setFixedSize(*QS);
|
||||
eh->connect(b1, SIGNAL(clicked()), eh, SLOT(web()));
|
||||
@@ -2551,7 +2571,7 @@ void MyClass::Main_Window(void)
|
||||
B22=b1;
|
||||
|
||||
|
||||
- b1 = new QPushButton(QIcon(QPixmap(save)), "", main_window);
|
||||
+ b1 = new QPushButton(QIcon::fromTheme("document-save"), "", main_window);
|
||||
b1->setShortcut(QKeySequence("F2"));
|
||||
b1->setToolTip(tr("Save file (F2)"));
|
||||
b1->setFixedSize(*QS);
|
||||
@@ -2559,7 +2579,7 @@ void MyClass::Main_Window(void)
|
||||
hlayout->addWidget(b1);
|
||||
B3=b1;
|
||||
|
||||
- ppp = new QPushButton(QIcon(QPixmap(pause)), "", main_window);
|
||||
+ ppp = new QPushButton(QIcon::fromTheme("media-playback-pause"), "", main_window);
|
||||
ppp->setShortcut(QKeySequence("F11"));
|
||||
ppp->setToolTip(tr("Pause (F11)"));
|
||||
ppp->setFixedSize(*QS);
|
||||
@@ -2568,14 +2588,14 @@ void MyClass::Main_Window(void)
|
||||
B4=ppp;
|
||||
|
||||
|
||||
- b1 = new QPushButton(QIcon(QPixmap(run)), "", main_window);
|
||||
+ b1 = new QPushButton(QIcon::fromTheme("go-next-skip"), "", main_window);
|
||||
eh->connect(b1, SIGNAL(clicked()), eh, SLOT(rrrun()));
|
||||
b1->setToolTip(tr("Max speed"));
|
||||
b1->setFixedSize(*QS);
|
||||
hlayout->addWidget(b1);
|
||||
B5=b1;
|
||||
|
||||
- b1 = new QPushButton(QIcon(QPixmap(settings)), "", main_window);
|
||||
+ b1 = new QPushButton(QIcon::fromTheme("preferences-system"), "", main_window);
|
||||
b1->setFixedSize(*QS);
|
||||
b1->setToolTip(tr("Settings"));
|
||||
eh->connect(b1, SIGNAL(clicked()), eh, SLOT(settings()));
|
||||
@@ -2584,7 +2604,7 @@ void MyClass::Main_Window(void)
|
||||
|
||||
|
||||
|
||||
- b1 = new QPushButton(QIcon(QPixmap(reset)), "", main_window);
|
||||
+ b1 = new QPushButton(QIcon::fromTheme("view-refresh"), "", main_window);
|
||||
b1->setShortcut(QKeySequence("F12"));
|
||||
b1->setToolTip(tr("Reset (F12)"));
|
||||
b1->setFixedSize(*QS);
|
||||
@@ -2593,7 +2613,7 @@ void MyClass::Main_Window(void)
|
||||
B7=b1;
|
||||
|
||||
|
||||
- b1 = new QPushButton(QIcon(QPixmap(dump_s)), "", main_window);
|
||||
+ b1 = new QPushButton(QIcon::fromTheme("music-note-16th"), "", main_window);
|
||||
eh->connect(b1, SIGNAL(clicked()), eh, SLOT(record()));
|
||||
b1->setToolTip(tr("Dump AY sound"));
|
||||
b1->setFixedSize(*QS);
|
||||
@@ -2601,7 +2621,7 @@ void MyClass::Main_Window(void)
|
||||
B8=b1;
|
||||
|
||||
|
||||
- b1 = new QPushButton(QIcon(QPixmap(disc)), "", main_window);
|
||||
+ b1 = new QPushButton(QIcon::fromTheme("tools-report-bug"), "", main_window);
|
||||
eh->connect(b1, SIGNAL(clicked()), eh, SLOT(nmi()));
|
||||
b1->setToolTip(tr("Generate NMI"));
|
||||
b1->setFixedSize(*QS);
|
||||
@@ -2629,7 +2649,7 @@ void MyClass::Main_Window(void)
|
||||
b1->setMenu(fileMenu);
|
||||
|
||||
|
||||
- b1 = new QPushButton(QIcon(QPixmap(fullscreen)), "", main_window);
|
||||
+ b1 = new QPushButton(QIcon::fromTheme("view-fullscreen"), "", main_window);
|
||||
b1->setShortcut(QKeySequence("F10"));
|
||||
b1->setToolTip(tr("Full screen (F10)"));
|
||||
b1->setFixedSize(*QS);
|
||||
@@ -2638,7 +2658,7 @@ void MyClass::Main_Window(void)
|
||||
B11=b1;
|
||||
|
||||
|
||||
- b1 = new QPushButton(QIcon(QPixmap(question)), "", main_window);
|
||||
+ b1 = new QPushButton(QIcon::fromTheme("help-whatsthis"), "", main_window);
|
||||
b1->setToolTip(tr("About"));
|
||||
eh->connect(b1, SIGNAL(clicked()), eh, SLOT(about()));
|
||||
b1->setFixedSize(*QS);
|
||||
@@ -2731,8 +2751,8 @@ void SetLL(int v1, int v2, int v3, int v4, int v5, int v6, int v7, int v8, int v
|
||||
#if defined MULTIMEDIA
|
||||
AudioTest::AudioTest()
|
||||
{
|
||||
- m_format.setFrequency(44100);
|
||||
- m_format.setChannels(2);
|
||||
+ m_format.setSampleRate(44100);
|
||||
+ m_format.setChannelCount(2);
|
||||
m_format.setSampleSize(16);
|
||||
m_format.setCodec("audio/pcm");
|
||||
m_format.setByteOrder(QAudioFormat::LittleEndian);
|
||||
@@ -2888,6 +2908,13 @@ int SoundCardInit(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
+ if (ss == shaiku)
|
||||
+ {
|
||||
+#if defined HAIKU
|
||||
+ int rv = init_card(Get_audio_name());
|
||||
+ return(rv);
|
||||
+#endif
|
||||
+ }
|
||||
|
||||
if (ss == swin)
|
||||
{
|
||||
@@ -3324,7 +3351,15 @@ int main( int argc, char **argv )
|
||||
videomemory1[5]=4;
|
||||
|
||||
|
||||
+#if defined HAIKU
|
||||
+ QDir settings = QDir::homePath() + "/config/settings";
|
||||
+ settings.mkdir("glukalka3");
|
||||
+ QString homedir = settings.canonicalPath();
|
||||
+ homedir += "/glukalka3";
|
||||
+ SetHomeDir((char *)homedir.toUtf8().constData());
|
||||
+#else
|
||||
SetHomeDir((char *)QDir::toNativeSeparators(QDir::homePath()).toUtf8().constData());
|
||||
+#endif
|
||||
|
||||
int rv = init(videomemory1);
|
||||
reset_h();
|
||||
diff --git a/android_io.h b/android_io.h
|
||||
index 8844ca4..f2377cb 100644
|
||||
--- a/android_io.h
|
||||
+++ b/android_io.h
|
||||
@@ -1,7 +1,7 @@
|
||||
-#if ((!defined _WIN32) && (!defined __linux__) && (!defined __APPLE__) && (!defined __FreeBSD__) && (!defined __NetBSD__ ) && (!defined __sun__))
|
||||
-# define ANDROID 1
|
||||
-# warning ANDROID
|
||||
-#endif
|
||||
+#if ((!defined _WIN32) && (!defined __linux__) && (!defined __APPLE__) && (!defined __FreeBSD__) && (!defined __NetBSD__ ) && (!defined __sun__) && (!defined __HAIKU__))
|
||||
+# define ANDROID 1
|
||||
+# warning ANDROID
|
||||
+#endif
|
||||
|
||||
# define O_RDONLY 0
|
||||
# define O_WRONLY 1
|
||||
@@ -71,4 +71,4 @@ int rand (void);
|
||||
|
||||
void sscanf (char *, char *, int *);
|
||||
|
||||
-#endif
|
||||
\ No newline at end of file
|
||||
+#endif
|
||||
--
|
||||
2.42.1
|
||||
|
||||
Reference in New Issue
Block a user