Quick Modding/Hacking Answers Thread

Oct 15, 2012 at 2:50 AM
Neophyte Member
"Fresh from the Bakery"
Join Date: Oct 8, 2012
Location:
Posts: 5
Pronouns: he/him
That is wrong. 0.99d should be the newest version. Actually, there are 1.00 versions, but only Noxid dollars will get you them.
The most stable is 0.98. Other editors should work too.

Who is Noxid dollars? I'm still new here, how do i get ahold of these editors?
 
Oct 15, 2012 at 3:04 AM
http://imgur.com/EuvCtsQ
"In Soviet Russia, graves keep YOU!"
Join Date: May 2, 2010
Location: beverly hills is where i WANT to be
Posts: 743
Age: 30
Pronouns: he/him
http://www.cavestory.org/forums/threads/611/
this is the thread for caveeditor, it's the one you should probably use

http://www.cavestory.org/forums/threads/3865/
this editor is more of a work in progress. it's noxid dollars'
 
Oct 15, 2012 at 7:23 AM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 34
Pronouns: he/him
Noxid dollars are special points that you get by complementing Noxid, a moderator on this forum. You can comment on his art or post on his blog. Downloading his mod also works. Enough dollars will get you special favors with Noxid, such as being able to tempban people you don't like, and getting free swag signed by Daisuke Amaya - Studio Pixel.
 
Oct 15, 2012 at 6:40 PM
Been here way too long...
"What're YOU lookin' at?"
Join Date: Oct 17, 2011
Location: probably somewhere else
Posts: 1104
Age: 27
Pronouns: none
Is it possible to make an NPC die only when using a specific bullet? If yes, how to do that?
 
Oct 15, 2012 at 6:50 PM
Lvl 1
Forum Moderator
"Life begins and ends with Nu."
Join Date: May 28, 2008
Location: PMMM MMO
Posts: 3713
Age: 32
Is it possible to make an NPC die only when using a specific bullet? If yes, how to do that?

It might be since certain enemies are immune to the missiles and/or the blade (like ma pignon). Good luck figuring out how to do it though.
 
Oct 15, 2012 at 6:56 PM
Been here way too long...
"What're YOU lookin' at?"
Join Date: Oct 17, 2011
Location: probably somewhere else
Posts: 1104
Age: 27
Pronouns: none
Oh, thanks for that info. I'll try it.
 
Oct 15, 2012 at 10:08 PM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 34
Pronouns: he/him
Try scanning through the active NPC table. Your bullet should delete itself (also use the invincibility diamond sound + animation) whenever it gets close to an enemy that is invincible to that bullet. The table is somewhere in ram and contains 0x200 NPC slots, a total waste of space because most slots are not used. Moreover, this explains why there is a limit to the number of NPCs.
Probably, Pixel declared a global array of NPCs. Or NPC structs, that is. He should have used the heap, tsk tsk...
 
Oct 16, 2012 at 3:42 AM
Neophyte Member
"Fresh from the Bakery"
Join Date: Oct 8, 2012
Location:
Posts: 5
Pronouns: he/him
Thank you sexplosive I was able to find something marked old cave editor, hopefully it will work for me.
 
Oct 23, 2012 at 5:10 PM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 34
Pronouns: he/him
Can any assembly guru tell me why this particular jump in the TSC parser is not working?

Code:
Address Command
424EAF	 JMP 468984 <-- This jump never happens, even though it is in the middle of the TSC parser.

Address Command
468984	 MOV EAX, DWORD PTR DS:[4A5AD8]
468989	 ADD EAX, DWORD PTR DS:[4A5AE0]
46898F	 CMP DWORD PTR DS:[EAX], 646E6572
468995	 JNE 4689BB
468997	 ADD EAX, 7
46899A	 MOVZX ECX, BYTE PTR DS:[EAX]
46899D	 PUSH 4
46899F	 PUSH DWORD PTR DS:[ECX*4 + 49DDA0]
4689A6	 PUSH 32
4689A8	 PUSH 32
4689AA	 CALL 40F380	 ; Render numbers
4689AF	 ADD ESP, 10
 
