Quick Modding/Hacking Answers Thread

Jun 13, 2013 at 12:09 AM
The TideWalker
Modding Community Discord Founder
"That dog!"
Join Date: Apr 5, 2013
Location: In my mind and of my body.
Posts: 1642
Age: 27
Noxid said:
use a hex editor
http://lotlot.net/misc/doukutsu/profile.txt
change numbers

or use one of the many save editors on the tribute site
That's what I was looking for, thanks.

I'll download a few saves of the tribute site and tinker around with this "newly acquired" information.

Thanks again. :mahin:

New Question: is it possible to put a larger sprite into a smaller area?

I know it sounds confusing, but I really need this sprite to shrink down into this area, but when I do that it loses it's. . . maybe a picture would better help describe this. . .

sprite_zpsb8e0fcf3.png


The detail (marked in red) NEEDS to be in the shape of a cross, (or else it would completely ruin a major plot point and I would have to go back and to a bunch of art over again to match)

Anyways this sprite needs to fit into a single tile area of X16 byX16 (just the tile with the red mark mind you)


How do I do this. I don't care how hard it is, it just needs to happen.
 
Jun 13, 2013 at 2:16 AM
Based Member
"Life begins and ends with Nu."
Join Date: Dec 31, 2011
Location: United States
Posts: 2326
Age: 28
Pronouns: he/him
Wouldn't this post have been more suitable for the mod art help thread? In any case, I think I understand what you're saying. You want a scaled down version of that red cross? Well um. A discernible cross doesn't get much lower resolution than that, so if you scaled it down, it wouldn't really be possible to make it be a clear plus sign in a 2x2 area of pixels. You'd have to make the version in your picture bigger so that the smaller version on your 16x16 tiles will be able to be recognized as a cross. If that'snot what you meant then sorry for misinterpreting your question.


Anyway, I have my own question.

Either Noxid did a mediocre job of explaining how to add more songs to the game without replacing any, he made some mistakes with it, I'm doing a poor job of understanding it, or a combination thereof. Whatever the case, please clarify, whoever can.

