Post subject: What do people actually know about the Hourglass code?
Player (230)
Joined: 4/25/2012
Posts: 73
I've been thinking a lot about TASing Dustforce, but I think I've gotten about as far as I can without actually just diving in and doing it. So I downloaded the Hourglass code to take a look at it to try and figure out how I might go about hacking in some super-simplified mouse support, and well... it's kind of a nightmare so far. I know that people have hacked in other features in the past (e.g. MIDI support for my Nikujin run) so have there been any efforts to actually document where in the code things actually are? The comments in the actually code are fairly inadequate, and it would be unfortunate if every time someone wanted to make any changes they'd have to try to figure out the whole program themselves, so if there isn't already somewhere people have started tracking this stuff, perhaps there should be.
Editor, Emulator Coder, Site Developer
Joined: 5/11/2011
Posts: 1108
Location: Murka
Yeah, I've done a little bit of work with the code base. It's rather... interesting, isn't it. I wish Nitsuja was around to help out some; even just as a "mentor". Mouse support? First, brush up on your winapi messaging; you'll definitely want to know all of the ins and outs of all the possible WM_ related to mouse. The midi work I did was all within the dll detours section, and I didn't get into the message passing stack at all, so I'm not familiar with much that would help.
Player (230)
Joined: 4/25/2012
Posts: 73
natt wrote:
Mouse support? First, brush up on your winapi messaging; you'll definitely want to know all of the ins and outs of all the possible WM_ related to mouse.
I'm already reasonably familiar with that stuff, I've done some game programming before... and for what I don't know, I know where to look to find out. What I'm trying to figure out is all of the places where the mouse-related code would need to go. It needs to be picked up while recording, it needs to be stored in the resulting file, and it needs to be played back later. Am I missing anything? And where in the code are all the keyboard equivalents of these actions? Presumably I'd want them to be in the same place. Also, I know that in DirectX, there are ways to access the actual mouse X/Y velocities that Windows later interprets into changes in mouse cursor position and all that. The WM_ messages seem to all pertain to after that interpretation takes place, since they reference things like the X and Y location on screen where the mouse (has moved to, has clicked, etc.)... I'm not sure if it will be relevant for Dustforce, but does anyone know how those functions could be hooked into?
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2178
Location: A little to the left of nowhere (Sweden)
I've PMed you.
keylie
He/Him
Editor, Emulator Coder, Expert player (2847)
Joined: 3/17/2013
Posts: 392
I'm also interested in continuing the development of this software. I would really like it to support Super Meat Boy, and there might only be little work to support it (right now, the keyboard inputs are captured but not send to the game).
Spikestuff
They/Them
Editor, Publisher, Expert player (2666)
Joined: 10/12/2011
Posts: 6452
Location: The land down under.
Blue-Screen Of Death on Windows 8 x64 (It happens on mine)
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2178
Location: A little to the left of nowhere (Sweden)
keylie wrote:
I'm also interested in continuing the development of this software. I would really like it to support Super Meat Boy, and there might only be little work to support it (right now, the keyboard inputs are captured but not send to the game).
I've PMed you.
Spikestuff wrote:
Blue-Screen Of Death on Windows 8 x64 (It happens on mine)
When during the program execution does the BSoD occur?
Spikestuff
They/Them
Editor, Publisher, Expert player (2666)
Joined: 10/12/2011
Posts: 6452
Location: The land down under.
Warepire wrote:
Spikestuff wrote:
Blue-Screen Of Death on Windows 8 x64 (It happens on mine)
When during the program execution does the BSoD occur?
Loading States (sometimes saving too)
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2178
Location: A little to the left of nowhere (Sweden)
Spikestuff wrote:
Warepire wrote:
Spikestuff wrote:
Blue-Screen Of Death on Windows 8 x64 (It happens on mine)
When during the program execution does the BSoD occur?
Loading States (sometimes saving too)
Turn off automatic reboot on blue screen, then tell me what the blue screen says. The save state one I believe could be that you are running out of RAM (Hourglass never writes the states to disk). The Loading ones can be restoring threads that Windows have decided are invalid. But no way to know for sure until I know what the blue screen says.
Spikestuff
They/Them
Editor, Publisher, Expert player (2666)
Joined: 10/12/2011
Posts: 6452
Location: The land down under.
As it shows in the report. Note Windows 8 BSOD is this:
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2178
Location: A little to the left of nowhere (Sweden)
Great, Windows found a way to make blue screens LESS informative! So a new thing to hate about Windows 8. Anyway, it seems that these kind of problems are related to Avast antivirus trying to pull something. Update avast. Disconnect from the internet, make a full scan, then shut Avast down (Fully). Reboot, still disconnected to the internet, make sure Avast is still fully shut down, run Hourglass again and see if the crashes stop.
Editor, Emulator Coder, Site Developer
Joined: 5/11/2011
Posts: 1108
Location: Murka
BrotherMojo wrote:
Also, I know that in DirectX, there are ways to access the actual mouse X/Y velocities that Windows later interprets into changes in mouse cursor position and all that. The WM_ messages seem to all pertain to after that interpretation takes place, since they reference things like the X and Y location on screen where the mouse (has moved to, has clicked, etc.)... I'm not sure if it will be relevant for Dustforce, but does anyone know how those functions could be hooked into?
Right, there are multiple APIs for accessing mouse data. I was thinking only of the windows messaging one, but of course you'd probably have to cover some others as well. So there's windows messaging, dinput, and then raw mouse input...
Spikestuff
They/Them
Editor, Publisher, Expert player (2666)
Joined: 10/12/2011
Posts: 6452
Location: The land down under.
Warepire wrote:
Great, Windows found a way to make blue screens LESS informative! So a new thing to hate about Windows 8. Anyway, it seems that these kind of problems are related to Avast antivirus trying to pull something. Update avast. Disconnect from the internet, make a full scan, then shut Avast down (Fully). Reboot, still disconnected to the internet, make sure Avast is still fully shut down, run Hourglass again and see if the crashes stop.
. . . but I don't use avast. Do I still follow the same steps?
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2178
Location: A little to the left of nowhere (Sweden)
Spikestuff wrote:
Warepire wrote:
Great, Windows found a way to make blue screens LESS informative! So a new thing to hate about Windows 8. Anyway, it seems that these kind of problems are related to Avast antivirus trying to pull something. Update avast. Disconnect from the internet, make a full scan, then shut Avast down (Fully). Reboot, still disconnected to the internet, make sure Avast is still fully shut down, run Hourglass again and see if the crashes stop.
. . . but I don't use avast. Do I still follow the same steps?
No, I checked again and there is a special case for errors in vmm.sys Did you update to Windows 8 from 7/Vista?
Spikestuff
They/Them
Editor, Publisher, Expert player (2666)
Joined: 10/12/2011
Posts: 6452
Location: The land down under.
No it's plain old windows 8 when I got it.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2178
Location: A little to the left of nowhere (Sweden)
There seems to be a problem with Windows (when updated from an earlier Windows) keeping the old vmm.sys file over the Win8 one which causes the error, but since you didn't update, that doesn't seem like a probable cause. I have no idea why this is happening, I don't really understand the error thanks to Microsoft being idiots and making the BSoDs less informal than before :( Your best bet is uploading the Minidump to some Windows 8 support forum and ask if they can tell you why this is happening, and if it turns out to be Hourglass related, I will make a note of it.