Quick Modding/Hacking Answers Thread

Jul 4, 2013 at 3:46 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:
Uhhh, I'm pretty sure from what I remember of the hack that the right side of the tile types just mirrors the behaviour of the original ones, but is animated. Did you set it to the right type?

I'm pretty sure KSS used a slope-water animated tile.


Oh, it does. (sorry for the N00b mistake)



I was just not using common sense.



EDIT- and I was just glancing throught your open source. What is TSC+? and will it mess with my <FAC(2) modifcations?
 
Jul 4, 2013 at 4:26 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
TSC+ is a complete rewrite of the TSC engine to be more efficient and compact
so if you had any custom TSC commands it would overwrite them and you'd need to rewrite it.
 
Jul 9, 2013 at 5:25 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

Ok, So I went and made a TSC command. It makes the text color changable like this



<TXC0001 = change text color to color "1"



Here's what I've got


offset 004937F4
CPU Disasm
Address Hex dump Command Comments
004937F4 \8B0D D85A4A00 MOV ECX,DWORD PTR DS:[4A5AD8]
004937FA 030D E05A4A00 ADD ECX,DWORD PTR DS:[4A5AE0]
00493800 8079 01 54 CMP BYTE PTR DS:[ECX+1],54 ;T
00493804 ^ 0F85 2917F9FF JNE 00424F33 : if not T, go to next command.
0049380A 8079 02 58 CMP BYTE PTR DS:[ECX+2],58 ;X
0049380E ^ 0F85 1F17F9FF JNE 00424F33
00493814 8079 03 43 CMP BYTE PTR DS:[ECX+3],43 ;C
00493818 ^ 0F85 1517F9FF JNE 00424F33
0049381E 8B15 E05A4A00 MOV EDX,DWORD PTR DS:[4A5AE0]
00493824 83C2 04 ADD EDX,4
00493827 52 PUSH EDX :set script and such
00493828 E8 D3E0F8FF CALL 00421900
0049382D 83C4 04 ADD ESP,4
00493830 83F8 01 CMP EAX,1 ;see if argument is 1
00493833 74 11 JE SHORT 00493846
00493835 83F8 02 CMP EAX,2 ;see if argument is 2
00493838 74 18 JE SHORT 00493852
0049383A 83F8 03 CMP EAX,3 ;see if argument is 3
0049383D 74 1F JE SHORT 0049385E
0049383F 83F8 04 CMP EAX,4 ;see if argument is 4
00493842 74 26 JE SHORT 0049386A
00493844 EB 3C JMP SHORT 00493882 ;if not, unconditional jump
00493846 C705 AD534200 F MOV DWORD PTR DS:[4253AD],00FFFFFF argument is 1, store 00FFFFFF to the text color address
00493850 EB 3A JMP SHORT 0049388C
00493852 C705 AD534200 F MOV DWORD PTR DS:[4253AD],00FAEEFF argument is 2, store 00FAEEFF to the text color address
0049385C EB 2E JMP SHORT 0049388C
0049385E C705 AD534200 E MOV DWORD PTR DS:[4253AD],00FAEFEF argument is 3. . .
00493868 EB 22 JMP SHORT 0049388C
0049386A C705 AD534200 F MOV DWORD PTR DS:[4253AD],00FA33FF argument is 4. . .
00493874 EB 16 JMP SHORT 0049388C
00493876 C705 AD534200 F MOV DWORD PTR DS:[4253AD],00FEFFFF argument is none of them. . .
00493880 EB 0A JMP SHORT 0049388C
00493882 C705 6CE64900 F MOV DWORD PTR DS:[49E66C],00FFEEFF
0049388C C705 E05A4A00 0 MOV DWORD PTR DS:[4A5AE0],8
00493896 83C2 08 ADD EDX,8 <TXC commant is 8 digets. . . store to EDX
00493899 8915 E05A4A00 MOV DWORD PTR DS:[4A5AE0],EDX store script stuff. . .
0049389F ^ E9 031AF9FF JMP 004252A7 return to beginning of the parser.


