-
Posts
1,228 -
Joined
-
Last visited
-
Days Won
264
Content Type
Profiles
Events
Forums
Blogs
Downloads
Everything posted by Tux
-
Alright finally taking a serious look at your sonic boom mer-curious... Just for info there is no "sonic boom" in the moves in the command.dat, bad start... ! And even on the right side I have some trouble to do it, it worked well previously, then I reloaded and can't redo it ! Oh well, I can already tell it's no buffer overflow, investigating the speed hack but I'll have to stop for now, more later... For the keyboard sorry, the whole key sections will be reset again in the next version : I switch all key codes to scancodes, that's because your idea of using qsd as default buttons changes with international mappings. To avoid that we need the scancodes. Which changes all the key codes again !
-
For the keyboard, sorry this version has a bug which makes remapping keys almost impossible, that's what happens with work-in-progress version, specially now. Default mappings might work though.
-
Yeah good idea. The latest binary shows in the about dialog "compiled on nov 29 2021, 23:01:59", and in "renderer options" you can enable/disable the integer scaling for opengl, it's disabled for default. And I just checked that the picture is scaled to the maximum possible ratio if it's disabled. If it's the latest binary, with opengl rendering and this integer scaling disabled and your picture is still cropped, I suggest you throw the computer to a deep trash somewhere !
-
For the picture it's normal, it's the integer scaling in action, redownload the latest binary as I said, the one from 23:44, and it should fix that. For the menus there is probably a bug lurking somewhere, related to the length of your path here, I'll check that later. For the controls I am not sure there's something to do... Testing this version on other os, I tried it quickly in my win10, but didn't try any joystick, but there's probably no problem here... It was an interesting experience to try to make this work on xp anyway ! And it's good to have some smaller dlls again anyway !
-
You have better luck than me on my vm, Oracle removed the 3d support for xp, so my xp image is suddenly a lot less interesting... ! No idea for the controls... ! It might be something else lacking in xp, or not that stable, not sure for that. For now the controls are totally broken if recompiling for sdl-1.2, I tried that earlier, there might be a way to improve this, but it would be crazy to make an xp specific binary... I re-uploaded a binary at 23:44 because I had left the testing of integer scaling enabled in the previous one, which made the picture a little special... Retest this binary on the one with the font problem, if it doesn't work at least you saw it working in xp !
-
Ok, I built a new binary without this stupid dependence The others can test this if they want too, it's an updated binary with a few fixes, and the dlls are smaller since they are no longer the precompiled ones from mingw32. dlls : http://raine.1emulation.com/archive/dlls32-0.92x.7z binary : http://raine.1emulation.com/archive/raine32-0.92x.7z What was running the computer with your font problem by the way ? You might want to test that on it too...
-
Good info indeed, that's some incompatibility added by microsoft for no good reason except another way to push people to update... I would say win7 was quite good, there's no good reason not to update xp to win7, except if it's a very old machine with nothing inside. In this case, it's probably a bad idea to use this sdl2 version, remember it relies heavily on some good 3d acceleration, not sure you would get that in your xp... Anyway I'll take a look to see if I can remove this stupid dependency (that's not from raine, it's from one of the dlls, the function is probably not even used anywhere). The dll in question in libwinpthread-1.dll, a kind of system dll, hard to do without it... ! The irony is that for this version I decided to use mingw system to build the windows exes instead of my usual cross compilation, thinking it would increase compatibility... apparently it's the opposite ! Well in this case I'll try to cross compile sdl2 to test, but no promise it will work...
-
I don't see why, but I should be able to test that in a virtual machine... I think opengl works in xp virtual machines... I won't test that now though...
-
In options ! Very hard to find ! "Min font size" and colors, then bg color. The game selection dialog has always had a transparent bg ! You sure it's not some kind of shader ? There is nothing relating to filtering in the cps2 driver anyway, sure about that, the drivers are totally separated from the core in raine, that's why I could change the lib it relies on twice already... The only filtering options are in video options / renderer options filtering is the last option of the dialog, linear creates this smoothing a little fuzzy effect, and nearest makes the pixels more visible. By the way I tested this "anisotropic" filtering, a failure, it doesn't seem to change anything for the 2d rendering I am using. What would be interesting to try eventually is an integer scaling multiplier. Previously it was used only in the normal blits, but since there are no more normal blits, it could be interesting to try to render the same way. I'll try to add something like that, at least to see how it turns out... So what you say is that your filtering is on nearest usually, and it changes to linear when you load a cps2 game ?!!! It would mean a rather massive buffer overflow somewhere, unlikely at this point, but... I am quite frustrated for now, I can't use the lib I usually use to detect these buffer overflows, totally incompatible with opengl, I'll have to make some tests with eventually the old version with sdl-1.2... You are crazy ! Or there is some kind of buffer overflow somewhere... but don't hope too much about that, it's rather unlikely, but I'll try to check anyway... Yeah the standard mapping asd which is used by almost any game to move in 3d these days, and 3 keys below that for the other 3 buttons. Not a bad idea, it's better than the vbn which was in the middle of the keyboard, and you can use the 3 buttons config as well as the 6 one. Ok, will give it a try... ! As for the keyboard, I didn't map buttons 4, 5, 6, I decided if someone needed them he would customize them ! But ok, I'll try to make something saner, but 6 buttons configurations are not ideal with these pads, I guess you are forced to use the left and right "shoulder" buttons for the 2 last buttons then... Yeah I know this one, but I couldn't reproduce it enough to fix it for good, it's on my wanted list... !
-
Well nothing interesting in your logs, but it's not the usual kind of problem neither. It's probably something very stupid. I can confirm that on my side if I rename the font to something else it prints it can't find it in stdout and uses the raster font instead, it's not the case for you apparently. And you have the same problem in 32 & 64 bits ! No idea, I would need someone who knows how to use a debugger for that, or at least a way to reproduce this without renaming the font to something else, without that I can't do miracles, I'd say just forget it, you just won't be able to use it that's all ! Yeah I just tested the 64 bits version in a blank new directory by downloading dlls64-0.92, then raine64, extracting all this in the same directory -> no problem. I can't do anything more here.
-
I remember seeing something like that while testing stuff with fonts and the normal truetype font could not be loaded. Normally it should be able to use a raster font when it happens, but it was broken, and I didn't try to fix it since everybody is supposed to have this tt font... But with a "blank" installation, it shouldn't happen. Try to run from a command line, redirecting output to a file : raine > log and look into the log to see if there is something interesting... Anything special, it's some usual windows ? EDIT : yeah I confirm I can reproduce the 2nd picture by renaming the Vera.ttf file to Vera.ttf0, but no idea where the 1st on 2 columns comes from... !
-
Not so fast for me, it was long, but yeah it was time to slow down and to get some feed back... missed it ok... You can also lower the transparency for the background color, or increase the min font size (I should increase the default value here). I have an idea of another presentation for the game selection dialog, but I didn't want to do it now, I wanted a 1st release as fast as possible, and it was long enough... How did you learn to identify "bi-linear filtering" ? And where do you see it exactly, behind the main menu or after that using play ? It was supposed to be alt+return, something went wrong in the encoding of default keys, I'll have a look... I think it's more probably a timing issue, there is no way an emulator would change how the inputs are from the left side or the right side... I didn't map everything, just started with button 1 on ctrl, then mapped some buttons where it seemed logical. Stopped around caps lock which I used as a test. v, b, n were really not convenient as default button inputs, but you can't map 6 buttons starting on ctrl clearly. The current mapping is fine for 3 buttons configs or less. I am open for suggestions here... ?! What's wrong with that ? I mean if you don't want to use the dpad, just don't use it. Did you use for something else ? As it is now you can't remap it anyway. I'll need more details on that one. I didn't test the analog inputs, they should be redone differently anyway. I don't see if you noticed, but the window handling changed a little too, it should keep the size and position of the window better, even quiting the emulator in fullscreen, in sdl-1.2 you had to use a hack for the window postion and it was done only for windows, now there is a real function for that and it's done for everyone... Thanks for the quite lengthy report already anyway ! I have noticed another problem with the merged inputs, in popbounc again, I am on it, but more slowly... ! EDIT : ok, fixed the mousewheel, it has a separate event now to be able to handle horizontal scroll wheels... ! I just ignore that, I only handle the vertical one, avoiding all the fancy stuff. By the way the reason I didn't notice that is that I don't use the mouse wheel and almost never use the mouse in raine, it's really more efficient to use it with the keyboard, just type the 1st characters of a game to go to it in the game selection dialog, and the 1st characters of any menu item anywhere in the interface, blazingly fast... ! That's also why I use the english version of the gui (too many menu items start with the same letters in french !) and why the menu item to change controls in english is called "inputs" and not "controls" ! Also fixed the modifiers for the emulator keys, and at the same time the handling of scancodes - the keys which don't have a symbol and just a scancode, the left gui or windows key is in this case but since it opens the windows menu by default it's harder to use !). If you want to have the right default keys for the emulators you'll have to delete the section in your config file or restart with a new one. The number of keys with only a symbol has been dramatically reduced in sdl2, the gui keys, the menu one on the right if you have it, + the multimedia keys, but everything standard has a symbol (a sym code) now. And fixed again the problem about merged inputs for popbounc, is it the last time ? Actually this thing was a trap from mame, that's something I wouldn't have used in the inputs because too many possibilities of errors, but they used that in mame in their inputs and since I imported quite a few definitions from them, I thought it was a good idea at the time, without thinking too much about it... ! Oh well, now I think I have rounded it quite well, but it took me some time for sure, it looks innocent, but it's more complex than what it seems... ! And in the end, it's not a bad idea, just a dangerous one !
-
It was epic, with 2 months where I simply gave up about this before returning to it finally, anyway... ! What to say about it ? It's huge, it's probably the version with the most changes inside even if there are almost no changes on the emulation side, except for the bug fixes I made while testing things. The 1st goal was to get rid of the opengl blits in windows while having a usable gui even in fullscreen, it's done. By the way it's a "desktop fullscreen" meaning it's just an invisible window using the whole desktop place, so it behaves exactly like a normal fullscreen and normally you don't see any difference. Also the games using rasters and the emudx games work correctly (didn't test all the emudx games, just 2, but the rest should be ok). The keys configuration has changed, because keys constants have changed in sdl2, so even if it still reads its configuration from the same file, it reads the keys from a new section, with -sdl2 at the end of the name of the section. Sorry for those who had a lot of custom inputs, but there were too many incompatible changes, it's better to restart from scratch here. New "game controllers" interface, so that you can plug or unplug a joystick during game play without problem, don't abuse this though, I tested it a little, but not sure I tested all the possible cases. And joystick 1 in raine won't become joystick 2 just because you plugged a new joystick. There is also a new command in the inputs menu "joysticks indexes" to change these joysticks positions if you have at least 2 joysticks plugged. There's a lot less changes in the configuration saved for the joysticks, maybe a few buttons will be different in configs which use more than 4 buttons though, just check and adapt... Also if you use a gamepad recognized by sdl2, the digital cross on the left should be automatically mapped to the left stick, so it can be used for movement without doing anything. The sound has a new 48 Khz option which is almost useless, just added that for testing. Opengl has the adaptive vsync now, check in "video info" after playing something to see if it works for you. Better vsync in windowed mode, but I double checked you can disable vsync if you want in "renderer options", yeah it works, but it didn't last night ! There is no video driver selection for windows anymore, useless normally. A new video renderer "sdl2 native", mainly for testing, not spectacular, and no specific options for now. Notice the opengl rendering is not super optimized yet, all the games are rendered in 32 bits, the simplest solution, but not the fastest one. It's enough for current hardware... Same thing for emudx, it could be remade using new functions for better performance... The gui has the most obvious changes, a simple animation now runs behind the transparent menus, if you load a game it starts in the background behind the menus, but if you start to play it's paused when you return to the gui, like before. While testing things the most obvious bugs fixed were : - all the cps1 games using 6 buttons had lost their 3 1st buttons ! It's due to the code to include inputs from another game, went too fast on this one, this time it should be fixed for good. - and bubble bobble has been broken in the 64 bits version since version 0.91.14, which was released about 9 months ago ! At least it's not a generic bug, it's something very specific to this driver, it's an old thing with non portable ideas inside which created a black screen on boot here, it's fixed anyway. - commands displayed from the command.dat file (like the buttons of 1941 in the "controls" section) were bad for quite some time, it's fixed too. There is a new index_roms file with this binary, it's to get the sizes of the roms from the internet archive so that the dialog is not inert while it's downloading since their server doesn't send the size of the file before the download starts. The 2 vera fonts have been replaced by DejaVu versions, which look about the same but contain more utf8 characters inside to be able to display more things without problems. they don't contain Japanese characters though. There might be a few other things I forgot. Well it's so huge that I can't be sure there won't be any problem anyway, we'll see... ! Don't forget to grab the dlls32-0.92 or dlls-0.92 file depending on the version you are using, it's bigger with plenty of useless stuff inside, but it's the price of using precompiled packages in mingw32 and mingw64, it simplifies things and allows fast updates, but it's bigger on disk. http://raine.1emulation.com/download/latest.html
-
Sorry not sure to finish today finally, underestimated the amount of work for that again. The api is quite simple, but it obliges to make big changes to handle it, plus there is a lot of testing to be done, I plugged again my old sidewinder joystick to have something which is not a gamepad, and it was a good idea, some functions like player indexes are not supported with this kind of joystick ! Also I forgot the inputs are recognized by name now, instead of button 0, you have A for xbox pads, etc... Simple changes, but which take time. And there are 3 indexes for joysticks now, the base index which is the order in which they are opened, the player index which is the index of the joystick for raine (which finally allows that a joystick stays in its position and doesn't change if something else is plugged), and the instance index which is the number used to identify it in events, and it changes everytime it's plugged/unplugged. So all that creates quite a mess, but I am starting to see the end of it... Also if you wonder why it wasn't easy to automatically map the cross, or digital pad on the left of a game pad to the left joystick, it's because there are no standard in the way these gamepads are built. For my old ps3 gamepad, this cross is just 4 buttons (!). For the xbox compatible game pad, it's a "hat" + some axis movement which is not related to the left stick ! So it was quite risky to try to map an input to some other input in these conditions. What they did in sdl2 is they added something to map and recognize the controls of all these gamepads, now you know exactly where an input comes from when you receive it, and so you can link it easily to some other input... !
-
And forgot something again : the new "game controllers" api as they call it. I thought 1st you got it without doing anything just by linking with sdl2, but no, it's a new api on top of the old joystick api... Meaning I need to test this. Well without it, we have exactly the same joystick handling as with sdl-1.2. With it, it handles joysticks which are added or removed during the emulation, and it's easier to convert dpad to joy movements (because they are standardized to the xbox/playstation model, one dpad, 2 sticks, 4 buttons on the right, plus the triggers and left and right buttons. It doesn't look too complex...
-
It's almost over, probably done tonight or tomorrow. It would be nice to test the opengl "anisotropic filtering", some kind of filtering which is supposed to work better, I am not sure it's good for 2d though, that's the kind of thing which is used in 3d games to make things readable in the 3d world. It's worth a try. Now I am starting to get tired, so not sure I'll test it now. And I noticed the display of commands from the command.dat is broken, it's been broken for a few versions actually but nobody noticed. It's probably not very hard to fix, so I'll try to have a look. The most obvious changes are in the gui, clearly, now the game starts as soon as it's loaded behind the main menu (so that you can change options like dipswitches or anything else, but at the same time the game's demo can play). If you start playing and return to the gui, then it's paused, it's a very bad idea not to pause it here, it might be in the middle of a game ! Otherwise if no game is loaded there is now a simple animation running behind the dialogs... A lot of dialogs didn't really need any title, so only needed titles are displayed now, for those that don't need it it makes more room for the background display. Emudx is fixed, it can be improved with the new sdl2 functions, but I'll probably keep this for later, it's enough to know it's working for now.
-
... and I got a cold. No kidding, got an electric scooter and the wind was just freezing the other morning, I didn't feel my hands anymore on arrival, and got a cold through my nose ! So finishing this might take more time, and even if the biggest part is done, there are still lots of small things to look into. Some small improvement I noticed in sdl2 : vsync support is better in opengl (and likely in sdl2 native too), now it supports adaptive vsync if your driver supports it (you'll see if it's supported in "video info" after having run something in opengl), and more importantly, I could never fix the tearing in windowed mode before (specially visible in a game like batrider, in the intro after inserting a coin, the super big letters crossing the screens from right to left there is nothing worse than that for tearing), well now no visible tearing anymore even in windowed mode, finally ! For adaptive vsync, it's like vsync but if you've already missed the vertical retrace for a given frame, it swaps buffers immediately, which might be less jarring for the user during occasional framerate drops, which should normaly never happen in raine anyway but it can't hurt to have it. The key configs are now saved in sections ending in config_sdl2 instead of just config before in raine.cfg and games.cfg. That's because too many keys are now different, and it's better to go back to the default keys than having most of the keys not recognized and not responding. Also raine has never been easier to compile than now, especially in windows with mingw, I'll probably update the notes on how to compile, but in a nutshell : you get the msys2 installer, it installs 4 shells, but only 2 of them are interesting for raine, either the 32 bits or the 64 bits one, you choose your flavor, then install gcc, g++, and nasm + the basic environment tools. Then all the libs are available as packages, you just need to install git (to get raine sources, although you can get a zip file from github if you prefer), sdl2, sdl2_image, sdl2_ttf, muParser, and that's all. All this can be installed in just 1 command line using their pacman tool. After that cd to the sources directory, type make, or make -j4 if you have at least 4 cores, and after a few seconds you'll have your new binary... ! If you try that on current git sources, the makefile will build a debug build, you have to edit it to build an optimized binary, but it's explained in comments at the beginning of the file and very easy to do.
-
Some unexpected problems in windows, as usual I would say, a solution is in progress but it takes time... I won't have finished before the end of the week ! (for the gory details, for some reason when calling SDL_OpenAudio the callback is never called, and when calling SDL_OpenAudioDevice, SDL_PauseAudio is ignored and I must use SDL_PauseAudioDevice... ! These 2 combined made me search for a long time ! Apparently everything needs to be migrated to the new audio device api in windows, when there's no need like that in linux... ! I'll do more testing later...) after a new session, all this mess was because the default sound driver in windows is something called "wasapi". Clearly it sticks to the device preferred setting and refuses to convert anything, for me that was 48000 Hz, samples in floats of 32 bits ! Simply unthinkable, I would have to rewrite a big part to handle this kind of samples... Forcing the directsound driver goes back to what we had with sdl-1.2, much better. There was also some allergy between direct3d and opengl : start raine in windowed mode with a game like gunbird. Start the game, then go to fullscreen while the game runs using the keyboard shortcut. Call the gui... and bam ! Message CreateTexture(D3DPOOL_DEFAULT): INVALIDCALL and return to desktop... ! There is a solution to that, thanks to people on the net who had the same kind of problem, there is a hint to tell sdl2 to use opengl instead of direct3d for its rendering : problem solved ! Still a few things to look into tomorrow, but it's starting to look good... And I think the new dlls will actually make a bigger archive because the mingw32 libs use all the optional libs, which would be totally useless here, but now they must be present on disk, so there is a ton of useless stuff to add... ! At least it simplifies a lot the installation when programming raine, binary packages are convenient... !
-
Yeah might be a way to do that...
-
Bad day for those who have some complex key configs, most of the key configs have changed, which means you need to update almost everything ! More keys are handled though... The joystick buttons seem to be the same though... Except that most of the work is done, opengl works fine (got a lot of trouble with DrawPixels and the overlay text in opengl which conflict with the sdl2 renderer), as expected the emulation of neogeo rasters is back to normal. Didn't test emudx yet. Still a few obvious fixes to make in the gui, and the console is totally broken, so it's not over, but most of the hard work is probably done now !
-
1st successful link, lot of things broken inside of course... sdl_sound was merged into raine for sdl2, that's what the authors seem to want, and it was impossible to get a 32 bits package out of their build system (+ no package in mingw32/mingw64 !).
-
I think this time it should work, I have a working test program for the gui (even if it's basic) and I am making good progress for the rest, even if it's awfully long to do... A patch of almost 900 kb so far, and it's not over, still quite a lot to do ! Things to expect : - no more normal blits ! This sdl2 is really different, there is almost no way to have direct access to the screen pixels like before, it's possible but not accelerated, so advised against. I'll keep the code, might be useful later to combine a scaler with something else, but for now they are gone. Those still in love with normal blits after all this time will have to stay with an old version... ! - the yuv overlays are gone too. For them it's because they have become useless : they were 1st done as a 1st approach to scaling to fullscreen in any resolution without opengl. Well today it's very hard to find a computer without opengl, and the picture with yuv overlays is not so good, so for now they are leaving too, but they are still supported in sdl2 if they are needed one day... So the only 2 rendering methods for now are opengl like before, and sdl2 native which uses either opengl or direct3d behind the scene, but is a lot easier to handle than native 3d programming. What's better then ? Well small things mainly, except in windows where the gui had become unusable without opengl blits, at least it will fix this mess for sure. Except that yes the gui can be rotated when rotating the screen, very easily, even if it's not done yet. Detects when a joystick is plugged or unplugged without relaunching, and it should be easier to assign a joystick to some specific inputs (will test that later). SDL_sound doesn't require any external lib anymore which means less dlls in the archive, good thing. Since everyting is 3d now, we have real hardware transparency, so it's easy to have some animation working in the background instead of a static picture like before. This is already done in the gui test program, just for fun ! There might be some better ways to render emudx games too since flip and rotation are supported in hardware now, will have to experiment. One of the biggest reason to upgrade for non windows users is simply the fact that this sdl2 is actively maintained contrary to sdl-1.2... Ah also it might allow to make an android version... well it would be a non asm version of course, but it should work. Also I hope to still be able to build the sdl-1.2 version at the end, just in case it's needed. I did this kind of update once when moving from allegro, but it was not so violent at the time, sdl-1.2 like allegro was using bitmaps to access the screen. It's not the case anymore in sdl2, and it changes a ton of things. For the gui, it can't update just a portion of the screen, so the whole thng needs to be redrawn all the time, it's very fast so it's working well, but it completely changes the way it works internally. Anyway I hope to see the end of it soon, since there should be bad weather in the following days, I hope to finish it then !
-
I had this autofire button configured for months, so it would be an extremely rare occurence... screenshot useless in this case. It's probably not random, but good luck to find the cause in this case !
-
It doesn't make much sense to play with the windows version in wine, I use it just to quickly check if it works that's all. For info it's not the emu which crashes, it's the x server. You should just not use these opengl blits in fullscreen with this version, they are here for the real windows only.