Noxid said:
4981E8 - 49828(C?) is a list of addresses that points to the various names.
So here's what I found when I looked there in the EXE:
CPU Disasm
Address Hex dump Command Comments
004981CF 0000 ADD BYTE PTR DS:[EAX],AL
004981D1 0000 ADD BYTE PTR DS:[EAX],AL
004981D3 0000 ADD BYTE PTR DS:[EAX],AL
004981D5 0000 ADD BYTE PTR DS:[EAX],AL
004981D7 0000 ADD BYTE PTR DS:[EAX],AL
004981D9 0000 ADD BYTE PTR DS:[EAX],AL
004981DB 0000 ADD BYTE PTR DS:[EAX],AL
004981DD 0000 ADD BYTE PTR DS:[EAX],AL
004981DF 0000 ADD BYTE PTR DS:[EAX],AL
004981E1 0000 ADD BYTE PTR DS:[EAX],AL
004981E3 0000 ADD BYTE PTR DS:[EAX],AL
004981E5 0000 ADD BYTE PTR DS:[EAX],AL
004981E7 0038 ADD BYTE PTR DS:[EAX],BH
004981E9 C8 4800 40 ENTER 48,40 //Begin Noxid's list of addresses that supposedly point to the names of the resources
004981ED C8 4800 48 ENTER 48,48
004981F1 C8 4800 50 ENTER 48,50
004981F5 C8 4800 5C ENTER 48,5C
004981F9 C8 4800 64 ENTER 48,64
004981FD C8 4800 6C ENTER 48,6C
00498201 C8 4800 74 ENTER 48,74
00498205 C8 4800 7C ENTER 48,7C
00498209 C8 4800 84 ENTER 48,84
0049820D C8 4800 8C ENTER 48,8C
00498211 C8 4800 98 ENTER 48,98
00498215 C8 4800 A0 ENTER 48,0A0
00498219 C8 4800 AC ENTER 48,0AC
0049821D C8 4800 B4 ENTER 48,0B4
00498221 C8 4800 BC ENTER 48,0BC
00498225 C8 4800 C8 ENTER 48,0C8
00498229 C8 4800 D4 ENTER 48,0D4
0049822D C8 4800 D8 ENTER 48,0D8
00498231 C8 4800 E0 ENTER 48,0E0
00498235 C8 4800 E8 ENTER 48,0E8
00498239 C8 4800 F0 ENTER 48,0F0
0049823D C8 4800 F8 ENTER 48,0F8
00498241 C8 4800 00 ENTER 48,0
00498245 C9 LEAVE
00498246 48 DEC EAX
00498247 0008 ADD BYTE PTR DS:[EAX],CL
00498249 C9 LEAVE
0049824A 48 DEC EAX
0049824B 0010 ADD BYTE PTR DS:[EAX],DL
0049824D C9 LEAVE
0049824E 48 DEC EAX
0049824F 0018 ADD BYTE PTR DS:[EAX],BL
00498251 C9 LEAVE
00498252 48 DEC EAX
00498253 0020 ADD BYTE PTR DS:[EAX],AH
00498255 C9 LEAVE
00498256 48 DEC EAX
00498257 0028 ADD BYTE PTR DS:[EAX],CH
00498259 C9 LEAVE
0049825A 48 DEC EAX
0049825B 0030 ADD BYTE PTR DS:[EAX],DH
0049825D C9 LEAVE
0049825E 48 DEC EAX
0049825F 003CC9 ADD BYTE PTR DS:[ECX*8+ECX],BH
00498262 48 DEC EAX
00498263 0044C9 48 ADD BYTE PTR DS:[ECX*8+ECX+48],AL
00498267 004CC9 48 ADD BYTE PTR DS:[ECX*8+ECX+48],CL
0049826B 0054C9 48 ADD BYTE PTR DS:[ECX*8+ECX+48],DL
0049826F 005CC9 48 ADD BYTE PTR DS:[ECX*8+ECX+48],BL
00498273 0064C9 48 ADD BYTE PTR DS:[ECX*8+ECX+48],AH
00498277 006CC9 48 ADD BYTE PTR DS:[ECX*8+ECX+48],CH
0049827B 0074C9 48 ADD BYTE PTR DS:[ECX*8+ECX+48],DH
0049827F 007CC9 48 ADD BYTE PTR DS:[ECX*8+ECX+48],BH
00498283 0084C9 48008CC9 ADD BYTE PTR DS:[ECX*8+ECX+C98C0048],AL
0049828A 48 DEC EAX //End Noxid's list of addresses that supposedly point to the names of the resources
I'm not familiar with the ENTER command, what does it do? At first I thought the "ENTER x,y"'s pointed to the different songs, but how can that be if there are 23 (and the last one probably doesn't count) lines of that instead of 41 (I thought it should be 41, since that's the number of songs in the game)? And after that, down to where Noxid says it ends, it has some other stuff that appears to be different. How does that point to the resource names? Also, what does the LEAVE command do?

Noxid said:
There's enough room past 4981E8 for a 42 and 43
But beyond that point we see the ENTERs. Are those supposed to be free space? But Noxid just said it was from there to 49828A that points to the names. I'm seeing some free space before 4981E8, but not after. Might he have meant to say before?

Noxid said:
After all that, you use your resource hacker to add the ORG and give it the appropriate name. The machine will find it for you, if you did things the normal way then it will be song 42. (probably)
So I add it in Resource Hacker as a new resource?

Noxid said:
EDIT: On a side note, I don't know what effects actually ADDING the resources (ORGS) themselves will have, or if it's anything more than just inflating the .exe
Oh, so properly using the method you tried to describe above by making those edits in Ollydbg are supposed to make a new resource appear under the list of ORGs in Resource Hacker, and you're supposed to replace it there with your desired song as you would any other?

I'm very confused.
 
Jun 13, 2013 at 2:46 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: 5998
Pronouns: he/him
addresses
That's the key word. You're looking at them as assembly operations, which they aren't. It's data, numbers that point to other places in the memory. The first one being 48C838