Whenever I try it the message box appears, but the game crashes when the text is suppose to appear.




Oh come on guys! I've been working on this for 3 days!

Can I PLEASE HAVE SOME HELP?!?!?

THIS IS DRIVING ME CRAZY!!!
 
Jul 9, 2013 at 8:52 AM
Lvl 1
Forum Moderator
"Life begins and ends with Nu."
Join Date: May 28, 2008
Location: PMMM MMO
Posts: 3713
Age: 32
Does it work if you don't invoke the command to change text color?

Also oh sweet jesus, what the fuck are you doing in this line:

00493896 83C2 08 ADD EDX,8 <TXC commant is 8 digets. . . store to EDX
00493899 8915 E05A4A00 MOV DWORD PTR DS:[4A5AE0],EDX store script stuff. . .
When you called the function to read the number, who KNOWS what EDX got set to. And why are you moving 8 to the script position pointer before you even increment it by 8??????
 
Jul 9, 2013 at 3:39 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:
Does it work if you don't invoke the command to change text color?

Also oh sweet candy, what the heck are you doing in this line:


When you called the function to read the number, who KNOWS what EDX got set to. And why are you moving 8 to the script position pointer before you even increment it by 8??????


I know that the code won't run w/out changing the color.



You guys were suppose to tell me that I'm a jerk and point out my obvious mistake.




CPU Disasm
Address Hex dump Command Comments
004937F4 \8B0D D85A4A00 MOV ECX,DWORD PTR DS:[4A5AD8]
004937FA 030D E05A4A00 ADD ECX,DWORD PTR DS:[4A5AE0]
00493800 8079 01 54 CMP BYTE PTR DS:[ECX+1],54
00493804 ^ 0F85 2917F9FF JNE 00424F33
0049380A 8079 02 58 CMP BYTE PTR DS:[ECX+2],58
0049380E ^ 0F85 1F17F9FF JNE 00424F33
00493814 8079 03 43 CMP BYTE PTR DS:[ECX+3],43
00493818 ^ 0F85 1517F9FF JNE 00424F33
0049381E 8B15 E05A4A00 MOV EDX,DWORD PTR DS:[4A5AE0]
00493824 83C2 04 ADD EDX,4
00493827 52 PUSH EDX
00493828 E8 D3E0F8FF CALL 00421900
0049382D 83C4 04 ADD ESP,4
00493830 83F8 01 CMP EAX,1
00493833 74 11 JE SHORT 00493846
00493835 83F8 02 CMP EAX,2
00493838 74 18 JE SHORT 00493852
0049383A 83F8 03 CMP EAX,3
0049383D 74 1F JE SHORT 0049385E
0049383F 83F8 04 CMP EAX,4
00493842 74 26 JE SHORT 0049386A
00493844 EB 3C JMP SHORT 00493882
00493846 C705 AD534200 F MOV DWORD PTR DS:[4253AD],0FFFFFF
00493850 EB 3A JMP SHORT 0049388C
00493852 C705 AD534200 F MOV DWORD PTR DS:[4253AD],0FAEEFF
0049385C EB 2E JMP SHORT 0049388C
0049385E C705 AD534200 E MOV DWORD PTR DS:[4253AD],0FAEFEF
00493868 EB 22 JMP SHORT 0049388C
0049386A C705 AD534200 F MOV DWORD PTR DS:[4253AD],0FA33FF
00493874 EB 16 JMP SHORT 0049388C
00493876 C705 AD534200 F MOV DWORD PTR DS:[4253AD],0FEFFFF
00493880 EB 0A JMP SHORT 0049388C
00493882 C705 6CE64900 F MOV DWORD PTR DS:[49E66C],0FFEEFF
0049388C 8B15 E05A4A00 MOV EDX,DWORD PTR DS:[4A5AE0]
00493892 83C2 08 ADD EDX,8
00493895 8915 E05A4A00 MOV DWORD PTR DS:[4A5AE0],EDX
0049389B ^ E9 071AF9FF JMP 004252A7


For some reason I can't seem to grasp how to fix the stack properly. . . -_-



