Emulator Coder, Skilled player (1114)
Joined: 5/1/2010
Posts: 1217
Warepire wrote:
Also I broke movies trying to improve the format for coming improvements to Hourglass, so they corrupt on close/open, need to fix that too.
When you get it stable, be sure to post new file format specs and how to identify the old/new format.
Joined: 5/24/2004
Posts: 262
Win 8 x64 with an older Logitech G5: http://pastebin.com/MnCYTiYg
Editor
Joined: 3/31/2010
Posts: 1466
Location: Not playing Puyo Tetris
House of the Dead 2/3 would be an interesting choice for mouse TAS.
When TAS does Quake 1, SDA will declare war. The Prince doth arrive he doth please.
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2178
Location: A little to the left of nowhere (Sweden)
Thanks to your log files this is now possible: Huge image showing Hourglass running a mouse game: http://i.imgur.com/q7OzXVI.png The game is called Meteor and did not spawn a window before because before spawning a window, the game checked if you had a compatible mouse, and if not it would terminate. There is still A LOT to implement regarding mouse support, but... PROGRESS! Special thanks to Scepheo and a few other friends of mine who helped me get this far. For those of little faith, the game is freeware and can be gotten here: http://www.jbplay.com/games/meteor/ Try starting it in Hourglass r81. (Note: The game fails under Windows 7, don't know why)
Editor, Experienced player (570)
Joined: 11/8/2010
Posts: 4038
Way to go, Warepire! Looking forward to your work with integrating the mouse culminating in a new "mouse support" version of Hourglass. For another game that we know runs in Hourglass, you could try testing out the mouse with Braid's jigsaw puzzle sections.
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2178
Location: A little to the left of nowhere (Sweden)
I don't have the money to buy that game right now, so I cannot test it. (I know I could pirate it, but I prefer to work with guaranteed official versions when I am testing for compatibility)
Active player (459)
Joined: 11/12/2010
Posts: 183
Location: Sweden
OpenTyrian also works both with and without mouse imput, and you can run it on Hourglass. Although you might not be able to playback it completely correctly, it should be enough for this purpouse. http://code.google.com/p/opentyrian/
"An artist who can’t take constructive critique on their work is only hurting themselves and their potential. Conversely, and artist that can’t communicate a critique in a constructive way isn’t helping anybody."
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2178
Location: A little to the left of nowhere (Sweden)
Thanks, will play around with that!
Emulator Coder
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Site Admin, Skilled player (1256)
Joined: 4/17/2010
Posts: 11495
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
I'd prefer if you don't embed so wide images...
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2178
Location: A little to the left of nowhere (Sweden)
Nach: Thanks, will play around with those too. feos: Sorry, I have only very large screens so I forget myself, fixed it.
Joined: 3/18/2013
Posts: 26
http://pastebin.com/zdennDij I use a standard logitech ball mouse. reasonably old. I hope this helps, good luck with your research.
Former player
Joined: 3/27/2010
Posts: 270
I've got a rather interesting thing to say about mouse input for Hourglass. Note: I've not messed with the download you provided :P, so forgive me if I am wrong here... Are you going to provide actual "real" mouse movement. For example, say point A is on the left of my screen, Point B in the Middle , point C on the right. For me to get from Point A to point C, it is required to go to point B. My thought is, all TAS's would be invalid if you're able to go from point A without actually having to move towards Point B, before Point C; and can just go straight to Point C. Basically, if I can be at point A, enter frame advance mode, then move the mouse to Point C, then frame advance again... on playback, it'd appear that the mouse is teleporting.... So my question is, perhaps code a "mouse" in hourglass as well, instead of using the real mouse?
Emulator Coder, Skilled player (1114)
Joined: 5/1/2010
Posts: 1217
Torn338 wrote:
Are you going to provide actual "real" mouse movement. For example, say point A is on the left of my screen, Point B in the Middle , point C on the right. For me to get from Point A to point C, it is required to go to point B. My thought is, all TAS's would be invalid if you're able to go from point A without actually having to move towards Point B, before Point C; and can just go straight to Point C.
If A and C are near enough (which might actually be over hundred pixels apart, don't know about the API), fast enough mouse motion can jump from one to other in one step, bypassing B.
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2178
Location: A little to the left of nowhere (Sweden)
Remember, TASes are supposed to be super-human, if the game accepts the input, then it's all fair to me. Otherwise we might as well ban maximum range on analog sticks and left+right on d-pads because in my opinion it's all the same abuse. (Input that wasn't intended to be possible)
Emulator Coder, Skilled player (1114)
Joined: 5/1/2010
Posts: 1217
Warepire wrote:
Remember, TASes are supposed to be super-human, if the game accepts the input, then it's all fair to me.
At least with some systems apparently whatever electrical protocols of controllers can represent is fair game (including messing with controller type identification).
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
Warepire wrote:
if the game accepts the input, then it's all fair to me
Why should we respect the game's opinion on that matter? :)
keylie
He/Him
Editor, Emulator Coder, Expert player (2846)
Joined: 3/17/2013
Posts: 392
Teleporting mouse cursor is totally fine to me.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4045
I think that a typical mouse can only move (signed byte) pixels in X and Y diections in a given message, if this protocol is still in use: http://en.wikipedia.org/wiki/Mouse_(computing)#PS.2F2_interface_and_protocol Although, couldn't programatically moving the mouse around escape this limitation? I know that WM_MOUSEMOVE messages use two bytes and just say the final location of the mouse, so there's no 'one byte' limitation there. If you programatically move the mouse more than 128 pixels it would just create 'one mouse movement' not chunk it up, right? Finally, my understanding is that a mice informing the computer about a mouse movement is interrupt based (so can happen as often as it wants, whenever it wants) - so any game that polls for mouse movement once per frame instead of learning about it via interrupts can have arbitrarily far mouse movements in one frame, regardless of above concerns.
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Skilled player (1744)
Joined: 9/17/2009
Posts: 4986
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
keylie wrote:
Teleporting mouse cursor is totally fine to me.
I am immediately reminded of mouse hopping. :P And to make sure this post isn't just used to comment on a game mechanic, here's my results.log:
--OBJECT 0--
Size: 316
GUID Type: GUID_XAxis
Offset: 0
Device type: 1
Flags: DIDOI_ASPECTPOSITION
Object name: X-axis
ForceFeedback Max Force: 0
ForceFeedback Force Resolution: 0
HID Collection Number: 0
HID Designator Index: 0
HID Usage Page: 0
HID Usage: 0
HID Dimensional Units Code: 0
HID Dimensional Exponent: 0
Report ID: 0


--OBJECT 1--
Size: 316
GUID Type: GUID_YAxis
Offset: 4
Device type: 101
Flags: DIDOI_ASPECTPOSITION
Object name: Y-axis
ForceFeedback Max Force: 0
ForceFeedback Force Resolution: 0
HID Collection Number: 0
HID Designator Index: 0
HID Usage Page: 0
HID Usage: 0
HID Dimensional Units Code: 0
HID Dimensional Exponent: 0
Report ID: 0


--OBJECT 2--
Size: 316
GUID Type: GUID_ZAxis
Offset: 8
Device type: 201
Flags: DIDOI_ASPECTPOSITION
Object name: Wheel
ForceFeedback Max Force: 0
ForceFeedback Force Resolution: 0
HID Collection Number: 0
HID Designator Index: 0
HID Usage Page: 0
HID Usage: 0
HID Dimensional Units Code: 0
HID Dimensional Exponent: 0
Report ID: 0


--OBJECT 3--
Size: 316
GUID Type: GUID_Button
Offset: C
Device type: 304
Flags: 
Object name: Button 0
ForceFeedback Max Force: 0
ForceFeedback Force Resolution: 0
HID Collection Number: 0
HID Designator Index: 0
HID Usage Page: 0
HID Usage: 0
HID Dimensional Units Code: 0
HID Dimensional Exponent: 0
Report ID: 0


--OBJECT 4--
Size: 316
GUID Type: GUID_Button
Offset: D
Device type: 404
Flags: 
Object name: Button 1
ForceFeedback Max Force: 0
ForceFeedback Force Resolution: 0
HID Collection Number: 0
HID Designator Index: 0
HID Usage Page: 0
HID Usage: 0
HID Dimensional Units Code: 0
HID Dimensional Exponent: 0
Report ID: 0


--OBJECT 5--
Size: 316
GUID Type: GUID_Button
Offset: E
Device type: 504
Flags: 
Object name: Button 2
ForceFeedback Max Force: 0
ForceFeedback Force Resolution: 0
HID Collection Number: 0
HID Designator Index: 0
HID Usage Page: 0
HID Usage: 0
HID Dimensional Units Code: 0
HID Dimensional Exponent: 0
Report ID: 0


--OBJECT 6--
Size: 316
GUID Type: GUID_Button
Offset: F
Device type: 604
Flags: 
Object name: Button 3
ForceFeedback Max Force: 0
ForceFeedback Force Resolution: 0
HID Collection Number: 0
HID Designator Index: 0
HID Usage Page: 0
HID Usage: 0
HID Dimensional Units Code: 0
HID Dimensional Exponent: 0
Report ID: 0


--OBJECT 7--
Size: 316
GUID Type: GUID_Button
Offset: FFFFFFFF
Device type: 704
Flags: 
Object name: Button 4
ForceFeedback Max Force: 0
ForceFeedback Force Resolution: 0
HID Collection Number: 0
HID Designator Index: 0
HID Usage Page: 0
HID Usage: 0
HID Dimensional Units Code: 0
HID Dimensional Exponent: 0
Report ID: 0

Emulator Coder
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
creaothceann wrote:
Warepire wrote:
if the game accepts the input, then it's all fair to me
Why should we respect the game's opinion on that matter? :)
Just think about touch devices. It's still a cursor, and you can teleport it anywhere. Mouse input on Windows doesn't strictly mean it's a mouse.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.