New to the forums? Click here to read the "How To" Guide.

Developer? Click here to go to the Developer Forums.

Dolphin Emulator DK2 compatibility

1343537394044

Comments

  • 2EyeGuy2EyeGuy Posts: 1,084
    Trinity
    aminemo wrote:
    Because the field of view is limited watchingon the corners is very uncomfortable
    I wander if it is not better to make the head rotation not linear
    I don't understand. What do you mean?
  • aminemoaminemo Posts: 353
    Art3mis
    Because your field of view is limited when you want to watch on the corners
    in order to have a full examination of your environment you need constantly
    to turn completely your neck which is painfull.
    I am asking if it is not better to amplify the movements on the last degree of rotation
    to make things more easy. For example by separating the field of view in 3 area
    with differents angular velocity of head rotations or by jumping between 3 or more
    center of field of views aera
  • 2EyeGuy2EyeGuy Posts: 1,084
    Trinity
    Most games don't need you to turn your head much, because they were designed for a TV where you can only look forwards, and they were usually designed for an FOV of about 60 or 70 degrees. I did make some of the virtual console games require you to turn your head, so they would be more immersive. But you can change that by moving the camera further back.

    What I said about an option to prevent the game from being able to control camera yaw was only intended for people standing up or sitting on a swivel chair and turning with their body instead of their neck. Most people would only want to stop the game from controlling pitch and roll.

    EDIT: I've pushed the camera angle feature. Currently only the Let The Game Control: "Yaw, Pitch, and roll" or "None" options work. You need to check the "Read Camera Angles" per-game option before the global "Let The Game Control" option has any effect on that game, because I expect many games to not work with this feature. So far I have only tried this with two games, and both of them worked great: Animal Crossing for GameCube, and Zelda: Wind Waker. I haven't tested the whole game of course, so there might be scenes where it doesn't work, for example if the first object drawn is supposed to be drawn tilted to the world, then the world will be tilted instead of that object. But that is unlikely, especially if culling is disabled.
  • costersallcostersall Posts: 36
    Brain Burst
    2EyeGuy wrote:
    costersall wrote:
    Same problem with my G27 in the main branch of Dolphin (as of yesterday), but again only in Mario Kart Wii, the wheel works in GC Mario Kart. Not sure why this would stop working all of a sudden. It's my main DK2 demo to show people because everyone likes Mario Kart, I would love an old version again to test if possible. I stupidly overwrote mine.
    https://dl.dropboxusercontent.com/u/101 ... 20year.exe

    I think I have fixed my local repository now. I seem to be able to pull and push OK.

    Thank you it works again! Here is what I have noticed in case someone else has the same problem or maybe it can be fixed. In the controller configuration GameCube controllers for port 1 I have Steering Wheel selected. From there I configure the buttons and for A & B I bind them to the Gas and Break peddles on the G27. This works great and is a lot of fun etc. This works in the older version 5378 as long as in the Logitech Profiler -> Options -> Global Device Settings Report Combined Pedals in selected.

    In the newer versions if that option is on in the profiler the peddles no longer work, and if you turn it off the buttons now at least register in the Dolphin controller settings, but don't work in Wii games anymore for some reason???

    Thanks again for that older version upload.
  • aminemoaminemo Posts: 353
    Art3mis
    The last version of ppsspp for android has a vr support
    There is a Google cardboard support in the graphics option.
    It means that ppsspp work for gear VR too....
    I haven't checked yet if it has a VR support for dk2 on the PC version.
    http://buildbot.orphis.net/ppsspp/
    B8PTod9CUAEwyRx.jpg
  • costersallcostersall Posts: 36
    Brain Burst
    aminemo wrote:
    The last version of ppsspp for android has a vr support
    There is a Google cardboard support in the graphics option.
    It means that ppsspp work for gear VR too....
    I haven't checked yet if it has a VR support for dk2 on the PC version.
    http://buildbot.orphis.net/ppsspp/
    B8PTod9CUAEwyRx.jpg

    I don't see any DK2 nor any VR options in the windows version unfortunately. :(
  • VRpceVRpce Posts: 53
    Hiro Protagonist
    aminemo wrote:
    The last version of ppsspp for android has a vr support
    There is a Google cardboard support in the graphics option.
    It means that ppsspp work for gear VR too....
    I haven't checked yet if it has a VR support for dk2 on the PC version.
    http://buildbot.orphis.net/ppsspp/
    NICE, thanks for letting us know, can't wait for... (Can't bring myself to beg for it, I am not worthy)
  • 2EyeGuy2EyeGuy Posts: 1,084
    Trinity
    I'm embarrassed that other people beat me to it. I should stop being so lazy and get back to work on ppsspp. But first I need to finish the Dolphin VR game camera control feature so that the game can yaw the camera but not pitch or roll it.
  • VRpceVRpce Posts: 53
    Hiro Protagonist
    2EyeGuy wrote:
    I'm embarrassed that other people beat me to it. I should stop being so lazy and get back to work on ppsspp. But first I need to finish the Dolphin VR game camera control feature so that the game can yaw the camera but not pitch or roll it.
    Does that "shift x/shift y" imply head tracking? I wonder if it's just for stereoscopy
  • gggg Posts: 2
    I read that the cardboard option doesn't give real 3d and is only for using cardboard as a display. So you still have time 2eyeguy.

    This is where I read about it
    http://forums.ppsspp.org/showthread.php?tid=14496
  • VRpceVRpce Posts: 53
    Hiro Protagonist
    I finally got around to testing 2EyeGuy's Motion Sickness FOV toggle, and it works better than imagined; could this actually be used as a motion sickness "trainer" of sorts? Because fiddling around with the FOV size, it seems like it helps eliminate motion sickness altogether. I'm really trying to be objective, haven't put much time into it, will keep experimenting. (using Mario Golf for Gamecube as the test game; the camera going in-and-out made me so sick I had to lay down one time, see for yourself)
  • 2EyeGuy2EyeGuy Posts: 1,084
    Trinity
    xcxv2 wrote:
    I finally got around to testing 2EyeGuy's Motion Sickness FOV toggle, and it works better than imagined; could this actually be used as a motion sickness "trainer" of sorts? Because fiddling around with the FOV size, it seems like it helps eliminate motion sickness altogether. I'm really trying to be objective, haven't put much time into it, will keep experimenting. (using Mario Golf for Gamecube as the test game; the camera going in-and-out made me so sick I had to lay down one time, see for yourself)

    Do you have the issue where the first frame after it changes the FOV is wrong, or is that just me?

    I'm also working on preventing game-induced camera rotations, which should help, and perhaps even limiting game-induced camera movement.
  • VRpceVRpce Posts: 53
    Hiro Protagonist
    2EyeGuy wrote:

    Do you have the issue where the first frame after it changes the FOV is wrong, or is that just me?

    I'm also working on preventing game-induced camera rotations, which should help, and perhaps even limiting game-induced camera movement.
    I didn't have any frame issues when toggling using "with right stick" (at least nothing I could perceive.) I was just experimenting with Gamecube title "Freaky Flyers" which is another good motion-sickness test. I went through an array of things that could easily make me nauseous: zoom in to first person, do a bunch of tight circles staring at the ground, and a big one, hold down the head-tracking camera reset function while moving my head around so it's a choppy mess and would usually make me want to lay down close to vomiting. I was tempering all of these with occasional adjustment to about 70 degrees FOV, and I was able to end my experiment with a fraction of the usual nausea. But besides the torture test, I was extremely excited to play the game normally and not feel the motion sickness at all; I still want to do more testing, but if anything is going to help "train" brains into being comfortable with such motion, it's this.

    edit: both of these games are 60fps, I'll try 30fps games later

    To be clear, I was intermittently using the "motion sickness" toggle during testing, turning it on and off. Not just with it on all the time.
  • 2EyeGuy2EyeGuy Posts: 1,084
    Trinity
    I've finished implementing the camera angle lock feature (on GitHub) so that you can choose how much the game is allowed to control the camera angle. You can give the game full control over the camera, let it only control yaw and pitch, let it only control yaw, or not let it rotate the camera at all. Hopefully that will help with motion sickness (and immersion) too. It is currently only working in some games though.
  • VRpceVRpce Posts: 53
    Hiro Protagonist
    2EyeGuy wrote:
    I've finished implementing the camera angle lock feature (on GitHub) so that you can choose how much the game is allowed to control the camera angle. You can give the game full control over the camera, let it only control yaw and pitch, let it only control yaw, or not let it rotate the camera at all. Hopefully that will help with motion sickness (and immersion) too. It is currently only working in some games though.
    I'll definitely try that, but from what I've experienced so far, reducing the FOV is in fact a definitive solution. If you were waiting for someone to say "Palmer Luckey was wrong," there you go. Maybe he didn't give it enough chance, or maybe he just didn't use it on Mario Golf Toadstool Tour.
  • 2EyeGuy2EyeGuy Posts: 1,084
    Trinity
    xcxv2 wrote:
    I'll definitely try that, but from what I've experienced so far, reducing the FOV is in fact a definitive solution. If you were waiting for someone to say "Palmer Luckey was wrong," there you go. Maybe he didn't give it enough chance, or maybe he just didn't use it on Mario Golf Toadstool Tour.
    I really love having a wide FOV though, so I only want to reduce the FOV when necessary. And currently there is no definitive way of detecting when it is necessary. Using the analog sticks is a bit of a hack, since the camera can move on its own, and since the analog sticks sometimes just select items from a menu. But since my camera lock feature is reading the game camera's rotation and approximate movement, I should now be able to use that to work out when I need to apply vection correction.
  • VRpceVRpce Posts: 53
    Hiro Protagonist
    2EyeGuy wrote:
    xcxv2 wrote:
    I'll definitely try that, but from what I've experienced so far, reducing the FOV is in fact a definitive solution. If you were waiting for someone to say "Palmer Luckey was wrong," there you go. Maybe he didn't give it enough chance, or maybe he just didn't use it on Mario Golf Toadstool Tour.
    I really love having a wide FOV though, so I only want to reduce the FOV when necessary. And currently there is no definitive way of detecting when it is necessary. Using the analog sticks is a bit of a hack, since the camera can move on its own, and since the analog sticks sometimes just select items from a menu. But since my camera lock feature is reading the game camera's rotation and approximate movement, I should now be able to use that to work out when I need to apply vection correction.
    Absolutely with the wide FOV, and I can't wait to try the other solutions, could you put in a option to toggle the FOV adjustment on "always" with a button combo? "vection correction" sorry I'm in the dark, thanks I love being any help I can
  • 2EyeGuy2EyeGuy Posts: 1,084
    Trinity
    xcxv2 wrote:
    "vection correction" sorry I'm in the dark
    Vection is the visual sensation of head movement or head turning. The more points are moving in the same direction in your vision, or the further out in your peripheral vision they are, the more vection you will feel.
    When vection doesn't match your inner ear's vestibular balance system then you feel motion sick. Tricking your vestibular system is hard, so we have to reduce the sensation of vection to match. Reducing the FOV is one way to reduce vection.

    We don't want to reduce vection when the game camera isn't moving but we are turning or moving our real head, because we need vection then. So I just want to counteract the vection some of the time.

    EDIT: I guess I could add a button. You can already use the dpad or analog sticks, so if the game isn't using one stick or the dpad then you can use it like a button that only controls the vection reduction.
  • aminemoaminemo Posts: 353
    Art3mis
    I wander if it is possible to place the main camera relatively to any object of the scene.
    I remeber that metroid prime was having a bug which was placing the camera relatively to a light object.
    It think it could be interesting to lock the camera to any object position.
    For exemple in fzero there is a cocpit and a character inside each car it could be fun to lock the camera to
    the character's head or any part of the car.
  • 2EyeGuy2EyeGuy Posts: 1,084
    Trinity
    aminemo wrote:
    I wander if it is possible to place the main camera relatively to any object of the scene.
    I remeber that metroid prime was having a bug which was placing the camera relatively to a light object.
    It think it could be interesting to lock the camera to any object position.
    For exemple in fzero there is a cocpit and a character inside each car it could be fun to lock the camera to
    the character's head or any part of the car.
    It's not possible to lock it perfectly, because I need to know the camera position before I start drawing anything, and I don't know the position of the chosen object until I have already drawn other objects. So there would always be one frame of lag in the camera position. But that should be OK.

    But I need a way of identifying an object, some way to know when it is drawing the character and not drawing something else. I haven't worked out how to do that yet. I could try recognising objects based on the texture, the vertices, the order, the matrices, or some other rendering settings. I don't know which way would work.

    I don't know what you mean about Metroid Prime placing the camera relative to a light. Isn't the camera first person in Metroid Prime? There was an issue with my camera angle lock feature on GitHub with Metroid Prime, Bomberman Generations, etc. which made the camera always aim at the floor if you locked the camera angles, but I have now fixed that. I still need to update the INI files though.

    EDIT: BTW, Cegli and Penkamaster have been hard at work improving the bruteforcer, so we will have a lot more culling codes soon. Unfortunately, my computer isn't powerful enough to bruteforce anything, so I can't help much with that, but other people will be able to bruteforce culling codes easily.
  • aminemoaminemo Posts: 353
    Art3mis
    edited March 2015
    2EyeGuy wrote:
    aminemo wrote:
    EDIT: BTW, Cegli and Penkamaster have been hard at work improving the bruteforcer, so we will have a lot more culling codes soon. Unfortunately, my computer isn't powerful enough to bruteforce anything

    IMG_0060.jpg

    Welcome !!BTW my computer look like this one compare to yours :cry:
  • ceglicegli Posts: 436
    Hey everyone! I've been quiet lately, but I've been working hard. I just spent a solid couple of days revamping penkamaster's culling code bruteforcer. It's almost at the point where it could be run by anyone now, so you guys can help find culling codes for your favorite games on the next release. Here's my to-do list on it:

    1. Add an option to launch it from the GUI (right now you must add -bruteforce 0 or 1 from the command line)
    2. Add the ability to post process the .map file after a run, so the next runs will focus on interesting functions.
    3. Increase the range of the bruteforcing functions. For instance, be able to force f1 through f8 to various values, and also be able to force r4-r10 to various values. Right now we only force r3 to 1 or 0.
    4. Possibly add something that causes certain loops to either always branch or never branch. This might help find culling functions the current bruteforcer misses.

    Right now the bruteforcer only is successful on about 35% of games, so I'm hoping 3 and 4 will help increase the amount of codes found.

    I've also been slowly learning how game hacking works, and have managed to make a couple interesting hacks and improve a lot of the culling codes. One hack I figured out a bit ago is how to make the camera in Paper Mario zoom all the way out and stay static. It eliminates all of the culling, which is great too. I think codes like that will be great for HMDs like the Vive, if you have a setup where you can walk around a big room. That way, you can be the camera and follow Mario around :).
  • Hi,

    I'm trying to use the FIFO Player to create some object removal codes, and I'm encountering a weird bug. It seems that a subset of the objects have the first line of the analysis blanked. See this screenshot:

    zKTvHOV.png

    Since the first line is blanked, I cannot figure out what code to use for the object removal.

    Is this a known bug? The FIFO dump is from mission 3 of Starfox Assault; the object shown in the screenshot is part of Fox's model. The issue shows up with multiple dumps from this level, dumped with multiple versions of Dolphin (both VR and official, including the stable 4.0.1 release). I can share the FIFO dump if you need it to debug. The screenshot was taken with Dolphin-VR 4.0-6754 (using the binary posted by cegli).

    Thanks.
  • ceglicegli Posts: 436
    Hey Biolizard,

    Yep, the FIFO Player is fairly rough in Dolphin. I haven't tested it in a bit, but I probably should to make sure none of my changes have broken anything. Long ago, the FIFO player (purposefully?) made the first line unreadable if it considered it to not perfectly match. Back then I made a change to have it display on the first line anyway, but I haven't looked at it in a while. Maybe a change they made to the main branch broke this change?

    I've found that it's much easier to just quickly bruteforce an object removal code. Just get to the spot you want to remove something in game, then go to the hide object tab, choose 8-bit, type in 00, press up then down (to make sure 00 gets covered), then rapidly press up until the object disappears. Then choose 16-bit, add two 00s to the front, and repeat. Keep doing this until you've found your code.

    You can even hold the enter key after you've pressed the up button to rapidly fly from 00->FF, watching for it to flicker.

    If that doesn't work, let me know. I might have time to look into the FIFO Player bug at some point too, but I've found the bruteforcing is way faster considering the FIFO Player crashes all the time!

    Edit: The caveat might be if you're trying to remove a ton of objects. If you need 20 individual objects removed or something, it'd probably be easier to use the FIFO Player...

    Edit 2: Okay, I fixed that bug. It was because some of the labels were so long, that wxWidgets couldn't handle them so it just showed it blank. Now, I've noticed that there is another (fairly new) issue where the fifoplayer trace doesn't open unless a game has been opened first. I'll track that down and fix it too.

    Edit 3: All fixed! Here's the link: https://mega.co.nz/#!PRdkETjL!4rn_35rTA ... HsDTgsWLZo

    Note to everyone, this isn't an official release because I haven't tested it too much! If you're okay with finding possible bugs, feel free to play around with it though.
  • 2EyeGuy2EyeGuy Posts: 1,084
    Trinity
    cegli wrote:
    3. Increase the range of the bruteforcing functions. For instance, be able to force f1 through f8 to various values, and also be able to force r4-r10 to various values. Right now we only force r3 to 1 or 0.
    I think that will be a waste of time. All functions that return an int, or a bool, or a pointer, or void will return it in r3.
    cegli wrote:
    4. Possibly add something that causes certain loops to either always branch or never branch. This might help find culling functions the current bruteforcer misses.
    That would be more useful and likely to find it.
    cegli wrote:
    One hack I figured out a bit ago is how to make the camera in Paper Mario zoom all the way out and stay static. It eliminates all of the culling, which is great too. I think codes like that will be great for HMDs like the Vive, if you have a setup where you can walk around a big room. That way, you can be the camera and follow Mario around :).
    I've been working on locking the game camera more generally. I can now lock the camera rotation in one third of all games. It has been on my todo list for a long time in order to prevent pitch and roll, but with the ability to also lock yaw it will help with playing standing up and making the world feel more solid. Later, I will also be able to lock position, to a lesser extent.
    cegli wrote:
    Note to everyone, this isn't an official release because I haven't tested it too much! If you're okay with finding possible bugs, feel free to play around with it though.
    Also you haven't pulled my branch (or master). :(
  • ceglicegli Posts: 436
    2EyeGuy wrote:
    cegli wrote:
    3. Increase the range of the bruteforcing functions. For instance, be able to force f1 through f8 to various values, and also be able to force r4-r10 to various values. Right now we only force r3 to 1 or 0.
    I think that will be a waste of time. All functions that return an int, or a bool, or a pointer, or void will return it in r3.
    At gc-forever they've found an example of a game that uses a float for its culling function, so I think it's worth a shot. Also, the more I manually hack at games the more I see functions updating r4 and r5. I think this happens when you pass in the references of multiple variables to the function.
    2EyeGuy wrote:
    Also you haven't pulled my branch (or master). :(
    Don't worry, I did. Your updates are in there, I just hadn't done a git push, so it didn't show up in my github.

    Edit: Woooo! I'm 90% done with the culling codes for Paper Mario: The Thousand Year Door! Man, it looks great with no culling. Right now the code is really sloppy, and I'm still missing the culling for boxes (save blocks, coin blocks, bricks), but all the geometry, enemies, etc. is done. I've been working on it on and off for so long now, so glad it's finally coming together!
  • fugazifugazi Posts: 109
    Hiro Protagonist
    cegli wrote:
    Edit: Woooo! I'm 90% done with the culling codes for Paper Mario: The Thousand Year Door! Man, it looks great with no culling. Right now the code is really sloppy, and I'm still missing the culling for boxes (save blocks, coin blocks, bricks), but all the geometry, enemies, etc. is done. I've been working on it on and off for so long now, so glad it's finally coming together!

    Great news!!! I'm really looking forward for those codes.
    Many thanks for your hard work.
  • 2EyeGuy2EyeGuy Posts: 1,084
    Trinity
    fugazi wrote:
    cegli wrote:
    Edit: Woooo! I'm 90% done with the culling codes for Paper Mario: The Thousand Year Door! Man, it looks great with no culling. Right now the code is really sloppy, and I'm still missing the culling for boxes (save blocks, coin blocks, bricks), but all the geometry, enemies, etc. is done. I've been working on it on and off for so long now, so glad it's finally coming together!
    Great news!!! I'm really looking forward for those codes.
    Many thanks for your hard work.
    All those people who liked the paper town Crescent Bay demo will finally have their own whole professional game exactly like that. Thanks to your culling codes and the camera lock.
    Great work.

    I'd better start on merging master. It conflicts with your bruteforcer changes though, so you might need to fix it if I break anything.

    EDIT: I've merged master, but I kept the CompiledBlock function which master has deleted, because it contained your bruteforcer code. You should check if it is still needed, and if not, remove entry 2 from the Interpreter table and the corresponding fallbacks in the JIT tables.
  • aminemoaminemo Posts: 353
    Art3mis
    Hey guys the VRjam is starting in one month and 1million dollars in prize.
    2eyeguy cegli and fugazi you can make a team.
    PPSSPP can run on galaxy note4.
    What you need is an android phone and the mobile SDK.
  • fugazifugazi Posts: 109
    Hiro Protagonist
    I don't know what will think 2EyeGuy or Cegli, but I think that emulating a PSP in stereo is far from the capabilities of a note4, I can hardly emulate a psp in a nvidia shield console in mono and having to use frame skip.
    Note 4 has asynchronous timewarp, but I think that the experience will not be very pleasant.
    Changing the subject, I'm trying to bruteforce I-ninjas, but when I try to load a state the screen is black, and for fixing it I have to open the video settings.
    I've played with the combinations of this settings in the ini
    [Video_Hacks]
    EFBToTextureEnable = True
    EFBCopyEnable = True
    but don't work.
    Some one knows who to fix this behavior?
Sign In or Register to comment.