EDIT-



and by the way. . .


00493867 ADD DWORD PTR DS:[4A5AE0],0D ;add 0D (hex) = 13 (dec) to Script Position, since

<BBPXXXX:YYYY is 13 chars long


does this mean anything?


 
Jul 10, 2013 at 1:53 AM
Junior Member
"Wahoo! Upgrade!"
Join Date: Jan 5, 2013
Location:
Posts: 45
Age: 30
Pronouns: he/him
I have a few questions, I did a bit of digging around and didn't find any answers so i'll ask them here,

1A: Is remaking Wind fortress from scratch (minus the new enemies) illegal? I keep finding conflicting answers for it.

1B: If it is illegal is it possible to create a re-imagining of Wind fortress? and If so, am I allowed to use the music?

2: Is it possible to create an item that can change the sprite of Quote to a new sprite? And if so, would I have to
replace an item or is it possible to create a new one from scratch?

That's all the questions I can think of right now, thanks for at least going over them.
 
Jul 10, 2013 at 2:07 AM
Based Member
"Life begins and ends with Nu."
Join Date: Dec 31, 2011
Location: United States
Posts: 2326
Age: 28
Pronouns: he/him
Wilfre said:
1A: Is remaking Wind fortress from scratch (minus the new enemies) illegal? I keep finding conflicting answers for it.
Unlike all the levels in the original Cave Story, Wind Fortress first appeared in Cave Story+, which was a release by NICALiS that has to be paid for with money. In which case, I believe the duplicating it would be illegal. If you were to change it up with a similar idea, it'd probably be fine, but I'd advise against making it too similar. Also, if you were to make your own sprites and code your own enemies in assembly, it would probably be fine if you had enemies nearly identical to those in regular Wind Fortress, since you made them yourself.

Wilfre said:
...am I allowed to use the music?
Yes. The song Wind Fortress was made by Pixel himself a while before he was ever affiliated with NICALiS, and is thus is free to be used like the rest of the original soundtrack. There are even a few mods here that already use it.

Wilfre said:
2: Is it possible to create an item that can change the sprite of Quote to a new sprite?
Yes. The TSC command for changing his sprite would be <EQ+0064 to make him use the Mimiga mask images, and <EQ-0064 to change it back. Incorporate this in what ever way you will in the item script.

Wilfre said:
...would I have to replace an item or is it possible to create a new one from scratch?
I once tried to add an item to the ItemImage, and it didn't work for me, but another person told me it worked for him, so I can't answer that. I would be surprised if you didn't need to keep all without replacing any, though.
 
Jul 10, 2013 at 2:24 AM
Professional Whatever
"Life begins and ends with Nu."
Join Date: Jan 13, 2011
Location: Lasagna
Posts: 4481
Pronouns: she/her
I thought it was only replicating double res sprites / maps, but recreating a pc version in single res would be fine
You sir are confusitizing me
 
Jul 10, 2013 at 2: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
Jul 10, 2013 at 2:50 AM
Junior Member
"Wahoo! Upgrade!"
Join Date: Jan 5, 2013
Location:
Posts: 45
Age: 30
Pronouns: he/him
Thank you for responding.

HaydenStudios said:
Yes. The TSC command for changing his sprite would be <EQ+0064 to make him use the Mimiga mask images, and <EQ-0064 to change it back. Incorporate this in what ever way you will in the item script.
But, I looked around the TSC takeing bits of information but, does it have to be only the Mimiga mask images?
I plan on adding a few items to change how Quote looks, I'm adding these items as a reward for completing a side dungeon.
Is there a way to use more sprites, and if so how would I use the TSC command <EQ+/<EQ- to do it?

Example
In cave story 3D in one of the side dunegeons that were added in, you can get a hat, in which you were
able to equip said hat, is there a way to do something like this?

Sorry if this is a bit long for a single question.
 
