Wulf2k/DaS-PC-MPChan

[Suggestion] Prompt text to player

Closed this issue · 5 comments

Is it possible to prompt the error messages or anything that may occure (sudden disconnect from DS-Net for instance) directly into the darksouls msgboxes ?
It's also more easy for the user than alt+tabing (which crash so much) out to see what happend (if one day anything happens...) and I guess that would be fancy...

Might be completly useless... But fancy though...
For instance, here's what i've found yet

 ' in the darksoulsprocess file
Public Sub promptText()
        ' MessageBox base link
        Dim messageBoxLoc As Integer = ReadInt32(dsBase + &HF786D0)
        ' Set 1 to set the OK_only mode
        Dim modeMessageLoc As Integer = messageBoxLoc + 2588
        WriteBytes(modeMessageLoc, {1})
        ' Set 1 to open messageBox
        Dim openMessageLoc As Integer = messageBoxLoc + 256
        WriteBytes(openMessageLoc, {1})

        ' For now it only open the message box (fancy one...) haven't found the field to pass correctly the text yet...
End Sub

Is that too much useless to continue on it ? 😄

BTW, how do you guys find the static bases addresses ? I only found painful ways (and useally quite long...) for now...

There's nothing that DSCM does that's important enough to justify interrupting the game.

Take away somebody's control during a boss battle and you've pissed them off. Not to mention possibly screwing up their game in unpredictable ways if they have another prompt already on the screen.

What if they're buying something, can't afford it, and you take away their cancel button?

&H12E33E0 should be the text ID of the current prompt's text, btw.

It uses that ID to look up a message in a text file, so you'd have to pick a value you didn't care about and then overwrite that value with the message you want to display.

BTW, how do you guys find the static bases addresses ? I only found painful ways (and useally quite long...) for now...

When it works, Cheat Engine's Pointer Scan is incredibly useful.

When it doesn't, set a bunch of breakpoints and follow the code backwards to find the actual lookups the code is doing.

The address above is, I believe for the first prompt in the game. It could bounce around in memory, I haven't fully mapped the menu stuff.

The same ID will hold true though, you're not looking for text, you're looking for a text ID number.

There's nothing that DSCM does that's important enough to justify interrupting the game.

You're right, haven't though about that :)

Thanks a lot for your tip about cheat engine !