I've got the basics, can you help with these questions?

Started by Linkums, November 23, 2008, 01:13:52 AM

Previous topic - Next topic

Linkums

Hello. I understand how to use write codes, if...else codes, change/reset pointer [offset], and even the Gecko register. But now I have to ask for some help...

Feel free to answer some or all of the questions, greater detail is greater. I'm sure nobody feels like holding my hand and wading through this swamp with me, but if you toss me a sponge I can soak some of it up and make a little progress.

I'm looking at this code for Animal Crossing: City Folk

Can Add Furniture, Move Furniture, And Take Furniture In Other Villagers' Houses [brkirch]
04162758 38600001
C2162634 00000003
2C030850 4082000C
60000800 3BA00850
7C1D0000 00000000


heh, maybe I should just ask brkirch.
Ok, I'm good until 2C...
"2C______ ZZZZYYYY : 16bits If greater (ba) 16bits compares if ([ba+address] and not(ZZZZ))>YYYY" Ok, I think I understand this, but I want to know for sure. Is it ([value at ba+address] > YYYY) && (ZZZZ <= YYYY) ? If so, what is the purpose of putting 4082 in for ZZZZ in the above code since it will never equal C. Does a 2C line mean ([ba+address] != ZZZZ) && ([ba+address] > YYYY) ?

A 60 line means repeat 800(in hex) times (in this case). Is 800 so much that it may as well be infinite or does 800 mean infinite or something else? ...actually just tell me how this works entirely. Including 3BA00850 and what is 7C1D0000 doing by itself on the last line?


OK, I might as well ask all my questions right here. So I continue, but no longer about the previous code.
-It seems there are ways to shorten the length of a code. Are there common easy ways to do this? (I assume it's usually just rewriting the code using a different method to do the same thing)
-Where/how should I search for values (with WiiRD & USB Gecko)? Are there places that certain values are often found? For example: timer, position of an object in the world Should I search for 8, 16, or 32 bit values? 80 or 90 range? Only part of those ranges to go faster? I know it may jump around if there's a pointer involved.
-Let's say I'm playing 'de Blob'; in this game, you can wall jump, but each jump gets weaker. How (in the hell) would I go about making a code so that the jump stays the same or perhaps gets stronger?
-Is there an easier way to generate/analyze codes than referring to the 'Code Types Document' and typing in numbers? There's something about Assembly or something- probably right in WiiRD. Could you enlighten me on this topic?
-Is there a way to use WiiRD without being connected to a game?
[why would I need to? It just calms my nerves to have it running. :D]

I excessively thank you for your helpful response!

Romaap

I don't think that code is a good example for a beginner, because it is ASM.
04162758 38600001 -> write 38600001 to 80162758
C2XXXXXX -> this is insert ASM code
00000000 -> this will end the ASM code

Linkums

Quote from: Romaap on November 23, 2008, 07:42:47 AM
I don't think that code is a good example for a beginner, because it is ASM.
04162758 38600001 -> write 38600001 to 80162758
C2XXXXXX -> this is insert ASM code
00000000 -> this will end the ASM code

I was able to figure that out from the code types page. How can I use ASM? I do have a couple years of college level programming experience so I'm at least a lvl 2 noob.


Linkums

Thanks! I didn't know what I wanted until I had it- this is exactly the type of thing I was looking for.

Black_Wolf

yay my guides finally coming to good use lol. ASM is great when you master it, lots of freedom in hacking, plus no need for pointers or the like!