Food Fight - joystick troubles, solved
-
@Riverstorm I made pull requests for both fixes but I do not have access to merge anything. You'll have to compile it yourself. Rev 5 works really well so far. #785 and #786
Turn grants digital center correction on (if using digital joystick). Then go into the service menu under tests and calibrate the joystick. Then exit the service menu and turn live center on in the dip menu. Adjust the delay as needed.
On a sanwa jlf 8 way digital joystick with 8 way restrictor in place a delay of 2 works well for me. The delay has to be set based on user preference and controller type though so adjust until it feels right. I typically test to make sure I can stop on the diagonals without any trouble. Then test quick directional changes to see that it lands where I want. If it doesn't the delay may be set too high.
On a analog joystick I have a dead zone of 15 set in the core options but this can be adjusted to preference as well. Delay can be set at 0 for analog but I find it sets stops too fast for some of my controllers because it's setting stops as your releasing the joystick, so a little delay here helps too.
One thing on the Todo list is to look into the auto calibration feature. I haven't had any issues with it yet but I suspect it may interfere since it calibrates when it wants. For right now you can always turn live center off and recalibrate in the service menu if needed. But again it hasn't been an issue.
-
i must admit i havent tried it but the code looks good to look at. I have to mute the game to play it to be honest the music drives me up the wall maybe it because I played it too much. I need to finish up my port nearly done just never seem to get round too it.
Ive sorted sf2 just need to do toobin and mk games for the button mapping for arcade panels.
I also need to fix some 3 player button games for gamepads like double dragon and double dragon 2 and renegade they work well on panels as is but are terrible on gamepads as default mapped.
Also need to do some mapping for rotary games like midres and some other none rotary games that us the z x / nm none standard mapping and im done ill just sent them to l/r.
It always nice to have a backup if my mini pc fails without having to set much up.
Ill add the autocenter hack in and the foodf if i ever get to finishing it ill let you know there really not that much to do if your interested.
https://github.com/grant2258/Blaster-Barcade use the alpha branch
-
I'm still new to github, so pardon my ignorance. But what is blaster barcade? Is this just a private copy of 2003plus with more of your own changes? Any reason for this over using the official port besides access rights?
I haven't coded in years and never was it for retro games, but it's coming back to me.
Does anyone currently have access rights to mame2003-plus to merge? I've made pull requests already.
-
i used to be on the 2003 plus its a long story it was me mark and acradez not sure whos doing it now. My ports basicaly back to basics using the tab menu forget the pipe dream of libretro ever being able to do what the tab menu can and bring the screens back that told you when a game wasnt working that told you what one did ect. The biggest difference is the input there is no analog/digital selection both just work. no need to slip in between them and the 1 2 3 buttons are on the bottom row. The input was put and the most impressive macro loop ive seen that mark created. It was very limited though. Basically what you will see is my port when its done is the way i wanted to do input as apposed to the way i was pushed to implement it. It is actually done just needs a few games mapped teh problem ones. Its only for my own use so barcade is as important as gamespads to work properly. The three people working on it arent there mark isint keeping wel but we heard from him a while back he can sit on a chair now so thats some good news.
-
@grant2258 that makes sense. Coming into the game late, it gets confusing looking at all the ports and branches especially just learning the system layout. But I just kind of figured mame2003 and 2003plus seem to be popular cores, and the cores I personally use, so working on them might reach more people. That's really the only reason for me to implement anything.
I'd like to fix journey in 2003plus to support the sepways.wav samples implemented in later versions of mame too....a later project for my father, a game he plays frequently.
-
that one shouldn't be so hard to do to be honest. Im sure your dad would appreciate that. I think arcadez gave you the info in the other thread that you needed. Since me and libretro dont see eye to eye and banned me i will help people that have little problems that can be solved if they want them mainline they can do a pull req.
-
@mahoneyt944 (and @grant2258) - Thanks for the information and the work on Food Fight and the steps needed to use it.
I think it would be great to add it to the official 2003/2003plus builds especially since not even current MAME works properly? That's a pretty cool distinction and would allow a larger audience to take advantage of this nice gem of an an update. :)
It may take them a few days but usually someone pops in to merge them. Back in the day when arcadez, grant2248 and markwkidd were working the core updates were merged almost always immediately. If you push a few updates the devs usually will give you permission to merge them yourself. They seem to be fairly liberal but their was one guy that wanted to dump like 50 variants/clones of a game that just didn't seem to fit the goal of m3plus.
It would be great to see Journey fully working in this older core too. I like a good amount of their music as they crushed it in the 80's but they have some good 70's stuff too. We had tickets for Journey next month but it was canceled and not rescheduled. We have Foreigner tickets as well for late fall but I doubt to many indoor arena size venues will be allowed in the next year. I definitely think their "hey day" lies in the 70's.
@grant2258 said in Food Fight - Joust - joystick troubles, solved:
I have to mute the game to play it to be honest the music drives me up the wall maybe it because I played it too much.
@grant2258 - That's funny, one to many rounds of Food Fight and you'll have nightmares of being pied and "fruited" to death by master chefs coming out of black holes!
You can't go wrong with any of the ddragon's. :) Also I'm using the Joystick version of midres (midresj) that you or arcadez implemented that's nice. I wouldn't mind trying your final version some day of how you would have preferred to implement inputs.
No, I don't know exactly what happened as but it's a shame because you have a true natural knack for all stuff MAME related and coding too. All these little updates make the sum of the whole greater than its parts...errr...something like that and I probably can't thank you guys enough for all the tweaks! ;)
I think arcadez added handful of nice joystick versions of certain games that play surprisingly well if don't have the proprietary controllers of the old arcade cabinets.
-
@Riverstorm
It says there's no active devs so the project manager has to merge them or add a new dev. Hopefully it gets updated though. Maybe someone can reach out to the project manager.We started a new topic for journey, so I'll be looking into it unless someone beats me to it. It looks like it can be back ported from 2010 mame though when I find time.
-
@mahoneyt944 - Ok, yeah I see your pull requests and few others back a month. Usually Twinaphex (Libretro member) pops in occasionally and merges them. I am a bit surprised they let them go that far back. Layman's question but where does it show no active devs, project manager, etc? I couldn't find the information.
-
@Riverstorm I might be getting it mixed up with another repository because I'm switching between a few different ones. I believe the libretro team is the only contributor right now. But I'm not sure.
-
@mahoneyt944 - Ok, I sent an email to see if they'll merge those commits.
-
@Riverstorm You can try it out no bother when its done not a problem. All i want it something i can play in and just use without too much effort for myself. Only games i really need fixed for teh panel is the sf2 variants and toobin as well as mk. Rotary games like midres and ikari warriors work well if you map z/x dial contrls to l/r on the joypad.
-
@grant2258 - Toobin' is a classic but the default controls on a 6 button layout are pretty wonky for sure. It's pretty straight forward left/right forward, left/right back and throw a can! :) I mapped the far left and right for the movements and both center buttons for throwing cans depending if you prefer the upper or lower row for throwing.
-
@Riverstorm
Toobin would be fun to play mapped to the quadrants of the joystick. And then just one fire button. Might simplify the layout. -
the original game never had a joystick though 5 buttons if i remember right
-
@mahoneyt944 - Yeah as @grant2258 pointed out and you probably know it is a 5 button game. I do get a bit slap happy on the buttons on an arcade panel. With a joystick I use the 4 thumb buttons and the triggers to throw cans.
The idea of making the player move with joystick quadrants would prove to be interesting though! :)
-
@Riverstorm @grant2258 I know that toobin is a 5 button game but I think joystick control would be easier since it's a predefined layout.
I'm sure it could be done. Digital would need grants centering fix or else use analog. Then just check if you're in a quadrant. If so, that button is applied once.
It could be a toggled option in the dip menu. "Override to use joystick"- on/ off. "Off" would use your mapped buttons as it does normally and "on" would activate the joystick override feature.
I would apply them in a scheme like this.
static int joystick_override ( int temp ) { UINT8 joyx = readinputport(?); // Find joy p1 UINT8 joyy = readinputport(?); UINT8 joyx2 = readinputport(?); // Find joy p2 UINT8 joyy2 = readinputport(?); // throw over movement if (temp == 0x0100 || temp == 0x0200) return temp; // player 1 else if (joyx < 0x7f && joyy < 0x7f) return 0x0010; else if (joyx > 0x7f && joyy < 0x7f) return 0x0020; else if (joyx > 0x7f && joyy > 0x7f) return 0x0040; else if (joyx < 0x7f && joyy > 0x7f) return 0x0080; // player 2 else if (joyx2 < 0x7f && joyy2 < 0x7f) return 0x0001; else if (joyx2 > 0x7f && joyy2 < 0x7f) return 0x0002; else if (joyx2 > 0x7f && joyy2 > 0x7f) return 0x0004; else if (joyx2 < 0x7f && joyy2 > 0x7f) return 0x0008; // all other values pass through else return temp; }
Just need to add new analog ports to read the joystick. If you're joystick is in the quadrant, it presses the button digitally for you.
Then hook this function in the original return
// hook input value - dip option turned on if (readinputport(?) == 0x01) return joystick_override(original_input); else return original_input;
-
@mahoneyt944 - Wow, you put some thought into it for sure and that's an incredibly generous gesture but I'm ok with the more "traditional" controls. That being said if it ever does end up in m3plus I wouldn't hesitate to give it a go and see how it plays! ;)
-
@Riverstorm yeah it's by no means necessary. I feel that "emulation" is more than just the circuits of the game and the controls it had. It's replicating the "experience" you got from playing the game in the first place. At the end of the day I just want to play games and enjoy them.
For example Food fights controls were accurately emulated in mame but the experience sucked. This was due to the special joystick that made the game play right, which wasn't something that was missed in programming the driver. Live center is an attempt to emulate the experience of using that special joystick and having that precise control back but with any ordinary controller. This makes playing the game fun again.
-
Live Center Rev 5 officially merged into mame2003-plus, update from source. Welcoming testers to report here.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.