Jump to content

Raine 0.92.1


Tux

Recommended Posts

2 minutes ago, alocacoc said:

Just info, Raine 0.92.1-1, 64Bit version, installs nicely from the PKGbuild in Arch.

Great work.

Thanks ! Yeah this pkgbuild system is very reliable !
That's what they use in mingw32 and mingw64 too (the pacman tool to handle all the windows packages).

Link to comment
Share on other sites

Nevertheless I still have the 2 controllers detected as joypad 2 and not 1 and 2, strange. There is an identification problem that there was not on 91.21, maybe because the ones I'm using are on the same ps / pc adapter (and uses only one usb port), IDK?
I will test directly in the config file if I succeed in something.

Link to comment
Share on other sites

42 minutes ago, pmc2 said:

Nevertheless I still have the 2 controllers detected as joypad 2 and not 1 and 2, strange. There is an identification problem that there was not on 91.21, maybe because the ones I'm using are on the same ps / pc adapter (and uses only one usb port), IDK?
I will test directly in the config file if I succeed in something.

Officially xp is still supported by sdl2. The joystick assignment is based on a unique "guid" assigned to the joysticks by the operating system, here is the little doc provided for the function : https://wiki.libsdl.org/SDL_JoystickGetDeviceGUID

Normally the id should be unique even if plugged through a usb hub, but it's new, I am no specialist of the thing.
I can add something to see the guid in next version What do you call "joypad 2"  by the way, it's not the name displayed is it ?

There is a joystick index function in inputs to change indexes, but normally you shouldn't get twice the same index there, go check it at least...
But this function doesn't display the indexes themselves since they are unique normally.

You can open the raine32_sdl.cfg file in the config dir with a text editor.
In the section "emulator_joy_config" you will see how the joysticks are seen, these are long settings towards the end of the section looking like that :
030000004c0500006802000011817200 = 0
03000000242f0000b700000000017200 = 1
The 1st number is the guid of the joystick, the 2nd number is the assigned index, starting at 0. You should have 2 guids here since you have 2 joypads, and 2 different indexes.

Edited by Tux
Link to comment
Share on other sites

Just added some experimental handling of raster effects for cps2, finally, it's the consequence of having spent too much time on msh...

I read somewhere on the web that emulating raster effects is easy, the guy who wrote that spent too much time on mame which tends to hide the complexity of things with its interface, but raster effects are usually high risk programming, even on the original hardware, with time the clocks tend to de synchronize making this kind of programming unreliable, I saw the effects of that on some old atari st ! Anyway, the cps2 raster seems easier than neogeo, so it would have been a pity not to at least try them.

I tested only in 1 place so far, the lava level in msh attract mode, probably the easiest spot to reach using these effect.

I had to disable speed hacks for all cps2 games because of that, which is a pity because they are actually rarely used, but it's hard to disable a speed hack on the fly so the safest option is to disable them for all cps2 games for now. The result is not too bad for now, runs rather well even on a debug build with no optimization (but with the asm cpu cores which are fast even in debug mode).

It will probably create more bugs... but anyway there were places which were unplayable because they were not emulated, it will probably not be worse than that !

edit : and finally found a way to have the best of the 2, the speed hacks are temporarily disabled while handling rasters effects and they come back after that ! A little crazy, but fun !

Edited by Tux
Link to comment
Share on other sites

12 hours ago, Tux said:

 

030000004c0500006802000011817200 = 0
03000000242f0000b700000000017200 = 1
The 1st number is the guid of the joystick, the 2nd number is the assigned index, starting at 0. You should have 2 guids here since you have 2 joypads, and 2 different indexes.

i see only one

03000000430b00000300000000000000 = 1

there is a way to know the id in this form via a tool or other? that I add this by hand to see what it gives.


1638650768-xsdeea.png

Edited by pmc2
Link to comment
Share on other sites

Joy 2 ? It means it doesn't even have a proper name for the device !

Wow... !

Well, yeah there are test programs with sdl... I'll try to compile 1 for your windows... but you'll have to run it from the command line, this kind of program expects people to have a proper console... !

