shonumi / gbe-plus

DMG/GBC/GBA emulator and experimental NDS emulator.
GNU General Public License v2.0
501 stars 79 forks source link

Netplay Issues #112

Open trashm opened 4 years ago

trashm commented 4 years ago

I can't get netplay to work at all. I've tried every release version (1.2-1.4).

I'm trying to set up a session between two instances of GBE+ running on the same computer. I've read in the manual that this is possible. I've been using all of the basic settings mentioned in the netplay guide.

When I hit F5 to start up netplay, the emulator hiccups like it should but no connection is ever established. It's hard to tell exactly what's happening here, as I can't even get any console output after the rom initially loads.

shonumi commented 4 years ago

Netplay only works if you build/compile GBE+ yourself on Windows. You need to have SDL2_Net along with the SDL2 libraries (and Qt if you're building the GUI version). I haven't put SDL2_Net on my Windows machine yet, so that's why the release builds don't have netplay enabled.

trashm commented 4 years ago

Ah, I see. I was trying to compile it a couple of days ago, thinking that might be the case.

I got as far as using cmake to create a makefile. Trying to run that file with mingw32-make results in a ton errors like these two:

c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: gba/libgba.a(opengl.cpp.obj):opengl.cpp:(.text+0x160): undefined reference to `_imp__glewInit@0'.

c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: gba/libgba.a(sio.cpp.obj):sio.cpp:(.text+0x2a): undefined reference to `SDLNet_Init'

All the functions referenced from glew and sld2_net are undefined for some reason. At least I think that's what's happening? I don't know. I tried looking this error up on stack overflow, but I think I'm in over my head here. Could you help me out?

shonumi commented 4 years ago

GLEW is a dependency on Windows too. I forgot to mention that, my bad. Slipped my mind. It's necessary for OpenGL (at least, using anything greater than 1.1).

If mingw is complaining about SDLNet_Init, it looks like it's not properly linking to the SDL2_Net library. CMake should complain about it when checking for dependencies (hitting the "Configure" button on the GUI version of CMake, or running "cmake ./../" from the build folder from something like MSYS2.)

I'll have a look later today and see if I can try (finally) building it on Windows with SDL2_Net myself.

trashm commented 4 years ago

Yeah, actually, cmake did throw up this warning for me, though I wasn't sure what to do with it:

-- Found SDL2NET: C:/MinGW/lib/libSDL2_net.dll.a CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message): The package name passed to find_package_handle_standard_args (SDL2) does not match the name of the calling package (SDL2NET). This can lead to problems in calling code that expects find_package result variables (e.g., _FOUND) to follow a certain pattern. Call Stack (most recent call first): CMakeTests/FindSDL2NET.cmake:83 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) CMakeLists.txt:32 (find_package) This warning is for project developers. Use -Wno-dev to suppress it.

ADormant commented 3 years ago

Hi @shonumi could you enable netplay at default in the next stable Windows version?

shonumi commented 3 years ago

Sorry for the delayed response! Yes, I'll try to enable netplay on Windows when 1.5 comes out in a few months.

thefierybreeze commented 2 years ago

Hi, I tried using netplay with the provided 1.5 binnary and couldn't get it to work, likely not enabled still. Bit confusing considering nothing indicates that it's not even built to work.

DittoLink commented 2 years ago

Hi, I tried using netplay with the provided 1.5 binnary and couldn't get it to work, likely not enabled still. Bit confusing considering nothing indicates that it's not even built to work.

Adding set(GLEW_LIBRARY libglew32.dll.a) to line:62 in CMakeLists.txt and using MSYS2 to build it.

Brian-SullivanDev commented 8 months ago

I am unable to compile this on Windows, any chance netplay has been supported in newer releases?

Can run 1.5 on Windows 10, but latest release executables complain about missing dlls when I try to run.

Will try to work past the missing dlls if netplay is supported in current release, otherwise, 1.5 does everything else just fine

Really trying to do a mystery gift between two gen 2 Pokemon games

DittoLink commented 8 months ago

I am unable to compile this on Windows, any chance netplay has been supported in newer releases?

Can run 1.5 on Windows 10, but latest release executables complain about missing dlls when I try to run.

Will try to work past the missing dlls if netplay is supported in current release, otherwise, 1.5 does everything else just fine

Really trying to do a mystery gift between two gen 2 Pokemon games

https://mega.nz/file/Pzom1biC#j_w-8EkObJw_SZx8hukMQgyjcDZKcqC7DxKj2gJHYy4