Is this possible? - Text box portraits

Jan 11, 2013 at 8:20 PM
Junior Member
"Fresh from the Bakery"
Join Date: Jan 11, 2013
Location:
Posts: 12
When you use a new character portrait in the game's text box, it sort of 'swishes' in from the left.

Is it possible to make it so it shows up instantly without 'swishing'? I want to add talking frames to my mod.
 
Jan 11, 2013 at 8:24 PM
Lvl 1
Forum Moderator
"Life begins and ends with Nu."
Join Date: May 28, 2008
Location: PMMM MMO
Posts: 3712
Age: 29
It would involve assembly hacking but theoretically it should be possible (and fairly easy).
 
Jan 11, 2013 at 8:30 PM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 31
Actually, I think Noxid did this in about 48 seconds after somebody suggested "talking" frames.
He modified a few instructions at some particular offset I don't remember.
 
Jan 12, 2013 at 6:48 AM
hi hi
"What're YOU lookin' at?"
Join Date: Oct 17, 2011
Location: probably somewhere else
Posts: 1050
Age: 24
Noxid said:
00424E91 MOV DWORD PTR [4A5B10],800
make that
00424E91 MOV DWORD PTR [4A5B10],6800
Hack complete :/
Here you are
 
Jan 12, 2013 at 3:39 PM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 31
Oh that is 1000000 times cheap.
He just made the facepic move REALLY FAST.

That's total trolling!
 
Jan 12, 2013 at 6:17 PM
Junior Member
"Fresh from the Bakery"
Join Date: Jan 11, 2013
Location:
Posts: 12
Randolf said:
Here you are
How do I find this value in Ollydbg? Ctrl+F yeilds errors with the text I look for.
 
Jan 12, 2013 at 6:39 PM
hi hi
"What're YOU lookin' at?"
Join Date: Oct 17, 2011
Location: probably somewhere else
Posts: 1050
Age: 24
You must use Ctrl + G, then write the address here.
 
Jan 12, 2013 at 7:23 PM
Lvl 1
Forum Moderator
"Life begins and ends with Nu."
Join Date: May 28, 2008
Location: PMMM MMO
Posts: 3712
Age: 29
Carrot if it works how is it trolling
Carrotlord believes many things are trolling, even though they are not.
 
Jan 13, 2013 at 3:44 AM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 31
It's just a really lazy way to hack it.
 
Jan 13, 2013 at 5:22 AM
Lvl 1
Forum Moderator
"Life begins and ends with Nu."
Join Date: May 28, 2008
Location: PMMM MMO
Posts: 3712
Age: 29
It's just a really lazy way to hack it.
Why would you hack it any other way than the "lazy" way? Are you even a programmer? The best way to do things is almost always the lazy/most efficient way. No need to make more work for yourself.
 
Jan 13, 2013 at 6:37 AM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 31
The best way to program is not the lazy way.
You can never make anything useful if you always do things the lazy way. Eventually, it will come back to haunt you when you want to add a new feature or expand your program's code, even in assembly.

The correct way would be to disable the scrolling altogether.
If one kind of boolean condition is true, then jump to someplace, and directly render the facepic on top of the message box.
If that boolean is false, then use the normal scrolling method.

If you do it the non lazy way, as described above using the assembly equivalent of an if statement, then you can freely choose
between scrolling and not scrolling by setting a flag in TSC, and then reading that bit from the flagdata using ASM.

However, the "just scroll SUPER fast" way makes it impossible to have 2 options. Therefore, it is not as generalized as using
an if-statement and two cases.
 
Jan 13, 2013 at 9:03 AM
Lvl 1
Forum Moderator
"Life begins and ends with Nu."
Join Date: May 28, 2008
Location: PMMM MMO
Posts: 3712
Age: 29
The correct way would be to disable the scrolling altogether.
If one kind of boolean condition is true, then jump to someplace, and directly render the facepic on top of the message box.
If that boolean is false, then use the normal scrolling method.
What's the point of implementing an unnecessary/unwanted feature? Noxid's hack gave this guy what he wanted, there's no reason to make it switchable.

Noxid's solution is a one line fix, so it's pretty much the best fix for this request.
 
Jan 15, 2013 at 4:35 AM
Professional Whatever
"Life begins and ends with Nu."
Join Date: Jan 13, 2011
Location: Lasagna
Posts: 4489
I guess from an apprentice programmer's view it would make sense, since it helps develop an idea of how the language works and all. Once you get really good at it, it's important to do it the lazy way to avoid confusion and spend less time on fruitless efforts, though.
 
Jan 15, 2013 at 6:06 AM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 31
That is ridiculous. I always add extra features to my assembly hacks so that I can turn those features off and on with flags.

The way you do it is just by reading flagdata from assembly. Or you could use the built-in Cave Story function to read
the flag, but that messes up your registers and it's not very efficient.

If I give the player the power to control said flags, and add a bit of graphics rendering, well that's an options menu!
And I actually do have that options menu in my 2nd mod. See? Extra features that the player can choose from?
Are you sure that's always 100% pointless?

EDIT: If you're NOT an apprentice anymore, then how can you possibly get confused by doing it
the slightly more difficult way? Aren't you supposed to be a freaking genius if you've matured beyond
apprentice programming?
 
Jan 15, 2013 at 6:13 AM
In my body, in my head
Forum Moderator
"Life begins and ends with Nu."
Join Date: Aug 28, 2009
Location: The Purple Zone
Posts: 6000
no.
 
Jan 15, 2013 at 8:23 AM
Lvl 1
Forum Moderator
"Life begins and ends with Nu."
Join Date: May 28, 2008
Location: PMMM MMO
Posts: 3712
Age: 29
EDIT: If you're NOT an apprentice anymore, then how can you possibly get confused by doing it
the slightly more difficult way? Aren't you supposed to be a freaking genius if you've matured beyond
apprentice programming?
Over complicating your code will hurt you more later down the road than it will help you, since it's a quick road to spaghetti code. Keeping it simple is just simply better. Especially when there's no reason to overcomplicate the problem or solution.

Also it's really annoying how you've been using line breaks in your posts recently, and I wish you'd stop.
 
Jan 19, 2013 at 4:39 AM
Been here way too long...
"What're YOU lookin' at?"
Join Date: Jan 21, 2007
Location:
Posts: 1111
I'm going to partially agree with CarrotLord on this. Partially.

In the realm of actual coding, the 'Lazy Way' is never the right way. The "Lazy Way" is something that got the world the game Terraria, in which case every fucking varible in the code was public, and objects used a fuckton of IF statements instead of utilizing switches and for loops correctly, or using parental hiarchies to keep armor from storing a bullet velocity value.

That said, in the realm of hacking code, nobody honestly gives a fuck. If it's something major like making a brand new game out of it, it might help a bit to tidy things up to keep you from tripping over older materials. But if you're adding or changing something singular, rewiring everything is pointless, both to the maker and the audience.

It would be like putting a poppy in your coat for rememberance day. You just put it there. You don't tear out the coat stitching and refurbish the front pocket into an ornate plastic poppy holder. That would be dumb.
 
Top