Port of prboom to libretro.
libretro / libretro-prboom Goto Github PK
View Code? Open in Web Editor NEWPort of prboom to libretro - plays Doom, Doom II, Final Doom and other Doom IWAD mods.
License: GNU General Public License v2.0
Port of prboom to libretro - plays Doom, Doom II, Final Doom and other Doom IWAD mods.
License: GNU General Public License v2.0
Allow it to be found in the standard System/BIOS directory? Do some detection, and copy it into the temp dir before running?
I do not know if this issue belongs here.
However, I am using emulationstation / RetroPie to set up emulators on my raspberry pi. I ran into something odd with the doom emulator -- with both my Doom and Doom2 WADs, prboom will start up and display the in-game menu (New game, load game, etc). However when I select a menu option using "Enter" on my keyboard, the menu disappears and nothing happens. If I hit "Enter" a second time the menu comes back.
Any thoughts?
What i need to do to play cystom gzdoom games like the below game on my wiiu(and Android) Prboom Retroarch core?
This problem has been reproduced in both a WiiU and on a Switch running 1.8.8 builds of PrBoom.
PrBoom crashes the console entirely with DSI exceptions (WiiU) and an Atmosphere error (Switch) when attempting to create or save any game.
This can be reproduced with either Quick Save, or by trying to save normally through the Pause Menu -> Save Game.
The crash should occur within a very short time span, within 5 mins or even less if a save is done often.
Seems to be only the save option that causes the crash. Load seems to work fine.
This occurs even after cleaning all the PrBoom saves and configuration files.
I cannot be sure if the same issue happens on other consoles, but it could be happening as well.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
I have all the doom music recorded from a roland sc55 in mp3 and everything sounded excellent until recently.
since the sigil update there is no music at all anymore, even though I should hear at least something according #89 .
Would very much like if the stick control in Boom was truly analog, right now it's all digital input.
I know that Belokos port of Boom has this, but I don't know how difficult it would be to implement.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Hi,
I can't configure mouse. Only joystick and keyboard seems to work.
I'm using lr-prboom over raspberry Pi 2 (retropie 4.1.3).
How can I solve?
Thanks
Pierluigi
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Hi.
With the latest version of lr-Prboom, in retropie 4.4.1, I can only run the first time, the second attempt returns me directly to emulationstation, I attach the file runcommand.log, in case anyone could help me solve it.
runcommand.log
Thank you very much
The base framerate of 40fps is passed to retroarch as the core hz which in turn breaks CRT Switching for this core (no CRT can handle 40hz vertical refresh rate). There's actually potential to damage screens!
I've added a temporary workaround where any call for 40hz from the core gets countered with 60hz but this obviously makes the framerate reported by the core incorrect and should really be corrected in the core itself.
Either a different default framerate (50-60hz) or an optional calculated fps for a 50 or 60hz CRT would be ideal.
I have tested quite a lot of custom WADs on PrBoom and not many have worked, most causing the ps3 to lock and produce a core dump.
I have done a lot of tests with simpdoom.wad (http://www.mediafire.com/?gb3tewa089094x8) as it is only a basic customisation of the graphics and sounds and works on the original doom / doom2 for DOS. I have also tried it on the windows version of PrBoom (prboom-2.5.0-win32) and it plays / loads fine.
I am now running DEX now and have captured a log of retroarch trying to load the wad: http://pastebin.com/q5v25V4j
Let me know if you want the core dump as well.
If you have RetroArch set to 60Hz and then start Prboom core with Framerate left to auto, you will notice that the framerate is not smooth. You then need to set the Framerate manually to 60fps inside Prboom to get a smooth framerate.
As for why this is happening, it might be because we get a float value back from RETRO_ENVIRONMENT_GET_TARGET_REFRESH_RATE, whereas info->timing.fps is a double value. Perhaps the value we get back (target_framerate) is not exactly identical to 60.0 ?
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Been having a blast with Doom recently, and with the current release of the original Doom trilogy (1, 2 and 3) on the Switch, I wanted to go ahead and test if some of the official PWADs made for Doom 2 over the years are compatible.
From the ones I've tried, I could only get "No Rest for the Living" running as a PWAD on Doom 2.
However, this replaces Doom 2's original levels, instead of making it an option as a second campaign like in the BFG release. (Expected, as it works on modified engine). Master levels I couldn't get to work in any way sadly.
With that, I wanted to suggest adding support for the "No Rest for the Living" campaign for Doom 2 (nerve.wad), as well as for The Master Levels for Doom 2 as well (master.wad, masterlevels.wad, etc).
Also, if possible, perhaps looking into adding support for E1M10 for Doom 1 (Ultimate Doom) as well from the special Xbox release of Ultimate Doom which released alongside Doom 3:
https://doom.fandom.com/es/wiki/E1M10:_Sewers_(XBox_Doom)
If there is any other info needed, or perhaps the wads, or anything else, please let me know.
Hello, i've been trying to see if there were any tutorials for this on the internet but i havent seen ANYTHING on this specific issue: I have a psp 3000 with 6.61 pro c custom firmware and i installed retroarch for it. i noticed it had a prboom core and decided to check it out. i put all the wads in their appropriate folders and it works great. Now according to the readme, prboom supports custom wads as well but it doesnt say exactly how to do that. I know the command line "prboom -iwad doom2.wad -file custom.wad" but im not sure if im supposed to put that in the prboom.cfg, and if so where specifically, or if im supposed to make a new file with that command line and save it as either a .bat, .ini, .cfg, or .cmdline, or if im supposed to type in after -iwad and -file the EXACT location of the wads. (eg prboom -iwad ms0:/PSP/Game/ect). i've tried several ways to get it running and nothing worked. Can someone please help me with this? On a side note, is there a way to reconfigure the joystick for prboom? i cant use it properly because its mapped to several things and sometimes gets stuck moving in one direction.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
libretro-prboom d2cf93f
retroarch-1.7.7
> retroarch --libretro=/usr/lib64/libretro/prboom_libretro.so /mnt/data/Games/By-Game-Engine/Doom/1995-the-ultimate-doom.wad
fish: “retroarch --libretro=/usr/lib64…” terminated by signal SIGSEGV (Address boundary error)
Putting prboom.wad in /mnt/data/Games/By-Game-Engine/Doom, rgui_browser_directory, and retroarch system directory has no effect.
I can confirm that staring the the SIGIL_v1_21.wad and the first episode, I have successfully loaded the music track of the first episode of Ultimate Doom (looking at the logs), but when starting episode 5 it doesn't load the mp3.
Tried Doom, The Ultimate Doom, SIGIL and Doom 2, the texture of the floor and ceiling stretches when rotate the camera, below i attached a gif how this is looks
I can't reproduce this bug on PSP version RetroArch (tested in Adrenaline)
Vita RetroArch 1.8.1 Stable
PrBoom v2.5.0 74c8fb7
Add ability to load WADs from .zip files. Currently, this is what happens when you try to launch Doom (v1.9) from a .zip file:
RetroArch [libretro INFO] :: wfname: [DOOM.zip#DOOM.WAD], g_wad_dir: [ROMs/DOOM]
RetroArch [libretro INFO] :: ROMs/DOOM/DOOM.zip#DOOM.WAD
iwad: (null)
IdentifyVersion: IWAD not found
RetroArch [libretro INFO] :: wfname: [prboom.wad], g_wad_dir: [ROMs/DOOM]
RetroArch [libretro INFO] :: prboom.wad
RetroArch [libretro INFO] :: found prboom.wad
PrBoom, playing: Public DOOM
PrBoom is released under the GNU General Public license v2.0.
You are welcome to redistribute it under certain conditions.
It comes with ABSOLUTELY NO WARRANTY. See the file COPYING for details.
V_Init: allocate screens.
D_InitNetGame: Checking for network game.
W_Init: Init WADfiles.
adding ROMs/DOOM/prboom.wad
W_InitCache
M_Init: Init miscellaneous info.
R_Init: Init DOOM refresh daemon -
R_LoadTrigTables: Endianness...ok.
R_InitData: Textures W_GetNumForName: PNAMES not found
[1] 17800 segmentation fault (core dumped) retroarch
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
How to reproduce: Launch a Doom game. Trigger the menu and Close content.
The log I get after closing content:
RetroArch [INFO] :: Threaded rarch_task started
RetroArch [INFO] :: No content, starting dummy core.
RetroArch [INFO] :: arg #0: retroarch
RetroArch [INFO] :: arg #1: --menu
RetroArch [INFO] :: arg #2: -c
RetroArch [INFO] :: arg #3: /home/kivutar/.config/retroarch/retroarch.cfg
RetroArch [INFO] :: Saving RAM type #0 to "/home/kivutar/Jeux/roms/doom/doom1.srm".
RetroArch [INFO] :: Saving RAM type #1 to "/home/kivutar/Jeux/roms/doom/doom1.rtc".
D_DoomDeinit:
RetroArch [INFO] :: Environ SHUTDOWN.
RetroArch [INFO] :: Average audio buffer saturation: 72.38 %, standard deviation (percentage points): 14.79 %.
RetroArch [INFO] :: Amount of time spent close to underrun: 0.00 %. Close to blocking: 43.92 %.
RetroArch [INFO] :: [X11]: Xinerama version: 1.1.
RetroArch [INFO] :: [X11]: Xinerama screens: 1.
RetroArch [INFO] :: [X11]: Saved monitor #0.
RetroArch [INFO] :: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
RetroArch [INFO] :: === Build =======================================RetroArch [INFO] :: [CPUID]: Vendor: GenuineIntel
RetroArch [INFO] :: [CPUID]: Features: MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE4.2 AES AVX
MMX MMXEXT SSE1 SSE2 SSE3 SSSE3 SSE4 SSE4.2 AVX AES Built: Dec 28 2015
RetroArch [INFO] :: Version: 1.3.0
RetroArch [INFO] :: Git: 4c16640
RetroArch [INFO] :: =================================================
RetroArch [INFO] :: [CPUID]: Vendor: GenuineIntel
RetroArch [INFO] :: [CPUID]: Features: MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE4.2 AES AVX
RetroArch [INFO] :: Threaded rarch_task started
RetroArch [INFO] :: Environ SET_PIXEL_FORMAT: RGB565.
RetroArch [INFO] :: Version of libretro API: 1
RetroArch [INFO] :: Compiled against API: 1
RetroArch [INFO] :: Set audio input rate to: 29975.00 Hz.
RetroArch [INFO] :: Video @ 960x720
RetroArch [INFO] :: Found GL context: glx
RetroArch [INFO] :: Detecting screen resolution 1440x900.
RetroArch [INFO] :: [GLX]: X = 0, Y = 0, W = 960, H = 720.
RetroArch [INFO] :: [GLX]: Found swap function: glXSwapIntervalMESA.
RetroArch [INFO] :: [GLX]: glXSwapInterval(1)
RetroArch [INFO] :: [GL]: Vendor: Intel Open Source Technology Center, Renderer: Mesa DRI Intel(R) Ivybridge Mobile .
RetroArch [INFO] :: [GL]: Version: 3.0 Mesa 11.1.0.
RetroArch [INFO] :: Querying GL extension: ARB_ES2_compatibility => exists
RetroArch [INFO] :: Querying GL extension: ARB_sync => exists
RetroArch [INFO] :: Querying GL extension: ARB_texture_float => exists
RetroArch [INFO] :: Querying GL extension: EXT_texture_sRGB => exists
RetroArch [INFO] :: Querying GL extension: ARB_framebuffer_sRGB => exists
RetroArch [INFO] :: GL: Using resolution 960x720
RetroArch [INFO] :: [GL]: Default shader backend found: glsl.
RetroArch [INFO] :: [GL]: Not loading any shader.
RetroArch [INFO] :: [GL]: Using 4 textures.
RetroArch [INFO] :: [GL]: Loaded 0 program(s).
RetroArch [INFO] :: [GL]: Using GL_RGB565 for texture uploads.
RetroArch [INFO] :: Found joypad driver: "udev".
RetroArch [INFO] :: Using font rendering backend: freetype.
RetroArch [INFO] :: Suspending screensaver (X11).
RetroArch [INFO] :: [CPUID]: Vendor: GenuineIntel
RetroArch [INFO] :: [CPUID]: Features: MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE4.2 AES AVX
RetroArch [INFO] :: ALSA: Using signed 16-bit format.
RetroArch [INFO] :: ALSA: Period size: 768 frames
RetroArch [INFO] :: ALSA: Buffer size: 3072 frames
RetroArch [INFO] :: ALSA: Can pause: yes.
RetroArch [INFO] :: [CPUID]: Vendor: GenuineIntel
RetroArch [INFO] :: [CPUID]: Features: MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE4.2 AES AVX
Can't locate Net/DBus.pm in @inc (you may need to install the Net::DBus module) (@inc contains: /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at -e line 5.
BEGIN failed--compilation aborted at -e line 5.
RetroArch [INFO] :: Using font rendering backend: freetype.
RetroArch [INFO] :: SRAM will not be saved.
RetroArch [INFO] :: null: [/home/kivutar/.config/retroarch/content_history.lpl].
RetroArch [INFO] :: [GL]: VSync => on
RetroArch [INFO] :: [GLX]: glXSwapInterval(1)
RetroArch [INFO] :: Threaded rarch_task started
RetroArch [INFO] :: No content, starting dummy core.
RetroArch [INFO] :: arg #0: retroarch
RetroArch [INFO] :: arg #1: --menu
RetroArch [INFO] :: arg #2: -c
RetroArch [INFO] :: arg #3: /home/kivutar/.config/retroarch/retroarch.cfg
RetroArch [INFO] :: arg #4: -L
RetroArch [INFO] :: arg #5: /home/kivutar/.config/retroarch/cores/prboom_libretro.so
RetroArch [INFO] :: arg #6: -v
RetroArch [INFO] :: [X11]: Xinerama version: 1.1.
RetroArch [INFO] :: [X11]: Xinerama screens: 1.
RetroArch [INFO] :: [X11]: Saved monitor #0.
RetroArch [INFO] :: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
RetroArch [INFO] :: === Build =======================================RetroArch [INFO] :: [CPUID]: Vendor: GenuineIntel
RetroArch [INFO] :: [CPUID]: Features: MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE4.2 AES AVX
MMX MMXEXT SSE1 SSE2 SSE3 SSSE3 SSE4 SSE4.2 AVX AES Built: Dec 28 2015
RetroArch [INFO] :: Version: 1.3.0
RetroArch [INFO] :: Git: 4c16640
RetroArch [INFO] :: =================================================
RetroArch [INFO] :: [CPUID]: Vendor: GenuineIntel
RetroArch [INFO] :: [CPUID]: Features: MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE4.2 AES AVX
RetroArch [INFO] :: Environ SET_PIXEL_FORMAT: RGB565.
RetroArch [INFO] :: Version of libretro API: 1
RetroArch [INFO] :: Compiled against API: 1
RetroArch [INFO] :: Threaded rarch_task started
RetroArch [INFO] :: Set audio input rate to: 29975.00 Hz.
RetroArch [INFO] :: Video @ 960x720
RetroArch [INFO] :: Found GL context: glx
RetroArch [INFO] :: Detecting screen resolution 1440x900.
RetroArch [INFO] :: [GLX]: X = 0, Y = 0, W = 960, H = 720.
RetroArch [INFO] :: [GLX]: Found swap function: glXSwapIntervalMESA.
RetroArch [INFO] :: [GLX]: glXSwapInterval(1)
RetroArch [INFO] :: [GL]: Vendor: Intel Open Source Technology Center, Renderer: Mesa DRI Intel(R) Ivybridge Mobile .
RetroArch [INFO] :: [GL]: Version: 3.0 Mesa 11.1.0.
RetroArch [INFO] :: Querying GL extension: ARB_ES2_compatibility => exists
RetroArch [INFO] :: Querying GL extension: ARB_sync => exists
RetroArch [INFO] :: Querying GL extension: ARB_texture_float => exists
RetroArch [INFO] :: Querying GL extension: EXT_texture_sRGB => exists
RetroArch [INFO] :: Querying GL extension: ARB_framebuffer_sRGB => exists
RetroArch [INFO] :: GL: Using resolution 960x720
RetroArch [INFO] :: [GL]: Default shader backend found: glsl.
RetroArch [INFO] :: [GL]: Not loading any shader.
RetroArch [INFO] :: [GL]: Using 4 textures.
RetroArch [INFO] :: [GL]: Loaded 0 program(s).
RetroArch [INFO] :: [GL]: Using GL_RGB565 for texture uploads.
RetroArch [INFO] :: Found joypad driver: "udev".
RetroArch [INFO] :: Using font rendering backend: freetype.
RetroArch [INFO] :: Suspending screensaver (X11).
RetroArch [INFO] :: [CPUID]: Vendor: GenuineIntel
RetroArch [INFO] :: [CPUID]: Features: MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE4.2 AES AVX
RetroArch [INFO] :: ALSA: Using signed 16-bit format.
RetroArch [INFO] :: ALSA: Period size: 768 frames
RetroArch [INFO] :: ALSA: Buffer size: 3072 frames
RetroArch [INFO] :: ALSA: Can pause: yes.
RetroArch [INFO] :: [CPUID]: Vendor: GenuineIntel
RetroArch [INFO] :: [CPUID]: Features: MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE4.2 AES AVX
Can't locate Net/DBus.pm in @inc (you may need to install the Net::DBus module) (@inc contains: /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at -e line 5.
BEGIN failed--compilation aborted at -e line 5.
RetroArch [INFO] :: Using font rendering backend: freetype.
RetroArch [INFO] :: SRAM will not be saved.
RetroArch [INFO] :: null: [/home/kivutar/.config/retroarch/content_history.lpl].
RetroArch [INFO] :: Saving config at path: "/home/kivutar/.config/retroarch/retroarch.cfg"
RetroArch [INFO] :: [X11]: Xinerama version: 1.1.
RetroArch [INFO] :: [X11]: Xinerama screens: 1.
RetroArch [INFO] :: [X11]: Saved monitor #0.
RetroArch [INFO] :: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
RetroArch [INFO] :: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
I'm not sure if it's a PRBoom bug or a RetroArch bug yet.
I have sound but no music, and I don't find any information about it anywhere.
I use the official wad :
$ md5sum /mnt/sdc1/doom/doom1.wad
c4fe9fd920207691a9f493668e0a2083 /mnt/sdc1/doom/doom1.wad
$ ll /mnt/sdc1/doom/doom1.wad
-rwxr-xr-x 1 root root 12M Apr 26 14:43 /mnt/sdc1/doom/doom1.wad
Just wondering how come this core isn't available for 3DS... Any chance it could be in future? Thanks.
I'm using the version compiled from source as of today. Everything works fine if a wad is launched for the first time, but it fails on subsequent times if the save folder (basesavegame?) is already present. Runcommand returns this error:
line 1008: 22991 Segmentation fault /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-prboom/prboom_libretro.so --config /opt/retropie/configs/ports/doom/retroarch.cfg "/home/pi/retropie/roms/ports/doom/doom1.wad" --appendconfig /dev/shm/retroarch.cfg
The prboom core crashes instantly when trying to launch a wad file on Windows.
Strangely, with the 32-bit version I've managed to get to the main menu of Doom, but it crashes when I try to go in-game (other wads still crash instantly).
Hey :)
I wanted to mess with mp3 files while playing SIGIL, but it doesnt seem to be working atm.
I renamed a mp3 into e5m1.mp3 but it didnt work, I even created a SIGIL.prboom.cfg with mus_e5m1 "e5m1.mp3"
in it, but nope, still the MIDI music playing.
The mp3 itself is fine, if I rename it e1m1.mp3 it plays without any problem in 1st level of DOOM.
Since SIGIL_COMPAT is considered as episode 3 I tried with this wad, I thought maybe by renaming the mp3 to e3m1.mp3 it would work, but nope :(
Version 5e4f878, happening on Windows 10 and Linux.
Prboom on IOS is crashing just after you select level of difficulty, so just before the game start
Hi. Just trying to launch strife1.wad with retroarch using prboom and the emulation doesn't start while retroarch still seems to be active (but windowless). When launched from a terminal, I get the following error looping over and over:
Z_Malloc: Failure trying to allocate 4294966176 bytes
Windows 10
Retroarch 1.7.7
Latest release of prboom core from the retroarch cores repository.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
(Wasn't sure where to put this, so cross posted in libretro/RetroArch#2572)
Whenever I try to load doom.wad
on a fresh install of RetroArch with PrBoom core installed, 💥.
I suspect it's some thing/file/command that I don't have, but RetroArch shouldn't implode because of it. He's the one of the crash reports from my machine (unimportant bits cut out):
Process: RetroArch [10029]
Path: /Applications/RetroArch.app/Contents/MacOS/RetroArch
Identifier: libretro.RetroArch
Version: 1.2.2 (1.2.2)
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: RetroArch [10029]
User ID: 504
Date/Time: 2015-12-16 18:31:00.758 -0500
OS Version: Mac OS X 10.11.2 (15C50)
Report Version: 11
Anonymous UUID: A9013957-E3D9-D58D-2B7D-B327B486A529
Sleep/Wake UUID: 47203695-8B63-4F15-A1FC-8864404A1F75
Time Awake Since Boot: 73000 seconds
Time Since Wake: 17000 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
VM Regions Near 0:
-->
__TEXT 0000000100000000-00000001001a3000 [ 1676K] r-x/rwx SM=COW /Applications/RetroArch.app/Contents/MacOS/RetroArch
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_c.dylib 0x00007fff8fed5152 strlen + 18
1 prboom_libretro.dylib 0x000000011a013a97 D_AddFile + 71
Thread 1:: Dispatch queue: com.apple.libdispatch-manager
0 libsystem_kernel.dylib 0x00007fff987e2ff6 kevent_qos + 10
1 libdispatch.dylib 0x00007fff8bee1099 _dispatch_mgr_invoke + 216
2 libdispatch.dylib 0x00007fff8bee0d01 _dispatch_mgr_thread + 52
Thread 4:: com.apple.NSEventThread
0 libsystem_kernel.dylib 0x00007fff987dc386 mach_msg_trap + 10
1 libsystem_kernel.dylib 0x00007fff987db7c7 mach_msg + 55
2 com.apple.CoreFoundation 0x00007fff92322624 __CFRunLoopServiceMachPort + 212
3 com.apple.CoreFoundation 0x00007fff92321aec __CFRunLoopRun + 1356
4 com.apple.CoreFoundation 0x00007fff92321338 CFRunLoopRunSpecific + 296
5 com.apple.AppKit 0x00007fff8ad0c065 _NSEventThread + 149
6 libsystem_pthread.dylib 0x00007fff92977c13 _pthread_body + 131
7 libsystem_pthread.dylib 0x00007fff92977b90 _pthread_start + 168
8 libsystem_pthread.dylib 0x00007fff92975375 thread_start + 13
Thread 5:
0 libsystem_kernel.dylib 0x00007fff987e2206 __semwait_signal + 10
1 libsystem_c.dylib 0x00007fff8ff53d17 nanosleep + 199
2 libretro.RetroArch 0x0000000100062144 rarch_sleep + 116
3 libretro.RetroArch 0x000000010012b71e data_thread_loop + 206
4 libretro.RetroArch 0x0000000100069b50 thread_wrap + 64
5 libsystem_pthread.dylib 0x00007fff92977c13 _pthread_body + 131
6 libsystem_pthread.dylib 0x00007fff92977b90 _pthread_start + 168
7 libsystem_pthread.dylib 0x00007fff92975375 thread_start + 13
Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x000000011d77aef0 rbx: 0x0000000000000000 rcx: 0x0000000000000000 rdx: 0x0000000000000000
rdi: 0x0000000000000000 rsi: 0x000000010120fa00 rbp: 0x00007fff5fbe5430 rsp: 0x00007fff5fbe5430
r8: 0x000000000000000f r9: 0x0000000000000000 r10: 0x0000000000000010 r11: 0x000000011d700000
r12: 0x000000011a0b80a0 r13: 0x0000000000000012 r14: 0x0000000000000001 r15: 0x000000011a0b80a8
rip: 0x00007fff8fed5152 rfl: 0x0000000000010246 cr2: 0x0000000000000000
Logical CPU: 0
Error Code: 0x00000004
Trap Number: 14
Recently, I found out PWAD implementation has been added PrBoom.
With that said, I decided to try a couple mods for Doom 2, and one of which was WolfenDoom, which recreates Wolfenstein 3D assets, maps and sounds into Doom II.
For this example, I will use The Original Missions found in LazRojas' site found here:
http://lazrojas.com/wolfendoom/original_2.html
The Original Missions mod has the following files:
As you can see, this mod has an additional .wad used for it, with the name orig15.wad (The Nocturnal Missions also has an additional noct15.wad).
If I try using only original.wad for PWAD, the game does load, and most assets for Wolfenstein 3D are already loaded up. However, the orig15.wad seems to add some bugfixes, and as such that file is also required to completely load WolfenDoom through PrBoom's PWAD implementation.
One workaround was found by user ChiefReginod over at GBATemp:
https://gbatemp.net/threads/retroarch-wiiu-wip.447670/page-550#post-8494747
Where he details a special and unique cfg file so that PrBoom loads the second .wad file correctly.
There is also another problem with this mod, and that is that the songs don't load at all, but that's because the .DEH file renames all of them to something similar to Wolfenstein 3D's original names, but that is another problem on its own.
If there any more detailed instructions or information required, please let me know.
Hey!
For Linux users, would it be possible to completely ignore the case for the iwad filename when loading a custom wad?
For example, if I want to load SIGIL and have DOOM.WAD/DOOM.wad/Doom.wad/doom.WAD/etc., it wont load because its looking for doom.wad and nothing else.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
I am unable to load any .Wad files. I have tried doom.wad, doom2.wad, TNT.wad & plutonia.wad.
When I try to load the wad file the PS3 crashes totally and requires a hard power off.
I have been testing this with the latest commit of RetroArch.
Comparing the libretro version to Windows, libretro-prboom plays sounds at way too low of a default pitch. Changing the sample rate didn't help, nor did I think it would.
Any ideas?
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Hi @Ferk,
Chex Quest 3 was just released for free.
https://www.chexmix.com/chexquest/
So I tried using the WAD contained.
While it boots up in the Prboom core, it crashes soon after.
Would this be something you'd like to look into? Would be nice if our core could run it flawlessly.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
currently the prboom core isn't finding additional pwad and deh files.
prboom.cfg
# Doom config file
# Format:
# variable value
# Misc settings
default_compatibility_level -1
menu_background 1
max_player_corpse 32
flashing_hom 0
demo_insurance 2
level_precache 0
demo_smoothturns 0
demo_smoothturnsfactor 6
# Files
wadfile_1 "MASTERLEVELS.WAD"
wadfile_2 ""
dehfile_1 "MasterLevels.deh"
dehfile_2 ""
# Game settings
default_skill 3
weapon_recoil 0
doom_weapon_toggles 1
player_bobbing 1
monsters_remember 1
monster_infighting 1
monster_backing 0
monster_avoid_hazards 1
monkeys 0
monster_friction 1
help_friends 1
allow_pushers 1
variable_friction 1
sts_always_red 1
sts_pct_always_gray 0
sts_traditional_keys 0
show_messages 1
autorun 0
# Compatibility settings
comp_zombie 0
comp_infcheat 0
comp_stairs 0
comp_telefrag 0
comp_dropoff 0
comp_falloff 0
comp_staylift 0
comp_doorstuck 0
comp_pursuit 0
comp_vile 0
comp_pain 0
comp_skull 0
comp_blazing 0
comp_doorlight 0
comp_god 0
comp_skymap 0
comp_floors 0
comp_model 0
comp_zerotags 0
comp_moveblock 0
comp_sound 0
comp_666 0
comp_soul 0
comp_maskedanim 0
# Sound settings
sound_card -1
music_card -1
pitched_sounds 1
samplerate 22050
sfx_volume 8
music_volume 8
mus_pause_opt 2
snd_channels 8
# Video settings
screenblocks 0
usegamma 1
uncapped_framerate 0
filter_wall 1
filter_floor 1
filter_sprite 1
filter_z 1
filter_patch 1
filter_threshold 49152
sprite_edges 0
patch_edges 0
# Mouse settings
use_mouse 1
mouse_sensitivity_horiz 32
mouse_sensitivity_vert 10
mouseb_fire 0
mouseb_strafe 1
mouseb_forward 2
mouseb_backward -1
# Key bindings
key_right 0xae
key_left 0xac
key_up 0xad
key_down 0xaf
key_menu_right 0xae
key_menu_left 0xac
key_menu_up 0xad
key_menu_down 0xaf
key_menu_backspace 0x7f
key_menu_escape 0x1b
key_menu_enter 0xd
key_setup 0xc7
key_strafeleft 0x2c
key_straferight 0x2e
key_fire 0x9d
key_use 0x20
key_strafe 0xb8
key_speed 0xb6
key_savegame 0xbc
key_loadgame 0xbd
key_soundvolume 0xbe
key_hud 0xbf
key_quicksave 0xc0
key_endgame 0xc1
key_messages 0xc2
key_quickload 0xc3
key_quit 0xc4
key_gamma 0xd7
key_spy 0xd8
key_pause 0xff
key_autorun 0xba
key_chat 0x74
key_backspace 0x7f
key_enter 0xd
key_map 0x9
key_map_right 0xae
key_map_left 0xac
key_map_up 0xad
key_map_down 0xaf
key_map_zoomin 0x3d
key_map_zoomout 0x2d
key_map_gobig 0x30
key_map_follow 0x66
key_map_mark 0x6d
key_map_clear 0x63
key_map_grid 0x67
key_map_rotate 0x72
key_map_overlay 0x6f
key_reverse 0x2f
key_zoomin 0x3d
key_zoomout 0x2d
key_chatplayer1 0x67
key_chatplayer2 0x69
key_chatplayer3 0x62
key_chatplayer4 0x72
key_weapontoggle 0x30
key_weaponcycleup 0x6d
key_weaponcycledown 0x6e
key_weapon1 0x31
key_weapon2 0x32
key_weapon3 0x33
key_weapon4 0x34
key_weapon5 0x35
key_weapon6 0x36
key_weapon7 0x37
key_weapon8 0x38
key_weapon9 0x39
key_screenshot 0x2a
# Chat macros
chatmacro0 "No"
chatmacro1 "I'm ready to kick butt!"
chatmacro2 "I'm OK."
chatmacro3 "I'm not looking too good!"
chatmacro4 "Help!"
chatmacro5 "You suck!"
chatmacro6 "Next time, scumbag..."
chatmacro7 "Come here!"
chatmacro8 "I'll take care of it."
chatmacro9 "Yes"
# Automap settings
mapcolor_back 0xf7
mapcolor_grid 0x68
mapcolor_wall 0x17
mapcolor_fchg 0x37
mapcolor_cchg 0xd7
mapcolor_clsd 0xd0
mapcolor_rkey 0xaf
mapcolor_bkey 0xcc
mapcolor_ykey 0xe7
mapcolor_rdor 0xaf
mapcolor_bdor 0xcc
mapcolor_ydor 0xe7
mapcolor_tele 0x77
mapcolor_secr 0xfc
mapcolor_exit 0x0
mapcolor_unsn 0x68
mapcolor_flat 0x58
mapcolor_sprt 0x70
mapcolor_item 0xe7
mapcolor_hair 0xd0
mapcolor_sngl 0xd0
mapcolor_me 0x70
mapcolor_enemy 0xb1
mapcolor_frnd 0x70
map_secret_after 0
map_point_coord 0
automapmode 0x0
# Heads-up display settings
hudcolor_titl 5
hudcolor_xyco 3
hudcolor_mesg 6
hudcolor_chat 5
hudcolor_list 5
hud_msg_lines 1
hud_list_bgon 0
hud_distributed 0
health_red 25
health_yellow 50
health_green 100
armor_red 25
armor_yellow 50
armor_green 100
ammo_red 25
ammo_yellow 50
hud_active 2
hud_displayed 0
hud_nosecrets 0
# Weapon preferences
weapon_choice_1 6
weapon_choice_2 9
weapon_choice_3 4
weapon_choice_4 3
weapon_choice_5 2
weapon_choice_6 8
weapon_choice_7 5
weapon_choice_8 7
weapon_choice_9 1
# Music
mus_bunny "..\music\doom\d_bunny.mp3"
mus_e1m1 "..\music\doom\d_e1m1.mp3"
mus_e1m2 "..\music\doom\d_e1m2.mp3"
mus_e1m3 "..\music\doom\d_e1m3.mp3"
mus_e1m4 "..\music\doom\d_e1m4.mp3"
mus_e1m5 "..\music\doom\d_e1m5.mp3"
mus_e1m6 "..\music\doom\d_e1m6.mp3"
mus_e1m7 "..\music\doom\d_e1m7.mp3"
mus_e1m8 "..\music\doom\d_e1m8.mp3"
mus_e1m9 "..\music\doom\d_e1m9.mp3"
mus_e2m1 "..\music\doom\d_e2m1.mp3"
mus_e2m2 "..\music\doom\d_e2m2.mp3"
mus_e2m3 "..\music\doom\d_e2m3.mp3"
mus_e2m4 "..\music\doom\d_e2m4.mp3"
mus_e2m5 "..\music\doom\d_e1m5.mp3"
mus_e2m6 "..\music\doom\d_e2m6.mp3"
mus_e2m7 "..\music\doom\d_e2m7.mp3"
mus_e2m8 "..\music\doom\d_e2m8.mp3"
mus_e2m9 "..\music\doom\d_e2m9.mp3"
mus_e3m1 "..\music\doom\d_e3m1.mp3"
mus_e3m2 "..\music\doom\d_e3m2.mp3"
mus_e3m3 "..\music\doom\d_e3m3.mp3"
mus_e3m4 "..\music\doom\d_e3m4.mp3"
mus_e3m5 "..\music\doom\d_e3m5.mp3"
mus_e3m6 "..\music\doom\d_e3m6.mp3"
mus_e3m7 "..\music\doom\d_e3m7.mp3"
mus_e3m8 "..\music\doom\d_e3m8.mp3"
mus_e3m9 "..\music\doom\d_e3m9.mp3"
mus_inter "..\music\doom\d_inter.mp3"
mus_introa "..\music\doom\d_introa.mp3"
mus_intro "..\music\doom\d_intro.mp3"
mus_victor "..\music\doom\d_victor.mp3"
mus_adrian "..\music\doom2\d_adrian.mp3"
mus_ampie "..\music\doom2\d_ampie.mp3"
mus_betwee "..\music\doom2\d_betwee.mp3"
mus_count2 "..\music\doom2\d_count2.mp3"
mus_countd "..\music\doom2\d_countd.mp3"
mus_ddtbl2 "..\music\doom2\d_ddtbl2.mp3"
mus_ddtbl3 "..\music\doom2\d_ddtbl3.mp3"
mus_ddtblu "..\music\doom2\d_ddtblu.mp3"
mus_dead2 "..\music\doom2\d_dead2.mp3"
mus_dead "..\music\doom2\d_dead.mp3"
mus_dm2int "..\music\doom2\d_dm2int.mp3"
mus_dm2ttl "..\music\doom2\d_dm2ttl.mp3"
mus_doom2 "..\music\doom2\d_doom2.mp3"
mus_doom "..\music\doom2\d_doom.mp3"
mus_evil "..\music\doom2\d_evil.mp3"
mus_in_cit "..\music\doom2\d_in_cit.mp3"
mus_messag "..\music\doom2\d_messag.mp3"
mus_messg2 "..\music\doom2\d_messg2.mp3"
mus_openin "..\music\doom2\d_openin.mp3"
mus_read_m "..\music\doom2\d_read_m.mp3"
mus_romer2 "..\music\doom2\d_romer2.mp3"
mus_romero "..\music\doom2\d_romero.mp3"
mus_runni2 "..\music\doom2\d_runni2.mp3"
mus_runnin "..\music\doom2\d_runnin.mp3"
mus_shawn2 "..\music\doom2\d_shawn2.mp3"
mus_shawn3 "..\music\doom2\d_shawn3.mp3"
mus_shawn "..\music\doom2\d_shawn.mp3"
mus_stalks "..\music\doom2\d_stalks.mp3"
mus_stlks2 "..\music\doom2\d_stlks2.mp3"
mus_stlks3 "..\music\doom2\d_stlks3.mp3"
mus_tense "..\music\doom2\d_tense.mp3"
mus_theda2 "..\music\doom2\d_theda2.mp3"
mus_theda3 "..\music\doom2\d_theda3.mp3"
mus_the_da "..\music\doom2\d_the_da.mp3"
mus_ultima "..\music\doom2\d_ultima.mp3"
log file
[libretro INFO] FindFileInDir: not found Doom2 in C:\Users\Sakitoshi\Emulation\DooM\Master
[libretro INFO] FindFileInDir: not found Doom2 in C:\Users\Sakitoshi\Emulation\DooM\Master
[libretro INFO] FindFileInDir: found C:\Users\Sakitoshi\Emulation\DooM\Master\Doom2.wad
[libretro INFO] FindFileInDir: found C:\Users\Sakitoshi\Emulation\DooM\Master\prboom.wad
[libretro INFO] FindFileInDir: not found MASTERLEVELS.WAD in C:\Users\Sakitoshi\Emulation\DooM\Master
[INFO] Environ SYSTEM_DIRECTORY: "C:\Program Files\RetroArch\system".
[libretro INFO] FindFileInDir: not found MASTERLEVELS.WAD in C:\Program Files\RetroArch\system
[libretro INFO] FindFileInDir: not found MASTERLEVELS.WAD in C:\Users\Sakitoshi\Emulation\DooM
[libretro INFO] FindFileInDir: not found MASTERLEVELS.WAD in C:\Users\Sakitoshi\Emulation
[libretro INFO] FindFileInDir: not found MASTERLEVELS.WAD in C:\Users\Sakitoshi
[libretro INFO] FindFileInDir: not found MASTERLEVELS.WAD in C:\Users
[libretro INFO] FindFileInDir: not found MASTERLEVELS.WAD in C:
[libretro INFO] FindFileInDir: not found MasterLevels.deh in C:\Users\Sakitoshi\Emulation\DooM\Master
[INFO] Environ SYSTEM_DIRECTORY: "C:\Program Files\RetroArch\system".
[libretro INFO] FindFileInDir: not found MasterLevels.deh in C:\Program Files\RetroArch\system
[libretro INFO] FindFileInDir: not found MasterLevels.deh in C:\Users\Sakitoshi\Emulation\DooM
[libretro INFO] FindFileInDir: not found MasterLevels.deh in C:\Users\Sakitoshi\Emulation
[libretro INFO] FindFileInDir: not found MasterLevels.deh in C:\Users\Sakitoshi
[libretro INFO] FindFileInDir: not found MasterLevels.deh in C:\Users
[libretro INFO] FindFileInDir: not found MasterLevels.deh in C:
on top of that, having the prboom.cfg file in the save folder is creating a problem of his own while trying to load mods.
having a single config file for official wad doesn't allow to have different independent pwad/deh and music ready to run since you need to go and edit the prboom.cfg file to load different sets of pwad/deh and music.
the way it was before allowed to have multiple copies of the prboom.cfg file and thus having multiple sets of mods ready to be used.
How to reproduce the issue:
I believe this issue occurs in other devices and machines as well with the PrBoom core, though I am not sure.
Tested nightly build from 24-04-19, and it goes black screen when loading a content, returning to RA menu doesn't respond.
Also tested by @ShadowOne333 https://gbatemp.net/threads/retroarch-switch.492920/page-297#post-8608569
I have a working copy of the .nro
Hello,
I have a retropie with running prboom-plus from the menu (ms-dos)
runnetplay.sh with prboom-plus -net 10.0.0.5
on another linux machine, I have prboom-plus-gameserver running, and
it works. Both can see each other. This will not work with gamepad.
So, liretro prboom may help. How to connect via net local ?
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Hi!
When I try to run Doom Ultimate or Doom 2, RA get inmediatly closed.
I'm running RA 1.7.7, with vulkan as video driver. My system is a Intel NUC8i3beh, with ZorinOS 15, kernel 5.0.0-23-generic
I've tried:
I've checked md5sum of my wad files and are ok, according with https://doomwiki.org/wiki/DOOM.WAD
I have prboom.wad on the same folder with doom.wad
I don't know what else to do, and have no clue on what is happening.
Here is the log file:
retroarch.log
Sorry for my english :P
EDIT:
I've tested doom.wad and doom2.wad with prboom-plus and with gzdoom. In both cases, games works fine, so I believe that wad files are ok.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Well could you start to use versions like Major.Minor.Patch
for your releases?
Good day.
I've been playing through some PWADs (with Doom 2 as their IWAD) lately, and I noticed some odd behaviour when playing through them.
So far I have noticed the following:
One clear example of this is by using WolfenDoom as a PWAD for Doom 2.
In the very first level, if you try to get to the secret exit of E1M1, the level simply restart itself.
Same thing later on, if you get to a part of the game where a certain enemy drops a key (bosses usually), it seems like the boss doesn't drop the item, making the level impossible to beat (as you need the key to open a door to continue).
If there is anything else I can do to test/debug this, please let me know.
Upon boot of the Sigil PWAD using Doom as IWAD, the Sigil title screen shows up for about 5 seconds, before it gets cut-off by going directly into a Demo of E5M2. The title screen music doesn't finish neither, as it gets cut-off as well.
Taking several online playthroughs of Sigil for comparison, the proper behaviour of the title screen should be the main Sigil title screen image, followed by the credits of the WAD.
Here's a video depicting said behaviour:
https://www.youtube.com/watch?v=XZVvR9XBY58
Perhaps having the Sigil wad to go into the Demo after the sequence image would make it so that the music (both MIDI and Buckethead's) gets to finish properly, without being cutoff by the Demo so abruptly.
This has been tested on RetroArch for Windows (both 32bit and 64bit) and also RetroArch Switch, 2019-06-12 nightly.
The 60fps is very nice but unfortunately the rest of the game seems to run at the same rate. Is there anyway to decouple the gameplay from the frame rate?
Using 13.04 ubuntu, recently built libretroprboom
OS: Slackware64 current
RetroArch-2016.08.05_8dc41b5_master-x86_64-1_git
libretro-prboom-2016.07.19_448fa6e_master-x86_64-1_git
These wads will work with programs like chocolate-doom, I'm not sure if they should work with prboom, but they at least should not segfault.
Thread 1 "retroarch" received signal SIGSEGV, Segmentation fault.
0x00007fffe9b42827 in Z_ChangeTag (ptr=0x3e95d5f0, tag=1) at src/z_zone.c:264
264 if (tag == block->tag)
Full gdb log: http://pastebin.com/zxXwp8Yz
Some levels use the same music as other levels:
http://doom.wikia.com/wiki/Doom_music
E.g. the music "Demons On The Prey " is repeated in E1M7 and E2M5
The mp3 files you find on internet have only file for the different levels.
Due to a modification of the original prdoom code, It is now necessary to make several copies of the same file.
I load up doom.wad, and Start a Game.
Try to run a Cheat Search to use the Console way of finding limited Cheats, but nothing happens.
The Computer Games/Doom.txt File loads up, but I can not get ANY of the Cheats to do anything.
Suggest either having the Cheat Search/Create Enabled (Address/Values might be better), or some way to have a Keyboard come up for Users to Enter Codes Manually.
Controls were perfectly fine before, but today I updated the prboom core and suddenly all the buttons were mapped differently and the run key is now a toggle.
Lurking around I found that commit e9fda90 converted the run key in a toggle and #46 changed the button mappings.
This core doesn't support control remapping so is imposible to change the buttons back without having to remap the whole controller.
Impossible to get music completely correct, even using mp3's and separate folders.
For example in Final Doom - Evilution (TNT)
Multiple other errors here as well. I'll try make sense of it all later.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Whenever I try to save my progress, the game won't accept the "confirm" like the RetroArch UI and just cancels whenever I press which button I assigned as "menu enter" in PrBoom (assigned to A on a Xbox 360 controller or Enter on Keyboard).
Also would it be possible to make a RetroArch version of PrBoom+ instead of the regular PrBoom since it has more advanced features and less bugs, and possibly not requiring making *MP3 files of the music files from the games' *WAD files to play music in the game? The reason I ask this is because 1) making the *MP3 rips of the games from the games' WAD files is a complicated and long process to set up, and 2) when I play Final Doom *WADs it plays the wrong music.
Hello,
actually, for Libretro prboom module to work, you have to put the prboom.wad and music mp3 files in the same folder that the .wad doom game.
You can even put the prboom.wad and the music mp3 files in the retroarch system directory.
Then prboom Libretro module create a folder in the same folder than the .wad doom file with the name of this .wad doom file, where it store a config file.
Would it be possible to gather all these files necessary for the module in the same directory?
For example, in the retroarch system directory, a folder named prboom where we can put the prboom.wad, MP3 files and prboom could save his config files in this folder too.
Regards.
I've ran into this issue with two installs of Lakka, but I'm not sure what exactly causes it, nor I'm sure if that is a Lakka problem specifically or is the fault of the core itself, but I'm still going to leave the issue here.
The problem is that, while most of the controls remain functional, the strafing on the left analog stick (with the Gamepad Modern control scheme) gets permamently disabled, with no explanation as to why or how. I've tried to fix this issue by using different builds of PrBoom (starting with v2.5.0 9c028d included in Lakka's Christmas 2018 build), on both standalone Lakka and Lakka manually installed via Berryboot, but it persists nonetheless. Then, on a fresh install of Lakka, I've tried recreating the bug, documenting every step of it, but to no avail, as the controls appear to work just fine there.
The gamepad that might've caused the bug is Hori Battle Pad for Nintendo Switch.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.