Code:
CPU Dump
Address   Hex dump                                         ASCII
004981E8  38 C8 48 00|40 C8 48 00|48 C8 48 00|50 C8 48 00| 8ÈH.@ÈH.HÈH.PÈH.
004981F8  5C C8 48 00|64 C8 48 00|6C C8 48 00|74 C8 48 00| \ÈH.dÈH.lÈH.tÈH.
00498208  7C C8 48 00|84 C8 48 00|8C C8 48 00|98 C8 48 00| |ÈH.ÈH.ÈH.ÈH.
00498218  A0 C8 48 00|AC C8 48 00|B4 C8 48 00|BC C8 48 00|  ÈH.¬ÈH.´ÈH.¼ÈH.
00498228  C8 C8 48 00|D4 C8 48 00|D8 C8 48 00|E0 C8 48 00| ÈÈH.ÔÈH.ØÈH.àÈH.
00498238  E8 C8 48 00|F0 C8 48 00|F8 C8 48 00|00 C9 48 00| èÈH.ðÈH.øÈH..ÉH.
00498248  08 C9 48 00|10 C9 48 00|18 C9 48 00|20 C9 48 00| ÉH.ÉH.ÉH. ÉH.
00498258  28 C9 48 00|30 C9 48 00|3C C9 48 00|44 C9 48 00| (ÉH.0ÉH.<ÉH.DÉH.
00498268  4C C9 48 00|54 C9 48 00|5C C9 48 00|64 C9 48 00| LÉH.TÉH.\ÉH.dÉH.
00498278  6C C9 48 00|74 C9 48 00|7C C9 48 00|84 C9 48 00| lÉH.tÉH.|ÉH.ÉH.
00498288  8C C9 48 00|94 C9 48 00|00 00 00 00|00 00 00 00| ÉH.ÉH.........
Each of these points to a c-formatted string. For example, the first address
CPU Dump
Address Hex dump ASCII
0048C838 58 58 58 58|00 XXXX.

song 0, or XXXX (plays no sound). So you'd need to add a pointer, and then add a string somewhere, then add a song with resource hacker with a resource name the same as the string you point to, and you can use another song.
 
Jun 13, 2013 at 5:08 AM
Based Member
"Life begins and ends with Nu."
Join Date: Dec 31, 2011
Location: United States
Posts: 2326
Age: 28
Pronouns: he/him
Aha, I see now! So I've gotten it to work now... But at a great cost. The text in text boxes becomes invisible after I do this.

I found some free space in the EXE, put the resource name in the hex dump, then added a pointer to the address in the list of pointers. The extra song works, and the only problem I'm experiencing is no text showing up in text boxes. I know that I'm putting the resource name where there's free space, because in the commands it shows up as "DB 00", and shows up as zeroes in the hex dump. I've also redone this numerous times in the past two hours, trying adding it in different places in the EXE, and this happens each time. Do you have any clue what I might be doing wrong?
 
Jun 13, 2013 at 5:15 AM
The TideWalker
Modding Community Discord Founder
"That dog!"
Join Date: Apr 5, 2013
Location: In my mind and of my body.
Posts: 1642
Age: 27
HaydenStudios said:
Wouldn't this post have been more suitable for the mod art help thread? In any case, I think I understand what you're saying. You want a scaled down version of that red cross? Well um. A discernible cross doesn't get much lower resolution than that, so if you scaled it down, it wouldn't really be possible to make it be a clear plus sign in a 2x2 area of pixels. You'd have to make the version in your picture bigger so that the smaller version on your 16x16 tiles will be able to be recognized as a cross. If that'snot what you meant then sorry for misinterpreting your question.
That's what I mean. . . put a larger sprite, into a smaller area. . .

Is that possible?
 
Jun 13, 2013 at 5:43 AM
Based Member
"Life begins and ends with Nu."
Join Date: Dec 31, 2011
Location: United States
Posts: 2326
Age: 28
Pronouns: he/him
You mean sorta like this?

Scaleddown_zps71ea2374.png
 
Jun 13, 2013 at 7:05 AM
Novice Member
"Officially Worth 1 Rupee"
Join Date: Jun 13, 2013
Location:
Posts: 1
Two things: Is there a detailed guide to creating well made cutscenes (I...sorta looked?) and (pls don't hate me) Is there someone who is willing to give their Skype or something so I can assess future issues?

EDIT: After a bit more research I saw something about "animating" and "TSC" in the same sentence, so I'm now gonna look at some TSC tutorials.
 
Jun 13, 2013 at 7:24 AM
Tommy Thunder
Discord Group Admin
Org Discord Moderator
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 24, 2011
Location: New Westminster, BC
Posts: 1368
Age: 28
Pronouns: ㅤ
EchoTheThird said:
Two things: Is there a detailed guide to creating well made cutscenes (I...sorta looked?) and (pls don't hate me) Is there someone who is willing to give their Skype or something so I can assess future issues?
If you're looking to create cutscenes, a TSC guide would be adequate. Creating "well-made" cutscenes... a good idea for a lot of Cave Story modding is seeing how Pixel did it. If Pixel made a super cool complicated cutscene, check the code to see how he did it.

And yeah I don't know good I am at explaining things, but you can add me on Skype if you want. Check my profile for my name.

EDIT: Yes, that would be a good place to start. Still, seeing how Pixel did it can really help you in many cases.
 
Jun 13, 2013 at 9:06 AM
Bonds that separate us
Forum Administrator
"Life begins and ends with Nu."
Join Date: Aug 20, 2006
Location:
Posts: 2859
Age: 34
Pronouns: he/him
I created this thread for help and discussion for things like cutscenes, but it's not a guide as such. Instead of fiddling around with Skype, you could always try checking out our IRC chatroom (#curlybrace on irc.esper.net); otherwise my contact is also on my profile. Note that while I have a lot of experience with TSC, I will not be able to fix your ASMs.
 
Jun 13, 2013 at 3:49 PM
The TideWalker
Modding Community Discord Founder
"That dog!"
Join Date: Apr 5, 2013
Location: In my mind and of my body.
Posts: 1642
Age: 27
Dunc2403 said:
No Hayden, what he wants is for his 32x32 sprite (I think) to fit into a 16x16 space. He wants it to be double-res for that one thing.
Correct.

Can that be done? (even if I make it into an entity?)


Please say yes, please say yes.
 
Jun 13, 2013 at 4:31 PM
Lvl 1
Forum Moderator
"Life begins and ends with Nu."
Join Date: May 28, 2008
Location: PMMM MMO
Posts: 3713
Age: 32
Bombchu Link said:
Correct.

Can that be done? (even if I make it into an entity?)


Please say yes, please say yes.
No. You'd have to make the whole game double res.
 
Jun 13, 2013 at 5:50 PM
The TideWalker
Modding Community Discord Founder
"That dog!"
Join Date: Apr 5, 2013
Location: In my mind and of my body.
Posts: 1642
Age: 27
GIRakaCHEEZER said:
No. You'd have to make the whole game double res.
Great idea fox GIR!

How do I do that?

I KNOW that you know how, SPILL IT!
 
Jun 13, 2013 at 5:52 PM
In my body, in my head
Forum Moderator
"Life begins and ends with Nu."
Join Date: Aug 28, 2009
Location: The Purple Zone
Posts: 5998
Pronouns: he/him
It's not going to happen.
 
Jun 13, 2013 at 6:53 PM
In my body, in my head
Forum Moderator
"Life begins and ends with Nu."
Join Date: Aug 28, 2009
Location: The Purple Zone
Posts: 5998
Pronouns: he/him
Uh, there's no such thing as a camera zoom level?
 
Jun 13, 2013 at 7:26 PM
The TideWalker
Modding Community Discord Founder
"That dog!"
Join Date: Apr 5, 2013
Location: In my mind and of my body.
Posts: 1642
Age: 27
Noxid said:
Uh, there's no such thing as a camera zoom level?
So I can't make everything appear further away?

ie see more of the map on the screen?

or zoom in on Quote?

it *should* be between 40EE70 and 40F011

What PUSH should be changed?
 
Jun 13, 2013 at 7:47 PM
In my body, in my head
Forum Moderator
"Life begins and ends with Nu."
Join Date: Aug 28, 2009
Location: The Purple Zone
Posts: 5998
Pronouns: he/him
Uh, no?
That never happens in Cave Story, and I have no idea where you got that idea from. The most you can do is change the speed at which it moves, and that's a TSC command.
 
Jun 13, 2013 at 7:49 PM
The TideWalker
Modding Community Discord Founder
"That dog!"
Join Date: Apr 5, 2013
Location: In my mind and of my body.
Posts: 1642
Age: 27
Noxid said:
Uh, no?
That never happens in Cave Story, and I have no idea where you got that idea from. The most you can do is change the speed at which it moves, and that's a TSC command.
how hard would it be to program a "zoom feature?'
 
Jun 13, 2013 at 7:53 PM
In my body, in my head
Forum Moderator
"Life begins and ends with Nu."
Join Date: Aug 28, 2009
Location: The Purple Zone
Posts: 5998
Pronouns: he/him
You'd be better off writing a whole new engine.
 
Back
Top