Here it is, controller.7z, unpack in a directory, add SDL2.dll (the one from raine), and run !

You should get info in the standard output, if your console is to crappy to see what it prints, redirect it, it might work without redirection on xp.

It allows to test all the controllers connected with more info than you'd ever want !

And I have added 2 exe in the archive by mistake, well the one is testgamecontroller.exe, you can try controllermap.exe if you want, it's to make a new mapping when you find a gamepad unknown to sdl2 (to recognize what is what in the controls).
 

controller.7z

Edited by Tux
Link to comment
Share on other sites

@Tux
Thanks very much for your work.

Have a issue happening with controllers in 0.92 64.
Using PS3 controller.
Starting Raine using default inputs both digital pad and analog pad are used in gameplay.
The problem is holding digital pad in any direction (up-down-left-right) in less of one second is automatically unholded even continuing holding in same direction.

Link to comment
Share on other sites

On 12/3/2021 at 6:18 PM, Tux said:

There was really no need for a video here. I am sure I tested this once and it worked, but I moved the test and it got corrupted where I moved it, and since I never use this mouse wheel, I never noticed ! Sorry, my bad. It's an easy fix at least (2 lines).
If you want some more technical detail : it's because sdl2 uses a strange struct for its event where all the parts are not defined at the same time but only when a specific event occured. Here the data of the mouse wheel was overwritten by the data of a mouse's button test... ! It's a test that didn't test the mousewheel event because previously there was no need, the mouse wheel was a mouse button event... ! Anyway it's fixed.

Hey Tux! Thanks a lot for the technical details!

 

On 12/3/2021 at 6:18 PM, Tux said:

Nope, not here. But from your screenshot, it's because of the insanely long path name you have, and the default small size of the window. Now maybe I should choose fullscreen as the default setting since the fullscreen is now reliable even in windows... Here it's the old default safe setting : a 640x480 window to be sure everyone can display it...

Now maybe the size of this path isn't taken enough to choose the font's size, but I am not sure anyway it could display all this length in a 640x480 window.

Try a fullscreen and talk again...

In full-screen the menu does show properly, as you can see here: https://imgur.com/a/uq2yW4p

But the path isn't that big, is it? I guess the glitch happens because this dialog does not resize to the 640x480 window, that's why it becomes unreadable. You have already fixed some things related to this resizable menus before, if I'm not wrong. 🤔 That's why I thought this one could be fixed too. Anyway, let's hope it doesn't break anyone's experience with the program eventually.

 

On 12/3/2021 at 6:18 PM, Tux said:

Already told, already replied, for now it's almost never used, I defy you to tell me in which game it's used for now, since you can't answer don't bother and leave this option alone.

I have some plan for it, but it will take time.

I'm sorry for this one, I just thought you had fixed it, then I went to test it and reported it wasn't working yet.  But it was an interesting testing in the end because now we know the crash has to do with the Xinput, since my Dinput controllers don't trigger it.

 

On 12/3/2021 at 6:18 PM, Tux said:

I am sorry I don't see it neither. Already discussed, you didn't reply what I posted last time... !

But I did! It's in the other thread. It's because there are so many messages and quotations that you may have missed it. Here it is:

On 11/30/2021 at 3:21 PM, mer-curious said:

I don't know if it's really bi-linear, but that's the most common filtering effect for emulators. It applies a smoothing effect to the picture. Take a look:

https://imgur.com/a/rycFR0N

The smoothing effect shows as soon as the game is loaded, even before hitting "Play game". And it also happens if you change one CPS2 game for another too, not just from different drivers/systems.

And then I reported this issue again here because I didn't know whether you had tried to fix it. Anyway, it's not fixed yet.

 

On 12/3/2021 at 6:18 PM, Tux said:

Same comment as up there : Raine can't do any magic, it can't display things properly if it doesn't have enough room for that. Go to fullscreen it will make things easier.

This title is way too long anyway, but I chose to keep the original here, if you want I can put "kof98" instead, this way you won't complain !

