Qt GUI feature suggestion thread
As long as the shaders are portable, I'm all for it!
Â
What's SM2?
The continuing development of the legendary VBA gameboy advance emulator.
https://board.visualboyadvance-m.org/
As long as the shaders are portable, I'm all for it!
Â
What's SM2?
If I had a guess, Shader Model 2.0.
"As long as the shaders are portable, I'm all for it!"
Â
GLSL shaders ARE portable....its only the platform specific implementation of the filtering renderer that is non portable.
Â
For example glxGetProcAddress and wglGetProcAddress() for Linux and Windows respectively...
Â
And GLSL is often equivalent to SM2/3/4, so there will be zero issues.
Â
I need to get MSVC2008 SP1 first to compile...damn you Spacy! >.<
I need to get MSVC2008 SP1 first to compile...damn you Spacy! >.<
Â
Wtf, why?
Â
Don't tell me the project files i created with SP1 are incompatible with non-SP1 [img]<fileStore.core_Emoticons>/emoticons/huh.png[/img]/emoticons/huh@2x.png 2x" width="20" height="20" />
Â
Â
Didn't you compile with MinGW until now???
Â
Â
Â
Anyway, sorry for being the Microsoft-follower I am... I know I'll burn in hell for that.
Today I added a "Close ROM" function, some inferior GB/GBA ROM detection and added the whole GB core to the QMake file.
Â
All core files are now in and compile fine.
Â
Next thing I'll do is rewrite the gbLoadRom(const char *szFile) function to accept a pointer to the ROM data in memory, instead of loading it itself.
Â
It would be great if someone could look into creating a logging dialog and functions because I'm pretty sure we'll need that soon. The core currently uses a winlog() function which is actually empty and does nothing. [Maybe I should change the name to just log()]
Â
Â
Btw, I switched to using just the Express Edition of VC++ 2008 SP1 now, so everyone can be sure the project files don't need professional features. All the necessary steps to help developing are in the file "DevInfo.Qt.Win" now, so don't hesitate to try it out everyone.
Â
If you don't like the Microsoft shit, you can still compile with just the QMake file:
Code: Select all
qmake -o Makefile vba-m.pro
make
Don't compile. [img]<fileStore.core_Emoticons>/emoticons/sad.png[/img]/emoticons/sad@2x.png 2x" width="20" height="20" />
Â
jonathan@jonathan-desktop:~/svnrepos/vbam/branches/qt/build/qmake$ qmake -o Makefile vba-m.pro
WARNING: Found potential symbol conflict of sidewidget_cheats.cpp (../../src/qt/sidewidget_cheats.cpp) in SOURCES
WARNING: Found potential symbol conflict of sidewidget_cheats.h (../../src/qt/sidewidget_cheats.h) in HEADERS
jonathan@jonathan-desktop:~/svnrepos/vbam/branches/qt/build/qmake$ make
Makefile:700: warning: overriding commands for target `sidewidget_cheats.o'
Makefile:289: warning: ignoring old commands for target `sidewidget_cheats.o'
Makefile:720: warning: overriding commands for target `moc_sidewidget_cheats.o'
Makefile:708: warning: ignoring old commands for target `moc_sidewidget_cheats.o'
Makefile:738: warning: overriding commands for target `../../src/qt/moc_sidewidget_cheats.cpp'
Makefile:726: warning: ignoring old commands for target `../../src/qt/moc_sidewidget_cheats.cpp'
g++ -c -pipe -g -Wall -W -O2 -D_REENTRANT -DBKPT_SUPPORT -DNO_PNG -DC_CORE -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -I/usr/share/qt3/mkspecs/default -I. -I/usr/include/qt3 -o main.o ../../src/qt/main.cpp
In file included from ../../src/qt/main.h:22,
Code: Select all
from ../../src/qt/main.cpp:19:
../../src/qt/precompile.h:24:23: error: QtGui/QtGui: No such file or directory
../../src/qt/precompile.h:25:29: error: QtOpenGL/QtOpenGL: No such file or directory
In file included from ../../src/qt/MainWnd.h:24,
Code: Select all
from ../../src/qt/main.cpp:21:
../../src/qt/EmuManager.h:44: error: expected ‘,’ or ‘...’ before ‘&’ token
../../src/qt/EmuManager.h:44: error: ISO C++ forbids declaration of ‘QString’ with no type
../../src/qt/EmuManager.h:47: error: ‘QString’ does not name a type
../../src/qt/EmuManager.h:57: error: ‘QString’ does not name a type
In file included from ../../src/qt/MainWnd.h:25,
Code: Select all
from ../../src/qt/main.cpp:21:
../../src/qt/GraphicsOutput.h:26: error: expected class-name before ‘{’ token
../../src/qt/GraphicsOutput.h:27: error: ISO C++ forbids declaration of ‘Q_OBJECT’ with no type
../../src/qt/GraphicsOutput.h:29: error: expected ‘;’ before ‘public’
../../src/qt/GraphicsOutput.h:43: error: expected `:' before ‘slots’
../../src/qt/GraphicsOutput.h:44: error: expected primary-expression before ‘void’
../../src/qt/GraphicsOutput.h:44: error: ISO C++ forbids declaration of ‘slots’ with no type
../../src/qt/GraphicsOutput.h:44: error: expected ‘;’ before ‘void’
../../src/qt/GraphicsOutput.h:47: error: ‘QPaintEvent’ has not been declared
In file included from ../../src/qt/main.cpp:21:
../../src/qt/MainWnd.h:28: error: expected class-name before ‘{’ token
../../src/qt/MainWnd.h:29: error: ISO C++ forbids declaration of ‘Q_OBJECT’ with no type
../../src/qt/MainWnd.h:31: error: expected ‘;’ before ‘public’
../../src/qt/MainWnd.h:35: error: expected `:' before ‘slots’
../../src/qt/MainWnd.h:36: error: expected primary-expression before ‘void’
../../src/qt/MainWnd.h:36: error: ISO C++ forbids declaration of ‘slots’ with no type
../../src/qt/MainWnd.h:36: error: expected ‘;’ before ‘void’
../../src/qt/MainWnd.h:47: error: ISO C++ forbids declaration of ‘QTranslator’ with no type
../../src/qt/MainWnd.h:47: error: expected ‘;’ before ‘*’ token
../../src/qt/MainWnd.h:48: error: ‘QString’ does not name a type
../../src/qt/MainWnd.h:49: error: ISO C++ forbids declaration of ‘QSettings’ with no type
../../src/qt/MainWnd.h:49: error: expected ‘;’ before ‘*’ token
../../src/qt/MainWnd.h:50: error: ISO C++ forbids declaration of ‘QMenu’ with no type
../../src/qt/MainWnd.h:50: error: expected ‘;’ before ‘*’ token
../../src/qt/MainWnd.h:51: error: ISO C++ forbids declaration of ‘QMenu’ with no type
../../src/qt/MainWnd.h:51: error: expected ‘;’ before ‘*’ token
../../src/qt/MainWnd.h:52: error: ISO C++ forbids declaration of ‘QAction’ with no type
../../src/qt/MainWnd.h:52: error: expected ‘;’ before ‘*’ token
../../src/qt/MainWnd.h:53: error: ISO C++ forbids declaration of ‘QMenu’ with no type
../../src/qt/MainWnd.h:53: error: expected ‘;’ before ‘*’ token
../../src/qt/MainWnd.h:54: error: ISO C++ forbids declaration of ‘QMenu’ with no type
../../src/qt/MainWnd.h:54: error: expected ‘;’ before ‘*’ token
../../src/qt/MainWnd.h:55: error: ISO C++ forbids declaration of ‘QDockWidget’ with no type
../../src/qt/MainWnd.h:55: error: expected ‘;’ before ‘*’ token
../../src/qt/MainWnd.h:59: error: expected `:' before ‘slots’
../../src/qt/MainWnd.h:60: error: expected primary-expression before ‘bool’
../../src/qt/MainWnd.h:60: error: ISO C++ forbids declaration of ‘slots’ with no type
../../src/qt/MainWnd.h:60: error: expected ‘;’ before ‘bool’
../../src/qt/main.cpp: In function ‘int main(int, char**)’:
../../src/qt/main.cpp:25: error: ‘QApplication’ was not declared in this scope
../../src/qt/main.cpp:25: error: expected `;' before ‘theApp’
../../src/qt/main.cpp:27: error: ‘QSettings’ was not declared in this scope
../../src/qt/main.cpp:27: error: expected `;' before ‘settings’
../../src/qt/main.cpp:28: error: ‘QTranslator’ was not declared in this scope
../../src/qt/main.cpp:28: error: ‘translator’ was not declared in this scope
../../src/qt/main.cpp:30: error: ‘settings’ was not declared in this scope
../../src/qt/main.cpp:30: error: new initializer expression list treated as compound expression
../../src/qt/main.cpp:31: error: ‘class MainWnd’ has no member named ‘show’
../../src/qt/main.cpp:33: error: ‘theApp’ was not declared in this scope
../../src/qt/main.cpp: At global scope:
../../src/qt/main.cpp:23: warning: unused parameter ‘argc’
../../src/qt/main.cpp:23: warning: unused parameter ‘argv’
make: *** [main.o] Error 1
../../src/qt/precompile.h:24:23: error: QtGui/QtGui: No such file or directory
../../src/qt/precompile.h:25:29: error: QtOpenGL/QtOpenGL: No such file or directory
Â
Hm, maybe you can try to replace these lines with just QtGui / QtOpenGL without subfolder.
I don't know how Linux sets the Qt SDK up.
Hmm, everything worked a few days ago. I think there's a problem on my end...
..and whoa, I just noticed... why is it including qt3?
Â
EDIT Oh, I was using qmake-qt3. Silly me.
Did you compile the code from /branches/qt or the one from trunk?
http://vbam.svn.sourceforge.net/viewvc/vbam/branches/qt/
Â
Â
Maybe we/I should delete the Qt GUI code from trunk because it's now developed in a seperate branch.
I've been trying to compile the qt branch.
I did get everything to work by using the QT4 version of qmake. The compile, however, did manage to fail during linking:
Code: Select all
g++ -Wl,--no-undefined -o VisualBoyAdvance main.o MainWnd.o sidewidget_cheats.o MainOptions.o configdialog.o emu.o EmuManager.o GraphicsOutput.o Globals.o bios.o Cheats.o EEprom.o Flash.o Sram.o elf.o RTC.o Sound.o memgzio.o fex_mini.o Util.o Mode0.o Mode1.o Mode2.o Mode3.o Mode4.o Mode5.o gb.o gbCheats.o gbDis.o gbGfx.o gbGlobals.o gbMemory.o gbPrinter.o gbSGB.o gbSound.o Blip_Buffer.o Effects_Buffer.o Gb_Apu.o Gb_Apu_State.o Gb_Oscs.o Multi_Buffer.o agbprint.o GBA.o GBAGfx.o GBA-arm.o GBA-thumb.o moc_MainWnd.o moc_sidewidget_cheats.o moc_MainOptions.o moc_configdialog.o moc_GraphicsOutput.o qrc_vba-m.o -L/usr/lib -L/usr/X11R6/lib -lQtOpenGL -lQtGui -lQtCore -lGLU -lGL -lpthread
/usr/bin/ld: cannot find -lGL
collect2: ld returned 1 exit status