libretro / FBNeo

FBNeo - We are Team FBNeo.
https://neo-source.com
Other
229 stars 136 forks source link

[ghouls] Add "4-way" Input Option #1018

Closed Awakened0 closed 2 years ago

Awakened0 commented 2 years ago

Ghouls 'n Ghosts has a frustrating limitation in that if you press a diagonal direction, like Up+Right, Arthur stops moving. If it's possible to add an option to only input cardinal directions, it should fix this.

barbudreadmon commented 2 years ago

it should fix this

It doesn't seem like a solution, libretro-mame still has this behavior even after enabling its "4-way simulation" core option.

@dinkc64 any thoughts about this ?

MistyDreams commented 2 years ago

it is actually a 4way joystick game https://www.arcade-museum.com/manuals-videogames/G/Ghosts%20N%20Goblins%20Instruction%20Manual.pdf mame2003 plus has it set as 4 way try it out there and see if its any better for you and report back how you get on.

be sure to put the 4 way emulation on in the core as well quickmenu->coreoptions->input its safe to leave this option on only shows and works in games set to 4way

dinkc64 commented 2 years ago

Ghouls is set up as a 4-way game, the test mode proves it. (I even checked the code to make sure test mode wasn't lieing).

So, I spent several minutes moving Arthur in fbneo and mame, and they appear (to me) to behave the same way. If I'm missing something, please test/compare in mame to be sure, and explain in more detail how I can create the problem on my side. Once I see/experience the problem I can fix it.

best regards,

dinkc64 commented 2 years ago

Go into the game's testmode (dips -> game test mode) and you can see how it responds.

barbudreadmon commented 2 years ago

My findings :

So basicallly we got 2 totally opposite behaviors here, and i'm not convinced one is better than the other so i'd rather leave things as they are.

On a sidenote, i noticed a certain behavior on all 3 emulators : i wasn't able to enter input test by pressing start on my gamepad, but keyboard worked, maybe some hold button logic could get around this.

dinkc64 commented 2 years ago

I'll see what I can come up with, and do some tests - keeping in mind I'm quite a fan of the gng series :)

does your start button only pulse the button real quick or something? even if you hold it down?

MistyDreams commented 2 years ago

I tested fbneo-libretro getting diagonals all the time everytime on joystick movment, on plus not getting any diagonals tested both dpad and analog will grab the windows version at some point that might be doing things different.

MistyDreams commented 2 years ago

@dink you probably go for more fancy version but the code for plus is here https://github.com/libretro/mame2003-plus-libretro/blob/d5a70f9bf9601a3cc1773d5be6c3e83cbc287645/src/inptport.c#L1212-L1238 just a simple last direction until somethings valid is found.

Awakened0 commented 2 years ago

I played around with 2003 Plus's 4-Way mode and definitely prefer playing with it on. It's not a perfect solution, but just playing normally I didn't find myself coming to a dead stop accidentally like I do with it off.

I'm surprised someone hasn't made a "Yuji Naka Edition" romhack of arcade Ghouls with 8-Way movement like the Genesis version. But arcade romhacks are more rare than console and handheld ones.

MistyDreams commented 2 years ago

If find that freeze more painful in games like pacman and amidar it is annoying when it happens. Agreed its not perfect but do find it preferable myself.

I had no problems getting into the input test on librerto-plus and libretro-fbneo and standalone the service mode took me right too it. start works on keyboard and joypad here.

ps the stand alone hits diagonals as well.

MistyDreams commented 2 years ago

oh im mixing ghouls with gnb ill need to retest! What I can say is the manual does say it has a 4 way actuator. https://www.gamesdatabase.org/Media/SYSTEM/Arcade/Manual/formated/Ghouls-n_Ghosts_-_1988_-_Capcom.pdf.

Test didnt show the diagonals on ghouls but it does appear to be reacting to like an 8 way on a slow circular analogue motion. With option 4way emulation on and and a small circular motion you can see the direction are reacting the way they should to a 4 way.

dinkc64 commented 2 years ago

barbudreadmon, thanks, please test the latest commit :)

MistyDreams commented 2 years ago

can fix gng as well :)

dinkc64 commented 2 years ago

ghouls/gng being my absolute favorite games ever, I usually try to get in a 2-all every couple months. Using this alternate 4-way input method really wrecks my game, maybe I've implemented it wrong? (hint: please test)

I'll make it a dip option, to use the alternate 4-way style. Once we have verification that things are working how they should in ghouls, I'll add to gng if needed/wanted.

best regards,

Awakened0 commented 2 years ago

Thanks, looking forward to trying it out!

MistyDreams commented 2 years ago

I cant test it on windows as direct input isint working on wine and I dont know if the input code to that and the libretro differs much. It feels like sometime the controls lag for a bit and other times it is ok and not just the direction buttons. The sdl2 version does this as well but I will hold on to a final verdict until till I get test on the windows platform. I just didnt want to post anything negative if its ok in windows.

I found I can trigger it by going one direction for a good while then running the other way eventually using diagonals in between the changes.

edit: defo need to test this on windows on the sdl and fbneo port even slightly touching the analogue stick makes the player move even in 8way games. Plus makes you press a good bit before you move think thats the issue with them two ports anyway.

Awakened0 commented 2 years ago

Tested out Alternate 4-Way in FB Neo Win64 nightly and it's blocking jump and attack inputs when holding a diagonal. MAME 2003 Plus's 4-Way option doesn't have that problem.

MistyDreams commented 2 years ago

although its playable in plus I found a bug in the analog scaling there so you should find it better after that update the joystick is far too sensitive much more enjoyable with the fix. I put a pull req in for plus ill need to search the fbneo sources to implement better analog sensitivity.

dinkc64 commented 2 years ago

Awakened0, thanks for testing & feedback! Please test again with the latest code.

best regards,

Awakened0 commented 2 years ago

Looks to be working great now!

MistyDreams commented 2 years ago

yea tested as well smashing pumpkins makes a huge difference.

dinkc64 commented 2 years ago

Awakened0, Great! do you think this option should be available on gng as well?

Awakened0 commented 2 years ago

Probably, since you can accidentally "ladder warp" while holding up+right/left or duck with down+right/left.

dinkc64 commented 2 years ago

dip options have been added for gng :) p.s. The ladder warp is helpful in a few situations, and happens on the original machine with 4-way joy too :)

Awakened0 commented 2 years ago

gng's 4-way alternate mode amusingly can cause Arthur to run in place sometimes when throwing a weapon while holding Up+Right/Left. Also, after dying I can't move until dying again. That doesn't happen in the 8-way or normal 4-way modes.

dinkc64 commented 2 years ago

Lately I'm really good at making bugs, it's like an insurance policy so I have something to do later in the day... :) Jokes aside, thanks for letting me know about the issue,

best regards,

Awakened0 commented 2 years ago

Heh, no probs :)

dinkc64 commented 2 years ago

I think it's OK now, please give it a try :)

best regards,

Awakened0 commented 2 years ago

Yep, looks all good now. Think it's time to close this one ; D

Great series and always fun to play around Halloween! Voidu even has a BUY30 code you can use on GnG Resurrection for Steam, but I haven't decided if I want to grab it yet.

Thanks everyone!

dinkc64 commented 2 years ago

Halloween is a great time for some gng (or gng) - the spooky sound of those burrito-ghosts get me every time, even after hundreds of plays :)

best regards,