I'm sorry for bothering you with these little nuisances about the GUI. I just care about it being as usable and orderly as possible for the default configuration and possibly for new Raine users too. And since we didn't have this distortion in the previous (SDL1.2) versions, I thought maybe it was something unexpected and so it could possibly be fixed. Unfortunately I cannot help you with coding, otherwise I would try.

 

On 12/3/2021 at 6:18 PM, Tux said:

Yeah it's generic, it's the inputs for "2 players 6 buttons" configuration which was changed (for cps2). I didn't try to test all the games, but you found something very specific here, it's rare to see a behavior like that on an unmapped input.

Thank you so much again for your work in this crazy bug!

 

On 12/3/2021 at 6:18 PM, Tux said:

edit : on 2nd thought I added some code to cope with these too long titles for the display area, I hate dealing with this stuff, but it will make things easier later so it's a bad for a future good... ! You'll be able to test that again in 640x480 and it should work. No magic here, it cuts the strings in this case.

Thank you again for your incredible work and time!

Link to comment
Share on other sites

5 hours ago, Augusto said:

@Tux
Thanks very much for your work.

Have a issue happening with controllers in 0.92 64.
Using PS3 controller.
Starting Raine using default inputs both digital pad and analog pad are used in gameplay.
The problem is holding digital pad in any direction (up-down-left-right) in less of one second is automatically unholded even continuing holding in same direction.

I'm also experiencing some issues with my D-input controllers. The d-pad curiously works fine in the GUI but not in the game. I've noticed that in the Inputs menu the directions are automatically assigned to "Stick 0", but my controller doesn't have this stick. So I manually map the directions to "Stick 2" (which seems to be my d-pad), but it still doesn't react in the game.

Xinput works fine, but XBox 360 controller's d-pad is not ideal for 2D fighting games, unfortunately. 😕

Edited by mer-curious
Link to comment
Share on other sites

7 hours ago, mer-curious said:

I'm also experiencing some issues with my D-input controllers. The d-pad curiously works fine in the GUI but not in the game. I've noticed that in the Inputs menu the directions are automatically assigned to "Stick 0", but my controller doesn't have this stick. So I manually map the directions to "Stick 2" (which seems to be my d-pad), but it still doesn't react in the game.

Xinput works fine, but XBox 360 controller's d-pad is not ideal for 2D fighting games, unfortunately. 😕

well normally all controllers have a stick 0, it''s just the 1st stick ! You might eventually want to try the controller.7z file I attached in a post up there to see what it reports when it sees your controllers.

After some thinking : if you see "stick 0" it means that your gamepad is not recognized as a game controller, but as a simple joystick, meaning it works exactly as in sdl-1.2, and you won't have any dpad redirection because it can't recognize the dpad in this case. But you'll be probably able to remap the dpad to anything (hum, just maybe, try it and tell me, I think I removed the hat detection for the joystick and maybe I should have left it for this kind of case).

Yes I know, it's not very clear, maybe I should find some way to inform the user in this case.
I wanted to test with an old ps2 gamepad of mine because it's unlikely they added a mapping for that in sdl2, but I currently lost its adapter to be able to plug it to the pc... If I ever find it again, I'll test !
Until now for info, that's what the controllermap.exe program in the test archive I provided is for. To make a mapping for unknown gamepads. If you feel like it, you can try it, launch it by redirecting its output to a file like that : controllermap > log

As they describe it :

    Press the buttons on your controller when indicated
    (Your controller may look different than the picture)
    If you want to correct a mistake, press backspace or the back button on your device
    To skip a button, press SPACE or click/touch the screen
    To exit, press ESC

There will probably be buttons you don't have, so you'll have to use the space key to skip them. In the end it should output a mapping, send the log file and I'll include it in the next version.
It's possible to include this to raine to allow users to make their own mappings, but I think most people will already have a recognized game pad. This setup is the one used by all 3 major consoles right now, and all gamepads sold these days follow the same rules...

It's easy to add the option to be able to remap the dpad as 4 buttons instead of having it for movement alone, could be used for combinations, if you are interested it can be done...

Edited by Tux
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...