Free hacks!

Aug 31, 2009 at 3:49 AM
Lvl 1
Forum Moderator
"Life begins and ends with Nu."
Join Date: May 28, 2008
Location: PMMM MMO
Posts: 3713
Age: 32
Noxid said:
I know absolutely nothing about assembly, but these look pretty straightforward and with good directions. I will have to give it a try :(

I have a question however; Is it possible to use "assembly hacking" to modify the characteristics of npc's as well? More specifically, I'm interested in whether or not you can remove the "bounce" from the XP triangles. Looking at what you have for the fireball, I figure it wouldn't be impossible, so long as you knew where the data was stored. My guess is that finding that would be the hard part...

That is very, very possible. All the pointers for npc assembly codes can be found here http://cavestory-stuff.org/Info/NPCPointer.txt. Dooey has quite a bit of experience with the code in CS, so he should be able to remove the "bounce" from the triangles no problem. I'd recommend that you learn how to, but learning assembly is not that easy of a task (IMO).
 
Aug 31, 2009 at 4:07 AM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Jan 4, 2008
Location: Lingerie, but also, like, fancy curtains
Posts: 3054
eh, you can change everything about the game with assembly.
so yes, doozles can do that for you.

also, assembly hacking has no quotes around it, that's like saying "c++" or "python"
 
Aug 31, 2009 at 4:43 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
Hmm...

I've just spend the last hour poking around the different assembly hacking resource threads you have around here, and it just blows my sweet little mind out of the water.

I want to try and work some of this into my mod, and not just by copypastin', but that will take a lot of learning.

Thus I propose this challenge unto myself: I will use the multitudes of information available in these forums to try and remove the bounce by myself. I give myself 48 hours complete this task.

(but now is time for sleep...)

Writing it down gives me +4 motivation!
Announcing it gives me +7 motivation!
(I think I will need all I can get)
 
Aug 31, 2009 at 4:50 AM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Jan 4, 2008
Location: Lingerie, but also, like, fancy curtains
Posts: 3054
Omygozzers!!!

fuck man, 48 hours?!?!?!?
it took me a week to come to grasps with assembly, I've been working with it for a year, and I'm still not even nearly as close to dooey and rune and cookie and sshigsi and sp in terms of understanding it. good luck man, take my +10 motivation, you'll need as much as you can get.

(I am self taught(sorta), admittedly, which makes it a whole lot harder to learn, but still...)

:(
 
Aug 31, 2009 at 4:50 AM
Lvl 1
Forum Moderator
"Life begins and ends with Nu."
Join Date: May 28, 2008
Location: PMMM MMO
Posts: 3713
Age: 32
Good luck! It will be hard.
Good luck gives you +4 motivation

[Edit]: I know what you mean lace...
And from the looks of things all assembly hacking would be near impossible if Rune Lancer didn't discover so much and record his discoveries. He's my hero :(.

[Edit2]: On an offtopic note, I'm working on a REALLY BIG assembly hack. More information will come once I'm done it.
 
Aug 31, 2009 at 4:51 AM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Jan 4, 2008
Location: Lingerie, but also, like, fancy curtains
Posts: 3054
stupid ego.

on that note, did you check out any of my asm resources or just other people's? I do try to be as egotistical as possible, and this sure would help. =P

oh, hi gir. this was meant to be a double post.
you ruined it man, ruined it.

woah, edits ftw.
yeh, rune's my hero too, mostly because he gave me some of his notes which made it possible for me to learn assembly, but also cuz he made me want to learn assembly.

also, epic bump making someone new learn assembly? I'm honored.
quite.

[edit9] it better be a dang awesome project gir, I'd expect no less of you. (release it in a while tho, if you ever do, cuz revoclabbles is gunna screw up my work schedule as is)

[and1] woo, 25 motivation ftw, what's that out of? 10?

[naga] maybe you half half the posts i do cuz you edit and i dubblepost. whatchathink bout dat teery gir?

[waga] no, I spam, you don't that's the difference.

[ding-dong] lol, this is fun. I should edit-spam more often. ^^

[hmm] and now for the annual midnight summer reading! woooooooooooooooooooooooooooooooooooooo.... ooo. oo.
aw.
 
Aug 31, 2009 at 5:32 AM
Been here way too long...
"Ha! Ha! Ha! Mega Man is no match for my Mimiga Man!"
Join Date: Jun 22, 2008
Location:
Posts: 251
VoidMage_Lowell said:
Actually, I forgot about this ^.^; {I've subscribed to remember next time}
I have plans on using this after I finish the first part of another mod, things are just going slowly...
Though, remember the weapon I asked you about a few months ago? I still plan on making it, which means I'll most likely need your expertise :(;
Thanks again for this.

I'm starting university in a week, so if you have any questions, ask them now!

As I have said a couple of times before, I like helping people, but only when my help results in a mod that is released to the community. So before I help anyone with assembly hacking, I want to see that the assembly hacking is the only thing preventing the mod from being released. It annoys me when I help someone and then they disappear.

Although, in a week I may not have the time anyway. I also want to hopefully release a demo of my mod before then, although it may be pretty short.
 
Aug 31, 2009 at 10: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
I think I'm finally starting to understand how to read this stuff... Quick question though, I see that many of the instructions that have two operands usually use the [] square brackets to point to a register such as EAX,(that means that it is referring to the value stored at the register, and not the value of the register like 0x04265B0?)

And, when it uses those square brackets (I think it was called a pointer in the advanced hacking faq, but I could have misread the terminology), It has a number of extra commands or arguments or modifiers or something that I don't really know the meaning of. Because they show up in almost every line, I figure it must be important or something.

To get to my point, I am referring to

DWORD PTR SS:
DWORD PTR DS:

What do they mean? and should I be afraid?

EDIT: Also, as a side note, I found the number that I can modify to dampen or eliminate the bounce effect (sheer trial and error though). Now if I can just find the bits that call the annoying "ting" sound, I'd be set. but that's not what this is (directly) about.
 
Aug 31, 2009 at 11:09 PM
Been here way too long...
"Ha! Ha! Ha! Mega Man is no match for my Mimiga Man!"
Join Date: Jun 22, 2008
Location:
Posts: 251
DWORD = using 4 bytes of data
PTR = using a pointer
SS = one type of accessing method, the other type is DS

You don't really need to worry about these usually, although if OllyDebug ever asks "please specify operand size" just use DWORD
 
Aug 31, 2009 at 11:10 PM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Jan 4, 2008
Location: Lingerie, but also, like, fancy curtains
Posts: 3054
the ptr ds and ss, I've only ever seen when using olly, which freaks me out. the word declares how much to move. and you'r right about pointers.
kay, dooey beat me to it. but the same thing holds true.

alsoo
Code:
ID 0x01 [1 channel(s)]: 0x00907b0
ID 0x02 [1 channel(s)]: 0x00909e0
ID 0x03 [1 channel(s)]: 0x00934c0
ID 0x04 [1 channel(s)]: 0x0090890
ID 0x05 [1 channel(s)]: 0x0090660
ID 0x06 [1 channel(s)]: 0x0093530
ID 0x07 [1 channel(s)]: 0x00935a0
ID 0x0b [1 channel(s)]: 0x0090740
ID 0x0c [2 channel(s)]: 0x0090c80
ID 0x0e [1 channel(s)]: 0x0090a50
ID 0x0f [1 channel(s)]: 0x008fbe0
ID 0x10 [2 channel(s)]: 0x0090350
ID 0x11 [3 channel(s)]: 0x0090430
ID 0x12 [1 channel(s)]: 0x0090820
ID 0x14 [2 channel(s)]: 0x0090900
ID 0x15 [1 channel(s)]: 0x0090c10
ID 0x16 [1 channel(s)]: 0x00906d0
ID 0x17 [1 channel(s)]: 0x008fcc0
ID 0x18 [1 channel(s)]: 0x008fc50
ID 0x19 [2 channel(s)]: 0x0090d60
ID 0x1a [2 channel(s)]: 0x0090b30
ID 0x1b [1 channel(s)]: 0x0090e40
ID 0x1c [2 channel(s)]: 0x00910e0
ID 0x1d [1 channel(s)]: 0x00911c0
ID 0x1e [1 channel(s)]: 0x0091ee0
ID 0x1f [1 channel(s)]: 0x0091310
ID 0x20 [2 channel(s)]: 0x008f940
ID 0x21 [2 channel(s)]: 0x008fa20
ID 0x22 [2 channel(s)]: 0x008fb00
ID 0x23 [3 channel(s)]: 0x0090eb0
ID 0x25 [2 channel(s)]: 0x0092810
ID 0x26 [2 channel(s)]: 0x0091230
ID 0x27 [3 channel(s)]: 0x0091000
ID 0x28 [2 channel(s)]: 0x0092730
ID 0x29 [2 channel(s)]: 0x0092730
ID 0x2a [1 channel(s)]: 0x0091380
ID 0x2b [1 channel(s)]: 0x00913f0
ID 0x2c [3 channel(s)]: 0x0091460
ID 0x2d [1 channel(s)]: 0x00915b0
ID 0x2e [1 channel(s)]: 0x0091620
ID 0x2f [1 channel(s)]: 0x0091700
ID 0x30 [1 channel(s)]: 0x0091770
ID 0x31 [2 channel(s)]: 0x00917e0
ID 0x32 [2 channel(s)]: 0x008fd30
ID 0x33 [2 channel(s)]: 0x008fe10
ID 0x34 [2 channel(s)]: 0x008fef0
ID 0x35 [2 channel(s)]: 0x0090580
ID 0x36 [2 channel(s)]: 0x0091a80
ID 0x37 [2 channel(s)]: 0x0092ea0
ID 0x38 [2 channel(s)]: 0x0092650
ID 0x39 [2 channel(s)]: 0x00928f0
ID 0x3a [2 channel(s)]: 0x0092dc0
ID 0x3b [1 channel(s)]: 0x0093060
ID 0x3c [1 channel(s)]: 0x00930d0
ID 0x3d [1 channel(s)]: 0x0093140
ID 0x3e [2 channel(s)]: 0x00931b0
ID 0x3f [2 channel(s)]: 0x0093290
ID 0x40 [2 channel(s)]: 0x0093370
ID 0x41 [1 channel(s)]: 0x0093450
ID 0x46 [2 channel(s)]: 0x008ffd0
ID 0x47 [2 channel(s)]: 0x00900b0
ID 0x48 [2 channel(s)]: 0x0090190
ID 0x64 [1 channel(s)]: 0x00918c0
ID 0x65 [3 channel(s)]: 0x0091930
ID 0x66 [2 channel(s)]: 0x0091b60
ID 0x67 [2 channel(s)]: 0x0091c40
ID 0x68 [1 channel(s)]: 0x0091cb0
ID 0x68 [1 channel(s)]: 0x0092c00
ID 0x69 [1 channel(s)]: 0x0091d20
ID 0x6a [2 channel(s)]: 0x0091d90
ID 0x6b [1 channel(s)]: 0x0091e70
ID 0x6c [1 channel(s)]: 0x0091f50
ID 0x6d [1 channel(s)]: 0x0091fc0
ID 0x6e [1 channel(s)]: 0x0092030
ID 0x6f [1 channel(s)]: 0x00920a0
ID 0x70 [1 channel(s)]: 0x0092110
ID 0x71 [1 channel(s)]: 0x0092180
ID 0x72 [2 channel(s)]: 0x00921f0
ID 0x73 [3 channel(s)]: 0x0092ab0
ID 0x74 [3 channel(s)]: 0x0092c70
ID 0x75 [2 channel(s)]: 0x0092f80
ID 0x96 [2 channel(s)]: 0x00922d0
ID 0x97 [2 channel(s)]: 0x00923b0
ID 0x98 [1 channel(s)]: 0x0092490
ID 0x99 [1 channel(s)]: 0x0092500
ID 0x9a [2 channel(s)]: 0x0092570
ID 0x9b [2 channel(s)]: 0x00929d0

sound pointer table, screw weith those sounds till the ting starts sounding different, and 00 out the whole sound.

cheers.
 
Aug 31, 2009 at 11:27 PM
Been here way too long...
"Ha! Ha! Ha! Mega Man is no match for my Mimiga Man!"
Join Date: Jun 22, 2008
Location:
Posts: 251
Play a sound (with location)

PUSH (?)number of channels
PUSH sound ID
PUSH y-position ;sounds are not played if they are too far away
PUSH x-position
CALL 40AC90

==========================

Play a sound (without Location)

PUSH (?)number of channels
PUSH sound ID
CALL 420640


one of these is what you are looking for. you can either change the sound, or replace the CALL with NOPs, or reaplace the whole thing with NOPs if you need more space
 
Aug 31, 2009 at 11:46 PM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Jan 4, 2008
Location: Lingerie, but also, like, fancy curtains
Posts: 3054
or push 00 as the id.
 
Sep 1, 2009 at 12:25 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
Alright, this is great. I think I've got it just how I want it now. Once I slap some custom graphics onto it I'll throw it onto my thread for you to try out! This has been a great little project for an intro to assembly. Thanks very much for your help :rolleyes:

(note: I am a slow spriter, so don't hold your breath.)
 
Sep 1, 2009 at 12:52 AM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Jan 4, 2008
Location: Lingerie, but also, like, fancy curtains
Posts: 3054
hope it's awesome.
it better be.

... or else.
 
Sep 2, 2009 at 4:14 PM
graters gonna grate
"Heavy swords for sale. Suitable for most RPG Protagonists. Apply now!"
Join Date: Jul 2, 2008
Location: &
Posts: 1886
Age: 31
Heeeeeeeeeeeeellllllllp!!!!!!!!!

I need an emergency assembly hack ASAP! Can you make Ballos' final form NOT spawn flying butes out of the top of his head? I still want the flying archer butes on the sides of the room but I don't want him to spawn anything from his head.
 
Sep 2, 2009 at 7:11 PM
Been here way too long...
"Ha! Ha! Ha! Mega Man is no match for my Mimiga Man!"
Join Date: Jun 22, 2008
Location:
Posts: 251
wedge of cheese said:
I need an emergency assembly hack ASAP! Can you make Ballos' final form NOT spawn flying butes out of the top of his head? I still want the flying archer butes on the sides of the room but I don't want him to spawn anything from his head.

Almost got this figured, change line 47870B from PUSH 161 to PUSH 0 followed by 3 NOPs and he wont spawn butes, but he will still make smoke when they were supposed to appear.

To do this with a hex editor:

change 7870B from 68 to 6A, then 7870C from 61 to 00 then 7870D from 00 to 90 then 7870E from 00 to 90 then 7870F from 00 to 90

I'm working on getting rid of the smoke.
 
Sep 2, 2009 at 7:42 PM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Jan 4, 2008
Location: Lingerie, but also, like, fancy curtains
Posts: 3054
is that pushing the special effects id or something else?
 
Sep 2, 2009 at 7:53 PM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Jan 4, 2008
Location: Lingerie, but also, like, fancy curtains
Posts: 3054
okay, I thought smoke was an effect.
it would be cool if you made a giant something that spawned somethings tho.

also, this code could be easily utilized to make a periodic event, correct? (you'd have to make ballos wimpy(invisibleuntouchable) tho
 
Top