Jul 10, 2013 at 3: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
Wilfre said:
But, I looked around the TSC takeing bits of information but, does it have to be only the Mimiga mask images?
With assembly, certainly not. Without assembly, the answer is both yes and no. Yes, in that having 64 unequipped mandatorily draws the upper images of the MyChar image for the player sprite, and that the only alternative is to have 64 equipped in which case the lower half of MyChar will correspond to the character. But also no, in that you would be able to edit the MyChar image in order to make your own images of Quote wearing a different hat.

Wilfre said:
Is there a way to use more sprites, and if so how would I use the TSC command <EQ+/<EQ- to do it?
More than just two sprite sets? That would require assembly. If you just want two, refer to my reply a few posts above.
 
Jul 11, 2013 at 5:49 PM
plant girl
"..."
Join Date: Jun 2, 2011
Location: ancient history
Posts: 397
Age: 26
Pronouns: she/her
HaydenStudios said:
More than just two sprite sets? That would require assembly. If you just want two, refer to my reply a few posts above.
Lace made this a while back that does just this.
http://www.cavestory.org/forums/threads/3159/
(Since it is just out here on the forums, we can use it as long as we credit, correct?)
 
Jul 11, 2013 at 7:02 PM
Based Member
"Life begins and ends with Nu."
Join Date: Dec 31, 2011
Location: United States
Posts: 2326
Age: 28
Pronouns: he/him
Pigaro said:
(Since it is just out here on the forums, we can use it as long as we credit, correct?)
Yes, I believe that is correct.
 
Jul 13, 2013 at 2:48 AM
Junior Member
"Wahoo! Upgrade!"
Join Date: Jan 5, 2013
Location:
Posts: 45
Age: 30
Pronouns: he/him
Sorry if this question seems noobish, but I resprited the debug cat so it can take the roll of a new NPC for a sort of a Side Quest. How do I make it so it can teleport in a room during a cut-scene then teleport out later on in the cut scene? I can't edit any other sprites because the mod keeps the main story intact,
and I can't get into assembly no matter what guide I use. I'm not sure if this was answered before because i'm blind as all hell, so sorry if it has.
 
Jul 13, 2013 at 5:11 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 the effect where each row of pixels gradually disappears? That is done with an <ANP command, which requires that NPC to have that animation programmed into it, which the debug cat does not have.
 
Jul 13, 2013 at 6:04 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
Wilfre said:
Sorry if this question seems noobish, but I resprited the debug cat so it can take the roll of a new NPC for a sort of a Side Quest. How do I make it so it can teleport in a room during a cut-scene then teleport out later on in the cut scene? I can't edit any other sprites because the mod keeps the main story intact,
and I can't get into assembly no matter what guide I use. I'm not sure if this was answered before because i'm blind as all hell, so sorry if it has.
umm, hayden I think he means teleported as in getting teleported out by a teleporter, or by misery

and yeah, that would require assembly.

if you were to do it, you would need a JMP command at the address of the debug cat to offset 4937F4 and then put your code there.


and speaking of. . . I need an entity almost identical to what you want. (I just don't have the ability to code it)

so I hope that helps.

sorry :/
 
Jul 13, 2013 at 6:50 AM
Professional Whatever
"Life begins and ends with Nu."
Join Date: Jan 13, 2011
Location: Lasagna
Posts: 4481
Pronouns: she/her
Bombchu Link said:
umm, hayden I think he means teleported as in getting teleported out by a teleporter, or by misery
That is exactly what he said
what even
 
Jul 13, 2013 at 3:06 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
Ok. . .I'm having MAJOR issues with my executable.

every time I swap weapons, the game crashes.

what can/should I do?

all that I have edited with asm is:

title screen
colon_1 NPC
colon_2 NPC (crashes game cause colon_1 code runs into it)
colon_attack NPC
curly_boss NPC
and some random PUSHing at certain addresses.

I know the last one sounds fishy, but It's not the problem, I tested it on an earlier build of the executable.
 
Jul 13, 2013 at 4:39 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
Jul 13, 2013 at 7:47 PM
Professional Whatever
"Life begins and ends with Nu."
Join Date: Jan 13, 2011
Location: Lasagna
Posts: 4481
Pronouns: she/her
You did make a backup, right?
 
Back
Top