Oct 23, 2012 at 5: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
There's no reason it shouldn't as far as I can tell. Have you tried stepping through? What happens?
 
Oct 23, 2012 at 5:33 PM
Lvl 1
Forum Moderator
"Life begins and ends with Nu."
Join Date: May 28, 2008
Location: PMMM MMO
Posts: 3713
Age: 32
The only reason a jump would not execute would be for the jump to never be reached. So make sure that the code is reaching that jump.
 
Oct 23, 2012 at 5:38 PM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 34
Pronouns: he/him
This is my plan:

- Give TSC some more options and a little bit different syntax
- All old TSC commands can still be used
- From the TSC parser, jump to the ceiling fan / transmogrifier code (rarely used entities in mods)
- Write new code there.
- Return to the parser.

Yeah. I guess I'll step through to see why it's mucking things up.
 
Oct 27, 2012 at 7:54 AM
Professional Whatever
"Life begins and ends with Nu."
Join Date: Jan 13, 2011
Location: Lasagna
Posts: 4481
Pronouns: she/her
Back here again
So I'm trying to make a custom loading screen. Why I don't know but that's beside the point. I've managed to get the framerects under control, but the loading image appears in a weird way. Like it's placed in the middle of the screen or something.
Here's a screenie:
p199570-0-nhsbr.png

It's really quite odd, and I'd like to find out how to move it to the upper-left.
 
Oct 27, 2012 at 2:04 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
change the arguments to 40C3C0 ???
 
Oct 27, 2012 at 3:00 PM
Professional Whatever
"Life begins and ends with Nu."
Join Date: Jan 13, 2011
Location: Lasagna
Posts: 4481
Pronouns: she/her
I'm not sure what to change. I'm assuming you mean change PUSH Y and PUSH X for one of the calls to 40C3C0, but how do I know which call to modify?
 
Oct 27, 2012 at 3:08 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
modify the call that pushes 0F for the gfx ID, of course
 
Oct 27, 2012 at 5:07 PM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 34
Pronouns: he/him
Basically, make sure you render using the global framerect, not the half-rect used for some things.

And, also render at (0, 0), which is the top left corner of the screen. This is not math, so regular graphing rules don't apply.
 
Oct 27, 2012 at 5:12 PM
Professional Whatever
"Life begins and ends with Nu."
Join Date: Jan 13, 2011
Location: Lasagna
Posts: 4481
Pronouns: she/her
I understood that part, I just forgot that I needed to change the render arguments and that the framerects weren't related to where it's placed onscreen.
Also I'm not sure what you mean by half-rect and global rect.
But thanks guys, it's working now.
 
Oct 28, 2012 at 6:26 AM
Professional Whatever
"Life begins and ends with Nu."
Join Date: Jan 13, 2011
Location: Lasagna
Posts: 4481
Pronouns: she/her
Fine I'll ask for more help god

p199576-0-qaz6l.png


Here's my PC for my game. I've removed the exp bar and made "Lv" say "Level" instead, but it seems the weapon's level number insists on rendering on top of it. I've fished through a lot of the code and I still can't find where that number renders. Basically I want to add some pixels to the second argument to CALL 40C3C0 for the weapon level number, but I can't find that call. If that didn't make sense then sorry about that. Can anyone help?

Also sorry for asking so many questions the last few days
 
Oct 28, 2012 at 7:46 AM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 34
Pronouns: he/him
Code:
CALL 40F380
00499bc8 WeaponData[0x00].ID +00 0x14 in size.
00499bcb WeaponData[0x00].ShotID +04
00499bcc WeaponData[0x00].Level +08
00499bd0 WeaponData[0x00].Energy +0c
00499bd4 WeaponData[0x00].MaxAmmo +10
00499bd8 WeaponData[0x00].Ammo +14

Find all call 40F380 instructions and figure out where the level is being read. Then change the X and Y position for that number rendering call.
 
Back
Top