BullyWiiHacks
Welcome dear guest! Very Happy

To start posting and being part of the BWH community, you simply need to register an account or log into an existing one.

If you do not wish to register at all, that's fine but there will be more advertisements. :/

You can probably see and download most content provided for regular members even without an account.

Your contributions will be greatly appreciated though, give it a shot and register today! thumbsup

Join the forum, it's quick and easy

BullyWiiHacks
Welcome dear guest! Very Happy

To start posting and being part of the BWH community, you simply need to register an account or log into an existing one.

If you do not wish to register at all, that's fine but there will be more advertisements. :/

You can probably see and download most content provided for regular members even without an account.

Your contributions will be greatly appreciated though, give it a shot and register today! thumbsup
BullyWiiHacks
Would you like to react to this message? Create an account in a few clicks or log in to continue.
BullyWiiHacks

Gaming, Modding & Programming

Important reminders:

- Click *HERE* for advanced forum search or check out the text field below on the front page for Google before posting
- NO support via private message (use the forum)
- Write meaningful topic titles
Site Translation
Latest topics
» Wii Play Tanks
Code Credits In-Depth Empty3/24/2024, 2:46 pm by helpmeout

» [Bypass Paywalls] (Global) @magnolia1234 - GitLab
Code Credits In-Depth Empty3/18/2024, 3:55 am by Seth@WiiPlaza

» [Download] Mary Shelley's Frankenhole
Code Credits In-Depth Empty3/16/2024, 8:29 am by Seth@WiiPlaza

» Completely Custom Modded Controllers (Undetectable)
Code Credits In-Depth Empty3/5/2024, 1:55 pm by Shadow@BWH

» (Zombies) Drink perks code?
Code Credits In-Depth Empty3/5/2024, 1:24 pm by Shadow@BWH

» Die Rückkehr zu STEAM und WARFACE
Code Credits In-Depth Empty3/2/2024, 3:54 am by Seth@WiiPlaza

» First person hand model change?
Code Credits In-Depth Empty2/28/2024, 4:53 am by Ad3lamac611

» {RELEASE} Field Raider Firefox v1.72 by Seth@WiiPlaza
Code Credits In-Depth Empty2/21/2024, 8:52 am by naxil

» FREE Language-Learning YouTube Channel, Best Way to Learn Language
Code Credits In-Depth Empty2/19/2024, 10:40 am by SnB@BWH

» Need help to get command line console code to work
Code Credits In-Depth Empty2/19/2024, 6:41 am by Bully@WiiPlaza

Search
 
 

Display results as :
 


Rechercher Advanced Search

March 2024
MonTueWedThuFriSatSun
    123
45678910
11121314151617
18192021222324
25262728293031

Calendar Calendar

Country Statistics
Free counters!

You are not connected. Please login or register

Code Credits In-Depth

Go down  Message [Page 1 of 1]

1Code Credits In-Depth Empty Code Credits In-Depth 12/18/2014, 5:11 am

Bully@WiiPlaza

Bully@WiiPlaza
 
 

Since I'm getting tired of the argument "I googled the address and it didn't show up so it's my code" I'm writing this for clarification.

Just because an exact address and/ or codetype doesn't show up doesn't mean a code hasn't been made. There are countless ways to do the same thing. Ever bothered changing the codetype to see if that might hit something?

String write codes might be written with many 04 codes if the coder is a n00b or with 06 if the coder knows what he's doing.

The bit write could be different since 8, 16 and 32 bits exist even though for Wii games mostly 32 bit writes are used and needed. In terms of codetypes that might be 00, 02 and 04.

Also, codes in assembly with C2, F2 or even 04 codetypes always have a different address than the direct memory address because they are instructions. The only way to see if that's the same thing is to set a breakpoint execute on it using Gecko.NET and then clicking "Show mem" to go to the direct memory address in memory viewer. This requires a USB Gecko to do and can NOT be done with RAM dumps (in most cases) because you don't see the register contents. Assembly codes can also be shifted up and down depending on the assembly itself and still be the same thing. It again depends on the instructions written and the register contents. What makes things even more complicated is dynamic memory allocation which means that the same thing can move in memory therefore only the same effect/ assembly or pointer can be used to tell if it's the same thing or not.

Ever knew pointer codes exist? That's also a way of making a code using a starting address and adding offsets. Again, a USB Gecko is usually needed to follow the pointer and see where it leads. If the address hit by the starting address plus the offset is the address in question it has been made.

Then there's also the C0 kind of assembly which might use the address in question inside which won't easily be detect. To do that, one has to decompile it using e.g. PyiiASMH and know how to read some assembly code. Usually addresses are loaded using lis and ori instructions.

Due to the sheer amount of different ways to use a certain address it sometimes is nearly impossible to figure out if a code has been made or not so you don't need to bother going through all alternatives.

Another good way of verification is reading the code titles of other coders if it's basically the same thing or not. Then you can verify if it's actually the case. This is easily done on a website like geckocodes since all codes are listed there.

Note:
A ported code is still credits to the original coder because he did all the work while you just converted it. Put "Ported by " below the code for porting credits.

Here's a good and recent example:
Bully@WiiPlaza made the code "Infinite Score Points" for New Super Mario Bros. Wii [SMNE01].

Code:
Inf. Score Points [Bully@Wiiplaza]
C205F62C 00000002
3C807FFF 6084FFFF
908DA640 00000000
http://www.geckocodes.org/index.php?c=SMNE01

Much later, VO1D creates the code "Point Modifier" also for this game and region:
Code:
Points Modifier [VO1D]
02429CC2 XXXXXXXX
http://www.bullywiihacks.com/t4686-

This is still credits to Bully@Wiiplaza because it's the same thing once in assembly and once in direct RAM write codetypes. This can be verified by setting a breakpoint execute on the C2 code's address 8005F62C and it will lead to 80429CC0 when the user follows the source register using "Show mem" which is -22976(r13). Now you might say: "But VO1D's code is 2 bytes off!" Well, for some unknown reason he moved it to there but it's still the same 32 bit value since it's 4 bytes long (from 80429CC0 to 80429CC4) so all addresses in that range are still the "Score Modifier".

As a reminder, the assembly address is not the same as the direct memory address because it's an instruction address which is always the case on C2, F2 and 04 assembly codes therefore VO1D might think he gets credit but he doesn't since it has been made like explained.

Remember:
A CODE NOT HAVING THE SAME ADDRESS DOES NOT MEAN IT'S NOT THE SAME THING. YOU NEED TO FULLY UNDERSTAND AND ANALYSE THE CODE(TYPE) FIRST. IT CAN BECOME COMPLEX ON ASSEMBLY OR POINTER CODES AND DIFFERENT GAME REGIONS.

What do we learn?
N00bs who don't know anything about coding need to shut up and learn what everything exactly means before they're talking. Also I hope you read everything and learned something about code credits and are not going to use these tips to steal credit in a smarter fashion now. Just let it down and give credit when you already have to leech an address.

Much appreciated, thanks Smile


_________________
Code Credits In-Depth YBjg74I

Back to top  Message [Page 1 of 1]

Permissions in this forum:
You cannot reply to topics in this forum